Мова програмування Pascal

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Міністерство науки і освіти Республіки Казахстан

Костанайської коледж автомобільного транспорту

Звіт

З навчальної практиці по предмету

Основи алгоритмізації та програмування

Виконала: учениця гр.2 Пр-8

Леонова Ю.

Костанай 2008

1. Введення

Мета: Закріпити та поглибити теоретичні знання мови програмування на практиці, за наступними темами: лінійний алгоритм, умовний оператор (модуль CRT), цикли, графіка, підпрограми, множини, записи, рядки, одномірні і двовимірні масиви.

Задачі.1. Повторити теоретичний матеріал.

2. Закріпити теоретичний матеріал.

3. Вирішити запропоновані завдання на мові Паскаль.

4. Правильно оформити запропоновані завдання до звіту.

2. Огляд мови програмування.

2. Історія мови Pascal

Основні концепції мови були розроблені в 1967-1968р. професором Ніколаусом Віртом (Niklaus Wirth). Стандарт мови був розроблений ним у 1974р. (PASCAL - User Manual and Report, ISO Pascal Standard Kathleen Jensen and Niklaus Wirth) спільно з Кетлін Йенсен (Kathleen Jensen). Паскаль досить швидко перетворився із засобу, призначеного для навчання студентів програмуванню, на інструмент, який стали використовувати для створення великих програмних проектів.

В даний час діють три стандарти мови. Перший з них - нерозширення Паскаль (unextended Pascal) був розроблений в 1983 році. Другий - Extended Pascal - містить розширення, що стосуються модульного програмування (роздільна компіляція модулів, імпорт-експорт підпрограм, інтерфейсна частина та реалізація), і доповнений низкою процедур і функцій (прямий доступ до файлів, робота з рядками і т д). Останній - об'єктний Паскаль (Object-Oriented Extensions to Pascal), на відміну від перших двох, формально не затверджений, але оформлений у вигляді звіту (ANSI Technical Report) у 1993р. Об'єктний Паскаль підтримує класи, що володіють властивостями і методами, наслідування класів, перевизначення методів у нащадків (поліморфізм) і ряд інших атрибутів об'єктно-орієнтованого програмування.

Алгоритмом називається точне і зрозуміле розпорядження виконавцю здійснити послідовність дій спрямованих на вирішення поставленого завдання.

Лінійним алгоритмом - називається обчислювальний процес, при якому всі етапи рішення завдання виконуються в природному порядку проходження записи цих етапів.

Циклічний алгоритм - це багаторазове повторюваний ділянку обчислень.

Перераховувані тип даних задається безпосередньо перерахуванням всіх значень, які може приймати змінна даного типу. При описі окремі значення вказуються через кому, а весь список полягає в круглі дужки. Наприклад, Var Season: (winter, spring, summer, autum);

Temp: (23,24,25,26);

Строковий тип:

Рядок - у загальному випадку це послідовність символів. Рядок являє собою особливу форму одновимірного масиву символів, яка має істотну відмінність. Масив символів має фіксовану довжину (кількість елементів), яка визначається при описі. Рядок має два різновиди довжини:

Загальну довжину рядка, який характеризує розмір пам'яті, що виділяється рядку при описі. Поточну довжину рядка (завжди менше або дорівнює загальній довжині), яка показує кількість смислових символів рядка в кожен конкретний момент часу.

Для визначення даних строкового типу в Turbo Pascal 7.0 введені стандартні типи String і PChar.

Умовні оператори призначені для зміни порядку виконання інструкцій програми, у відповідності з деяким умовою.

Оператор умови IF.

Він може приймати одну з таких форм:

IF умова THEN оператор; (неповна форма)

Умова задається змінною і її співвідношенням з деякою константою або значенням висловлювання. Якщо умова виконується, то буде виконаний вказаний оператор.

IF умова THEN оператор 1 ELSE оператор 2; (повна форма)

Додавання до конструкції службового слова ELSE дозволяє виконати певні дії у разі, коли умова не виконуються.

Оператори циклу

Для виконання деякої кількості повторюваних дій доцільно використовувати оператори циклу.

Цикли з лічильником

При використанні циклу з лічильником слід задати змінну-лічильник. При цьому треба пам'ятати, що тип такої змінної повинен бути скалярним: Integer, Char, Boolean, що перераховується тип.

For <початкове значення лічильника>; To <кінцеве значення> Do <тіло циклу>;

Лічильник змінюється від меншого до більшого з кроком 1

For <початкове значення лічильника> Downto <кінцеве значення> Do <тіло циклу>;

Лічильник змінюється від більшого до меншого з кроком 1

Цикли з передумовою

Цикл з передумовою використовується для програмування процесів, в яких число повторень оператора циклу не відомо, а задається деяка умова його закінчення.

Оператор циклу з передумовою

while <умова> do <тіло циклу>;

Виконання оператора циклу з передумовою починається з перевірки умови, записаного після слова while. Якщо її дотримуються, то виконується <тіло циклу>, а потім знову перевіряється умова і т.д. Як тільки на черговому кроці виявиться, що умова не дотримується, то виконання <тіла циклу> припиниться.

У тілі циклу обов'язково повинен бути оператор, що впливає на дотримання умови, в іншому випадку відбудеться зациклення.

Цикли з постусловіем.

Для програмної реалізації циклічних процесів з невідомим числом повторень існує ще один оператор - оператор циклу з постусловіем, який має наступний вигляд:

Оператор циклу з постусловіем

Repeat

<Оператор 1>;

<Оператор 2>;

...

<Оператор n>;

Until <умова>;

де Repeat (повторювати), Until (до тих пір, поки що).

Цей оператор аналогічний оператору циклу з передумовою, але відрізняється від нього тим, що перевірка умови проводиться після чергового виконання тіла циклу. Це забезпечує його виконання хоча б один раз.

Тип даних - це безліч величин, об'єднаних певною сукупністю доступних операцій.

Одновимірний масив - послідовність елементів. Число, яких фіксоване і яким присвоєно одне ім'я.

Запис - це структура даних, що складається з фіксованого числа комп'ютера, називається полями запису.

Безліч в мові програмування Pascal представляє собою обмежений, невпорядкований набір різних елементів одного типу.

Рядок - це послідовність символів ASCII (таблиця коду). При використання у виразах рядок полягає в апострофи.

Двовимірний масив-це сукупність даних кожного значення, яких залежить від 2 чисел, які можна розглядати як індекс рядка, і індекс стовпця матриці.

3. Спеціальна частина

3.1 Рішення завдання

3.1.1 Постановка завдання

Скласти програму обчислення суми n перших членів геометричної прогресії в будь-яким двом її членам, номери яких відомі.

3.1.2 Таблиця ідентифікаторів

Змінні

тип

Значення

1

n

integer

Кількість членів геометричної прогресії

2

b1, b2

real

Перший і другий члени геометричної прогресії

3

Sn

real

Сума n членів геометричної прогресії

4

q

real

Знаменник прогресії

3.1. 3 Блок - схема

3.1.4 Програма

Program progressiy;

Var n: integer; b1, b2, Sn, q: real;

Begin

Writeln ('введіть n');

Readln (n);

Writeln ('введіть 2 числа');

Readln (b1, b2);

q: = b2/b1;

Sn: = (b1 * (exp (n * ln (q)) - 1) / (q-1));

Writeln (Sn: 3: 0);

Readln;

End.

3.1.5 Результат роботи програми

3.2 Рішення завдання

3.2.1 Постановка завдання

Скласти програму, що перевіряє належність точки з координатами (х, у) заштрихованої області.

3.2.2 Таблиця ідентифікаторів

Змінні

тип

Значення

1

x, y

Real

Координати точок

3.2.3 Блок-схема

3.2.4 Програма

program grafic;

var x, y: real;

begin

writeln ('введіть координати точок');

readln (x, y);

if (sqr (x) + sqr (y)> 4) and (x> =- 2) and (x <= 2) and (y> =- 2) and (y <= 2)

and ((x> 0) and (y <0) or (x <0) and (y <0) or (x <0) and (y> 0))

then writeln ('належить') else writeln ('не належить');

readln;

end.

3.2.5 Результат роботи програми

3.3 Рішення завдання

3.3.1 Постановка завдання

Довгожитель, тобто людина, яка прожила більше 100 років, звернув увагу, що якщо до суми квадратів цифр його віку додати число його дня народження, то вийде як раз його вік. Визначити, скільки років цій людині.

