Prévia do material em texto
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). Padrão de resposta esperado 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 Uma proposta de variáveis: número, 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 pseudocódigo e pseudolinguagem). Solução do problema em pseudolinguagem: Leia (numero) Solução do problema em 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 pseudocódigo e pseudolinguagem.) Solução do problema em pseudolinguagem: 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) Solução do problema em fluxograma: d) Identifique e descreva quais são os comandos de saída necessários para solucionar o problema apresentado (representar em pseudocódigo e pseudolinguagem). Solução do problema em pseudolinguagem: Escreva (" O valor invertido é = “ , numero_invertido) Solução do problema em fluxograma: Observação: o aluno poderá desenvolver o algoritmo na íntegra (não é obrigatório). A seguir, é apresentada uma possível solução. 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 A solução completa do problema em pseudolinguagem: