- •О.Ф.Тарасов, о.В.Алтухов
- •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
- •Контрольні питання для підготовки і самостійної роботи
- •Віртуальні базові класи
- •Віртуальні деструктори
- •Хід роботи
Алгоритм роботи оператора циклу for ( )
Обчислюється перший вираз (якщо він присутній).
Обчислюється другий вираз (якщо він присутній), перевіряється умова закінчення циклу: (<Вираз_2> дорівнює ( = = ), тобто є “Неправда”). Якщо <Вираз_2> не дорівнює ( != ), тобто є “Істина”, – відбувається перехід до пункту 3, інакше - вихід з циклу.
Виконується тіло циклу.
Обчислюється <Вираз_3>, якщо він присутній.
Перехід до пункту 2.
Поява в будь-якому місці тіла оператора циклу for оператора continue приводить до припинення виконання операторів у тілі циклу і негайному переходу до пункту 2.
Вихід з циклу можливий аналогічно while за допомогою операторів: break, goto, return.
Приклад застосування оператора for приведений у таблиці 4.3. Програма виводить парні числа у діапазоні від 100 до 0 у порядку убування.
Таблиця 4.3- Приклади застосування оператора for
-
Варіант 1
Варіант 2
#include <stdio.h>
void main (void) {
…
for (int i=100; i >= 0; i - = 2)
//Шаг дорівнює –2 (i = i - 2)
printf("\n%d", i);
}
…
fоr ( i =100; i >= 0; i - -)
if (i%2 = = 1) //% - Залишок
//від розподілу на 2
continue; //Оператор continue
//припиняє поточну ітерацію
else printf("\n%d", i);
Для демонстрації гнучкості оператора for перепишемо приведені приклади у наступному вигляді (варіант 3):
for(int i= 100; i >= 0; printf("\n%d", i), i - = 2);
Приклад
/* ЗАНЯТТЯ N 4
Розробив ...........Петров Л.Г.
Рядок символів записується у зворотному порядку з
застосуванням різних операторів організації циклів. */
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <math.h>
# define N 23
main( ) {
int t, b; char m;
char string[ ] = " \"Ініціалізація рядка\" ";
clrscr( );
printf("Виведення вхідного рядка\n");
for (t = 0; t < N; t ++) // Цикл for – ( з передумовою)
printf("%c ", string[ t ] );
for (t = 0, b = N - 2; t < ( N - 1) / 2; t ++, b - - )
{m = string[ t ];
string[ t ] = string[ b ];
string[ b ] = m;
}
printf("\n Виведення рядка у зворотному порядку \n");
for (t = 0; t < N; t ++) printf("%c ", string[ t ] );
printf("\nВведення нового рядка -y, не вводити - n:\t");
m = getche( );
if(m != 'n')
new_str: scanf("%s", string);
else printf("\n");
t=0;
while(string[ t ] != '\0') // Цикл while – (з передумовою)
{printf("%c", string[t]);
t++;
}
printf("\n Кількість символів =%2d\n", t);
printf("Виведення рядка у зворотному порядку \n");
b = t - 1; t = 0;
do { // Цикл do...while - (з постумовою)
m = string[t];
string[t] = string[b];
string[b] = m;
t++; b - -;
}while(t < b);
printf("%s ", string);
printf("\n Введення нового рядка - y, не вводити - n:\t");
m = getche( );
if( m = = 'у' ) goto new_str; //new_str - мітка
else getch( );
}
/* Виведення вхідного рядка
" І н і ц і а л і з а ц і я р я д к а "
Виведення рядка у зворотному порядку
" а к д я р я і ц а з і л а і ц і н І "
Введення нового рядка - y, не вводити - n: n
"а к д я р я і ц а з і л а і ц і н І "
Кількість символів =19
Виведення рядка у зворотному порядку
"Ініціалізація рядка"
Введення нового рядка - y, не вводити - n: y
qwert12345
Кількість символів =10
Виведення рядка у зворотному порядку
54321trewq
Введення нового рядка - y, не вводити - n: n */