3.3.2 Таблиця ідентифікаторів

Змінні

тип

Значення

1

n

integer

Вік людини

2

i

integer

Місяць народження людини

3

a

integer

Одиниці

4

b

integer

Залишок від ділення на 100

5

h

integer

Десятки

6.

з

integer

Сотні

7

v

integer

Сума квадратів цифр його віку

3.3.3 Блок-схема

3.3.4 Програма

Program data;

Uses crt;

Var i, n, a, b, c, v, h: integer;

Begin

Clrscr;

For n: = 100 to 999 do

for i: = 1 to 31 do

begin

a: = n mod 10;

b: = n mod 100;

h: = b div 10;

c: = n div 100;

v: = a * a + h * h + c * c;

if n = i + v then writeln (n, '', i);

end;

readln;

end.

3.3.5 Результат роботи програми

3.4 Рішення завдання

3.4.1 Постановка завдання

Намалювати малюнок.

3.4.2 Таблиця ідентифікаторів

Змінні

тип

Значення

1

Gd

integer

Графічний драйвер

2

Gm

integer

Графічний режим

3.4. 3 Програма

Uses graph, crt;

Var gd, gm: integer;

Begin

gd: = 0; gm: = 0;

Initgraph (gd, gm, '');

setcolor (5);

Line (100, 200,250, 200);

Line (250, 200, 209,150);

Arc (157,183, 61, 195, 60);

Setfillstyle (0,3);

Floodfill (256, 200,5);

Ellipse (200, 135, 75, 233, 15, 20);

Ellipse (200, 135, 303, 75, 15, 20);

Ellipse (208, 139, 303, 91, 15, 24);

setfillstyle (1,8);

floodfill (220,145,5);

Arc (120, 200, 180, 0,10);

Setfillstyle (1,1);

Floodfill (125, 202,5);

Arc (120, 200, 180, 0, 15);

Arc (130, 200, 260, 0, 15);

Arc (200, 200, 180, 0,10);

setfillstyle (1,1);

Floodfill (125, 202,5);

Arc (120, 200, 180, 0, 15);

Arc (130, 200, 260, 0, 15);

Arc (200, 200, 180, 0,10);

Setfillstyle (1,1);

Floodfill (200, 202,5);

Arc (200, 200, 180, 0, 15);

Arc (210, 200, 260, 0, 15);

Line (150, 90, 150, 124);

Line (155, 90, 155, 123);

Line (150, 90, 155, 90);

Setfillstyle (1,1);

Floodfill (153, 100,5);

Arc (144, 83, 41, 310,10);

Arc (158, 83, 259, 126,10);

Setfillstyle (1,1);

Floodfill (144, 83,5);

Circle (144, 83,5);

Setfillstyle (1,2);

Floodfill (144, 83,5);

Circle (158, 83,5);

Setfillstyle (1,2);

Floodfill (158, 83,5);

Circle (255, 200,5);

Setfillstyle (1,4);

Floodfill (255, 200,5);

Setfillstyle (1,8);

Floodfill (200, 150,5);

Circle (215, 177,7);

Setfillstyle (1,9);

Floodfill (215, 177,5);

Setfillstyle (1, 14);

floodfill (121, 200,5);

readkey;

closegraph;

end.

3.5 Рішення завдання

3.5.1 Постановка завдання

Дано перший член і різницю арифметичної прогресії. Написати рекурсивну функцію для знаходження суми n перших членів прогресії.

3.5.2 Таблиця ідентифікаторів

Змінні

Тип

Значення

1

Sn

Real

Сума n перших членів арифметичної прогресії

2

n

integer

Кількість членів арифметичної прогресії

3

A1, A2

Real

Перший і другий члени арифметичної прогресії

4

d

Real

Різниця прогресії


3.5.3 Блок-схема

3.5. 4 Програма

Program recursiy;

var A1, d, A2, Sn: real; n: integer;

function prog (n: integer): integer;

begin

if n = 1 then prog: = A1 else prog: = A1 + d * (n-1) + prog (n-1);

end;

begin

Writeln ('введіть n');

readln (n);

writeln ('введіть перший і 2-ий член арифметичної прогресії');

readln (A1, A2);

d: = A2-A1;

Sn: = prog (n);

writeln (Sn);

readln;

end.

3.5.5 Результат роботи програми

3.6 Рішення завдання

3.6.1 Постановка завдання

Дан двовимірний масив. Видалити середню рядок (рядки).

3.6.2 Таблиця ідентифікаторів

Змінні

Тип

Значення

1

a

array

заповнення двовимірного масиву

2

i, j

integer

Параметри циклу

3

n, m

integer

Розмірність масиву

4

k

integer

Кількість елементів до середнього

3.6.3 Блок - схема

3.6.4 Програма

Var a: array [1. .100,1. .100] Of integer;

i, j, m, n, k: integer;

begin

writeln ('Введіть розм. мас ');

readln (n, m);

randomize;

for i: = 1 to n do

begin

for j: = 1 to m do

begin

a [i, j]: = random (100);

write (a [i, j]: 3);

end;

writeln;

end;

writeln ('Після видалення ');

if n mod 2 <> 0 then begin k: = n div 2 +1;

For i: = k to n-1 do

for j: = 1 to m do

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

for i: = 1 to n-1 do

begin

for j: = 1 to m do

write (a [i, j]: 3);

writeln;

end;

end

else

if n mod 2 = 0 then begin k: = n div 2;

For i: = k to n-2 do

for j: = 1 to m do

a [i, j]: = a [i +2, j];

for i: = 1 to n-2 do

begin

for j: = 1 to m do

write (a [i, j]: 3);

writeln;

end; end;

readln;

end.

3.6.5 Результат роботи програми

3.7 Рішення завдання

3.7.1 Постановка завдання

Дан одновимірний масив цілих чисел довільній довжини. Заповніть масив випадковими числами до 100. Використовуючи, оператор вибору, створіть меню, в якому при натисканні на клавішу проводяться наступні дії:

1 - обчислити середнє геометричне парних елементів масиву;

2 - знайти кількість дільників максимального числа;

3 - вставити в масив два елементи з даними значеннями: перший після мінімального елемента, другий - перед мінімальним елементом.

3.7.2 Таблиця ідентифікаторів

Змінні

Тип

Значення

1

a

array

Заповнення одновимірного масиву

2

Max

integer

Максимальний елемент

3

Min

integer

Мінімальний елемент

4

i

integer

Параметр циклу

5

N

integer

Розмірність масиву

6

k

integer

Кількість дільників

7

m

integer

Вибір дії

8

s

Real

середнє геометричне парних елементів масиву

9

v, c

integer

два елементи вставляються в масив

10

k1

integer

Номер позиції перед (після) якої вставляємо елемент

11

f

integer

Кількість елементів, які діляться на 2 без залишку

12

d

integer

Твір всіх елементів, які діляться на 2 без залишку


3.7.3 Блок-схема

3.7.4 Програма

uses crt;

Var a: array [1. .100] Of integer;

n, i, m, min, max, k, f, d, k1, c, v: integer;

S: real;

begin

clrscr;

randomize;

writeln ('введіть розм. масиву ');

readln (n);

for i: = 1 to n do

begin

a [i]: = random (101);

write (a [i]: 3);

end;

writeln;

writeln ('введіть номер операції програми');

writeln ('1-обчислити середнє гео-е парних ел. мас ');

writeln ('2-знайти до-во дільників max числа ');

writeln ('3-вставити в масив: 1-ий після min ел ,2-ої перед min ел ');

readln (m);

case m of

1: begin f: = 0;

for i: = 1 to n do

begin

if a [i] mod 2 = 0 then f: = f +1

end; writeln (f);

d: = 1; s: = 0;

for i: = 1 to n do

begin

if a [i] mod 2 = 0 then d: = d * a [i];

end;

writeln (d);

if d = 0 then s: = 0 else s: = exp (1 / f * ln (d));

writeln ('СР геом =', S: 3: 3);

readln;

end;

2: begin

max: = a [1];

for i: = 1 to n do

if a [i]> max then begin max: = a [i];

end;

for i: = 1 to max do

if max mod i = 0 then k: = k +1;

writeln ('до-во дільників max числа', k);

readln;

end;

3: begin

writeln ('введіть 2 числа');

readln (v, c);

min: = a [1];

k1: = 1;

for i: = 1 to n do

if a [i] <min then begin min: = a [i]; k1: = i; end;

writeln;

for i: = n downto k1 do

a [i +1]: = a [i];

