Program dimm; uses graph,crt; var GraphDriver, GraphMode: integer; a1,b1,c1,d1,z,i,a,b,c,d,s,t,u: integer; x,y: LongInt; x1,y1,Kx,Ky,Lx,Ly: integer; Sa,Sb,Sx: real; time: LongInt; pas1,pas: string; Begin clrscr; time:= MemL[0:$046C]; writeln; writeln(' DDDD III MMM MMM MMM MMM'); writeln(' DD DD III MMMM MMMM MMMM MMMM'); writeln(' DD DD III MM MM MM MM MM MM MM MM'); writeln(' DD DD III MM MM MM MM MM MM MM MM'); writeln(' DD DD III MM MMM MM MM MMM MM'); writeln(' DD DD III MM MM MM MM'); writeln(' DD DD III MM MM MM MM'); writeln(' DD DD III MM MM MM MM'); writeln(' DDDD III MM MM MM MM'); writeln; write('ENTER PASSWORD: '); for i:=1 to 10 do Begin pas1:=readkey; pas:=pas+pas1; write('*'); end; writeln; writeln; writeln('IDET PROVERKA PAROLYA...'); for i:=1 to 24 do Begin write('*'); delay(9999); end; if pas='1234567890' then Begin writeln; writeln; writeln('Proverka proshla uspeshno...'); writeln('Moshete polzovatsya programmoy...'); readkey; end else Begin writeln; writeln; writeln('PAROL` NE PRAVILNIY!'); readkey; Sa:=Sa/Sa; end; clrscr; Write('Vvedite a = '); Readln(a); Write('Vvedite b = '); Readln(b); Write('Vvedite c = '); Readln(c); Write('Vvedite d = '); Readln(d); writeln; writeln(' A(',a,';',b,')'); writeln(' B(',c,';',d,')'); writeln; Write('Vvedite s = '); Readln(s); Write('Vvedite t = '); Readln(t); Write('Vvedite u = '); Readln(u); writeln; Writeln(' Uravnenie = ',s,'X + ',t,'Y + ',u,' = 0'); y:=trunc((-u-s)/t);{Naxodim toshki pryamoy} x:=trunc((-u-t)/s); y1:=y; x1:=x; a1:=a; b1:=b; c1:=c; d1:=d; a:=320+(a*20); b:=240-(b*20); c:=320+(c*20); d:=240-(d*20); writeln; writeln('Novie Dannie: '); writeln; writeln(' A(',a,';',b,')'); writeln(' B(',c,';',d,')'); writeln; writeln('Dve tochki pryamoy:'); writeln; writeln(' M(1;',y,')'); writeln(' N(',x,';1)'); writeln; x:=320+(x*20); y:=240-(y*20); writeln('Novie Dannie pryamoy:'); writeln; writeln(' M(340;',y,')');{Tochki pryamoy} writeln(' N(',x,';220)'); writeln; i:=0; repeat i:=i+1; Kx:=340+(340-x)*i;{Naxoshdenie novix tochek} Ky:=y+(y-220)*i; Lx:=x+(x-340)*i; Ly:=220+(220-y)*i; until (abs(Kx)>640) and (abs(Ky)>480) and (abs(Lx)>640) and (abs(Ly)>480); writeln('Bolshie tochki:'); writeln; writeln(' K(',Kx,';',Ky,')'); writeln(' L(',Lx,';',Ly,')'); Sa:=1/2*(1*(1-b1)+x1*(b1-y1)+a1*(y1-1)); {Naxoshdenie ploshadi} Sb:=1/2*(1*(1-d1)+x1*(d1-y1)+c1*(y1-1)); Sx:=Sa*Sb; readkey; GraphDriver:=detect; InitGraph(GraphDriver,GraphMode,'..\BGI'); SetBkColor(9); SetColor(15); SetLineStyle(0,1,1); line(320,20,320,460);{dve osi Ox,Oy} line(20,240,620,240); Circle(320,240,2);{Zentr} z:=20;{Delenie Ox} for i:=1 to 28 do Begin z:=z+20; line(z,236,z,244); end; z:=40;{Delenie Oy} for i:=1 to 20 do Begin z:=z+20; line(316,z,324,z); end; line(320,20,315,40);{Risovanie Ox i Oy} line(320,20,325,40); line(620,240,600,235); line(620,240,600,245); OutTextXY(330,30,'Y'); OutTextXY(600,250,'X'); {OutTextXY(324,245,'0'); - napisat 0} OutTextXY(338,247,'1'); OutTextXY(418,247,'5'); OutTextXY(513,247,'10'); OutTextXY(211,247,'-5'); OutTextXY(108,247,'-10'); OutTextXY(328,57,'9'); OutTextXY(328,137,'5'); OutTextXY(328,337,'-5'); OutTextXY(328,437,'-10'); SetColor(red);{Nachalo risovaniya A i B} SetFillStyle(11,red); FillEllipse(a,b,2,2); OutTextXY(a+3,b-10,'A'); FillEllipse(c,d,2,2); OutTextXY(c+3,d-10,'B'); SetColor(Green);{Tochki pryamoy M i N} SetFillStyle(11,green); FillEllipse(340,y,2,2); OutTextXY(343,y-10,'M'); FillEllipse(x,220,2,2); OutTextXY(x+3,210,'N'); line(340,y,x,220);{Vivod otrezka MN} line(Kx,Ky,Lx,Ly); {OutTextXY(10,10,'Koordinati tochek:'); {OutTextXY(10,20,' A = '); OutTextXY OutTextXY(10,30,' B = '); OutTextXY(10,40,' M = '); OutTextXY(10,50,' N = ');} SetTextStyle(7,0,5); SetColor(brown); OutTextXY(470,400,'DIMM'); readkey; CloseGraph; writeln; writeln(' Sa = ',Sa:6:2); writeln(' Sb = ',Sb:6:2); writeln(' Sx = ',Sx:6:2); writeln; if Sx>0 then writeln('Otvet: Tochki leshat v ODNOY ploskosti!') else writeln('Otvet: Tochki leshat v RAZNIX ploskostyax!'); writeln; time := MemL[0:$046C] - Time; if time < 0 Then time:=time + $1800B0; writeln('Vremya vipolneniya = ', (time / 18.2):6:2,' sekund'); readkey; end.