
- •Лабораторна робота №1(3) Тема: Середовище програмування Turbo Pascal. Запуск і елементи вікна.
- •Теоретичні відомості.
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 2(4) Тема: Структура програми Turbo Pascal. Оператори введення/виведення.
- •Теоретичні відомості
- •Хід роботи
- •Лабораторна робота №3 (5) Тема: Робота з арифметичними операціями в Turbo Pascal
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 4 (6) Тема: Робота з умовним оператором
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 5 (7) Тема: Створення та реалізація лінійних програм, використовуючи модулі crt та System.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота №6 (8) Тема: Побудова графічних примітивів
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота №7 (9) Тема: Створення та реалізація найпростіших циклічних програм. Оператор повторення з параметром.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 8 (10) Тема: Створення та реалізація найпростіших циклічних програм. Оператор повторення з передумовою.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 9 (11) Тема: Створення та реалізація програм опрацювання табличних величин. Створення масивів, арифметичні дії з ними.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 10 (12) Тема: Створення та реалізація програм опрацювання табличних величин. Опрацювання масивів за умовою.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 11 (13) Тема: Створення та реалізація програм опрацювання табличних величин. Сортування таблиць методом прямого вибору.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота № 12 (14) Тема: Створення та реалізація програм опрацювання табличних величин. Сортування таблиць методом бульбашок.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота № 13 (15) Тема: Створення та реалізація програм з оператором вибору та циклом з післяумовою.
- •Теоретичні відомості Оператор repeat («цикл-до»)
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота № 13 Тема: Побудова графіків функцій в Turbo Pascal.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота № 15 (17) Тема: Створення найпростіших програм обробки рядкових величин.
- •Теоретичні відомості
- •Хід роботи:
- •Контрольні питання
- •Лабораторна робота № 16 (18) Тема: Створення та реалізація програм, що використовують програми функції.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні запитання
- •Лабораторна робота № 17 (19) Тема: Створення та використання програм, що містять підпрограми-процедури.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота №18 (20) Тема : Обробка файлових даних.
- •Теоретичні відомості
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 19 (21) Тема: Використання процедур та функцій модуля Graph при розробці анімації.
- •Хід роботи
- •Контрольні питання
- •Лабораторна робота № 20 (22) Тема: Вивчення особливостей процедур та функцій модуля crt.
- •Хід роботи.
- •Контрольні питання
- •Додатки
Лабораторна робота №18 (20) Тема : Обробка файлових даних.
Мета : Оволодіння практичними навичками обробки файлів, що вміщують деяку інформацію. Побудова графіків функції із створеного файлу.
Теоретичні відомості
Файл – поіменована область пам’яті на диску або іншому зовнішньому запам’ятовуючому пристрої.
Паскаль підтримує текстові (тип Text) типовані (типу File of …) і безтипові файли (типу File). Кожна програма обробки файлів обов’язково проходить такі кроки: відкриття, обробка та закриття файлів.
Для файлів існують загальні Текстові файли розглядають як послідовності символів розбиті на рядки. В кінці кожного рядка є два спеціальних символи #13 i #10. Кінець файлу #26(Ctrl+Z).
Введеня\виведення за допомогою процедур read\write.
Крім загальних процедур і функцій є процедури і функції обробки файлових змінних (див. Додаток. Таблиця 6.)
p
приклад
uses crt;
var f: File of real;
x, xn, xk, dx, w: Real;
b
egin
Clrscr;
Assign (f, ‘func.dat’);
Rewrite (f);
Write (f);
Write (‘input variables xn, xk’)
Readln (xn, xk);
Dx:=(xk-xn)/240;
X:=xn;
Repeat
If x<1 then w:=1,5*sqr(cos(x));
If (x<=x) and (x<=2) then w:=exp(3*ln(abs(x-2)))+6*x;
If x>2 then w:=3*sin (x)-2*cos(x);
Write (f, x, w); X:=x+dx;
Until x>xk;
Close (f);
Writeln (‘ok’);
Readln;
End.
Хід роботи
Згідно з варіантом виконати завдання зазначене в таблиці 11, використовуючи програму обробки строкових змін та символів, а також побудувати графік функції із створеного файлу.
Контрольні питання
Що таке файл?
Як ви розумієте поняття послідовного і довільного доступу до файлу?
Які види файлів підтримує Паскаль?
Які етапи обов’язково містить програма обробки файлових змінних?
Чим відрізняються процедури Assign i Reset?
Навіщо використовується процедура Rename?
Чим відрізняється опис текстових файлів від інших файлових змінних?
Поясніть різницю між Write i Rewrite.
Лабораторна робота № 19 (21) Тема: Використання процедур та функцій модуля Graph при розробці анімації.
Мета: Навчитися використовувати особливості модуля Graph при побудові рухомих зображень.
Хід роботи
Розробити програму рухомого об’єкту згідно свого варіанту (Див. Додаток Таблиця 8)
Приклад:
{ Рухомий об’єкт }
program titanik;
uses Graph, Crt;
var
grDriver:integer; { драйвер }
grMode:integer; { графічний режим }
grPath:string; { місце розташування драйвера }
ErrCode:integer; { результат ініціалізації граф. режиму }
x,y:integer; { координати кораблика }
color:word; { колір кораблика }
bkcolor:word; { колір тла екрана }
{ Кораблик }
Procedure Titan(x,y:integer; { координати базової точки }
color:word); { колір корабля }
const
dx=5; dy=5;
var
OldColor:word;
begin
OldColor:=GetColor; { зберегти поточний колір }
SetColor(color); { встановити новий колір }
{ корпус }
MoveTo(x,y);
LineTo(x,y-2*dy);
LineTo(x+10*dx,y-2*dy);
LineTo(x+11*dx,y-3*dy);
LineTo(x+17*dx,y-3*dy);
LineTo(x+14*dx,y);
LineTo(x,y);
{ надстройка }
MoveTo(x+3*dx,y-2*dy);
LineTo(x+4*dx,y-3*dy);
LineTo(x+4*dx,y-4*dy);
LineTo(x+13*dx,y-4*dy);
LineTo(x+13*dx,y-3*dy);
Line(x+5*dx,y-3*dy,x+9*dx,y-3*dy);
{ капітанський мостик }
Rectangle(x+8*dx,y-4*dy,x+11*dx,y-5*dy);
{ труба}
Rectangle(x+7*dx,y-4*dy,x+8*dx,y-7*dy);
{ іллюмінатори }
Circle(x+12*dx,y-2*dy,Trunc(dx/2));
Circle(x+14*dx,y-2*dy,Trunc(dx/2));
{ мачта }
Line(x+10*dx,y-5*dy,x+10*dx,y-10*dy);
{ облаштування }
MoveTo(x+17*dx,y-3*dy);
LineTo(x+10*dx,y-10*dy);
LineTo(x,y-2*dy);
SetColor(OldColor); { відновити поточний колір }
end;
begin
Readln;
grDriver := VGA; { режим VGA}
grMode:=VGAHi; { розширення 640х480}
grPath:=’d:\bp\bgi’; { драйвер, файл EGAVGA.BGI, знаходиться
в каталозі d:\bp\bgi }
InitGraph(grDriver, grMode,grPath);
ErrCode := GraphResult;
if ErrCode <> grOk then Halt(1);
x:=10;
y:=200;
color:=Yellow;
SetBkColor(Blue);
bkcolor:=GetBkColor;
repeat
Titan(x,y,color); { намалювати корабель }
Delay(100);
Titan(x,y,bkcolor); { стерти корабель }
PutPixel(x,y,color); { слід від корабля }
x:=x+2;
Delay(400);
until (x>500);
OutTextXY(10,10,’Рейс завершен!’);
readln;
CloseGraph; end.