• Matéria: Lógica
  • Autor: wallacebarross
  • Perguntado 3 anos atrás

Muitas linguagens de programação possuem funções para inverter um número já pronto na linguagem. O nosso desafio é encontrar uma solução utilizando os comandos de entrada, saída e atribuição para que faça a inversão de um número inteiro de 4 dígitos.

O valor lido deve estar armazenado em uma única variável e, ao final, deverá ser impressa como saída somente uma variável com o valor invertido, e não 4 variáveis separadas. A inversão deverá ser desenvolvida utilizando comandos aritméticos, resto da divisão e divisão inteira.

Exemplo:
Valor normal : 4567
Valor invertido: 7654

a) Declare as variáveis necessárias e seus tipos para resolver o problema apresentado. Todos os valores da tabela devem ser atribuídos para as variáveis para serem utilizadas nos cálculos.

b) Identifique e descreva quais são os comandos de entrada necessários para solucionar o problema apresentado (representar em pseudolinguagem e fluxograma).

c) Analise o problema e descreva a sequência correta dos comandos de atribuições e cálculos necessários para a solução do problema apresentado (para inverter o número). (Representar em pseudolinguagem e fluxograma.)

d) Identifique e descreva quais são os comandos de saída necessários para solucionar o problema apresentado (representar em pseudolinguagem e fluxograma).

Respostas

respondido por: tuliocezar00
6

Resposta:

a) Declare as variáveis necessárias e seus tipos para resolver o problema apresentado. Todos os valores da tabela devem ser atribuídos para as variáveis para serem utilizadas nos cálculos.

Var numero, valor_auxiliar, unidade, centena, dezena, milhar, numero_invertido : inteiro

b) Identifique e descreva quais são os comandos de entrada necessários para solucionar o problema apresentado (representar em pseudolinguagem e fluxograma).

Escreva("Digite um valor inteiro com 4 dígitos:" )

Leia (numero)

c) Analise o problema e descreva a sequência correta dos comandos de atribuições e cálculos necessários para a solução do problema apresentado (para inverter o número). (Representar em pseudolinguagem e fluxograma.)

valor_auxiliar <- numero

milhar <- valor_auxiliar div 1000

valor_auxiliar <- valor_auxiliar mod 1000

centena <- valor_auxiliar div 100

valor_auxiliar <- valor_auxiliar mod 100

dezena <- valor_auxiliar div 10

valor_auxiliar <- valor_auxiliar mod 10

unidade <- valor_auxiliar

numero_invertido <- (unidade * 1000) + ( dezena * 100) + (centena * 10) + (milhar * 1)

d)Identifique e descreva quais são os comandos de saída necessários para solucionar o problema apresentado (representar em pseudolinguagem e fluxograma).

Escreva(" O valor invertido é = " , numero_invertido)

Fimalgoritmo

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Algoritmo "inverter"

Var numero, valor_auxiliar, unidade, centena, dezena, milhar, numero_invertido : inteiro

Inicio

Escreva("Digite um valor inteiro com 4 dígitos:" )

Leia (numero)

valor_auxiliar <- numero

milhar <- valor_auxiliar div 1000

valor_auxiliar <- valor_auxiliar mod 1000

centena <- valor_auxiliar div 100

valor_auxiliar <- valor_auxiliar mod 100

dezena <- valor_auxiliar div 10

valor_auxiliar <- valor_auxiliar mod 10

unidade <- valor_auxiliar

numero_invertido <- (unidade * 1000) + ( dezena * 100) + (centena * 10) + (milhar * 1)

Escreva(" O valor invertido é = " , numero_invertido)

Fimalgoritmo

Explicação:

Anexos:
respondido por: couto932
0

Solução completa em pseudolinguagem:

Algoritmo "inverter"

Var

numero, valor_auxiliar, unidade, centena, dezena, milhar, numero_invertido :

inteiro

Inicio

Escreva("Digite um valor inteiro com 4 dígitos:" )

Leia (numero)

valor_auxiliar <- numero

milhar <- valor_auxiliar div 1000

valor_auxiliar <- valor_auxiliar mod 1000

centena <- valor_auxiliar div 100

valor_auxiliar <- valor_auxiliar mod 100

dezena <- valor_auxiliar div 10

valor_auxiliar <- valor_auxiliar mod 10

unidade <- valor_auxiliar

numero_invertido <- (unidade * 1000) + ( dezena * 100) + (centena * 10) +

(milhar * 1)

Escreva(" O valor invertido é = " , numero_invertido)

Fimalgoritmo

Perguntas similares