Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de repetições Algoritmos e Técnicas de Programação Luiz Guilherme Hilel Drumond Silveira 2009 Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA Introdução � Quando um conjunto de código instruções são repetidas de acordo com uma condição específica, a utilização de estruturas de repetição podem ser utilizadas para auxiliar o desenvolvedor. � As estruturas de repetições são: � while � do – while � for Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA Introdução � Exemplo: � Faça um algoritmo que leia a temperatura de um recipiente que contenha água. Quando a água ferver, informar ao usuário. temp <=100 ? Imprima: Digite a temperatura: Início Leia temp FIM Imprima “Água fervida” N ão S IM Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA while � A estrutura de repetição while, é utilizada quando a repetição pode se encerrar a qualquer momento, de acordo com a cláusula condicional definida. � O bloco de código do while é executado quando a cláusula condicional for verdadeira, quando for falsa, saí do laço de repetição. � Sintaxe: while(cláusula condicional){ . . . } Bloco de código(instruções) Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA while � Exemplo: #include <iostream> using namespace std; int main(){ int temp; cout << “\nDigite a temperatura: “; cin >> temp; while( temp <= 100 ){ cout << “\nDigite a temperatura: “; cin >> temp; } cout << “\nAgua fervida”; return 0; } temp <=100 ? Imprima: Digite a temperatura: Início Leia temp FIM Imprima “Água fervida” N ão S IM Imprima: Digite a temperatura: Leia temp Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA while � Exemplo: � Faça um programa em C++ que imprima todos os valores ímpares menores que p. #include <iostream> using namespace std; int main(){ int p, i = 1; cout << “\nDigite p: “; cin >> p; while( i < p ) cout << “ “ << i; i = i + 2; //i+=2; return 0; } i < p? Imprima: Digite p: Início FIM N ão Leia p i = 1 i = i + 2 Imprima “ “ Imprima i S IM Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA while � Exercícios: 1)Faça um programa em C++ que imprima uma determinada série. O programa deverá ler, o limite inferior, o limite superior e fator de série. Exemplo: 4, 9, 14, 19, 24, 29. 2) Faça um programa em C++ que leia números inteiros positivos e ao final imprima qual é menor e qual é maior entre eles. O programa deverá para de ler quando for digitado -1. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA do - while � do que em português significa faça e while significa enquanto. � Similar ao comando while, porém, o teste é feito ao final do bloco de código. Sendo assim, o seu bloco de código obrigatoriamente será executado na primeira vez e as demais apenas se a cláusula condicional for verdadeira. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA do - while � Sintaxe: do{ . . . } while(cláusula condicional); O Bloco de Código será executado a primeira vez, pois, o teste condicional está no final do bloco de código. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA do - while � Exemplo: #include <iostream> using namespace std; int main(){ int temp; do{ cout << “\nDigite a temperatura: “; cin >> temp; } while( temp <= 100 ); cout << “\nAgua fervida”; return 0; } temp <=100 ? Imprima: Digite a temperatura: Início Leia temp FIM Imprima “Água fervida” N ão S IM Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA do - while � Exemplo: � Faça um programa em C++ que imprima todos os valores ímpares menores que p. #include <iostream> using namespace std; int main(){ int p, i = 1; cout << “\nDigite p: “; cin >> p; do{ cout << “ “ << i; i+=2; }while( i < p ); return 0; } i < p? Imprima: Digite p: Início FIM N ão Leia p i = 1 i = i + 2 Imprima “ “ Imprima i S IM Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA do - while � Exercícios: Faça um programa que leia vários números inteiros e calcule o somatório dos números negativos. O fim da leitura será indicado pelo número 0. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � Este comando de repetição é utilizado quando já se sabe de antemão o número fixo de vezes que irá se repetir. � Em português for significa para. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � A sintaxe do comando for é formado por três campos, inicialização, teste e incremento. � Sintaxe: for( i = 0; i < 50; i++){ . . . } Inicialização Teste Incremento Bloco de Código Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � Todos os campos devem ser separados por ;. � A variável de controle do for, será utilizada para uma “contagem” para que o comando saiba quando atingiu o limite. � A inicialização atribuiu um valor inicial para a variável de controle do for. for( i = 0; i < 50; i++){ . . . } � Neste caso em específico do exemplo a variável de controle i começara com o valor 0 na primeira execução do for. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � O campo teste indica a condição de parada do for através de uma expressão condicional. for( i = 0; i < 50; i++){ . . . } � Neste caso em específico o for fará o laço(loop) 50 vezes, ou seja, quando i valer 50 não há mais repetição. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � O campo incremento é responsável por determinar o quanto a variável de controle será incrementada em cada laço da repetição. for( i = 0; i < 50; i++){ . . . } � Neste caso em específico a variável i será incrementada em 1, assim, este laço irá se repetir 50 vezes. Mas, caso, ao invés de i++ fosse i+=2 o laço iria se repetir 25 vezes, pois, i seria incrementado em 2 a cada laço. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � Exemplo: Faça um programa que leia um número e exiba os seus múltiplos até 10. #include <iostream> using namespace std; int main(){ int num, result; cout << “\nDigite o numero: “; cin >> num; for(i = 1; i <= 10; i++ ){ result = num * i; cout << “\n” << num << “ * “ << i << “ = “ << result; } } i <= 10? Imprima: Digite o numero: Início FIM Leia num i = 1 i = i + 1 Imprima result result = num * i S IM N Ã O Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA for � Exercícios: 1) Faça um programa em C++ que leia em cada trimestre de um ano, seu receita e sua despesa e informe o saldo para cada trimestre. 2) Modifique o programa anterior para que informe o saldo também por semestre. 3) Modifique o programa anterior para que realize a tarefa anterior, mas, que realize as tarefas para cinco anos. Luiz Guilherme Hilel Drumond Silveira - ATP1 - Centro Universitário UNA while, do – while e for � É importante ressaltar que como o if, pode-se ter estruturas de repetição aninhadas, ou seja, for “dentro” de for, while “dentro” de while. Como também, for “dentro” de while ou até mesmo um for “dentro” de um if ou um if “dentro” de um while.
Compartilhar