- •З м і с т
- •Лабораторна робота 13. Робота з множинними типами даних . . . 76 Лабораторна робота 14. Створення й обробка файлів . . . . . . . . . . 79
- •Порядок виконання лабораторних робіт
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Лабораторна робота 2 програмування розгалуЖеного обчислювального процесу
- •Структура Паскаль–програми
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Програмування розгалуЖеного циклічного
- •Завдання до лабораторної роботи
- •Лабораторна робота 4 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 6 формування робочих масивів за допомогою операцій селекції вихідного масиву
- •Сортування масивів
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •'Abcdef' copy(s,2,3) 'bcd';
- •'System' length(s) 6;
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 робота з множинними типами даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 14 створення й оброблення файлів
- •Файли з типом
- •Процедури для роботи з файлами з типом
- •Функції для обробки файлів з типом
- •Завдання до лабораторної роботи
- •Лабораторна робота 15 коректування файлів
- •Завдання до лабораторної роботи
- •Лабораторна робота 16 робота з екраном у текстовому режимі засобами мови паскаль
- •Загальні вказівки
- •Процедури роботи з екраном
- •Процедури установлення текстових режимів I управління кольором
- •Процедури управління курсором
- •Процедура установлення текстових вікон
- •Завдання до лабораторної роботи
- •Лабораторна робота 17 перевірка достовірності даних
- •Вибір критеріїв достовірності
- •Типові алгоритми уводу I перевірки достовірності даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 18 графічні засоби мови паскаль
- •Графічні процедури мови Паскаль
- •Завдання до лабораторної роботи
- •Розрахунок масштабу I зрушення графіка
- •Процедура для креслення графіка
- •Завдання до лабораторної роботи
- •Порядок виконання роботи
- •Зміст звіту
- •Список рекомендованої літератури
- •Додаток а
Завдання до лабораторної роботи
Завдання 1. Складіть програми для розв’язання наступних задач обробки двовимірних масивів.
Варіант 0n, 3n. Знайдіть <умова А> елементів кожного стовпця матриці Х(4,5). Результат запишіть у масив В.
Варіант 1n. Знайдіть <умова А> елементів кожного рядка матриці В(6,4). Результат запишіть у масив Х.
Варіант 2n. Знайдіть максимальний за модулем елемент матриці М(5,6), номер його рядка і стовпця. Визначте <умова А> елементів знайденого рядка (непарні варіанти) або знайденого стовпця (парні варіанти) вихідної матриці.
Умова А наведена в таблиці 8.
Таблиця 8
N |
Умова А |
1 |
максимальні від'ємні значення |
2 |
мінімальні додатні значення |
3 |
суми додатних кратних 5 |
4 |
кількості від'ємних не кратних 3 |
5 |
мінімальні парні значення |
6 |
суму елементів, що належать інтервалу [1;20] |
7 |
максимальні кратні 4 значення |
8 |
середні геометричні з інтервалу [10;50] |
9 |
середні арифметичні непарних |
0 |
середні геометричні, більших за 15 |
Завдання 2. Складіть програми для розв’язання наступних задач обробки рядків, стовпців і діагоналей матриці.
Варіант 0n, 3n. Знайдіть різницю <умова А> елементів головної діагоналі і <умова Б> елементів рядка матриці Х(6,6).
Варіант 1n. Знайдіть суму <умова Б> елементів головної діагоналі і <умова А> елементів побічної діагоналі матриці Z(5,5).
Варіант 2n. Знайдіть частку від ділення <умова Б> елементів побічної діагоналі на <умову А> елементів k - го стовпця матриці Y(6,6).
Умови А, Б і значення k наведені в таблиці 9.
Таблиця 9
n |
<Умова A> |
<Умова Б> |
k |
1 |
Добуток парних |
Кількості додатних |
2 |
2 |
Добуток непарних |
Кількості від’ємних |
4 |
3 |
Суми додатних |
Мінімального кратного 3 |
6 |
4 |
Суми від’ємних |
Максимального не кратного 3 |
1 |
5 |
Кількості від’ємних |
Суми парних |
3 |
6 |
Кількості додатних |
Добуток не кратних 4 |
5 |
Продовження таблиці 9
n |
<Умова A> |
<Умова Б> |
k |
7 |
Мінімального додатного |
Середнього арифметичного непарних |
2 |
8 |
Максимального від’ємного |
Середнього геометричного додатних |
6 |
9 |
Добуток непарних |
Суми від'ємних |
4 |
0 |
Суми додатних |
Мінімального парного |
3 |
Лабораторна робота 8 процедури і функції
Мета роботи: виробити практичні навички в написанні та налагодженні програм з використанням процедур і функцій.
Процедури
У мові Паскаль передбачена можливість об'єднання будь-якої послідовності операторів у самостійну програму, яка називається процедурою.
У найпростішому випадку процедура може бути лише пойменованою групою операторів, наприклад:
procedure aa;
begin
d:=x; x:=y; y:=d
end;
У такій процедурі без параметрів і без оголошення перемінних всі імена передбачаються відомими програмі, оголошеними раніше. Ці змінні називаються глобальними. Змінна може бути локалізована, тобто оголошена в процедурі.
Процедура з параметрами перелічує змінні - параметри, що будуть використовуватися при виконанні процедури. Такі параметри вказуються в круглих дужках після імені процедури, наприклад:
procedure tr(a,b,c:real; var y:real);
Зазначені в дужках параметри називаються формальними. Якщо перед ім'ям формального параметра стоїть слово var, то такий параметр є параметром-перемінною, у противному випадку - значенням.
Для звертання до процедури досить указати її ім'я і список фактичних параметрів у круглих дужках, наприклад:
tr(p1, p2, p3, rez);
При звертанні потрібно, щоб, по-перше, кількість фактичних та формальних параметрів збігалося; по-друге, фактичні параметри p1,p2, p3,rez мали той же тип, що і формальні параметри a,b,c,y. У нашому випадку тип real. Фактичний параметр, що відповідає параметру-змінній, може бути тільки змінною. Фактичний параметр, що відповідає параметру-значенню може бути будь-яким вираженням відповідного типу, зокрема константою. Наприклад, звернутися до tr можна так:
tr (2.5,sqr(x)+4,a+b*x,r);
Результатом виконання процедури може бути значення, поміщене у змінну деякого типу. Якщо така змінна введена в список формальних параметрів, то вона має бути обов'язково параметром-змінною.
Процедура має ту ж структуру, що і головна програма, тобто складається із заголовка і блоку. Блок містить розділи label, const, type, var і виконувану частину (від begin до end;).
Процедура міститься в головній програмі після розділу var і перед begin програми. У будь-якій процедурі може міститися звертання до раніше описаної процедури.