
- •Міністерство освіти і науки україни
- •Розділ 1. Арифметичні основи обчислювальних машин
- •1.1. Позиційні системи числення. Переведення числа з однієї системи числення в іншу
- •1.2. Форма представлення чисел. Кодування чисел
- •1.3. Арифметичні операції над двійковими числами. Машинні одиниці інформації
- •Контрольні питання
- •Завдання
- •Розділ 2. Основи алгоритмізації обчислювальних процесів
- •2.1. Поняття і властивості алгоритму
- •2.2. Засоби представлення алгоритмів
- •2.3. Типи алгоритмічних процесів. Приклади
- •Контрольні питання
- •Завдання
- •3.1. Загальна характеристика програми
- •3.3. Кроки для створення та виконання програми
- •3.4. Змінні та константи
- •3.5. Директиви препроцесора
- •Контрольні питання
- •Розділ 4. Введення-виведення даних
- •4.1. Об’єкт виведення даних cout
- •4.2. Функція виведення даних printf
- •4.3. Об’єкт введення даних cin
- •4.4. Функція введення даних scanf
- •Контрольні питання
- •5.2. Операції відношення
- •5.3. Логічні операції
- •5.4. Додаткові операції
- •5.5. Порозрядні операції
- •Контрольні питання
- •Завдання Лінійний обчислювальний процес
- •1. Визначити значення функції y
- •2. Геометричні завдання
- •Розгалужений обчислювальний процес
- •1. Визначити значення функції y
- •3. Перевірити, чи міститься точка з заданими координатами усередині заштрихованої області.
- •Розділ 6. Організація циклів
- •6.1. Організація арифметичних циклів з використанням оператору for
- •6.2. Організація ітераційних циклів з передумовою while та післяумовою do...While
- •6.3. Оператори switch та goto
- •Контрольні питання
- •Завдання Арифметичний цикл
- •Вкладені цикли
- •Ітераційний цикл
- •Суміщення розгалуженого та циклічного процесів
- •Розділ 7. Зовнішні пристрої та символьне введення/виведення. Рядкові, числові функції та функції роботи з датою та часом
- •7.1. Загальна концепція та функції символьного введення-виведення
- •7.2. Символьні функції
- •7.3. Рядкові функції
- •7.4. Числові функції
- •7.5. Функції роботи з датою та часом
- •Контрольні питання
- •Завдання
- •Розділ 8. Вказівки, посилання та масиви
- •8.1. Вказівки
- •8.2. Посилання
- •8.3. Одновимірні масиви
- •8.4. Багатовимірні масиви
- •8.5. Символьні масиви
- •Контрольні питання
- •Завдання Одновимірні масиви
- •Двовимірні масиви
- •Розділ 9. Робота з функціями
- •9.1. Засоби створення функцій
- •9.2. Видимість змінних
- •9.3. Параметри функції та передача значень
- •9.4. Передача масивів в якості параметрів функцій
- •9.5. Функції та вказівки
- •9.6. Перевантаження та шаблони функцій
- •Контрольні питання
- •Завдання
- •Розділ 10. Рекурсивне програмування
- •10.1. Основні поняття рекурсії. Визначення факторіалу числа
- •10.2. Приклади рекурсій
- •Контрольні питання
- •Розділ 11. Робота з файлами
- •11.1. Робота з текстовими та бінарними файлами
- •Можливі режими доступу
- •11.2. Довільний доступ у файлах
- •11.3. Файли потокового введення/виведення з використанням структури file.
- •Контрольні питання
- •Завдання
- •Розділ 12. Структури
- •12.1. Загальна характеристика структури
- •12.2. Масиви структур
- •12.3. Використання масивів, як елементів структур
- •3. Робота зі структурами є універсальною, передбачено додавання записів до файлу (флаг ios:app). Для підрахунку кількості структур на диску приведемо наступні рядки програми:
- •Контрольні питання
- •Завдання
- •Розділ 13. Об’єднання та інші типи даних. Обробка виключних ситуацій
- •13.1. Об’єднання
- •13.2. Перелічені типи даних (enum)
- •13.3. Бітові поля
- •13.4. Обробка виключних ситуацій
- •Контрольні питання
- •Розділ 14. Динамічні структури даних
- •14.1. Стек
- •14.2. Черга
- •14.3. Лінійний список
- •Контрольні питання
- •Завдання
- •Розділ 15. Типові методи сортування масивів
- •15.1. Бульбашкове сортування (bubble sort)
- •15.2. Сортування за допомогою вибору (choice sort)
- •15.3. Сортування вставками (insert sort)
- •15.4. Сортування Шелла
- •15.5. Швидке сортування (quick sort)
- •Контрольні питання
- •Завдання
- •Розділ 16. Чисельне диференціювання та інтегрування
- •16.1. Методи правих та центральних різниць чисельного диференціювання
- •16.2. Методи прямокутників, трапецій, Сімпсона (парабол) чисельного інтегрування
- •Контрольні питання
- •Завдання Чисельне диференціювання
- •Чисельне інтегрування
- •Розділ 17. Чисельні методи розв’язання алгебраїчних рівнянь
- •17.1. Метод половинного ділення (дихотомія)
- •17.2. Метод Ньютона (метод дотичних)
- •17.3. Метод Рибакова
- •Контрольні питання
- •Завдання
- •Розділ 18. Чисельні методи розв’язання системи лінійних алгебраїчних рівнянь
- •18.1. Визначник. Дії над матрицями. Обчислення оберненої матриці
- •18.2. Метод оберненої матриці.
- •18.3. Метод Крамера
- •18.4. Метод Гауса
- •Контрольні питання
- •Завдання
- •1. Розв’язати систему алгебраїчних рівнянь.
- •2. Обчислити добуток матриць.
- •3. Розв’язати матричні рівняння.
- •Список літератури
4.2. Функція виведення даних printf
Для виведення даних у класичному C використовується функція printf. Вона без змін перенесена у С++.
Синтаксис:
printf(char *fotmat, <додаткові аргументи>)
Рядок формату складається із символів виведених без зміни та спеціальних символів формату, які задають перетворення даних. Для такого перетворення використовуються додаткові аргументи.
Специфікація перетворення формату має вигляд:
%[ прапори ] [ширина] [. точність] [ L|l ] тип,
де прапори:
– (мінус) - вирівнювання по лівому краю поля;
+ (плюс) - виводиться знак числа + або –;
ширина: визначає мінімальне число виведених символів, що доповнюються пробілами або нулями.
точність: визначає число знаків після десяткової точки для чисел із плаваючою точкою. Для змінних цілого типу визначається максимальне число виведених цифр.
тип:
d або i -десяткове ціле зі знаком (int);
u – десяткове ціле без знака (unsigned int);
x – шістнадцятирічне ціле без знака (unsigned int);
f – виведення числа з плаваючою точкою (float, double);
e – виведення числа з плаваючою точкою із використанням експоненціальної форми (float, double);
c – виведення символу (char);
s – виведення рядка;
p – виведення по вказівці.
L | l – застосовується в комбінації із символом типу:
Lf і Le - довгий із плаваючою точкою (long double);
ld або li - довгий цілий (long int);
lu – беззнаковий довгий цілий (unsigned long int).
Приклад:
#include <iostream>
using namespace std;
void main()
{
int g = 22;
float f = 20000/3.0f;
double d=10000.0;
long ln = 200001L;
long double ld=1.0;
d = d/3;
ld/=3;
printf(" \n-----%10.1f----",f);
//----- 6666.7----
printf(" \n-----%10.4d----",g);
//----- 0022----
printf(" \n--d=%10.5f g=%d",d,g);
//--d=3333.33333 g=22
printf(" \n--ln=%8ld ",ln);
//--ln= 200001
printf(" \n--ln=%8.7ld ",ln);
//--ln= 0200001
printf(" \n--ld=%16.15Lf ",ld);
//--ld=0.333333333333333
}
4.3. Об’єкт введення даних cin
Введення даних здійснюється з використанням об’єкта cin. Синтаксис:
cin >> змінна [ >> змінна ]…
При введенні рядків введення здійснюється тільки по одному слову. При введенні декількох змінних роздільник між ними - пробіл або <Enter>.
Приклад 1:
char f[20];
cout << "Введіть ім’я?";
cin >> f;
cout << "Ім’я:"<< f <<"\n";
int e;
cin >>e;
cout << "\ne = "<< e;
Приклад 2
#include <iostream>
using namespace std;
void main()
{
char name[20],fam[20];
int age;
cin >> name >> fam >> age; //Іван Іванов 25
cout << fam << ' ' << name << ' ' << age;
}
Результат роботи:
Іванов Іван 25
4.4. Функція введення даних scanf
Функція scanf є одною із багатьох функцій введення, які мають місце в зовнішніх бібліотеках. Кожній змінній, що вводиться у рядку функції scanf повинна відповідати специфікація (див. функцію виведення даних printf). Перед іменами змінних треба ставити символ &. Цей символ означає «взяти адресу». Більш детально про адреси та вказівки буде розглядатись у темі 8 "Вказівки, посилання та масиви".
Нижче приведено простий приклад використання функції scanf.
#include <iostream>
using namespace std;
void main()
{
//w - вес, h - рост.
int w,h;
printf("Введите ваш вес: ");
scanf("%d",&w);
printf("Введите ваш рост: ");
scanf("%d",&h);
printf("\n\nВес = %d, рост = %d\n",w,h);
}
При введенні ваги 80 та росту 185 на екран буде виведено наступний результат:
Вес = 80, рост = 190