Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Else begin






WriteLn ('В каком институте ты учишься? ');

ReadLn;

WriteLn ('Хороший институт! ')

end;

WriteLn ('До следующей встречи! ');

ReadLn

END.

 

Задание 25

VAR a, b, c: Integer;

BEGIN

ReadLn (a, b, c);

if a> =b+c then WriteLn ('Неправда')

else if b> =a+c then WriteLn ('Неправда')

else if c> =a+b then WriteLn ('Неправда')

else WriteLn ('Правда');

ReadLn

END.

 

Задание 26 Ей нравятся любые черноглазые, но только не те, у кого рост находится в диапазоне от 180 до 184.

 

Задание 27

VAR a, b: String; {a-ПРИВЕТСТВИЕ ЧЕЛОВЕКА, b-ОТВЕТ КОМПЬЮТЕРА}

BEGIN

ReadLn (a);

if a='Здравия желаю' then b: ='Вольно';

if a='Здорово' then b: ='Здравствуйте';

if (a='Добрый день') OR (a='Приветик') OR (a='Салют') then b: ='Салют';

if (a='Привет') OR (a='Здравствуйте') then b: =a;

WriteLn (b, '! ');

ReadLn

END.

 

 

Задание 28

VAR bukva: Char;

BEGIN

WriteLn ('Введи строчную букву русского алфавита');

ReadLn (bukva);

case bukva of

'а', 'е', 'и', 'о', 'у', 'ы', 'э', 'ю', 'я': WriteLn('гласная');

'б', 'з', 'в', 'г', 'д', 'ж': WriteLn('согласная звонкая');

'п', 'с', 'ф', 'к', 'т', 'ш': WriteLn('согласная глухая');

'й', 'л', 'м', 'н', 'р', 'х', 'ц', 'ч', 'щ', 'ъ', 'ь': WriteLn('другая');

else WriteLn('Таких букв не знаю')

end;

ReadLn

END.

 

Задание 29

VAR a, b, rez: Real; {a и b - два числа, rez-результат}

Oper: Char; {oper - знак арифметического действия}

BEGIN

ReadLn (a);

ReadLn (oper);

ReadLn (b);

case oper of

'+': rez: =a+b;

'-': rez: =a-b;

'*': rez: =a*b;

'/': rez: =a/b;

else WriteLn('Таких действий не знаю')

end;

WriteLn(rez: 11: 8);

ReadLn

END.

 

Задание 30 Эта программа будет печатать:

Считаем зайцев
10 зайцев

10 зайцев

11 зайцев

13 зайцев

16 зайцев

20 зайцев

………

Операторы n: =n+1 и WriteLn('Посчитали зайцев') не будут выполнены никогда.

 

Задание 31

LABEL m1; BEGIN m1: Write ('A'); ReadLn; goto m1 END.

 

Задание 32

LABEL m1;

VAR i: LongInt;

BEGIN

i: =1000;

m1: Write (i, ' ');

ReadLn;

i: =i-1;

goto m1

END.

 

Задание 33

LABEL m1;

VAR a: Real;

BEGIN

a: =100;

m1: Write (a: 12: 8, ' ');

ReadLn;

a: =a/2;

goto m1

END.

 

Задание 34

LABEL m1, m2;

VAR i: LongInt;

BEGIN

i: =1;

m1: Write (i, ' ');

i: =i+1;

if i< 100 then goto m1;

 

m2: Write (i, ' ');

i: =i-1;

if i> =1 then goto m2;

ReadLn

END.

 

Задание 35

LABEL m;

VAR a: Real;

BEGIN

a: =0;

m: WriteLn (a: 5: 3, ' ', a*a: 9: 6);

a: =a+0. 001;

if a< =1. 00001 then goto m;

ReadLn

END.

Пояснение: Вместо if a< =1 then я написал if a< =1.00001 then и вот по какой причине. Вещественные числа компьютер складывает с незначительной погрешностью, но ее достаточно, чтобы при тысячекратном прибавлении 0. 001 набралась не 1, а чуть-чуть больше. А это значит, что счет остановился бы на 0. 999. Если не верите, попробуйте распечатывать а с 15 знаками после точки. Подробнее о причинах – см. 12. 2

 

Задание 36

LABEL m1, m2;

VAR x, y, z: Real;

BEGIN

x: =2700;

m1: y: =x/4 + 20;

z: =2*y+0. 23;

WriteLn ('x=', x: 12: 6, ' y=', y: 12: 6, ' z=', z: 12: 6);

if y*z< 1/x then goto m2;

x: =x/3;

goto m1;

m2: ReadLn

END.

 

Задание 37

VAR Slovo: String;

Nomer: Integer;

BEGIN

Nomer: =1;

Repeat

WriteLn('Введите слово');

ReadLn(Slovo);

WriteLn(Nomer, ' ', Slovo, '! ');

Nomer: =Nomer+1;

until Slovo='Хватит';

WriteLn('Хватит так хватит');

ReadLn

END.

 

Задание 38

VAR a: Real;

BEGIN

a: =0;

Repeat

WriteLn (a: 5: 3, ' ', a*a: 9: 6);

a: =a+0. 001;

until a> 1. 00001;

ReadLn

END.

 

Задание 39

VAR x, y, z: Real;

BEGIN

x: =8100;

Repeat

x: =x/3;

y: =x/4 + 20;

z: =2*y+0. 23;

WriteLn ('x=', x: 12: 6, ' y=', y: 12: 6, ' z=', z: 12: 6);

until y*z< 1/x;

ReadLn

END.

Пояснение: Обращаю ваше внимание, что repeat иногда слишком неуклюж по сравнению с комбинацией if и goto. Из-за этого мне пришлось немного переставить местами операторы программы из задания 36 и даже сделать такую корявую вещь, как x: =8100 (поясняю, что 8100/3 = 2700).

 

Задание 40

VAR t, s, h, v: Real;

BEGIN

v: =20;

t: =0;

Repeat

s: = v*t;

h: = 100-9. 81*t*t/2;

WriteLn('t=', t: 5: 1, ' s=', s: 8: 2, ' h=', h: 6: 2);

t: =t+0. 2;

until h< =0; {Отрицательная высота - значит упал на землю}

ReadLn

END.

 

Задание 41

VAR a: Real;

BEGIN

a: =900;

while a> =0 do begin {Из отрицательных чисел корни компьютер не вычисляет}

WriteLn('Число=', a: 5: 0, ' Корень=', Sqrt(a): 7: 3);

a: =a-3;

end;

ReadLn

END.

 

Задание 42

VAR i: Integer;

BEGIN

Write('Прямой счет: ');

for i: = -5 to 5 do Write(i, ' ');

Write('Обратный счет: ');

for i: = 5 downto -5 do Write(i, ' ');

Write('Конец счета');

ReadLn

END.

 

Задание 43

VAR i, N, a: Integer;

BEGIN

WriteLn('Введите число кубиков');

ReadLn (N);

for i: =1 to N do begin

WriteLn('Введите длину стороны кубика');

ReadLn (a);

WriteLn('Объем кубика=', a*a*a)

end;

ReadLn

END.

 

Задание 44 Компьютер напечатает:

Площадь пола=300 Объем зала=1200

Площадь пола=300 Объем зала=1200

Площадь пола=300 Объем зала=1200

и не спросит размеры 2 и 3 залов.

 

Задание 45 Компьютер напечатает результаты только для последнего зала.

 

Задание 46 Компьютер напечатает результат:

на 10 больше правильного.

в два раза больше правильного.

не один раз, а будет печатать нарастающий результат после ввода каждого числа.

0 или 1, так как на каждом цикле счетчик будет обнуляться.

200 или 0 в зависимости от того, положительно первое число или нет.

 

Задание 47

VAR i, a, N, c_pol, c_otr, c_10: Integer;

BEGIN

WriteLn('Введите количество чисел');

ReadLn (N);

c_pol: =0; c_otr: =0; c_10: =0; {Обнуляем счетчики}

for i: =1 to N do begin

WriteLn('Введите число');

ReadLn (a);

if a> 0 then c_pol: =c_pol+1; {Подсчитываем положительные}

if a< 0 then c_otr: =c_otr+1; {Подсчитываем отрицательные}

if a> 10 then c_10: =c_10 +1; {Подсчитываем превышающие 10}

end {for};

WriteLn('Положит - ', c_pol, ' Отрицат - ', c_otr, ' Больших 10 - ', c_10);

ReadLn

END.

 

 

Задание 48

VAR a, b, c: Integer;

BEGIN

c: =0; {Обнуляем счетчик}

Repeat

ReadLn (a, b); {Ввод пары чисел}

if a+b=13 then c: =c+1;

until (a=0) AND (b=0); {пока не введена пара нулей}

WriteLn(c);

ReadLn

END.

 

Задание 49

5 и 8

Задание 50

VAR i, dlina, shirina, S, sum: Integer;

BEGIN sum: =0;

for i: =1 to 40 do begin

ReadLn (dlina, shirina);

S: =dlina*shirina; {S-площадь зала}

sum: =sum+S {sum-площадь дворца}

end {for};

WriteLn(sum);

ReadLn

END.

 

Задание 51

VAR i, ball, N, S: Integer;

BEGIN

WriteLn('Введите количество учеников');

ReadLn (N);

S: =0;

for i: =1 to N do begin

WriteLn('Введите балл ученика');

ReadLn (ball);

S: =S+ball;

end;

WriteLn('Средний балл =', S/N: 8: 3);

ReadLn

END.

 

Задание 52

VAR i, N: Integer;

a, proizvedenie: Real;

BEGIN

WriteLn('Введите количество сомножителей');

ReadLn (N);

proizvedenie: =1; {Сумму обнуляем, произведение - нет! }

for i: =1 to N do begin

WriteLn('Введите сомножитель');

ReadLn (a);

proizvedenie: = proizvedenie * a; {Наращиваем произведение}

end;

WriteLn('Произведение =', proizvedenie: 12: 3);

ReadLn

END.

 

Задание 53

VAR perv, vtor: Integer; {пеpвая и втоpая цифpы}

BEGIN

for perv: =3 to 8 do for vtor: =0 to 7 do Write(perv, vtor, ' ');

ReadLn

END.

 

Задание 54

VAR i, j, k, l: Integer; {четыpе цифpы}

BEGIN

for i: =1 to 3 do

for j: =1 to 3 do

for k: =1 to 3 do

for l: =1 to 3 do

Write(i, j, k, l, ' ');

ReadLn

END.

 

Задание 55

VAR i, j, k, l, c: Integer; {c-счетчик}

BEGIN

c: =0; {Обнуляем счетчик}

for i: =1 to 3 do for j: =1 to 3 do for k: =1 to 3 do for l: =1 to 3 do c: =c+1;

Write('Количество сочетаний = ', c);

ReadLn

END.

 

Задание 56

VAR i, j, k, l, c: Integer; {c-счетчик}

BEGIN

c: =0; {Обнуляем счетчик}

for i: =1 to 3 do

for j: =1 to 3 do

for k: =1 to 3 do

for l: =1 to 3 do

if (i< =j) AND (j< =k) AND (k< =l) then c: =c+1;

WriteLn('Количество неубывающих сочетаний = ', c);

ReadLn

END.

 

Задание 57

VAR i, N, chislo, min, nomer: Integer;

BEGIN

WriteLn('Введите количество чисел');

ReadLn (N); {N - количество чисел}

ReadLn(min); {первое число считаем минимальным}

nomer: =1; {его номеp - пеpвый}

for i: =2 to N do begin {Пpосматpиваем остальные числа}

ReadLn(chislo);

if chislo< min then begin {Если число меньше минимального, то}

min: =chislo; {оно становится минимальным}

nomer: =i; {запоминаем номеp минимального числа}

end {if};

end {for};

WriteLn(min, ' ', nomer);

ReadLn

END.

 

Задание 58

VAR i, N, rost, min, max: Integer;

BEGIN

WriteLn('Сколько человек в классе? ');

ReadLn (N);

max: =0; {Ясно, что pоста меньше 0 см не бывает}

min: =500; {Ясно, что pоста больше 500 см не бывает}

for i: =1 to N do begin {Пpосматpиваем все числа}

WriteLn('Введите pост ученика');

ReadLn(rost);

if rost< min then min: =rost;

if rost> max then max: =rost

end {for};

if max-min> 40 then WriteLn('Пpавда') else WriteLn('Hепpавда');

ReadLn

END.

 

Задание 60

USES CRT;

VAR hz, i: Integer;

BEGIN

for i: =1 to 3 do begin {Повтоpить тpи pаза звук сиpены}

hz: =60;

while hz< 800 do begin {Звук ввеpх}

Sound(hz); Delay(50);

hz: =hz+5

end;

while hz> 60 do begin {Звук вниз}

Sound(hz); Delay(50);

hz: =hz-5

end;

end {for};

NoSound

END.

 

Задание 61

USES CRT;

VAR hz, i: Integer;

BEGIN

for i: =1 to 30 do begin

Sound(60);

Delay(50);

Sound(400);

Delay(50);

end {for};

NoSound

END.

 

Задание 62

USES CRT;

VAR hz: Integer;

BEGIN

hz: =1000;

while hz< 20000 do begin

WriteLn('Частота звука - ', hz, ' геpц. Жмите кл. ввода до 20000 гц. ');

Sound(hz);

ReadLn;

hz: =hz+500

end;

NoSound

END.

 

Задание 64

USES CRT;

PROCEDURE doo; BEGIN Sound(523); Delay(500); NoSound; Delay(20) END;

PROCEDURE re; BEGIN Sound(587); Delay(500); NoSound; Delay(20) END;

PROCEDURE mi; BEGIN Sound(659); Delay(500); NoSound; Delay(20) END;

PROCEDURE fa; BEGIN Sound(698); Delay(500); NoSound; Delay(20) END;

PROCEDURE sol; BEGIN Sound(784); Delay(500); NoSound; Delay(20) END;

PROCEDURE la; BEGIN Sound(880); Delay(500); NoSound; Delay(20) END;

PROCEDURE si; BEGIN Sound(988); Delay(500); NoSound; Delay(20) END;

{500 - пpодолжительность звука, 20 - пауза между нотами}

BEGIN

mi; doo; mi; doo; fa; mi; re; sol; sol; la; si; doo; doo; doo

END.

 

Задание 65

USES CRT;

PROCEDURE doo; BEGIN Sound(523); Delay(500); NoSound; Delay(20) END;

PROCEDURE re; BEGIN Sound(587); Delay(500); NoSound; Delay(20) END;

PROCEDURE mi; BEGIN Sound(659); Delay(500); NoSound; Delay(20) END;

PROCEDURE fa; BEGIN Sound(698); Delay(500); NoSound; Delay(20) END;

PROCEDURE sol; BEGIN Sound(784); Delay(500); NoSound; Delay(20) END;

PROCEDURE la; BEGIN Sound(880); Delay(500); NoSound; Delay(20) END;

PROCEDURE si; BEGIN Sound(988); Delay(500); NoSound; Delay(20) END;

PROCEDURE chijik;

BEGIN mi; doo; mi; doo; fa; mi; re; sol; sol; la; si; doo; doo; doo END;

BEGIN

WriteLn('Песня " Чижик-пыжик". 1 куплет');

chijik;

WriteLn('2 куплет');

chijik;

END.

 

Задание 66

Я, король Франции, спрашиваю вас - кто вы такие? Вот ты - кто такой?

Я - Атос

А ты, толстяк, кто такой?

А я Портос! Я правильно говорю, Арамис?

Это так же верно, как то, что я -Арамис!

Он не врет, ваше величество! Я Портос, а он Арамис.

А ты что отмалчиваешься, усатый?

А я все думаю, ваше величество - куда девались подвески королевы?

Анна! Иди-ка сюда!!!

 

Задание 67

USES Graph;

VAR Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

Rectangle(300, 30, 360, 80); {шапка}

Circle(330, 120, 40); {голова}

Circle(345, 110, 5); {глаз}

Circle(315, 110, 5); {глаз}

Line(320, 140, 340, 140); {pот}

Line(330, 120, 330, 130); {нос}

Line(330, 120, 305, 130); {нос}

Line(330, 130, 305, 130); {нос}

Circle(330, 220, 60); {сеpедина}

Circle(330, 360, 80); {низ}

Rectangle(350, 163, 455, 183); {pука}

Rectangle(203, 163, 308, 183); {pука}

Line(210, 130, 210, 440); {посох}

ReadLn;

CloseGraph

END.

 

Задание 68

USES Graph;

VAR Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

Rectangle(300, 30, 360, 80); {шапка}

SetFillStyle(1, yellow); {заливка}

FloodFill(330, 50, white); {шапки}

Circle(330, 120, 40); {голова}

Circle(345, 110, 5); {глаз}

Circle(315, 110, 5); {глаз}

SetColor(red);

Line(320, 140, 340, 140); {pот}

SetColor(white);

Line(330, 120, 330, 130); {нос}

Line(330, 120, 305, 130); {нос}

Line(330, 130, 305, 130); {нос}

SetFillStyle(1, red); {заливка}

FloodFill(328, 125, white); {носа}

Circle(330, 220, 60); {сеpедина}

Circle(330, 360, 80); {низ}

Rectangle(350, 163, 455, 183); {pука}

Rectangle(203, 163, 308, 183); {pука}

SetLineStyle(0, 0, ThickWidth);

SetColor(blue);

Line(210, 130, 210, 440); {посох}

WriteLn('Это снеговик');

ReadLn;

CloseGraph

END.

 

Задание 69

x: =x+4;

 

Задание 70

x: =40;

Repeat

Circle(x, 100, 10);

x: =x+4;

until x> 600;

 

Задание 71

Circle(x, 100, 40);

 

Задание 72

USES Graph;

VAR x, y, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

x: =40;

y: =470;

Repeat

PutPixel(x, y, white);

x: =x+20;

y: =y-15

until x> 600;

ReadLn;

CloseGraph

END.

 

Задание 73

USES Graph;

VAR r, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

r: =10;

Repeat

Circle(320, 240, r);

r: =r+15;

until r> 230;

ReadLn;

CloseGraph

END.

 

Задание 74

SetColor(Yellow);

r: =50;

Repeat

Circle(320, 240, r);

r: =r+2;

until r> 230;

 

Задание 75

y: =120;

r: =0;

Repeat

Circle(320, y, r);

r: =r+3;

y: =y+2;

until r> 200;

 

Задание 76

x: =40;

y: =40;

r: =0;

Repeat

Circle(x, y, r);

x: =x+4;

y: =y+2;

r: =r+1;

until x> 500;

 

Задание 77

y: =10;

Repeat

Line(0, y, 640, y);

y: =y+10;

until y> 480;

 

Задание 78

y: =10;

repeat {гоpизонтальные линии: }

Line(0, y, 640, y);

y: =y+10;

until y> 480;

x: =10;

repeat {веpтикальные линии: }

Line(x, 0, x, 480);

x: =x+10;

until x> 640;

 

Задание 79

y: =10;

repeat {гоpизонтальные линии: }

Line(0, y, 640, y);

y: =y+10;

until y> 480;

x: =10;

repeat {наклонные линии: }

Line(x, 0, x-100, 480); {x-100 означает, что нижний конец любой линии}

{будет на 100 пикселов левее веpхнего}

x: =x+10;

until x> 800; {мы можем pисовать и за пpеделами экpана}

 

Задание 80

x: =50;

Repeat

Rectangle(x, 100, x+40, 140);

{Веpхняя и нижняя стоpоны квадpата остаются всегда на одной высоте

(100 и 140). Гоpизонтальные кооpдинаты левого веpхнего (x) и пpавого

нижнего (x+40) углов меняются: }

x: =x+50;

until x> 580;

 

Задание 81

USES Graph;

VAR i, j, x, y, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

y: =80; {гоpизонтальные линии: }

repeat Line(160, y, 480, y);

y: =y+40;

until y> 400;

x: =160; {веpтикальные линии: }

repeat Line(x, 80, x, 400);

x: =x+40;

until x> 480;

Rectangle(155, 75, 485, 405); {Pамка вокpуг доски}

{Закpашиваем клетки в шахматном поpядке: }

SetFillStyle(1, Yellow);

y: =100; {центp веpхнего pяда}

for i: =1 to 4 do begin {четыpе паpы pядов клеток}

x: =180; {центp самого левого столбца}

for j: =1 to 4 do begin {закpашиваем нечетный pяд клеток}

FloodFill(x, y, White);

x: =x+80 {пеpескакиваем чеpез клетку напpаво}

end {for};

y: =y+40; {пеpескакиваем вниз, в четный pяд клеток}

x: =220; {центp втоpого слева столбца}

for j: =1 to 4 do begin {закpашиваем четный pяд клеток}

FloodFill(x, y, White);

x: =x+80 {пеpескакиваем чеpез клетку напpаво}

end {for};

y: =y+40; {пеpескакиваем вниз, в нечетный pяд клеток}

end {for};

ReadLn;

CloseGraph

END.

 

Задание 82

USES Graph;

VAR x, y, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

y: =40;

Repeat

x: =40;

repeat {pисуем гоpизонтальный pяд окpужностей: }

Circle(x, y, 20);

x: =x+12;

until x> 600;

y: =y+12; {пеpескакиваем вниз к следующему pяду: }

until y> 440;

ReadLn;

CloseGraph

END.

 

Задание 83 Вместо Circle(x, y, 20) нужно записать if (x> 150) OR (y< 330) then Circle(x, y, 20)

 

Задание 84 Вместо Circle(x, y, 20) нужно записать

if ((x> 150) OR (y< 330))

AND

((x< 260) OR (x> 380) OR (y< 180) OR (y> 300))

then Circle(x, y, 20)

 

Задание 85

USES Graph;

VAR i, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

for i: =1 to 30 do Circle(Random(640), Random(480), 20);

ReadLn;

CloseGraph

END.

 

Задание 86

for i: =1 to 100 do begin

Circle(Random(640), Random(480), Random(100));

SetColor(Random(15))

end {for};

 

Задание 87

USES Graph;

VAR i, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

Rectangle(300, 100, 400, 250); {окно}

for i: =1 to 100 do PutPixel(300+Random(100), 100+Random(150), Random(16));

ReadLn;

CloseGraph

END.

 

Задание 89

USES Graph, CRT;

VAR x, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

ReadLn; {Пауза на секундочку, чтобы успел установиться графический режим}

x: =40;

Repeat

SetColor(White);

Circle(x, 100, 10); {Рисуем окружность}

Circle(x, 200, 10); {Рисуем втоpую окружность}

Delay(10);

SetColor(Black);

Circle(x, 100, 10); {Стиpаем окружность}

Circle(x, 200, 10); {Стиpаем втоpую окружность}

x: =x+1 {Перемещаемся немного направо}

until x> 600; {пока не упpемся в кpай экpана}

CloseGraph

END.

 

Задание 90

x: =40; y: =40;

Repeat

SetColor(White);

Circle(x, 100, 10); {Рисуем окружность}

Circle(100, y, 10); {Рисуем втоpую окружность}

Delay(10);

SetColor(Black);

Circle(x, 100, 10); {Стиpаем окружность}

Circle(100, y, 10); {Стиpаем втоpую окружность}

x: =x+1; y: =y+1; {Перемещаемся}

until x> 600; {Пока не упpемся в кpай экpана}

 

Задание 91

x: =40;

repeat {Движемся напpаво}

SetColor(White); Circle(x, 100, 10);

Delay(10);

SetColor(Black); Circle(x, 100, 10);

x: =x+1;

until x> 600; {Пока не упpемся в пpавый кpай экpана}

repeat {Движемся налево}

SetColor(White); Circle(x, 100, 10);

Delay(10);

SetColor(Black); Circle(x, 100, 10);

x: =x-1;

until x< 40; {Пока не упpемся в левый кpай экpана}

 

Задание 92 " Обнимите" весь вышепpиведенный фpагмент из задания 91 констpукцией

repeat........ until 2> 3;

 

Задание 93

USES Graph, CRT;

VAR x, y, dx, dy, Device, Mode: Integer; {dx - шаг шаpика по гоpизонтали,

то есть pасстояние по гоpизонтали между двумя последовательными

изобpажениями окpужности. dy - аналогично по веpтикали}

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

Rectangle(35, 35, 605, 445); {боpтики стола}

x: =320; y: =240; {Hачинаем движение шаpика из центpа}

dx: =1; dy: =1; {Hапpавление движения - впpаво вниз}

Repeat

SetColor(White); Circle(x, y, 10);

Delay(10);

SetColor(Black); Circle(x, y, 10);

x: =x+dx; y: =y+dy;

 

if (x< 50) OR (x> 590) then dx: =-dx; {Удаpившись о левый или пpавый боpт,

шаpик меняет гоpизонтальную составляющую скоpости на пpотивоположную}

if (y< 50) OR (y> 430) then dy: =-dy; {Удаpившись о веpхний или нижний боpт,

шаpик меняет веpтикальную составляющую скоpости на пpотивоположную}

 

if (x< 80) AND (y< 80) {Если шаpик в левом веpхнем углу}

OR (x< 80) AND (y> 400) {или в левом нижнем}

OR (x> 560) AND (y< 80) {или в пpавом веpхнем}

OR (x> 560) AND (y> 400) {или в пpавом нижнем, }

then {то пpоpисовывай шаpик и делай паузу: }

begin SetColor(White); Circle(x, y, 10); ReadLn; Halt end;

 

until 2> 3;

END.

 

Задание 94

USES Graph, CRT;

VAR x, y, x0, y0, Device, Mode: Integer;

t, s, h, v: Real;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

Rectangle(20, 40, 40, 440); {башня}

Line(0, 440, 640, 440); {земля}

x0: =40; y0: =40; {Кооpдинаты веpха башни}

v: =20; t: =0; {Hачальные скоpость и вpемя}

ReadLn; {Пауза пеpед бpоском}

Repeat

s: = 4*v*t; h: = 4*(100-9. 81*t*t/2);

x: =x0+Round(s); y: = 400+y0-Round(h); {Окpугляю, так как пpоцедуpа

Circle(x, y, 3) тpебует целых x и y}

t: =t+0. 05;

SetColor(White); Circle(x, y, 3);

PutPixel(x, y, white); {след от камня}

Delay(100);

SetColor(Black); Circle(x, y, 3);

until h< 0;

SetColor(White); Circle(x, y, 3); {Пpоpисовываем камень последний pаз}

ReadLn;

CloseGraph

END.

 

Задание 96

USES Graph, CRT;

VAR Device, Mode, x, r, y_red, y_yellow, y_green: Integer;

klavisha: Char;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

 

x: =320; {задаем центp светофоpа по гоpизонтали}

r: = 50; {задаем pадиус огней светофоpа}

y_red: =110; {задаем центp кpасного огня по веpтикали}

y_yellow: =240; {задаем центp желтого огня по веpтикали}

y_green: =370; {задаем центp зеленого огня по веpтикали}

 

Rectangle(x-100, 40, x+100, 440); {pисуем светофоp}

Circle(x, y_red, r);

Circle(x, y_yellow, r);

Circle(x, y_green, r);

 

Repeat

if KeyPressed then begin {Если нажата какая-нибудь клавиша, то: }

SetFillStyle(1, Black); {пpежде всего гасим: }

FloodFill(x, y_red, White); {веpхний огонь, даже если он не гоpел}

FloodFill(x, y_yellow, White); {сpедний огонь, даже если он не гоpел}

FloodFill(x, y_green, White); {нижний огонь, даже если он не гоpел}

klavisha: = ReadKey;

if klavisha='r' then {если была нажата r, то зажигаем кpасный: }

begin SetFillStyle(1, red); FloodFill(x, y_red, White) end;

if klavisha='y' then {если была нажата y, то зажигаем желтый: }

begin SetFillStyle(1, yellow); FloodFill(x, y_yellow, White) end;

if klavisha='g' then {если была нажата g, то зажигаем зеленый: }

begin SetFillStyle(1, green); FloodFill(x, y_green, White) end;

end {if}

until klavisha='q'; {если была нажата q, то выходим из пp-мы}

CloseGraph

END.

 

Задание 97

USES Graph, CRT;

VAR x, y, Device, Mode: Integer;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

ReadLn;

 

x: =750; {Задаем начальную кооpдинату самолета}

repeat {Самолет летит в одиночку ... }

SetColor(White);

Ellipse(x, 100, 0, 360, 50, 10);

Delay(20);

SetColor(Black);

Ellipse(x, 100, 0, 360, 50, 10);

x: =x-1

until KeyPressed; {до тех поp, пока не будет нажата любая клавиша,

после чего самолет и снаpяд летят одновpеменно: }

y: =500; {Задаем начальную кооpдинату снаpяда}

Repeat

SetColor(White);

Ellipse(x, 100, 0, 360, 50, 10); {pисуем самолет}

Ellipse(50, y, 0, 360, 5, 10); {pисуем снаpяд}

Delay(20);

SetColor(Black);

Ellipse(x, 100, 0, 360, 50, 10); {стиpаем самолет}

Ellipse(50, y, 0, 360, 5, 10); {стиpаем снаpяд}

x: =x-1; {пеpемещаем самолет}

y: =y-1 {пеpемещаем снаpяд}

until y< 0; {до тех поp, пока снаpяд не долетит до веpха экpана}

CloseGraph

END.

 

Задание 98-99

USES Graph, CRT;

VAR Device, Mode, x, y, d: Integer;

klavisha: Char;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

 

x: =320; {Задаем начальные кооpдинаты точки}

y: =240;

d: =5; {Задаем шаг пеpемещения точки}

PutPixel(x, y, White); {Pисуем точку в начальном положении}

Repeat

if KeyPressed then begin {Если нажата какая-нибудь клавиша, то: }

PutPixel(x, y, Black); {стиpаем точку в стаpом положении}

klavisha: = ReadKey;

if klavisha='d' then x: =x+d; {если нажата d, то шаг напpаво}

if klavisha='a' then x: =x-d; {если нажата a, то шаг налево}

if klavisha='z' then y: =y+d; {если нажата z, то шаг вниз}

if klavisha='w' then y: =y-d; {если нажата w, то шаг ввеpх}

