UNIVERSIDADE FEDERAL DE OURO PRETO INSTITUTO DE CIÊNCIAS EXATAS E BIOLÓGICAS DEPARTAMENTO DE COMPUTAÇÃO CIC701 – PROGRAMAÇÃO DE COMPUTADORES I 4ª Aula prática Estrutura de repetição (Laço) Permite que um comando (ou uma sequência de comandos) sejam executados repetidamente enquanto uma condição for satisfeita. Na linguagem C/C++, um laço de repetição pode ser definido pelo comando “while” que tem a seguinte forma: while (condição) comando; A “condição” é uma expressão lógica que produz como resultado o valor “verdadeiro” ou “falso”, como visto na aula anterior. Ressaltando que “comando;” pode representar um comando composto, no formato: { comando1; comando2; ... } Exemplo 1 : programa para calcular o fatorial de um número. #include <iostream> using namespace std; main() { int x, fat; cout << "Digite um número: "; cin >> x; fat = x; x = x -1; while ( x >= 2 ) { fat = fat * x; x = x - 1; } cout << "fatorial: " << fat << endl; } Exemplo 2 : programa que imprime todos os divisores de um número #include <iostream> using namespace std; main() { int x, i; cout << "Digite um número: "; cin >> x; i = x; while ( i >= 1 ) { if ( x%i == 0 ) cout << i << " é divisor de " << x << endl; i = i - 1; } } //Nota: o operador % retorna o resto da divisão inteira. Exemplo 3 : programa que escreve uma mensagem com a seguinte estrutura: sonho sonho sonho sonho sonho sonho sonho sonho sonho sonho … #include <iostream> using namespace std; main() { int linhas; cout << "Quantas linhas: "; cin >> linhas; int original; original = linhas; while ( linhas >= 1 ) { int c; c = original +1 -linhas; while ( c>=1 ) { cout << "sonho "; c = c – 1; } cout << endl; linhas = linhas - 1; } } Nota: no caso da ocorrência de um laço dentro de outro temos os laços aninhados. O aninhamento também pode ocorrer com outras estruturas, como o if. Exercícios: 1. Crie um programa que imprima a tabela de conversão de polegadas para centímetros. Deseja-se que na tabela constem valores dede 1 polegada até 20 polegadas (lembrando que 1 polegada equivale a 2,54 centímetros). 2. Crie um programa que imprima todos os números inteiros e positivos no intervalo aberto entre 10 e 100 de modo que: •• não terminem em 0 e •• se o dígito da direita for removido, o número restante é divisor do número original. 3. Crie um programa que leia um número qualquer de números positivos e imprima sua média. A interface funcionará da seguinte maneira: números serão digitados até o momento em que o usuário digitar um número negativo. Nesse momento, a média deverá ser calculada (sem considerar o número negativo) e impressa na tela.