a [k1]: = v;

for i: = n +1 downto k1 +1 do

a [i +1]: = a [i];

a [k1 +2]: = c;

for i: = 1 to n +2 do

write (a [i]: 3);

readln;

end;

end;

end.

3.7.5 Результат роботи програми

3.8 Рішення завдання

3.8.1 Постановка завдання

Дано масив записів, який містить відомості про розклад поїздів: напрям; прізвище, ім'я, по батькові машиніста; час відправлення поїзда. Необхідно здійснити:

1. заповнення масиву даними;

2. пошук поїздів на прізвище, ім'я, по батькові машиніста;

3. редагування часу відправлення поїзда;

4. видалення поїздів по полю "Напрям";

5. сортування по полю "Напрямок".

3.8.2 Таблиця ідентифікаторів

Змінні

Тип

Значення

1

A

array

Заповнення масиву

2

N

integer

Кількість потягів

3

Nap

string

Поле напрями

4

fio

String

Поле прізвища ім'я по батькові

5

vy

String

Поле час відправлення

6

i, j

integer

Параметри циклу

7

q

integer

Вибір дії

8

s1

string

Новий час

9

x

Rs

Додаткова змінна для сортування

10

s

String

Час

11

w

String

Прізвище, Ім'я, По батькові машиніста

12

r

String

Напрямок поїзда, яке видаляємо

13

k

Integer

Номер удаляемой записи

14

f

integer

прапорець

3.8.3 Блок-схема

3.8.4 Програма

type RS = Record

Nap: string [40];

fio: string [40];

vy: string [10];

end;

var a: array [1. .50] Of RS;

n, i, j, q, k, f: integer; s, s1, w, r: string; x: RS;

begin

Writeln ('введіть kol poezdov');

readln (n);

for i: = 1 to n do

begin

writeln ('введіть Напрямок', '', i, '', 'поїзда');

readln (a [i]. Nap);

writeln ('введіть Ф. І. О. ',' ', I,' ',' машиніста ');

readln (a [i]. fio);

writeln ('введіть час ',' ', i,' ',' відправлення ');

readln (a [i]. vy);

end;

writeln ('введіть номер операції програми');

writeln ('1-пошук поїздів на прізвище, ім'я, по батькові машиніста ');

writeln ('2-редагування часу відправлення поїзда ');

writeln ('3-видалення поїздів по полю <Напрямок> ');

writeln ('4-сортування по полю <Напрямок> ');

readln (q);

case q of

1: begin

writeln ('ведіть Ф. І.О. машиніста');

readln (w);

f: = 0;

for i: = 1 to n do

begin

if a [i]. fio = w then begin

writeln ('Напрямок', a [i]. Nap, '', 'час', a [i]. vy);

f: = 1; end;

if f = 0 then writeln ('таких немає');

end; end;

2: begin

writeln ('введіть час, який ви хочете поміняти');

readln (s);

writeln ('введіть час на який ви хочете поміняти');

readln (s1);

for i: = 1 to n do begin

if a [i]. vy = s then a [i]. vy: = s1;

end;

for i: = 1 to n do

begin

writeln (i, '', 'машиніст', a [i]. fio, '', 'Напрямок', a [i]. Nap);

writeln ('час', a [i]. vy);

writeln;

end; end;

3: begin

writeln ('введіть Напрямок поїзда, яке ви хочете видалити');

readln (r);

for i: = 1 to n do begin

if a [i]. Nap = r then

k: = i;

for i: = 1 to n do

if i <> k then

writeln (i, '', 'машиніст', a [i]. fio, '', 'Напрямок', a [i]. Nap);

writeln ('час', a [i]. vy);

end;

end;

4: begin

for i: = 1 to n-1 do

for j: = 1 to n do

if a [i]. Nap> a [j]. Nap then

begin

x: = a [i];

a [i]: = a [j];

a [j]: = x;

end;

for i: = 1 to n do

begin

writeln (i, '', 'машиніст', a [i]. fio, '', 'Напрямок', a [i]. Nap);

writeln ('час', a [i]. vy);

end;

end;

end;

readln;

end.

3.8.5 Результат роботи програми

3.9 Рішення завдання

3.9.1 Постановка завдання

Написати програму вирішення ребуса VOLVO + FIAT = MOTOR.

3.9.2 Таблиця ідентифікаторів

Змінні

Тип

Значення

1

v, o, l, f, i, a, t, m, r

0. .9

Параметри циклу

2

dig

0. .9

Безліч цифр

3

Sum

longint

Сума VOLVO + FIAT

4

motor

longint

MOTOR

3.9.3. Блок-схема

3.9.4 Програма

Uses crt;

var

v, o, l, f, i, a, t, m, r: 0. .9;

dig: set of 0. .9;

sum, motor: longint;

begin

clrscr;

for v: = 0 to 9 do begin

include (dig, v);

for o: = 0 to 9 do

if not (o in dig) then begin

include (dig, o);

for l: = 0 to 9 do

if not (l in dig) then begin

include (dig, l);

for f: = 0 to 9 do

if not (f in dig) then begin

include (dig, f);

for i: = 0 to 9 do

if not (i in dig) then begin

include (dig, i);

for a: = 0 to 9 do

if not (a in dig) then begin

include (dig, a);

for t: = 0 to 9 do

if not (t in dig) then begin

include (dig, t);

for m: = 0 to 9 do

if not (m in dig) then begin

include (dig, m);

for r: = 0 to 9 do

if not (r in dig) then begin

include (dig, r);

Sum: = v * 10000 + (o + f) * 1000 + (l + i) * 100 + (v + t) * 10 + (o + t);

Motor: = m * 10000 + o * 1000 + t * 100 + o * 10 + r;

if sum = motor then

writeln (v, o, l, v, o ,'+', f, i, a, t ,'=', m, o, t, o, r);

exclude (dig, r)

end;

exclude (dig, m);

end;

exclude (dig, t);

end;

exclude (dig, a);

end;

exclude (dig, i);

end;

exclude (dig, f);

end;

exclude (dig, l);

end;

exclude (dig, o);

end;

exclude (dig, v);

end;

readln;

end.

3.9.5 Результат роботи програми

3.10 Рішення завдання

3.10.1 Постановка завдання

Дана рядок символів s 1, s 2, ..., sn. Відомо, що серед s 1, ..., sn є, принаймні одна кома. Знайти натуральне i таке, що si - остання по порядку кома.

3.10.2 Таблиця ідентифікаторів

Змінні

Тип

Значення

1

v

char

кома

2

s

string

Рядок

3

i

integer

Параметр циклу

4

n

integer

Номер позиції

3.10.3 Блок-схема

3.1 0 .4 Програма

uses crt;

var v: char;

s: string;

i, n: integer;

begin clrscr;

writeln ('Vvedite stroky');

readln (s);

begin v: =',';

for i: = 1 to length (s) do

if s [i] = v then n: = i;

end;

writeln (n);

readln;

end.

3.10.5 Результат роботи програми

Висновок

Я закріпила теоретичні знання мови програмування на практиці. Практичні заняття використовуються для ретельного вивчення змістовно-методичних принципів побудови програми, змісту та структури прикладного програмного забезпечення, обговорення методики вивчення окремих тем курсу з різними варіантами технічного та методичного забезпечення.

Список літератури

1. Немнюгин С. А. Turbo PASCAL С-П Вид-во Пітер 2000.

2. Фаронов В. В. Turbo Pascal 7.0.М. "Нолидж", 1999

3. Шаньгін В.Ф., Піддубна Л., серія ПЗ ЕОМ кн.7, М, ВШ, 1991

4. Васюкова Р.Д., Практикум з основ програмування, Мова ПАСКАЛЬ, М, ВШ, 1991

5. Новачків В.С., Алгоритмічні мови в технікумі, ПАСКАЛЬ, М, 1990

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Звіт з практики
105.6кб. | скачати


Схожі роботи:
Мова програмування Turbo Pascal
Програмування Pascal
Модульне програмування Turbo Pascal
Розробка програм у середовищі програмування Turbo Pascal 7 0
Розробка програм у середовищі програмування Turbo Pascal 70
Алгоритмічна мова Pascal Програма Телефонний довідник
Програмування трьохмірної графіки та анімації засобами Turbo Pascal
Об`єктно-орієнтоване середовище програмування Object Pascal в профільному курсі інформатики
Складання програм для вирішення задач на мові програмування Turbo Pascal
© Усі права захищені
написати до нас