... la mia prof ha interrogato 2 miei compagni in classe, ad uno ha detto di creare un prog che dati 10 interi, dobbiamo indicare qual è il più basso inserito... mentre all'altro il numero più alto. La prof ha suggerito qualcosa, e da quel che ho potuto capire, il programma dovrebbe essere così:
uses crt;
var a,b,x,i:integer;
begin
clrscr;
writeln('Inserisci un numero');
readln(a);
for i:=1 to 9 do
begin
writeln('Inserisci un numero');
readln(b);
if a>=b then x:=a
else x:=b
end;
writeln('Il numero massimo è ',x);
readln
end.
Ma c'è un problema: se per esempio nella variabile a verrà assegnato il numero 8, e per la prima volta che ci chiede di inserire b mettiamo 10, ovviamente x assumerà il valore di b, cioè 10. Però se quando ripete per la seconda volta il ciclo b diventa per esempio 6, allora x assumerà il valore di a, cioè 8. A questo punto, 10 che era il valore più alto, verrà cancellato...
Quindi vi chiedo come diamine si fa un programma del genere, che sembra essere una sciocchezza!![]()