![]() |
Здравствуйте.Необходима Ваша помощь.Есть прога на паскале.Необходимо реализовать ее в MidletPascale. Вот собсна и она:
Program m1; uses crt; Var a0,a1,a2,a3,x,y,m,eps:real; Function f(a0,a1,a2,a3,x:real):real; Begin f:=a0+(a1+1)*x+a2*x*x+a3*x*x*x End; Begin clrscr; Writeln('eps'); readln(eps); clrscr; Writeln('a0'); readln(a0); clrscr; Writeln('a1'); readln(a1); clrscr; Writeln('a2'); readln(a2); clrscr; Writeln('a3'); readln(a3); clrscr; Writeln('x0'); readln(x); clrscr; y:=f(a0,a1,a2,a3,x); writeln(y:8:6); ReadKey; clrscr; Repeat m:=(f(a0,a1,a2,a3,y)-y)/(y-x); m:=1/(1-m); x:=y+m*(f(a0,a1,a2,a3,y)-y); writeln(x:8:6); Readkey; clrscr; m:=x;x:=y;y:=m; m:=y-x; if m<0 then m:=m*(-1); Until m<=eps; writeln(y:8:6); ReadKey; End. Особо интересует эта часть кода: readln(a0); ... writeln(y:8:6); Не могу вводить числа типа real... В наработках есть: var A0, A1, A2, A3, x0, eps : string; item1,item2, item3, item4, item5 , item6, base : integer; A02, A12, A22, A32, eps2, d, x02, x2 : real; .... item1 := FormAddTextField('A0:', '', 20, TF_NUMERIC); A0 := FormGetText(item1); A02 := StringToReal(A0,base); т.е есть формы,туда вводится число, но в программе не ставится "," Заранее Спасибо! |
Используйте TF_ANY.
|
Цитата:
Как правильно вывести число формата real? DrawText('y='+y:8:8, 0, 0); Я ошибаюсь? |
Ответ: Иттерации
Вместо TF_NUMERIC поставь просто цифру 5.
|
Ответ: Иттерации
Выводить real числа на экран проще всего так:
DrawText(''+y, 5, 5); // В графическом режиме id:=FormAddString(''+y); // В режиме форм Форматирования числа не предусмотрено. |
Часовой пояс GMT +4, время: 15:57. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot