- •О.Ф.Тарасов, о.В.Алтухов
- •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
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
Приклад
/* ЗАНЯТТЯ N 7
Виконав студент групи IT ....... Петров В.М.
Оголошення і визначення функцій. Застосування функцій:
передача перемінних у функцію за значенням, за адресою
і за посиланням, повернення значень з функції. Області дії
перемінних, приклади операцій.
Вибір функції за номером (за допомогою оператора switch) */
#include <stdio.h>
#include <conio.h>
#include <math.h>
float glob=2.5;
float Fx0(float a, float b, float c) //Визначення функції
{ return – b / (2*a) * (++c);
} //Fx0( )-передача параметрів і повернення за значенням
float* Fx1(float, float, float); //Оголошення функції
//Fx1( ) - передача параметрів за значенням, повернення покажчика
float& Fx2(float, float, float); //Оголошення функції
//Fx2( ) - передача за значенням, повернення за посиланням
//Передача параметрів за значенням, а останнього за адресою
void changex0(float, float, float, float *);
//Передача параметрів за адресою
void changex1(float *, float *, float *, float *);
//Передача параметрів за посиланням
void changex2(float &, float &, float &, float &);
void main( )
{ float a1, b1, c1, x1;
float* px = &x1;
float& sx = x1;
char diskr;
clrscr( );
printf(" Введіть значення перемінних: а, b, c: ");
scanf("%f %f %f", &a1, &b1, &c1);
printf(" Введіть номер функції (0...5),\
чи ESC-кінець розрахунку: ");
vvod1: diskr = getche( );
switch (diskr)
{ case '0': x1= Fx0(a1, b1, c1); break;
case '1': px = Fx1(a1, b1, c1); printf("\n glob = \
%6.3f *px= %6.3f", glob, *px); break;
case '2': sx= Fx2(a1,b1,c1); printf("\n glob = \
%6.3f sx= %6.3f", glob, sx); break;
case '3': changex0(a1, b1, c1, &x1); break;
case '4': changex1(&a1, &b1, &c1, &x1); break;
case '5': changex2(a1, b1, c1, x1); break;
case '6': case ’27’: goto end;
default: printf("\n Поза діапазоном, введіть інший \
номер функції (0...5) ");
goto vvod1;
}
printf("\n Результат: a1= %5.3f b1= %5.3f c1= %5.3f \
x1= %5.3f\n", a1, b1, c1, x1);
printf("Введіть інший номер функції: ");
goto vvod1;
end: ;
} //End main( )
float* Fx1(float a, float b, float c) //Визначення функції N 1
{ float* pf;
*pf = glob + ( - -b ) / (2*a) * ( ++c );
//printf("\nglob= %6.3f *pf= %6.3f", glob, *pf);
return pf;
}
float& Fx2(float a, float b, float c) //Визначення функції N 2
{ float& sf = glob;
sf = (- -b - sqrt(abs(++c))) / (4 * ++a);
glob+= 5; //printf("\n glob= %6.3f sf= %6.3f ", glob, sf);
return sf;
}
void changex0(float a, float b, float c, float *d) //Визначення функції N 3
{ *d = pow(b, 2) – 4 * - - a * ++c; }
void changex1(float *a, float *b, float *c, float *d) //Визначення функції N 4
{++ *a; ++ *b++; ++*c; *d+= *a + *b + *c; }
void changex2(float &a, float &b, float &c, float &d) //Визначення N 5
{ a+= 2; b+= 2; c+= 2; d - = a + b + c; }
/* Введіть значення перемінних: а, b, c: 3 4 5
Введіть номер функції (0...5), чи ESC - кінець розрахунку: 0
Результат: a1= 3.000 b1= 4.000 c1= 5.000 x1= 3.000
Введіть інший номер функції: 1
glob= 2.500 *px= 5.500
Результат: a1= 3.000 b1= 4.000 c1= 5.000 x1= 5.500
Введіть інший номер функції: 2
glob= 5.034 sx= 5.034
Результат: a1= 3.000 b1= 4.000 c1= 5.000 x1= 5.034
Введіть інший номер функції: 3
Результат: a1= 3.000 b1= 4.000 c1= 5.000 x1= -32.000
Введіть інший номер функції: 4
Результат: a1= 4.000 b1= 5.000 c1= 6.000 x1= -18.000
Введіть інший номер функції: 5
Результат: a1= 6.000 b1= 7.000 c1= 8.000 x1= -39.000
Введіть інший номер функції: 8
Поза діапазоном, введіть інший номер функції (0...5) */