A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Aula 06. 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.

Apresentações semelhantes


Apresentação em tema: "Aula 06. 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."— Transcrição da apresentação:

1 Aula 06

2 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

3 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1 INFORMÁTICA E COMPUTAÇÃO CMP 1060 AULA 6

4 Os programas que vimos até agora têm a seguinte estrutura: main( ) { declarações instrução 1 instrução 2 instrução 3... instrução N } ESTRUTURA SEQUENCIAL

5 O caso geral da instrução if - else: if ( expressão ) instrução1 ; else instrução2 ; If Se a (expressão) entre os parenteses for VERDADEIRA executo a instrução 1 else senão executo a instrução 2 Exemplo: If (X > Y) X = Y else X = X +1 Estrutura Condicional // se for verdade que o valor de X é maior que Y // atribui o valor de Y para X // senão adciono 1 ao valor de X

6 O caso geral da instrução if - else: if ( expressão ) instrução1 ; else instrução2 ; O comando else não é obrigatório: if ( expressão ) // se a expressao for verdadeira instrução1 ; // executo a instrução 1 e sigo a execução If Se a (expressão) entre os parenteses for VERDADEIRA executo a instrução 1 else senão executo a instrução 2 Estrutura Condicional

7 Símbolo Significado maior <=menor ou igual >=maior ou igual ==igual !=diferente Símbolos Relacionais Expressões Logicas: é a expressão cujo operadores são lógicos e cujos operandos são relações, constantes e/ou variáveis do tipo lógico. Relações: X > Y o resultado será verdadeiro ou falso. Estrutura Condicional Exemplos: X + Y = Z, X e Y = Z

8 Operadores Lógicos SÃO CONECTORES QUE RELACIONAM PROPOSIÇÕES QUE PODEM SER VERDADEIRAS OU FALSAS. e conjunção (é verdadeira se e somente se ambas as proposições são verdadeiras). ou disjunção ( é verdadeira se pelo menos uma delas for verdadeira). não negação (é negação da expressão) Estrutura Condicional

9 FALSO VERDADEIRO FALSO VERDADEIRO F V V V F V V V Estrutura Condicional !(2 > 3)NÃO! !(5>1)! (4> 2) || (10 > 5)OU|| (3> 1) || (10 > 11)OU|| (2 >1) && (10 > 9)E&& (5 > 1) && (3>10)E&& ExemploDescriçãoOperador NÃO Resultado

10 Estrutura Condicional Simples if ( expressão ) instrução1 ; Exemplo Desenvolver um programa para entrar com um preço do carro e calcular o preço final de acordo com as opções do usuário com os opcionais de vidro elétrico, ar condicionado, trava central, pintura metálica e ar condicionado.

11 Análise: Preço do carro = 22000,00 Ar condicionado ,00 Dir hidraulica ,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final carro 28050,00 Resposta: s n S N Entro com o valor do carro Pergunto pelos opcionais : Tabela de Preços : Ar concionado R$ 2500,00 Dir. Hidraulica R$ 2000,00 Pintura metálica R$ 650,00 Vidro elétrico R$ 500,00 Trava central R$ 400,00

12 Desenvolver um programa para entrar com um preço do carro e calcular o preço final de acordo com as opções do usuário com os opcionais de vidro elétrico, ar condicionado, trava central, pintura metálica e ar condicionado. Análise: Preço do carro = 22000,00 Ar condicionado ,00 Dir hidraulica ,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final carro 28050,00 Resposta: s n S N RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL DEFINIÇÃO DAS VARIÁVEIS Se não for adicionado nenhum opcional o PRECOFINAL é o valor do preço INICIAL do carro

13 // programa PRECOCARRO #include using namespace std; main( ) { char RESPAC, RESPDH, RESPPM, RESPVE, RESPTC; float PRECOFINAL=0; //leia os dados de entrada cout << "Qual o preco inicial do carro"; cin >> PRECOFINAL; cout << "Deseja Ar Condicionado (S/N), (s/n)? "; cin >> RESPAC; cout << Deseja Direcao Hidraulica (S/N), (s/n)? "; cin >> RESPDH; cout << "Deseja Pintura Metalica (S/N), (s/n)? "; cin >> RESPPM; cout << "Deseja Vidros Eletricos (S/N), (s/n)? "; cin >> RESPVE; cout << "Deseja Trava Central (S/N), (s/n)? "; cin >> RESPTC; // teste da resposta do cliente RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL Resposta: s n S N O preço inicial do carro será = preço final sem nenhum opcional, entretanto existe a possibilidade de se querer comprar só item(s) opcionais PRECOFINAL=preço do carro = 0

14 if ( (RESPAC == 'S') || (RESPAC == 's') ) PRECOFINAL = PRECOFINAL ; if ( (RESPDH == 'S') || (RESPDH == 's') ) PRECOFINAL = PRECOFINAL ; if ( (RESPPM == 'S') || (RESPPM =='s') ) PRECOFINAL = PRECOFINAL ; if( (RESPVE == 'S') || (RESPVE == 's') ) PRECOFINAL = PRECOFINAL ; if ( (RESPTC == 'S') || (RESPTC == 's') ) PRECOFINAL = PRECOFINAL ; //exiba os resultados de saída cout<< "R$ "<< PRECOFINAL<< " será o preço final do carro. \n ; system("PAUSE"); } Preço do carro = 22000,00 Ar condicionado ,00 Dir hidraulica ,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final do carro 28050,00 RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL Resposta: s n S N // teste da resposta do cliente

