Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.02.2017, 21:13   #1
Don_Quijote
Новичок
Джуниор
 
Регистрация: 14.02.2017
Сообщений: 1
По умолчанию Что неправильно ? Pascal abc

Что неправильного? По возможности подредактировать
Код:
program kal; 
uses graphabc; 
label 1, 2, 3, 4; 
type Fun = function (x: real): real;
var 
a, g, p, d, m, u: string; 
i, z: real; 
funs: array of Fun := (sin,cos,sqr);

function CalcIntegral(a,b: real; N: integer; f: Fun): real;
begin
Result := 0;
var x := a;
var h := (b-a)/N;
for var i:=0 to N-1 do
begin
Result += f(x);
x += h;
end;
Result *= h;
p := '+'; 
m := '-'; 
d := '/'; 
u := '*'; 
end;
var 
a := new RealField('a:');
f1 := new FlowBreak;
b := new RealField('b:');
f2 := new FlowBreak;
N := new IntegerField('N:');
f3 := new FlowBreak;
tl := new TextLabel('Функция: ');
f4 := new FlowBreak;
cb := new ComboBox;
f5 := new FlowBreak(50);
s1 := new Space(20);
ok := new Button('Вычислить');
tb: TextBox;
procedure MyClick;
begin
var f := funs[cb.SelectedIndex];
var res := CalcIntegral(a.Value,b.Value,N.Value,f);
tb.AddLine(Format('Интеграл ({0},{1},{2},{3}) = {4}',a.Value,b.Value,N.Value,cb.SelectedValue,res.ToString));
end;
begin
MainForm.Title := 'Вычисление определенного интеграла';
MainForm.SetSize(500,350);
MainForm.CenterOnScreen;
mainPanel.Dock := DockStyle.Left;
mainPanel.Width := 150;

b.Value := 1;
N.Value := 10;
cb.Items.Add('sin');
cb.Items.Add('cos');
cb.Items.Add('x^2');
cb.SelectedIndex := 0;
ok.Click += MyClick;
3: writeln('1-ое число'); 
readln(z); 
repeat 
1: writeln('действие'); 
readln(g); 
if (g = 'cos') or (g = 'sin') or (g = 'модуль') then begin 
if (g = 'cos') then begin 
z := cos(z); 
writeln(z); 
end 
else if(g = 'sin') then begin 
z := sin(z); 
writeln(z); 
end 
else if (g = 'модуль') then begin 
z := abs(z); 
writeln(z); 
end; 
end 
else begin 
writeln('последующее число'); 
readln(i); 
if (g = p) then 
z := z + i; 
if (g = m) then 
z := z - i; 
if (g = d) then 
z := z / i; 
if (g = u) then 
z := z * i; 
end; 
writeln(z:0:2); 
4:writeln('чтобы закончить введите stop,чтобы продолжить введите go.'); 
readln(a); 
if (a <> 'stop') and (a <> 'go') then 
goto 4 
else 
if (a = 'go') then 
goto 1; 
until(a = 'stop'); 
writeln('пока!'); 
writeln('для завершения работы нажмите Enter'); 
readln; 
ParentControl := MainForm;
tb := new TextBox;
tb.Dock := DockStyle.Fill;
end;

begin
InitControls;
end;
end.
_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 15.02.2017 в 10:01.
Don_Quijote вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что тут неправильно??? ser70 Qt и кроссплатформенное программирование С/С++ 10 28.03.2013 19:56
паскаль.что неправильно? AndrewPl Помощь студентам 9 29.05.2010 22:35
что неправильно? helavisa Общие вопросы C/C++ 18 02.06.2009 17:51