- •О.Ф.Тарасов, о.В.Алтухов
- •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 3
Розробив Петров О.Д.
Виконати оголошення типів, перемінних з різними класами
пам'яті, констант. Увести вхідні значення перемінних,
обчислити значення перемінних і вивести результати розрахунків.
Використовувати макровизначення для вибору найбільшого або
найменшого значення заданих перемінних. */
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<math.h>
enum en {NACH=0, N=10, MIN=1000}; //Замість наступних директив:
//(#define NACH 0) (#define N 10) (#define MIN 1000)
typedef int norm; //Оголошення типу norm - синоніма int
float x; //Оголошення глобальної (extern) перемінної
main( void )
{clrscr( );
norm і = NACH, j = NACH; // і, j - перемінні типу int (norm)
static float min = MIN; //Оголошення глобальної перемінної (static)
auto float y = N, k = 0; //Множинне оголошення перемінних (auto)
float a, b, c, d; //Множинне оголошення перемінних (auto)
printf("Значення перемінних після ініціалізації: \
\n\t x\t y\t min\t k\t і\t j\n");
printf("%8.5f %8.5f %8.5e %8.5f %3d %3і\n", x, y, min, k, і, j);
printf("Введіть значення перемінних типу float:\n\ta, b, c, d:\n\t");
scanf("%f %f %f %f", &a, &b, &c, &d);
printf("Значення перемінних після введення з клавіатури, \n\t a\t \
b\t c\t d\n");
printf("%8.5f %8.5f %8.5e %8.5f\n", a, b, c, d);
x = NACH + N;
y = a * x * x * x + b * x * x + c * x + d;
min = y + і * pow(y, 2); //pow(y, 2) - функція у^2
k = x * sin( j );
x += 0.1; //x = x + 0.1;
printf("\n Значення Y= %f", y);
printf("\n Значення min=%10.5e", min);
printf("\n Значення x=%10.5f", x);
printf("\n Значення k=%3.1f\n ", k);
//----------------------------------------------------------------------------------
#define MAX(x, y) ((x) < (y) ? (y) : (x)) //Макровизначення MAX
//якщо (x)<(y), то значенням результату є - у, якщо (x) > (y), то - x
float af, bf, rez; //Множинне оголошення перемінних (auto)
printf(" Введіть через пробіл 2 числа:");
scanf("%f %f", &a, &bf);
rez = MAX(af, bf); // af, bf - фактичні параметри макровизначення
printf("Максимальне число: %4.2f ", rez);
getche( );
return 0;
} //End main( )
/* Значення перемінних після ініціалізації:
x y min k і j
0.00000 10.00000 1.00000e+05 0.00000 0 0
Введіть значення перемінних типу float:
a, b, c, d:
3 4 5 6
Значення перемінних після введення з клавіатури
a b c d
3.00000 4.00000 5.00000e+00 6.00000
Значення Y=3456.000000
Значення min=3.45600e+03
Значення x= 10.10000
Значення k=0.0
Введіть через пробіл 2 числа: 23.4 56.89
Максимальне число: 56.89 */