Oppure

Loading
26/04/11 10:48
Petenausen
Ho fatto il programma che simula il moto di un proiettile ora devo rappresentarlo graficamente qualcuno sa come potrei fare??
o se è così gentile potrebbe farmelo lui??
program proiettile;
uses crt;
const g=9.81;
var
spazio,velocita,vx,vy,altezza,ts,td,tsd:real;
angolo,radiante:real;
a,tempox,k:integer;
sx,vyt,vyd,hs,st,passo,dt:real;


procedure esegue;
var scelta:integer;
begin
clrscr;
writeln('inserisci velocita di lancio');
readln(velocita);

writeln('inserisci angolo di lancio');
readln(angolo);
writeln('indica il passo per i tempi');
readln(passo);


radiante:=angolo*3.14/180;
vx:=velocita*cos(radiante);
vy:=velocita*sin(radiante);
writeln('la componente orizzontale vale',vx:6:2);
writeln('la componente verticale vale',vy:6:2);
ts:=vy/g;
writeln('tempo in cui si raggiunge vy massima',ts:6:2);
altezza:=vy*ts-g*ts*ts/2;
writeln('altezza massima raggiunta salendo',altezza:6:2);
td:=sqrt(2*altezza/g);
writeln('tempo impiegato a scendere fino al suolo',td:6:2);
tsd:=ts+td;
writeln('tempo totale impiegato nella traiettoria',tsd:6:2);
spazio:=vx*tsd;
writeln('distanza raggiunta alla fine della traiettoria=',spazio:6:2);
writeln;
dt:=0;
dt:=0;
vyd:=0;
tempox:=(trunc(ts)+2)*k;
writeln('tempo':10,'vys':10,'spazio':10,'vyd':10,'distanza':10);
for a:=1 to tempox do
begin
vyt:=vy-g*dt;
hs:=vy*dt-g*dt*dt/2;
st:=vx*dt;
vyd:=g*dt;
sx:=st+vx*dt;
write(dt:10:2); writeln(vyt:10:2);writeln(hs:10:2);writeln(st:10:2);
writeln(vyd:10:2);writeln(sx:10:2);
dt:=dt*+passo;
end;
end;

 begin
 clrscr;
 esegue;
 end.
Ultima modifica effettuata da Phi 28/04/11 16:04
aaa
26/04/11 11:31
XBarboX
CoordinataX = VelocitàX * Istante t
CoordinataY = VelcoitàY * tempo - 0.5 * AccelerazioneDiGravità * tempo^2

VelocitàX e VelocitàY le trovi in base all'inclinazione del vettore V con seno e coseno

aaa
26/04/11 17:02
Poggi Marco
Ciao!

Cosa non hai capito della libreria graph?
Prova a dare un occhiata qui:pierotofy.it/pages/guide/Guida_Pascal/Appendice_8_La_grafica/



aaa
26/04/11 19:01
Poggi Marco
Nessuno potrà scriverti il programma, perché non sappiamo esattamente cosa vuoi fare.
Inoltre, in futuro, dovrai necessariamente acquisire maggiore autonomia.

Posso solo inviarti un semplice esempio di come utilizzare la grafica.
program ProvaGrafica;
uses crt,graph;

function inizio_graf:boolean;  // funzione d' inizializzazione della grafica
var sg,ng,ec:smallint;
begin
 sg:=detect;  // in sg, viene inserito il codice della scheda video
 initgraph(sg,ng,' ');  // inizializzazione della modalità grafica
 ec:=graphresult;
 if ec=grok then  // controllo sulla riuscita dell' operazione
 begin
  inizio_graf:=true;
  settextstyle(DefaultFont, HorizDir, 1);
 end
 else
 begin
  inizio_graf:=false;
  writeln('Errore grafico: '+grapherrormsg(ec));
  readln;
 end;
end;

begin
  if inizio_graf then
  begin
    line(10, 10, 300, 100); // disegna una linea aventi le coordinate 10, 10, 300, 100
    readln;
    CloseGraph; // chiusure della grafica.
  end;
end.


Che compilatore usi?
aaa