- •О.Ф.Тарасов, о.В.Алтухов
- •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 9
Виконав студент групи ..ІТ....... Петров Р.В.
Застосування масивів при роботі з перемінними
різних типів (int, float), зміна значень перемінних.
Приклади прийомів роботи з масивами. */
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define N 15
#define M 10
int p[N], x[N], i, j, j1, count = 0;
int y[N*2], z[N] = {15, 37, 10, -20, -10, 25, 27, 30, 89, 67,\
24, -6, 22}; //Ініціалізація елементів масиву
int *pi = y; //Два останніх елементи z[N] дорівнюють 0
float *pf, mf[N];
void main( void )
{ clrscr( );
randomize( );
pf=mf;
printf("Вихідний масив p[ ]: \n");
for (і = 0; і <N; і++)
{ p[і]=random( 81) - 40; //Ініціалізація за допомогою функції
printf("%4d", p[ і ] ); //random( ) в інтервалі +40 ... - 40
if (p[ і ] > 0) //Вибір елементів >0 у масив х[ ]
{ x[ count ] = p[ i ];
mf[ count ] = x[count] / 5.5;
count++;
}
}
printf("\n");
printf("Вихідний масив z[ j ]: \n");
for (і = 0; і < N; і++) printf("%4d", z[ і ] );
printf("\n Робочий масив x[ count ] > 0 з p[ і ]: \n");
for (і = 0; і < count; і++) printf("%4d", x[ і ] );
j=0; //Вибір елементів у масив у[ ] з z[ ] і р[ ] за умовами
for (i = 0; i < N; i++)
{ if (z[ i ] >= - M && z[ i ] <= (M+N) && (z[ i ] % 2 = = 0))
{ *pi = z[ i ]; pi++; j++;}
if (p[ i ] >= -M && p[ i ] <= (M+N) && (p[ i ] % 2 = = 0))
{ *( y + j ) = p[ i ]; pi++; j++;}
}
j1 = j;
printf("\n Робочий масив y[ j ] з z[ і ] і р[ і ] за умовами \n");
printf(" – M < y[ j ] < (M+N) і парне: \n");
for (і = 0; і < j1; і++) printf("%4d", y[ і ] );
printf("\n Робочий масив mf[ j ] = x[ j ] / 5.5 \n");
for (і = 0; і < count; і++) printf("%6.4f ", *(pf + і));
//Сортування масиву x[ ]
for (i = 0; i < count; i++)
for (j = i; j < count; j++)
if (x[ i ] < x[ j ] )
{ int c = x[ i ]; x[ i ] = x[ j ]; x[ j ] = c;
}
else continue;
//Сортування масиву в[ ]
for (i = 0; i < j1; i++)
for (j = i; j < j1; j++)
if (y[ i ] < y[ j ] )
{int c = y[ i ]; y[ i ] = y[ j ]; y[ j ] = c;
}
else continue;
printf("\n Сортований масив x[ ]: \n");
for (і = 0; і < count; і++)
printf("%4d", x[ і ] );
printf("\n Сортований масив y[ ]: \n");
for (i = 0; i < j1; i++)
printf("%4d", y[ i ] );
getch( );
}
/* Вихідний масив p[ ]:
32 37 -34 11 30 8 -11 -38 6 -21 -27 -23 -30 -19 -29
Вихідний масив z[ j ]:
15 37 10 -20 -10 25 27 30 89 67 24 -6 22 0 0
Робочий масив x[count] > 0 з p[ і ]:
32 37 11 30 8 6
Робочий масив y[ j ] з z[ і ] і р[ і ] за умовами
- M < y[ j ] < (M+N) і парне:
10 -10 8 6 24 -6 22 0 0
Робочий масив mf[ j ] = x[ j ] / 5.5
5.8182 6.7273 2.0000 5.4545 1.4545 1.0909
Сортований масив x[ ]:
37 32 30 11 8 6
Сортований масив y[ ]:
24 22 10 8 6 0 0 -6 -10 */
