06. ESTRUTURA DE REPETIÇÃO
41 pág.

06. ESTRUTURA DE REPETIÇÃO


DisciplinaProgramacao Modular91 materiais1.042 seguidores
Pré-visualização3 páginas
Comandos de Controle em C
Comandos de Iteração - 
Repetição
2
Comandos de Iteração
\u2022 Existem situações em que é necessário 
repetir um determinado trecho de 
programa um número de vezes ou até 
que algo aconteça. 
3
Comandos de Iteração
\u25a0 A estrutura de repetição permite que 
uma seqüência de comandos seja 
executada repetidamente até que uma 
determinada condição de interrupção 
seja satisfeita. 
\u25a0 A condição de interrupção que deve 
ser satisfeita é representada por uma 
expressão lógica.
4
Comandos de Iteração - 
Exemplo
\u2022 Suponha que um usuário deseje verificar a área de 
um número não determinado de triângulos. 
\u2022 O problema é que não se sabe a quantidade exata 
de triângulos. 
\u2022 Se fosse implementado um programa que verificasse 
a área de apenas um triângulo, o usuário teria que 
executá-lo quantas vezes fosse necessário, saindo e 
entrando novamente no programa. 
\u2022 É possível implementar um programa que repetisse 
a verificação enquanto o usuário desejasse, fazendo-
lhe uma pergunta como "Deseja verificar área de 
outro triângulo?". 
5
Comandos de Iteração - 
Exemplo
\u2022 Suponha que se deseje calcular a 
soma de idades de um número 
indeterminado de pessoas em que o 
usuário digita uma idade inválida (0 ou 
um número negativo) quando deseja 
encerrar a entrada das idades. 
\u2022 Assim, repetem-se a entrada e o 
cálculo da soma, terminando quando 
o usuário digita uma idade inválida.
6
Comandos de Iteração
\u25a0 Existem três estruturas de repetição que podem ser 
utilizadas: 
\u25cb for \u2013 recomendado quando há um número 
determinado de repetições 
\u25cb while \u2013 recomendado quando há um número 
indeterminado de repetições 
\u25cb do while \u2013 também recomendado quando há um 
número indeterminado de repetições, mas possui 
diferenças em relação ao while.
7
Comandos de Iteração
\u2022 Apesar de cada laço ter a sua 
recomendação, todo problema pode 
ser resolvido com qualquer laço. 
\u2022 Existem diferenças entre eles, como 
na sintaxe e em seu próprio uso.
8 8
Comandos de Iteração \u2013 
Comando for
Forma Geral 
for (inicialização; condição; incremento) 
 comando; 
