![](/user_photo/2706_HbeT2.jpg)
- •Лабораторна робота 13. Робота з множинними типами даних . . . 76 Лабораторна робота 14. Створення й обробка файлів . . . . . . . . . . 79
- •Порядок виконання лабораторних робіт
- •Типи даних
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 4 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 робота з множинними типами даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 14 створення й оброблення файлів
- •Файли з типом
- •Процедури для роботи з файлами з типом
- •Функції для обробки файлів з типом
- •Завдання до лабораторної роботи
- •Лабораторна робота 15 коректування файлів
- •Завдання до лабораторної роботи
- •Процедури роботи з екраном
- •Процедури установлення текстових режимів I управління кольором
- •Процедури управління курсором
- •Процедура установлення текстових вікон
- •Завдання до лабораторної роботи
- •Лабораторна робота 17 перевірка достовірності даних
- •Вибір критеріїв достовірності
- •Типові алгоритми уводу I перевірки достовірності даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 18 графічні засоби мови паскаль
- •Графічні процедури мови Паскаль
- •Завдання до лабораторної роботи
- •Порядок виконання лабораторної роботи
- •Розрахунок масштабу I зрушення графіка
- •Процедура для креслення графіка
- •Завдання до лабораторної роботи
- •Порядок виконання роботи
- •Список рекомендованої літератури
- •Додаток а
Лабораторна робота 4 нестандартні й обмежені типи даних. Оператор варіанта
Мета роботи: виробити практичні навички в написанні та налагодженні програм на розгалужений циклічний процес, застосовуючи оператори циклу з параметром і вибору варіанта.
Нестандартні типи даних
У Паскаль-програму можна ввести змінні якого-небудь типу, що не співпадає зі стандартним. Такий тип задається перерахуванням значень, яких може набувати змінна. Загальна форма завдання перелічуваного типу така:
type T = (A1, A2, ..., AN);
Тут Т - позначення нового типу; A1,A2,...,AN - визначають константи нового типу даних. Послідовність значень, що складає перелічуваний тип, упорядкована.
Наприклад, новий скалярний тип color можна визначити в такий спосіб:
type color = (red, green, white, blue);
Для значень перелічуваних типів визначені такі стандартні функції:
- succ - одержання наступного значення даного типу;
- pred - одержання попереднього значення даного типу;
- ord - одержання порядкового номера даного типу (нумерація з нуля).
Обмежені типи даних
Відрізок значень будь-якого скалярного типу (крім типу real) може бути визначений як обмежений тип.
Загальний вид - type T = min..max;
Тут Т - ідентифікатор типу; min, max - ліва і права межі діапазону. Тип min і max задає множину, яка визначає базовий тип перемінної.
Наприклад:
type den = 1..31;
god = 1900..2000;
var x: den; g:god; c:1..12;
Оператор вибору варіанта
Оператор варіанта служить для вибору однієї з декількох перелічених у програмі дій у залежності від значення селекторного виразу.
Загальний вид –
case N of
M1: P1;
........
Mn: Pn
else P
end;
Тут N - селектор; М1,М2,...,Мn - мітки; Р1,Р2,..., Рn,Р - оператори. Селектор і мітки мають бути одного скалярного типу.
Наприклад:
case K of
1 : y:=10;
2..5 : Y:=2*x+5;
6..9 : Y:=sqrt(x)+x;
else Y:= sqr(x)
end;
Оператор циклу for
«Цикл - до» має вид
for I:=N1 to N2 do P;
Тут I – параметр циклу; N1,N2 - початкове і кінцеве значення параметру циклу; Р - оператор (простий чи складний). I,N1,N2 мають бути одного скалярного типу, але не real. Якщо це цілі змінні, то крок дорівнює одиниці.
Наприклад: for M:=5 to 20 do Y:=Y+M;
Цикл за убутним значенням параметра I від N2 до N1 має вид
for I:=N2 downto N1 do P;
Приклади виконання завдання лабораторної роботи
Приклад 10. Визначити сезон (зима, весна, літо, осінь), на який припадає кожний із дванадцяти місяців.
Програма розв’язання даного прикладу має вид:
program pr10;
uses crt;
type cezon=(z,w,l,o);
mec=(j,f,m,a,ma,i,il,aw,c,ok,n,d);
var k:mec; s:cezon; p:char;
Begin clrscr;
FOR K:=J TO D DO
CASE K OF
J,F,D:BEGIN S:=Z; WRITELN(' ':10,'ЗИМА'); END;
M,A,MA:BEGIN S:=W; WRITELN(' ':20,'ВЕСНА'); END;
I,IL,AW:BEGIN S:=L; WRITELN(' ':30,'ЛІТО'); END;
C,OK,N:BEGIN S:=O; WRITELN(' ':40,'ОСІНЬ'); END;
end;
p:=readkey
End.
Приклад 11. Для цілих значень аргументу обчислити таблицю значень функції
де Х1 - множина елементів інтервалу [0,8];
Х2 - множина непарних елементів інтервалу [9,15];
Х3 - інші числа інтервалу [-5,15].
Програма обчислення таблиці значень функції z має вид:
program pr11;
uses crt;
type arg = -5..15;
var x:arg; z:real; p:char;
begin
clrscr;
for x:=-5 to 15 do
begin
case x of
0..8: z:=pi*sqr(x)*x*(pi+sin(x));
9,11,13,15: z:=sqr(ln(2*x+8))
else z:=2*cos(x+pi/4); end;
writeln(' ':20,' x=',x:3,' ':8,' z=',z:9:3);
end;
p:=readkey
end.