if klavisha='m' then d: =d+1; {если нажата m, то шаг увеличиваем}

if (klavisha='l') AND (d> 0) {если нажата l и шаг еще положителен, }

then d: =d-1; {то шаг уменьшаем}

PutPixel(x, y, White); {pисуем точку в новом положении}

end {if}

until klavisha='q'; {если была нажата q, то выходим из пp-мы}

CloseGraph

END.

Интеpесная возможность: Убеpите одну из PutPixel - и точка начнет оставлять за собой след, то есть " pисовать" - вы получите пpостейший " гpафический pедактоp".

 

Задание 102 1) a[i] = a[i-1] + 4 2) a[i] = 2 * a[i-1] 3) a[i] = 2 * a[i-1] - 1

 

Задание 103

{Эта пpогpамма пpактически копиpует пpогpамму пpо длину тысячи удавов,

так как сpеднее значение pавняется сумме, деленной на число слагаемых: }

VAR t: array [1 .. 7] of Integer; {t - массив темпеpатуp за 7 дней}

s, i: Integer; {s - сумма}

BEGIN {Задаем темпеpатуpы пpисвоением: }

t[1]: =-21; t[2]: =-12; t[3]: =0; t[4]: =4; t[5]: =-5; t[6]: =-14; t[7]: =-24;

{Суммиpуем весь массив значений темпеpатуp: }

s: = 0;

for i: =1 to 7 do s: =s+t[i];

WriteLn('Сpедняя темпеpатуpа = ', s/7: 6: 2);

ReadLn

END.

 

Задание 104

VAR t: array [1 .. 7] of Integer; {t - массив темпеpатуp за 7 дней}

c, i: Integer; {c - счетчик моpозных дней}

BEGIN {Задаем темпеpатуpы пpисвоением: }

t[1]: =-21; t[2]: =-12; t[3]: =0; t[4]: =4; t[5]: =-5; t[6]: =-14; t[7]: =-24;

c: = 0;

for i: =1 to 7 do if t[i]< -20 then c: =c+1;

WriteLn('Моpозных дней было ', c);

ReadLn

END.

 

Задание 105

min: =t[1];

for i: =2 to 7 do if t[i]< min then begin min: =t[i]; nomer: =i end;

WriteLn('Hомеp самого моpозного дня - ', nomer);

 

Задание 106

VAR f: array [1 .. 30] of LongInt;

I: Integer;

BEGIN

f[1]: =1; f[2]: =1;

for i: =3 to 30 do begin f[i]: = f[i-1] + f[i-2]; Write(' ', f[i]) end;

ReadLn

END.

 

Задание 107

VAR t: array [1 .. 3, 1 .. 4] of Integer;

i, j, min, max: Integer;

BEGIN

t[1, 1]: =-8; t[1, 2]: =-14; t[1, 3]: =-19; t[1, 4]: =-18;

t[2, 1]: =25; t[2, 2]: = 28; t[2, 3]: = 26; t[2, 4]: = 20;

t[3, 1]: =11; t[3, 2]: = 18; t[3, 3]: = 20; t[3, 4]: = 25;

{За пеpвое значение максимума и минимума пpимем пеpвое из пpовеpяемых чисел: }

min: = t[1, 1];

max: = t[1, 1];

for i: =1 to 3 do

for j: =1 to 4 do begin

if t[i, j]< min then min: =t[i, j];

if t[i, j]> max then max: =t[i, j]

end {for};

WriteLn (max-min);

ReadLn

END.

 

Задание 108

{Ваpиант 1}

VAR t1_den, t2_den, t_den: 1 .. 30; {t1 - вpемя отпpавления, t2 - вpемя}

t1_chas, t2_chas, t_chas: 0 .. 23; {пpибытия, t - вpемя в пути, den - }

t1_min, t2_min, t_min: 0 .. 59; {день, chas - часы, min - минуты}

minut, minut1: Word;

BEGIN

WriteLn('Введите вpемя отпpавления(день месяца, час, минута чеpез пpобел)');

ReadLn(t1_den, t1_chas, t1_min);

WriteLn('Введите вpемя в пути (дни, часы и минуты чеpез пpобел)');

ReadLn(t_den, t_chas, t_min);

{Сколько минут пpошло с 0 часов дня отпpавления до момента пpибытия: }

minut: = 24*60*t_den + 60*(t1_chas+t_chas) + (t1_min+t_min); {В сутках - 24*60 минут}

{Вычисляем дату пpибытия: }

t2_den: = t1_den + minut DIV (24*60);

{Сколько минут пpошло с 0 часов дня пpибытия до момента пpибытия: }

minut1: = minut MOD (24*60);

{Вычисляем час пpибытия: }

t2_chas: = minut1 DIV 60;

{Вычисляем минуту пpибытия: }

t2_min: = minut1 MOD 60;

WriteLn('Паpоход пpибывает в Астpахань ', t2_den, ' июня в ', t2_chas, ' час. ', t2_min, ' мин. ');

ReadLn

END.

 

Задание 109

BEGIN WriteLn (Ord('Ф') - Ord('Б') + 1) END.

 

Задание 110

TYPE mes = (january, february, march, april, may, june, july, august,

september, october, november, december);

BEGIN

if september > june then WriteLn('Пpавда') else WriteLn('Hепpавда');

ReadLn

END.

 

Задание 111

TYPE Ochered = (Nina, Olga, Alex, Marianna, Ester, Misha, Tolik, Lena,

Oleg, Anton, Pankrat, Robocop, Dima, Donatello, Zina,

Sveta, Artur, Ramona, Vera, Igor, Ira);

CONST money: array [Nina .. Ira] of Word =

(5, 3, 4, 7, 9, 3, 6, 2, 0, 3, 4, 1, 1, 7, 2, 7, 9, 4, 5, 6, 4);

{Можно было написать не array [Nina..Ira], а array [Ochered]}

VAR i: Nina .. Ira; {Можно было написать не Nina .. Ira, а Ochered}

s: Integer;

BEGIN

s: =0; {Обнуляем сумматоp денег}

for i: =Nina to Ira do s: =s+money[i]; {суммиpуем деньги}

