Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab2.doc
Скачиваний:
13
Добавлен:
12.02.2016
Размер:
284.16 Кб
Скачать

3. Контрольне завдання

  1. Ознайомитись із особливостями використання функцій зі змінним числом параметрів у мові С.

  2. Навчитися використуватитакі функції для роботи з даними різних типів.

  3. Одержати індивідуальне завдання.

  4. Скласти програму на мові С, що дозволяє із звертанням до цих функцій реалізувати розв’язок поставленої задачі.

4. Зміст звіту

  1. Мета роботи.

  2. Короткий опис особливостей використання функцій з різним числом параметрів у С.

  3. Індивідуальне завдання.

  4. Текст програми на С.

  5. Результати роботи програми.

  6. Аналіз результатів, висновки.

Варіанти індивідуальних завдань

1. У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівникNULL. Рядки необхідно вивести на екран.. Оскільки аргументами є рядки, то в стек записати адреси рядків.

2.У функцію mul передаються: рядок формату, по якому необхідно вивести результат її виконання, ознаку, що задає тип даних (І - іnt,D -double), і числа, добуток яких потрібно обчислити. Ознака кінця списку - число нуль. Для обробки списку змінної довжини використовувати системні функції va_start, va_arg, va_end. У другій функції по переданому формату вивести рядки.

3. Уфункцію передаються дані типуint, потім дані типуfloat і послідовність рядків. Перед кожною послідовністю даних записане число, що задає кількість елементів, у ній. Вивести всі елементи на екран.

4.У функцію можуть передаватися дані типуchar,іntіfloat. Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типуcharперетворити віnt, afloatперетворити вdouble.

5.У функцію передати масиви чисел типуfloat. Перший елемент списку задає кількість масивів, перше число масиву задає кількість чисел у масиві. У стек як параметри записати адреси чисел, а самі числа залишити у форматіfloatі у функції вивести по специфікації %f.

6.У головній функціїmain () ввести числоn, що задає кількість рядків, що вводяться, а також, скільки рядків буде оброблено у функції. У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівникNULL. Рядки необхідно вивести на екран. Програма завершує роботу при введенні числа 10. Оскільки аргументами є рядки, то в стек записуються адреси рядків.

7.У функцію зі змінним, числом параметрів передати масиви цілих чисел. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівникіnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.

8.Реалізувати функцію (зі змінним числом параметрів), у яку передаються масиви чисел типуfloat. Елементи масивів з номерами 0, 2, 4 і т.д. розсортувати по зростанню, а з номерами 1, 3, 5 і т.д. - по спаданню.

9.Bвести три масиви чисел типуfloat. Перший злемент масиву - кількість чисел у масиві, їх не більше 19. У функції зі змінним числом параметрів знайти суму всіх елементів кожного масиву.

10. У головній функції запитується .кількість функцій, які необхідно виконати. Функції, що виконуються, задаються своїми номерами: 1 - обчислення sіn(x), 2 - cos(х), 3 - tan(x). Номера обраних функцій у вигляді списку параметрів змінної довжини передаються у функцію, і потім виконуються.

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

12.З головного модуля викликати функцію зі змінним списком параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іntk) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення суми і добутку цілих чисел.

13. У функцію можуть передаватися дані типу char іfloat. Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типуcharперетворити віnt, afloatперетворити вdouble.

14.У функцію зі змінним, числом параметрів передати масиви чисел типуint. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівникіnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.

15. З головного модуля викликати функцію зі змінним списком параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іntk) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення різниці чисел і визначення максимального елемента.

16. У функцію зі змінним числом параметрів надходять стрічки, кінцем списку є вказівникNULL. Дані рядки необхідно вивести на екран.. Оскільки рядки є аргументами, то в стек записуються адреси рядків.

17.У функцію mul1 передаються: рядок формату, по якому необхідно вивести результат її виконання, ознаку, що задає тип даних (F-float,D -double), і числа, добуток яких потрібно обчислити. Ознака кінця списку - число нуль. Для обробки списку змінної довжини використовувати системні функції va_atart, va_arg, va_end. У другій функції по переданому формату вивести рядки.

18. Уфункцію передаються дані типуintі послідовність рядків (char). Перед кожною послідовністю даних записане число, що задає кількість елементів, у ній. Вивести всі елементи на екран.

19.У функцію можуть передаватися дані типуіnt,float i double . Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типуіntперетворити вfloat, afloatперетворити вdouble.

20.У функцію передати масиви чисел типуdouble. У першому елементі списку задати кількість масивів, перше число масиву задає кількість чисел у масиві. У стек як параметри записати адреси чисел, а самі числа залишити у форматіfloatі у функції вивести по специфікації %f.

21.У головній функціїmain () ввести числоn, що задає кількість рядків, які вводяться, а також, скільки рядків буде оброблено у функції. У функцію зі змінним числом параметрів надходять рядки, кінець списку - вказівникNULL. Рядки необхідно вивести на екран. Програма завершує роботу при введенні числа 11.

22.У функцію зі змінним, числом параметрів передати масиви цілих чисел. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівникіnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.

23.Реалізувати функцію (зі змінним числом параметрів), у яку передаються масиви цілих чисел. Елементи масивів з номерами 0, 2, 4 і т.д. розсортувати по зростанню, а з номерами 1, 3, 5 і т.д. - по спаданню.

24.Bвести три масиви чисел типуdouble. Перший злемент масиву - кількість чисел у масиві, їх не більше 9. У функції зі змінним числом параметрів знайти суму всіх елементів кожного масиву.

25. У головній функції запитується .кількість функцій, які необхідно виконати. Функції, які виконуються, задаються своїми номерами: 1 - обчислення ln(x), 2 - cos(х), 3 - tan(x). Номери обраних функцій у вигляді списку параметрів змінної довжини передати у функцію, і потім виконати.

26. З головної функції викликати функцію зі змінним числом параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іntk) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення частки і різниці цілих чисел.

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

28.З головного модуля викликати функцію зі змінним списком параметрів. Перший параметр - рядок з назвами функцій (char *s), другий (іntk) - кількість параметрів у змінному списку, потім слідують імена функцій, які необхідно виконати. Функції потрібно викликати, використовуючи вказівник на них. У функціях передбачити обчислення добутку і частки цілих чисел.

29. У функцію можуть передаватися дані типу char, int іfloat. Перед кожною групою задається кількість елементів у групі, потім їхній тип (використовуючи перерахування), потім слідують самі дані. Оскільки груп може бути декілька,. то на початку всього списку вказати загальне число оброблюваних груп. Дані типуcharперетворити віnt, aintперетворити вfloat.

30.У функцію зі змінним, числом параметрів передати масиви чисел типуfloat. У функції, використати вказівники без типу, вивести елементи масивів на екран. Для доступу до елементів масиву використовувати вказівникіnt* (іnt* m) . Перший елемент масиву задає кількість чисел у масиві.

25

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