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