<span>program corablik;
uses Graph, Crt;
var
grDriver: integer;
grMode: integer;
ErrCode: integer;
x,y,y0,a,b: integer;{a,b-переменные для линии моря, чтоб они не зависели от х,у}
</span><span>procedure more(a,b:integer);
begin
moveto(0,y0);
setcolor(blue);
for a:=0 to 680 do{слева направо рисуем синусоиду синего чвета}
begin
b:=y0-round(sin(a*pi/180)*30);{30-коэффициент масштабирования по оси Х,
чем больше, тем волна круче}
lineto(a,b);
end;
end;</span> <span> begin
grDriver := Detect;
InitGraph(grDriver, grMode, '..\BGI');
ErrCode := GraphResult;
y0 := 250;
if ErrCode = grOk then
begin
x:=600;
while x>=0 do{лучше использовать цикл while, можно менять величину шага,
что тоже влияет на скорость и частоту смены картинки}
begin
cleardevice;
more(a,b);{рисуем волну}
setcolor(white);{устанавливаем цвет кораблика}
y:=y0-40-round(sin(x*pi/180)*30);{движемся по волне}
MoveTo(x - 40, y + 20);
LineTo(x - 20, y + 40);
LineTo(x + 20, y + 40);
LineTo(x + 40, y + 20);
LineTo(x - 40, y + 20);
MoveTo(x + 15, y + 20);
LineTo(x + 15, y - 40);
LineTo(x - 20, y + 20);
LineTo(x + 15, y + 20);
delay(100); {нормальная скорость, если модули *.TPL не глючные как у Вас,
время должно быть в миллисекундах, а не в каких-нибудь наносекундах}
x:=x-2;{шаг движения}
end;
end
else Writeln('Graphics error: ', GraphErrorMsg(ErrCode));
Settextstyle(0,0,3);{устанавливаем стиль шрифта}
cleardevice;
setcolor(red);
OuttextXY(200,240,'Rejs zavershen!');{выводим надпись}
readln;
CloseGraph;
end.</span>
1)
dopustim svet 1 bit. pixel=80x50
pixel=4000
razmer=4000x svet(1)
razmer=4000
2)
svetnaya paltira=2^5
znachit svet=5
pixel=80x50
pixel=4000
razmer=4000x5
razmer=20000
3)
Если от A до D, то верно.
A→B→D = 9 + 4 = 13
A→C→D = 7 + 8 = 15
A→B→C→D = 9 + 6 + 8 = 23
A→C→B→D = 7 + 6 + 4 = 17
Var a,b,c,m:integer;
function min(x,y:integer):integer;
begin
if x<y then min:=x else min:=y;
end;
begin
write('a='); readln(a);
write('b='); readln(b);
write('c='); readln(c);
m:=min(min(a,b),c);
writeln('min=',m);
<span>end.
Пример:
a=5
b=3
c=8
<span>min=3
</span></span>