URI Online Judge | 1118Timelimit: 1
Várias Notas Com Validação
Por Neilor Tonin, URI
Brasil
BrasilEscreva um programa para ler as notas da primeira e a segunda avaliação de um aluno. Calcule e imprima a média semestral. O programa só deverá aceitar notas válidas (uma nota válida deve pertencer ao intervalo [0,10]). Cada nota deve ser validada separadamente.
No final deve ser impressa a mensagem “novo calculo (1-sim 2-nao)”, solicitando ao usuário que informe um código (1 ou 2) indicando se ele deseja ou não executar o algoritmo novamente, (aceitar apenas os código 1 ou 2). Se for informado o código 1 deve ser repetida a execução de todo o programa para permitir um novo cálculo, caso contrário o programa deve ser encerrado.
Entrada
O arquivo de entrada contém vários valores reais, positivos ou negativos. Quando forem lidas duas notas válidas, deve ser lido um valor inteiro X . O programa deve parar quando o valor lido para este X for igual a 2.
Saída
Se uma nota inválida for lida, deve ser impressa a mensagem “nota invalida”. Quando duas notas válidas forem lidas, deve ser impressa a mensagem “media = ” seguido do valor do cálculo.
Antes da leitura de X deve ser impressa a mensagem "novo calculo (1-sim 2-nao)" e esta mensagem deve ser apresentada novamente se o valor da entrada padrão para X for menor do que 1 ou maior do que 2, conforme o exemplo abaixo.
A média deve ser impressa com dois dígitos após o ponto decimal.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class Main {
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter out = new PrintWriter(System.out);
public static void main(String[] args) throws IOException {
int op;
double X, a, n;
do {
op = 0;
a = 0;
while (op < 2) {
n = readDouble();
if (n >= 0 && n <= 10) {
a += n;
op++;
} else {
out.println("nota invalida");
}
}
out.printf("media = %.2f\n", a / 2f);
do {
out.println("novo calculo (1-sim 2-nao)");
X = readDouble();
} while (X != 1 && X != 2);
} while (X != 2);
out.close();
}
private static double readDouble() throws IOException {
return Double.parseDouble(in.readLine());
}
}
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
public class Main {
static BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
static PrintWriter out = new PrintWriter(System.out);
public static void main(String[] args) throws IOException {
int op;
double X, a, n;
do {
op = 0;
a = 0;
while (op < 2) {
n = readDouble();
if (n >= 0 && n <= 10) {
a += n;
op++;
} else {
out.println("nota invalida");
}
}
out.printf("media = %.2f\n", a / 2f);
do {
out.println("novo calculo (1-sim 2-nao)");
X = readDouble();
} while (X != 1 && X != 2);
} while (X != 2);
out.close();
}
private static double readDouble() throws IOException {
return Double.parseDouble(in.readLine());
}
}
Nenhum comentário:
Postar um comentário