Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estruturas de Repetição 2: Comando PARA Romero Medeiros romero.medeiros@olinda.ifpe.edu.br Introdução à Programação Comando PARA • É muito comum a existência de repetições que fazem uso de variáveis contadoras, especialmente para contagens de 1 em 1. • Para facilitar a construção deste tipo de laço, pode-se utilizar um outro comando de repetição chamado PARA. • Sua sintaxe é: para <var> de <valor_inicial> até <valor_final> faça <comando>; Exemplo de comando PARA Escrever os números inteiros de 1 a 10. Variáveis valor : inteiro; Início para valor de 1 até 10 faça escrever valor; Fim Exemplo de comando PARA Escrever os números inteiros de 1 a 10. for (valor = 1; valor <= 10; valor += 1) show_message("valor: " + string(valor)); EXEMPLOS Exemplo 1 Faça um algoritmo para exibir os números 1, 4, 9, 16, 25, 36, ... , 10000. Exemplo 1 – Estruturando solução • Entradas • Saídas • Quadrado dos números de 1 a 100 • Detalhes • Usar o comando “PARA” de 1 a 100 elevando o valor da variável de iteração ao quadrado. Exemplo 1 - Algoritmo Variáveis cont: inteiro; Início para cont de 1 até 100 faça escrever QUAD(cont); Fim Exemplo 1 - Algoritmo for (cont = 1; cont <= 100; cont += 1) { quad = cont * cont; show_message("valor: " + string(quad)); } Exemplo 1 – Execuções do algoritmo 1 4 9 16 25 ... Exemplo 2 Escreva um algoritmo que leia 25 valores inteiros e positivos e depois informe: • Qual o maior valor; • Qual o menor valor; • A média dos números lidos. Exemplo 2 – Estruturando solução • Entradas • 25 valores inteiros positivos • Saídas • Menor valor • Maior valor • Média dos valores • Detalhes • Usar o comando “PARA” Exemplo 2 - Algoritmo Variáveis cont : inteiro: valor : inteiro; menor_valor : inteiro; maior_valor : inteiro; soma_valores : inteiro; media_valores: inteiro; Início LER_PRIMEIRO_VALOR; LER_DEMAIS_VALORES; CALCULAR_MEDIA; IMPRIMIR_RESULTADOS; Fim Exemplo 2 - Algoritmo Módulo LER_PRIMEIRO_VALOR [[ escrever “Digite um valor inteiro positivo: ”; ler valor; maior_valor <- valor; menor_valor <- valor; soma_valores <- valor; ]]; Módulo LER_DEMAIS_VALORES [[ para cont de 1 até 25 faça escrever “Digite um valor inteiro positivo: ”; ler valor; soma_valores <- soma_valores + valor; se valor > maior_valor então maior_valor <- valor; se valor < menor_valor então menor_valor <- valor; ]]; Módulo CALCULAR_MEDIA [[ media_valores <- soma_valores / 500; ]]; Módulo IMPRIMIR_RESULTADOS [[ escrever “O maior valor é:”, maior_valor; escrever “O menor valor é:”, menor_valor; escrever “A média dos valores é:”, media_valores ; ]]; Exemplo 2 - Algoritmo valor = get_integer("Digite um valor inteiro positivo: ",""); maior_valor = valor; menor_valor = valor; soma_valores = valor; for (cont = 1; cont<=25; cont += 1) { valor = get_integer("Digite um valor inteiro positivo: ",""); soma_valores = soma_valores + valor; if valor > maior_valor maior_valor = valor; if valor < menor_valor menor_valor = valor; } media_valor = soma_valores / 25; show_message("O maior valor é: " + string(maior_valor)); show_message("O menor valor é: " + string(menor_valor)); show_message("A média dos valores é: " + string(media_valor)); Exemplo 2 – Execuções do algoritmo Digite um valor inteiro positivo: 1 Digite um valor inteiro positivo: 2 Digite um valor inteiro positivo: 3 Digite um valor inteiro positivo: 4 Digite um valor inteiro positivo: 5 ... Digite um valor inteiro positivo: 500 O maior valor é: 500 O menor valor é: 1 A média dos valores é: 249 Exemplo 3 Faça um algoritmo que leia do usuário diversos números inteiros e exiba a tabuada de multiplicação de cada um. Qualquer número negativo finaliza a leitura de números. Exemplo 3 – Estruturando solução • Entradas • Diversos números inteiros • Saídas • Tabuada de cada um dos números digitados • Detalhes • Usar o comando “ENQUANTO” para fazer as leituras dos números sendo -1 a condição de parada. • Usar comando “PARA” aninhado no “ENQUANTO” para calcular a tabuada de 1 até 10 para o número digitado. Exemplo 3 - Algoritmo Variáveis cont : inteiro: numero: inteiro; multiplicacao: inteiro; Início escrever “Digite um número inteiro: ”; ler numero; enquanto numero >= 0 faça para cont de 1 até 10 faça multiplicacao <- numero * cont; escrever numero, “ X ”, cont, “ = ”, multiplicacao; escrever “Digite um número inteiro: ”; ler numero; Fim Exemplo 3 - Algoritmo numero = get_integer("Digite um número inteiro: ",""); while numero >= 0 { for (cont = 1; cont<=10; cont += 1) { multiplicacao = numero * cont; show_message(string(numero) + " X " + string(cont) + " = " + string(multiplicacao)); } numero = get_integer("Digite um número inteiro: ",""); } Exemplo 3 – Execuções do algoritmo Digite um número inteiro: 3 3 X 1 = 3 3 X 2 = 6 3 X 3 = 9 3 X 4 = 12 3 X 5 = 15 3 X 6 = 18 3 X 7 = 21 3 X 8 = 24 3 X 9 = 27 3 X 10 = 30 Digite um número inteiro: -1 Exemplo 4 Faça um algoritmo que calcule o valor total investido por um colecionador em sua coleção de CDs e o valor médio gasto em cada um deles. O usuário deverá informar a quantidade de CDs e o valor para cada um. Exemplo 4 – Estruturando solução • Entradas • Quantidade de CDs • Valor de cada um dos CDs • Saídas • Valor total investido em CDs • Valor média de cada CD • Detalhes • Podemos usar a quantidade de CDs como limite final da variável contadora do comando “PARA” que irá ler o valor de cada um deles. • Podemos usar um variável acumuladora para somar o valor total de CDs. Exemplo 4 - Algoritmo Variáveis cont : inteiro; quantidade : inteiro; valor : real; soma_valores : real; media_valores : real; Início escrever “Digite a quantidade de CDs: ”; ler quantidade; soma_valores <- 0; para cont de 1 até quantidade faça escrever “Digite o preço do CD ”, cont, “: ”; ler valor ; soma_valores <- soma_valores + valor; escrever “O valor total investido foi: ”, soma_valores; media_valores <- soma_valores / quantidade; escrever “A média de preço foi: ”, media_valores; Fim Exemplo 4 - Algoritmo quantidade = get_integer("Digite a quantidade de CD´s: ",""); soma_valores = 0; for (cont = 1; cont <= quantidade; cont += 1) { valor = get_integer("Digite o preço do CD " + string(cont) + ":",""); soma_valores = soma_valores + valor; } show_message("O valor total investido foi: " + string(soma_valores)); media_valores = soma_valores / quantidade; show_message("A média de preço foi: " + string(media_valores)); Exemplo 4 – Execuções do algoritmo Digite a quantidade de CDs: 3 Digite o preço do CD 1: 20 Digite o preço do CD 2: 15,8 Digite o preço do CD 3: 23,5 O valor total investido foi: 59,3 A média de preço foi: 19,76 Exemplo 5 Construa um algoritmo para computar os resultados de uma eleição. Os votos válidos são representados pelas letras ‘A’ e ‘B’, cada uma representando um candidato. O voto em branco é representado pela letra ‘N' . Qualquer outro valor é considerado como voto nulo. Este algoritmo deverá ler n votos, onde n é informado via teclado. Ao término de sua execução, o algoritmo deverá apresentar os seguintes resultados: • O total de votos de cada candidato; • O total de votos em branco; • O total de votos nulos; • O candidato vencedor. Exemplo 5 – Estruturando solução • Entradas • Quantidade de votos (N) • N votos • Saídas • O total de votos de cada candidato • O total de votos em branco • O total de votos nulos • O candidato vencedor • Detalhes • Podemos usar 4 variáveis acumuladoras. • Uma para acumular os votos do candidato A, uma para os votos do candidato B, uma para os votos brancos e uma para os votos nulos. Exemplo 5 - Algoritmo Variáveis qtd_votos : inteiro; cont : inteiro; voto : caractere; votos_a : inteiro; votos_b : inteiro; votos_n : inteiro; votos_nulos : inteiro; vencedor : caractere; Início LER_QUANTIDADE_VOTOS; LER_VOTOS; CALCULAR_VENCEDOR; IMPRIMIR_RESULTADO;Fim Exemplo 5 - Algoritmo Módulo LER_VOTOS [[ votos_a <- 0; votos_b <- 0; votos_n <- 0; votos_nulos <- 0; para cont de 1 até qtd_votos faça escrever “Digite o voto: ”; ler voto; caso voto seja ‘A’: votos_a <- votos_a + 1; ‘B’: votos_b <- votos_b + 1; ‘N’: votos_n <- votos_n + 1; senão votos_nulos <- votos_nulos + 1; ]]; Módulo LER_QUANTIDADE_VOTOS [[ escrever “Digite a quantidade de votos: ”; ler qtd_votos; ]]; Exemplo 5 - Algoritmo Módulo IMPRIMIR_RESULTADO [[ escrever “Votos de A: ”, votos_a; escrever “Votos de B: ”, votos_b; escrever “Votos Brancos: ”, votos_n; escrever “Votos Nulos: ”, votos_nulos; escrever “O vencedor é o candidato: ”, vencedor; ]]; Módulo CALCULAR_VENCEDOR [[ se votos_a > votos_b então vencedor <- ‘A’; senão vencedor <- ‘B’; ]]; Exemplo 5 - Algoritmo qtd_votos = get_integer("Digite a quantidade de votos: ",""); votos_a = 0; votos_b = 0; votos_n = 0; votos_nulos = 0; for (cont = 1; cont <= qtd_votos; cont += 1) { voto = get_string("Digite o voto: ",""); switch (voto) { case "A": votos_a = votos_a + 1; break; case "B": votos_b = votos_b + 1; break; case "N": votos_n = votos_n + 1; break; default: votos_nulos = votos_nulos + 1; break; } } if votos_a > votos_b vencedor = "A"; else vencedor = "B"; show_message("Votos de 'A': " + string(votos_a)); show_message("Votos de 'B': " + string(votos_b)); show_message("Votos brancos: " + string(votos_n)); show_message("Votos nulos: " + string(votos_nulos)); show_message("O vencedor é o candidato: " + string(vencedor)); Exemplo 5 – Execuções do algoritmo Digite a quantidade de votos: 5 Digite o voto: A Digite o voto: N Digite o voto: B Digite o voto: A Digite o voto: Z Votos de A: 2 Votos de B: 1 Votos Brancos: 1 Votos Nulos: 1 O vencedor é o candidato: A Referências da aula • Adaptado da aula Introdução à Programação do Prof. Ricardo Araújo do curso de Ciência da Computação da FBV. • Gilvan Vilarim. Algoritmos: Programação para Iniciantes. Editora Ciência Moderna, 2004. Slide 1 Comando PARA Exemplo de comando PARA Slide 4 Slide 5 Exemplo 1 Exemplo 1 – Estruturando solução Exemplo 1 - Algoritmo Slide 9 Exemplo 1 – Execuções do algoritmo Exemplo 2 Exemplo 2 – Estruturando solução Exemplo 2 - Algoritmo Exemplo 2 - Algoritmo Slide 15 Exemplo 2 – Execuções do algoritmo Exemplo 3 Exemplo 3 – Estruturando solução Exemplo 3 - Algoritmo Slide 20 Exemplo 3 – Execuções do algoritmo Exemplo 4 Exemplo 4 – Estruturando solução Exemplo 4 - Algoritmo Slide 25 Exemplo 4 – Execuções do algoritmo Exemplo 5 Exemplo 5 – Estruturando solução Exemplo 5 - Algoritmo Exemplo 5 - Algoritmo Exemplo 5 - Algoritmo Slide 32 Exemplo 5 – Execuções do algoritmo Referências da aula
Compartilhar