Пріоритет операцій (від високого до низького) Операція | Опис | | Асоціативність | | | | | | | | | | | | ++ | Постфіксний (префіксний) інкремент | | Зліва направо | | | | | | | -- | Постфіксний (префіксний) декремент | | | | | | | | | () | Виклик функції | | | | | | | | | [] | Доступ до елемента масиву | | | | | | | | | -> | Непрямий доступ до члена класу | | | | | | | | | . | Прямий доступ до члена класу | | | | | | | | | ! | Логічне НЕ | | | | | | | | | ~ | Побітове НЕ | | | | | | | | | - | Унарний мінус | | | | | | | | | + | Унарний плюс | | | | | | | | | & | Узяття адреси | | | | | | | | | * | Розкриття покажчика | | | | | | | | | sizeof | Отримання розмірності виразу в байтах | | | | | | | | | new | Динамічне створення об'єкта | | | | | | | | | delete | Динамічне видалення об'єкта | | | | | | | | | (тип даних) | Приведення типу | | | | | | | | | .* | Прямий доступ до покажчика на член | класу | Зліва направо | | | (через об'єкт) | | | | ->* | Непрямий доступ до покажчика на член класу | | | | (через покажчик на об'єкт) | | | | * | Множення | | Зліва направо | | | | | / | Ділення | | | | | | | % | Ділення по модулю | | | | | | | + | Складання | | Зліва направо | | | | | - | Віднімання | | | | | | | << | Зсув ліворуч | | Зліва направо | | | | | >> | Зсув праворуч | | | | | | | < | Менше | | Зліва направо | | | | | > | Більше | | | | | | | <= | Менше або дорівнює | | | | | | | >= | Більше або дорівнює | | | | | | | == | Дорівнює | | Зліва направо | | | | | != | Не дорівнює | | | | | | | & | Побітове І | | Зліва направо | | | | | ^ | Що побітове виключає АБО | | Зліва направо | | | | | | | Побітове АБО | | Зліва направо | | | | | && | Логічне І | | Зліва направо | | | | | II | Логічне АБО | | Зліва направо | | | | | ?: | Умовний вираз | | Справа наліво | | | | | = | Просте привласнення | | Справа наліво | | | | | *= | Привласнення з множенням | | | | | | | /= | Привласнення з діленням | | | | | | | %= | Привласнення з діленням по модулю | | | | | | | += | Привласнення зі складанням | | | | | | | -= | Привласнення з відніманням | | | | | | | <<= | Привласнення із зсувом ліворуч | | | | | | | >>= | Привласнення із зсувом управо | | | | | | | &= | Привласнення з побітовим І | | | | | | | |= | Привласнення з побітовим АБО | | | | | | | ^= | Привласнення з побітовим виключним АБО | | | | | | | , | Кома | | Зліва направо | | | | | | | | | | | | 1.5. Стандартні бібліопапки C++ і бібліотечні математичні функції Різним бібліотечним функціям потрібні різні заголовні файли. Заголовні файли, які необхідні функції, вказуються в її описі. Наприклад, функції sqrt() потрібні оголошення, що містяться в заголовному файлі math.h. У Microsoft Visual C++ Run-Time Library Reference перераховані всі бібліотечні функції й відповідні заголовні файли. Розробниками компілятора C++ передбачені такі категорії бібліотек: класифікації, перетворення, управління каталогами, діагностики, програми, введення/виводу, інтерфейсні, обробки, математичні, управління пам'яттю, управління процесом, стандартні, виведення текстових вікон, для обробки інформації про час і дату. Стандартні бібліотечні математичні функції: int abs(int x); double fabs(double x); Повертає ціле (abs) або дробове (fabs) абсолютне значення аргументу, який можна використовувати вираз відповідного типу. double acos (double x); double asin (double x); double atan (double x); long double acosl(long double x); long double asinl(long double x); long double atanl(long double x); Повертає виражену в радіанах величину кута, косинус, синус або тангенс якого переданий відповідній функції як аргумент. Аргумент функції повинен знаходитися в діапазоні від -1 до 1. double cos (double x); double sin (double x); double tan (double x); long double cosl(long double x); long double sinl(long double x); long double tanl(long double x); Повертає синус, косинус або тангенс кута. Величина кута має бути задана в радіанах. double exp(double х); long double exp(long double (x)); Повертає значення, яке дорівнює експоненті аргументу (еx, де е – основа натурального логарифма). double pow (double x, double у); long double powl(long double (x), long double (y)); Повертає значення, яке дорівнює хУ. double sqrt(double x); Повертає значення, яке дорівнює квадратному кореню з аргументу. Заголовний файл: <math.h> int rand(void); Повертає випадкове ціле число в діапазоні від 0 до RAND_MAX. Перед першим зверненням до функції rand необхідно ініціалізувати генератор випадкових чисел. Для цього треба викликати функцію srand. void srand(unsigned x); Ініціалізував генератор випадкових чисел. Зазвичай як параметр функції використовують змінну, значення якої передбачити заздалегідь не можна, наприклад це може бути поточний час. Заголовний файл: <stdlib.h> Наведені нижче функції виконують перетворення рядків у числове значення і чисел у строкове уявлення. double atof(const char* s); Повертає дробове число, значення якого передане функції як аргумент. Функція обробляє рядок до тих пір, поки символи рядка є допустимими. Рядок може бути значенням числа як у форматі з плаваючою точкою, так і в експоненціальному форматі. int atoi(const char* s); long atol(const char* s); Повертає ціле відповідного типу, зображення якого передане функції як аргумент. Функція обробляє символи рядка до тих пір, поки не зустріне символ, що не є десятковою цифрою. char *gcvt(double Значення, int Цифр, char* Рядок); Перетворить дробове число в рядок. При перетворенні робиться спроба отримати вказану кількість значущих цифр, а якщо це зробити неможливо, то число зображується у формі з плаваючою точкою. char* itoa (int Значення, char* Рядок, int Основа); char* ltoa (long Значення, char* Рядок, int Основа); char* ultoa(unsigned long Значення, char* Рядок, int Основа); Відповідно перетворять ціле, довге ціле і довге беззнакове ціле в рядок. Число зображується у вказаній при виклику функції системі числення. Рядок – покажчик на рядок, куди буде поміщено зображення числа. Основа – задає основу системи числення (від 2 до 36). Максимальна довжина рядка, формованою функцією itoa – 17 байт, функціями Itoa і ultoa – 33 байти. Заголовний файл: <stdlib.h> int sprintf(char *Рядок, const char* Формат, Список змінних); Виконує форматований вивід у рядок. Список змінних – розділені комами імена змінних, задає змінні, значення яких мають бути виведені. Параметр Формат задає спосіб відображення значень змінних. Дія функції sprintf аналогічно дії функції printf, але вивід виконується в рядок-буфер, а не на екран. Заголовний файл: <stdio.h> Бібліотечні функції введення-виводу: int printf (Формат, Список змінних); Виводить на екран значення змінних. Формат виводу задається в рядку форматування, який окрім специфікатора формату може містити текст і символи, що управляють. Значення першої змінної виводиться відповідно до першого специфікатора формату, другий – до другого, третій – до третього, і т. д. Специфікатори формату (необов'язковий параметр n задає ширину поля виводу). Специфікатор | Форма виводу | | | %ni %nd | Десяткове число із знаком | | | %nu | Беззнакове ціле десяткове число | | | %n.mf | Дробове число з десятковою точкою. Необов'язковий параметр m | | задає кількість цифр дробової частини | | | %ne | Дробове число з десятковою точкою або, якщо число не може | | бути представлене у формі з десятковою точкою, в | | експоненціальній формі | | | %ns | Рядок символів | | | %nc | Символ | | | Символи, що управляють, і спеціальні. Символ | Дія | | | \n | Переводить курсор в початок наступного рядка | | | \t | Переводить курсор в чергову позицію табуляції | | | \\ | Бекслеш | | | \’ | Лапка | | | int scanf(const char* Формат, Список адрес змінних); Вводить з клавіатури значення змінних, відповідно до вказаного специфікатора формату. Перша змінна набуває значення відповідно до першого специфікатора формату, друга – до другого, і т. д. Специфікатор | Вводить | | | %i %d | Десяткове число із знаком | | | %u | Беззнакове ціле десяткове число | | | %е %f | Дробове число | | | %s | Рядок символів | | | %с | Символ | | | puts(const char* Рядок); Виводить на екран рядок символів і переводить курсор в початок наступного рядка екрану. Як параметр функції можна використовувати строкову константу або строкову змінну. Заголовний файл: <stdio.h> int putch(int с); Виводить на екран символ. Заголовний файл: <conio.h> int getch(void); Повертає код символу натиснутої клавіші. Якщо натиснута службова клавіша, то функція getch повертає 0. У цьому випадку, для того, щоб визначити, яка службова клавіша натиснута, потрібно звернутися до функції getch ще раз. Заголовний файл: < conio.h > Приклад:Знаходження значення похідної функції в точці.Постановка завдання Заданна функція . Знайти її похідну в точці x= π /2. Для знаходження похідної в точці використовується відомий вираз:  Крім того, оскільки π/2 ≈ 1,57, як значення х вибираємо 1,57. Текст програми #include <math.h> #include <iostream> int main() { double f1,f2,pf,x,dx; dx=1.0e-11; // Вибираємо приріст аргументу x=1.57; // Вибираємо точку для обчислення похідної f1=sin(x+dx); // Обчислюване значення функції в точці x+dx f2=sin(x); // Обчислюване значення функції в точці x pf=(f1-f2) /dx; // Знаходимо значення похідної std::cout << "dsin(x) /dx=" << pf <<" x= "<<x; getchar(); return 0; } Результат роботи програми наведений на рис. 13.  Рис. 13. Результат роботи програми Другий варіант написання програми. Виведення результатів в стилі Си (за допомогою функції printf): // Включення заголовних файлів #include <math.h> #include <conio.h> #include <stdio.h> int main() { double f1,f2; // Значення функцій double pf; // Значення похідної double x; // Значення аргументу функції double dx; // Значення приросту аргументу dx=1.0e-11; // Привласнення значення аргументу x=1.57; // Обчислення значення функцій у двох точках f1=sin(x+dx); f2=sin(x); // Обчислення похідної pf=(f1-f2) /dx; // Виведення похідної та аргументу на екран printf("dsin(x) /dx=%6.4f x=%4.2f",pf,x); getch(); return 0; } Завдання 1 до ч. 2 лабораторної роботи № 1.Скласти програмудля обчислення похідної у заданій точці згідно з отриманим варіантом (табл. 4). Таблиця 4 |