Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Olgaritmizazziya лабки язык С 4 вариант / лб11 / АіП - Практична робота №11

.rtf
Скачиваний:
1
Добавлен:
27.01.2024
Размер:
3.64 Mб
Скачать

Практична робота №11

Тема: Створення програм з використанням функцій користувача.

Мета: отримати практичні навички роботи та самостійного створення нестандартних функцій, або функцій користувача. Наочно переконатися в спрощенні розуміння вихідного коду з використанням функцій

Теоретична частина

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

Отже, функцією називають незалежний фрагмент коду на С, який має власне ім'я, що призначений для виконання певної спеціалізованої задачі, і що повертає значення у програму, що її викликала. Програма на С не виконує оператори, що містяться у функції до тих пір, поки цю функцію не викличуть з іншої частини програми. Виклик функції, або ініціація її операторів, відбувається лише після згадування імені функції в програмному коді. При виклику функції програма може посилати до неї інформацію у вигляді одного або кількох аргументів. Ці аргументи використовуються функцією для вирішення її задачі.

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

Перед викликом та описом тіла функції необхідно описати її прототип:

тип_поверт_знач ім'я_ф-її (тип_арг ім'я1,. . . , тип_арг ім'яN);

Цей прототип повідомляє компілятор про наявність функції, що буде описана в програмі пізніше. Опис функції або визначення - це, власне, її повний текст, тобто повний код, що виконується. Якщо прототип функції містить імена аргументів, тоді перший рядок визначення (заголовок) повністю співпадає з прототипом, за виключенням крапки з комою - В ЗАГОЛОВКУ ЇЇ БУТИ НЕ ПОВИННО. Крім того, необов'язкові в прототипі імена аргументів функції повинні ОБОВ'ЯЗКОВО бути в заголовку.

Практична частина

Звіт про виконану лабораторну роботу повинен містити:

  1. Номер лабораторної роботи.

  2. Тему і мету роботи.

  3. Короткий теоретичний розділ.

  4. Опис практичної частини:

  • опис отриманого завдання (записане від руки);

  • реалізація рішення задачі - програмний код (можливий роздрукований варіант).

  1. Висновки про виконану роботу (які прийоми використовувалися для вирішення задачі, чому вибраний саме такий путь рішення).

Контрольні питання

  1. Дайте визначення функції користувача.

  2. Запишіть прототип функції користувача та поясніть кожну з його частин.

  3. Від чого залежить тип значення, яке поверне функція користувача

  4. Яку кількість аргументів може мати функція користувача? Чим це визначається?

  5. Яким чином головна функція викликає функцію користувача?

Скільки разів, протягом виконання програми, можна викликати функцію користувача?

Практичні завдання до роботи

  1. Розрахувати значення x, визначивши і використавши необхідну функцію:

  2. Розрахувати значення x, визначивши і використавши необхідну функцію:

  3. Розрахувати значення x, визначивши і використавши необхідну функцію:

  4. Розрахувати значення x, визначивши і використавши необхідну функцію:

  5. Розрахувати значення у, визначивши і використавши необхідну функцію:

  6. Розрахувати значення у, визначивши і використавши необхідну функцію:

  7. Розрахувати значення у, визначивши і використавши необхідну функцію:

  8. Розрахувати значення у, визначивши і використавши необхідну функцію:

  9. Визначити значення , де max (x, y) функція визначає більше з двох чисел

  10. Визначити значення де mіx (x, y) функція визначає менше з двох чисел

  11. Знайти периметр фігури ABCD по заданих сторонам AB, AС і DC. (Визначити функцію для розрахунку гіпотенузи прямокутного трикутника за його катетам.)

  1. Дано основи і висоти двох рівнобедрених трапецій. Знайти суму їх периметрів. (Визначити функцію для розрахунку периметра рівнобедреної трапеції по її основах і висоті.)

  2. Дано дійсні числа a, b, c, d, e. Знайти площу п'ятикутника, зображеного на малюнку. (Визначити функцію для розрахунку площі трикутника.)

  1. Дано дійсні числа x1, y1, x2, y2, ..., x5, y5. Знайти площу пятикутника, зображеного на малюнку вершини якого мають координати (x1, y1), (x2, y2), ..., (x5, y5). (Визначити функцію для розрахунку площі треуголь¬ніка за координатами його вершин.)

  1. *Дата деякого дня характеризується трьома натуральними числами: g (рік), m (порядковий номер місяця) і n (число). За заданим g, n і m визначити:

а) дату попереднього дня;

б) дату наступного дня.

Визначити функцію, підраховують кількість днів у тому чи іншому місяці.

  1. *Дано натуральні числа a і b. Знайти їх найменше спільне кратне. (Опре¬деліть функцію для розрахунку найбільшого загального дільника двох натураль¬них чисел, використовуючи алгоритм Евкліда.)

  2. *Дано натуральні числа a і b, що позначають відповідно чисельник і знаменник дробу. Скоротити дріб, тобто, знайти такі натуральні числа p і q, що не мають спільних дільників, що p / q = a / b. (Визначити функцію для розрахунку найбільшого загального дільника двох натуральних чисел, використовуючи алгоритм Евкліда.)

Соседние файлы в папке лб11