Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП_Лаб_Гриф.doc
Скачиваний:
7
Добавлен:
14.11.2019
Размер:
2.81 Mб
Скачать

Приклад

/* ЗАНЯТТЯ N18

Розробив Петров О.В.

Оголосити глобальні перемінні: r – з класом пам'яті extern,

f - з класом пам'яті extern і static, а також локальні перемінні.

Оголосити в окремому файлі функції, що виконують роботу з

перемінними, які мають різні класи пам'яті. Визначення функцій

також розмістити в окремих файлах. Виконати ініціалізацію

перемінних. Вивести значення розрахованих глобальних і

локальних перемінних на екран. */

Основний файл проекту

#include <iostream.h>

#include <conio.h>

#include "my_18.h"

int r=5; //Глобальна перемінна r

extern float f; //Глобальна перемінна f = 0

void main( )

{ auto int r; // Локальна перемінна (auto) r

r = Sum_Variable(4, 5); //Функція оголошена у файлі "my_18.h" r = 9

clrscr( );

cout << "Локальна (auto) r = \t" << r << " Глобальна r =" << :: r << endl;

r += 10; //Локальна перемінна r = 19

:: r = Sum_Variable(4, 3); //Глобальна перемінна :: r = 7

cout << "Локальна (auto) r = \t" << r << " Глобальна r = \t"<< :: r << endl;

cout << "Глобальна f = " << f;

cout << endl << " Локальна (auto) f = \t" << Function_1( )

<< " Статична (static) f = \t" << Function_2( );

cout << endl << " Локальна (auto) f = \t" << Function_1( )

<< " Статична (static) f = \t" << Function_2( );

cout << endl << " Локальна (auto) f = \t" << Function_1( )

<< " Статична (static) f = \t" << Function_2( );

getch( );

}

/* Локальна (auto) r = 9 Глобальна r = 5

Локальна (auto) r = 19 Глобальна r = 7

Глобальна f = 0.2

Локальна (auto) f = 8 Статична (static) f = 2

Локальна (auto) f = 8 Статична (static) f = 3

Локальна (auto) f = 8 Статична (static) f = 4 */

Перший допоміжний файл проекту

// Оголошення перемінної r і визначення функцій

extern r; // Глобальна перемінна r

float Function_1( )

{

auto float f = r; // Локальна перемінна f

return ++f;

}

int Sum_Variable(int a, int b)

{

return a + b;

}

Другий допоміжний файл проекту

// Оголошення перемінної f і визначення функції

static float f = 1; // Статична перемінна (static) f

float Function_2( )

{

return ++f;

}

Заголовний файл

// Оголошення перемінної f і функцій

static float f = 0.2;

int Sum_Variable(int, int);

float Function_1( );

float Function_2( );

Хід роботи

  1. Вивчити теоретичні відомості.

  2. Відповідно до індивідуального завдання (таблиця 18.1) розробити алгоритм і програму, що містить заголовочний файл і кілька модулів (2 - 3). У кожнім модулі розробити окремі функції.

  3. Виконати оголошення перемінних на зовнішніх і внутрішніх рівнях з різними класами пам'яті.

  4. Розробити функції для виклику з додаткових модулів. Використовувати оголошені перемінні з різною областю дії (класами пам'яті).

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

  6. Написати основну програму, що підключає необхідні заготовочні модулі і використовує функції і перемінні з інших модулів.

  7. Показати зміну перемінних у різних областях дії.

  8. Перевірити доступ до перемінних з різними класами пам'яті (усередині блоку, модуля й в інших модулях).

  9. Перевірити виконання ініціалізації перемінних із класом пам'яті static, оголошених на зовнішньому рівні й усередині функції при декількох викликах.

  10. Перевірити доступ до функцій, оголошеним з різними класами пам'яті.

  11. Розробити функції, що мають одне ім'я і різні області дії. Здійснити виклик цих функцій.

  12. Набрати програму на комп'ютері, і усунути помилки.

  13. Одержати результат.

  14. Оформити звіт.

  15. Підготуватися до захисту заняття, вивчивши контрольні питання по даній темі.