- •Для студентів I курсу денної форми навчання зі спеціальності 6.080200 – «інформатика» (у тому числі скорочений термін навчання)
- •Лабораторна робота №1 Програмування лінійних алгоритмів.
- •Контрольні питання:
- •Задачі.
- •Лабораторна робота №2 Програмування алгоритмів, що розгалужуються
- •Лабораторна робота №3
- •Задачі.
- •Задачі.
- •Лабораторна робота №4 Програмування циклічних алгоритмів (продовження)
- •Контрольні питання
- •Лабораторна робота 5 Програмування з використанням масивів
- •Контрольні питання
- •Лабораторна робота 6. Програмування з використанням записів
- •Змінні типу String аналогічні масивам типу Char. Їхньою відмінністю є те, що число символів (довжина рядка) може динамічно змінюватися в інтервалі від одиниці до заданого верхнього значення.
- •Контрольні питання
- •Лабораторна робота 7 Програмування з використанням множин
- •Контрольні питання
- •Лабораторна робота 8 Програмування з використанням типу запис
- •Приклад. Дано два раціональних числа, опишіть їх, використовуючи структуру даних запис (чисельник, знаменник). Скоротити їх, знайти їх суму. Етапи рішення програми:
- •Контрольні питання
- •Лабораторна робота 9 Програмування з використанням процедур і функцій
- •Контрольні питання
- •Задачі.
- •Лабораторна робота 10 Робота з файлами
- •Контрольні питання
- •Лабораторна робота 11 Графіка в Turbo Pascal
- •Процедури і функції модуля craph Процедури.
- •Функції.
- •GraphResult Повертає значення GrOk, що відповідає коду 0, якщо всі графічні операції програми виконалися без помилок, чи повертає числовий код помилки (від -1 до -14).
- •Приклад. Побудувати правильний n - кутник.
- •Лабораторна робота 12 Контрольна робота
- •Контрольні питання
- •Література
- •39614, М. Кременчук, вул Першотравнева, 20
Лабораторна робота 9 Програмування з використанням процедур і функцій
Мета роботи. познайомитися з поняттями "процедура" і "функція" у мові програмування Pascal, розглянути їхні подібності і розходження, закріпити практичні навички роботи із системою TURBO Pascal на прикладі реалізації алгоритмів за допомогою процедур і функцій, навчитися застосовувати метод послідовної деталізації в практичному програмуванні; застосовувати процедури і функції при рішенні задач.
Часто в програмі виявляються однотипні ділянки, що виконують ті самі обчислення, але з різними даними. Такі частини програми доцільно оформляти у виді підпрограм. У мові Pascal існує два види підпрограм: процедури і функції.
Перед виконанням даної роботи необхідно вивчити правила опису процедур і функцій, механізм передачі параметрів, ознайомитися з поняттям локальної і глобальної змінної.
Приклад. Знайти суму додатних елементів у масиві.
Етапи рішення задачі:
-
Алгоритм рішення досить простий - у циклі будемо "пробігати" масив, порівнюючи його члени з 0 і додавати, якщо вони більші нуля.
-
Складемо блок-схему програми

Уточнимо з яких блоків складається блок "Додавання додатних елементів"

Зміст цих блоків не є складним, тому не варто їх уточнювати.
-
Напишемо програму мовою Паскаль
program example10;
type
Tarray = array[1..100] of integer;
Var v: Tarray;
N,i,s:integer;
Procedure vvod_data(var m:Tarray;n:integer);
Var i:integer;
Begin
Writeln('Уведіть ',n,' чисел через пробіл');
For i:= 1 to n do read(m[i]);
End;
Function summ(m:TArray):integer;
Var s:integer;
Begin
S:=0;
For i:= 1 to n do if m[i]>0 then s:= s+m[i];
Summ:=s;
End;
begin
write('Уведіть розмірність масиву N= '); readln(n);
vvod_Data(v,n);
s:= summ(v);
writeln('Сума= ',s);
end.
Контрольні питання
-
Для чого потрібні в програмі процедури і функції?
-
У чому відмінність між процедурою і функцією?
-
Чим відрізняються формальні і фактичні параметри?
-
Чим відрізняються параметри-значення і параметрі-змінні?
-
Як описуються глобальні і локальні змінні?
-
Чому при звертанні до процедури, аргумент, переданий параметр-змінної, може бути тільки змінною, а не константою чи виразом?
Задачі.
-
Дано дійсні числа х1, у1, х2, у2, ...,х10, у10. Знайти периметр десятикутника, вершини якого мають відповідно координати (х1, у1), (х2, у2), ..., (х10, у10). (Визначити процедуру обчислення відстані між двома точками, заданими своїми координатами.)
-
Дано a,b,c,d,e - сторони п'ятикутника. Знайти площу п'ятикутника. (Визначити процедуру обчислення площі трикутника за його сторонами)
Дано три символьні матриці.
3. Ту матрицю, де є хоча б одній голосна – транспонувати.
4. У тій матриці, на головній діагоналі якої всі цифри, знайти найменшу і видалити відповідний рядок.
5. Описати функцію Stepen (x,n) від дійсного x і цілого n, що обчислює (за допомогою множення) величину xn, і використовувати її для обчислення b=2.7k+(a+1)-5.
6. Дано відрізки a,b,c і d. Для кожної трійки цих відрізків, з яких можна побудувати трикутник, надрукувати площу даного трикутника. Визначити процедуру Plo(x,y,z), що видає площу трикутника зі сторонами x,y і z, якщо такий трикутник існує.
7. Нехай
процедура Socr(a,b,p,q) від цілих параметрів
(
)
приводить дріб
до нескоротного виду. Описати дану
процедуру і використовувати її для
приведення дробу
до нескоротного.
8. Дано довжини a, b і c сторін деякого трикутника. Знайти медіани трикутника, сторонами якого є медіани початкового трикутника. Довжину медіани, проведеної до сторони a.
9. Дано координати вершин двох трикутників. Визначити, який з них має більшу площу.
10. Дано координати вершин трикутника і координати деякої точки усередині нього. Знайти відстань від даної точки до найближчої сторони трикутника.
11. Два натуральних числа називаються "дружніми", якщо кожне з них дорівнює сумі всіх дільників іншого, за винятком його самого (такі, наприклад, числа 220 і 284). Надрукувати усі пари "дружніх" чисел, що не перевершують заданого натурального числа.
-
Дано парне число n > 2. Перевірити для цього числа гіпотезу Гольдбаха. Ця гіпотеза полягає в тім, що кожне парне n, більше двох, можна представити у вигляді суми двох простих чисел.
-
Дано натуральне число n. З'ясувати, чи є воно повним квадратом. Визначити функцію, що дозволяє розпізнавати повні квадрати.
-
Потрібно написати програму, що виводить у порядку зростання всі правильні нескоротні дроби, знаменники яких менше N (
).
