Вычислить сумму положительных значений Sin(fi) на интервале
[а, b] с заданным шагом. Цикл с предусловием. Выполнить в Lazarus
unit ZadanieGUIpr036unit1;
mode objfpc}H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
a,b: real;
h: real;
public
end;
var
Form1: TForm1;
implementation
R *.lfm}
TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
Процедура-обработчик "OnClick" кнопки "Вычислить"}
var
x: real;
y: real;
s: real;
begin
repeat
if not TryStrToFloat(Edit1.Text,a) then
begin
MessageDlg(Ошибка ввода!,mtError,[mbOk],0);
a:= 0;
Edit1.Text:= 0,00;
end;
if not TryStrToFloat(Edit2.Text,b) then
begin
MessageDlg(Ошибка ввода!,mtError,[mbOk],0);
b:= 1;
Edit2.Text:= 1,00;
end;
if not TryStrToFloat(Edit3.Text,h) then
begin
MessageDlg(Ошибка ввода!,mtError,[mbOk],0);
h:= 0.1;
Edit3.Text:= 0,1;
end
else
if (h <= 0) then
begin
MessageDlg(Значение шага вычислений не может быть нулевым или отрицательным!,mtError,[mbOk],0);
h:= 0.1;
Edit1.Text:= 0,1;
end;
if a >= b then
begin
MessageDlg(Значение правой границы должно быть больше значения левой гриницы!,mtError,[mbOk],0);
a:= 0;
b:= 1;
Edit1.Text:= 0,00;
Edit2.Text:= 1,00;
end
else
break;
until false;
s:= 0; Установка переменной в начальное состояние}
x:= a; Присвоение аргументу значения левой границы вычислений }
while x <= b + h/2 do цикл с условием}
begin
y:= sin(x);
if y > 0 then Условие для поиска положительных значений}
s:= s + y; Вычисление формулы}
x:= x + h; Приращение аргумента}
end;
Label4.Caption:=Сумма: + FloatToStrF(s,ffFixed,8,2);;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
a:= 0;
b:= 1;
h:= 0.1;
Edit1.Text:= FloatToStrF(a,ffFixed,8,2);
Edit2.Text:= FloatToStrF(b,ffFixed,8,2);
Edit3.Text:= FloatToStrF(h,ffFixed,8,2);
end;
end.
Другие вопросы в разделе - Информатика
Как называется число, которое вычисляется по специальному алгоритму на ...
1. Автомат получает на вход пятизначное десятичное число. По ...
Исполнитель Кузнечик, находящийся на числовой оси над числом 0, ...
1.Как информационные технологии изменили характер труда В чем состоит ...