Vrnitev nazaj

PROGRAMSKA KODA
PROGRAMA POŠEVNI MET

Siinbu

XShell TestCase2 :

width 1058,

height 515,

title "Bouncing Ball",

x 10,

y 20,

background "#71C69E79FFFF";

XWidget XmBulletinBoard TestCase2.form :

background "Black",

marginWidth 0,

marginHeight 0,

x 0,

y 0,

width 1020,

height 507;

XWidget XmPushButton form.start :

labelString "START",

x 12,

y 106,

width 47,

height 25;

XWidget XmPushButton form.reset :

labelString "RESET",

x 73,

y 107,

width 48,

height 26;

XWidget XmPushButton form.stop :

labelString "STOP",

x 11,

y 136,

width 49,

height 25;

XWidget XmLabel form.ball :

x 199,

y 500,

labelType "PIXMAP",

labelPixmap "/usr/local/colos/EXAMPLES/XDEV/DATA/bigGreenBall.xpm.Z",

marginWidth 0,

marginHeight 0,

background "Green";

XWidget XmPushButton form.quit :

x 75,

y 136,

width 46,

height 25,

labelString "QUIT";

XWidget XmSeparator form.Separator_1 :

orientation "VERTICAL",

height 513,

width 5,

x 196,

y 1;

XWidget XmSeparator form.Separator_2 :

orientation "HORIZONTAL",

width 195,

height 5,

x 1,

y 291,

background "Red";

XWidget XmSeparator form.Separator_3 :

orientation "HORIZONTAL",

width 197,

height 5,

x 0,

y 163,

background "Red",

foreground "Green";

XWidget XmSeparator form.Separator_4 :

orientation "VERTICAL",

height 81,

width 4,

x 95,

y 380,

background "Green";

XWidget XmPushButton form.naslov_1 :

x 7,

y 5,

width 185,

height 26,

labelString "PEF MARIBOR-oddelek za fiziko",

background "Green";

XWidget XmPushButton form.button_6 :

x 9,

y 28,

width 182,

height 24,

background "Green",

labelString "avtorja: Andrej FLOGIE";

XWidget XmPushButton form.button_7 :

x 9,

y 51,

width 180,

height 22,

background "Green",

labelString " Dusan KLEMENCIC";

XWidget XmPushButton form.button_9 :

x 8,

y 73,

width 183,

height 23,

background "Green",

labelString "mentor: mag. Marko MARHL";

XWidget XmSeparator form.Separator_10 :

orientation "HORIZONTAL",

width 196,

height 5,

x 1,

y 96,

background "Red",

foreground "Red";

XWidget XmPushButton form.POSPESI :

x 133,

y 108,

width 60,

height 25,

background "Gray100",

labelString "POSPESI";

XWidget XmPushButton form.UPOCASNI :

x 133,

y 136,

width 60,

height 24,

background "Gray100",

labelString "UPOCASNI";

 

Variables

int Width, Height;

float v0 = 72.0;

double kot = 3.141593/4;

float g = 9.81;

char textŠ255];

float t=0.0;

float d,h;

float t1, t2;

int ch = 0;

float v = 0.0;

float vx = 0.0;

float vy = 0.0;

float v0x = 0.0;

float v0y = 0.0;

float x = 0.0;

float y = 0.0;

int x1 = 0;

int y1 = 0;

int ch1=1;

int n = 10;

int ch2 = 0;

int ch3 = 0;

int vy1;

int vx1;

 

Program

XGetVal TestCase2 : width Width;

XGetVal TestCase2 : height Height;

 

#vpis zacetnih vrednosti v okna;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

t2=2*v0*sin(kot)/g;

t1=t2/2;

#hitrost

XWidget XmArrowButton TestCase2.povH :

x 15, y 180, width 20 , height 20;

XWidget XmArrowButton TestCase2.zmaH :

x 170, y 180, width 20, height 20,

arrowDirection "ARROW_DOWN";

sprintf(text,"v0=%.1f m/s",v0);

XWidget XmLabel TestCase2.oknoH :

x 40, y 180, width 120, height 20,

labelString text;

#kot

kot=kot*180/3.141593;

XWidget XmArrowButton TestCase2.povK :

x 15, y 220, width 20, height 20;

XWidget XmArrowButton TestCase2.zmaK :

x 170, y 220, width 20, height 20,

arrowDirection "ARROW_DOWN";

sprintf(text,"kot=%.1lf stopinj",kot);

XWidget XmLabel TestCase2.oknoK :

x 40, y 220, width 120, height 20,

labelString text;

printf(text,"kot=%.1lf stopinj",kot);

kot=kot*3.141593/180;

#pospesek

XWidget XmArrowButton TestCase2.povG:

x 15, y 260, width 20, height 20;

XWidget XmArrowButton TestCase2.zmaG:

x 170, y 260, width 20, height 20,

arrowDirection "ARROW_DOWN";

sprintf(text,"g=%.2f m/s2",g);

XWidget XmLabel TestCase2.oknoG :

x 40, y 260, width 120, height 20,

labelString text;

printf(text,"g=%.2f m/s2",g);

#horizontalna komponenta hitrosti na zacetku

sprintf(text,"vx(0)=%.1f m/s",v0x);

XWidget XmLabel TestCase2.oknoHX0 :

x 40, y 310, width 120, height 20,

labelString text;

printf(text,"vx(0)=%.1f m/s",v0x);

#veritkalna komponenta hitrosti na zacetku

sprintf(text,"vy(0)=%.1f m/s",v0y);

XWidget XmLabel TestCase2.oknoHY0 :

x 40, y 340, width 120, height 20,

labelString text;

printf(text,"vy(0)=%.1f m/s",v0y);

#ternutna hitrost

sprintf(text,"v=%.1f m/s",v);

XWidget XmLabel TestCase2.oknoHT :

x 5, y 380, width 90, height 20,

labelString text;

printf(text,"v=%.1f m/s",v);

#trenutna horiznotalna hitrost

sprintf(text,"vx=%.1f m/s",vx);

XWidget XmLabel TestCase2.oknoHXT:

x 5, y 410, width 90, height 20,

labelString text;

printf(text,"vx=%.1f m/s",vx);

#trenutna vertikalna hitrost

sprintf(text,"vy=%.1f m/s",vy);

XWidget XmLabel TestCase2.oknoHYT:

x 5, y 440, width 90, height 20,

labelString text;

printf(text,"vy=%.1f m/s",vy);

#trenutni cas

sprintf(text,"t=%.1f s",t);

XWidget XmLabel TestCase2.oknoT:

x 100, y 380, width 90, height 20,

labelString text;

printf(text,"t=%.1f s",t);

#trenutna vrednost x komponente

sprintf(text,"x=%.1f m",x);

XWidget XmLabel TestCase2.oknoX:

x 100, y 410, width 90, height 20,

labelString text;

printf(text,"x=%.1f m",x);

#trenutna vrednost y komponente

sprintf(text,"y=%.1f m",y);

XWidget XmLabel TestCase2.oknoY:

x 100, y 440, width 90, height 20,

labelString text;

printf(text,"y=%.1f m",y);

#opozorilo-negativne vrednosti

sprintf(text,"Ne mores vec nizati");

XWidget XmLabel TestCase2.oknoOS:

x 25, y 480, width 150, height 20,

labelString text;

XUnmanage oknoOS;

sprintf(text,"Ne mores vec visati");

XWidget XmLabel TestCase2.oknoOZ:

x 25, y 480, width 150, height 20,

labelString text;

XUnmanage oknoOZ;

#najvisja tocka-hitrost

sprintf(text,"v=%.1f m/s",v);

XWidget XmLabel TestCase2.oknoHH:

x 600, y 5, width 90, height 20,

labelString text;

XUnmanage oknoHH;

#najvisja tocka - horizontalna hitrost

sprintf(text,"vx=%.1f m/s",vx);

XWidget XmLabel TestCase2.oknoHXH:

x 600, y 35, width 90, height 20,

labelString text;

XUnmanage oknoHXH;

#najvisja tocka - vertikalna hitrost

sprintf(text,"vy=%.1f m/s", vy);

XWidget XmLabel TestCase2.oknoHYH:

x 600, y 65, width 90, height 20,

labelString text;

XUnmanage oknoHYH;

#najvisja tocka - cas

sprintf(text,"t=%.1f s",t);

XWidget XmLabel TestCase2.oknoTH:

x 700, y 5, width 90, height 20,

labelString text;

XUnmanage oknoTH;

#najvisja tocka - dolzina

sprintf(text,"x=%.1f m",x);

XWidget XmLabel TestCase2.oknoXH:

x 700, y 35, width 90, height 20,

labelString text;

XUnmanage oknoXH;

#najvisja tocka - visina

sprintf(text,"y=%.1f m",y);

XWidget XmLabel TestCase2.oknoYH:

x 700, y 65, width 90, height 20,

labelString text;

XUnmanage oknoYH;

#najnizja tocka - hitrost

sprintf(text,"v=%.1f m/s",v);

XWidget XmLabel TestCase2.oknoHD:

x 900, y 320, width 90, height 20,

labelString text;

XUnmanage oknoHD;

#najnizja tocka - horizontalna hitrost

sprintf(text,"vx=%.1f",vx);

XWidget XmLabel TestCase2.oknoHXD:

x 900, y 350, width 90, height 20,

labelString text;

XUnmanage oknoHXD;

#najnizja tocka - vertikalna hitrost

sprintf(text,"vy=%.1f",vy);

XWidget XmLabel TestCase2.oknoHYD:

x 900, y 380, width 90, height 20,

labelString text;

XUnmanage oknoHYD;

#najnizja tocka - cas

sprintf(text,"t=%.1f s",t);

XWidget XmLabel TestCase2.oknoTD:

x 900, y 410, width 90, height 20,

labelString text;

XUnmanage oknoTD;

#najnizja tocka - dolzina

sprintf(text,"x=%.1f m",x);

XWidget XmLabel TestCase2.oknoXD:

x 900, y 440, width 90, height 20,

labelString text;

XUnmanage oknoXD;

#najnizja tocka - visina

sprintf(text,"y=%.1f m",y);

XWidget XmLabel TestCase2.oknoYD:

x 900, y 470, width 90, height 20,

labelString text;

XUnmanage oknoYD;

#vektor hitrosti - smer y

vy1=(int) vy;

XWidget XmSeparator form.smery:

orientation "VERTICAL",

width 1,

height vy1,

x 205,

y 507-vy1,

background "Red";

#vektor hitrosti - smer x

vx1=(int) vx;

XWidget XmSeparator form.smerx:

orientation "HORIZONTAL",

width vx1,

height 2,

x 205,

y 507,

background "Red";

Loop

x = x+1;

vx = v0*cos(kot);

t = x/vx;

y = v0*sin(kot)*t-g*t*t/2;

v = sqrt(v0*v0-2*g*(v0*sin(kot)*t-g*t*t/2));

vy = v0*sin(kot)-g*t;

t2 = 2*v0*sin(kot)/g;

t1 = t2/2;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

sprintf(text,"t=%.1f s",t);

XSetVal oknoT : labelString text;

printf(text,"t=%.1f s",t);

sprintf(text,"x=%.1f m",x);

XSetVal oknoX : labelString text;

sprintf(text,"y=%.1f m",y);

XSetVal oknoY : labelString text;

x1 = (int) x;

y1 = (int) y;

if (x1>=Width-210) š

ch1=0;

XUnmanage ball;

}

if (ch1=1) š

XSetVal ball: x x1+199,y Height-y1-15;

}

vy1=(int) vy;

vx1=(int) vx;

if (vy1>=0) š

XSetVal smery : x x1+205, y Height-y1-7-vy1, height vy1;

}

else š

vy1=-vy1;

if (y1+7>=vy1) š

XSetVal smery : x x1+205, y Height-y1-7, height vy1;

}

else š

vy1=y1+5;

XSetVal smery : x x1+205, y Height-y1-7, height vy1;

}

}

if (x1+205+vx1<=Width) š

XSetVal smerx : x x1+205, y Height-y1-7, width vx1;

}

else š

if (x1+215<=Width) š

vx1=Width-x1-205;

XSetVal smerx : x x1+205, y Height-y1-7, width vx1;

}

else š

XUnmanage smerx;

XUnmanage smery;

vx1=-1;

}

}

XDelay n;

if (ch==0) š

if (t>=t1) š

XBell(100);

XManage oknoHH;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHH:labelString text;

XManage oknoHXH;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXH: labelString text;

XManage oknoHYH;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYH: labelString text;

XManage oknoTH;

sprintf(text,"t=%.1f s",t);

XSetVal oknoTH: labelString text;

XManage oknoXH;

sprintf(text,"x=%.1f m",x);

XSetVal oknoXH: labelString text;

XManage oknoYH;

sprintf(text,"y=%.1f m",y);

XSetVal oknoYH: labelString text;

ch=1;

}

}

if (t>=t2) š

XManage oknoHD;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHD:labelString text;

XManage oknoHXD;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXD: labelString text;

XManage oknoHYD;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYD: labelString text;

XManage oknoTD;

sprintf(text,"t=%.1f s",t);

XSetVal oknoTD: labelString text;

XManage oknoXD;

sprintf(text,"x=%.1f m",x);

XSetVal oknoXD: labelString text;

XManage oknoYD;

sprintf(text,"y=%.1f m",y);

XSetVal oknoYD: labelString text;

x = 0.0;

y = 0.0;

t = 0.0;

v = v0;

vx = v0*cos(kot);

vy = v0*sin(kot);

ch=0;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT: labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT: labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT: labelString text;

sprintf(text,"t=%.1f s",t);

XSetVal oknoT: labelString text;

sprintf(text,"x=%.1f m",x);

XSetVal oknoX: labelString text;

sprintf(text,"y=%.1f m",y);

XSetVal oknoY: labelString text;

XBell(100);

XLoop 0;

}

Callback

POSPESI

activateCallback

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

if (n>=10) š

n=n-9;

}

if (n>=1) š

n=n-1;

}

else š

ch3=1;

XUnmanage oknoOS;

}

Callback

UPOCASNI

activateCallback

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

n = n + 10;

Callback

povG

activateCallback

if (g<=20) š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

g=g+0.1;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

sprintf(text,"g=%.1f m/s2",g);

XSetVal oknoG : labelString text;

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

vy1=(int) vy;

vx1=(int) vx;

XSetVal smery : x x1+205, y Height-y1-12-vy1, height vy1;

XSetVal smerx : x x1+205, y Height-y1-12, width vx1;

}

else š

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

XManage oknoOZ;

ch2=1;

}

Callback

povH

activateCallback

if (v0<=99) š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

v0=v0+1;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

sprintf(text,"v0=%.1f m/s",v0);

XSetVal oknoH : labelString text;

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

vy1=(int) vy;

vx1=(int) vx;

XSetVal smery : x x1+205, y Height-y1-12-vy1, height vy1;

XSetVal smerx : x x1+205, y Height-y1-12, width vx1;

}

else š

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

XManage oknoOZ;

ch2=1;

}

Callback

povK

activateCallback

kot=kot*180/3.141593;

if (kot<=88) š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

kot=kot+1;

kot=kot*3.141593/180;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

kot=kot*180/3.141593;

sprintf(text,"kot=%.1f stopinj",kot);

XSetVal oknoK : labelString text;

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

vy1=(int) vy;

vx1=(int) vx;

XSetVal smery : x x1+205, y Height-y1-12-vy1, height vy1;

XSetVal smerx : x x1+205, y Height-y1-12, width vx1;

}

