Buscar

Aula 06 Linguagem de Programação I

Prévia do material em texto

Aula
06Linguagem de Programação I - UNIGRAN
ESTRUTURAS DE 
REPETIÇÃO
Nesta aula veremos as estruturas de repetição, que são 
mecanismos que possibilitam que determinadas instruções sejam 
executadas várias vezes. 
As estruturas de repetição trabalham em conjunto com as 
estruturas condicionais e as estruturas seqüenciais.
Toda estrutura de repetição precisa ter um ponto de partida 
e um ponto de chegada, ou seja, ela vai executar algumas instruções à 
partir de uma condição inicial até uma condição final.
Nesta aula, veremos as seguintes estruturas de repetição:
• O laço for
• while
• do.. while
Objetivos de aprendizagem
Ao término desta aula, vocês serão capazes de:
• conhecer as estruturas de repetição acima propostas.
• identificar a melhor estrutura para cada situação.
• entender a funcionalidade das estruturas propostas.
117
Linguagem de Programação I - UNIGRAN
Seções de estudo
• Seção 1 – O laço for 
• Seção 2 – Estrutura de repetição while
• Seção 3 – Estrutura de repetição do.. while
Seção 1 – Estrutura de repetição for
A linguagem C possui três estruturas de repetição: for, while e do.. while, 
nesta seção, veremos a estrutura loop (laço) for.
O laço for executa uma ou várias instruções enquando uma condição 
não é alcançada. Esta condição é imposta na sua criação e é ela a responsável por 
fazer com que o laço pare de executar em determinado momento, controlando-se 
desta maneira o número de vezes que o laço será executado.
Sintaxe: 
for (inicialização; condição; incremento)
{
instrução 1;
instrução 2;
}
 
Vamos ver o funcionamento do for, explicando mais detalhadamente:
inicialização;
if (condição)
{
 incremento;
 instrução 1;
 instrução 2;
 execute o if novamente;
}
Entendendo melhor:
→ Podemos perceber que a inicialização sempre é executada. 
→ Depois a condição é verificada através do if, 
 • Se a condição for falsa, não faz nada.
118
Linguagem de Programação I - UNIGRAN
 • Se a condição for verdadeira, o bloco que se encontra dentro de 
{} será executado.
 • O teste do if será realizado novamente.
