( 10); = fabs (b - a)/10; (h> 0.1) h = 0.1; _cur = y0; _cur = a; _max = y_cur; _min = y_cur; = zoom * a + getmaxx ()/2; = (zoom * (-y_cur)) * k + getmaxy ()/2; (x_cur <= b)
{(flag> 1) break; _step_res = do_step (h, x_cur, y_cur); = do_step (h/2, x_cur, y_cur); _step_res = do_step (h/2, x_cur + h/2, temp); = fabs (big_step_res - small_step_res); (err> EPSILON)
{= h/2;;
} _step_res = do_step (h, x_cur + h, big_step_res); _step_res = do_step (2 * h, x_cur, y_cur); (fabs (big2_step_res - super_step_res)
{* = 2;;
} (h> MAXSTEP) h = MAXSTEP; (x0, y0, zoom * x_cur + getmaxx ()/2, zoom * (-y_cur) * k + getmaxy ()/2); = zoom * (x_cur) + getmaxx ()/2; = (zoom * (-y_cur)) * k + getmaxy ()/2; (x_cur + h> b) h = fabs (b - x_cur); _cur + = h; _cur = big_step_res; (x_cur> = b) flag + +;
} (getch ()! = 0);
}
// ---------------------------------------- -------------------------------// title (void)
{(); clrscr (); ("Вирішення діференціальніх рівнянь методом Рунге-Кутта з автоматичності Вибори Кроку n"); ("з автоматичності Вибори Довжина Кроку n"); (" ; ______________________________% g n ", VERSION); (" ______________________________________ n ");
}
// ---------------------------------------- -------------------------------// do_step (double h, double x_cur, double y_cur)
{k1, k2, k3, k4, delta_y_cur; = f (x_cur, y_cur); = f (x_cur + (h/2), y_cur + (h/2) * k1); = f (x_cur + (h/2), y_cur + (h/2) * k2); = f (x_cur + h, y_cur + h * k3); _y_cur = (h/6) * (k1 + 2 * k2 + 2 * k3 + k4); (y_cur + delta_y_cur);
}