ніе10. Дано 2 прізвища визна яка з них довші
Program as;
Uses crt;
Var a, b: string; c, d: integer;
Begin clrscr;
A: = 'kolin';
B: = 'imanalin';
C: = length (a);
D: =: = length (b);
If c> d then write (a) else write (b);
End.
Графіка в Турбо-Паскалі
Завдання 1. При натисканні на Enter плавно переміщує трикутник c вершинами (10,10); (10,100); (100,100) на 10 пунктів по X, і по Y
uses crt, graph;
const n = 4;
type
Point = record
x, y: integer;
end;
mas = array [1 .. n] of Point;
procedure Z (x, y: integer; var m: mas; c: byte);
var i: byte;
begin
Setcolor (c);
m [1]. x: = x; m [1]. y: = y;
m [2]. x: = x; m [2]. y: = y +90;
m [3]. x: = x +90; m [3]. y: = y +90;
m [4]. x: = x; m [4]. y: = y;
moveto (m [1]. x, m [1]. y),
for i: = 1 to n do
lineto (m [i]. x, m [i]. y);
Setfillstyle (1, c);
end;
var gd, gm: integer;
x, y, x1, y1, i: integer;
p: mas;
c1, c2: byte;
k: char;
move: boolean;
begin
gd: = VGA;
gm: = VGAHi;
Initgraph (gd, gm, '.. bgi');
Setbkcolor (8);
x: = 10; y: = 10;
c1: = 7; c2: = 8;
move: = true;
repeat
if keypressed then
begin
k: = readkey;
if k = # 13 then {If enter}
for i: = 1 to 10 do
begin
y1: = y;
x1: = x;
y: = y +1;
x: = x +1;
delay (6000);
Z (x1, y1, p, c2);
Z (x, y, p, c1);
move: = true;
end;
end;
if move then
begin
Z (x1, y1, p, c2);
Z (x, y, p, c1);
move: = false;
end;
OutTextXY (320,240, 'Press Enter to continue ');
until k = # 27; {Until escape}
closegraph;
end.
Завдання 2. Зобразити на екрані скаче м'яч. Використовувати графічний режим
uses crt, graph;
const r = 20; h = 5;
var gd, gm, i, n, t, x, y, p: integer;
begin
clrscr;
gd: = Detect;
initgraph (gd, gm, 'c: bp bgi '); p> setcolor (4);
setlinestyle (0,1,1); p> line (0,479,639,479); p> x: = r; y: = r;
t: = 479-2 * r;
n: = t div h;
p: = h;
while n <> 0 do begin
for i: = 1 to n do begin
setcolor (2);
circle (x, y, r); p> setfillstyle (1,2); p> floodfill (x, y, 2); p> delay (10);
setcolor (0);
circle (x, y, r); p> setfillstyle (1,0); p> floodfill (x, y, 0); p> y: = y + p;
x: = x +1;
end;
if p> 0 then begin t: = round (3 * t/4); n: = t div h end;
p: =-p end;
setcolor (12); p> circle (x, y, r); p> setfillstyle (1,2); repeat until keypressed; closegraph
floodfill (x, y, 12); end.
Завдання 3. Анімаційна картинка - кораблик здійснює шлях по заданій траєкторії ... все відбувається досить швидко
program corablik;
uses Graph, Crt;
var
grDriver: integer;
grMode: integer;
ErrCode: integer;
x, y, y0, a, b: integer; {a, b-змінні для лінії моря, щоб вони не залежали від х, у}
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;
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; {крок руху}
e...