<?php
// Escreva 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.
// Exemplo de Entrada
// -3.5
// 3.5
// 11.0
// 10.0
// 4
// 1
// 8.0
// 9.0
// 2
// Exemplo de Saída
// nota invalida
// nota invalida
// media = 6.75
// novo calculo (1-sim 2-nao)
// novo calculo (1-sim 2-nao)
// media = 8.50
// novo calculo (1-sim 2-nao)
$nota=0;
$soma = 0;
$quantidade = 0;
while ($quantidade < 2) {
$nota=floatval(trim(fgets(STDIN)));
if ($nota >= 0 && $nota <= 10) {
$soma += $nota;
$quantidade++;
} else {
echo "nota invalida" . PHP_EOL;
}
}
echo "media = " . number_format(($soma / 2.0),2,".","") . PHP_EOL;
$codigo=0;
$condicao = true;
while ($condicao) {
printf("novo calculo (1-sim 2-nao)\n");
$codigo=intval(trim(fgets(STDIN)));
if ($codigo == 2) {
$condicao=false;
break;
}
if ($codigo == 1){
$nota=0;
$soma = 0;
$quantidade = 0;
while ($quantidade < 2) {
$nota=floatval(trim(fgets(STDIN)));
if ($nota >= 0 && $nota <= 10) {
$soma += $nota;
$quantidade++;
} else {
echo "nota invalida" . PHP_EOL;
}
}
echo "media = " . number_format(($soma / 2.0),2,".","") . PHP_EOL;
}
}
To embed this project on your website, copy the following code and paste it into your website's HTML: