Free pascal-ban szeretnék függvényt ábrázolni, ami 1 görbe. Hogyan lehet azt megcsinálni szépen?
Egy olyan programot írtam ami egy test gyorsulásából rajzol egy görbét egy koordináta rendszerben (y: m , x: s) csak az a baj vele hogy nagyobb értékeknél (10 fölött) már nem görbét ad hanem vonalakat (túlhúzva az előzőnél. M1 így nem nagyon érthető ezért itt a free pascal kód, másoljátok be adjatok meg először egy 8-nál kisebb értéket majd mondjuk egy 20-nál nagyobbat és meglátjátok mi a probléma vele:
program gyorsulas;
uses graph, wincrt;
var gd,gm: integer;
a,b,c,d,e,f,g:integer;
begin
a := 100;
b := 350;
e := 100;
f := 350;
g := 0;
writeln('add meg a test gyorsulását!(m/s^2)');
readln(c);
d:=c;
{ grafika inicializalasa }
gd := d4bit;
gm := m640x480;
initgraph(gd,gm,'');
{ rajzolas }
setcolor(red);
line(80,350,400,350);
outtextxy(350,365,'t (s)');
line(100,100,100,370);
outtextxy(80,110,'s');
outtextxy(70,120,'(m)');
outtextxy(105,355,'0');
line(95,300,105,300);
line(95,250,105,250);
line(95,200,105,200);
line(95,150,105,150);
outtextxy(75,305,'50');
outtextxy(75,255,'100');
outtextxy(75,205,'150');
outtextxy(75,155,'200');
line(150,345,150,355);
line(200,345,200,355);
line(250,345,250,355);
line(300,345,300,355);
line(350,345,350,355);
outtextxy(155,355,'50');
outtextxy(205,355,'100');
outtextxy(255,355,'150');
outtextxy(305,355,'200');
outtextxy(355,355,'250');
{ciklus, a függvény kirajzolása}
repeat
setcolor(yellow);
e:=a-d;
f:=b+c+d;
a:=a+d;
b:=b-(c+d);
c:=c+d;
delay(100);
line(e,f,a,b);
writeln(c,'m/s');
g:=g+c;
writeln(g,'m');
writeln(a-100,'s');
writeln;
until b<155;
readkey;
{ grafikus mod bezarasa }
closegraph;
end.
a válaszokat előre is köszönöm!
Bár nem igazán értem miért jó ez a grafikon, mindenesetre a hibát a
e:=a-d;
f:=b+c+d;
a:=a+d;
b:=b-(c+d);
sorokban követted el. Rosszul számolod ki (és feleslegesen) az előző pontot. A négy sor helyesen:
e:=a;
f:=b;
a:=a+d;
b:=b-(c+d);
vagy
a:=a+d;
b:=b-(c+d);
e:=a-d;
f:=b+c+d;
Így folyamatos grafikont kapsz.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!