Jump to content


Rubia Matos

Member Since 30/11/2011
Offline Last Active 13/01/2012, 15:06
-----

Topics I've Started

Algoritmo Para Caixa Eletronico

30/11/2011, 16:40

Pois bem esse é meu primeiro post, estou cursando Técnico em Informática e tendo claro algumas dificuldades em relação a alguns exercicios de logica.Em meio a uma grande dificuldade de resolver alguns algoritmos entrava em fóruns procurando uma resposta, mas nem sempre encontrava a resposta certa então decidi me cadastrar e colocar aqui o que eu sei podendo ajudar quem procura as mesmas respostas que eu.
E ai vai o primeiro:

Bits Trocados

Em um pequeno país do planeta Cyber , a moeda vigente é o bit cuja sigla é B$. Nesta moeda existem cédulas de B$25.00, B$15.00, B$2.00 e B$1.00 bits. Você foi contratado para implementar o sistema de saques em um caixa eletrônico e, para isso, você deverá sempre liberar o menor número de notas possíveis para um determinado valor solicitado. O seu algoritmo terá como dado de entrada o valor a ser retirado do caixa e deverá emitir o total de cada nota necessário para compor o valor solicitado (emitindo o mínimo possível de notas).
Obs: Nenhum saque poderá exceder B$1000.00 bits.


Resolvi esse exercìcio em java depois de uns 15 dias ele ficou assim e funcionando bem:


import java.util.Scanner;

public class CaixaEletronico {
Scanner scanInt = new Scanner(System.in);
public void saque() {
int nota25 = 0, nota15 = 0, nota2 = 0, nota1 = 0;
System.out.println("Informe o valor que deseja sacar:");
int valor = scanInt.nextInt();

if (valor > 1000) {
System.out.println("SAQUE NAO REALIZADO! Valor invalido");
} else if (valor <= 0) {
System.out.println("SAQUE NAO REALIZADO! Valor invalido");
} else {
int valorAux = valor;
int resto = 0, divisao = 0;
if (valorAux >= 25) {
divisao = valorAux / 25;
nota25 = divisao;
resto = valorAux % 25;
valorAux = resto;
}

if (valorAux >= 15) {
divisao = valorAux / 15;
nota15 = divisao;
resto = valorAux % 15;
valorAux = resto;
}

if (valorAux >= 2.0) {
divisao = valorAux / 2;
nota2 = divisao;
resto = valorAux % 2;
valorAux = resto;
}

if (valorAux >= 1.0) {
nota1 = valorAux;
valorAux = valorAux - nota1;

}

System.out.println("SAQUE VALIDO! VOCE DEVERA RECEBER:");
if (nota25 > 0) {
System.out.println(nota25 + " cedula(s) de B$25");
}

if (nota15 > 0) {
System.out.println(nota15 + " cedula(s) de B$15");
}

if (nota2 > 0) {
System.out.println(nota2 + " cedula(s) de B$2");
}

if (nota1 > 0) {
System.out.println(nota1 + " cedula(s) de B$1");

}

}

}
public static void main(String args[]){
new CaixaEletronico();
}
}

IPB Skin By Virteq