Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
1
ALGOP – Algoritmos e Programação
Aula 4 – Estruturas de Controle (Laços de Repetição - Loops)
+ Estruturas de controle (estruturas de repetição)
+ Estrutura de repetição while () {}
+ Estruturas de repetição do {} while ();
+ Estrutura de repetição for (;;) {}
+ Instruções break e continue
2
ALGOP – Algoritmos e Programação
Estruturas de Controle (relembrando...)
Recordando, grande parte das linguagens de programação contam com
três tipos de estruturas de controle:
Estruturas de Sequência: tipos de estrutura em que as instruções são
executadas sequencialmente (linearmente), ou seja, uma instrução após a
outra, sem nenhuma avaliação condicional.
Estruturas Condicionais: tipos de estrutura que avaliam uma condição
para determinar se um ou mais instruções serão executadas ou não. Tais
estruturas desviam o fluxo do programa para partes diferentes,
dependendo se a condição resultar em verdadeira ou falsa.
Estruturas de Repetição: tipos de estrutura que repetem um bloco de
instruções enquanto uma condição estiver resultando em verdadeira.
3
ALGOP – Algoritmos e Programação
Estruturas de Controle (Estruturas de Repetição - Laços)
As Estruturas de Repetição, ou laços de repetição, são utilizadas
quando precisamos executar um grupo de instruções repetidas vezes,
enquanto uma condição estiver sendo satisfeita. Frequentemente nos
deparamos com esse tipo de estrutura, em nossas ações... por exemplo:
enquanto existirem pratos sujos enquanto existirem clientes
lavamos os pratos atualizamos saldo da poupança
No primeiro exemplo, lavamos os pratos enquanto existirem pratos sujos
na pilha de pratos. Já no segundo exemplo, atualizamos o saldo de cada
cliente, enquanto existirem clientes numa lista determinada para
atualização de saldos.
4
ALGOP – Algoritmos e Programação
Estrutura de Repetição while () {}
Permite que o programa repita uma ou mais instruções a partir da análise
de uma condição. Enquanto a condição resultar em verdadeira, as
instruções contidas entre os delimitadores de bloco serão executadas.
enquanto (expressão lógica) faça while (expressão lógica)
instrução 1 instrução 1;
fim enquanto
ou ou
enquanto (expressão lógica) faça while (expressão lógica)
instrução 1 {
instrução 2 instrução 1;
fim enquanto instrução 2;
}
Observe que a condição é testada no inicio da estrutura… :-)
5
ALGOP – Algoritmos e Programação
Estrutura de Repetição while () {} (exemplo)
#include <stdio.h>
#include <conio.h>
int main()
{
int soma = 0; // declarando e já inicializando as variáveis
int cont = 1;
printf ("Soma dos numeros de 1 ate 20\n");
while (cont <= 20)
{
soma = soma + cont;
cont = cont + 1;
}
printf ("Soma = %d", soma);
getch(); return 0;
}
6
ALGOP – Algoritmos e Programação
Estrutura de Repetição do {} while ();
Permite que o programa execute um bloco de instruções e, em seguida,
analise uma condição para decidir se repete ou não a execução do mesmo
bloco de instruções.
faça do
instrução 1 instrução 1;
enquanto (expressão lógica) while (expressão lógica);
ou ou
faça do
instrução 1 {
instrução 2 instrução 1;
enquanto (expressão lógica) instrução 2;
}
Observe que a condição é testada while (expressão lógica);
no final da estrutura… :-)
7
ALGOP – Algoritmos e Programação
Estrutura de Repetição do {} while (); (exemplo)
#include <stdio.h>
#include <conio.h>
int main()
{
int soma = 0, cont = 1;
printf ("Soma dos numeros de 1 ate 20\n");
do
{
soma = soma + cont;
cont = cont + 1;
}
while (cont <= 20);
printf ("Soma = %d", soma);
getch(); return 0;
}
8
ALGOP – Algoritmos e Programação
Estrutura de Repetição for (;;) {}
Permite que o programa repita uma ou mais instruções a partir da análise
de uma condição. A estrutura for conta com 3 regiões:
for (inicialização ; condição ; incremento) {}
inicialização: informa com a variável de controle é iniciada...
condição: expressão lógica que indica quando o laço deve terminar...
incremento: informa como a variável de controle é alterada a cada
iteração do laço (executado após as instruções do bloco do laço).
para n de 1 ate 10 faça passo 1 for (n = 1; n <= 10 ; n = n + 1)
instrução 1 {
instrução 2 instrução 1;
fim para instrução 2;
}
A condição é testada no início e após cada incremento ... :-)
9
ALGOP – Algoritmos e Programação
Estrutura de Repetição for (;;) {} (exemplo)
#include <stdio.h>
#include <conio.h>
int main()
{
int soma = 0, cont;
printf ("Soma dos numeros de 1 ate 20\n");
for (cont = 1; cont <= 20; cont = cont + 1)
{
soma = soma + cont;
}
printf ("Soma = %d", soma);
getch();
return 0;
}
10
ALGOP – Algoritmos e Programação
Estruturas de Repetição (instruções break e continue)
Eventualmente precisamos abortar (encerrar) a execução do laço ou, em
outros casos, simplesmente abortar algumas instruções do bloco do laço
para aquela iteração. Para esses casos, fazemos uso das instruções break
e/ou continue … :-)
break: encerra o laço de repetição, ou seja, vai para a próxima linha de
instruções após o laço de repetição.
continue: encerra apenas a iteração atual do laço de repetição, ou seja,
não executa as outras instruções após a instrução continue (para aquela
iteração), mas continua o laço de repetição.
Normalmente, o uso dessas instruções está associado a análise de uma
condição pouco comum, ou que ocorre com pouca frequencia... :-)
11
ALGOP – Algoritmos e Programação
Estruturas de Repetição (continue - exemplo de uso)
#include <stdio.h>
#include <conio.h>
int main()
{
int cont;
for (cont = 1; cont <= 10; cont = cont + 1)
{
if (cont == 5)
{
// aborta apenas a iteração, indo para a próxima...
continue;
}
printf ("%d ", cont);
}
getch(); return 0;
}
12
ALGOP – Algoritmos e Programação
Estruturas de Repetição (break - exemplo de uso)
#include <stdio.h>
#include <conio.h>
int main()
{
int cont;
for (cont = 1; cont <= 10; cont = cont + 1)
{
if (cont == 5)
{
// aborta o laço... (sai da instrução for (;;) {})
break;
}
printf ("%d ", cont);
}
getch(); return 0;
}
13
ALGOP – Algoritmos e Programação
Estruturas de Controle (sugestões de leitura)
+ ARAÚJO, Everton C. Algoritmos:
fundamento e prática.
Capítulo: 11 – Estruturas de Repetição.
+ MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo.
Algoritmos: lógica para desenvolvimento de programação de computadores.
Capítulo: 5 - Estruturas de Controle – Laços ou Malhas de Repetição.
Para Saber Mais
+ SALIBA, Walter Luís Caram. Técnicas de programação: uma
abordagem estruturada.
Capítulo: 7 - Controle do Fluxo de Execução.
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12
Slide 13