- •Коментарі
- •Змінні та типи даних
- •Константи
- •Введення – виведення даних
- •Контрольні запитання
- •1.4 Варіанти індивідуальних завдань
- •2 Рішення задач з простою змінною
- •2.1 Ціль роботи
- •2.2 Вказівки по організації самостійної роботи студентів
- •2.2.1 Використання оператора умовного переходу
- •If (а) оператор 1 ;
- •2.2.2 Оператори циклу
- •2.3 Контрольні запитання
- •2.4 Варіанти індивідуальних завдань
- •3.1 Мета роботи
- •3.2 Методичні вказівки до організації самостійної роботи студентів
- •3.3 Контрольні запитання
- •3.4 Варіанти індивідуальних завдань
- •4 Робота із структурами
- •4.1 Мета роботи
- •4.2 Методичні вказівки до організації самостійної роботи студентів
- •4.3 Контрольні запитання
- •4.4 Варіанти індивідуальних завдань
- •5 Функції
- •5.1 Мета роботи
- •5.2 Методичні вказівки по організації самостійної роботи студентів
- •5.3 Контрольні запитання
- •5.4 Варіанти індивідуальних завдань
- •6 Робота з рядками
- •6.1 Мета роботи
- •6.2 Методичні вказівки до організації самостійної роботи студентів
- •6.3 Контрольні запитання
- •6.4 Варіанти індивідуальних завдань
- •7 Пошук і сортування
- •7.1 Мета роботи
- •7.2 Методичні вказівки до організації самостійної роботи студентів
- •7.2.1.Лінійний пошук
- •7.2.2 Пошук розподілом навпіл (двоїчний пошук)
- •7.2.3 Сортування вставками
- •7.2.4 Метод пухирця
- •7.2.5 Сортування перерахуванням
- •7.2.6 Швидке сортування
- •7.3 Контрольні запитання
- •Варіанти індивідуальних завдань
Константи
Константи відрізняються від змінних тим, що значення, що присвоєне константі первісно, не може бути змінено на протязі виконання всієї програми. Оголошеня констант виконується за наступною схемою:
сonst [тип] ідентифікатор = значення;
Наприклад:
const double Pi = 3.1415; // константа Pi приймає значення 3.1415;
const a=1; // за замовчанням тип int.
Введення – виведення даних
При введенні - виведенні потоку всі дані розглядаються як потік окремих байтів. Функції введення - виведення для потоку дозволяють обробляти дані різних розмірів і форматів: від одиночного символу до великих структур даних. Програміст може використовувати функції чи бібліотеки, розробляти власні і включати їх у бібліотеку. Для доступу до бібліотеки цих класів треба включити в програму відповідні файли заголовків, наприклад
#include <iostream.h>
За замовчуванням стандартні введення, виведення і виведення повідомлень про помилки відносяться до консолі користувача (клавіатура й екран). Це означає, що всякий раз, коли програма очікує введення зі стандартного потоку, дані повинні надходити з клавіатури, а якщо програма виводить, то на екран.
Найчастіше в С++ використовується потокове введення даних, операції якого включені до складу класів istream чи iostream. Воно може здійснюватися з визначеним у цих класах вхідним потоком cin чи вхідним потоком, що визначен користувачем. Для читання символів з цього потоку вказується операція витягу з потоку, що позначається за допомогою символів “ >> “. Це перевантажена операція, визначена для всіх простих типів і покажчика на char.
Формат запису оператора cin має вид:
cin [ >> values ];
Наприклад, для введення значень змінним х і у можна написати:
cin >> x >> y;
Виведення даних може бути неформатованим і форматованим. Найчастіше для виведення застосовується визначена операція <<, що записується разом з ім'ям вихідного потоку cout. Таким чином, запис:
cout << x;
означає вивести значення перемінної x (чи записати в потік). Цей оператор вибирає необхідну функцію перетворення даних у потік байтів.
Формат запису cout відрізняється від форми запису команд С++ :
cout << data [ << data << "\n"];
де data це змінні, константи чи вирази, "\n" – керуючий символ переведення каретки.
Для додаткового керування вихідними даними використовуються маніпулятори: setw(n) і setprecision(k). Маніпулятор setw(n) служить для вказівки довжини поля, що приділяється для виведення наступних даних (тут n - кількість позицій у рядку), setprecision(k) призначений для вказівки кількості позицій у дробовій частині дійсних чисел. Для використання цих маніпуляторів треба підключати заголовний файл <iomanip.h>.
Для форматованого введення даних використовується функція scanf з заголовного файлу <stdio.h>. Функція scanf має змінне число параметрів, але як фактичні параметри вона використовує адреси змінних, а не їхні значення. При цьому перед відповідним параметром ставиться знак & - символ взяття адреси змінної. Наприклад, &x означає "адреса змінної x", а не значення, що ця змінна має в даний момент. Рядок форматів функції scanf указує, які дані очікуються на вході. Якщо функція зустрічає у форматному рядку знак %, за яким випливає знак перетворення, то вона буде пропускати на вході символи доти, поки не зустріне який - небудь непорожній символ. Таким чином функція scanf змінює значення змінних у зухвалій програмі.
Форма запису цієї функції має вигляд:
scanf ( "рядок форматних кодів", список імен змінних ); .
Для форматованого виведення даних використовується функція з того ж заголовного файлу <stdio.h>. Для звертання до функції використовуються параметри, що полягають у круглі дужки. Найчастіше функція printf використовується для виведення значень змінних. Першим аргументом у звертанні до функції ставиться рядок форматів (полягає в подвійних лапках), а наступними, якщо вони є, виведені об'єкти.
Рядок форматів може включати звичайні символи, що копіюються при виведення і специфікації перетворення, що починаються зі знака %: за специфікаціями випливає символ перетворення. Кожна специфікація перетворення відповідає одному з аргументів, що випливають за форматним рядком, і між ними установлюється взаємно однозначна відповідність, наприклад:
printf ("Значення а, b, с рівні: %d %d %d \n", a, b, c);
Тут буква d у специфікації перетворення вказує, що значення аргументу повинне бути надруковане як десяткове ціле число.
При виведення використовуються ті ж специфікації, що і при введенні:
% с - для виведення окремого символу;
% s - для печатки символьного рядка;
% x - для виведення шістнадцятирічної букви;
% 0 - для виведення восьмірічних чисел;
% f - для виведення чисел із крапкою, що плаває.
Приклад 1. Обчислити значення площі круга за значенням радіуса, який вводиться з клавіатури.
#include <iostream.h>
void main()
{ const double Pi = 3.1415;
float Rad; double Square=0;
cout<<”Input radius, radius =”; cin>>Rad;
Square=Pi*Rad*Rad;
cout<<"Square = "<<Square;
cout<<"\n";
}