Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE FEDERAL DE OURO PRETO INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS DEPARTAMENTO DE COMPUTAÇÃO CIC107 – PROGRAMAÇÃO DE COMPUTADORES I 8ª Aula prática Estrutura de repetição – do/while Tal como a estrutura while, permite que um comando (ou uma seqüência de comandos) seja executado repetidamente enquanto uma condição for satisfeita. A diferença entre while e do/while é na execução do teste: � while realiza o teste e, se o resultado for verdadeiro, executa o comando ou seqüência de comandos da repetição. Caso contrário (se o teste for falso), não haverá execução alguma; � do/while executa um comando ou seqüência de comandos da repetição e só então realiza o teste. Neste caso, se o primeiro teste se mostrar falso fica garantida ao menos uma execução do comando / seqüência de comandos. Na linguagem C/C++, a estrutura do do/while tem a seguinte forma: do comando while(condição); Ressaltando que a condição é uma expressão lógica que produz como resultado o valor “verdadeiro” ou “falso” e que comando pode representar um comando composto, no formato: { comando1; comando2; ... } Exemplo 1: Programa para exibir uma seqüência de números ímpares menores que 10. #include <iostream> using namespace std; main(){ int impar=1; do{ cout << impar <<" "<< endl; impar = impar + 2; }while(impar < 10 ); system("pause"); } Exemplo 2: Programa que imprime formas geométricas conforme opção escolhida pelo usuário. #include <iostream> using namespace std; main(){ int opcao; do{ cout<<"Digite:"<<endl <<"1- Imprimir retangulo"<<endl <<"2- Imprimir triangulo"<<endl <<"3- Sair"<<endl <<"> "; cin>>opcao; if(opcao == 1) //desenha retangulo cout<<"**********"<<endl <<"* *"<<endl <<"* *"<<endl <<"* *"<<endl <<"**********"<<endl<<endl; else if(opcao == 2) //desenha triangulo cout<<" *"<<endl <<" * *"<<endl <<" * *"<<endl <<" * *"<<endl <<"*********"<<endl<<endl; }while(opcao != 3); } Exemplo 3: Programa que calcula o fatorial de um número. #include <iostream> using namespace std; main(){ int num, i, fat; cout<<"Digite o numero para calculo do fatorial: "; cin>>num; fat=1; i=num; do{ fat=fat*i; i--; }while ( i >1 ); cout<<"O fatorial de "<<num<< " e "<<fat<<endl; system("pause"); } Exercícios: 1) Faça um programa capaz de calcular a área e o perímetro de um retângulo. Este programa apresentará um menu ao usuário com as seguintes opções: Digite: 1- Calcular área 2- Calcular perímetro 3- Sair > Caso o usuário digite a opção “1” ou “2” será solicitado que ele entre com os valores da largura e altura para o retângulo, é realizado o calculo apropriado, e o resultado do mesmo é apresentado na tela. Em seguida, o menu será reapresentado ao usuário. O programa somente será finalizado quando o usuário digitar a opção “3”. 2) Faça um programa que simule o funcionamento de um cofre. É solicitado ao usuário que digite a senha do cofre (até que seja digitada a senha correta ou tenham sido realizadas 5 tentativas sem sucesso). A cada tentativa do usuário imprima a mensagem “Acesso negado.” se a senha digitada esteja incorreta e, caso contrário (senha correta), imprima a mensagem “Acesso liberado!!!”. (OBS: A senha do cofre será uma variável inteira definida por você na implementação do programa). 3) Faça um programa que simule o jogo de intervalos. Definida uma variável inteira x cujo valor é definido por você na implementação. No programa o usuário irá tentar acertar o valor de x. A cada tentativa podem ocorrer três situações: a) O número digitado pelo usuário é igual a x e neste caso é impressa a mensagem “Número correto!!!” e o número de tentativas que foram realizadas até o acerto é apresentado ao usuário. Em seguida, o programa é finalizado; b) O número digitado pelo usuário é maior que x e, neste caso, imprima a mensagem “Maior” e continue a execução do programa; c) O número digitado pelo usuário é menor que x e, neste caso, imprima a mensagem “Menor” e continue a execução do programa;
Compartilhar