Universidade Federal de Goiás Instituto de Informática Gabarito do Simulado da Prova de Introdução a Programação Questão 1: Faça um programa que leia as três notas, as faltas e o nome de um aluno e imprima sua situação. ( “APROVADO”, “REPROVADO POR FALTA” ou “REPROVADO POR MÉDIA” ) Observação – A média para aprovação é 5.0 e o limite máximo de faltas é 17. Resposta: import java.util.Scanner; public class Questao1{ public static void main(String[] args){ double n1, n2, n3; int faltas; Scanner x= new Scanner(System.in); System.out.println("Forneça a nota 1:"); n1 = x.nextDouble(); System.out.println("Forneça a nota 2:"); n2 = x.nextDouble(); System.out.println("Forneça a nota 3:"); n3 = x.nextDouble(); System.out.println("Forneça a quantidade de faltas:"); faltas = x.nextInt(); if ( faltas > 17 ) System.out.println("REPROVADO POR FALTA"); else if ( ( (n1+n2+n3)/3 ) < 5.0 ) System.out.println("REPROVADO POR MÉDIA"); else System.out.println("APROVADO"); } } Questão 2: Faça um programa que calcule o saldo final de uma conta, baseado no fornecimento pelo usuário do tipo de uma operação financeira e o seu valor absoluto (positivo). Os tipos de operação financeiras são: depósito, débito e transferência; com códigos 1, 2 e 3 respectivamente. O saldo inicial é atribuído internamente com o valor de R$ 1.000,00 e para que a operação seja bem sucedida, o saldo final não pode ser negativo. No caso de transferência, a conta de destino deve ser informada. O programa deverá informar como saída: o tipo de operação, resultado da operação (bem sucedida ou não) e o saldo final. Considere que o usuário sempre fornecerá valores de entrada válidos. Exemplos de entrada e saída: Entrada (uma de cada vez) Saída 2 123,45 Débito bem sucedido. Saldo final: R$ 876,55. 3 1.200,00 3123-7 Transferência mal sucedida. Saldo final: R$ 1.000,00 Resposta: import java.util.Scanner; public class Questao2 { public static void main(String[] args){ double saldo = 1000, valor; int operacao; Scanner s = new Scanner(System.in); System.out.println("Forneça o código da operação:"); operacao = s.nextInt(); System.out.println("Forneça o valor da operação:"); valor = s.nextDouble(); if ( operacao == 1 ) { saldo += valor; System.out.println("Depósito bem sucedido.Saldo final:R$ "+saldo); } // fecha operacao == 1 else if ( operacao == 2 || operacao == 3) { String tipo = "Débito"; if ( operacao == 3 ) tipo = "Transferência"; if ( valor > saldo ) System.out.println( tipo+" mal sucedido(a).Saldo final:R$ " +saldo); else { saldo -= valor; System.out.println(tipo+ " bem sucedido(a). Saldo final: R$ "+saldo); } // fecha operação ok } // fecha operacao == 2 || operacao == 3 } // fecha main } // fecha Questao2 Questão 3: Faça um programa para uma Lan House, que calcule o valor a ser pago pelo uso de acesso a Internet. O programa receberá os seguintes parâmetros, um por vez: hora inicial, minuto inicial, hora final e minuto final. A horas variam de 0 a 23; e os minutos de 0 a 59. O valor da hora é fixo em R$ 0,05/minuto. Considere que uma sessão de uso pode iniciar em um dia e encerrar no dia seguinte, mas nunca ultrapassando 12 horas. Resposta: import java.util.Scanner; public class Questao3 { public static void main(String[] args){ int hora_inicial, min_inicial, hora_fim, min_fim; Scanner s = new Scanner(System.in); System.out.println("Informe a hora inicial:"); hora_inicial = s.nextInt(); System.out.println("Informe o minuto inicial:"); min_inicial = s.nextInt(); System.out.println("Informe a hora final:"); hora_fim = s.nextInt(); System.out.println("Informe o minuto final:"); min_fim = s.nextInt (); if ( hora_fim < hora_inicial ) // virou o dia hora_fim += 24; int minutos_consumidos = hora_fim*60 + min_fim - hora_inicial*60 - min_inicial; System.out.println("O preço a pagar é: R$ "+minutos_consumidos*0.05); } } Questão 4: Efetuar a leitura de quatro números inteiros e logo depois, apresentar os que são divisíveis por 2 e 3 simultaneamente. Obs.: Todos números devem ser lidos antes para só depois o resultado ser apresentado. import java.util.Scanner; public class Questao4{ public static void main(String[] args){ double n1, n2, n3,n4; Scanner x= new Scanner(System.in); System.out.println("Forneça o primeiro número:"); n1 = x.nextInt(); System.out.println("Forneça o segundo número:"); n2 = x.nextInt(); System.out.println("Forneça o terceiro número:"); n3 = x.nextInt(); System.out.println("Forneça o quarto número:"); n4 = x.nextInt(); if ( ((n1 % 2) == 0) && ((n1 % 3) == 0) ) System.out.println("O número "+n1+" é divisível if ( ((n2 % 2) == 0) && ((n2 % 3) == 0) ) System.out.println("O número "+n2+" é divisível if ( ((n3 % 2) == 0) && ((n3 % 3) == 0) ) System.out.println("O número "+n3+" é divisível if ( ((n4 % 2) == 0) && ((n4 % 3) == 0) ) System.out.println("O número "+n4+" é divisível } } por 2 e 3"); por 2 e 3"); por 2 e 3"); por 2 e 3");