Podemos dizer que este trecho será executado enquanto a condição for verdadeira.
Geralmente a variável que é inicializada é a mesma que estará presente 
na condição de parada do for e também no incremento.
Regras para for:
1. Por ser uma função, for utiliza-se de parênteses;
2. As instruções que estiverem dentro do for são separadas por ponto-e-vírgula;
3. Depois dos parênteses do for, NÃO existe ponto-e-vírgula (somente 
dentro dos parênteses, e separando as instruções);
4. Se o for possuir somente uma instrução, não é necessário usar { } para 
abrir e fechar. O compilador automaticamente vai considerar somente a próxima 
linha como sendo o bloco do for.
Vamos ver um programa? 
Problema: Mostraremos os 100 primeiros números inteiros positivos.
Inicialização: i =1;
Condição: i <= 100;
Incremento: i++;
Podemos observar que o programa vai executar o conteúdo (bloco) do 
for cem vezes, já que i inicia-se em 1 e enquanto i for menor do que cem o cout 
que está dentro do bloco do for vai exibir o valor de i.
Podemos ver a tela de saída do programa representado pela figura 6.1, 
através da figura 6.2. Note que:
FIGURA 6.1 - Utilização do comando for
Fonte: criação nossa
119
Linguagem de Programação I - UNIGRAN
Podemos usar um for dentro de outro for? 
Sim, podemos. Muitas vezes será necessário criar um for dentro de outro 
para resolver situações mais complexas, Quando isto ocorre, dizemos que o for 
que foi criando dentro do outro for, está aninhado. Vamos ver um exemplo. 
Problema: Calcular e mostrar a tabuada dos números de 1 a 5
Podemos ver a tela de saída do programa descrito na figura anterior, na 
figura 6.4.
FIGURA 6.2 – Tela de saída do programa representado pela fi gura 6.1
Fonte: criação nossa
FIGURA 6.3 - Utilização do comando for aninhado
Fonte: criação nossa
120
Linguagem de Programação I - UNIGRAN
Seção 2 – Estrutura de repetição while
A instrução while é a mesma instrução Enquanto, vista na linguagem 
Portugol. Essa instrução executa as instruções que estão dentro do laço enquanto 
FIGURA 6.4 – Tela de saída do programa representado pela fi gura 6.3
Fonte: criação nossa
Usamos o laço for, quando sabemos de antemão, o número de repeƟ ções que 
devem ocorrer.
121
Linguagem de Programação I - UNIGRAN
uma condição previamente estabelecida for verdadeira. Toda instrução de 
repetição é comumente conhecida como loop, que significa laço, exatamente 
porque fica repetindo o mesmo conteúdo até que a condição (descrita na entrada 
do loop) seja falsa.
Sintaxe:
while (condição)
{
 instrução 1;
 instrução 2;
}
Regras para while:
1. A condição do while sempre deve estar entre parênteses;
2. Depois dos parênteses do while NÃO existe ponto-e-vírgula;
3. Se o while possuir somente uma instrução, não é necessário usar { 
} para abrir e fechar. O compilador automaticamente vai considerar somente a 
próxima linha como sendo o bloco de instruções do while.
122
Linguagem de Programação I - UNIGRAN
Exemplo: Criar um programa para pedir ao usuário que informe vários 
números. Até que o número informado por ele, seja igual a zero.
A saída do programa visto pela figura 6.5, pode ser vista na figura 6.6. 
Note que os valores informados foram: 6,5,3,8,0 – nesta ordem.
Vamos ver mais um exemplo? 
Exemplo: criar um programa que vai ler quantos números o usuário 
desejar, e ao final mostrar a soma destes números.
FIGURA 6.5 - Utilização do while
Fonte: criação nossa
FIGURA 6.6 – Tela de saída do programa representado pela fi gura 6.5
Fonte: criação nossa
123
Linguagem de Programação I - UNIGRAN
Na figura abaixo podemos ver a tela de saída do programa apresentado 
na figura 6.7. Observe que os valores informados foram: 6, 7, 2, 5 (nesta ordem). 
Seção 3 – Estrutura de repetição do.. while
Ao contrário da instrução de repetição while, que testa a condição de 
continuação do loop logo no início, o do while testa essa condição no final. 
Assim sendo, o programa sempre vai executar as instruções contidas no corpo da 
instrução do while pelo menos uma vez, até que a condição seja falsa. Ficou muito 
complicado? A seguir, veremos alguns exemplos.
Sintaxe:
FIGURA 6.7 - Utilização do while – somando todos os números informados pelo usuário
Fonte: criação nossa
FIGURA 6.8 – Tela de saída do programa representado pela fi gura 6.7
Fonte: criação nossa
124
Linguagem de Programação I - UNIGRAN
do
{
 instrução 1;
 instrução 2;
} while (condição);
Explicando melhor: 
Regras para do.. while:
1. A condição sempre deve estar entre parênteses;
2. Depois dos parênteses do NÃO existe ponto-e-vírgula;
3. Se o do.. while possuir somente uma instrução, não é necessário usar 
{ } para abrir e fechar. O compilador automaticamente vai considerar somente a 
próxima linha como sendo o bloco de instruções do do.. while.
Exemplo: Queremos que o usuário informe vários números inteiros 
menores do que 10. Quando ele digitar um número maior do que 10 o programa 
deve parar a execução e mostrar a soma dos números pares que foram informados 
pelo usuário.
125
Linguagem de Programação I - UNIGRAN
Podemos ver a saída do programa apresentado na figura 6.9, através da 
figura abaixo:
Note que os valores pares informados pelo usuário foram: 2, 4, 6, 8, 10, 
e sua soma é igual a 30.
Vamos a mais um exemplo? 
Exemplo: criar um programa que lê vários caracteres, até que o caracter 
digitado seja igual a “.” (ponto final).
FIGURA 6.9 - Utilização do do.. while – somando todos os números pares informados pelo usuário
Fonte: criação nossa
FIGURA 6.10 – Tela de saída do programa representado pela fi gura 6.9
Fonte: criação nossa
126
Linguagemde Programação I - UNIGRAN
O resultado do programa visto na figura 6.11 pode ser visto através da 
figura abaixo, onde os valores informados foram: a,b,c,d,e,.
Retomando a conversa inicial
FIGURA 6.11 - Utilização do do.. while – informando várias letras, até um ponto fi nal ser digitado
Fonte: criação nossa
FIGURA 6.12 – Tela de saída do programa representado pela fi gura 6.11
Fonte: criação nossa
Vamos relembrar um pouco do que vimos na aula 6?
127
Linguagem de Programação I - UNIGRAN
• Seção 1 – O laço for 
Vimos que o laço for repete uma ou mais instruções por um determinado 
número de vezes que é conhecido desde o início. Esta estrutura é muito utilizada 
nestes casos em que sabemos o número de vezes que o laço deve ser executado. 
• Seção 2 – Estrutura de repetição while
A estrutura while, assim como for, executa uma ou mais instruções várias 
vezes. A diferença é que no caso de while não é necessário conhecer, de antemão, 
o número de vezes que o laço vai se repetir. 
Sendo mais flexível do que o for, pode ser usada substutindo-o ou em 
casos em que o for não se encaixa (quando temos uma condição de parada que não 
seja um número que cresce ou decresce).
• Seção 3 – Estrutura de repetição do.. while
Muito parecida com a estrutura while (e muitas vezes elas são 
confundidas). A diferença entre as duas está no simples fato de que do.. while 
executa todas as instruções contidas dentro do seu laço, antes que a condição 
de parada seja testada. Este, pode ser um facilitador, caso a condição de parada 
dependa de algum valor que deve ser lido/atualizado dentro do laço.
Sugestões de leituras e sites
Leituras
Leia os itens 3.5 e 3.6 do livro: C, A Linguagem de Programação Padrão ANSI.
Sites
• http://www.ic.unicamp.br/~wainer/cursos/2s2011/Cap06-RepeticaoControle-texto.pdf
Autoavaliação
Veja se aprendeu a Aula 05 respondendo ao questionário auto-avaliativo. Depois confi ra 
o resultado das respostas, que está disponível na ferramenta Arquivos da plataforma.
1. No laço for, se a condição de parada for falsa, as instruções contidas dentro do 
laço será executadas uma última vez.
128
Linguagem de Programação I - UNIGRAN
( ) Verdadeiro ( ) Falso
2. Se o bloco do for contiver apenas uma instrução, ela obrigatoriamente deve 
estar entre chaves {}.
( ) Verdadeiro ( ) Falso
3. Podemos ter um for dentro de outro for.
( ) Verdadeiro ( ) Falso
4. while testa a condição antes de executar as instruções contidas dentro dele.
( ) Verdadeiro ( ) Falso
5. Podemos ter apenas uma condição no while.
( ) Verdadeiro ( ) Falso
6. A diferença entre while e do.. while é que o primeiro testa a condição no início, 
e o segundo no fi m
( ) Verdadeiro ( ) Falso
7. Tanto while, como do.. while não tem ponto-e-vírgula depois dos parênteses 
que contém a condição.
( ) Verdadeiro ( ) Falso
129
Linguagem de Programação I - UNIGRAN
130

Continue navegando