
- •Методичні вказівки
- •5.05010301 – Розробка програмного забезпечення
- •2.1 Основні форми представлення алгоритмів:
- •2.2 Блок-схеми
- •2.3 Основні структури алгоритмів
- •Лінійний алгоритм
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •Цикли з відомим числом повторень
- •Цикли з невідомим числом повторень
- •Вкладені цикли
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •5. Методичні вказівки
- •Приклад
- •5. Методичні вказівки
- •2. Введення даних організувати з клавіатури.
- •3. Висновок результатів для завдання організувати на монітор.
- •Практична робота № 6
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •2. Введення даних для завдань а і б організувати з клавіатури.
- •4. Висновок результатів для завдання а організувати у вигляді:
- •7. Контрольні питання
- •Практична робота № 7
- •3. Постановка завдання.
- •5. Методичні вказівки
- •2.3 Цикл типу do — while
- •2.4 Керуючі оператори в циклах
- •3. Постановка завдання.
- •5. Методичні вказівки
- •7. Контрольні питання
- •2.5 Області дії змінних
- •Приклад
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні запитання
- •2.5. Поиск в отсортированном массиве
- •3. Постановка завдання
- •5. Методичні вказівки
- •7. Контрольні питання
- •3. Постановка завдання
- •4. Варіанти завдань
- •5. Методичні вказівки
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 13
- •1. Мета роботи:
- •2. Теоретичні відомості
- •3. Постановка завдання
- •1. Використовуючи функції сформувати за допомогою дсч одновимірний масив і вивести його на друк.
- •2. Виконати обробку одновимірного масиву у відповідності з варіантом, використовуючи функції, результат вивести на друк.
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
- •2.3 Швидке сортування
- •Алгоритм
- •Швидкість
- •2.4 Модифіковані методи сортування
- •2.4.1 Метод Шелла
- •2.4.2 Швидке сортування
- •3. Постановна задачі
- •4. Варіанти
- •5. Методичні вказівки
- •Приклад
- •3. Постановка завдання
- •1. Ввести з клавіатури рядок символів і обробити її у відповідності зі своїм варіантом, використовуючи функції.
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 17
- •1. Мета роботи:
- •2. Теоретичні відомості
- •2.5. Численные методы решения уравнений
- •2.5.1. Метод итераций
- •2.5.2. Метод Ньютона
- •2.5.3. Метод половинного деления
- •3. Постановка завдання
- •1. Написати функцію з замовчує параметрами відповідно до варіанта, продемонструвати різні способи виклику функції: • з параметрами заданими явно, • з опущеними параметрами
- •4. Варіанти
- •5. Методичні вказівки
- •3. Постановка задачі
- •На цьому дереві можна визначити три методи упорядкування:
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 20
- •1. Мета роботи:
- •2. Короткі теоретичні відомості
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
Приклад
#include <iostream.h>
int main()
{
cout<<”Hello,world! \n”;
return 0;
}
5. Методичні вказівки
1. Для введення і виведення даних використовувати операції >> і << і стандартні потоки cin, cout.
2. Введення даних організувати з клавіатури.
3. Висновок результатів для завдання організувати на монітор.
6. Зміст звіту
1) Постановка завдання (загальна і конкретного варіанту).
2) Формули, використовувані при рішенні задачі (математична модель).
3) Програми для розв'язання задач на мові C + +.
4) Опис використовуваних в програмі стандартних функцій.
5) Система тестів для перевірки правильності роботи програми і результати виконання тестів.
6) Пояснення результатів роботи програми.
Контрольні питання
1. Пояснити зміст поняття оператор.
2. Що розуміється під типом даних?
3. Яка інформація повідомляється компілятору при оголошенні констант?
4. Перерахувати типи даних.
5. Яким чином розрізняються змінні за часом життя?
Практична робота № 6
Тема: Створення лінійних програм
1. Мета завдання:
1) Виконання простої програми в системі програмування VC + +6.0
2) Придбання навиків в запису виразів на мові C + + і використання стандартних функцій.
2. Теоретичні відомості
2.1.Структура програми на С + +
Програма на мові Сі має наступну структуру:
# директиви препроцесора
. . . . . . . . .
# директиви препроцесора
функція а ()
оператори
функція в ()
оператори void main () / / функція, з якої починається виконання програми
оператори
опису
присвоювання
функція
порожній оператор
складовою
вибору
циклів
переходу
Директиви препроцесора управляють перетворенням тексту програми до її компіляції. Вихідна програма, підготовлена на С + + у вигляді текстового файлу, проходить 3 етапи обробки:
1) препроцесорну перетворення тексту;
2) компіляція;
3) компоновка (редагування зв'язків або зборка).
Рисунок 12 – Обробка С + + програми
Після цих трьох етапів формується виконуваний код програми. Завдання препроцесора - перетворення тексту програми до її компіляції. Правила препроцесорну обробки визначає програміст за допомогою директив препроцесора. Директива починається з #.
# Define - вказує правила заміни в тексті.
# Include <ім'я заголовного файла> - директива призначена для включення в текст програми тексту з каталогу заголовків файлів, що поставляються разом зі стандартними бібліотеками. Кожна бібліотечна функція C має відповідний опис в одному з заголовних файлів. Список заголовних файлів визначений стандартом мови. Вживання директиви include не підключає відповідну стандартну бібліотеку, а лише дозволяють вставити в текст програми опису із зазначеного заголовного файлу. Якщо використовується заголовний файл із стандартної бібліотеки, то його ім'я укладають в кутові дужки. Якщо використовується заголовний файл, який знаходиться в поточному каталозі проекту (він може бути створений розробником програми), то його ім'я полягає в лапки. Підключення кодів бібліотеки здійснюється на етапі компоновки, тобто після компіляції. Хоча в заголовних файлах містяться всі описи стандартних функцій, в код програми включаються тільки ті функції, які використовуються в програмі.
Після виконання препроцесорну обробки в тексті програми не залишається жодної препроцесорну директиви.
Програма являє собою набір описів і визначень, і складається з набору функцій. Серед цих функцій завжди повинна бути функція з ім'ям main. Без неї програма не може бути виконана. Перед ім'ям функції заносяться відомості про тип повертається функцією значення (тип результату). Якщо функція нічого не повертає, то вказується тип void: void main (). Кожна функція, в тому числі і main, повинна мати список параметрів. Список може бути порожнім, тоді він вказується як (void) (слово void може бути опущено: ()). За заголовком функції розміщується тіло функції. Тіло функції - це послідовність визначень, описів і виконуваних операторів, укладених у фігурні дужки. Кожне визначення, опис або оператор закінчується крапкою з комою.
Визначення - вводять об'єкти (об'єкт - це іменована область пам'яті, окремий випадок об'єкта - змінна), необхідні для подання у програмі оброблюваних даних. Прикладами є
const int y = 10; / / іменована константа
float x; / / змінна
Описи - повідомляють компілятор про властивості та іменах об'єктів і функцій, описаних в інших частинах програми.
Оператори - визначають дії програми на кожному кроці її виконання.
2.2. Елементи мови C / C + +
1) Алфавіт мови який включає
• прописні і рядкові латинські літери та знак підкреслення;
• арабські цифри від 0 до 9;
• спеціальні знаки "{}, | [] () + - /% *. \ ':; &? <> =! # ^
• пробільні символи (пробіл, символ табуляції, символи переходу на новий рядок).
2) Із символів формуються лексеми мови:
• Ідентифікатори - імена об'єктів C / C + +-програм. У ідентифікаторі можуть бути використані латинські літери, цифри та знак підкреслення. Прописні і малі літери розрізняються, наприклад, PROG1, prog1 і Prog1 - три різних ідентифікатора. Першим символом повинна бути буква або знак підкреслення (але не цифра). Прогалини в ідентифікаторах не допускаються.
• Ключові (зарезервовані) слова - це слова, які мають спеціальне значення для компілятора. Їх не можна використовувати в якості ідентифікаторів.
• Знаки операцій - це один або декілька символів, що визначають дію над операндами. Операції поділяються на унарні, бінарних і тернарних за кількістю що беруть участь у цій операції операндів.
• Константи - це незмінні величини. Існують цілі, речові, символьні і рядкові константи. Компілятор виділяє константу в якості лексеми (елементарної конструкції) і відносить її до одного з типів за її зовнішнім виглядом.
• Роздільники - дужки, крапка, кома пробільні символи.
2.3. Константи в C / C + +
Константа - це лексема, що представляє зображення фіксованого числового, строкового чи символьного значення. Константи поділяються на 5 груп:
• цілі;
• речові (з плаваючою крапкою);
• перечислимого;
• символьні;
• рядкові.
Компілятор виділяє лексему і відносить її до тієї чи іншої групи, а потім всередині групи до певного типу по її формі запису в тексті програми і по числовому значенню.
Цілі константи можуть бути десятковими, вісімковій і шістнадцятковій.
Таблиця 7 – Цілі константи
Назва |
Визначення |
Приклади |
десяткова константа |
Послідовність десяткових цифр, що починається не з 0, якщо це число не 0 |
8, 0, 192345 |
вісімкова константа |
Послідовність вісімкових цифр, яким передує 0. |
026, 034, 017 |
шістнадцяткова константа |
Послідовність шістнадцятирічних цифр, яким передують символи 0х або 0Х |
0хА, 0Х00F, 0х123 |
Таблиця 8 – Речові константи можуть мати дві форми уявлення: з фіксованою точкою і з плаваючою крапкою.
Назва |
Вид |
Приклади |
Константи з фіксованою точкою |
[цифри]. [цифри] |
5.7, .0001, 41. |
Константа з плаваючою точкою |
[цифри][.][цифри]E|e[+|-] [цифри] |
0.5е5, .11е-5, 5Е3 |
Перечислимого константи вводяться за допомогою ключового слова enum. Це звичайні цілі константи, яким приписані унікальні і зручні для використання позначення.
enum {one=1, two=2, three=3, four=4};
enum {zero,one,two,three};
enum {ten=10, three=3, four, five, six};
enum {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
Символьні константи - це один або два символи, укладені в апострофи. Символьні константи, що складаються з одного символу, мають тип char і займають в пам'яті один байт, символьні константи, що складаються з двох символів, мають тип int і займають два байти. Послідовності, що починаються зі знака \, називаються керуючими, вони використовуються:
• для представлення символів, що не мають графічного відображення, наприклад:
\ a - звуковий сигнал,
\ b - повернення на один крок,
\ n - переклад рядка,
\ t - горизонтальна табуляція;
• для представлення символів: \, ',? , "(\ \, \ ', \?, \");
• для представлення символів за допомогою шістнадцятиричних або вісімкових кодів (\ 073, \ 0хF5);
Строкова константа - це послідовність символів, укладена в лапки. Всередині рядків також можуть використовуватися керуючі символи. наприклад:
"\ NНовая рядок",
"\ N \" Алгоритмічні мови програмування \ "".
2.3. Типы данных в C++
Типи C + + можна розділити на прості і складові. До простих типів відносять типи, які характеризуються одним значенням. У мові C + + визначено 6 простих типів даних:
int
(цілий)
char (символьний)
цілочисельні
wchar_t (расширений символьний) (C++)
bool (логічний) (C++)
float
(речовинний)
с плаваючей точкою
double (речовинний з подвійною точністю)
Існує 4 специфікатора типу, уточнюючих внутрішнє представлення та діапазон стандартних типів
short (короткий)
long (довгий)
signed (знаковий)
unsigned (беззнакові)
Таблиця 9 – Типи даних в С
Тип даних |
визначення |
Розмір |
Діапазон |
(signed) char |
Значеннями є елементи кінцевого впорядкованої множини символів. Кожному символу ставиться у відповідність число, яке називається кодом символу. |
1 байт |
-128..127 |
unsigned char |
0..255 | ||
wchar_t |
Значеннями є елементи кінцевого впорядкованої множини символів в кодуванні Unicode |
2 байта |
0..65535 |
(signed) int |
Значеннями є цілі числа. |
4 байта (для 32-разрядного МП) |
–2147483648 … +2147483647.
|
(signed) long (int) | |||
unsigned int |
0…+4294967 295. | ||
unsigned long (int) | |||
(signed) short int |
2 байта (для 32-разрядного МП) |
–32768 … +32767 | |
unsigned short int |
0 … 65536;
| ||
bool |
Дані цього типу можуть приймати значення true і false. |
1 байт |
false, true |
float |
Значеннями є дійсні числа |
4 байта |
3.4Е-38..3.4Е+38 |
double |
8 байт |
1.7Е-308 ..1.7Е+308 | |
long double |
10 байт |
3.4Е-4932..1Е+4932 |
2.4. Змінні
Змінна в C + + - іменована область пам'яті, в якій зберігаються дані певного типу. У змінної є ім'я і значення. Ім'я служить для звернення до області пам'яті, в якій зберігається значення. Перед використанням будь-яка змінна повинна бути описана.
int a; float x;
2.5. Операції
У відповідності з кількістю операндів, які використовуються в операціях вони діляться на унарні (один операнд), бінарні (два операнди) і тернарних (три операнда).
Таблиця 10 – Операції мови С
Операція |
опис |
унарні операції | |
++ |
Збільшення на одиницю: префіксная операція - збільшує операнд до його використання, постфіксной операція збільшує операнд після його використання. |
-- |
Зменшення на одиницю: префіксная операція - зменшує операнд до його використання, постфіксной операція зменшує операнд після його використання. |
sizeof |
обчислення розміру (в байтах) для об'єкта того типу, який має операнд |
- |
Унарний мінус |
+ |
Унарний плюс |
! |
Логічне заперечення (НЕ). В якості логічних значень використовується 0 (false) - брехня і не 0 (true) - істина, запереченням 0 буде 1, запереченням будь-якого ненульового числа буде 0. |
& |
Отримання адреси операнда |
* |
Отримання значення, що знаходиться за вказаною адресою (разименованія) |
new |
виділення пам'яті |
delete |
звільнення пам'яті |
(type) |
перетворення типу |
Бінарні операції | |
мультиплікативні | |
* |
множення операндів арифметичного типу |
/ |
поділ операндів арифметичного типу (якщо операнди цілочисельні, то виконується цілочисельне ділення) |
% |
отримання залишку від ділення цілочисельних операндів |
адитивні | |
+ |
бінарний плюс (додавання арифметичних операндів) |
- |
бінарний мінус (віднімання арифметичних операндів) |
операції порівняння | |
< |
менше, ніж |
<= |
менше або дорівнює |
> |
більше |
>= |
більше або дорівнює |
= |
дорівнює |
!= |
не дорівнює |
Логічні | |
&& |
кон'юнкція (І) цілочисельних операндів або відношень, цілочисельний результат брехня (0) або істина (не 0) |
|| |
диз'юнкція (АБО) цілочисельних операндів або відношень, цілочисельний результат брехня (0) або істина (не 0) |
Тернарна | |
?: |
умовна операція в ній використовується три операнда. Вираз1? Вираженіе2: вираз3; Першим обчислюється значення вираженія1. Якщо воно істинне, то обчислюється значення вираженія2, яке стає результатом. Якщо при обчисленні вираженія1 вийде 0, то в якості результату береться значення вираженія3. наприклад: x <0? -x: x; / / обчислюється абсолютне значення x. |
присвоювання | |
= |
привласнення |
*= |
множення з присвоюванням (мультиплікативне присвоювання) |
/= |
ділення з присвоюванням |
%= |
ділення з залишком із присвоюванням |
+= |
додавання з присвоюванням |
-= |
віднімання з присвоюванням |
Таблиця11 - Приоритеты операций.
Ранг |
Операції |
1 |
( ) [ ] -> . |
2 |
! ~ - ++ -- & * (тип) sizeof тип( ) |
3 |
* / % (мультиплікативні бінарні) |
4 |
+ - (аддитивні бінарні) |
5 |
< > <= >= (відношення) |
6 |
== != (відношення) |
7 |
&& (кон'юнкція «І») |
8 |
|| (диз'юнкція «АБО») |
9 |
?: (умовна операція) |
10 |
= *= /= %= -= &= ^= |= <<= >>= (операція присвоювання) |
11 |
, (операція кома) |
2.6. Вирази
З констант, змінних, роздільників і знаків операцій можна конструювати вирази. Кожен вираз являє собою правило обчислення нового значення. Кожен вираз складається з одного або декількох операндів, символів операцій і обмежувачів. Якщо вираз формує ціле або дійсне число, то воно називається арифметичним. Пара арифметичних виразів, об'єднана операцією порівняння, називається відношенням. Якщо відношення має ненульове значення, то воно - істинне, інакше - хибне.