03.02.2010, 22:07
|
#19
|
Оператор ЭВМ
Регистрация: 02.02.2010
Сообщений: 37
Написано одно полезное сообщение (для 2 участников)
|
Ответ: Перевод кода Pascal abc в код MidletPascal

Сообщение от odd
Элементарно, Ватсон.
Program x2;
var
a, b, c, d: real;
id_1, id_2, id_3, i: integer;
cmd_ok, clicked: command;
Procedure wait;
begin
cmd_ok:=CreateCommand('OK', CM_OK, 1);
AddCommand(cmd_ok);
Repaint;
repeat
clicked := GetClickedCommand;
Delay(20);
until clicked = cmd_ok;
end;
begin
ShowForm;
id_1:= FormAddTextField('Ввести коэффициент a', '', 20, TF_NUMERIC);
id_2:= FormAddTextField('Ввести коэффициент b', '', 20, TF_NUMERIC);
id_3:= FormAddTextField('Ввести коэффициент c', '', 20, TF_NUMERIC);
wait;
a:=StringToReal(FormGetText(id_1), 10);
b:=StringToReal(FormGetText(id_2), 10);
c:=StringToReal(FormGetText(id_3), 10);
d:=b*b-4*a*c;
ClearForm;
i:=FormAddString('D = ' + d);
if d > 0 then
begin
i:=FormAddString('D > 0 Два корня:');
i:=FormAddString('Меньший= '+(-b-sqrt(d))/2*a);
i:=FormAddString('Больший= '+(-b+sqrt(d))/2*a);
end;
if d = 0 then i:=FormAddString('D = 0 Один корень: x='+( -b/2*a));
if d < 0 then i:=FormAddString('D < 0 Нет действительных корней');
wait;
end.
И лучше поставить высокую степень точности (погрешность до 0.000001)
|
вот спасибочки, эх, теперь бы еще самому разобраться как ты это написал, какая команда за что отвечает, и будет просто замичательно))
|
(Offline)
|
|