n onde: 
¡ inicialização: geralmente um comando de atribuição que coloca 
um valor inicial para as variáveis de controle do laço for. 
¡ condição: uma condição relacional, lógica ou aritmética que 
define até quando a iteração pode continuar (condição de 
permanência da repetição) 
¡ incremento: define como a variável de controle do laço varia cada 
vez que o laço é repetido. 
\u2022Deve-se usar chaves se o corpo do laço tiver mais de uma 
instrução.
9
Comandos de Iteração \u2013 
Comando for
\u25a0 Existirá sempre uma inicialização da 
variável de controle, um teste para 
verificar se a variável atingiu o limite e 
um acréscimo/decréscimo na variável 
de controle.
10
Comandos de Iteração \u2013 
Comando for
//ProgC036.cpp - escreve * 20 vezes na tela 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main(){ 
 int i; 
 for( i=0 ; i < 20 ; i++) 
 cout << '*'; 
 cout << endl; 
 system(&quot;PAUSE&quot;); 
 return 0; 
}
Comando for
inicialização
Condição de parada
Incremento
Comando que irá se repetir
11
Comandos de Iteração \u2013 
Comando for
//ProgC037 - Imprime a tabuada do 6 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main(){ 
 int i; 
 for( i=1 ; i <= 10 ; i++ ) 
 cout << '\n' << &quot;\t&quot; << i << &quot; x 6 = &quot; << &quot;\t&quot; << (i*6); 
 cout << endl; 
 system(&quot;PAUSE&quot;); 
 return 0; 
}
Comando for
Comando que irá se repetir
inicialização
Condição de parada
Incremento
12 12
Comandos de Iteração \u2013 
Comando for
/* ProgC038.cpp 
Programa que conta de 1 a 100*/ 
#include <iostream> 
#include <cstdlib> 
int main ( ){ 
 int Contador; 
 for (Contador = 1; Contador <= 100; Contador++) 
 std::cout << &quot;\t&quot; << Contador; 
 system(&quot;PAUSE > null&quot;); 
 return 0; 
} 
Comando for
Comando que irá se repetir
inicialização
Condição de parada
Incremento
13
Comandos de Iteração \u2013 
Comando while
\u2022 A estrutura de repetição while é utilizada 
quando não se sabe o número de vezes 
que um trecho do algoritmo deve ser 
repetido, embora também possa ser 
utilizada quando se conhece esse número. 
\u2022 Essa estrutura baseia-se na análise de uma 
condição, de forma que a repetição será 
feita enquanto a condição mostrar-se 
verdadeira.
14
Comandos de Iteração \u2013 
Comando while
\u25a0 Enquanto o valor da condição for 
verdadeiro, as ações dos comandos 
são executadas. 
\u25a0 Quando for falso, o comando é 
abandonado. 
\u25a0 Se já da primeira vez o resultado é 
falso, os comandos não são 
executados nenhuma vez.
15 26
Comandos de Iteração \u2013 
Comando while
Comando while
Forma Geral 
while (condição) 
comando; 
n onde: 
¡ condição: é qualquer expressão onde o 
resultado é um valor igual ou diferente de zero. 
¡ comando: é um comando vazio, um comando 
simples ou um comando em bloco (comando 
composto).
16
Comandos de Iteração \u2013 
Comando while
//ProgC050.cpp - Escreve 20 asteriscos na tela. 
#include <iostream> 
#include <cstdlib> 
using namespace std; 
int main(){ 
 int i = 0; 
 while( i < 20 ) 
 { 
 cout << '*'; 
 i++; 
 } 
 cout << endl; system(&quot;PAUSE&quot;); return 0; 
}
Comando 
while
Inicialização da variável de controle
Teste da 
condição
Incremento 
da variável
17
Comandos de Iteração \u2013 
Comando while
//ProgC052 - Programa que calcula a 
Média 
#include <iostream> 
using namespace std; 
int main(){ 
 int N, alunos, acima_60; 
 float nota, soma, media; 
 cout << &quot;Digite a quantidade de alunos: &quot;; 
 cin >> N; 
 acima_60 = 0; 
 soma = 0; 
 alunos = 1; 
 
while (alunos <= N){ 
 cout << &quot;Digite a nota do aluno numero &quot; 
<< alunos << endl; 
 cin >> nota; 
 soma = soma + nota; 
 if (nota > 60) 
 acima_60++; 
 alunos++; } 
 media = soma / N; 
 cout << &quot;Numero de alunos acima de 60: &quot; 
<< acima_60 << endl; 
 cout << &quot;Media das notas da turma: &quot; << 
media << endl; 
 return 0; 
}
Inicialização
Condição
Incremento
18
Comandos de Iteração \u2013 
Comando do while
\u25a0 A estrutura de repetição do-while pode 
ser utilizada quando o número de 
repetições necessárias não é fixo. 
\u25a0 Os comandos são executados pelo menos 
uma vez. Quando a condição é 
encontrada, ela é testada. 
\u25a0 Os comandos são executados até que a 
condição se torne falsa.
19 34
Comandos de Iteração \u2013 
Comando do while
\u25a0 Forma Geral 
 do { 
 comando; 
 } while (condição); 
!
\u25a0 Ao contrário dos laços while e for que testam a 
condição de permanência no começo, o laço do-
while testa a condição de permanência no final. 
\u25a0 O comando dentro das chaves será executado 
enquanto a condição for satisfeita.
Comando do \u2026 while
20 35
Comandos de Iteração \u2013 
Comando do while
/* ProgC056.cpp 
Programa que apresenta a malha de repeticao do-while */ 
#include <iostream> 
#include <cstdlib> 
int main ( ){ 
 int Contador = 1; 
!
 do { 
 std::cout << Contador << &quot;\t&quot;; 
 Contador++; 
 } while (Contador <= 100); 
!
 system(&quot;PAUSE > null&quot;); 
 return 0; 
} 
Comando do \u2026 while
Inicialização
Atualização
Teste
21
Comandos de Iteração \u2013 
Comando do while
//ProgC057.cpp - Teste dos Triângulos 
#include <iostream> 
using namespace std; 
int main(){ 
 float base, altura, area; 
 do { 
 cout << &quot;Digite a medida da base: &quot;; 
 cin >> base; 
 } while (base <= 0); 
 do { 
 cout << &quot;\nDigite a medida da altura &quot;; 
 cin >> altura; 
 } while (altura <= 0); 
 area = base * altura / 2; 
 cout << &quot;Area