Дадатак да главы 1
Сайт: | Профильное обучение |
Курс: | Інфарматыка. 10 клас (Павышаны ўзровень) |
Книга: | Дадатак да главы 1 |
Напечатано:: | Гость |
Дата: | Среда, 4 Июнь 2025, 20:30 |
Некаторыя матэматычныя функцыі (з бібліятэкі cmath)
Матэматычны запіс |
Запіс в С++ |
Каментарыі |
|
abs(x) |
Знаходзіць модуль ліку x |
|
sqrt(x) |
Знаходзіць корань квадратны з ліку x. Вынік — заўсёды лік тыпу double |
|
>cbrt(x) |
Знаходзіць корань кубічны з ліку x. Вынік — заўсёды лік рэчыўнага тыпу |
|
pow(x, y) |
Узводзіць рэчыўны лік x у рэчыўную ступень y. Вынік — заўсёды лік рэчыўнага тыпу |
|
exp2(x) |
Узводзіць лік 2 у ступень x. Вынік — лік рэчыўнага тыпу |
ex |
exp(x) |
Вылічвае е (лік Эйлера, 2.7182818…), узведзенае ў ступень x. Вынік — лік рэчыўнага тыпу |
lnx |
log(x) |
Вылічвае натуральны (па аснове e) лагарыфм ліку |
lgx |
log10(x) |
Вылічвае дзесятковы (па аснове 10) лагарыфм ліку |
log2x |
log2(x) |
Вылічвае двайковы (па аснове 2) лагарыфм ліку |
|
ceil(x) |
Знаходзіць найбліжэйшы цэлы лік, не меньшы, чым зададзенае рэчыўнае значэнне x. Вынік — рэчыўны лік, які адпавядае аргументу |
|
floor(x) |
Знаходзіць найбліжэйшы цэлы лік, не большы за x. Вынік — рэчыўны лік, які адпавядае аргументу |
sinx |
sin(x) |
Вылічвае сінус ліку x. Лік x задаецца ў радыянах |
cosx |
cos(x) |
Вылічвае косінус ліку x. Лік x задаецца ў радыянах |
tgx |
tan(x) |
Вылічвае тангенс ліку x. Лік x задаецца ў радыянах |
arcsinx |
asin(x) |
Вылічвае арксінус ліку x. Вынік — у радыянах ў дыяпазоне ад |
arccosx |
acos(x) |
Вылічвае косінус ліку x. Вынік — у радыянах ў дыяпазоне ад |
arctgx |
atan(x) |
Вылічвае арктангенс ліку x. Вынік — у радыянах ў дыяпазоне ад |
arctgx |
atan2(y, x) |
Вылічвае арктангенс вугла нахілу адрэзка, з канцамі ў пунктах (0; 0), (x, y) к восі OX. Вынік — у радыянах ў дыяпазоне ад |
Каманды, якія кіруюць вывадам
Для работы большасці каманд, прыведзеных ніжэй, патрабуецца падключэнне бібліятэкі iomanip.
Флагі фармаціравання ў С++
Флаг |
Прызначэнне |
Прыклад |
Вынік |
boolalpha |
Вывад лагічных велічынь у тэкставым выглядзе (true, false) |
cout.setf(ios::boolalpha); bool log_false = 0, log_true = 1; cout << log_false << endl; cout << log_true << endl; |
false true |
showpos |
Вывад знака плюс (+) для дадатных лікаў |
cout.setf(ios::showpos); int value = 15; cout << value << endl; |
+15 |
scientific |
Вывад рэчыўных лікаў у экспаненцыяльнай форме |
cout.setf(ios::scientific); double value = 1024.165; cout << value << endl; |
1.024165e+003 |
fixed |
Вывад рэчыўных лікаў у фіксіраванай форме (6 лічбаў пасля коскі) |
cout.setf(ios:: fixed); double value = 1024.165; cout << value << endl; |
1024.165000 |
right |
Выраўноўванне па правай мяжы (па змоўчанні). Спачатку неабходна ўстанавіць шырыню поля, якая павінна быць заведама большай, чым даўжыня радка, які выводзіцца |
cout.width(20); cout << "Hello world"; |
|
left |
Выраўноўванне па левай мяжы. Спачатку неабходна ўстанавіць шырыню поля, якая павінна быць заведама большай, чым даўжыня радка, які выводзіцца |
cout.setf(ios::left); cout.width(20); cout << "Hello" << "world"; |
Маніпулятары фармаціравання ў С++
Маніпулятор |
Прызначэнне |
Прыклад |
Вынік |
endl |
Пераход на новы радок пры вывадзе |
cout << "Hello" << endl << "world"; |
Hello |
boolalpha |
Вывад лагічных велічынь у тэкставым выглядзе (true, false) |
bool b = 1; |
true |
noboolalpha |
Вывад лагічных велічынь у лікавым выглядзе (1, 0) |
bool b = 1; |
1 |
showpos |
Вывад знака плюс (+) для дадатных лікаў |
int value = 255; |
+255 |
noshowpos |
Не выводзіць знак плюс (+) для дадатных лікаў (па змоўчанні) |
int value = 255; |
255 |
scientific |
Вывад лікаў з плывучым пунктам у экспаненцыяльнай форме |
double value = 1024.165; |
1.024165e+003 |
fixed |
Вывад лікаў з плывучым пунктам у фіксаванай форме (6 лічбаў пасля коскі) |
double value = 1024.165; |
1024.165000 |
setw(int number) |
Устанавіць шырыню поля, дзе number — колькасць пазіцый, сімвалаў (выраўноўванне па змоўчанні па правай мяжы) |
cout << setw(20) << "Hello world"; |
![]() |
right |
Выраўноўванне па правай мяжы (па змоўчанні). Спачатку неабходна ўстанавіць шырыню поля (шырыня поля павінна быць загадзя большай, чым даўжыня радка, які выводзіцца) |
cout << setw(20) << right; |
![]() |
left |
Выраўноўванне па левай мяжы. Спачатку неабходна ўстанавіць шырыню поля (шырыня поля павінна быць загадзя большай, чым даўжыня радка, які выводзіцца) |
cout << setw(20) << left; |
|
setprecision (int count) |
Задае колькасць знакаў пасля коскі, дзе count — колькасць знакаў пасля дзесятковай кропкі |
cout << fixed; |
6.750 |
setfill (char symbol) |
Устанавіць сімвал-запаўняльнік. Калі шырыня поля большая, чым велічыня, што выводзіцца, то свабодныя месцы поля будуць напаўняцца сімвалам |
cout << setfill('0'); |
0015 |
Каманды наладкі ў асяроддзі Code::Blocks
Каманда |
Функцыя |
Клавіша |
Run |
Выконвае адкампіляваную праграму |
Ctrl+F10 |
Build and Run |
Выконвае праграму. Калі неабходна, спачатку яе перакампілюе |
F9 |
Debug®Stop Debugger |
Завяршае сеанс наладкі |
Shift+F8 |
Run to cursor |
Выконвае праграму да радка, на якім устаноўлены курсор, і пераходзіць у рэжым наладкі |
F4 |
Next line |
Выконвае радок праграмы. Пры наяўнасці выкліку функцыі ў гэтым радку пераходу да трасіроўкі функцыі не адбываецца |
F7 |
Step into |
Выконвае радок праграмы. Пры наяўнасці выкліку функцыі ў гэтым радку пераходзіць да трасіроўкі функцыі |
Shift+F7 |
Step out |
Выконвае функцыю да канца і перадае кіраванне на каманду, наступную за выклікам дадзенай функцыі |
Ctrl+F7 |
Вывад кіруючых сімвалаў
Назва |
Сімвал |
Значэнне |
Папярэджванне (alert) |
\a |
Папярэджванне (гукавы сігнал) |
Backspace |
\b |
Перамяшчэнне курсора на адну пазіцыю назад |
formfeed |
\f |
Перамяшчэнне курсора да наступнай лагічнай старонкі |
Сімвал новага радка (newline) |
\n |
Перамяшчэнне курсора на наступны радок |
Зварот карэткі (carriage return) |
\r |
Перамяшчэнне курсора ў пачатак радка |
Гарызантальны таб (horizontal tab) |
\t |
Устаўка гарызантальнага TAB |
Вертыкальны таб (vertical tab) |
\v |
Устаўка вертыкальнага TAB |
Адзінарнае двукоссе |
\' |
Устаўка адзінарнага двукосся (ці апострафа) |
Двайное двукоссе |
\" |
Устаўка двайнога двукосся |
Бэкслэш |
\\ |
Устаўка адваротнай касой рысы (бэкслэша) |
Пытальнік |
\? |
Устаўка знака пытання |
Функцыі для апрацоўкі радкоў
Функцыя |
Дзеянне |
S.size() |
Вяртае даўжыню радка |
S.length() |
Вяртае даўжыню радка |
S.resize(n) |
Змяняе даўжыню радка, новая даўжыня радка становіцца роўная n. Пры гэтым радок можа як паменшыцца, так і павялічыцца. Калі выклікаць у выглядзе S.resize(n, c), дзе c — сімвал, то пры павелічэнні даўжыні радка дабаўляемыя сімвалы будуць роўныя c. |
S.clear() |
Ачышчае радок, радок становіцца пусты |
S.empty() |
Вяртае true, калі радок пусты, false — калі не пусты |
S.push_back(c) |
Дабаўляе ў канец радка сімвал c, выклікаецца з адным параметрам тыпу char |
S.append(n, c) S.append(T) S.append(T, pos, count) |
Дабаўляе ў канец радка n аднолькавых сімвалаў, роўных с. n мае цэлалікавы тып, c — char; дабаўляе ў канец радка S змесціва радка T; дабаўляе ў канец радка S сімвалы радка T, пачынаючы з сімвала з індэксам pos кколькасцю count |
S.erase(pos). S.erase(pos, count) |
Выдаляе з радка S з сімвала з індэксам pos і да канца радка; выдаляе з радка S з сімвала з індэксам pos колькасцю count ці да канца радка, калі pos + count > S.size() |
S.insert(i, n, c) S.insert(i, T) S.insert(i, T, pos, count) |
Уставіць n аднолькавых сімвалаў, роўных с. n мае цэлалікавы тып, c — char; уставіць змесціва радка T; уставіць сімвалы радка T, пачынаючы з сімвала з індэксам pos колькасцю count |
S.substr(pos) S.substr(pos, count) |
Вяртае падрадок дадзенага радка, пачынаючы з сімвала з індэксам pos і да канца радка. Вяртае падрадок дадзенага радка, пачынаючы з сімвала з індэксам pos колькасцю count ці да канца радка, калі pos + count > S.size() |
S.replace(pos, count, n, c) S.replace(pos, count, T) S.replace(pos, count, T, pos2, count2) |
Уставіць n аднолькавых сімвааў, роўных с. n мае цэлалікавы тып, c — char; уставіць змесціва радка T; уставіць сімвалы радка T, пачынаючы з сімвала з індэксам pos колькасцю count |
S.find(str, pos) S.find(str, pos, n) |
Шукае першае ўваходжанне радка, str, пачынаючы з пазіцыі pos. Калі pos не зададзена, то, пачынаючы з пачатку радка S, шукае ў дадзеным радку падрадок, роўны першым n сімвалам радка str. Значэнне pos павінна быць зададзена |
S.rfind |
Шукае апошняе ўваходжанне падрадка ("правы" пошук). Спосабы выкліку аналагічныя спосабам выкліку метаду find |
S.find_first_of(str, pos ) |
Шукае ў дадзеным радку першае з'яўленне любога з сімвалаў дадзенага радка str. Вяртаецца нумар гэтага сімвала ці значэнне string::npos. |
S.find_last_of |
Калі зададзена значэнне pos, то пошук пачынаецца з пазіцыі pos, гэта значыць, значэнне, якое вяртаецца, будзе не меншым, чым pos. Калі значэнне pos не паказана, то лічыцца, што яно роўна 0 — пошук ажыццяўляецца з пачатку радка |
S.find_first_not_of |
Шукае ў дадзеным радку апошняе з'яўленне любога з сімвалаў дадзенага радка str. Спосабы выкліку і значэнне, якое вяртаецца, аналагічныя метаду find_first_of |
S.find_last_not_of |
Шукае ў дадзеным радку першае з'яўленне сімвала, адрознага ад сімвалаў радка str. Спосабы выкліку і значэнне, якое вяртаецца, аналагічныя метаду find_first_of |