Originariamente inviato da pakylory
Ho controllato meglio anche io e credo proprio che la terza sia VERA
...
Si è vera, ma ripeto dipende dai casi..il repeat svolge le istruzioni almeno una volta, il while può anche fare a meno di svolgerle, cmq mediante if-then-else, puoi fare in modo che che anche il repeat possa fare a meno di svolgere le istruzioni.
Quindi direi che sia Vera.
Però scusate se approfitto ancora di voi....
mi sapreste dire cos'è un errore sintattico, un errore di run-time, e un errore logico, e farmi un esempio per ciascun caso???
Per quanto riguarda l'errore logico credo che possa andar bene, per esempio, un ciclo di while che non viene mai attivato:
a:=1;
while a<1 do
writeln...
è corretto sintatticamente ma inutile...Vero?
No, questo non è un errore logico.. 
Errore Sintattico:
codice:
for i:=1 to 30
writeln(i);
Questo è un errore sintattico, perchè manca il do del for.
codice:
for i:=1 to 30 do
writeln(i);
Errore di Run-Time:
L'errore di Run-Time è quando si verifica un errore mentre il programma è in esecuzione (* esempio la divisione di un numero per zero *)
Errore Logico:
L'errore logico è quando si verifica un errore di logica del programma e cioè:
Mettiamo che devi fare la somma di 1000kb + 1Mb e ti dimentichi di convertire il Mb in Kilobyte..
Come noti il programma funzionerebbe, ma i risultati non sarebbero quelli aspettati.
Spero di averti chiarito le idee, ciao :quipy: