Показать сообщение отдельно
Старый 03.02.2010, 15:55   #16
odd
Мастер
 
Аватар для odd
 
Регистрация: 06.09.2007
Адрес: Донецк, ДНР
Сообщений: 1,023
Написано 298 полезных сообщений
(для 713 пользователей)
Ответ: Перевод кода Pascal abc в код MidletPascal

Элементарно, Ватсон.

Program x2;
var
   
abcdreal;
   
id_1id_2id_3iinteger;
   
cmd_okclickedcommand;


Procedure wait;
begin
    cmd_ok
:=CreateCommand('OK'CM_OK1);
    
AddCommand(cmd_ok);
    
Repaint;   
    
repeat 
      clicked 
:= GetClickedCommand;
      
Delay(20);
    
until clicked cmd_ok;
end;


begin
    ShowForm
;
    
id_1:= FormAddTextField('Ввести коэффициент a'''20TF_NUMERIC);
    
id_2:= FormAddTextField('Ввести коэффициент b'''20TF_NUMERIC);
    
id_3:= FormAddTextField('Ввести коэффициент c'''20TF_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 
0 then
    begin
        i
:=FormAddString('D > 0 Два корня:');
        
i:=FormAddString('Меньший= '+(-b-sqrt(d))/2*a);
        
i:=FormAddString('Больший= '+(-b+sqrt(d))/2*a);
    
end;
    if 
0 then i:=FormAddString('D = 0 Один корень: x='+( -b/2*a));
    if 
0 then i:=FormAddString('D < 0 Нет действительных корней');
    
wait;  
end
И лучше поставить высокую степень точности (погрешность до 0.000001)
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо odd за это полезное сообщение:
impersonalis (03.02.2010), im_zorg (03.02.2010), Protey (03.02.2010)