universidade federal de uberlândia engenharia civil
DESCRIPTION
Universidade Federal de Uberlândia Engenharia Civil. Introdução à Algoritmos. Professora: Fabíola Gonçalves. Agenda. Estruturas de repetição: Introdução; Comando enquanto ... faça ; Comando faça ... enquanto ; Comando repita ; Comando para. Estruturas de Repetição. - PowerPoint PPT PresentationTRANSCRIPT
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
ENGENHARIA CIVIL
Introdução à Algoritmos
Professora: Fabíola Gonçalves.
AGENDA
Estruturas de repetição: Introdução; Comando enquanto ... faça; Comando faça ... enquanto; Comando repita; Comando para.
2
ESTRUTURAS DE REPETIÇÃO
Permite que uma sequência de comandos seja executada repetidamente, enquanto uma determinada condição seja satisfeita.
Existem 2 tipos:
Condicional – repetição ocorre enquanto a condição for verdadeira; Ex.: ENQUANTO e REPITA.
Incondicional – tem um número pré-determinado de repetições. Ex.: PARA.
ESTRUTURAS DE REPETIÇÃO - COMANDO ENQUANTO
Comando enquanto. Linguagem Algorítmica:
enquanto condição faça
comando-A1;comando-A2;......comando-An;
fim-enquanto
A condição é testada no início da repetição; Enquanto a condição for Verdadeira, o bloco de
comandos é executado; O bloco de comandos pode ser executado 0 ou +
vezes; Para a execução quando a condição se tornar Falsa.
5ESTRUTURAS DE REPETIÇÃO - COMANDO ENQUANTO
ESTRUTURAS DE REPETIÇÃO - COMANDO ENQUANTO
Exemplo 1:...leia (SENHA);enquanto (SENHA # “XYZ”) faça escreva (“Senha inválida”); escreva (“Digite a senha novamente”); leia (SENHA);fim-enquanto...
Como o teste da condição é realizado no início do laço, a sequência de comandos será executada zero ou mais vezes, dependendo da avaliação da condição.
ESTRUTURAS DE REPETIÇÃO - COMANDO ENQUANTO
Exemplo 2:Algoritmo EXEMPLO_DE_ENQUANTO {escrever os números inteiros de 1 a 100}
N : inteiroinício N <-1; enquanto N ≤ 100 faça escreva (N); N <-(N + 1); fim-enquantofim
O comando escreva será executado repetidas vezes enquanto a variável N possuir um valor igual ou inferior a 100.
O algoritmo terá como saída a sequência dos números inteiros de 1 a 100.
ESTRUTURAS DE REPETIÇÃO COMANDO ENQUANTO
Exemplo 3:Algoritmo EXEMPLO_ENQUANTO {calculo do quadrado de um número}numero : inteiro
inicio numero ← 1; enquanto numero # 0 faça
escreva(“o quadrado de”, numero, “ é: “ );escreva(numero^2);leia(numero);
fim-enquanto escreva(“FIM DO PROGRAMA”);fim
8
ESTRUTURAS DE REPETIÇÃO COMANDO ENQUANTO
Exemplo 4:Algoritmo EXEMPLO_ENQUANTO {soma valores}
valor, soma: inteiro;
iniciosoma <- 0; leia (valor);enquanto valor # -1 faça
soma <- (soma + valor);leia(valor);
fim-enquanto escreva(“O valor da soma é: ”, soma );
fim
9
ESTRUTURAS DE REPETIÇÃOCOMANDO ENQUANTO
Exercício:
1.Elabore um algoritmo para determinar o menor número inteiro fornecido pelo usuário. Considere que o número zero indica o fim da entrada de dados.
2.Achar o maior e o menor número de uma série de números positivos fornecidos pelo usuário.
10
ESTRUTURAS DE REPETIÇÃOCOMANDO FAÇA ... ENQUANTO
Sintaxe: faça
comando-A1;comando-A2;......comando-An;
enquanto <condição>;
Exemplo:numero ← 1;faça
escreva(“o quadrado de “, numero, “ é: “);escreva(numero^2);leia(numero);
enquanto numero ≠ 0;escreva(“FIM DO PROGRAMA”);
11
ESTRUTURAS DE REPETIÇÃOCOMANDO REPITA
A condição é testada no final da repetição; Enquanto a condição for Falsa, o bloco de
comandos é executado;
Lembrando que condição é uma expressão lógica sempre testada ao final de cada interação!
O bloco de comandos é executado pelo menos 1 vez.
Para a execução quando a condição se tornar Verdadeira.
12
ESTRUTURAS DE REPETIÇÃOCOMANDO REPITA-ATE Sintaxe:
repitacomando-A1;comando-A2;......comando-An;
ate <condição>
A1, A2, A3, ... , A4 serão executados pelo menos uma vez. Até que a condição seja testada e se torne ??
13
ESTRUTURAS DE REPETIÇÃOCOMANDO REPITA-ATE
Exemplo:numero ← 1;repita
escreva(“o quadrado de “, numero, “ é: “);
escreva(numero^2);leia(numero);
ate numero = 0escreva(“FIM DO PROGRAMA”);
Neste caso calcularemos o quadrado do número enquanto o usuário não entrar com um valor 0. Mas se ele entrar com 0 o que a algoritmo
imprimirá?
14
ESTRUTURAS DE REPETIÇÃOCOMANDO REPITA-ATE
O comando repita-até é equivalente ao comando enquanto-faça, vejam: 15
REPETIÇÃO POR VARIÁVEL DE CONTROLE
Número de repetições for previamente conhecido. Uso de contador para controlar o número de repetições.
Contador: uma variável do tipo inteiro.
Sintaxe do Comando:
para i de valor até l passo p façacomando-C1;comando-C2;......comando-An;
fim-para
OBS: Quando o passo p for =1 não é necessário colocar essa esta especificação
REPETIÇÃO POR VARIÁVEL DE CONTROLE
Exemplo:
Algoritmo LAÇO_CONTADORNUM,SOMA,CONT : inteiro;
início SOMA <-0; para CONT de 1 até 100 faça leia (NUM); SOMA <- (SOMA + NUM); fim-para escreva (SOMA);
fim
Fim_Algoritmo
REPETIÇÃO POR VARIÁVEL DE CONTROLE
Também conhecido como Controle por Contador o comando para é, na verdade, o comando enquanto utilizando uma variável de controle em uma notação compacta.
Neste caso sempre existirá uma inicialização de variável de controle
Um teste para verificar se a variável atingiu o limite E, ainda, um acréscimo na variável de controle
REPETIÇÃO POR VARIÁVEL DE CONTROLECOMANDO PARA
Exemplos:
para cont = 1 ate 9 passo 2 façaescreva(“O valor de cont é”, cont);
fim-paraPergunta: O que será impresso??
/* O que será impresso?*/para cont = 10 ate 1 passo -1 faça
escreva(“O valor de cont é”, cont );fim-para
19
REPETIÇÃO POR VARIÁVEL DE CONTROLECOMANDO PARA
Exercício:
-- Construa um algoritmo que calcule e imprima a somatória de N números (sendo N > 0). Considere como dados de entrada a quantidade de números a serem lidos e os valores dos respectivos números.
--Faça um algoritmo que, sem utilizar o operador de exponenciação, realize a operação X^Y, para qualquer X e Y fornecido pelo usuário.
Reescreva o algoritmo acima, utilizando as demais estruturas de repetição.
20
CONTROLE POR ENTRADA (FLAG)
Quando não conhecemos o número de repetições e este for determinado por um valor que será lido (flag); devemos utilizar um controle de repetições por entrada,
também conhecido como controle por sentinela.
Exemplo: este algoritmo lê um conjunto de números inteiros e exibe o valor médio dos mesmos. Obs: a condição de saída do laço será a leitura do
valor 0 (flag).
CONTROLE POR ENTRADA (FLAG)Algoritmo LAÇO_COM_FLAG
NUM,CONT,SOMA,MEDIA : inteiro;
início
SOMA <-0;
CONT <-0;
leia (NUM);
enquanto (NUM # 0) faça
SOMA <- (SOMA + NUM);
CONT <- (CONT + 1);
escreva(Entre com um valor ou entre com o sair e visualizar a media)
leia (NUM);
fim-enquanto
MEDIA <- (SOMA div CONT);
escreva (MEDIA);
fim
Fim_Algoritmo
Sentinela
Flag
EXERCÍCIOS
Qual a utilidade da estrutura de repetição? Em que consiste o controle de repetições por
contador? Em que consiste o controle de repetições por flag? Faça um algoritmo que mostre todos os números
inteiros de 1 a 50. Faça um algoritmo que mostre todos os números
inteiros pares de 2 a 100. Faça um algoritmo que gere a seguinte série: 10,
20, 30, 40, ..., 990, 1000. Escreva um algoritmo que leia três números e
imprima o maior deles.
EXERCÍCIOS
Faça o acompanhamento da execução do algoritmo abaixo e preencha a Tabela de Variáveis:
EXERCÍCIOS
Escreva um algoritmo que leia 10 números e imprima o maior deles.
Escreva um algoritmo que leia três números e os imprima em ordem crescente.
Escreva um algoritmo que leia uma certa quantidade de números e imprima o maior deles e quantas vezes o maior número foi lido. A quantidade de números a serem lidos deve ser fornecida pelo usuário. Assuma que o usuário sempre fornecerá um número positivo.