15 #include using namespace std; main( ) {` char RESPAC, RESPDH, RESPPM, RESPVE, RESPTC; float PRECOFINAL=0; cout << "Qual o preco inicial do carro"; cin >> PRECOFINAL; cout << "Deseja Ar Condicionado (S/N), (s/n)? "; cin >> RESPAC; cout << Deseja Direcao Hidraulica (S/N), (s/n)? "; cin >> RESPDH; cout << "Deseja Pintura Metalica (S/N), (s/n)? "; cin >> RESPPM; cout << "Deseja Vidros Eletricos (S/N), (s/n)? "; cin >> RESPVE; cout << "Deseja Trava Central (S/N), (s/n)? "; cin >> RESPTC; If ( (RESPAC == 'S') || (RESPAC == 's') ) PRECOFINAL = PRECOFINAL ; If ( (RESPDH == 'S') || (RESPDH == 's') ) PRECOFINAL = PRECOFINAL ; If ( (RESPPM == 'S') || (RESPPM =='s') ) PRECOFINAL = PRECOFINAL ; If ( (RESPVE == 'S') || (RESPVE == 's')) PRECOFINAL = PRECOFINAL ; If ( (RESPTC == 'S') || (RESPTC == 's') ) PRECOFINAL = PRECOFINAL ; cout<< "R$ "<< PRECOFINAL<< " será o preço final do carro. \n ; system("PAUSE"); } RESPAC RESPDH RESPPM RESPVE RESPTC PRECOFINAL S RASTREAMENTO Preço do carro = 22000,00 Ar condicionado ,00 Dir hidraulica ,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final do carro 28050,00 S S S S carroaut.exe

16 Estrutura Condicional Composta if ( expressão ) instrução1 ; else instrução2 ; Exemplo 1 Desenvolver um programa para entrar com dois números e exibir o maior entre eles.

17 #include using namespace std; main() { setlocale(LC_ALL, " "); // define dois inteiros int X, Y; // entra com dois números inteiros cout << " Digite dois numeros inteiros diferentes: ; cin >>X >> Y; //exibe uma mensagem dizendo qual número é maior if (X > Y) { cout << X<< " é maior do que " << Y << endl; } else { cout << X << " é menor do que " << Y << endl; } system("PAUSE"); } maior.exe 943 X Y 587 // prog para exibir o maior de 2 numeros X e Y RASTREAMENTO

18 #include using namespace std; main( ) { setlocale(LC_ALL, " "); int N; cout << " Digite um numero inteiro: "; cin >> N ; if ( N % 2 == 0 ) cout << N << " É par \n "; else cout<< N << " É impar \n "; system ("PAUSE") } parimpar.exe parimpar.exe // programa que verifica se um número é par ou ímpar*/ Analise N | 2 ` 0 quociente PAR

19 ERROS FREQUENTES if(...) instrução1; instrução2; Provavelmente aquilo que queriam fazer era: if(...) { instrução1; instrução2; } Se a (express..) verdadeira Executo inst. 1 e inst. 2 Desta forma : Se a (expressão) for verdadeira Executo apenas a inst. 1 Se for falsa pulo a inst. 1 e Executo a instrução 2

20 If ( expressão ) { instrução1; instrução2; instrução3 ; instrução4 ; } else { instrução5; instrução6 ; } Instrução7; Instrução8; SE EXISTIR MAIS DE UMA INSTRUÇÃO PARA SER EXECUTADA DENTRO DO COMANDO if OU DO else DEVEMOS COLOCAR AS CHAVES { }

21 Condicional Simples #include using namespace std; main() { setlocale(LC_ALL, " "); int number = 75, nota; cout <<\nEntre com sua nota, por favor "; cin>>nota; if (nota >= number) { cout << "Incrivel, voce passou com mérito.\n"); } system ("PAUSE") } Exemplos de uso de estrutura condicional simples X composta

22 #include Condicional Composta using namespace std; main() { setlocale(LC_ALL, " "); int number = 75, nota; cout > nota; if (nota >= number) { cout << " Incrível, voce passou com mérito. \n"; } else { cout << " Que pena, voce reprovou. \n"; } system ("PAUSE") }

23 #include using namespace std; main() { int number = 75, nota; cout > nota; if (nota >= number) { cout <<"Incrivel, voce passou com merito. \n"; } else if (nota >= 50) { cout<

24 #include using namespace std; main() { int number = 75, nota; cout > nota; if (nota >= number) { cout <<"Incrivel, voce passou com merito. \n"; } else if (nota >= 50) { cout<

25 Desafio Faça um programa que leia um número inteiro e diga se ele é divisível por 2 e por 3 simultaneamente. Informe se é divisível simultaneamente. Caso não seja divisível simultaneamente. Informe por qual é divisível ou se não é divisível por nenhum dos dois.

26 #include using namespace std; main() { setlocale(LC_ALL,""); int numero, num_2, num_3; cout<<"\n\nTeste de Número divisível por 2 e 3 simultaneamente"; cout<<"\n\nDigite o numero a ser testado : "; cin>>numero; num_2=numero%2; num_3=numero%3; if((num_2==0)&&(num_3==0)) cout<<"\n\nO número "<

27 else { if(num_3==0) { cout<<"\n\nO número "<


Carregar ppt "Aula 06. 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."

Apresentações semelhantes


Anúncios Google