writeln('CyMa в гривнях така:', Gryvni(25)).

Після виконання відповідної програми на екрані отримаємо:

Сума в гривнях така: 126.25

Техніка безпеки під час роботи на ПК.

Інструктаж з ТБ при роботі з ПК та в комп’ютерному класі.

Практична робота № 18 «Побудова алгоритмів з використанням процедур і функцій».

Хід роботи

1. Вивчити можливості мови програмування Pascal використання функцій та процедур опрацювання рядкових величин:

· склеювання рядкових величин;

· визначення довжини рядкової величини;

· копіювання;

· видалення та вставка.

1. Вибрати варіант завдання (за погодженням з учителем).

2. Скласти математичну модель, алгоритм розв'язування задачі та реалізовувати їх у вигляді програм.

3. Завантажити середовище програмування Паскаль.

4. Ввести з клавіатури текст програми, складеної на основі блок-схеми.

Програма має обов'язково містити команди:

· введення даних, які є відомими в задачі;

· виведення на екран даних, які є результатом розв'язку задачі.

1. Зберегти у файлі текст введеної програми.

2. Назва файла має нести інформацію про номер практичної роботи та прізвище її виконавця. Файли програм мають зберігатися в особистій папці на диску.

3. Виконати запуск створеної програми на виконання.

· у випадку появи повідомлень про помилки уважно перевірити текст вашої програми і випра­вити помилки. Якщо помилку не вдається виправити самостійно, потрібно скористатися допо­могою вчителя;

· зробити «зрозумілим» інтерфейс програми;

· доповнити програму командами виведення з текстовими підказками. Між величинами, які виводяться на екран, має бути просторове розділення. Вибрати найзручніший формат для да­них, що виводяться.

1. Одержати результат виконання доповненої програми. Переписати у звіт текст робочої програми.

2. Повторити запуск програми кілька разів, міняючи кожен раз вхідні дані. Переписати у звіт результати виконання програми.

3. Зберегти у файлі остаточний текст програми. Ім'я файла та адресу його розміщення записати у звіт.

4. Зробити висновки щодо виконаної роботи.

Завдання до практичної роботи.

Рівень А

Дано дійсні числа a, b, с, d. Обчислити:

у = (р(а) + p(b) + р(с) + p(d))/4,

де р(х) = 4х4 + Зх3 + 2х2 + х + 0.5.

Рівень Б

І. За даними дійсними числами а, b обчислити:

u = f(0.5, а) + f(a + b, а - b),

ІІ. Дано дійсні числа u та v. Визначити значення:

z= f(u + v, v-u)+f(1.7, v),

Рівень В

I. Дано дійсні числа х, у та z. Обчислити:

u=

II. Дано дійсні числа а, b, с. Обчислити:

z=

Підсумки уроку.

1. Для чого створюють підпрограми?

2. Що таке процедура і для чого її створюють?

3. У чому суть концепції структурного програмування?

4. Який вигляд має процедура?

5. Який загальний вигляд має головна програма?

6. Який вигляд має команда виклику процедури?

7. Хто дає назву процедурі?

8. Де записують процедури?

9. Де описуються і діють глобальні змінні?

10. Де описуються і діють локальні змінні?

11. Яке призначення глобальних і локальних змінних?

12. Що таке фактичні й формальні параметри?

13. Як відбувається обмін даними між фактичними і формальними параметрами?

14. Чи повинні збігатися назви відповідних фактичних і форма­льних параметрів?

15. У якому випадку фактичний параметр може бути сталою або виразом?

16. Чи може формальний параметр бути сталою або виразом?

17. Який вигляд має команда виклику процедури?

18. Скільки результатів може повертати процедура?

19. Яке призначення функцій?

20. Яка різниця між стандартними і нестандартними функціями?

21. Хто складає і надає назви нестандартним функціям?

22. Скільки значень повертає підпрограма-функція?

23. Які є правила оформлення функції?

24. Що таке вказівник функції?

25. Як транслятор обчислює нестандартну функцію?

26. Чи може бути функція без параметрів? (відповідь: так, дані передаються у функцію через глобальні змінні).

Вправи та задачі.

1. Що виконує така процедура:

