МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Оси и плоскости тела человека Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) Дифференциальные уравнения второго порядка (модель рынка с прогнозируемыми ценами) - В простых моделях рынка спрос и предложение обычно полагают зависящими только от текущей цены на товар.

Пріоритет операцій (від високого до низького)





 

Операція Опис   Асоціативність  
   
         
++ Постфіксний (префіксний) інкремент   Зліва направо  
         
-- Постфіксний (префіксний) декремент      
         
() Виклик функції      
         
[] Доступ до елемента масиву      
         
-> Непрямий доступ до члена класу      
         
. Прямий доступ до члена класу      
         
! Логічне НЕ      
         
~ Побітове НЕ      
         
- Унарний мінус      
         
+ Унарний плюс      
         
& Узяття адреси      
         
* Розкриття покажчика      
         
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

 





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.