1 / 23

Professor: MSc . Mário Oliveira Orsi Cesar Augusto da Rocha Magalhães

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. INFORMÁTICA E COMPUTAÇÃO CMP 1060 AULA 6. CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1.

ewan
Download Presentation

Professor: MSc . Mário Oliveira Orsi Cesar Augusto da Rocha Magalhães

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pontifícia Universidade Católica de Goiás PUC GOIÁS Departamento de ComputaçãoInformática e Computação Professor: MSc. Mário Oliveira Orsi Cesar Augusto da Rocha Magalhães

  2. INFORMÁTICA E COMPUTAÇÃOCMP 1060 AULA 6 CONTROLE DE FLUXO ESTRUTURA CONDICIONAL 1

  3. 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

  4. Estrutura Condicional O caso geral da instrução if - else: if ( expressão ) instrução1 ; else instrução2 ; IfSe a(expressão) entre osparenteses for VERDADEIRA executo a instrução 1 else  senãoexecuto a instrução 2 Exemplo: If(X > Y) X = Y else X = X +1 // 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

  5. Estrutura Condicional O caso geral da instrução if - else: if ( expressão ) instrução1 ; else instrução2 ; IfSe a(expressão) entre osparenteses for VERDADEIRA executo a instrução 1 else  senãoexecuto a instrução 2 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

  6. Estrutura Condicional 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. Exemplos: X + Y = Z , X e Y = Z Relações: X > Y o resultado será verdadeiro ou falso. Símbolos Relacionais

  7. Estrutura Condicional Operadores LógicosSÃ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)

  8. Operador Descrição Exemplo && E (5 > 1) && (3>10) && E (2 >1) && (10 > 9) || OU (3> 1) || (10 > 11) || OU (4> 2) || (10 > 5) ! !(5>1) F ! NÃO !(2 > 3) V V V F V V V Estrutura Condicional Resultado FALSO VERDADEIRO VERDADEIRO VERDADEIRO FALSO VERDADEIRO NÃO

  9. 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.

  10. 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. Entrocom o valor do carro Análise: Preço do carro = 22000,00 Arcondicionado + 2500,00 Dir hidraulica + 2000,00 Pinturametálica + 650,00 Vidroelétrico + 500,00 Trava central + 400,00 Preço final carro 28050,00 Perguntopelosopcionais: Tabela de Preços: Arconcionado R$ 2500,00 Dir . Hidraulica R$ 2000,00 Pinturametálica R$ 650,00 Vidroelétrico R$ 500,00 Trava central R$ 400,00 ‘s’ ‘n’ ‘S’ ‘N’

  11. 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. Se não for adicionadonenhumopcional o PRECOFINAL é o valor do preço INICIAL do carro DEFINIÇÃO DAS VARIÁVEIS Análise: Preço do carro = 22000,00 Ar condicionado + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final carro 28050,00 ‘s’ ‘n’ ‘S’ ‘N’

  12. O preçoinicial do carroserá = preço final semnenhumopcional, entretantoexiste a possibilidade de se querercomprarsó item(s) opcionais PRECOFINAL=preço do carro = 0 // programa PRECOCARRO #include <iostream> usingnamespacestd; 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 DirecaoHidraulica (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 ‘s’ ‘n’ ‘S’ ‘N’

  13. ‘s’ ‘n’ ‘S’ ‘N’ // teste da resposta do cliente if ( (RESPAC == 'S') || (RESPAC == 's') ) PRECOFINAL = PRECOFINAL + 2500. ; if ( (RESPDH == 'S') || (RESPDH == 's') ) PRECOFINAL = PRECOFINAL + 2000. ; if ( (RESPPM == 'S') || (RESPPM =='s') ) PRECOFINAL = PRECOFINAL + 650. ; if( (RESPVE == 'S') || (RESPVE == 's') ) PRECOFINAL = PRECOFINAL + 500. ; if ( (RESPTC == 'S') || (RESPTC == 's') ) PRECOFINAL = PRECOFINAL + 400. ; //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 + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final do carro 28050,00

  14. RASTREAMENTO #include <iostream> usingnamespacestd; 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 DirecaoHidraulica (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 + 2500. ; If ( (RESPDH == 'S') || (RESPDH == 's') ) PRECOFINAL = PRECOFINAL + 2000. ; If ( (RESPPM == 'S') || (RESPPM =='s') ) PRECOFINAL = PRECOFINAL + 650. ; If ( (RESPVE == 'S') || (RESPVE == 's')) PRECOFINAL = PRECOFINAL + 500. ; If ( (RESPTC == 'S') || (RESPTC == 's') ) PRECOFINAL = PRECOFINAL + 400. ; cout<< "R$ "<< PRECOFINAL<< " será o preço final do carro. \n“ ; system("PAUSE"); } 28050 22000 24500 26500 27150 27650 0 Preço do carro = 22000,00 Ar condicionado + 2500,00 Dir hidraulica + 2000,00 Pintura metálica + 650,00 Vidro elétrico + 500,00 Trava central + 400,00 Preço final do carro 28050,00 carroaut.exe

  15. Estrutura Condicional Composta if ( expressão ) instrução1 ; else instrução2; Exemplo 1 Desenvolver um programa para entrar comdois números e exibir omaiorentre eles.

  16. #include <iostream> using namespace std; main() { // 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<<“ eh maior do que " << Y << endl; } else { cout << X << " eh menor do que " << Y << endl; } system("PAUSE"); } maior.exe // prog para exibir o maior de 2 numeros X e Y RASTREAMENTO 587 943

  17. // programa que verifica se um número é par ou ímpar*/ #include <iostream> usingnamespacestd; main( ) { int N; cout << " Digite um numero inteiro: "; cin >> N ; if ( N % 2 == 0 ) cout << N << " Eh par \n "; elsecout<< N << " Eh impar \n "; system ("PAUSE") } parimpar.exe Analise N| 2 ` 0 quociente PAR

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

  19. 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 { }

  20. Exemplos de uso de estrutura condicional simples X composta Condicional Simples #include <iostream> usingnamespacestd; main(){ intnumber = 75, nota; cout<<“Entre com sua nota, por favor \n"; cin>>nota; if (nota >= number) { cout << "Incrivel, voce passou com merito.\n"); } system ("PAUSE") }

  21. #include <iostream> Condicional Composta using namespace std; main(){     int number = 75, nota;     cout << “ Entre com sua nota, por favor \n”;    cin >> nota;    if (nota >= number){         cout << " Incrível, voce passou com mérito. \n";  } else { cout << "Que pena, voce reprovou. \n"; } system ("PAUSE") }

  22. #include <iostream> #include <cstdlib> usingnamespacestd; main(){ intnumber = 75, nota;cout <<”Entre com sua nota, por favor \ n";cin >> nota;if (nota >= number){cout <<"Incrivel, voce passou com merito. \n";  } elseif (nota >= 50)     {cout<<”Você passou \n";     }else{ cout<<”Que pena, você reprovou.\n"; } system (“PAUSE”); } Condicional Composta Aninhada

  23. #include <iostream> #include <cstdlib> usingnamespacestd; main(){ intnumber = 75, nota;cout <<”Entre com sua nota, por favor \ n";cin >> nota;if (nota >= number){cout <<"Incrivel, voce passou com merito. \n";  } elseif (nota >= 50)     {cout<<”Você passou \n";     }else{ cout<<”Que pena, você reprovou.\n"; } system (“PAUSE”); } Condicional Composta Aninhada

More Related