- •О.Ф.Тарасов, о.В.Алтухов
- •1 Заняття № 1 Вивчення інтегрованого середовища с
- •1.1 Теоретичні відомості
- •1.2 Хід роботи
- •1.3 Вимоги до звітів
- •1.4 Питання для контролю і самостійної роботи
- •2 Заняття № 2 Функції введення/виведення даних printf( ), scanf( ). Лінійні обчислювальні процеси
- •2.1 Теоретичні відомості
- •2.2 Хід роботи
- •2.3 Індивідуальне завдання до заняття №2
- •2.4 Питання для контролю і самостійної роботи
- •3 Заняття № 3 Розробка програм зі скалярними типами даних
- •3.1 Теоретичні відомості
- •Приклад
- •3.2 Хід роботи
- •3.3 Індивідуальне завдання до заняття № 3
- •3.4 Питання для контролю і самостійної роботи
- •4 Заняття № 4 Розробка програм з циклічними обчислювальними процесами
- •4.1 Теоретичні відомості
- •Алгоритм роботи оператора циклу for ( )
- •4.2 Хід роботи
- •4.3 Індивідуальне завдання до заняття № 4
- •4.4 Питання для контролю і самостійної роботи
- •5 Заняття № 5
- •Розгалуження обчислювального процесу.
- •Оператори, які реалізують розгалуження: if... Else, switch,
- •Умовна операція ( ? : )
- •5.1 Теоретичні відомості
- •Умовна тернарна операція ( ? : )
- •Оператор варіанта switch
- •Приклад
- •5.2 Хід роботи
- •5.3 Індивідуальне завдання до заняття № 5
- •5.4 Питання для контролю і самостійної роботи
- •6 Заняття № 6 Операції с, їхні пріоритети і використання. Перетворення типів
- •Пріоритет операцій і порядок виконання (асоційованість)
- •(Новий_тип) Операнд
- •Приклад
- •6.2 Хід роботи
- •6.3 Індивідуальне завдання до заняття № 6
- •6.4 Питання для контролю і самостійної роботи
- •7 Заняття № 7
- •7.1 Теоретичні відомості
- •Оголошення функцій (створення прототипів)
- •([ Список_типів_параметрів ])
- •Синтаксис визначення функцій
- •[ Return Значення_типу_що_повертається ]
- •Використання локальних і глобальних перемінних у функціях. Виклик функції
- •Приклад
- •7.2 Хід роботи
- •7.3 Індивідуальне завдання до заняття № 7
- •7.4 Питання для контролю і самостійної роботи
- •8 Заняття № 8
- •8.1 Теоретичні відомості
- •Основні операції з покажчиками
- •Покажчики і цілі величини
- •Динамічне розміщення покажчиків у пам'яті
- •Приклад
- •Приклад
- •8.2 Хід роботи
- •8.3 Індивідуальне завдання до заняття № 8
- •8.4 Питання для контролю і самостійної роботи
- •9 Заняття № 9
- •9.1 Теоретичні відомості
- •Приклад
- •9.2 Хід роботи
- •9.3 Індивідуальне завдання до заняття №9
- •9.4 Питання для контролю і самостійної роботи
- •10 Заняття № 10
- •10.1 Теоретичні відомості
- •Приклад
- •10.2 Хід роботи
- •10.3 Індивідуальне завдання до заняття № 10
- •10.4 Питання для контролю і самостійної роботи
- •Заняття №11 Обробка символьних даних
- •Теоретичні відомості
- •Індивідуальне завдання до заняття №11
- •Питання для контролю і самостійної роботи
- •Приклад
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Теоретичні відомості
- •Приклад
- •Індивідуальне завдання до завдання №13
- •Питання для контролю і самостійної роботи
- •Заняття № 14 Розробка програм зі складеними типами даних
- •Структури
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Заняття № 15 Використання покажчиків для роботи зі складеними типами даних (2години)
- •Теоретичні відомості
- •Приклад
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •Використання покажчиків для роботи з функціями
- •Покажчики як параметри функції
- •[Const ] Тип * Ім'я_покажчика
- •Приклад
- •Хід роботи
- •Індивідуальне завдання до заняття №16
- •Питання для контролю і самостійної роботи
- •Використання функцій високого і низького рівня для роботи з потоками (файлами)
- •Функції для роботи з файлами
- •Хід роботи
- •Індивідуальне завдання до заняття №17
- •Питання для контролю і самостійної роботи
- •Розробка програм із багатофайловою структурою. Заголовочні файли. Класи пам'яті перемінних і функцій
- •Керування многофайловими проектами
- •Використання адміністратора проектів
- •Приклад
- •Основний файл проекту
- •Заголовний файл
- •Хід роботи
- •Індивідуальне завдання до заняття №18
- •Питання для контролю і самостійної роботи
- •Графічні функції
- •Графічні примітиви
- •Хід роботи
- •Індивідуальне завдання до заняття №19
- •Питання для контролю і самостійної роботи
- •Заняття№20 Розробка програм з використанням класів
- •Теоретичні відомості
- •Оголошення і визначення класу
- •Тіло класу
- •Інкапсуляція. Керування доступом до членів класу
- •Використання даних-членів класу
- •Хід роботи
- •Індивідуальне завдання до заняття №20
- •Питання для контролю і самостійної роботи
- •Заняття№21 Використання конструкторів і деструкторів у класах
- •Теоретичні відомості
- •Ініціалізація об'єктів класу
- •Деструктори
- •Виклик деструкторів
- •Хід роботи
- •Питання для контролю і самостійної роботи
- •"Друзі" класів (friend)
- •Хід роботи
- •Індивідуальне завдання до заняття №22
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
Приклад
/* ЗАНЯТТЯ 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( );
Хід роботи
Вивчити теоретичні відомості.
Відповідно до індивідуального завдання (таблиця 18.1) розробити алгоритм і програму, що містить заголовочний файл і кілька модулів (2 - 3). У кожнім модулі розробити окремі функції.
Виконати оголошення перемінних на зовнішніх і внутрішніх рівнях з різними класами пам'яті.
Розробити функції для виклику з додаткових модулів. Використовувати оголошені перемінні з різною областю дії (класами пам'яті).
Створити заголовочні файли, що містять інформацію про функції в додаткових модулях.
Написати основну програму, що підключає необхідні заготовочні модулі і використовує функції і перемінні з інших модулів.
Показати зміну перемінних у різних областях дії.
Перевірити доступ до перемінних з різними класами пам'яті (усередині блоку, модуля й в інших модулях).
Перевірити виконання ініціалізації перемінних із класом пам'яті static, оголошених на зовнішньому рівні й усередині функції при декількох викликах.
Перевірити доступ до функцій, оголошеним з різними класами пам'яті.
Розробити функції, що мають одне ім'я і різні області дії. Здійснити виклик цих функцій.
Набрати програму на комп'ютері, і усунути помилки.
Одержати результат.
Оформити звіт.
Підготуватися до захисту заняття, вивчивши контрольні питання по даній темі.