Buscar

Slide Estruturas Repetição - Prof Marcela UIT

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

*
*
Repetição
Aula 10
Prof: Marcela Ramirez Arenas - marcelaramirez@uit.br
*
*
Toda vez que precisamos repetir determinado número de vezes uma determinada seqüência de comandos, usamos um laço de repetição, que corresponderia repetir o mesmo trecho um número X de vezes sem ter de escrever o mesmo trecho X vezes.
*
*
Imagine fazer um fluxograma para calcular a média das notas de 50 alunos sem repetiçao!
Inicio
Escrever (‘Entre com as três notas do primeiro aluno’)
Ler (A1N1,A1N2,A1N3)
A1M1 = (A1N1+A1N2 + A1N3)/3
Escrever (‘ A média do primeiro aluno é’, A1M1)
1
1
Escrever (‘Entre com as três notas do segundo aluno’)
Ler (A2N1,A2N2,A2N3)
A2M2 = (A2N1+A2N2 + A2N3)/3
Escrever (‘ A média do segundo aluno é’, A2M2)
2
O Trecho do programa teria que ser repetido 50 vezes!!
*
*
Agora o mesmo fluxo utilizando repetição
*
*
Veja que essa estrutura trabalha com a repetição de comandos até que condições se satisfaçam
No Exemplo anterior a condição é ter atingido os 50 alunos e o teste está no final do programa, após a execução do trecho de programa.
Ou seja os comandos serão executados até que a condição seja verdadeira.
*
*
Porém podemos colocar o teste no início do fluxograma e fazer com que os comandos sejam executados enquanto a condição for verdadeira. Utilizando-se assim a lógica inversa a primeira.
*
*
Agora o mesmo fluxo com o teste no início
Inicio
Escrever (‘Entre com as três notas do aluno’)
Ler (N1,N2,N3)
M = (N1+N2 + N3)/3
Escrever ( ‘Aluno’, C, ‘ A média é’, M)
C = 0
C ~= 50?
C = C + 1
FIM
sim
não
Veja que agora o teste é realizado no inicio, os comandos são executados enquanto a condição é verdadeira.
*
*
TESTE NO FIM
TESTE NO INICIO
*
*
Estrutura de repetição com teste no inicio (enquanto...faz) 
Estrutura de repetição com teste no final 
 ( repete...até) 
*
*
Esta estrutura de repetição executa um comando, ou bloco de comandos, enquanto uma determinada condição for verdadeira.
Sintaxe:
	enquanto [condição] faz    		 [comandos] fimenquanto 
O funcionamento é o seguinte:
 A condição é avaliada.
 Se o resultado da condição for falso, a repetição termina e o programa continua no comando imediatamente a seguir ao enquanto.
 Se o resultado da condição for verdadeiro, são executados os comandos associadas ao enquanto.
 Volta-se ao ponto inicial.
*
*
TESTE NO INICIO
Inicio
 variavel inteiro c, n1,n2,n3
 variavel real m
 enquanto c =/= 50 faz
 Escrever "Entre com as tres notas do aluno "
 Ler n1,n2,n3
 c <- c + 1
 m <- (n1+n2+n3)/3
 Escrever "Aluno \t", c , " a média é \t ", m 
 Fimenquanto
fim 
*
*
Repete os comandos até que a condição seja verdadeira. 
Sintaxe:			
	repete     		[comandos] 	ate [condição] 
O funcionamento desta instrução é o seguinte:
Na instrução Repete, os [comandos] são sempre executadas pelo menos uma vez. Só depois destes serem executados é que é validada a [condição].
*
*
TESTE NO FIM
Inicio
 variavel inteiro c, n1,n2,n3
 variavel real m
 repete
 Escrever "Entre com as tres notas do aluno "
 Ler n1,n2,n3
 c <- c + 1
 m <- (n1+n2+n3)/3
 Escrever "Aluno \t", c , " a média é \t ", m 
 ate c = 50
fim 
*
*
Permite a repetição dos comandos contidos nesta estrutura seja repetida um número específico de vezes.
Os Exemplos que vimos até agora são de repetições automáticas. Pode ser feita com teste no início ou no fim.
*
*
Exemplo: Imprima na tela os números de 1 a 100.
Inicializar - valor inicial
Incremento
Testo - valor final
INICIO
VARIAVEL INTEIRO X <- 1
REPETE
 ESCREVER X
 X <- X + 1
