- •Загальні положення ...………………………………………………………….........3
- •Загальні положення
- •1 Організація введення і виведення даних та розв’язання задач з простою змінною
- •1.1 Мета роботи
- •1.2 Вказівки до організації самостійної роботи студентів
- •1.2.1 Використання операторів введення
- •#Define sp " "
- •Int main ( )
- •Int main ( )
- •Int main ( )
- •Void main ( )
- •For ( [ вир1 ]; [ вир2] ;[ вир3 ] ) оператор;,
- •Void main ( )
- •Void main ( )
- •1.5 Контрольні питання
- •1.6 Варіанти індивідуальних завдань
- •2 Розв’язання задач c використанням одновимірних і двовимірних масивів
- •2.1 Ціль роботи Прищепити студентам навички розв’язання задач з використанням одновимірних і двовимірних масивів, складних циклів і використання покажчиків.
- •2.2 Методичні рекомендації з організації самостійної роботи студентів
- •Void main( )
- •Void main ( )
- •Void main ( )
- •Void main ( )
- •2.3 Використання покажчиків
- •Наиведемо програму з використанням покажчиків:
- •Int main ( )
- •Void main ( void )
- •2.4 Використання масивів і покажчиків
- •Приклад 2.4 Обчислити середнє значення додатних елементів одновимірного масиву.
- •Int *pmas;
- •2.5 Масиви покажчиків
- •Void main( )
- •2.6 Контрольні питання
- •2.7. Варіанти індивідуальних завдань
- •3 Вирішування задач з використанням даних символьного типу
- •3.2.1 Організація символьного введення - виведення
- •Device . Get (char_var);
- •3.2.2 Рядки як символьні масиви
- •3.2.3 Введення-виведення символьних масивів
- •Void main (void)
- •3.2.4 Основні функції обробки символьних типів
- •Void main (void)
- •Void del (char *st, int k, int n);
- •Void del(char *st, int, int);
- •Void main()
- •Void del(char *st,int k,int n)
- •[ Проміжки ] [знак числа] [ цифри].
- •Void main( )
- •Void main()
- •Void main()
- •Void main(void)
- •3.2 Контрольні питання і завдання
- •3.4 Варіанти індивідуальних завдань
- •4 Вирішувння задач з використанням даних типу структура
- •4.1 Ціль роботи Освоєння заходів розробки і налагодження програм з використанням
- •4.2 Методичні рекомендації з організації самостійної
- •Void main(void)
- •Void qsort (void *base , n , width,
- •Int (*fcmp) ( const void *elem1, const void *elem2) .
- •4.3 Контрольні питання
- •4.4. Індивідуальні завдання
- •5 Використання функцій при розробці програм
- •5.1 Ціль роботи
- •5.2 Методичні вказівки з організації самостійної роботи студентів
- •Void fun ( int p)
- •Void main ( )
- •Void fun (int &р)
- •Void main ( )
- •Void fun2 (int *p)
- •Void main ( )
- •Int main ( )
- •5.2.1 Використання покажчиків на функцію
- •Void main ( )
- •Int god ( const void*, const void * ) ;
- •5.2.2 Використання масивів - параметрів функцій
- •Void fun2 ( int mat [ ] [10], int rows, int cols );
- •Int getnum (const char *elemtype , int low , int high )
- •Int main ( )
- •5.2.4 Звертання до функції і передача результату
- •Int main ( )
- •5.2.5 Перевантаження функцій
- •Int main ( )
- •5.3 Контрольні питання
- •5.4 Варіанти індивідуальних завдань
- •6 Робота з файлами
- •6.1 Ціль роботи
- •6.2 Методичні вказівки по організації самостійної роботи
- •Int main ( )
- •Int main ( )
- •Void main ( )
- •Перелік посілань
- •Навчальне видання
- •61726 Харків, просп. Леніна, 14.
1.2 Вказівки до організації самостійної роботи студентів
При підготовці до роботи повторити типи констант і змінних, способи їхнього опису, використання операторів керування й організації циклів, а також використання інтегрованого середовища програмування на С++ Звернути увагу, що в мові С++ немає убудованих у мову засобів введення і виведення. Усі дії, зв'язані з цими операціями, виконуються за допомогою функцій бібліотеки. Функції введення і виведення бібліотеки мови дозволяють читати дані з файлів і з пристроїв і писати дані у файли і на пристрої.
Бібліотека мови С++ підтримує такі три рівні введення – виведення даних:
— введення - виведення потоку;
— введення - виведення нижнього рівня;
— введення - виведення для консолі і порту.
При введенні - виведенні потоку всі дані розглядаються як потік окремих байтів. Для користувача потік — це або файл на диску, або фізичний пристрій, наприклад, дисплей, чи клавіатура або друкувальний пристрій, з якого чи на який направляється потік даних. Функції введення - виведення для потоку дозволяють обробляти дані різних розмірів і форматів від одиночного символу до великих структур даних. Програміст може використовувати функції чи бібліотеки, розробляти власні і включати їх у бібліотеку. Для доступу до бібліотеки цих класів треба включити в програму відповідні файли заголовків, наприклад, #include <iostream.h>.
За замовчуванням стандартні введення, виведення і виведення повідомлень про помилки відносяться до консолі користувача (клавіатура і екран)
.
1.2.1 Використання операторів введення
Найчастіше в С++ використовується потокове введення даних, операції якого включені до складу класів istream або iostream . Воно може здійснюватися з визначеним у цих класах вхідним потоком cin або вихідним потоком, визначеним користувачем. Для читання символів з цього потоку вказується операція витягу з потоку, що позначається за допомогою символів “ >> “ . Це перевантажена операція, визначена для всіх простих типів і покажчика на char.
Формат запису оператора cin має вигляд:
cin [ >> values ]; .
Наприклад, для введення значень змінних x і y можна записати:
cin >> x >> y; .
Кожна операція “ >> “ передбачає введення одного значення. При введенні даних необхідно виконувати наступні вимоги:
для поділу двох чисел, що послідовно вводяться, використовується проміжок (дані типу сhаr розділяти проміжком не обов'язково) або ENTER;
якщо послідовно вводиться символ і число (або навпаки), проміжок треба записувати тільки в тому випадку, якщо символ, що вводиться, (типу сhаr) є цифрою;
потік введення ігнорує проміжки;
при введенні великої кількості даних одним оператором їх можна розташовувати в декількох рядках (використовуючи ENTER);
оператор введення з потоку припиняє свою роботу тоді, коли усі включені в нього змінні одержують значення. Наприклад, для раніше записаного оператора можна ввести значення таким чином:
2.345 789
або
2.345
789
Оскільки в цьому прикладі проміжок є роздільником між значеннями, що вводяться, то при введенні рядків, котрі містять проміжки у своєму складі, цей оператор не використовується. У такому випадку треба використовувати методи розглянутих класів такі як: getline( ), read( ), get( ) і ін. (формати цих функцій розглянемо при обробці символьних даних). У С++ операції введення - виведення можуть виконуватися з використанням операторів, а не функцій введення - виведення.
1.2.2 Організація виведення даних у мові С++
Виведення даних може бути неформатованим і форматованим. Найчастіше для виведення застосовується операція << , що записується разом з ім'ям вихідного потоку cout. Тобто, наприклад, запис
cout << x;
означає виведення значення змінної x ( або запис в потік). Цей оператор вибирає необхідну функцію перетворення даних у потік байтів.
Формат запису cout відрізняється від форми запису команд С++
cout << data << [ data ]; ,
де data це змінні, константи, вирази або комбінація типів.
Запис оператора cout може може мати, наприклад, такий вигляд:
сout << "y=" << x + a - sin(x) << "\n"; .
Оскільки у мові С++ операція “\n” рівнозначна операції endl, тому розглянутий оператор виводу можна записати як:
сout << "y=" << x + a - sin(x) << endl;
При використанні бульових операцій, вирази треба брати в дужки.
сout << "p =" << ( a && b || c ) << "\n"; .
Мова С++ не має символьних значень. Символ переводу на наступний рядок "\n" записується як строкова константа, інакше він розглядається не як керуючий символ, а як число 10 ( код символу). Таких помилок можна уникнути шляхом присвоєння значення керуючих символів змінним, наприклад: