![](/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 зрушення графіка
- •Процедура для креслення графіка
- •Завдання до лабораторної роботи
- •Порядок виконання роботи
- •Список рекомендованої літератури
- •Додаток а
Завдання до лабораторної роботи
Складіть програми для рішення наступних задач, використовуючи звертання до процедури та функції.
Дані масиви X(8), Y(8), Z(10), W(15), елементи яких визначаються за формулами:
xi=a1i2-a2(5-i); yi=b1sin(2i)+b2ei-5;
zi=c1(і-4)+c2sin2(1,5i); wi=d1ln(0,1i)+d2cos3(і-2,5).
Значення коефіцієнтів a1,...,d2 наведені в таблиці 10.
Таблиця 10
Варіанти |
a1 |
a2 |
b1 |
b2 |
c1 |
c2 |
d1 |
d2 |
01-05 |
2 |
10 |
4 |
6 |
8 |
3 |
5 |
12 |
06-10 |
3 |
9 |
6 |
5 |
6 |
5 |
6 |
10 |
11-15 |
4 |
8 |
9 |
4 |
2 |
7 |
8 |
6 |
16-20 |
5 |
7 |
10 |
3 |
4 |
9 |
7 |
8 |
21-25 |
6 |
5 |
12 |
2 |
3 |
11 |
9 |
4 |
26-29 |
7 |
6 |
14 |
1 |
5 |
13 |
10 |
2 |
Варіант m1. Підрахуйте відсоток <умова А> елементів у масивах Х,Y,Z. Визначте мінімальний з них.
Варіант m2. Підрахуйте загальну кількість <умова А> елементів у масивах Y,Z,W.
Варіант m3. Знайдіть суму мінімальних <умова А> елементів масивів X,Y,W.
Варіант m4. Знайдіть добуток максимальних <умова А> елементів масивів Y,Z,W.
Варіант m5. Сформуйте масив з різниць між сумами елементів <умова А> з парними і непарними індексами в масивах Х,Y,Z.
Варіант m6. Знайдіть середні арифметичні <умову А> елементів масивів Х,Y,Z і визначте максимальне з них.
Варіант m7. Знайдіть суму добутків квадратів <умова А> елементів масивів Х,Z,W.
Варіант m8. Сформуйте масив з різниць між максимальним <умова А> і мінімальним елементами масивів Х,Y,Z.
Варіант m9. Сформуйте масив із сум <умова А> елементів масивів Х,Y,W. Знайдіть максимальну суму.
Варіант m0. Сформуйте нові масиви, що складаються з <умова А> елементів масивів Y,Z,W.
Умова А наведена в таблиці 11.
Таблиця 11
m |
Умова А |
0,3 |
від'ємних |
1 |
додатних |
2 |
що належать інтервалу [-10;20] |
Лабораторна робота 9 обробка символьних даних
Мета роботи: виробити практичні навички в написанні та налагодженні програм при роботі із символьними даними.
Символьний тип даних
Змінна типу char (символьна перемінна) може набувати значення з визначеної упорядкованої сукупності символів, дозволених транслятором Паскаля на даній ЕОМ. Символьні змінні описуються ідентифікатором char, наприклад:
var c,b:char; a:array[1..10]of char;
Літери, вязті в апострофи, є константами символьного типу. Множина літер упорядкована:
A < B < C < … < Z < А < Б < … < Я.
Для символьних даних визначені операції порівняння (=,<>,<,>) і присвоювання (:=), а також функції перетворення:
- ord(x) – видає номер символу x;
- chr(i) – видає i-й символ послідовності;
- succ(x), pred(x) – видають наступний і попередній символи послідовності.
Приклади виконання завдання лабораторної роботи
Приклад 30. У заданій послідовності символів, що передують першому символу ! (знак оклику), замінити усі символи + на *.
Програма має вид:
program pr30;
uses crt; var x:char;
begin clrscr;
WRITELN(‘УВЕДИ ПОСЛІДОВНІСТЬ СИМВОЛІВ’); read(x);
while x <> ‘!’ do begin
if x =’+’ then write(‘*’) else write(x);
read(x) end;
writeln;
x:=readkey
end.
Приклад 31. У заданій послідовності символів, що передують першій крапці, видалити усі цифри і подвоїти знаки + і *.
Програма має вид:
program pr31;
uses crt;
VAR C:CHAR;
BEGIN CLRSCR;
WRITELN(‘УВЕДИ ПОСЛІДОВНІСТЬ СИМВОЛІВ’); READ(С);
repeat
if (c=’+’) or (c=’*’) then write(c,c)
else if (c<’0’) or (c>’9’) then
WRITE(C); READ(C)
until c=’.’; writeln;
c:=readkey
end.
Приклад 32. Дана послідовність символів х1, х2,...,хn. З’ясувати, чи є серед цих символів пари букв МА.
Програма має вид:
program pr32;
uses crt;
label 1;
const n=30;
type mas=array[1..n] of char;
var x:mas; i:integer; c:char;
BEGIN CLRSCR;
WRITELN(‘УВЕДИ ПОСЛІДОВНІСТЬ СИМВОЛІВ’);
FOR I:=1 TO N DO READ(X[I]); WRITELN;
WRITELN(‘ПОСЛІДОВНІСТЬ СИМВОЛІВ:’);
for i:=1 to n do write(x[i]); writeln;
for i:=1 to n-1 do
if (x[i]=’m’) and (x[i+1]=’a’) then
BEGIN
WRITELN(‘MA-Є’); GOTO 1
END;
WRITELN(‘MA-НЕМАЄ’);
1: c:=readkey
end.