ATE X = 100
FIM
*
*
Um acumulador é uma variável que ocorre em ambos os lados de uma atribuição. 
Ex: X = X + 1 a variável X é um acumulador.
Todo acumulador deve ser iniciado com um valor específico, antes de ser usado pela primeira. Como ocorreu no exemplo anterior.
*
*
A estrutura de repetição contada, serve para executar um comando um determinado número de vezes. Para saber quando o total de repetições desejadas já foi atingido, a estrutura de repetição contada usa um contador:
primeiramente, o contador é iniciado com um valor específico;
depois, o contador é testado para ver se o total de repetições não foi atingido;
se o total de repetições não foi atingido, a repetição continua; senão, pára;
a cada nova repetição, o contador é alterado.
*
*
Progressiva
 Elabore um algoritmo que dado
 um número inteiro exiba sua
 tabuada.
Regressiva
 Elabore um algoritmo que dado
 um número n exiba a 
 contagem regressiva de 
 n até 0
*
*
inicio
 inteiro x <- 1, n, R
 escrever "Digite um 
 número para calcular a
 tabuada \n"
 ler n
 Enquanto x <=10 faz
 R <- n * x
 escrever R
 x <- x + 1
 Fimenquanto
fim 
LER (N)
X <=10 ?
ESCREVER (R)
X = X +1
sim
não
X = 1
INICIO
ESCREVER (‘Entre com o número que deseja imprimir a tabuada’)
FIM
*
*
Inicio
Varivel inteiro n
Escrever “Entre com um numero”
Ler n
Enquanto n >= 0 faz
 escrever n
 n <- n – 1
Fimenquanto
fim
LER (N)
N > =0 ?
ESCREVER (N)
N = N - 1
sim
não
INICIO
ESCREVER(‘Entre com um número’)
FIM
*
*
Faça um algoritmo em fluxograma e Portugol que mostre todos os números pares até 500 (inclusive o 500). Utilizando teste no início e teste no fim.
*
*
Existem quatro tipos básicos de estruturas de repetição:
 A estrutura Enquanto possibilita repetir a execução de uma ou vários comandos, enquanto uma determinada condição/expressão, do tipo lógico, tiver valor verdadeiro.
 A estrutura Repete permite repetir uma ou mais instruções, até que uma determinada condição/expressão, do tipo lógico, tenha um valor verdadeiro.
 A estrutura Para é utilizada para efectuar ciclos incondicionais.
 A estrutura Faz repete as instruções até que a condição seja falsa.
Estruturas de Repetição
Enquanto
Repete
Para
Faz
*
*
Esta instrução é utilizada em situações na qual o número de repetições é conhecido desde o início.
Esta instrução percorre os valores desde o valor inicial até ao valor final com passo no valor de separação.
Sintaxe: 
para [variável] de [valor inicial] ate [valor final] passo [valor de separação]     [instruções] proximo 
Ou :
para [variável] de [valor inicial] ate [valor final]     [instruções] proximo 
*
*
O funcionamento desta instrução é o seguinte:
 
 Quando é encontrada uma estrutura para a variável utilizada como contador é inicializada com o primeiro valor da sequência (valor inicial). 
 Em seguida, são executados os comandos dentro da estrutura de repetição e o contador é incrementado/decrementado com o próximo valor da sequência (passo). 
 A execução da repetição pára com o último valor da sequência (ate). 
 Caso o passo não seja definido, o passo é de mais ou menos uma unidade de forma a poder percorrer o intervalo entre o valor inicial e o final de forma crescente ou decrescente.
*
*
Exemplo 1: Todos os números pares ate 500
inicio     inteiro i
    para i de 0 ate 500 passo 2         escrever i , "\t"     proximo fim 
*
*
Exemplo 2: Escrever o algoritmo que escreve no monitor os múltiplos de 4 até 100.
inicio     inteiro i
    para i de 4 ate 100 passo 4         escrever i , "\t"     proximo fim 
*
*
Exemplo 3: Escrever os números entre 10 e 30.
inicio     inteiro i <-0
    para i de 10 ate 30         escrever "\t" ,i     proximo fim 
