Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как составить программу вычисления кв. корня в Pascal ???

Никита Подгорный Профи (717), на голосовании 14 лет назад
Как составить программу вычисления кв. корня в Pascal в примере а= кв.корень из 9 если выводится корень то решение если нет то ответ корней нет????Помогите плиззз!!!!
Голосование за лучший ответ
Степан Дмитриев Знаток (307) 14 лет назад
program geron_sqrt;

function geron(x: Real): Extended;
const
eps = 1.0E-100;
var
y, z: Real;
begin
y := 1.0;
{Цикл while выполняется до тех пор. пока, не будет достигнута
заданная точность вычисления квадратного корня}
while Abs(z - у) >= eps do
begin
z := у;
y := (y + x / у) / 2;
end;
geron := у;
end;

begin
WriteLn( 'Алгоритм Герона для вычисления квадратного корня из двойки: ');
WriteLn('Geron(2.0) =', geron(2.0));
WriteLn('Sqrt(2.0) =', Sqrt(2.0));
Write('Нажмите <enter>');
ReadLn;
end.
Никита ПодгорныйПрофи (717) 14 лет назад
Извените А нет прсто формулы вычисления кв. корня нет не вычисляется (корней нет ---------------------\Кв. Корень/---------да вычисляется
Степан Дмитриев Знаток (307) С процедурами/функциями работать умеешь? Вот тебе готовая функция: function Sqroot1( x: real) : real; var sp,i,inv : integer; a,b : real; begin sp := 0; inv := 0; if(x<=0.F) then Sqroot := 0.F; { argument less than 1 : invert it } if(x<1.F) then begin x:=1.F/x;inv:=1; end; { process series of division by 16 until argument is <16 } while(x>16.F) do begin sp := sp + 1; x := x / 16.F; end; { initial approximation } a:=2.F; { Newtonian algorithm } for i := ITNUM downto 1 do begin b:=x/a; a := a+b; a:=a*0.5F; end; { multiply result by 4 : as much times as divisions by 16 took place } while(sp>0) do begin sp--; a:=a*4.F; end; { invert result for inverted argument } if(inv) then a:=1.F/a; Sqroot1 := a; end; Как ее заюзать, думаю, понятно.
Похожие вопросы