- •Загальні положення ...………………………………………………………….........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.1 Ціль роботи Вивчення засобів опису символьних типів даних і використання структур для обробки даних.
- •3.2 Методичні рекомендації з організації самостійної
- •Роботи студентів
- •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 ( )
- •Int main ( )
- •5.2.1 Використання покажчиків на функцію
- •Void main ( )
- •5.2.2 Використання масивів - параметрів функцій
- •Vоid sort (int mas [ 30 ]); .
- •Void sort ( int mas [ ], int n ) ; .
- •Void fun1 (char st [15]);
- •Int main ( )
- •Void fun1 ( char st[15] )
- •Void fun2 ( int mat [ ] [10], int rows, int cols );
- •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 ( )
- •Ifstream in ( ”file1") ;
- •In.Close();
- •Перелік посілань
- •Навчальне видання
- •61726 Харків, просп. Леніна, 14.
Int main ( )
{
float y;
y = ft ( 20 , 2 , 2, 3.0, fn1 ) +ft ( 20, 0, 1.0, fn2 );
cout << "y=" << y << endl;
return 0;
}
Результат виконання програми :
y = 1.29012
5.2.4 Звертання до функції і передача результату
Для звертання до функції досить написати її ім'я й у дужках записати значення або перелік фактичних аргументів. Фактичні аргументи повинні бути записані в тій же послідовності, що і формальні і мати відповідний тип (крім аргументів за замовчуванням і перевантаженими функціями). Якщо формальними аргументами функції є параметри значення й у ній не використовуються глобальні змінні, то функція може передати в програмуб яка Ії викликає, лише одне значення, що записується в операторі return . Це значення передається в місце виклику функції. Фрагмент програми, що підтверджує вищевикладене може мати вигляд :
double sgr (double);
main( )
{
cout << "Квадрат числа=" << sgr ( 10 ) << endl;
}
double sqr (double p)
// Повернення за значенням
{
return p*p;
}
У результаті буде виведено:
Квадрат числа = 100.
Використовуючи оператор return можна також організувати достроковий вихід з функції. Якщо з функції треба передати не одне, а кілька значень, то можна або використовувати передачу параметрів за покажчиком, або використати посилання, глобальні змінні, або масиви.
Ім'я функції це константа - покажчик на функцію, що вказує на адресу місця входу (адреса першої машинної команди) функції. Слід зазначити, що можливо також опис і покажчиків перемінних на функції. Для цього використовується операція разіменувания "*", функції описані в такий спосіб повинні повертати покажчик на тип, тобто його адреса.
Приклад 5.5 Обчислити функцію загального вигляду для заданого значення аргументу x з використанням функції, у яку коефіцієнти a, b і c можуть бути введені за замовчуванням.
// P5_5.CPP обчислення квадратної функції
// коефіцієнти квадратної залежності можуть
// вводитися у функцію "за замовчуванням"
#include < iostream >
using namespace std;
float ur ( float x, float а=0., floatb b =0.,float c=0.);
Int main ( )
{
float а =1., b = 2., c = 3., x = 0.5, y;
cout << " Уведені всі аргументи " << endl;
y = ur ( x, a, b, c);
cout << " y = "<< y << endl;
cout << " Введені аргументи x, a, b " << endl;
y =ur ( x, a, b);
cout << " y = "<< y << endl;
cout << " Введений аргумент x " << endl;
y =ur ( x );
cout << " y = "<< y << endl;
}
// Функція обчислення квадратної функції
float ur ( float x, float a, float b, float c );
{
return a * x * x + b * x + c;
}
Результати виконання програми:
Уведено всі аргументи
y = 4.25
Уведені x, a і b
y = 1.25
Введено аргумент x
y = 0
5.2.5 Перевантаження функцій
У мові С++ можна використовувати перевантаження функцій, тобто можливість визначати функції з одним ім'ям, але з різним типом і кількістю формальних параметрів.
Основне достоїнство перевантажених функцій це можливість визначати кілька функцій з тим самим ім'ям, але з різними типами і числом параметрів.
Приклад 5.6. Зробити програмну реалізацію з використанням перевантаження функцій.
#include <string.h>
#include < iostream >
using namespace std;
int funp (int x) // 1.
{ return x*x; }
int funp (unsigned x) // 2.
{ return -x*x; }
char funp (char x) // 3.
{ return x+3; }
int funp (int x, char *y) // 4.
{ return x*strlen ( y); }
int funp (int x , char y) // 5.
{ return x*y; }
float funp (float r) // 6.0
{ return r*r; }
float funp (double r) // 7.
{ return r+r; }