Сәлем достар! Паскаль тілінде жазылған электрондық сағаттың коды бар, сол кодтардың әрқайсысының қандай мақсатта қолданылатындығы, яғни қандай рөл атқаратындықтарының мағынасын түсіндіріп жазсаңыздар нұр үстіне нұр қосылар еді)) Және болашақта мен сияқты студенттерге көмек болар еді))
Электрондық сағаттың коды:
uses Dos,Crt,Graph;
var gd,gm,Xc,Yc,c1,c2,c3,c4,c5,c6,
d1,d2,d3,d4,d5,d6,d7,d8:integer;
hr,min,sec,hund:word;
procedure Zero(xn,yn:integer);
begin
Rectangle(0+xn,0+yn,5+xn,10+yn);
end;
procedure One(xn,yn:integer);
begin
Line(5+xn,0+yn,5+xn,10+yn);
end;
procedure Two(xn,yn:integer);
begin
Line(0+xn,0+yn,5+xn,0+yn);
Line(5+xn,0+yn,5+xn,5+yn);
Line(5+xn,5+yn,0+xn,5+yn);
Line(0+xn,5+yn,0+xn,10+yn);
Line(0+xn,10+yn,5+xn,10+yn);
end;
procedure Three(xn,yn:integer);
begin
Line(0+xn,0+yn,5+xn,0+yn);
Line(5+xn,0+yn,5+xn,5+yn);
Line(5+xn,5+yn,0+xn,5+yn);
Line(5+xn,5+yn,5+xn,10+yn);
Line(0+xn,10+yn,5+xn,10+yn);
end;
procedure Fouhr(xn,yn:integer);
begin
Line(0+xn,0+yn,0+xn,5+yn);
Line(5+xn,0+yn,5+xn,5+yn);
Line(5+xn,5+yn,0+xn,5+yn);
Line(5+xn,5+yn,5+xn,10+yn);
end;
procedure Five(xn,yn:integer);
begin
Line(0+xn,0+yn,5+xn,0+yn);
Line(0+xn,0+yn,0+xn,5+yn);
Line(5+xn,5+yn,0+xn,5+yn);
Line(5+xn,5+yn,5+xn,10+yn);
Line(0+xn,10+yn,5+xn,10+yn);
end;
procedure Six(xn,yn:integer);
begin
Line(0+xn,0+yn,5+xn,0+yn);
Line(0+xn,0+yn,0+xn,5+yn);
Line(5+xn,5+yn,0+xn,5+yn);
Line(5+xn,5+yn,5+xn,10+yn);
Line(0+xn,10+yn,5+xn,10+yn);
Line(0+xn,5+yn,0+xn,10+yn);
end;
procedure Seven(xn,yn:integer);
begin
Line(0+xn,0+yn,5+xn,0+yn);
Line(5+xn,0+yn,5+xn,10+yn);
end;
procedure Eight(xn,yn:integer);
begin
Rectangle(0+xn,0+yn,5+xn,10+yn);
Line(0+xn,5+yn,5+xn,5+yn);
end;
procedure Nine(xn,yn:integer);
begin
Line(0+xn,0+yn,5+xn,0+yn);
Line(5+xn,0+yn,5+xn,5+yn);
Line(5+xn,5+yn,0+xn,5+yn);
Line(5+xn,5+yn,5+xn,10+yn);
Line(0+xn,10+yn,5+xn,10+yn);
Line(0+xn,0+yn,0+xn,5+yn);
end;
procedure Number(n,xn,yn:integer);
begin
case n of
0:Zero(xn,yn);
1:One(xn,yn);
2:Two(xn,yn);
3:Three(xn,yn);
4:Fouhr(xn,yn);
5:Five(xn,yn);
6:Six(xn,yn);
7:Seven(xn,yn);
8:Eight(xn,yn);
9:Nine(xn,yn);
end;
end;
procedure KarkasElectro;
begin
{Rectangle(Xc-40,Yc-15,Xc+36,Yc+15);}
putpixel(Xc-40+25,Yc-3,Green);
putpixel(Xc-40+25,Yc+3,Green);
putpixel(Xc-40+50,Yc-3,Green);
putpixel(Xc-40+50,Yc+3,Green);
end;
procedure DrawElectro;
begin
c1:=hr div 10;
c2:=hr mod 10;
c3:=min div 10;
c4:=min mod 10;
c5:=sec div 10;
c6:=sec mod 10;
SetColor(Black);
Number(c1,Xc-40+5,Yc-15+10);
Number(c2,Xc-40+15,Yc-15+10);
Number(c3,Xc-40+30,Yc-15+10);
Number(c4,Xc-40+40,Yc-15+10);
Number(c5,Xc-40+55,Yc-15+10);
Number(c6,Xc-40+65,Yc-15+10);
GetTime(hr,min,sec,hund);
c1:=hr div 10;
c2:=hr mod 10;
c3:=min div 10;
c4:=min mod 10;
c5:=sec div 10;
c6:=sec mod 10;
SetColor(Green);
Number(c1,Xc-40+5,Yc-15+10);
Number(c2,Xc-40+15,Yc-15+10);
Number(c3,Xc-40+30,Yc-15+10);
Number(c4,Xc-40+40,Yc-15+10);
Number(c5,Xc-40+55,Yc-15+10);
Number(c6,Xc-40+65,Yc-15+10);
end;
begin
gd:=0;
initgraph(gd,gm,'');
Xc:=GetMaxX div 2;
Yc:=GetMaxY div 2;
GetTime(hr,min,sec,hund);
KarkasElectro;
repeat
delay(1000);
DrawElectro;
until KeyPressed;
end.