Книга: Конец холивара. Pascal vs C
Назад: 4. Массивы и индексированные переменные
Дальше: 6. Что ещё интересного?

5. Заглянем в вычислительную математику

Метод половинного деления

 

Пример 2.10: Найти корень уравнения X2 – 3 = 0.

 

#include <assert. h>

#include <stdio. h>

#include <stdlib. h>

 

float fn (float x)

{

float y;

y = x*x – 3;

return y;

}

 

int main ()

{

float a, b, e, x, y, y1;

 

printf (“Введите границы интервала и погрешность через пробел\n”);

int r = scanf (”%f%f%f”, &a, &b, &e);

 

assert (r == 3);

x = a;

y = fn (x);

y1 = y;

while (b – a> = e)

{

 

x = (a + b) /2;

y = fn (x);

if (y * y1> = 0)

{

a = x;

y1 = y;

}

else

b = x;

}

printf (“X=%f\n”, x);

 

getchar ();

 

return 0;

 

}

Назад: 4. Массивы и индексированные переменные
Дальше: 6. Что ещё интересного?