и двоеточия, разделяющего часы, минуты
Совет 2 (Паскаль)
Позиции цифр на экране и двоеточия, разделяющего часы, минуты и секунды, подбирались экспериментальным путем. В программе не очень изящно реализовано отображение двоеточия. Было бы лучше, если бы оно мигало с частотой раз в секунду. Но усовершенствования такого рода мы вполне доверяем читателям.
Совет 3 (Паскаль)
В отличие от приводившейся выше функции cifra здесь использован одномерный массив двоичных чисел, что уменьшает объем используемых данных и несколько ускоряет работу программы (операции с элементами одномерных массивов выполняются быстрее). Прощупывание двоичных битов ведется в цикле путем сдвига соответствующей константы на нужное число разрядов влево и логического умножения на код соответствующих перемычек.
Совет 4 (Паскаль)
Программа оформлена в виде бесконечного цикла, работа которого прерывается нажатием любой клавиши.
Программа 8_16.pas
program time;
uses Crt, Dos, Graph;
var
gd,gm,k:integer;
hi,ml,si,h2,m2,s2,hs2:word;
procedure cifra(x,y,n:integer); type
a4=array [0..4] of integer;
a6=array [1..7] of byte; const
a=4; b=20; c=a+a+b;
dl:a4=(a,b,a,-a,-b);
d2:a4=(-a,0,a,a,0);
dx:a6=(0,0,0,0,c,0,c);
dy:a6=(0,c,2*c,0,0,c,c);
q:array[0..9]of byte=
($5F,$5,$76,$75,$2D,$79,$7B,$45,$7F,$7D); var
xy:array [0..5] of PointType;
j,k,d:byte; begin
setfillstyle(0,0);
bar(x-a,y-a,x+(c+a+a),y+2*(c+2*a));
d:=q[n];
for j:=1 to 7 do begin
if ((d) and ($80 shr j))=0 then continue;
ху[0]. х:=x+dx[j];
ху[0].y:=y+dy[j];
for k:=l to 5 do if j<4 then begin
xy[k].x:=xy[k-l].x+dl[k-l];
xytk].y:=xy[k-l].y+d2[k-l];
end
else
begin
xy[k].x:=xy[k-l].x-d2[k-l];
xy[k].y:=xy[k-l].y+dl[k-l];
end;
setfillstyle(l,14);
fillpoly(6,xy);
end;
end;
begin gd:=0;
initgraph(gd,gm,'');
settextstyle(0,0,4);
setcolor(14);
outtextxy(136,44,':');
{ Разделитель часов и минут }
outtextxy(256,44,':');
{ Разделитель минут и секунд }
setcolor(4);
hi:=100; { Начальные установки }
ml:=100;
sl:=100;
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий