- •З м і с т
- •Частина 1. Алгоритмізація задачі Порядок виконання лабораторних робіт
- •Зміст звіту
- •Основні принципи розробки алгоритмів
- •Лабораторна робота 1 алгоритмізАцІя лінійного, розгалуЖеного Та циклічного обчислювального процесу
- •Загальні вказівки
- •Завдання для самостійної роботи
- •Знаходження екстремального значення
- •Формування одномірного робочого масиву
- •Сортування елементів масиву
- •Лабораторна робота 2 селективна обробка масивів
- •Загальні вказівки Селективна (вибіркова) обробка інформації
- •Завдання для самостійної роботи
- •Лабораторна робота 3 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки Вкладені цикли
- •Обробка заданого рядка (стовпця) матриці
- •Обробка заданої діагоналі матриці
- •Селективна обробка рядка (стовпця) матриці, що задовольняє заданій умові
- •Завдання для самостійної роботи
- •Частина 2. Складання і налагодження програми. Обчислення й обробка результатів Порядок виконання лабораторних робіт
- •Зміст звіту
- •Оператор привласнювання
- •Оператори уводу-виводу
- •Завдання до лабораторної роботи
- •Лабораторна робота 2 програмування розгалуЖеного обчислювального процесу
- •Структура Паскаль–програми
- •Умовний оператор
- •Завдання до лабораторної роботи
- •Лабораторна робота 3
- •Завдання до лабораторної роботи
- •Програмування розгалуЖеного циклічного обчислювального процесу. Табулювання функцій
- •Табулювання функцій
- •Завдання до лабораторної роботи
- •Лабораторна робота 5 нестандартні й обмежені типи даних. Оператор варіанта
- •Нестандартні типи даних
- •Обмежені типи даних
- •Оператор вибору варіанта
- •Оператор циклу for
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 6 регулярні типи даних. Селективна обробка масивів
- •Регулярні типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 7 формування робочих масивів за допомогою операцій селекції вихідного масиву
- •Сортування масивів
- •Завдання до лабораторної роботи
- •Лабораторна робота 8 вкладені цикли. Обробка двовимірних масивів
- •Загальні вказівки
- •Завдання до лабораторної роботи
- •Лабораторна робота 9 процедури і функції
- •Процедури
- •Функції
- •Завдання до лабораторної роботи
- •Лабораторна робота 10 обробка символьних даних
- •Символьний тип даних
- •Завдання до лабораторної роботи
- •Лабораторна робота 11 обробка строкових даних
- •Строковий тип даних
- •Процедури
- •Функції
- •'Abcdef' copy(s,2,3) 'bcd';
- •'System' length(s) 6;
- •Завдання до лабораторної роботи
- •Лабораторна робота 12 комбіновані типи даних
- •Приклади виконання завдання лабораторної роботи
- •Завдання до лабораторної роботи
- •Лабораторна робота 13 файли і файлові типи даних
- •Файловий тип даних
- •Процедури обробки файлів
- •Завдання до лабораторної роботи
- •Список рекомендованої літератури
Завдання до лабораторної роботи
Завдання 1. Складіть програми для розв’язання наступних задач обробки двовимірних масивів.
Варіант 0n, 3n. Знайдіть <умова А> елементів кожного стовпця матриці Х(4,5). Результат запишіть у масив В.
Варіант 1n. Знайдіть <умова А> елементів кожного рядка матриці В(6,4). Результат запишіть у масив Х.
Варіант 2n. Знайдіть максимальний за модулем елемент матриці М(5,6), номер його рядка і стовпця. Визначте <умова А> елементів знайденого рядка (непарні варіанти) або знайденого стовпця (парні варіанти) вихідної матриці.
Умова А наведена в таблиці 22.
Таблиця 22
|
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 наведені в таблиці 23.
Таблиця 23
|
n |
<Умова A> |
<Умова Б> |
k |
|
1 |
Добуток парних |
Кількості додатних |
2 |
|
2 |
Добуток непарних |
Кількості від’ємних |
4 |
|
3 |
Суми додатних |
Мінімального кратного 3 |
6 |
|
4 |
Суми від’ємних |
Максимального не кратного 3 |
1 |
|
5 |
Кількості від’ємних |
Суми парних |
3 |
|
6 |
Кількості додатних |
Добуток не кратних 4 |
5 |
|
7 |
Мінімального додатного |
Середнього арифметичного непарних |
2 |
|
8 |
Максимального від’ємного |
Середнього геометричного додатних |
6 |
Продовження таблиці 23
|
n |
<Умова A> |
<Умова Б> |
k |
|
9 |
Добуток непарних |
Суми від'ємних |
4 |
|
0 |
Суми додатних |
Мінімального парного |
3 |
Лабораторна робота 9 процедури і функції
Мета роботи: виробити практичні навички в написанні та налагодженні програм з використанням процедур і функцій.
Процедури
У мові Паскаль передбачена можливість об'єднання будь-якої послідовності операторів у самостійну програму, яка називається процедурою.
У найпростішому випадку процедура може бути лише пойменованою групою операторів, наприклад:
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 програми. У будь-якій процедурі може міститися звертання до раніше описаної процедури.
