Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
AULA 7 – Prof. LUIZ DI MARCELLO * ALGORITMOS – AULA 7 Prof. LUIZ DI MARCELLO Rio de Janeiro, 31 de Maio de 2011 AULA 7 – Prof. LUIZ DI MARCELLO * AULA 7 – Você precisa saber decidir: para, enquanto ou faca...enquanto? OBJETIVOS Construir algoritmos usando a estrutura de repetição enquanto, ou a estrutura de repetição faca...enquanto, além dos comandos/operadores/funções aprendidos nas aulas anteriores. Explicar por que alguns algoritmos usam a estrutura de repetição do enquanto, ou a estrutura de repetição do faca... enquanto, ao invés da estrutura de repetição para. Codificar algoritmos na linguagem C++ , usando todos os comandos aprendidos até a aula 7. Usar o Teste de Mesa para acompanhar seus algoritmos com a estrutura de repetição do enquanto, ou do faca...enquanto. AULA 7 – 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 QUAL ESTRUTURA DE REPETIÇÃO USAR? AULA 7 – 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"); } O BÁSICO NÃO MUDA: AULA 7 – 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"); } 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 7 – 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”... AULA 7 – 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”... AULA 7 – 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”... AULA 7 – Prof. LUIZ DI MARCELLO * Calcular o fatorial de um número n int main () { int fat; int n,i; fat=1; cout << "Numero: "; cin >> n; for (i = n; i> 0; i--) fat = fat * i; cout << n <<"! = " << fat << "\n"; } UM PROBLEMA PARA O “for” AULA 7 – Prof. LUIZ DI MARCELLO * for ( ; ; ) loop infinito for ( ; x>0; ) x é inicializado antes do for e seu valor é alterado dentro do bloco for ( x=0; x< 10; ) o valor de x é alterado dentro do bloco for ( x=0; x < 1000; x++); “temporizador” CASOS PARTICULARES DO “for” AULA 7 – Prof. LUIZ DI MARCELLO * Dado o saldo inicial, permitir compras enquanto o saldo for positivo int main () { float saldo, compra; compra=0; cout << "Saldo: "; cin >> saldo; while (saldo > 0) { cout << "Valor da compra: "; cin >> compra; if (compra > saldo) cout << "Compra nao aprovada\n"; saldo = saldo-compra; } cout << "saldo final R$ “; cout << saldo + compra<< "\n"; } UM PROBLEMA PARA O “while” AULA 7 – Prof. LUIZ DI MARCELLO * while (1) loop infinito while (x) permance em execução enquanto x for diferente de 0 ou de NULL while ( x == 1); loop infinito também while ( x = 1); outro loop infinito CASOS PARTICULARES DO “while” AULA 7 – Prof. LUIZ DI MARCELLO * Adivinhar um número entre 0 e 100 gerado aleatoriamente int main () { int n,resp,vezes; srand( time( 0 ) ); n = 1 + rand() % 100; vezes=0; do { cout << "Numero: "; cin >> resp; if (n > resp) cout << "Maior\n"; if (n < resp) cout << "Menor\n"; vezes++; } while (n != resp); cout << "Acertou com "<< vezes ; cout << " tentativa\n"; } UM PROBLEMA PARA O “do...while” AULA 7 – Prof. LUIZ DI MARCELLO * do ... while (1); loop infinito do ... while (x); permance em execução enquanto x for diferente de 0 ou de NULL do ... while ( x == 1) ; o valor de x pode ser alterado no bloco. OK. do ... while ( x = 1) ; loop infinito; será sempre verdadeiro CASOS PARTICULARES DO “do...while” AULA 7 – Prof. LUIZ DI MARCELLO * 1. Se você souber quantas vezes vai repetir um ou mais comandos quando estiver construindo um algoritmo, qual seria a estrutura mais simples para ser usada? 1) Estrutura do while. 2) Estrutura do for. 3) Estrutura do do ... while. 2. Qualquer uma das três estruturas de repetição, na linguagem C++, pode simular qualquer outra estrutura. 1) Verdade. 2) Falso. 3. Qualquer que seja o exercício com um número de repetições desconhecido, é indiferente o uso da estrutura do while quanto ou a do do...while. 1) Verdade. 2) Falso. REGISTRO DE FREQUÊNCIA AULA 7 – Prof. LUIZ DI MARCELLO * 1. Se você souber quantas vezes vai repetir um ou mais comandos quando estiver construindo um algoritmo, qual seria a estrutura mais simples para ser usada? 1) Estrutura do while. 2) Estrutura do for. 3) Estrutura do do ... while. 2. Qualquer uma das três estruturas de repetição, na linguagem C++, pode simular qualquer outra estrutura. 1) Verdade. 2) Falso. 3. Qualquer que seja o exercício com um número de repetições desconhecido, é indiferente o uso da estrutura do while quanto ou a do do...while. 1) Verdade. 2) Falso. REGISTRO DE FREQUÊNCIA AULA 7 – Prof. LUIZ DI MARCELLO * 1. Se você souber quantas vezes vai repetir um ou mais comandos quando estiver construindo um algoritmo, qual seria a estrutura mais simples para ser usada? 1) Estrutura do while. 2) Estrutura do for. 3) Estrutura do do ... while. 2. Qualquer uma das três estruturas de repetição, na linguagem C++, pode simular qualquer outra estrutura. 1) Verdade. 2) Falso. 3. Qualquer que seja o exercício com um número de repetições desconhecido, é indiferente o uso da estrutura do while quanto ou a do do...while. 1) Verdade. 2) Falso. REGISTRO DE FREQUÊNCIA *
Compartilhar