<?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;
    }
} 









































    

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: