Program eksam; uses crt; var a,b:integer; summa:integer; vahe,korrutis,jagatis:integer; koht:integer; abi,loendur:integer; c, veakood:integer; Procedure kursor_tagasi; BEGIN asm mov ah,1 mov ch,6 mov cl,7 int 10h end END; Procedure kaota_kursor; BEGIN asm mov ah,1 mov ch,1 mov cl,0 int 10h end END; procedure servad; var i: integer; begin clrscr; textbackground(green); gotoxy(1, 1); for i:=1 to 80 do write(' '); for i:=1 to 24 do begin gotoxy( 1, i); write(' '); gotoxy(80, i); write(' '); end; gotoxy(1, 24); for i:=1 to 80 do write(' '); textbackground(black); end; function algus1:integer; const menyy:array[1..7] of string[13]=('Liitmine','Lahutamine','Korrutamine', 'Jagamine','Tekstlesanne','Värrand','Läpetamine'); procedure kala(var v : integer; v1 : integer); begin gotoxy(30,v+10); textattr:=7; write(menyy[v]); v:=v1; gotoxy(30,v+10); textattr:=$2f; write(menyy[v]); end; var valik ,i : integer; begin kaota_kursor; servad; gotoxy(10,4);writeln('Programm annab lesanded sellises j„rjekorras nagu nad on'); gotoxy(10,5);writeln('toodud mens. Valida saab, millisest lesandest alustad.'); gotoxy(10,6);writeln('Kui valid lesanded läpupoolt, ei pea eelnevaid lahendama.'); gotoxy(28,8);writeln('Head lahendamist!'); for i:=2 to 7 do begin gotoxy(30,i+10); write(menyy[i]); end; gotoxy(30,11); textattr:=$2f; write(menyy[1]); valik:=1; repeat case readkey of #0:case readkey of #72: if valik>1 then kala(valik,valik-1); #80: if valik<7 then kala(valik,valik+1); end; #13:break; end; until false; algus1:=valik; textattr:=$7; kursor_tagasi; end; procedure lopp; begin writeln('Kuna Sa läpuni ei viitsinud lahendada, siis tulemust ka teada ei saa!'); delay(1500); koht:=7; clrscr; end; procedure liitmine; begin a:=random(50)+1; b:=random(50)+1; write(a,'+',b,'='); readln(summa); if summa=0 then begin writeln('Juba sai siiber????');delay(800); lopp; end else if summa=a+b then begin writeln('Vastus on äige!');delay(800); koht:=2; end else begin writeln('Vastus on vale!'); sound(700);delay(300);nosound; writeln('åige vastus on hoopis ',a+b); delay(1500); loendur:=loendur+1; koht:=1; end; end; procedure lahutamine; begin repeat a:=random(50)+1; b:=random(50)+1 until a<>b; if b>a then begin abi:=b; b:=a; a:=abi; end; write(a,'-',b,'='); readln(vahe); if vahe=0 then lopp else if vahe=a-b then begin writeln('Vastus on äige!'); delay(800); koht:=3; end else begin writeln('Vastus on vale!'); sound(700);delay(300);nosound; writeln('™ige vastus on ',a-b); delay(1500); loendur:=loendur+1; koht:=1; end; end; procedure korrutamine; begin a:=random(20)+1; b:=random(20)+1; write(a,'*',b,'='); readln(korrutis); if korrutis=0 then lopp else if korrutis=a*b then begin writeln('Vastus on äige!'); delay(800); koht:=4; end else begin writeln('Vastus on vale!'); sound(700);delay(300);nosound; writeln('™ige vastus on ',a*b); delay(1500); loendur:=loendur+1; koht:=3; end; end; procedure jagamine; begin a:=random(20)+1; b:=random(20)+1; write(a*b,':',b,'='); readln(jagatis); if jagatis=0 then lopp else if jagatis=a then begin writeln('Vastus on äige!'); delay(800); koht:=5; end else begin writeln('Vastus on vale!'); sound(700);delay(300);nosound; writeln('™ige vastus on ',a); delay(1500); loendur:=loendur+1; koht:=3; end; end; procedure tekstylesanne; var nimed:array[0..3] of string; n, i, arv, sook, abi,oun:integer; begin nimed[1]:='Annel'; nimed[2]:='Lehmal'; nimed[3]:='Seal'; nimed[0]:='Merlel'; begin arv:=random(4); repeat oun:=random(30)+1; sook:=random(10)+1 until oun<>sook; if(sook>oun) then begin abi:=sook; sook:=oun; oun:=abi; end; writeln(nimed[arv], ' on ',oun,' äuna. Mitu äuna j„„b tal alles, kui ta s””b ' ,sook,' äuna „ra?'); readln(n); if n=0 then lopp else if n=oun-sook then begin writeln('Vastus on äige.');delay(800); koht:=6; end else begin writeln('Vastus on vale!'); sound(700);delay(300);nosound; writeln('åige vastus on ',oun-sook); delay(1500); koht:=5; loendur:=loendur+1; end; end; end; procedure vorrand; var x1,x2,x3,x:integer; begin repeat x1:=random(9)+1; x2:=random(9)+1; x3:=random(9)+1 until x2*x3<>x1; writeln('Lahenda v”rrand.'); writeln(' x+',x1 ); writeln(' ----=',x2,' '); writeln(' ',x3,' '); readln(x); if x=0 then lopp else if x=x2*x3-x1 then if x<0 then begin writeln('Vastus on ”ige!'); writeln('Oled tubli, et tunned juba negatiivseid arve.'); delay(1200); koht:=10; end else begin writeln('Vastus on ”ige!');delay(800); koht:=10; end else begin writeln('Vastus on vale!'); sound(700);delay(300);nosound; writeln('™ige vastus on ',x2*x3-x1); delay(1500); loendur:=loendur+1; koht:=5; end; end; begin randomize; clrscr; kaota_kursor; servad; gotoxy(10,15); writeln('Tore, et tulid lesandeid lahendama!'); gotoxy(10,17);writeln('Koostaja Eda Koort'); gotoxy(10,19);writeln('T„iendavad ja parandusettepanekud saada aadressil eda@lin2.tpu.ee'); delay(2500); kursor_tagasi; clrscr; koht:=algus1; repeat clrscr; gotoxy(10,25);writeln('V„ljumiseks sisesta 0'); gotoxy(5,2); case koht of 1:liitmine; 2:lahutamine; 3:korrutamine; 4:jagamine; 5:tekstylesanne; 6:vorrand; 7:begin clrscr; halt; end; end; until koht=10; clrscr; writeln('Vastasid valesti ',loendur,' korda.');delay(1000); kaota_kursor; servad; gotoxy(10,14); if loendur=0 then writeln('Oled v„ga tubli!'); if loendur>=7 then writeln('åpi rohkem matemaatikat, siis oled muidu ka targem!'); gotoxy(10,16);writeln('Tule teinekord j„lle!');delay(1000); kursor_tagasi; textmode(lastmode); clrscr; end.