Baixe o app para aproveitar ainda mais
Prévia do material em texto
Linguagem de Programação Fabio Nobrega Março 2014 Linguagem de Programação Comando Repita Possui a seguinte sintaxe: repita <seqüência-de-comandos> ate <expressão-lógica> 2 repita Indica o início do laço. ate <expressão-lógica> Cada vez que o programa chega neste ponto, a <expressão- lógica> é avaliada. Se o resultado for FALSO, o fluxo retornará para o início do laço (a linha que consta o repita) e executará novamente a seqüência de comandos(<seqüência-de- comandos>). Caso contrário, a execução prosseguirá a partir do primeiro comando após “ate <expressão-lógica>”. Vale ressaltar que a seqüência de comandos será executada pelo menos uma vez. Linguagem de Programação Comando Enquanto Analogia com o fluxograma repetição (teste à cauda) 3 V F ? Execução da seqüência de comandos Avaliação da expressão lógica repita <seqüência-de-comandos> ate <expressão-lógica> Linguagem de Programação Exemplo 1 (Repita) Faça um algoritmo para imprimir o números inteiros de 1 até 10. 4 início O valor da variável >10? Inicializar uma variável com valor 1 Adicionar o valor 1 a variável fim Sim Não Escreva a variável Linguagem de Programação Exemplo 2 (Repita) Faça um algoritmo para imprimir o números pares existente entre 1 até 50. 5 fim Sim início O resto da divisão da variável por 2 é zero? Inicializar uma variável com valor 1 Não Adicionar o valor 1 a variável O valor da variável >50? Não Sim Escreva a variável Linguagem de Programação Exemplo 3 (Repita) Faça um algoritmo que leia um conjunto de números (inteiros e positivos) e imprima a quantidade de números pares e a quantidade de números impares. Observação: os números deverão ser lidos até que o número -1 seja informado (condição de finalização). 6 Linguagem de Programação Exemplo 3 (Repita) 7 início Inicializar as variáveis que controlam a quantidade de números impares e pares Leia o número fim Leia o número O resto da divisão do número digitado por 2 é zero? Adicionar o valor 1 a variável que controla a qtd de pares Sim Não Adicionar o valor 1 a variável que controla a qtd de ímpares numero = -1 ? Não Sim Escreva a quantidade de pares Escreva a quantidade de impares Linguagem de Programação Exemplo 3 (Repita) 8 Qual o problema dessa solução ? - Caso o usuário digite, na primeira vez, o número -1 (que é a condição de finalização) o comando “repita” será executado pelo menos uma vez. Soluções? - Verificar se o primeiro valor informado é diferente de -1. Em caso afirmativo, somente assim executar o comando “repita”. - Substituir o comando “repita” pelo comando “enquanto”. Linguagem de Programação Exemplo 3 (Repita) - Correção 9 Verificando se o primeiro número digitado é diferente de -1 Linguagem de Programação Enquanto x Repita São comandos parecidos, porém com algumas diferenças O comando enquanto executa a seqüência enquanto a expressão lógica for verdadeira. O comando repita executa a seqüência enquanto a expressão lógica for falsa. Caso ela seja verdadeira o loop é interrompido . No comando enquanto a seqüência só é executada se a expressão lógica for verdadeira. No comando repita a seqüência é executada pelo menos uma vez independente do valor da expressão lógica . 10 Linguagem de Programação Comando Para É utilizado quando o número de repetições do laço pode ser determinado previamente Sintaxe básica com incrementos unitários 11 para <var> de <val-ini> ate <val-fim> faça <seqüência-de-comandos> fimpara <var> É a variável contadora que controla o número de repetições do laço. Na versão atual do VisuAlg, deve ser necessariamente uma variável do tipo inteiro. <val-ini> É uma expressão que especifica o valor de inicialização da variável contadora antes da primeira repetição do laço. <val-fim> É uma expressão que especifica o valor máximo que a variável contadora pode alcançar. Linguagem de Programação Comando Para No fluxograma, os passos com bordas em azul são realizados automaticamente pelo comando para 12 V F var <= val_fim? Execução da seqüência de comandos Para <var> de <val_ini> ate <val-fim> faca <seqüência-de-comandos> ate <expressão-lógica> var <- val_ini var <- var + 1 Avaliação e evolução automática da variável Linguagem de Programação Exemplo 1 Faça um programa para imprimir os números inteiros de 1 a 10 13 V F i <= 10? i <- 1 Início i <- i + 1 Fim Escreva i Linguagem de Programação Cláusula Passo É a cláusula do comando “para” que permite fazer com que a variação da variável seja diferente de 1, permitindo, inclusive, que seja negativa 14 14 Para <var> de <val_ini> ate <val-fim> passo <incremento> faca <seqüência-de-comandos> ate <expressão-lógica> V F var <- val_ini var <- var + passo var <= val_fim? Linguagem de Programação Exemplo 2 Faça um programa para imprimir os números pares entre 1 e 20 15 V F i <= 20? i <- 2 Início i <- i + 2 Fim Escreva i Linguagem de Programação Exemplo 3 Crie um programa que leia dois números e imprima todos os ímpares do intervalo em ordem decrescente 16 V F i >= num-inicial? i <- num-final Início i <- i - 1 Fim Ler nº inicial Ler nº final É par? F V Escreva i Linguagem de Programação Exemplo 3 17
Compartilhar