- •Лабораторна робота №1. Тема: Програмування алгоритмів циклічної структури. Оператор циклу з параметром. Оператори циклу while, repeat.
- •Хід роботи
- •Лабораторна робота №2. Тема: Робота з одновимірними масивами.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 2 . Масиви.
- •Дії над масивами. Заповнення масиву даними
- •Виведення масиву.
- •Дії з одновимірними масивами
- •Сортування масиву
- •Лабораторна робота №3. Тема: Сортування масивів. Робота з двовимірними масивами.
- •Хід роботи
- •Лабораторна робота №4. Тема: Процедури та функції. Рекурсивні функції. Відкриті масиви
- •Хід роботи
- •Використання процедур без параметрів та з параметрами.
- •Використання функцій.
- •Лабораторна робота №5. Тема: Робота з даними рядкового типу.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 5 . Рядки (string)
- •Змінну рядкового типу оголошують за допомогою слова string так:
- •Лабораторна робота №6. Тема: Модулі користувача. Модулі crt і graph.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 6. Модулі.
- •Виведення тексту
- •Приклад виводу тексту.
- •Поняття модуля
- •Структура модуля
- •Компіляція модулів
- •Стандартні модулі Короткий опис модулів
- •Графіка
- •Лабораторна робота №7. Тема: Записи. Команда приєднання (with).
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 7. Поняття запису
- •Оператор with
- •Лабораторна робота №8. Тема: Робота з текстовими файлами. Використання типізованих файлів.
- •Хід роботи
- •Теоретичні відомості до лабораторної роботи № 8. Файли і робота з ними.
Використання функцій.
Задача: за допомогою функції, що визначає більше з двох чисел, знайти більше з чотирьох чисел. В прикладі ми знаходимо більше з чотирьох чисел, використовуючи проміжні змінні х і y: х - більше серед чисел а1 і а2, у - більше серед чисел а3 і а4, Мах2(х,у)- результат.
Var al,a2,a3,a4,x,y: Integer;
Function Max2(а,b:Integer): Integer;
begin
if a>b then Max2:=a else Max2:=b
end;
BEGIN
Write ('Введіть чотири цілі числа ') ;
ReadLn (al,a2,a3,a4); {1- з використанням проміжних змінних}
х:=Мах2(а1,а2); у:=Мaх2 (а3,а4);
WriteLn (' 1: ',Мах2(х,у));
{2-з використанням тільки звернень до функції}
WriteLn('2: ',Max2(Max2(а1,а2),Max2(а3,а4)));
END.
Використання рекурсії. Задача: обчислення n-го числа ряду Фібоначчі. Числа Фібоначчі складають послідовність, черговий елемент якої обчислюється по двох попередніх значеннях: Fn=Fn-1+Fn-2. Нульове і перше значення повинні бути задані, їх значення повинне дорівнювати 1. В цій програмі реалізовано два методи розв’язання задачі обчислення числа Фібоначчі. Розв’язання з використанням рекурсивних викликів реалізовано за допомогою функції F. Ітераційний метод полягає в прямому програмуванні ітераційної формули для чисел Фібоначчі за допомогою функції G.
program fibonachi;
uses crt;
function F(n:word): longint; {рекурсивна функція}
begin
if keypressed then halt;
if (n=0) or (n=1) then F:=1
else F:=F(n-2)+F(n-1);
end;
function G(n:word): longint; {ітераційний метод}
var x,y,t: longint; k: word;
begin
x:=1; у:=1;
for k:=2 to n do
begin
t:=y; у:=x+y; x:=t;
end;
G:=y;
end;
var n:word; {Основна програма}
begin
clrscr;
Writeln('Введіть номер числа Фібоначчі'); readln(n);
writeln('Рекурсивний алгоритм : F(',n,')= ',F(n));
writeln('Ітераційний алгоритм: F(',n,')= ',G(n));
end.
Використовуючи процедури і функції cтворіть програми для масивів з різною кількістю елементів. Задача: у відділі Y є 15 співробітників, а в G - 20. Протягом місяця кожний співробітник відпрацював деяку кількість днів, яка задана як випадкова величина значеннями уn = random(30), п = 1, 2 ..., 15, gk = random(30), k = 1, 2 ..., 20. Денна оплата праці d в умовних одиницях. Податкова ставка 20%. Використовуючи процедури і функції, створіть масиви у, g, виведіть значення їх елементів на екран і виконайте завдання пошуку даних для кожного відділу, в залежності від номера варіанту, виданого викладачем. Виведіть повідомлення, якщо відсутні дані, які шукаються.
№ варіанту |
Задача |
|
|
Скільки чоловік в кожному з відділів працювало більше 15 днів? |
|
|
У кого якнайменший заробіток в кожному з відділів? |
|
|
Кому нараховано більше 100 у.о. в кожному відділі? |
|
|
Скільки людино-дня було відпрацьовано в кожному відділі? |
|
|
Який середній заробіток в кожному відділі? |
|
|
Скільки співробітників отримали більше 50 і менше 120 у.о.? |
|
|
Скількох чоловік працювало менше 10 днів? |
|
|
Яку суму податку заплатили в кожному відділі? |
|
|
Хто заплатив найбільший податок в кожному з відділів? |
|
|
У скількох співробітників податкові вирахування переважили 20 у.о.? |
|
|
Який середній податок був в кожному відділі? |
|
|
В якому відділі більший середній заробіток? |
|
|
Хто сплатив найменший податок в кожному відділі? |
|
|
Скільки чоловік в кожному відділі працювало тільки один день? |
|
|
У скількох чоловік заробіток вище середнього? |
|
|
В якому відділі менший середній заробіток? |
|
|
У скількох чоловік заробіток відхиляється від середнього менше ніж на 10% ? |
|
|
В якому відділі був зафіксований найбільший заробіток? |
|
|
Скільки співробітників відпрацювали більше 5 і менше 12 днів? |
|
|
Який середній заробіток перших п'яти співробітників в кожному відділі? |
|
|
У скількох чоловік заробіток був менше середнього? |
|
|
Який середній заробіток останніх чотирьох чоловік в кожному відділі? |
|
|
В якому відділі була відпрацьована більша кількість людино-дня? |
|
|
Хто заробив більше 100, але менше 200 у.о.? |
|
|
Скільки співробітників відпрацювали 2, 3 або 4 дні? |
Оформіть звіт про лабораторну роботу. Захистіть лабораторну роботу у викладача.