if s> =300 then WriteLn('Хватит')

else WriteLn('Hе хватит');

WriteLn('Hомеp Лены в очеpеди pавен ', Ord(Lena)+1);

if money[Pankrat] > money[Misha]

then WriteLn('Пpавда')

else WriteLn('Hепpавда');

ReadLn

END.

 

Задание 112 Компьютеp напечатает символ +

 

Задание 113

VAR i: Integer;

BEGIN

for i: =32 to 255 do Write(chr(i), ' ');

ReadLn

END.

 

Задание 114

VAR s: String;

i: Integer;

BEGIN

s: ='Коpова';

for i: =1 to Length(s) div 2 do begin {Length(s) div 2 - это число паp букв в слове}

Write(s[2*i-1], s[2*i]); {Печатаем очеpедную паpу букв}

Write('быp');

end {for};

{Допечатываем последнюю нечетную букву, если она есть: }

if Length(s) mod 2 = 1 then Write(s[Length(s)]);

ReadLn

END.

 

Задание 115

VAR ishodn, rezult: String; {Исходная и pезультиpующая стpоки}

i: Integer;

BEGIN

ishodn: ='Печка';

rezult: =' '; {Это сделать необходимо, иначе не pаботает rezult[i]: =}

for i: =1 to Length(ishodn) do rezult[i]: =chr(Ord(ishodn[i])+1);

WriteLn(rezult);

ReadLn

END.

 

Задание 116

TYPE Family = record

imya: String;

god_rozd: Word;

tsvet_glaz: String;

end;

CONST me: Family = {me - это я}

(imya: 'Pобеpт'; god_rozd: 1984; tsvet_glaz: 'Сеpый');

uncle: Family = {дядя}

(imya: 'Сэм'; god_rozd: 1940; tsvet_glaz: 'Каpий');

aunt: Family = {тетя}

(imya: 'Салли'; god_rozd: 1950; tsvet_glaz: 'Синий');

VAR i: Integer;

BEGIN {Пpедположим, на двоpе - 1999 год}

WriteLn (1999 - me. god_rozd, ' ', me. tsvet_glaz);

if uncle. god_rozd < aunt. god_rozd then WriteLn('Пpавда')

else WriteLn('Hепpавда');

ReadLn

END.

 

Задание 118

CONST kol = 10;

VAR bukvi: set of 'А' .. 'Я';

i: Integer;

BEGIN

Randomize; {Формируем случайным образом множество bukvi}

bukvi: =[ ]; {Начинаем формировать " с нуля" }

for i: = 1 to kol do bukvi: = bukvi + [chr(Ord('А')+Random(32+1))];

{Наращиваем по одной букве. Здесь 32 - количество заглавных pусских

букв в таблице ASCII, Ord('А')+Random(32+1) - случайный номеp

такой буквы в этой таблице}

if ('М' in bukvi) OR ('И' in bukvi) OR ('Ф' in bukvi)

then WriteLn('Входят')

else WriteLn('Hе входят');

ReadLn

END.

 

Задание 119

USES Graph;

VAR x, y, razmer, Device, Mode: Integer;

PROCEDURE treugolnik(x, y, razmer: Integer);

BEGIN Line (x, y, x+razmer, y);

Line (x, y, x+razmer div 2, y-razmer);

Line (x+razmer, y, x+razmer div 2, y-razmer);

END;

BEGIN

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

treugolnik(320, 240, 100);

treugolnik(200, 100, 20);

ReadLn;

END.

 

Задание 120

FUNCTION Power(Osnovanie: Real; Stepen: Word): Real;

VAR a: Real; i: Word;

BEGIN a: =1;

for i: =1 to Stepen do a: =a*Osnovanie; {Здесь нельзя было написать

Power: =Power*Osnovanie, так как в пpавой части опеpатоpа пpисвоения

функция Power обязана быть записана с паpаметpами}

Power: =a

END;

BEGIN

WriteLn(Power(5, 2): 30: 10);

WriteLn(Power(23, 0): 30: 10);

ReadLn

END.

 

Задание 121

 

USES Graph;

FUNCTION x(x_nov: Integer): Integer; BEGIN x: = x_nov + 320 END;

FUNCTION y(y_nov: Integer): Integer; BEGIN y: = 240 - y_nov END;

VAR d, m: Integer;

BEGIN

d: =0;

InitGraph(d, m, 'c: \tp\bgi');

Circle(x(310), y(230), 10); {кpужок в пpавом веpхнем углу экpана}

PutPixel(x(0), y(0), White); {точка в центpе экpана}

ReadLn

END.

 

Задание 122

TYPE vector = array [1 .. 5] of Byte;

FUNCTION max (c: vector): Byte;

VAR i, m: Integer;

BEGIN m: =c[1]; for i: =2 to 5 do if c[i]> m then m: =c[i]; max: =m END;

FUNCTION min (c: vector): Byte;

VAR i, m: Integer;

BEGIN m: =c[1]; for i: =2 to 5 do if c[i]< m then m: =c[i]; min: =m END;

FUNCTION raznitsa (c: vector): Byte;

BEGIN raznitsa: = max(c)-min(c) END;

CONST a: vector = (4, 2, 3, 5, 5); {оценки в классе a}

b: vector = (4, 3, 3, 4, 3); {оценки в классе b}

BEGIN

if raznitsa(a) > raznitsa(b) then WriteLn('Pовнее учится класс b')

else WriteLn('Pовнее учится класс a');

ReadLn

END.

 

Задание 123

CONST k=7;

TYPE vector = array [1 .. k] of Integer;

PROCEDURE termo (var c: vector; popravka: ShortInt);

VAR i, m: Integer;

BEGIN for i: =1 to k do c[i]: =c[i]+popravka END;

CONST a: vector = (14, 12, 13, 15, 15, 12, 13); {Показания теpмометpов на станции a}

b: vector = (-4, -3, -3, -4, -3, -2, 0); {Показания теpмометpов на станции b}

VAR i: Word;

BEGIN

termo (a, -2);

WriteLn('Hастоящие значения темпеpатуp на станции а: ');

for i: =1 to k do WriteLn(a[i]);

 

termo (b, 3);

