Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
AULA 6 – Prof. LUIZ DI MARCELLO * ALGORITMOS – AULA 6 Prof. LUIZ DI MARCELLO Rio de Janeiro, 24 de Maio de 2011 AULA 6 – Prof. LUIZ DI MARCELLO * AULA 6 – ESTRUTURAS DE REPETIÇÃO OBJETIVOS Construir algoritmos usando o comando de repetição para além dos comandos/operadores/funções aprendidos nas aulas anteriores Nomear os três comandos de repetição na linguagem C++ Codificar algoritmos na linguagem C++, usando todos os comandos aprendidos até a aula 6 Usar o Teste de Mesa para acompanhar seus algoritmos com o comando para AULA 6 – Prof. LUIZ DI MARCELLO * Como entrar com as notas de 35 alunos de uma turma ??? Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00 ??? Como exibir um menu de funções até que seja digitado o número 9 ??? São problemas parecidos ... ... mas não são iguais SITUAÇÕES DE REPETIÇÃO AULA 6 – Prof. LUIZ DI MARCELLO * Como entrar com as notas de 35 alunos de uma turma ??? número conhecido de repetições Como continuar comprando em uma loja enquanto o valor da soma for menor que R$200,00 ??? enquanto uma condição for verdadeira Como exibir um menu de funções até que seja digitado o número 9 ??? até que uma condição se torne verdadeira SITUAÇÕES DE REPETIÇÃO AULA 6 – Prof. LUIZ DI MARCELLO * PARA FOR ENQUANTO WHILE FAÇA ...ENQUANTO DO ... WHILE As estruturas são equivalentes, porém algumas situações tem “vocação” para determinadas soluções O QUE UTILIZAR EM C++ ??? AULA 6 – Prof. LUIZ DI MARCELLO * para (inicial ; condição ; incremento) { bloco de comando } for (inicial ; condição ; incremento) { bloco de comando } SINTAXE UAL e C++ AULA 6 – Prof. LUIZ DI MARCELLO * prog tabuada int cont,num; imprima “Numero? “; leia num; para (cont <- 1;cont <10 ;cont++) { imprima num, “ * “,cont,” = “; imprima num*cont, “\n”; } fimprog int main () { int cont,num; cout << "Numero? "; cin >> num; for (cont =1;cont <10 ;cont++) { cout << num << " x " <<cont <<" = "; cout << num*cont << "\n"; } system ("pause"); } EXEMPLO PARA / FOR AULA 6 – Prof. LUIZ DI MARCELLO * enquanto (condição verdadeira) { bloco de comando } while (condição verdadeira) { bloco de comando } SINTAXE UAL e C++ AULA 6 – Prof. LUIZ DI MARCELLO * prog tabuada int cont,num; imprima “Numero? “; leia num; cont <- 1; enquanto (cont < 10) { imprima num, “ * “,cont,” = “; imprima num*cont, “\n”; cont++; } fimprog int main () { int cont,num; cout << "Numero? "; cin >> num; cont = 1; while (cont < 10) { cout << num << " x " <<cont <<" = "; cout << num*cont << "\n"; cont++; } system ("pause"); } EXEMPLO ENQUANTO / WHILE AULA 6 – Prof. LUIZ DI MARCELLO * faca { bloco de comando } enquanto (condição verdadeira) do { bloco de comando } while (condição verdadeira); SINTAXE UAL e C++ SEM “Ç” SEM “;” AULA 6 – Prof. LUIZ DI MARCELLO * prog tabuada int cont,num; imprima “Numero? “; leia num; cont <- 1; faca { imprima num, “ * “,cont,” = “; imprima num*cont, “\n”; cont++; } enquanto( cont <10) fimprog int main () { int cont,num; cout << "Numero? "; cin >> num; cont = 1; do { cout << num << " x " <<cont <<" = "; cout << num*cont << "\n"; cont++; } while (cont < 10); system ("pause"); } EXEMPLO FAÇA...ENQUANTO / DO...WHILE SEM “;” SEM “Ç” AULA 6 – Prof. LUIZ DI MARCELLO * Acompanhe, no teste de mesa, o programa abaixo e assinale a resposta correta. #include <iostream> using namespace std; int main() { int cont; for(cont=100; cont>=20; cont-=10); { cout<< " "<<cont; } cout<< "\n"; system("pause"); } REGISTRO DE FREQUÊNCIA 1) Não exibe nada. 2) Exibe a série: 100 90 80 70 60 50 40 30 20. 3) Exibe 10. AULA 6 – Prof. LUIZ DI MARCELLO * 2. Acompanhe, no teste de mesa, o programa abaixo e assinale a resposta correta. #include <iostream> using namespace std; int main() { int cont; for(cont=100; cont>=1; cont/=5) { cout<< " "<<cont; } cout<< "\n"; system("pause"); } REGISTRO DE FREQUÊNCIA 1) Exibe a série: 100 20 4. 2) Não exibe nada. 3) NRA. AULA 6 – Prof. LUIZ DI MARCELLO * 3. Acompanhe, no teste de mesa, o programa abaixo e assinale a resposta correta. #include <iostream> #include <cmath> using namespace std; int main() { int cont; float num; for(cont=1; cont<=4; cont++) { cout<< "\nNumero: "; cin>>num; } cout<<"\n"<<pow(num,2); cout<< "\n"; system("pause"); } REGISTRO DE FREQUÊNCIA 1) Não exibe nada. 2) Exibe o quadrado o último número. 3) Quatro vezes solicita número e exibe o quadrado do número. AULA 6 – Prof. LUIZ DI MARCELLO * Vamos fazer um programa que leia as opções de um menu: 1- INCLUIR 2- EXCLUIR 3- CONSULTAR 9- SAIR PRECISAREMOS DE: Uma variável inteira para receber a opção Um comando para ler a variável opcao Um loop que ficará em execução enquanto a variável opcao for diferente de 9 Uma seleção múltipla para executar o que cada opção indica EXERCÍCIO RESOLVIDO AULA 6 – Prof. LUIZ DI MARCELLO * int main () { int opcao; cout << " MENU\n"; cout << " 1-INCLUIR\n"; cout << " 2-EXLUIR\n"; cout << " 3-CONSULTAR\n"; cout << " 9-SAIR\n"; cin >> opcao; switch (opcao) { case 1: cout << "VAI INCLUIR\n"; break; case 2: cout << "VAI EXCLUIR\n"; break; case 3: cout << "VAI CONSULTAR\n"; break; case 9: break; default: cout << "OPCAO INVALIDA\n"; } system ("pause"); } EXERCÍCIO RESOLVIDO O BÁSICO NÃO MUDA: AULA 6 – Prof. LUIZ DI MARCELLO * int main () { int opcao; cout << " MENU\n"; cout << " 1-INCLUIR\n"; cout << " 2-EXLUIR\n"; cout << " 3-CONSULTAR\n"; cout << " 9-SAIR\n"; cin >> opcao; switch (opcao) { case 1: cout << "VAI INCLUIR\n"; break; case 2: cout << "VAI EXCLUIR\n"; break; case 3: cout << "VAI CONSULTAR\n"; break; case 9: break; default: cout << "OPCAO INVALIDA\n"; } system ("pause"); } EXERCÍCIO RESOLVIDO O BÁSICO NÃO MUDA: MAS A CADA EXECUÇÃO O PROGRAMA PARA... E, ENTÃO, QUAL ESTRUTURA DE REPETIÇÃO USAR PARA QUE ISSO NÃO ACONTEÇA ??? AULA 6 – Prof. LUIZ DI MARCELLO * int main () { int opcao; for ( opcao = 1; opcao !=9 ; ) { cout << "MENU\n"; cout << " 1-INCLUIR\n"; cout << " 2-EXLUIR\n"; cout << “ 3-CONSULTAR\n"; cout << “ 9-SAIR\n"; cin >> opcao; switch(opcao){ case 1: cout << "VAI INCLUIR\n"; break; case 2: cout << "VAI EXCLUIR\n"; break; case 3: cout << "VAI CONSULTAR\n"; break; case 9: break; default: cout << "OPCAO INVALIDA\n"; } } system ("pause"); } QUE TAL UTILIZARMOS O “for”... EXERCÍCIO RESOLVIDO AULA 6 – Prof. LUIZ DI MARCELLO * int main () { int opcao; opcao = 1; while (opcao !=9) { cout << "MENU\n"; cout << " 1-INCLUIR\n"; cout << " 2-EXLUIR\n"; cout << “ 3-CONSULTAR\n"; cout << “ 9-SAIR\n"; cin >> opcao; switch(opcao){ case 1: cout << "VAI INCLUIR\n"; break; case 2: cout << "VAI EXCLUIR\n"; break; case 3: cout << "VAI CONSULTAR\n"; break; case 9: break; default: cout << "OPCAO INVALIDA\n"; } } system ("pause"); } QUE TAL UTILIZARMOS O “while”... EXERCÍCIO RESOLVIDO AULA 6 – Prof. LUIZ DI MARCELLO * int main () { int opcao; do { cout << "MENU\n"; cout << " 1-INCLUIR\n"; cout << " 2-EXLUIR\n"; cout << “ 3-CONSULTAR\n"; cout << “ 9-SAIR\n"; cin >> opcao; switch(opcao){ case 1: cout << "VAI INCLUIR\n"; break; case 2: cout << "VAI EXCLUIR\n"; break; case 3: cout << "VAI CONSULTAR\n"; break; case 9: break; default: cout << "OPCAO INVALIDA\n"; } } while (opcao !=9); system ("pause"); } OU, ENTÃO, PODEMOS UTILIZAR O “do...while”... EXERCÍCIO RESOLVIDO *
Compartilhar