Buscar

Aula 06 - Comandos de repetição

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Comandos de Repetição
Professor Daniel Aguiar
daniel.aguiar@ifrn.edu.br
1
Roteiro
Introdução
Comandos de Repetição
Comandos com teste no início;
Comandos com teste no fim;
Comparação entre os comandos
Informática Aplicada
2
Introdução
Aula passada estudamos comandos de desvio...
Expressões lógicas...
Vamos continuar com uma outra técnica em linguagens de programação: comandos de repetição;
Informática Aplicada
3
Comandos de Repetição
Usamos quando necessitamos que um determinado trecho de código se repita várias vezes;
A quantidade de repetições pode ser fixa ou pode depender de alguma condição;
Informática Aplicada
4
Comandos de Repetição
As estruturas de repetição (também chamadas de laços de repetição) são classificadas em 3 tipos:
Repetição com teste no início do laço;
Repetição com teste no final do laço;
Repetição com variável de controle;
Informática Aplicada
5
Repetição com Teste no Início
Utilizamos a estrutura “enquanto ... faça”;
Esta estrutura repete uma sequencia de comandos enquanto uma determinada condição for verdadeira;
Esta condição é determinada por um expressão lógica;
Informática Aplicada
6
Repetição com Teste no Início
Sintaxe:
 A expressão lógica é avaliada antes de cada repetição do laço;
O fimenquanto representa o fim da sequencia de comandos.
Informática Aplicada
7
enquanto <expressão lógica> faca
	<sequencia de comandos>
fimenquanto
Repetição com Teste no Início
Sintaxe:
Sempre que a execução atinge o fimenquanto retorna-se ao início do laço para que a expressão lógica seja avaliada novamente. Se o resultado dessa avaliação for VERDADEIRO, a sequencia de comandos será executada mais uma vez. Caso contrário, a execução prosseguirá a partir do primeiro comando após o fimenquanto;
Informática Aplicada
8
enquanto <expressão lógica> faca
	<sequencia de comandos>
fimenquanto
Exemplo
Crie um algoritmo para escrever 5 vezes a frase “Informática Aplicada!”.
algoritmo “repeticao”
var
inicio
	escreval(“Informática Aplicada”)
	escreval(“Informática Aplicada”)
	escreval(“Informática Aplicada”)
	escreval(“Informática Aplicada”)
	escreval(“Informática Aplicada”)
fimalgoritmo
Informática Aplicada
9
Exemplo
Se tivéssemos que escrever esta mensagem 1000 vezes?
Neste caso, é mais apropriado usarmos um comando de repetição!
Informática Aplicada
10
Exemplo
algoritmo “repeticao”
var
	contador: inteiro
inicio
	contador := 1
	enquanto (contador <= 1000) faca
		escreval (“Informática Aplicada”)
		contador := contador + 1
	fimenquanto
fimalgoritmo
Informática Aplicada
11
Exemplo
algoritmo “repeticao”
var
	contador: inteiro
inicio
	contador := 1
	enquanto (contador <= 1000) faca
		escreval (“Informática Aplicada”)
		contador := contador + 1
	fimenquanto
fimalgoritmo
Informática Aplicada
12
Primeiro, é preciso declarar uma variável para ser utilizada no teste da condição da repetição (variável de controle).
Exemplo
algoritmo “repeticao”
var
	contador: inteiro
inicio
	contador := 1
	enquanto (contador <= 1000) faca
		escreval (“Informática Aplicada”)
		contador := contador + 1
	fimenquanto
fimalgoritmo
Informática Aplicada
13
Em seguida, devemos inicializá-la.
Exemplo
algoritmo “repeticao”
var
	contador: inteiro
inicio
	contador := 1
	enquanto (contador <= 1000) faca
		escreval (“Informática Aplicada”)
		contador := contador + 1
	fimenquanto
fimalgoritmo
Informática Aplicada
14
Passo seguinte, identificar a condição de parada do laço.
Exemplo
algoritmo “repeticao”
var
	contador: inteiro
inicio
	contador := 1
	enquanto (contador <= 1000) faca
		escreval (“Informática Aplicada”)
		contador := contador + 1
	fimenquanto
fimalgoritmo
Informática Aplicada
15
Por fim, devemos atualizar o valor da variável de controle.
Exemplo
O que aconteceria se não atualizássemos a nossa variável de controle?
Nosso laço seria infinito!
O exemplo anterior possui um número fixo de repetições. E quando temos um número indeterminado de repetições?
Por exemplo, um algoritmo para comer um cacho de uva.
Informática Aplicada
16
Exemplo
Algoritmo para comer um cacho de uva:
Não se sabe ao certo quantas uvas tem no cacho;
Sempre é preciso identificar se há ou não uvas no cacho para continuar comendo...
Informática Aplicada
17
Exemplo
algoritmo “cacho_de_uva”
var
	ha_uvas_no_cacho: logico
inicio
	escreval (“Há uvas no cacho? Digite verdadeiro ou falso: ”)
	leia (ha_uvas_no_cacho)
	enquanto (ha_uvas_no_cacho) faca
		escreval (“Retire uma uva.”)
		escreval (“Ainda há uvas no cacho? Digite verdadeiro ou falso: ”)
		leia (ha_uvas_no_cacho)
	fimenquanto
	escreval (“Não há mais uvas...”)
