CONTROLE DE FLUXO
ESTRUTURA CONDICIONAL
Dado um número, desenvolver um programa para
verificar se é um QUADRADO PERFEITO
Como sabemos que N é quadrado perfeito?
N
16
R
4
N é quadrado perfeito se a raiz quadrada
de N é um número inteiro.
R = sqrt(N)
R é inteiro?
inteiro de R * inteiro de R = N
EXEMPLOS:
20
SQRT (20) = 4.472
4 * 4 = 16 é DIFERENTE de 20
// programa para verificar se um numero é quadrado perfeito
#include <math.h>
#include <iostream.h>
main()
{
// define dois inteiros
int N, R;
//entra com um número inteiro
cout<<“Digite um número inteiro: ”;
cin >>N;
R = sqrt(N);
if ((R*R) = = N)
cout << N<<" eh um QUADRADO PERFEITO\n ";
else
cout << N<<" NAO eh QUADRADO PERFEITO\n ";
}
QUADRADOPERF.exe
Dado quatro números, desenvolver um programa
para somar os três maiores.
A
2
B
8
SOMA3
C
5
23
D
10
QUAL O MELHOR CAMINHO ?
Procura o menor
se A<B e A<C e C<D
senão se B<C e B<D
senão se C<D
senão
A é o menor
B é o menor
C é o menor
D é o menor
S= B+C+D
S= A+C+D
S= A+B+D
S= A+B+C
// programa SOMA 3 MAIORES
#include <iostream>
using namespace std;
int main( )
{
float A,B,C,D,SOMA3;
//leia os dados de entrada
cout<< "DIGITE 4 NUMEROS QUAISQUER \n";
cin>>A>>B>>C>>D;
Os parênteses internos dependem
if ( (A<B)&&(A<C)&&(A<D) )
do compilador
SOMA3 = B+C+D;
else if ( (B<C)&&(B<D) )
SOMA3 = A+C+D;
else if (C<D)
SOMA3 = A+B+D;
else
SOMA3 = A+B+C;
//exiba os resultados de saída
cout<< “A soma dos 3 maiores eh "<< SOMA3 << endl;
system("PAUSE");
}
SOMA3MAIORES.exe
Dado quatro números, desenvolver um programa
para somar os três MENORES.
A
2
B
8
C
5
D
10
SOMA3
15
QUAL O MELHOR CAMINHO ?
Procura o MAIOR
se A>B e A>C e A>D
senão se B>C e B>D
senão se C>D
senão
A é o maior
B é o maior
C é o maior
D é o menor
S= B+C+D
S= A+C+D
S= A+B+D
S= A+B+C
// programa SOMA 3 MENORES
#include <iostream>
using namespace std;
main( )
{
float A,B,C,D,SOMA3;
//leia os dados de entrada
cout<< "DIGITE 4 NUMEROS QUAISQUER \n";
cin>>A>>B>>C>>D;
if ( (A>B)&&(A>C)&&(A>D) )
SOMA3 = B+C+D;
else if ( (B>C)&&(B>D) )
SOMA3 = A+C+D;
else if (C>D)
SOMA3 = A+B+D;
else
SOMA3 = A+B+C;
//exiba os resultados de saída
cout<< “A soma dos 3 menores eh "<< SOMA3 << endl;
system("PAUSE");
}
SOMA3MENORES.exe
Cálculo da média de um aluno
Escrever um programa que lê o numero de identificação e as
3 notas obtidas por um aluno e calcula a média de
aproveitamento, usando a fórmula:
MA = (NOTA1 + NOTA2 * 2 + NOTA3 * 3) / 6
A atribuição de conceito obedece à tabela abaixo;
O programa deve escrever o número do aluno, a média de
aproveitamento, o conceito correspondente e a
mensagem: Aprovado se o conceito for A, B ou C e
Reprovado se D ou E
Média
9,1 a 10,0
Conceito
A
MA = (5 + 8 * 2 + 7 * 3) / 6
dados
7,6 e 9,0
B
matricula
6,1 e 7,5
C
NOTA1
5
4,1 e 6,0
D
NOTA2
8
<4,0
E
NOTA3
7
22007
CONCEITO
C
MA
7
INTERVALO?
SITUAÇÃO
APROVADO
REPROVADO
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
main()
{
float NOTA1, NOTA2, NOTA3, MA;
int MATRICULA;
string CONCEITO, SITUACAO;
cout << "DIGITE A MATRICULA \n";
cin>>MATRICULA;
cout << "DIGITE AS 3 NOTAS \n";
cin>>NOTA1>>NOTA2>>NOTA3;
MA = (NOTA1+NOTA2*2+NOTA3*3)/6;
if ( MA >= 9.1 )
{
CONCEITO = 'A';
SITUACAO="APROVADO";
}
else if (MA >= 7.6)
{
CONCEITO = 'B';
SITUACAO ="APROVADO";
}
Aprovado se
o conceito
for A, B ou C
e Reprovado
se D ou E
Média
Conceito
9,1 a 10,0
A
7,6 e 9,0
B
6,1 e 7,5
C
4,1 e 6,0
D
<4,0
E
‘A’ aspas simples uma letra só
“MAIS” de uma letra aspas
duplas
Média
9,1 a 10,0
else if (MA >= 6.1)
7,6 e 9,0
{
CONCEITO = 'C';
6,1 e 7,5
SITUACAO ="APROVADO";
4,1 e 6,0
}
else if (MA >= 4.1)
<4,0
{
CONCEITO = 'D';
SITUACAO ="REPROVADO";
}
else {
CONCEITO = 'E';
SITUACAO ="REPROVADO";
}
cout<<MATRICULA<<" tem media "<<MA<<" e conceito
"<<CONCEITO<<" e foi "<<SITUACAO<< endl;
system("PAUSE");
return 0;
}
Conceito
A
B
C
D
E
Download

A>B e A>C e A>D