Výpočet odmocniny metódou bisekcie
Výpočet odmocniny metódou bisekcie
Približný výpočet druhej odmocniny čísla delením intervalu.
#include <stdio.h>
int main() {
double x;
printf("Zadajte x \n");
scanf("%lf", &x);
double d = 0;
double h = x + 1;
double s = (d + h) / 2;
double eps = 1.0e-10;
int i = 1;
while ((h - d) / s > eps) {
if (s * s >= x)
h = s;
else
d = s;
s = (d + h) / 2;
printf("i = %d, s = %lf ", i++, s);
}
printf("Odmocnina %lf je %lf", x, s);
return 0;
}Vysvetlenie
Program počíta druhú odmocninu zadaného čísla iteračnou metódou bisekcie (delením intervalu na polovice). Začína s intervalom od 0 po zadané číslo, pričom v každom kroku spresní hranicu intervalu podľa toho, či je druhá mocnina stredu väčšia alebo menšia ako hľadané číslo.
Výpočet prebieha, kým relatívna šírka intervalu neklesne pod zadanú presnosť eps. Program v každej iterácii vypíše
poradové číslo kroku a aktuálny odhad výsledku, čo umožňuje sledovať postupné spresňovanie.