fimalgoritmo
Informática Aplicada
18
Repetição com Teste no Fim
Estrutura “Repita ... até”;
Sintaxe:
Repita indica o início do laço;
Ate <expressão lógica> indica o fim da sequencia de comandos a serem repetidos; 
Informática Aplicada
19
repita
	<sequencia de comandos>
ate <expressão lógica>
Repetição com Teste no Fim
Estrutura “Repita ... até”;
Sintaxe:
A cada momento que a execução do programa chega no comando Ate <expressão lógica>, a expressão lógica é avaliada. Se ela for FALSO, a execução retorna para o início do repita; Caso contrário, a execução continua com o primeiro comando após esta linha;
Informática Aplicada
20
repita
	<sequencia de comandos>
ate <expressão lógica>
Exemplo
Crie um algoritmo que escreva os números de 1 a 5.
	algoritmo “numeros_de_1_a_5”
	var
		num : inteiro
	inicio
		num := 1
		repita
			escreval (num)
			num := num +1
		ate num > 5
	fimalgoritmo
Informática Aplicada
21
Exemplo
Crie um algoritmo que escreva os números de 1 a 5.
	algoritmo “numeros_de_1_a_5”
	var
		num : inteiro
	inicio
		num := 1
		repita
			escreval (num)
			num := num +1
		ate num > 5
	fimalgoritmo
Informática Aplicada
22
Declarar uma variável de controle.
Exemplo
Crie um algoritmo que escreva os números de 1 a 5.
	algoritmo “numeros_de_1_a_5”
	var
		num : inteiro
	inicio
		num := 1
		repita
			escreval (num)
			num := num +1
		ate num > 5
	fimalgoritmo
Informática Aplicada
23
Devemos inicializá-la.
Exemplo
Crie um algoritmo que escreva os números de 1 a 5.
	algoritmo “numeros_de_1_a_5”
	var
		num : inteiro
	inicio
		num := 1
		repita
			escreval (num)
			num := num +1
		ate num > 5
	fimalgoritmo
Informática Aplicada
24
Devemos atualizá-la dentro dos comandos do repita.
Exemplo
Crie um algoritmo que escreva os números de 1 a 5.
	algoritmo “numeros_de_1_a_5”
	var
		num : inteiro
	inicio
		num := 1
		repita
			escreval (num)
			num := num +1
		ate num > 5
	fimalgoritmo
Informática Aplicada
25
Por fim, verificamos a condição.
Comparação...
Enquanto ... faça;
Teste no Início;
A sequencia de comandos é repetida zero ou mais vezes;
Repita ... até;
Teste no Fim;
A sequencia de comandos é repetida 1 ou mais vezes;
Informática Aplicada
26
Repetição com variável de controle
Sabe-se o número de vezes que o trecho de código será repetido;
Utilizamos uma variável de controle e fixamos os valores iniciais e finais para ela;
Estrutura “para ... faça”;
Informática Aplicada
27
Repetição com variável de controle
Sintaxe:
Informática Aplicada
28
para <variável> de <início> ate <limite> [passo <incremento >] faca
	<sequencia de comandos>
fimpara
<variável>
É um contador (do tipo inteiro)que controla o número de repetições do laço.
<início>
Expressão que determina o valor inicial da variável antes da primeira repetição.
Repetição com variável de controle
Sintaxe:
Informática Aplicada
29
para <variável> de <início> ate <limite> [passo <incremento >] faca
	<sequencia de comandos>
fimpara
<limite>
Expressão que determina o valor máximoda variável.
passo<incremento>
É opcional.É uma expressão que determina o incremento que será acrescentado à variável de controle. Quando omitida, o valor é 1.
Repetição com variável de controle
Sintaxe:
Informática Aplicada
30
para <variável> de <início> ate <limite> [passo <incremento >] faca
	<sequencia de comandos>
fimpara
fimpara
É o fim da sequencia de comandos. Quando o programa alcança este ponto, é acrescentado a variável o valor<incremento>e comparado a<limite>. Se a variável for menor ou igual, a sequencia de comandos será executada mais uma vez. Caso contrário, prossegue-se para o primeiro comando após ofimpara.
Exemplo
Crie um algoritmo para escrever os número de 1 a 5.
Informática Aplicada
31
algoritmo “De_um_a_Cinco”
var 
	numero : inteiro
inicio
	para numero de 1 ate 5 faca
		escrava (numero)
	fimpara
fimalgoritmo
Exemplo
Crie um algoritmo para escrever os números pares entre 0 e 20.
Informática Aplicada
32
algoritmo “numeros_pares”
var 
	numero : inteiro
inicio
	para numero de 0 ate 20 passo 2 faca
		escrava (numero)
	fimpara
fimalgoritmo
Dúvidas?
Exercícios!
Aviso: 
Aula dia 09/12/2013: tira-dúvidas.
1ª Prova 16/12/2013 (Última aula antes do recesso).
Informática Aplicada
33

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando