A lógica de programação (LP) é, talvez, o mais importante assunto dentro das disciplinas da
área de tecnologia. Qualquer pessoa que deseja ser programador, analista de sistema ou arquiteto
de software deve resolver problemas, computacionalmente viáveis, por meio de um algoritmo.
Com essa lógica, se aprende facilmente qualquer linguagem de programação, pois a base de
todas as linguagens é justamente a LP. A LP é uma metodologia para a resolução de problemas
que podem ser resolvidos por um computador. Além disso, ela visa a fazer isso de forma
sistemática e com passos finitos. Um profissional que domina LP consegue resolver problemas
de forma sistemática, criativa e lógica.
Muitas vezes, é preciso realizar tarefas com poucos recursos e fazer valer a LP. Sendo assim,
imagine que o líder da sua equipe de trabalho lhe solicitou um método que fizesse algo bem
específico: um programa em Java que receba do usuário um número com 3 algarismos (123,
435 ou 786, etc.) e imprima esse número ao contrário (321, 534 ou 687,
e assim por diante). Contudo, você só pode usar operações aritméticas (+, -, *, /, %).
Descreva como você faria e mostre esse código.
Soluções para a tarefa
Olá, tem foto?? E melhor
Resposta:
Primeiramente, vamos examinar o problema. Há um número para inverter as posições de seus algarismos. Talvez a melhor abordagem seria testar um número simples e, depois, tentar generalizar.
Para simplificar, suponha que o número dado pelo usuário seja 123.
A operação aritmética para obter 3, que é o último número, será: 123 dividido por 10 é igual a 12 e o resto é 3. Então, tem-se uma operação que dá o resto. 123%10 = 3.
Logo, recebe-se do usuário o número; depois, obtém-se o resto da divisão por 10 e divide-se o próprio número por 10; imprime-se o
resto, até que o valor seja menor que 10, pois, desse modo, não se pode mais dividir por 10; logo, imprime-se o que sobrou do valor.
Assim, nesse caso, obtém-se 321.
O código seria:
package Testes;
import java.util.Scanner;
public class Desafio {
public static void main(String[] args) {
Scanner numero = new Scanner(System.in);
System.out.println("Digite um número por favor: ");
//Digamos que o valor é 123
int valor = numero.nextInt();
int resto=0;
resto=valor%10; //resto=3
valor=valor/10;// valor=12
System.out.print(resto); //imprime 3
resto=valor%10; //resto=2
valor=valor/10;// valor=1
System.out.print(resto); //imprime 2
System.out.print(valor); //imprime 1
}
}
Explicação: