Табулирование функций
Массивы
Ввод: n:=strtoint(Edit1.text);
Вывод: label2.caption:=('нех') или
Label3.caption:=(' F ='+inttostr(kol2));
|
if x[i]<min then
begin
min:=x[i];
num:=i;
end;
Ввод одномерного массива:
for i:=1 to n do
x[i]:=strtoint(StringGrid1.cells[i-1,1]);
Вывод одномерного массива:
for i:=1 to n do
begin
StringGrid2.Cells[i-1,0]:='X['+inttostr(i)+']';
StringGrid2.Cells[i-1,1]:=Floattostr(x[i]);
end;
Вывод модального окна:
showmessage(' задачи замена не требуется');
Найти среднее арифметическое чисел, неравных заданному С:
for i:=1 to n do
Begin
if x[i]<>c then
begin
kol:=kol+1;
S:=S+x[i];
end;
end;
label4.caption:='Среднее арифметическое С = '+FloatToStr(S/kol);
Произведение неположительных чисел, стоящих на четных местах:
i:=2;
while i<=n do
begin
if x[i]<0 then
begin
p:=p*x[i];
label5.caption:='Произведение отрицательных чисел, стоящих на четных местах = '+FloatToStr(P);
end
else
label5.caption:='Нет отрицательных чисел, стоящих на четных местах';
i:=i+2;
end;
Найти среднее арифметическое чисел, больших заданного D и стоящих на нечетных местах:
kol2:=0;
for i:=1 to n do
begin
if x[i]<=F
then begin
kol2:=kol2+1;
end;
end;
Найти количество чисел, непринадлежащих промежутку (X, Y]:
for i:=1 to n do
begin
if (x[i]<y1) or (y2<= x[i]) then kol:=kol+1;
end;
Сумму отрицательных чисел, стоящих на четных местах:
i:=2;
while i<=n do
Begin
if x[i]<0 then kol2:=kol2+x[i];
i:=i+2;
end;
Минимальному элементу, присвоить его значение первому элементу массива, а вместо минимального элемента записать число 9999(num — номер минимального элемента)
x[1]:=x[num];
x[num]:=9999;
Поменять местами элементы:
(Замена местами максимального элемента и элемента n)
x[num]:=x[n];
x[n]:=max;
Найти максимальный элемент и поменять его местами с элементом под номером (N – 4):
c:=c-4;
x[num]:=x[c];
x[c]:=max;
Табулирование функций
b,a – вводимые значения,
xn – начальное значение, xk – канечное значение
d – шаг, y – результат.
(В примерах результат выводится через Memo)
procedure TForm1.Button1Click(Sender: TObject);
var
b,a,y,x,d,xn,xk:real;
i:integer;
Sx, Sy, Si:string;
begin
memo1.Clear;
xn:=StrToFloat(Edit1.Text);
xk:=StrToFloat(Edit2.Text);
d:=StrToFloat(Edit3.Text);
a:=StrToFloat(Edit4.Text);
b:=StrToFloat(Edit5.Text);
x:=xn;
i:=1;
memo1.Lines.add('Исходне данные:');
memo1.Lines.add('Х нач = '+FloatToStr(xn));
memo1.Lines.add('Х кон = '+FloatToStr(xk));
memo1.Lines.add('Шаг = '+FloatToStr(d));
memo1.Lines.add('А = '+FloatToStr(a));
memo1.Lines.add('В = '+FloatToStr(b));
memo1.Lines.add('');
memo1.Lines.add('*****************************************');
memo1.Lines.add('** N ** X ** Y **');
memo1.Lines.add('****************************************');
While X<=Xk do
begin
y:=exp(-x)*((a+b*x)/(sqr(ln(abs(x+1))))); {-- формула изменяется --}
Str(x:7:2,sx);
Str(y:7:2,sy);
Str(i:3,si);
memo1.Lines.add('** '+Si+' ** '+Sx+' ** '+Sy+' **');
i:=i+1;
x:=x+d;
end;
memo1.Lines.add('*****************************************');
end;
procedure TForm1.Button1Click(Sender: TObject);
var
y,x,d,xn,xk:real;
i:integer;
Sx, Sy, Si:string;
begin
memo1.Clear;
xn:=StrToFloat(Edit1.Text);
xk:=StrToFloat(Edit2.Text);
d:=StrToFloat(Edit3.Text);
x:=xn;
i:=1;
memo1.Lines.add('Исходне данные:');
memo1.Lines.add('Х нач = '+FloatToStr(xn));
memo1.Lines.add('Х кон = '+FloatToStr(xk));
memo1.Lines.add('Шаг = '+FloatToStr(d));
memo1.Lines.add('');
memo1.Lines.add('***************************************');
memo1.Lines.add('** N ** X ** Y **');
memo1.Lines.add('***************************************');
While X<=Xk do
begin
if x>7 then y:=Sqrt(x+2)
else
if x<0 then y:=ln(abs(x))
else
y:=cos(x);
Str(x:7:2,sx);
Str(y:7:2,sy);
Str(i:3,si);
memo1.Lines.add('** '+Si+' ** '+Sx+' ** '+Sy+' **');
i:=i+1;
x:=x+d;
end;
memo1.Lines.add('***************************************');
end;