else š

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

XManage oknoOZ;

ch2=1;

}

kot=kot*3.141593/180;

Callback

quit

activateCallback

XQuit 1;

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

Callback

reset

activateCallback

t=0.0;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=0.0;

y=0.0;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

sprintf(text,"t=%.1f s",t);

XSetVal oknoT : labelString text;

sprintf(text,"x=%.1f m",x);

XSetVal oknoX : labelString text;

sprintf(text,"y=%.1f m",y);

XSetVal oknoY : labelString text;

XUnmanage oknoHH;

XUnmanage oknoHXH;

XUnmanage oknoHYH;

XUnmanage oknoTH;

XUnmanage oknoXH;

XUnmanage oknoYH;

XUnmanage oknoHD;

XUnmanage oknoHXD;

XUnmanage oknoHYD;

XUnmanage oknoTD;

XUnmanage oknoXD;

XUnmanage oknoYD;

x1 = 0;

y1 = 0;

XBell(50);

XSetVal ball : x 199, y Height-20;

ch1=0;

if (ch1==0) š

ch1=1;

XManage ball;

XSetVal ball: x 199, y Height;

}

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

if (vx1==-1) š

XManage smery;

XManage smerx;

}

vy1=(int) vy;

vx1=(int) vx;

XSetVal smery : x x1+205, y Height-y1-12-vy1, height vy1;

XSetVal smerx : x x1+205, y Height-y1-12, width vx1;

Callback

start

activateCallback

XLoop 1;

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

Callback

stop

activateCallback

XLoop 0;

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

Callback

zmaG

activateCallback

if (g>=1) š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

g=g-0.1;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

sprintf(text,"g=%.1f m/s2",g);

XSetVal oknoG : labelString text;

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

}

else š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

XManage oknoOS;

ch3=1;

}

Callback

zmaH

activateCallback

if (v0>=1) š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

v0=v0-1;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

sprintf(text,"v0=%.1f m/s",v0);

XSetVal oknoH : labelString text;

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

vy1=(int) vy;

vx1=(int) vx;

XSetVal smery : x x1+205, y Height-y1-12-vy1, height vy1;

XSetVal smerx : x x1+205, y Height-y1-12, width vx1;

}

else š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

Xmanage oknoOS;

ch3=1;

}

Callback

zmaK

activateCallback

kot=kot*180/3.141593;

if (kot>=1) š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

if (ch3==1) š

ch3=0;

XUnmanage oknoOS;

}

kot=kot-1;

kot=kot*3.141593/180;

v0x=v0*cos(kot);

v0y=v0*sin(kot);

v=v0;

vx=v0*cos(kot);

vy=v0*sin(kot)-g*t;

x=v0*cos(kot)*t;

y=v0*sin(kot)*t-g*t*t/2;

d=v0*v0*sin(2*kot)/g;

h=v0*v0*sin(kot)*sin(kot)/(2*g);

kot=kot*180/3.141593;

sprintf(text,"kot=%.1f stopinj",kot);

XSetVal oknoK : labelString text;

sprintf(text,"vx(0)=%.1f m/s",v0x);

XSetVal oknoHX0 : labelString text;

sprintf(text,"vy(0)=%.1f m/s",v0y);

XSetVal oknoHY0 : labelString text;

sprintf(text,"v=%.1f m/s",v);

XSetVal oknoHT : labelString text;

sprintf(text,"vx=%.1f m/s",vx);

XSetVal oknoHXT : labelString text;

sprintf(text,"vy=%.1f m/s",vy);

XSetVal oknoHYT : labelString text;

vy1=(int) vy;

vx1=(int) vx;

XSetVal smery : x x1+205, y Height-y1-12-vy1, height vy1;

XSetVal smerx : x x1+205, y Height-y1-12, width vx1;

}

else š

if (ch2==1) š

ch2=0;

XUnmanage oknoOZ;

}

XManage oknoOS;

ch3=1;

}

kot=kot*3.141593/180;