
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 2
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Завдання лабораторної роботи
- •Лабораторна робота № 4
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 5
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 6
- •Завдання лабораторної роботи
- •Лабораторна робота № 7
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 8
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 9
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 10
- •Завдання лабораторної роботи
- •Варіанти індивідуальних завдань
- •Список літератури
Лабораторна робота № 5
Тема роботи: Функції з неоголошеними параметрами
Мета роботи: закріпити на практичних прикладах теоретичні знання про функції з неоголошеними параметрами; навчитися програмувати такі функції через безпосереднє звертання до фактичних параметрів та за допомогою стандартних макрозасобів.
Завдання лабораторної роботи
Перед початком роботи повторити основні принципи взаємозв’язку фактичних і формальних параметрів функцій, схему запису параметрів у пам’яті, способи звертання до неоголошеними параметрів.
Продумати алгоритм розв’язування задачі з індивідуального завдання та структуру програми.
Розробити перший варіант функції, вказаної в індивідуальному завданні. У цьому варіанті кількість фактичних параметрів варто задавати першим параметром, а всі наступні параметри повинні мати однаковий або повторюваний тип. Якщо функція працює зі символьними рядками, то обов’язково треба враховувати, що в списку параметрів зберігаються адреси рядків (вказівники на їхні перші символи), а самі рядки записані у пам’яті окремо.
Перевірити правильність розробленої функції, викликавши її декілька разів з різною кількістю та складом фактичних параметрів. У викликах фактичні параметри мають бути не тільки константами, а й змінними та виразами. Необхідно перевірити, яким буде результат, якщо тип якогось із фактичних параметрів, що належать до неоголошених, не буде збігатися з типом, що встановлений у тілі функції.
У другому варіанті функції треба задати певним чином типи неоголошених параметрів (наприклад, можна вказувати тип перед кожним параметром або використати список типів як один із параметрів тощо). У програмі реалізувати застосування цього варіанту функції для роботи з фактичними параметрами різних типів. Записати результати у звіт.
Третій варіант функції зі змінною кількістю параметрів має застосовувати бібліотечні функції (макрозасоби) із заголовного файла <stdarg.h>. Протестувати цей варіант на попередніх прикладах і порівняти результати.
Оформити звіт з лабораторної роботи. У висновках до роботи порівняти розроблені варіанти реалізації заданої функції.
Варіанти індивідуальних завдань
Розробити функцію зі змінною кількістю параметрів, яка для кожного свого числового параметра, що задає порядковий номер дня року, визначає та виводить на екран відповідну дату: <День> < Найменування місяця>, наприклад так: 47 день – 16 лютого. Параметрами функції (можливо, окрім першого) є числа, що задають номери днів поточного року. Для кожного з днів треба вказати відповідну дату або зазначити помилку (доцільно скористатися допоміжною функцією для формування дат). Результат вивести у формі таблиці.
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками з 16-ми кодами довгих цілих чисел. Функція повинна друкувати таблицю цих кодів та їхніх десяткових значень (або зазначати помилку, якщо код хибний). У програмі доцільно використати допоміжну функцію, яка перевіряє, чи заданий символьний рядок є правильним записом 16-го коду довгого беззнакового числа, і повертає десяткове значення цього числа або -1 у разі помилки.
Розробити функцію зі змінною кількістю параметрів (x1, x2, …, xn), яка обчислює значення виразу:
. Відомо, що кількість параметрів функції парна.
Розробити функцію зі змінною кількістю параметрів, яка визначає та виводить на екран потрібні слова зі заданих символьних рядків. Параметрами функції є символьні рядки (речення) і числа, які здають номери слів – перед кожним реченням вказується номер слова, яке має бути надруковане. У програмі доцільно використати допоміжну функцію для пошуку та друку з вказаного речення одного слова, номер якого задається.
Розробити функцію зі змінною кількістю параметрів, призначену для обчислення значення полінома:
. Значенняx, степінь n та коефіцієнти полінома аі (і = 0 . . n) передаються у функцію через її параметри.
Розробити функцію зі змінною кількістю параметрів, яка вилучає з усіх речень, що задані як параметри функції, слова, які містять вказану комбінацію символів, і друкує скорочені речення. У програмі доцільно використати допоміжну функцію для вилучення слів із заданим буквосполученням із вказаного символьного рядка.
Розробити функцію зі змінною кількістю параметрів (x1, x2, …, xn), яка обчислює значення виразу:
.
Розробити функцію зі змінною кількістю параметрів, призначену для знаходження найдовшого слова у кожному зі заданих речень. Всі параметри функції (можливо, окрім першого) є символьними рядками (реченнями). Доцільно, щоби функція викликала допоміжну функцію, яка визначає найдовше слово у заданому реченні.
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, …), яка обчислює значення виразу:
. Відомо, що кількість параметрів функції парна.
Розробити функцію зі змінною кількістю параметрів, кожен з яких є структурою, що має два поля: <Подія> та <Дата> (дата задається символьним рядком dd.mm.rr). Функція має знайти і повернути структуру, яка містить найдавнішу дату (доцільно, щоби ця функція викликала допоміжну функцію для порівняння двох дат).
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, …), яка обчислює значення виразу:
.
Розробити функцію зі змінною кількістю параметрів, яка для кожного свого числового параметра формує та виводить на екран символьний рядок, що є словесним записом (числівником) заданого числа, наприклад, 25 – двадцять п’ять (у разі числа 25). Параметрами функції (можливо, окрім першого) є цілі двоцифрові числа, для яких мають бути визначені числівники. У програмі доцільно використати допоміжну функцію для формування числівника заданого двоцифрового числа. Результат вивести у формі таблиці.
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, …), яка обчислює значення виразу:
. Відомо, що кількість параметрів функції парна.
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками (українськими реченнями). Функція повинна надрукувати ці речення так, щоби кожне слово починалося з великої літери. У програмі треба використати допоміжну функцію для перетворення заданого україномовного речення.
Розробити функцію зі змінною кількістю параметрів (x1, x2, …, xn), яка обчислює значення виразу:
.
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками (реченнями). Функція повинна перетворити й надрукувати речення так, щоби ”заховати“ всі слова, які містять вказану літеру. Наприкінці треба вказати, в якому з речень таких слів найбільше. У програмі треба використати допоміжну функцію, яка у заданому символьному рядку міняє всі символи слова, що містять вказану літеру, на відповідну кількість символів ? і повертає кількість ”захованих“ слів.
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, x4, …), яка обчислює значення виразу:
.
Розробити функцію конкатенації зі змінною кількістю параметрів. Всі параметри функції (можливо, окрім першого) є символьними рядками. Функція повинна об’єднувати всі задані рядки в один спільний і записувати сформований рядок за заданою адресою (бібліотечні функції із <string.h> у програмі не застосовувати).
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками (реченнями). Функція повинна переставити слова кожного речення у зворотному порядку та надрукувати речення зі зміненим порядком слів. У програмі треба використати допоміжну функцію для перестановки слів заданого речення у зворотному порядку.
Розробити функцію зі змінною кількістю параметрів (x1, x2, …, xn), яка обчислює значення виразу:
.
Розробити функцію зі змінною кількістю параметрів, кожен з яких є структурою, що має два поля: <Найменування спеціальності> та <Код> (код – довге ціле число). Функція має знайти і надрукувати всі структури, коди яких містять комбінацію 0812, або вказати, що таких нема. Доцільно, щоби головна функція викликала допоміжну для перевірки коду.
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками з п’ятірковими кодами цілих чисел. Функція повинна надрукувати таблицю цих кодів та їхніх десяткових значень (або зазначати помилку, якщо код хибний). У програмі доцільно використати допоміжну функцію, яка перевіряє, чи заданий символьний рядок є правильним записом п’ятіркового коду цілого додатного числа, і повертає десяткове значення цього числа або -1 у разі помилки.
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, …), яка обчислює значення виразу:
. Відомо, що всі параметри функції мають додатні значення.
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками (реченнями). Функція повинна вставити у кожне речення задане слово і надрукувати доповнені речення. Нове слово повинно стати у першому реченні першим, у другому – другим і т.д. У програмі треба використати допоміжну функцію, яка вставляє у речення задане слово так, щоб воно стало n-ним словом цього речення ( n задається як третій параметр функції).
Розробити функцію зі змінною кількістю параметрів (x1, x2, …, xn), яка обчислює значення виразу:
. Відомо, що кількість параметрів функції парна.
Розробити функцію зі змінною кількістю параметрів, яка визначає та виводить на екран всі слова зі заданих символьних рядків, в яких задана літера повторюється три або більше раз. Параметрами функції (окрім початкових) є символьні рядки (речення). У програмі доцільно використати допоміжну функцію для пошуку в реченні та друку слів, в яких задана літера повторюється понад два рази.
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, x4, …), яка обчислює значення виразу:
. Відомо, що кількість параметрів функції парна.
Розробити функцію зі змінною кількістю параметрів, які (можливо, окрім першого) є символьними рядками (реченнями). Функція повинна витерти з речень усі розділові знаки, надрукувати речення без розділових знаків та зазначити, з якого рядка вилучено найбільше знаків. У програмі доцільно використати допоміжну функцію, яка вилучає зі заданого символьного рядка всі розділові знаки і повертає кількість вилучених символів.
Розробити функцію зі змінною кількістю параметрів (x1, x2, x3, x4, …), яка обчислює значення виразу:
.
Розробити функцію зі змінною кількістю параметрів, кожен з яких є структурою, що має два поля: <Дата> та <Кількість> (дата задається символьним рядком dd.mm.rr). Функція має знайти і повернути структуру, яка містить найближчу до сьогодення дату (доцільно, щоби ця функція викликала допоміжну функцію для порівняння двох дат).