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
![Page 1: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/1.jpg)
UNIVERSIDADE FEDERAL DE UBERLÂNDIA
ENGENHARIA CIVIL
Introdução à Algoritmos
Professora: Fabíola Gonçalves.
![Page 2: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/2.jpg)
AGENDA
Estruturas de repetição: Introdução; Comando enquanto ... faça; Comando faça ... enquanto; Comando repita; Comando para.
2
![Page 3: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/3.jpg)
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.
![Page 4: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/4.jpg)
ESTRUTURAS DE REPETIÇÃO - COMANDO ENQUANTO
Comando enquanto. Linguagem Algorítmica:
enquanto condição faça
comando-A1;comando-A2;......comando-An;
fim-enquanto
![Page 5: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/5.jpg)
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
![Page 6: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/6.jpg)
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.
![Page 7: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/7.jpg)
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.
![Page 8: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/8.jpg)
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
![Page 9: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/9.jpg)
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
![Page 10: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/10.jpg)
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
![Page 11: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/11.jpg)
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
![Page 12: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/12.jpg)
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
![Page 13: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/13.jpg)
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
![Page 14: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/14.jpg)
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
![Page 15: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/15.jpg)
ESTRUTURAS DE REPETIÇÃOCOMANDO REPITA-ATE
O comando repita-até é equivalente ao comando enquanto-faça, vejam: 15
![Page 16: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/16.jpg)
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
![Page 17: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/17.jpg)
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
![Page 18: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/18.jpg)
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
![Page 19: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/19.jpg)
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
![Page 20: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/20.jpg)
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
![Page 21: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/21.jpg)
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).
![Page 22: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/22.jpg)
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
![Page 23: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/23.jpg)
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.
![Page 24: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/24.jpg)
EXERCÍCIOS
Faça o acompanhamento da execução do algoritmo abaixo e preencha a Tabela de Variáveis:
![Page 25: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/25.jpg)
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.
![Page 26: Universidade Federal de Uberlândia Engenharia Civil](https://reader036.vdocuments.site/reader036/viewer/2022081519/5681454a550346895db21b95/html5/thumbnails/26.jpg)