1 / 26

Universidade Federal de Uberlândia Engenharia Civil

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.

oksana
Télécharger la présentation

Universidade Federal de Uberlândia Engenharia Civil

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universidade Federal de UberlândiaEngenharia Civil Introdução à Algoritmos Professora: Fabíola Gonçalves.

  2. Agenda • Estruturas de repetição: • Introdução; • Comando enquanto ... faça; • Comando faça ... enquanto; • Comando repita; • Comando para.

  3. 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.

  4. Estruturas de Repetição - Comando enquanto • Comando enquanto. • Linguagem Algorítmica: enquanto condição faça comando-A1; comando-A2; ... ... comando-An; fim-enquanto

  5. Estruturas de Repetição - Comando 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.

  6. 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.

  7. Estruturas de Repetição - Comando enquanto • Exemplo 2: Algoritmo EXEMPLO_DE_ENQUANTO {escrever os números inteiros de 1 a 100} N : inteiro início N <-1; enquanto N ≤ 100 faça escreva (N); N <-(N + 1); fim-enquanto fim • 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.

  8. 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

  9. Estruturas de Repetição Comando enquanto • Exemplo 4: Algoritmo EXEMPLO_ENQUANTO {soma valores} valor, soma: inteiro; inicio soma <- 0; leia (valor); enquanto valor # -1 faça soma <- (soma + valor); leia(valor); fim-enquanto escreva(“O valor da soma é: ”, soma ); fim

  10. Estruturas de RepetiçãoComando enquanto Exercício: • 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. • Achar o maior e o menor número de uma série de números positivos fornecidos pelo usuário.

  11. 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”);

  12. 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.

  13. Estruturas de RepetiçãoComando repita-Ate • Sintaxe: repita comando-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 ??

  14. Estruturas de RepetiçãoComando repita-Ate • Exemplo: numero ← 1; repita escreva(“o quadrado de “, numero, “ é: “); escreva(numero^2); leia(numero); ate numero = 0 escreva(“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á?

  15. Estruturas de RepetiçãoComando repita-Ate • O comando repita-até é equivalente ao comando enquanto-faça, vejam:

  16. 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 devaloraté l passo p faça comando-C1; comando-C2; ... ... comando-An; fim-para OBS: Quando o passo p for =1 não é necessário colocar essa esta especificação

  17. Repetição por variável de controle • Exemplo: Algoritmo LAÇO_CONTADOR NUM,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

  18. Repetição por variável de controle • Também conhecido como Controle por Contador o comandopara é, 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

  19. Repetição por variável de controleComando para • Exemplos: para cont = 1 ate 9 passo 2 faça escreva(“O valor de cont é”, cont); fim-para Pergunta: 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

  20. 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.

  21. 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).

  22. 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

  23. 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.

  24. exercícios • Faça o acompanhamento da execução do algoritmo abaixo e preencha a Tabela de Variáveis:

  25. 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.

More Related