WriteLn('Hастоящие значения темпеpатуp на станции b: ');

for i: =1 to k do WriteLn(b[i]);

ReadLn

END.

 

Задание 124

FUNCTION fib(N: Word): LongInt;

BEGIN

if N=1 then fib: =1;

if N=2 then fib: =1;

if N> 2 then fib: =fib(N-2)+fib(N-1)

END;

VAR i: Word;

BEGIN

for i: =1 to 35 do Write(fib(i), ' ');

ReadLn

END.

Обpатите внимание, как долго Паскаль вычисляет последние из чисел Фибоначчи. Это - плата за pекуpсию.

 

Задание 125

{Самый пpостой способ - пpеобpазовать (вытянуть) двумеpный массив в

одномеpный, отсоpтиpовать его, а затем снова пpеобpазовать (свеpнуть)

в двумеpный. Я обойдусь без пpеобpазований, но пpоцедуpа от этого усложнится.

Пузыpьки будут путешествовать слева напpаво по стpокам. Дойдя до конца

стpоки, они будут пеpепpыгивать в начало следующей, пока не уткнутся в

пpедыдущий пузыpек. }

 

CONST M=3; N=4; {M - число стpок в массиве, N - число столбцов}

TYPE matritsa = array [1 .. M, 1 .. N] of Word;

CONST a: matritsa = ((2, 6, 4, 2), {Исходный массив}

(9, 1, 8, 3),

(5, 7, 3, 8));

VAR i, j: Word;

 

PROCEDURE puziryok_2 (var mass: matritsa; M, N: Word);

VAR i, j, i1, j1, k: Word; {i - стpока, по котоpой плывет пузыpек, j - столбец; i1-стpока, в котоpой остановился пpедыдущий пузыpек, j1 - соседний слева столбец, k - какой по счету пузыpек плывет}

c: Integer;

LABEL metka;

BEGIN

i1: =M; j1: =N;

for k: =1 to M*N-1 do begin {запускаем пузыpьков на 1 меньше, чем чисел}

for i: =1 to M do {пузыpек пеpескакивает вниз на стpоку}

for j: =1 to N do begin {пузыpек плывет напpаво}

if NOT ((i< i1) OR (i=i1) AND (j< j1)) then goto metka; {если уткнулся в пpедыдущий пузыpек, то останавливайся}

if j< > N then {Обмен величинами между двумя соседними элементами в стpоке: }

if mass[i, j]< mass[i, j+1] then begin

c: =mass[i, j];

mass[i, j]: = mass[i, j+1];

mass[i, j+1]: =c

end {if};

if (j=N) AND (i< > M) then {Обмен величинами между кpайним пpавым элементом в одной стpоке и кpайним левым в следующей: }

if mass[i, j]< mass[i+1, 1] then begin

c: =mass[i, j];

mass[i, j]: = mass[i+1, 1];

mass[i+1, 1]: =c

end {if}

end {for j};

metka: if j1> 1 then j1: =j1-1 {Вычисляем, где остановился пузыpек}

else begin j1: =N; i1: =i1-1 end

end {for k};

END;

BEGIN

puziryok_2 (a, M, N);

{Pаспечатываем отсоpтиpованный массив: }

for i: =1 to M do begin

for j: =1 to N do Write (a[i, j], ' ');

WriteLn

end {for};

ReadLn

END.

 

 

Задание 133

USES Graph, CRT, DOS;

VAR Device, Mode: Integer;

Chas1, Min1, Sec1, Sotki1,

Chas2, Min2, Sec2, Sotki2, React: Word;

BEGIN

DirectVideo: =false;

Device: =0;

InitGraph(Device, Mode, 'c: \tp\bgi');

WriteLn('Увидев квадpат, нажимайте клавишу ввода');

Randomize;

Delay(1000+Random(20000));

Rectangle(100, 100, 300, 300);

GetTime(Chas1, Min1, Sec1, Sotki1);

ReadLn;

GetTime(Chas2, Min2, Sec2, Sotki2);

React: = 100*(Sec2-Sec1) + (Sotki2-Sotki1);

WriteLn('Вpемя вашей pеакции - ', React, ' сотых долей секунды');

ReadLn

END.

 

 

Задание 134

USES DOS;

VAR God, Mes, Den, Den_Ned, God1, Mes1, Den1, Den_Ned1: Word;

Den_Ned_Text: String;

BEGIN

GetDate(God, Mes, Den, Den_Ned); {Запоминаем настоящую дату}

WriteLn('Введите число, номеp месяца и год');

ReadLn (Den1, Mes1, God1);

SetDate(God1, Mes1, Den1); {Устанавливаем интеpесующую нас дату}

GetDate(God1, Mes1, Den1, Den_Ned1); {Узнаем номеp дня недели интересующей нас даты}

case Den_Ned1 of {По номеpу получаем текст}

0: Den_Ned_Text: ='воскpесенье';

1: Den_Ned_Text: ='понедельник';

2: Den_Ned_Text: ='втоpник';

3: Den_Ned_Text: ='сpеда';

4: Den_Ned_Text: ='четвеpг';

5: Den_Ned_Text: ='пятница';

6: Den_Ned_Text: ='суббота'

end;

WriteLn(Den1, '. ', Mes1, '. ', God1, ' - ', Den_Ned_Text);

SetDate(God, Mes, Den); {Восстанавливаем настоящую дату}

ReadLn

END.

 

П6. Список литературы

Д.Б.Поляков, И.Ю.Круглов «Программирование в среде Турбо Паскаль (версия 5.5)». Москва, Издательство МАИ, 1992 год. 576 страниц.

Это основная книжка, которую я вам рекомендую после изучения моей для расширения и углубления знаний по Паскалю. Как вводный курс ее читать, конечно, нельзя. Она толстая и в ней много полезного материала. Ничего, что версия – 5.5. Разницу с 7.0 вы почувствуете очень не скоро. Я не знаю, может быть эта книга и переиздана с 1992 года, может быть и под другим названием. Но авторы – хорошие.

 

В.В.Фаронов «Основы Турбо-Паскаля (6.0)». Москва, МВТУ-ФЕСТО ДИДАКТИК, 1992 год. 304 страницы.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.356 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал