Функция sqrt - изчисляване на корен квадратен
ръчен алгоритъм за коренуванедължина на хипотенуза - sqrt
дължина на ъглополовяща в триъгълник - sqrt
Описание на библиотечна функция sqrt - аргументът и резултатът са от тип реален. Резултатът е корен квадратен, корен втори на аргумента. При изчисляване на корен квадратен, чрез функция sqrt, има изискване аргумента да е с положителна стойност. Библиотечната функция sqrt е във файла cmath, както и в по-стария math.h. С основание функция sqrt е смятана за бавна функция - процесът на изчисляване налага използване на редове.
ръчен алгоритъм за коренуване
Съществува алгоритъм за ръчно коренуване, изчисляване на квадратен корен. В следващия алгоритъм за коренуване ще разглеждаме само цели числа като подкоренна стойност, но той може да се приложи и за реални числа. Стъпките са следните:
1) В самото начало инициализираме крайния резултат със стойност 0.2) Цифрите в числото се разделят на групи по две като броенето започва отдясно.
3) Взема се най-лявата група цифри - само в първата стъпка е възможно цифрата да е една.
4) Умножаваме получения до момента резултат с 20.
5) Проверяваме кое е най-голямото едноцифрено число, така че като го прибавим към резултата и получената сума умножим със същото число да се получава по-малко или равно число на проверяваното.
6) Получената цифра прибавяме като най-дясна на числото резултат.
7) Извършваме операцията изваждане
8) Ако има още необработени цифри се прибавят вдясно и се отива в т.3, ако няма се извежда получения резултат.
Да вземем число 625. Разделяме го на групи 6 и 25
Най-близкото търсено число до 6 е 2
Новото число е 225, а новия делите е 2*20
Най-близкото число е 5, т.к. 45*5 е 225
Цифрите свършиха.
След изваждането се получава 0, т.е. 25 е точен корен на 625
Друг пример с 1024. Разделяме го на групи 10 и 24
Най-близкото търсено число до 10 е 3.
Новото число е 124, а новия делите е 6*20
Най-близкото число е2, т.к. 62*2 е 124
Цифрите свършиха.
След изваждането се получава 0, т.е. 32 е точен корен на 1024
Възможно е да се вземат не една а две групи, но в резултата се добавя 0 - оепрацията е същата както при делене на многоцифрено число.
Следващата програма съдържа решен пример, илюстриращ ръчен алгоритъм за коренуване - изчисляване на корен квадратен:
Докато предходната програма имаше за цел илюстриране на ръчния алгоритъм за коренуване, то следващата примерна функция дава изчисляване на целочислен корен.
В самото начало (цикъл for) се формира допълнително число - степен на 2, което е равно или по-голямо от въведеното число.
В следващия цикъл започва обратният процес - допълнителното число се дели целочислено на 2.
В този цикъл се прави проверка дали квадрата на достигната степен на 2 е по-малка или равна на въведеното число.
С всеки следващ ход на цикъла се натрупват по-малките степени на 2.
Тази функция за целочислено коренуване има недостатъци, но и едно определено предимство - лесен за запомняне алгоритъм.
дължина на хипотенуза - sqrt
Една от най-често срещаните задачи изискващи изчисляване на корен квадратен е изчисляване катет или хипотенуза в правоъгълен триъгълник.
Следващата програма съдържа решен пример, илюстриращ работата на библиотечна функция sqrt - изчисляване на корен квадратен:
дължина на ъглополовяща в триъгълник - sqrt
Имаме триъгълник ABC. От връх A е спусната ъглополовяща La, разделяща страната BC на части с дължина n и m. Въведена е дължината на страна AC = b. Да се състави програма, чрез която се изчислява радиуса на описаната около този триъгълник окръжност по въведени b, m, n.
Алгоритъмстрана BC в този триъгълник е: a=m+n
От свойството на ъглополовящите b/c = m/n. Страна c= n*b/m
p - полупериметър на триъгълник p = 0.5 * (a + b + c)
Ще ползваме алгоритъм на Херон за изчисляване лице на триъгълник S - лице на триъгълник S = sqrt (p*(p-a)*(p-b)*(p-c)
дължина на ъгополовяща в триъгълник La = 2 * sqrt ( b*c*p* (p-a) ) / (b+c)
радиус на описаната около триъгълник окръжност R = a*b*c / (4*S)
Следващата примерна програма съдържа решена задача за изчисляване на ъглополовяща в триъгълник и използване на функция sqrt - изчисляване на корен квадратен:
Задачи с подобни функции и служебни думи са разгледани в страницата с електронни уроци по информатика - програмиране.
Илюстриране работата на характерни алгоритми можете да намерите в предоставените електронни помагала съдържащи решени примери.