Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
Pontifícia Universidade Católica de Goiás PUC GOIÁS
Departamento de Computação
Informática
e
Computação
Professor: MSc. Mário Oliveira Orsi
Cesar Augusto da Rocha Magalhães
1
AULA 6
CONTROLE DE FLUXO
ESTRUTURA CONDICIONAL 2
Dado um número, desenvolver um programa para verificar se é um QUADRADO PERFEITO
N
R
16
4
R = sqrt(N) R é inteiro?
inteiro de R * inteiro de R = N
EXEMPLOS:
20
SQRT (20) = 4.472
4 * 4 = 16 é DIFERENTE de 20
N é quadrado perfeito se a raiz quadrada de N é um número inteiro.
Como sabemos que N é quadrado perfeito?
20
NÃO É QUADRADO PERFEITO
#include <math.h>
#include <iostream>
using namespace std;
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 ";
system (“PAUSE”);
}
QUADRADOPERF.exe
// programa para verificar se um numero é quadrado perfeito
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
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
dados
matricula
NOTA1
NOTA2
NOTA3
MA
MA = (5 + 8 * 2 + 7 * 3) / 6
CONCEITO
SITUAÇÃO
APROVADO
REPROVADO
MA = (5 + 16 + 21) / 6 = 42 / 6 = 7
INTER-VALO?
20081
5.0
8.0
7.0
7.0
APROVADO
C
#include <iostream >
#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";
}
else if ( MA >= 6.1)
{
CONCEITO = 'C';
SITUACAO = "APROVADO";
}
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
incluir a biblioteca
#include<string >
MA = (NOTA1 + NOTA2 * 2 + NOTA3 * 3) / 6
Aprovado se o conceito for A, B ou C e Reprovado se D ou E
dados
matricula
NOTA1
NOTA2
NOTA3
CONCEITO
SITUACAO
MA
‘A’ aspas simples uma letra só
“MAIS” de uma letra aspas duplas
Copia a palavra APROVADO p/ dentro da variável SITUACAO
Usa a biblioteca
#include<string >
#include <iostream >
#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"; }
else if (MA >= 6.1)
{ CONCEITO = 'C';
SITUACAO="APROVADO"; }
else if (MA >= 4.1)
{ CONCEITO = 'D';
SITUACAO,"REPROVADO"; }
else { CONCEITO = 'E';
SITUACAO="REPROVADO"; }
cout<<MATRICULA<<“ TEM MEDIA "<<MA<<“ e CONCEITO "<<CONCEITO<<“ e FOI “
<< SITUACAO<< endl;
system("PAUSE");
} medianotas.exe
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
MA = (NOTA1 + NOTA2 * 2 + NOTA3 * 3) / 6
Aprovado se o conceito for A, B ou C e Reprovado se D ou E
dados
matricula
NOTA1
NOTA2
NOTA3
CONCEITO
SITUACAO
MA
Rastreamento
7
MA = (5 + 16 + 21) / 6 = 42 / 6 = 7
APROVADO
C
20081
5
8
7
Dado quatro números, desenvolver um programa para somar os três maiores.
A
B
C
D
2
8
5
10
SOMA3
23
Procura o menor
se A<B e A<C e C<D
A é o menor
senão se B<C e B<D
S= B+C+D
B é o menor
S= A+C+D
senão se C<D
C é o menor
S= A+B+D
QUAL O MELHOR CAMINHO ?
senão
D é o menor
S= A+B+C
// programa SOMA 3 MAIORES
#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 maiores eh "<< SOMA3 << endl;
system("PAUSE");
} SOMA3MAIORES.exe
Os parênteses internos dependem do compilador
Exercício para avaliação em sala:
Dado quatro números, desenvolver um programa para somar os três MENORES.
A
B
C
D
2
8
5
10
SOMA3
15
// programa SOMA 3 MAIORES
#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 maiores eh "<< SOMA3 << endl;
system("PAUSE");
}
Exercício para avaliação em sala:
Dado quatro números, desenvolver um programa para somar os três MENORES.