{ File: testrip2.pas } { Scopo: ordine dei dati in input ha effetto sulla necessita` o meno di usare array vedi file: testrip1.pas } program RipetizioniTest; { Legge i risultati (ognuno dei quali e` un valore reale compreso tra 0 e 100) di 20 test, per ognuno dei quali sono state effettuate due ripetizioni. Stampa la media ed il numero d'ordine per quei test per i quali la media dei risultati delle due ripetizioni e` maggiore del valore assoluto della lora differenza. Assume che in ingresso vengano forniti prima tutti i risultati della prima ripetizione dei 20 test, e poi tutti i risultati della seconda ripetizione dei 20 test. } const NumeroTest = 5; type TipoRisultato = real; TipoIndice = 1..NumeroTest; TipoRisultati = array [TipoIndice] of TipoRisultato; var ris1, ris2 : TipoRisultati; i : TipoIndice; media : TipoRisultato; begin { lettura dei risultati della prima ripetizione dei test } writeln('Immetti i risultati della prima ripetizione !'); for i := 1 to NumeroTest do begin write(' Risultato test ', i:2, ' ? '); readln(ris1[i]) end; writeln; { lettura dei risultati della seconda ripetizione dei test } writeln('Immetti i risultati della prima ripetizione !'); for i := 1 to NumeroTest do begin write(' Risultato test ', i:2, ' ? '); readln(ris2[i]) end; writeln; { stampa della media delle due ripetizioni per i test che sodisfano la condizione } writeln('Test validi media'); for i := 1 to NumeroTest do begin media := (ris1[i] + ris2[i]) / 2; if media > abs(ris1[i] - ris2[i]) then writeln(i:2, media:16:2) end end. { RipetizioniTest }