- •Робочий зошит з предмету програмування та алгоритмічні мови
- •Тема 1.1. Поняття алгоритму. Базові структури алгоритмів.
- •Способи подання алгоритмів.
- •Базові структури алгоритмів
- •Розгалужені (умови):
- •Циклічні:
- •Тренувальні вправи
- •Практична робота №1 (4 години)
- •Хід роботи
- •Тема 1.2. Побудова блок-схем алгоритмів.
- •Практична робота №2 (4 години)
- •Хід роботи
- •Виконання завдань
- •Висновки до практичної роботи №2 Література до розділу
- •Лекція №3 (2 години)
- •Опорний конспект
- •Алфавіт
- •Коментарі
- •Ключові слова
- •Директиви препроцесора
- •Загальна структура програми.
- •Сталі та змінні.
- •Контрольні запитання
- •Лекція №4 (2 години)
- •Тема 2.2. Головна функція main (). Типи даних. Опорний конспект Головна функція main ().
- •Типи даних.
- •Цілі типи
- •Дійсні типи
- •Символьний тип (char)
- •Логічний тип (bool)
- •Типи користувача
- •Контрольні запитання
- •Лекція №5 (2 години)
- •Опорний конспект
- •Команда присвоєння. Правила узгодження типів.
- •Вирази Арифметичні операції
- •Команда присвоєння, суміщена з арифметичною операцією.
- •Математичні функції.
- •Контрольні запитання
- •Практична робота №3 (2 години)
- •Хід роботи Домашнє завдання
- •Виконання завдань
- •Додаткові завдання
- •Контрольні запитання
- •Висновки до практичної роботи №3
- •Лекція №6 (2 години)
- •Тема 2.4. Потоки введення - виведення даних. Адреси даних, вказівники, динамічна пам'ять. Опорний конспект Потоки.
- •Команда введення даних.
- •Команда виведення даних.
- •Керуючі послідовності.
- •Адреси даних.
- •Вказівники.
- •Динамічна пам’ять. Команди new і delete.
- •Контрольні запитання
- •Лабораторна робота№1 (2 години)
- •Виконання завдань
- •Результати роботи програми:
- •Результати роботи програми:
- •Результати роботи програми:
- •Тестові приклади
- •Результати роботи програми:
- •Контрольні запитання
- •Висновки до лабораторної роботи №1
- •Лекція №7 (2 години)
- •Тема 2.5. Файли. Опорний конспект
- •Зчитування даних із файлу.
- •Виведення даних у файл.
- •Ознаки.
- •Контрольні запитання
- •Лабораторна робота №2 (4 години)
- •Хід роботи
- •Контрольні запитання
- •Висновки до лабораторної роботи №2
- •Тема 3.1.Умовні оператори. Оператори вибору switch.
- •Кома як команда.
- •Логічні вирази та логічні операції.
- •Команда розгалуження if (якщо).
- •Команда вибору (switch).
- •Команда безумовного переходу goto.
- •Контрольні запитання
- •Лабораторна робота №3 (4 години)
- •Хід роботи
- •Контрольні запитання
- •Висновки до лабораторної роботи №3
- •Лекція №9 (2 години)
- •Тема 3.2. Оператори циклу Опорний конспект
- •Команда циклу з лічильником for.
- •Контрольні запитання
- •Лабораторна робота №4 (4 години)
- •Контрольні запитання
- •Висновки до лабораторної роботи №4
- •Розділ іv. Складені типи даних Лекція № 10
- •Опорний конспект
- •Тренувальні вправи
- •Тренувальні вправи
- •Контрольні запитання
- •Завдання та методичні вказівки для самостійної роботи студента
- •Завдання для самовдосконалення
- •Лабораторна робота №5 (6годин)
- •Виконання роботи Контрольні запитання
- •Висновки до лабораторної роботи №5
- •Лекція № 11
- •Опорний конспект
- •Тренувальні вправи
- •Задачі для самостійного розв’язання
- •Контрольні запитання
- •Завдання для самовдосконалення
- •Лабораторна робота №6 (6годин)
- •Виконання роботи Контрольні запитання
- •Висновки до лабораторної роботи №6
- •Література
Команда присвоєння. Правила узгодження типів.
Команда присвоєння має такий загальний вигляд:
<назва змінної> = <вираз> |
або
<назва змінної 1> = <назва змінної 2> = … = <назва змінної N> = <вираз> |
Дія команди. Обчислюється вираз і його значення надається змінній або декільком змінним. Вираз призначений для описання формул, за якими виконуватимуться обчислення. Вираз може містити числа, сталі, змінні, назви функцій, з’єднані символами операцій.
Приклад 2 Скласти 5 виразів, які містять оператор присвоєння.
a = 8 – 2;
c = d = a +4;
e = d / 5 + c;
__________________________________________________________________________________________________________________________________________________________
Змінна і вираз не обов’язково повинні бути одного типу. Крім того, у виразі можуть бути дані різних числових типів (змішані вирази). Якщо тип змінної не збігається з типом виразу, то у С++ відбувається автоматичне перетворення (узгодження) типів.
Розрізняють явне та неявне узгодження типів.
Приклад 3 Розглянемо програму, де значення змінної а типу int треба помножити на значення змінної с типу float (відповідні числа вводитимемо з клавіатури) і результат надати змінній b типу int:
//Множення чисел
#include <iostream.h>______________________________________________________
void main()_______________________________________________________________
{
int b, a; float c;____________________________________________________________
cout << “Введіть ціле число \n”;_____________________________________________
cin >> a;________________________________________________________________
cout << “Введіть дійсне число \n”;___________________________________________
cin >> c;_________________________________________________________________
b = c * a;_________________________________________________________________
cout << “a =” << a<< “\n”;__________________________________________________
cout << “c =” << c<< “\n”; __________________________________________________
cout << “b =” << b<< “\n”; __________________________________________________
}
Для введення значення змінної з клавіатури використовується конструкція cin >>.
Для явного перетворення типів новий тип задають у круглих дужках перед змінною або виразом. Якщо у програмі вище записати команду
b = (int)c * a;
то під час обчислення виразу спочатку відбудеться перетворення даного с до цілого типу (3), а потім – множення (с · а = 3 · 2 = 6). Отримаємо а = 2, с = 3.8, b = 6.
Якщо ж у програмі цю команду записати так:
b = (int)(c * a);
то спочатку відбудеться множення (с · а = 3.8 · 2 = 7.6), а пізніше результат буде перетворений до цілого числа (b = 7). Отримаємо а = 2, с = 3.8, b = 7.
Узгодження типів у виразах відбувається з урахуванням пріоритетів типів. Зазначимо пріоритети типів за їхнім спаданням: double, float, long, int, short за замовчуванням результат перетворюється до старшого типу.
Вирази Арифметичні операції
Таблиця 3. Арифметичні операції
Пріоритет |
Операції |
Зміст операції |
1 |
+, - |
Присвоєння знака |
2 |
*, /, % |
Множення, ділення, остача від ділення |
3 |
+, - |
Додавання, віднімання |
4 |
==, !=, <, <=, >, >= |
Порівняння (відношення) |
Виконання кожної операції здійснюється з урахуванням їхніх пріоритетів (тут 1 - найвищий). Для зміни звичайного порядку виконання операцій використовують круглі дужки.
Завдання 2 Написати результати виконання операцій
2 * -5 + 4 = ______; 2 * (-5 + 4)= _____; 7 % 3 =______; |
12 / 4 – 2 = ________; 12 / (4 - 2)= _________; 7 % 3 * -5 = -_______.
|
Приклад 4. Нехай х = 3, у = 5. Дано вираз х == у. значення цього виразу буде false (хибний), оскільки значення змінних х та у не рівні між собою, а значенням виразу х != у – _______ (істина), значеннями виразу х > у, х <= (у - 2) – відповідно _________ та _________.
Операції інкременту (++) та декременту (--)
Операції інкременту і декременту існують у двох формах – перфіксній та постфіксній. Якщо символи ++ (--) записані перед змінною – то це інкремент (декремент) у префіксній формі, а якщо після змінної – у постфіксній. Операція інкременту має такий вигляд:
++<змінна> або <змінна>++ |
Дія операції. Значення змінної збільшується на одиницю. Команда ++а, а++ рівносильні команді а = а + 1. Форма інкременту (декременту) впливає на порядок виконання операцій у виразах. Розглянемо це на прикладах.
Приклад 5.Результат виконання команд
a = 2;
b = 3 * ++a;
будуть такими : а = 3, b = 3 · 3 = 9. Туту використано операцію інкременту у префіксній формі: спочатку збільшується значення змінної а на одиницю, а пізніше обчислюється вираз.
Завдання 2
Обчислити результат виконання команд:
a = 4;
b = 3 *++ a________________________________________________;
k=2;
f=++k/3_____________________________________________;
Приклад 6.Розглянемо команди
c = 5; d = (c++) +4;
Тут спочатку обчислюється вираз (для d) з с = 5, а потім збільшується значення змінної с на одиницю. Тобто d = с + 4 = 5 + 4 = 9, с = с + 1 = 5 + 1 = 6 (це операція інкременту у постфіксній формі). Оскільки у виразі записано три знаки плюс «+» підряд, то для однозначного задання порядку операцій використано круглі дужки.
Завдання 3
Обчислити результат виконання команд:
a = 4;
b = 3 *a++________________________________________________;
k=2;
f=(k++)/2_____________________________________________;
Аналогічно операція декременту має такий вид:
--<змінна> або <змінна>-- |
Значення змінної зменшується на одиницю.
Команда “--а” та “а--” діють як і команда а=а–1.
Приклад 7.Результати виконання команд
х = 4;
у = 15 / --х;
будуть такими: х = 3, у = 15 / 3 = 5.тут спочатку значення змінної х зменшується на одиницю, а пізніше обчислюється вираз для у.
Завдання 4
Обчислити результат виконання команд:
a = 4;
b = 3 *--a________________________________________________;
k=5;
f=(--k)/2_____________________________________________;
Приклад 8.Під час виконання команд
f = 20;
g = (f--) – 10;
змінним f , g будуть надані значення 19 і 10 відповідно.
Завдання 5
Обчислити результат виконання команд:
a = 4;
b = 3 *a________________________________________________;
k=6;
f=(k--)/2____________________________________________;