• Matéria: Lógica
  • Autor: audaristo
  • Perguntado 6 anos atrás

Rafael está iniciando seus estudos em lógica de programação e está bem animado na realização dos exercícios. Em uma determinada aula, seu professor solicitou que ele realizasse um programa com o intuito de listar os números de 0 a 100 e apresentasse na tela para o usuário quais destes números são pares e quais são ímpares. Rafael se sentiu desafiado, pois nesse exercício foi solicitado que ele trabalhasse com duas estruturas de algoritmos diferentes.
Bom, realizada a leitura do nosso estudo de caso e supondo que você seja Rafael, realize um algoritmo em pseudocódigo que resolva o problema acima

Alguém poderia me ajudar no problema acima estou iniciando agora logica de programação.

Respostas

respondido por: thiagopokem
1

Resposta:

Algoritmo “ParOuImpar”

inicio

para num ← 0 ate 100 faca

 se num mod 2 = 0 entao

     escreval(num, “ é par!”)

 senao

     escreval(num, “ é ímpar!”)

 fimse

fimpara

fimalgoritmo

Explicação:

Não entendo muito da sintaxe do pseudocódigo, é uma das maiores aleatoriedades já inventadas rsrs, muito melhor aprender lógica direto com uma linguagem real, mas infelizmente em muitos lugares o pseudocódigo é obrigatório.

Agora sobre a questão, a ideia é bem simples, queremos que o nosso código liste os números de 0 a 100 e fala qual é par e qual é ímpar, poderíamos fazer isso 100 vezes ir lá colocar o número e verificar se ele é ímpar ou par, um por um, mas isso seria extremamente ineficiente. É por este motivo que nós utilizamos os laços de repetição e neste caso como sabemos o intervalo em o programa deve se repetir este laço será o para, pois sabemos que ele vai começar em 0 e ir até 100.

para num ← 0 ate 100 faca

fimpara

Perceba que dentro do para a gente tem uma variável de nome num que pode ser qualquer outro nome, mas para este exemplo vou usar num, essa variável vai aumentar +1 toda vez que o laço de repetir e veja só ela vai passar exatamente pelos números que nós queremos. Tendo isso em mente nós poderíamos verificar se num é par ou é ímpar.

E aí vem o truque, dentro dos operadores nós temos o mod que calcula o resto da divisão e veja só, todo número par dividido por 2 tem resto 0 e todo número ímpar tem resto 1.

se num mod 2 = 0 entao

fimse

Então essa estrutura acima vai verificar se a variável num MOD 2 tem resto igual a 0, se este for o caso nós envíamos a mensagem:

escreval(num, “ é par!”)

Que basicamente é a concatenação da variável num com o texto " é par!". Ao final temos a seguinte estrutura:

se num mod 2 = 0 entao

         escreval(num, “ é par!”)  

fimse

Agora se este não for o caso e o resto por diferente de 1 nós podemos colocar outra mensagem, pois significa que este número é ímpar então abrimos um senão e mudamos apenas a mensagem:

senao

       escreval(num, “ é ímpar!”)

Ao final montamos a estrutura encadeada do se:

se num mod 2 = 0 entao

     escreval(num, “ é par!”)

senao

     escreval(num, “ é ímpar!”)

fimse

E por fim fechamos o laço para e o código:

fimpara

fimalgoritmo


audaristo: até tentei mas o código não funciona kk
thiagopokem: Desculpa, não sei utilizar pseudocódigo, o problema é que eu não sei qual é a sintaxe dos comandos, só entendo de Portugol, Java, C# e um pouco de Phyton.
thiagopokem: Tenta ver se tem algo que está diferente do que você aprendeu e também muda a seta para <- talvez funcione.
thiagopokem: A lógica está certa, disso eu tenho certeza só sem que arrumar a escrita dos comandos.
thiagopokem: tem*
Perguntas similares