*
*
Exemplo 4: Tabuada
inicio
 inteiro i
 inteiro num
 escrever "Digite um número para calcular a tabuada \n"
 ler num
 escrever "\n Tabuada do ", num, "\n"
 para i de 1 até 10 
 escrever i, "*", num, " = ", i*num, "\n"
 proximo
fim 
*
*
Repete as instruções até que a condição seja falsa. 
Nesta repetição, a instrução é executada pelo menos uma vez.
Esta instrução é muito semelhante à instrução Repete.
Sintaxe:
	faz     		[instruções] 	enquanto [condição]
O seu funcionamento pode ser descrito da seguinte forma:
 A instrução ou bloco de comandos é executaoa.
 A condição é avaliada;
 Se o resultado da condição for verdade, volta-se ao ponto 1.
 Se o resultado da condição for falso, termina a repetiçãoe o programa continua na instrução seguinte a estrutura de repetição.
*
*
Exemplo 1:
Inicio
 variavel inteiro c, n1,n2,n3
 variavel real m
 faz 
 Escrever "Entre com as tres
 notas do aluno "
 Ler n1,n2,n3
 c <- c + 1
 m <- (n1+n2+n3)/3
 Escrever "Aluno \t", c , " a 
 média é \t ", m 
 Enquanto c =/= 50
fim 
Com Enquanto
Inicio
 variavel inteiro c, n1,n2,n3
 variavel real m
 enquanto c =/= 50 faz
 Escrever "Entre com as tres 
 notas do aluno "
 Ler n1,n2,n3
 c <- c + 1
 m <- (n1+n2+n3)/3
 Escrever "Aluno \t", c , 
 " a média é \t ", m 
Fimenquanto
fim 
*
*
Exemplo 2: Pedir um número ao usuário até que o número introduzido pertença ao intervalo entre 10 e 20. 
inicio     inteiro num     faz         	escrever "introduza um numero:"         	ler num     enquanto num < 10 ou num > 20
    escrever "\n O numero introduzido foi :" , num fim 
*
*
Posso elaborar repetições que eu não saiba antecipadamente o número de vezes, elas repetem de acordo com uma determinada condição. 
Neste tipo de repetição o teste no início é mais indicado.
*
*
Enquanto (condição verdadeira) a estrutura ira executar os comandos contidos nela, e este se repetirá até que a condição for falsa, somente assim poderemos sair da estrutura de repetição. 
Os comandos contidos neste tipo de estrutura podem não ser executados nenhuma vez, já que o mesmo testa a condição no início da estrutura.
*
*
Faça um algoritmo que leia varios numeros inteiros e calcule o somatorio dos numeros negativos. O fim da leitura sera indicado pelo numero 0.
inicio
 variavel inteiro num <- 1, soma
 enquanto num =/= 0 faz
 Escrever "Digite um numero e digite 0 para finalizar \n"
 ler num
 se num < 0 entao
 soma <- soma + num
 fimse
 fimenquanto 
 Escrever "A Soma dos números negativos digitados é ", soma 
fim
*
*
Elaborar um algoritmo em Portugol que fique sorteando números para um bingo (números de 0 a 100), ao apertar qualquer tecla ele sorteia outro número quanto digitado bingo, para o sorteio (Informe isso ao usuário).
inicio
 real num1
 texto palavra 
 Escrever "Digite qualquer tecla para sortear um número ou a palavra bingo para parar \n"
 ler palavra
 enquanto palavra =/= "bingo" faz
 escrever "Numero Sorteado : \t"
 num1 <- aleatorio ( ) * 100
 escrever arred ( num1 ) , "\n"
 Escrever "Digite qualquer tecla para sortear um número ou a palavra bingo para parar"
 ler palavra
 fimenquanto
fim
*
*
Operadores lógicos diferentes.
Teste no início enquanto a condição for verdadeira repete, quando falsa fim.
Teste no fim enquanto a condição for falsa repete, quando verdadeira fim.
*
*
Operadores lógicos diferentes.
Teste no início enquanto a condição for verdadeira repete, quando falsa fim.
Teste no fim enquanto a condição for falsa repete, quando verdadeira fim.
*
*
*
*

Teste o Premium para desbloquear

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

Continue navegando