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