procedure Mytext;

begin

writeln(’3 Новим роком!')

end;

2. Запишіть результат виконання програми

program New; var і : integer;

procedure One;

begin

writeln('111111')

end;

procedure Two;

begin

writelnf 222222')

end;

begin

One;

Two;

One;

for i:=l to 3 do Two

end.

3. Нарисуйте, що виводить на екран така процедура:

procedure Т;

var і : integer;

begin

for і := 1 to 5 do writeln(‘—’:і)

end;

4. Що виконує така програма:

program Rysunok;

procedure Stars(n: integer);

var i:integer;

begin

for і := 1 to n do write('*'); writeln

end;

begin

Stars(5);

Stars(10);

Stars(15)

end.

5. Що робить така програма:

program Sumy; var k,s : integer;

procedure Suma(n: integer; var s: integer);

var і : integer;

begin

s := 0;

for i:=l to n do s := s+ і

end;

begin

suma(5,s);

writeln(s);

read(k);

suma(k,s);

writeln(s);

end.

6. В одній процедурі передбачте виведення на екран свого пріз­вища та імені, в інших двох — виведення на екран даних про двох ваших друзів. Дайте процедурам назви і складіть головну програму, в якій першу процедуру викличіть один раз, другу — п’ять разів, а третю — сім.

7. Обчисліть довжини п’яти кіл і площі відповідних п’яти кругів, якщо їхні радіуси набувають значень 2, 4, 6, 8, 10. Викорис­тайте: а) процедуру для обчислення довжини кола і процедуру для обчислення площі круга; б) одну процедуру.

8. Обчисліть площі поверхонь і об’єми трьох повітряних куль (S = 4 r2, V= (4/3) r3) за відомими радіусами г, використавши процедуру для обчислення площі й об’єму. Радіуси куль відповідно дорівнюють 5, 10, 15 м.

9. Оформіть алгоритм розв’язування квадратного рівняння у вигляді процедури. У головній програмі передбачте введення коефі­цієнтів і двічі викличіть процедуру для розв’язування квадратного рівняння

10. Складіть процедуру з параметрами, яка отримує три цілі числа, а повертає їхню суму, добуток і середнє арифметичне. Скла­діть відповідну головну програму.

11. Складіть програму з використанням процедури з пара­метрами для обчислення периметра і площі двох прямокутників.

12. Складіть процедуру, яка отримує значення аргумента, а повертає значення трьох функцій: y=sinx, 2—cosx, v=tgx.

13. Складіть програму, де вводиться ціле число і викликаються три процедури обчислення сум чисел від 1 до заданого: а) всіх чисел; б) лише парних; в) лише непарних. Виведіть результати.

14. Складіть процедуру для визначення мір, якщо 1 дюйм = =2,54 см = 1/12 фута, а також головну програму для побудови 10 рядків таблиці цих мір для перших десяти дюймів. Додаткове завдання: запишіть модуль з такою процедурою.

15. Складіть програму розв’язування квадратного рівняння, використовуючи процедуру з параметрами.

16. Складіть функцію для обчислення площі круга за заданим радіусом.

17. Складіть функцію і запишіть програму для переведення а гривень у долари за курсом НБУ.

18. Складіть програму для побудови таблиці мір, використовуючи функцію, якщо: а) 1 морська миля = 1852 м; б) 1 кабельт = 183 м; в) 1 ярд = 0,9144 м; г) 1 фут = 0,3048 м.

19. Складіть програму табулювання функції у=sin2x2 на деякому проміжку з деяким кроком, використайте підпрограму-функцію для її обчислення.

20. Складіть програму для обчислення медіан у трикутнику, заданому координатами вершин.

21. Складіть програму, щоб визначити, скількома способами можна призначити будь-яких трьох учнів у вашому класі черго­вими (застосуйте формулу для Сmn зі значеннями m=3, n — кількість учнів у класі, використайте функцію для обчислення факторіалів).

22. Складіть програму, щоб визначити, скількома способами можна обрати п’ятьох учнів у вашому класі для участі в змаганнях.

Домашнє завдання.

1. Повторити “Підпрограми”

2. Виконати завдання 13, 20.