Pascal/Strumenti: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Ramac (discussione | contributi)
m compatibilità
Ramac (discussione | contributi)
un esempio
Riga 37:
 
Da notare che Borland Delphi e Lazarus sono IDE di Delphi, ovvero un'evoluzione del Pascal orientata ad oggetti; riescono tuttavia a compilare senza problemi il Pascal normale.
 
== Alcuni esempi commentati ==
Questo è un programma che, dato un numero, ne calcola la radice quadrata (senza l'uso della funzione <code>sqrt</code>, ovviamente) usando una regola spiegata durante l'esecuzione del programma.
<br/>Il cuore dell'algoritmo è un ciclo ripeti... sino a quando che, oltre a calcolare le approssimanzioni, stampa anche una tabella passo per passo dei calcoli effettuati
<source lang=pascal>
program radq;
{$APPTYPE CONSOLE} {in alcuni compilatori è superfluo}
const eps=1E-10;
var num, app: real;
begin
clrscr;
write('Questo programma si basa sulla regola di Newton');
writeln(' riguardante le radici quadrate, secondo la quale ');
writeln;
writeln(' se app e'' un'' approssimazione della radice quadrata di num');
writeln(' allora (num/app + app)/2 e'' un''approsimazione migliore.');
writeln;
write('Il programmera continuera'' a calcolare un''approssimazione migliore');
writeln(' sino a quando non varra''' );
writeln;
writeln(' |num/app^2 - 1| < 10^-10');
writeln;
writeln('Introdurre il valore del numero num di cui si vuole calcolare la radice quadrata e della prima approssimazione app');
writeln;
write(' '); readln(num);
write(' '); readln(app);
writeln;
if num < 0 then
writeln(num:10:2, ' non ha radice quadrata reale')
else
begin
{stampa una piccola tabella}
writeln(' app app^2');
writeln;
repeat
writeln(app:20:10, app*app:30:10); {stampa la riga}
app:=(num/app +app)/2; {calcola la successiva approssiamazione}
until abs(num/ sqr(app) -1) < eps; {se il valore non differisce troppo da quello reale}
writeln;
writeln(app:20:10, app*app:30:10); {stampa l'ultima approssimazione contente il valore definitivo della radice quadrata}
end;
readln; {in alcuni compilatori è superfluo}
end.
</source>
 
[[Categoria:Programmare in Pascal|Strumenti]]