program super; uses crt,graph; type pixeltype = record x,y:integer; end; type pointtype = record x3,y3:integer; end; const f:array[1..12] of real = (130.8,138.6,146.8,155.6, 164.8,174.6,185.0,196.0,207.7,220.0,233.1,246.9); temp=100; days_of_week:array[0..6] of string[11] = ('phap„ev','esmasp„ev','teisip„ev','kolmap„ev', 'neljap„ev','reede','laup„ev'); var iscorrectdate:boolean; c1,w1,d,r,e,k,p1,k1,a1,x1,x2,y1,y2,x,y,l,i:integer; p:array[1..6] of pointtype; c,b:word; procedure inputdate ( var p1,k1,a1:integer; var corretly:boolean); begin write('Sisestage oma snnip„ev formaatis pp kk aaaa:'); read(p1,k1,a1); if (p1>=1) and (p1<=31) and (k1>=1) and (k1<=12) and (a1>=1900) and (a1<=3000) then corretly:=true else corretly:=false; end; procedure writeday (var p1,k1,a1:integer); begin if k1<3 then begin k1:=k1+10; a1:=a1-1; end; k1:=k1-2; c1:=a1 div 100; a1:=a1 mod 100; w1:=abs(trunc(2.6*k1-0.2)+p1+a1 div 4+a1+c1 div 4-2*c1) mod 7; writeln(days_of_week[w1]); end; procedure drawlines (var x1,x2,y1,y2:integer; var d,r,e:integer); begin d:=detect; initgraph(d,r,'c:\bp\bgi'); e:=graphresult; if e<> grok then writeln(grapherrormsg(e)) else begin settextstyle(4,0,2); x1:=getmaxx div 4; y1:=getmaxy div 4; x2:=3*x1; y2:=3*y1; rectangle(x1,y1,x2,y2); setviewport(x1+1,y1+1,x2-1,y2-1,clipon); repeat setcolor(succ(random(16))); line(random(x2-x1),random(y2-y1), random(x2-x1),random(y2-y1)) until KeyPressed; if readkey=#0 then d:=ord(ReadKey); CloseGraph; end; end; procedure drawellipses (var d,r,e:integer); begin d:=detect; initgraph(d,r,'c:\bp\bgi'); e:=graphresult; if e<> grok then writeln(grapherrormsg(e)) else begin d:=getmaxx div 4; r:=getmaxy div 4; rectangle(d,r,3*d,3*r); setviewport(d+1,r+1,3*d-1,3*r-1,clipon); repeat setfillstyle(random(12),random(succ(getmaxcolor))); setcolor(random(succ(getmaxcolor))); sector(random(getmaxx div 2),random(getmaxy div 2), random(360),random(360),random(getmaxx div 5),random(getmaxy div 5)); fillellipse(random(getmaxx div 2),random(getmaxy div 2), random(getmaxx div 5),random(getmaxy div 5)) until keypressed ; if readkey=#0 then d:=ord(ReadKey); CloseGraph; end; end; procedure drawbars (var d,r,e:integer); begin d:=detect; initgraph(d,r,'c:\bp\bgi'); e:=graphresult; if e<> grok then writeln(grapherrormsg(e)) else begin d:=getmaxx div 4; r:=getmaxy div 4; rectangle(d,r,3*d,3*r); setviewport(d+1,r+1,3*d-1,3*r-1,clipon); repeat setfillstyle(random(12),random(succ(getmaxcolor))); bar(random(getmaxx),random(getmaxy),random(getmaxx),random(getmaxy)); until keypressed ; if readkey=#0 then d:=ord(ReadKey); CloseGraph; end; end; procedure drawpolygons (var d,r,e:integer); begin d:=detect; initgraph(d,r,'c:\bp\bgi'); e:=graphresult; if e<> grok then writeln(grapherrormsg(e)) else begin d:=getmaxx div 4; r:=getmaxy div 4; rectangle(d,r,3*d,3*r); setviewport(d+1,r+1,3*d-1,3*r-1,clipon); repeat setfillstyle(random(12),random(succ(getmaxcolor))); setcolor(random(succ(getmaxcolor))); c:=random(4)+3; for b:=1 to c do with p[b] do begin x3:=random(getmaxx div 2); y3:=random(getmaxy div 2); end; fillpoly(c,p) until keypressed; if readkey=#0 then d:=ord(ReadKey); CloseGraph; end; end; procedure drawputpixels (var x1,x2,y1,y2,d,r,e:integer); begin d:=detect; initgraph(d,r,'c:\bp\bgi'); e:=graphresult; if e<> grok then writeln(grapherrormsg(e)) else begin x1:=getmaxx div 4; y1:=getmaxy div 4; x2:=3*x1; y2:=3*y1; rectangle(x1,y1,x2,y2); setviewport(x1+1,y1+1,x2-1,y2-1,clipon); repeat x:=random(x2-x1); y:=random(y2-y1); setcolor(succ(random(16))); putpixel(random(x),random(y),succ(random(16))); until KeyPressed; if readkey=#0 then d:=ord(ReadKey); CloseGraph; end; end; {procedure muusika ; begin for l:=0 to 3 do for i:=1 to 12 do begin sound(round(f[i]*(1 shl l))); delay(temp); nosound; end; for l:=3 to 0 do for i:=12 downto 1 do begin sound(round(f[i]*(1 shl l))); delay(temp); nosound; end; end;} begin clrscr; textcolor(12); writeln('Tere !!!'); writeln(' Vaata palun graafikat !!!'); writeln(' Loodan,et sulle tema meeldib!!!'); readln; clrscr; textcolor(1); gotoxy(15,10);write('See on sirged!!!');readln; drawlines ( x1,x2,y1,y2,d,r,e); textcolor(2); gotoxy(15,10);write('See on rindid ja ellipsid!!!');readln; drawellipses( d,r,e); gotoxy(15,10);write('See on sirged nelinurgid!!!');readln; drawbars ( d,r,e); gotoxy(15,10);write('See on mitmenurgid !!!');readln; drawpolygons (d,r,e); gotoxy(15,10);write('See on punktid !!!');readln; drawputpixels (x1,x2,y1,y2,d,r,e); readln; textcolor(14); writeln(' See on käik!!!');textcolor(14); writeln(' Suur ait„h!!!!!');textcolor(14); writeln('Uue kohtumiseni!!!'); readln; { muusika;} repeat textcolor(2); inputdate(p1,k1,a1,iscorrectdate); if not iscorrectdate then writeln('Sisestage, palun, äige kuup„ev!') until iscorrectdate; writeday(p1,k1,a1);textcolor(2); writeln('*******Ynnitlen sind synnipaevaga!!!*******');textcolor(2); writeln('************Palju ynne teile!!!!***********'); end.