Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
* * * Estruturas de Controle Aula nº 03 Estrutura seqüencial Estruturas de seleção: if, if/else, ? : * * * /24 Algoritmo Procedimento para resolver um problema em termos das ações que devem ser executadas; e da seqüência em que estas ações devem ser executadas. Aula nº 06 - Estruturas de Controle * * * /24 Algoritmo “Troca de Pneu” Apanhe o macaco; Posicione o macaco sob o carro; Folgue as porcas do pneu; Levante o carro com o macaco; Retire o pneu; Coloque o estepe; Coloque os parafusos; Baixe o carro; Aperte os parafusos; Guarde o pneu retirado e o macaco. E se o estepe estiver furado/vazio? E se as porcas estiverem aluídas? Aula nº 06 - Estruturas de Controle * * * /24 Estruturas de Controle Execução seqüencial; Transferência de controle; goto problemas – transferência de controle indiscriminada; programação estruturada; Aula nº 06 - Estruturas de Controle * * * /24 Apanhe o macaco; Posicione o macaco sob o carro; Folgue as porcas do pneu; Levante o carro com o macaco; Retire o pneu; Se o estepe estiver vazio goto 13; Coloque o estepe; Coloque os parafusos; Baixe o carro; Aperte os parafusos; Guarde o pneu retirado e o macaco. goto 15; Leve o pneu furado ao borracheiro e retorne com o pneu cheio; goto 7; Fim. Aula nº 06 - Estruturas de Controle * * * /24 Estruturas de Controle (cont.) Bohm e Jacopini – 1970 – afirmam que é possível escrever programas sem goto; Todos os programas podem ser escritos em termos de apenas 3 estruturas: Estrutura de seqüência; Estrutura de seleção; Estrutura de repetição. Aula nº 06 - Estruturas de Controle * * * /24 Fluxograma representação de algoritmos símbolos linhas de fluxo Estrutura de sequência y = x + y; cout << y; Aula nº 06 - Estruturas de Controle * * * /24 Fluxograma Aula nº 06 - Estruturas de Controle * * * /24 Estruturas de Controle Seqüência Estruturas de Seleção if if/else switch Estruturas de Repetição while do/while for Aula nº 06 - Estruturas de Controle * * * /24 Estruturas de Controle Os programas em C++ são construídos apenas com essas 7 estruturas de controle (blocos de construção); Empilhamento Aninhamento Cada estrutura só tem uma entrada e uma saída. Aula nº 06 - Estruturas de Controle * * * /24 Estrutura de seleção if Usada para escolher curso de ação alternativo; Se a nota do estudante for maior que ou igual a 7, Imprima “Aprovado” ... if (nota >= 7) cout << “Aprovado”; ... Aula nº 06 - Estruturas de Controle * * * /24 Estrutura de seleção if (cont) if (nota >= 7) cout << “Aprovado”; imprime “Aprovado” Em C++ Se o valor da expressão for 0 false Se o valor da expressão não for 0 true Aula nº 06 - Estruturas de Controle * * * /24 imprime “Aprovado” fim início Aula nº 06 - Estruturas de Controle * * * /24 #include <iostream> using namespace std; int main() { int nota; cout << “\nDigite a nota do aluno: ”; cin >> nota; if (nota >= 7) cout << “Aprovado”; return 0; } Aula nº 06 - Estruturas de Controle * * * /24 Estrutura if/else Permite indicar uma ação para executar se a condição é true e outra ação se condição é false. Se a nota do estudante for maior que ou igual a 7 Imprima “Aprovado” senão Imprima “Reprovado” Aula nº 06 - Estruturas de Controle * * * /24 Estrutura if/else (cont) Se a nota do estudante for maior que ou igual a 7.0 Imprima “Aprovado” senão Imprima “Reprovado” if (nota >= 7) cout << “Aprovado”; else cout << “Reprovado”; Aula nº 06 - Estruturas de Controle * * * /24 Estrutura if/else (cont) if (nota >= 7.0) cout << “Aprovado”; else cout << “Reprovado”; Aula nº 06 - Estruturas de Controle * * * /24 (_?_:_) (_?_:_) (_?_:_) (_?_:_) Operador condicional operador ternário terceiro operando – valor para a expressão condicional inteira, se a condição for false segundo operando – valor para a expressão condicional inteira, se a condição for true primeiro operando – condição Aula nº 06 - Estruturas de Controle * * * /24 Operador condicional (cont) cout << (nota>=7.0 ? “Aprovado” : “Reprovado”); Obs.: Precedência baixa Os valores das expressões podem ser ações (nota>=7.0 ? cout<<“Aprovado” : cout<< “Reprovado”); Aula nº 06 - Estruturas de Controle * * * /24 if ’s aninhados Se a nota for maior ou igual a 90 imprima “A” senão Se a nota for maior ou igual a 80 imprima “B” senão Se a nota for maior ou igual a 70 imprima “C” senão Se a nota for maior ou igual a 60 imprima “D” senão imprima “R” Aula nº 06 - Estruturas de Controle * * * /24 if (nota >= 90) cout << “A”; else if (nota >= 80) cout << “B”; else if (nota >= 70) cout << “C”; else if (nota >= 60) cout << “D”; else cout << “R”; Aula nº 06 - Estruturas de Controle * * * /24 Comandos compostos if (nota >= 60) cout << “Aprovado.\n”; else { cout << “Reprovado.\n”; cout << “Repita esse curso.\n”; } Aula nº 06 - Estruturas de Controle * * * /24 Exercícios em trio Ler dois números inteiros, x e y, e imprimir o quociente e o resto da divisão inteira entre eles. Ler dois números inteiros correspondentes ao numerador e denominador, respectivamente, de uma fração e imprima se a fração é própria ou imprópria. Aula nº 06 - Estruturas de Controle * * * /24 Exercícios em trio Ler dois números inteiros correspondentes ao numerador e denominador, respectivamente, de uma fração e imprima: se a fração é aparente, ou se a fração é própria, ou se a fração é imprópria. Aula nº 06 - Estruturas de Controle