Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичні рекомендації до виконання лабораторни...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
41.34 Кб
Скачать

Питання для самоконтролю знань:

  1. Що містить ім’я масиву при статичному виділенні пам’яті.

  2. Засоби виділення пам’яті для розташування значень масиву.

  3. Переваги динамічного розподілу пам’яті.

  4. Звільнення зайнятої пам’яті.

  5. Доступ до значення масиву через вказівник на пам’ять.

  6. Адресна арифметика.

  7. Унарні операції над вказівниками.

  8. Знайти помилки у наведених фрагментах програмного коду.

    1. Int *pInt;

pInt = g;

cout<<”значення = ”, &pInt;

Лабораторна робота № 4

Тема: Розробка програм з функціями

Мета: Закріпити теоретичні знання, навчитися розробляти програми з функціями.

Хід роботи

              1. Розробити функцію на мові С\С++ для введення значень масиву з клавіатури.

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

              1. Дано наступний код програми. Визначте, чи вірно розроблена функція, виправите помилки.

int* foo(int n)

{

    int *x = (int*)malloc (n*2); // 2 – размерность типа int

    return x;

}

….

int main()

{

int *x = foo(10);

std::cout << *x;

return 0;

}

____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

              1. Чи є помилка у наступній функції, як що є, по поясніть яка.

int* foo()

{

    int x=2;

    return &x;

}

              1. Які з наступних декларацій є невірними? Перевірте, використовуючи середовище програмування. Зафіксуйте помилки, поясніть їх.

  1. int func (int);

  2. int func (…);

  3. int func (int a);

  4. int func (int a, …);

  5. int func (int a, float);

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  1. Які оголошення призведуть до помилки компіляції. Перевірте, поясніть висновки.

void fool (int n, int a[]) {} /*1*/

void foo2 (int n, int a[*]) {} /*2*/

void foo3 ( int a[], int n) ; /*3*/

void bar (int a[0]) {} /*4*/

________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

  1. Дослідництво:

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

    2. У головній функції викликати дану функцію для одного масиву даних. Проаналізувати та зафіксувати результати.

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

    4. Зробити висновок про вплив модифікатора static на вміст та модифікацію змінної.

    5. Завдання.

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

___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Висновки ____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Питання для самоконтролю знань

              1. Дати визначення поняттю функція.

              2. Типи та класифікація функцій.

              3. Навести синтаксис оголошення функції.

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

              5. Дайте визначення поняттю формальні та реальні параметри.

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