Excel, Derive, Pascal

Transcript

Excel, Derive, Pascal
EXCEL
Per rappresentare graficamente una funzione dobbiamo attribuire alla variabile x valori
compresi fra un valore minimo ed uno massimo, incrementando ciascuno di un certo
passo. Tabuliamo la funzione calcolando i suoi valori in corrispondenza dei valori della x e
quindi rappresentiamo graficamente.
DERIVE
Utilizzando il software algebrico Derive, dopo aver inserito le tre funzioni precedenti o
altre, si passa nella pagina grafica in 2D ed è possibile visualizzare il grafico.
PASCAL
Dopo aver costruito l’algoritmo ed averlo tradotto nel linguaggio Pascal appare il grafico
della funzione. Ad esempio il listato del programma per rappresentare graficamente una
parabola è il seguente:
Program Grafico_2;
uses crt, graph;
var MaxX, Maxy, xsa, ysa:integer;
ys1,xs,ys:integer;
a,b,c,d,x1,x2,yu1,k,xu,yu,xv,yv:real;
Procedure Equazioni_2;
begin
writeln('Risolviamo l''equazione di II grado');
writeln ('Inserisci il valore di a');
readln(a);
writeln ('Inserisci il valore di b');
readln(b);
writeln ('Inserisci il valore di c');
readln(c);
writeln ('L''equazione ‚', a:5:2,
'*x^2+(',b:5:2,')*x+(',c:5:2,')');
d:=b*b-4*a*c;
xv:=(-b)/(2*a);
yv:=(-d)/(4*a);
writeln ('Le coordinate del vertice sono xv=',
xv:5:2,',yv=',yv:5:2);
if (a=0) then writeln ('Il risultato dell''equazione È:', -c/b);
if (a<>0) then writeln ('L''equazione È di II grado');
if (d<0) then writeln ('L''equazione È impossibile in R');
if (d=0) then writeln ('Il risultato dell''equazione È ', -b/2*a);
if (d>0) then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln ('Il primo risultato della equazione è', x1:5:2);
writeln ('Il secondo risultato della equazione è ', x2:5:2);
readln;
end;
end;
Procedure inizializzagrafica;
var schedagrafica,modografico:integer;
begin
schedagrafica:=0;
initgraph(schedagrafica,modografico,'c:\tp\bgi');
end;
Procedure Assi;
begin
MaxX:=getmaxX;
MaxY:=getmaxY;
xsa:=MaxX div 2;
ysa:=MaxY div 2;
Setcolor (17);
Line (0,ysa,maxX,ysa);
Line (xsa,0,xsa,maxY);
end;
begin
clrscr;
Equazioni_2;
Write ('Unit... di misura: k:= ');
Readln (k);
Inizializzagrafica;
Assi;
For xs:=0 to MaxX do
begin
xu:=(xs-xsa)/k;
yu:=a*sqr(xu)+b*(xu)+c;
ys:=round(-k*yu+ysa);
Putpixel (xs,ys,2);
end;
Readln;
closegraph;
end.