UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 05 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo
LAÇOS Laços são comandos da linguagem C++ úteis sempre que uma ou mais instruções devam ser repetidas enquanto uma certa condição estiver sendo satisfeita. Em C++ existem três estruturas de laços: For While do - while 2
O LAÇO FOR O laço for é geralmente usado quando queremos repetir algo um número fixo de vezes. Isto significa que utilizamos um laço for quando sabemos de antemão o número de vezes a repetir. No laço for, determinamos o número de repetições desejadas através de uma variável de controle que será modificada pelos argumentos da declaração for. 3
O LAÇO FOR A instrução for consiste na palavra chave for seguida de parênteses que contêm três expressões separadas por pontos e virgulas. Chamaremos a primeira destas expressões de inicialização, a segunda de teste e a terceira de incremento. Inicialização Teste for (i = 0; i < 20; i++) Incremento Ponto e vírgula Sem ponto e vírgula 4
EXEMPLO Programa em C++ que mostra na tela os números de 1 a 20. #include <iostream> using namespace std; int main() int i; for (i = 1; i <= 20; i++) cout << '\n' << i; system("pause > null"); 5
EXEMPLO Faça um programa em C++ que imprima a tabuada de multiplicação de 1 a 10. #include <iostream> #include <iomanip> using namespace std; int main() int i; cout << "\t\t Tabuada de Multiplicacao \n"; for (i = 1; i <= 10; i++) cout << "\n" << setw(6) << i << setw(6) << (i * 2) << setw(6) << (i * 3) << setw(6) << (i * 4) << setw(6) << (i * 5) << setw(6) << (i * 6) << setw(6) << (i * 7) << setw(6) << (i * 8) << setw(6) << (i * 9) << setw(6) << (i * 10); system("pause > null"); 6
O LAÇO WHILE Trata-se de uma estrutura de repetição que pode ser utilizada quando o número de repetições não é fixo. Os comandos serão repetidos até a condição assumir o valor falso. Neste tipo de estrutura, o teste condicional ocorre no início. Isto significa que existe a possibilidade da repetição não ser executada quando a condição assumir valor falso logo na primeira verificação. 7
O LAÇO WHILE A instrução while consiste na palavra chave while seguida de uma expressão de teste entre parênteses. Se a expressão de teste for verdadeira, o laço while é executado uma vez e a expressão de teste é avaliada novamente. Este ciclo de teste e execução é repetido até que a expressão de teste se torne falsa (igual a zero), então o laço termina e o controle de programa passa para a linha seguinte do laço. while (expressão de teste) Expressão de incremento; 8
EXEMPLO Programa em C++ que imprime na tela uma frase por 20 vezes. #include <iostream> using namespace std; int main() int controle = 0; while (controle < 20) cout << "\t Esta frase se repetira 20 vezes: "; controle++; cout << controle << "\n"; system("pause > null"); 9
EXEMPLO Programa em C++ que lê diversos números positivos e escreve, para cada um, sua raiz quadrada. #include <iostream> #include <cmath> using namespace std; int main() float i; while (i >= 0) cout << "\n\n\t Digite o valor de i: "; cin >> i; cout << "\t raiz: " << sqrt(i); system("pause > null"); 10
O LAÇO DO - WHILE Este laço é muito parecido com o laço Repita visto em algoritmos. Neste tipo de estrutura, o teste condicional ocorre no fim. Isso significa que a repetição será executada no mínimo uma vez, quando todo o bloco for executado uma vez e, ao final, a condição assumir o valor falso. 11
O LAÇO DO - WHILE Este laço é utilizado em situações em que é necessário executar o corpo de laço uma primeira vez e depois avaliar a expressão de teste e criar um ciclo repetido. do instrução; while (teste); ponto e vírgula aqui A instrução do while consiste na palavra chave do seguida de um bloco de uma ou mais instruções entre chaves e terminada pela palavra chave while seguida de uma expressão de teste entre parênteses terminada por ponto e vírgula. 12
EXEMPLO Programa em C++ que imprime na tela uma frase por 20 vezes agora usando o laço do while. #include <iostream> using namespace std; int main() int controle = 1; do cout << "Esta frase se repetira " << controle << " vezes!\n"; controle++; while (controle <= 20); system("pause > null"); 13
EXEMPLO Programa em C++ que lê um número digitado e escreve a sua raiz quadrada. Este programa deve considerar que o usuário deverá encerrar o processamento quando desejar. #include <iostream> #include <cmath> cin >> x; using namespace std; cout << "\n\t raiz: " << sqrt(x); int main() cout << "\n\n\t Deseja continuar? "; cin >> resp; char resp = 's'; int x; while (resp == 's'); do system("pause > null"); cout << "\ndigite o valor de X: "; 14
EXERCÍCIOS 1. Faça um programa em C++ que lê escreve os números ímpares de 1 a 1000. 15
EXERCÍCIOS 2. Faça um programa em C++ que lê 5 números e escreve todos os que forem positivos. 16
EXERCÍCIOS 3. Faça um programa em C++ que lê um número N e escreve todos os números de 1 a N. 17
EXERCÍCIOS 4. Faça um programa em C++ que calcule o fatorial de um número qualquer digitado pelo usuário. 18