Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_rab_pascal_delphi.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
6.06 Mб
Скачать
  1. Використання функцій.

    1. Задача: за допомогою функції, що визначає більше з двох чисел, знайти більше з чотирьох чисел. В прикладі ми знаходимо більше з чотирьох чисел, використовуючи проміжні змінні х і 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.

    1. Використання рекурсії. Задача: обчислення 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.

  1. Використовуючи процедури і функції 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 дні?

  1. Оформіть звіт про лабораторну роботу. Захистіть лабораторну роботу у викладача.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]