Отобразите члены ряда (бесконечного произведения) в компоненте StringGrid

Fktcz

Отобразите члены ряда (бесконечного произведения) в компоненте StringGrid: - количество членов ряда (бесконечного произведения) N задается с формы в поле редактирования Edit1; - количество ячеек таблицы StringGrid равно количеству членов ряда (бесконечного произведения), то есть равно N; - ячейки StringGrid недоступны для редактирования; - соответствующая сумма (произведение) выводится в недоступном для редактирования поле Edit2; - кроме таблицы StringGrid и двух полей редактирования Edit, никаких компонентов на форме нет.∏(1-1/n^2) нижняя граница n=2,верхняя граница=бесконечности
8 ответов

Fktcz

procedure TForm1.FormCreate(Sender: TObject);
begin
with StringGrid1 do
 begin
 //óáåðåì âîçìîæГ*îñòü ðåäГ*êòèðîâГ*Г*ГЁГї ГїГ·ГҐГҐГЄ ГІГ*áëèöû
  Options:=StringGrid1.Options-[goEditing];
 //óáåðåì ôèêñèðîâГ*Г*Г*ûå ñòðîêó ГЁ ñòîëáåö
  fixedcols:=0;
  fixedrows:=0;
  rowcount:=1;
 end;
//òî æå Ýäèò2
Edit2.ReadOnly:=false;
end;
procedure TForm1.FormClick(Sender: TObject);//клик по свободному месту формы, можно сменить событие
var n,i:integer;
    t,p:extended;
begin
//ââîäèì N ñ ïðîâåðêîé
val(Edit1.Text,n,i);
if(i<>0)or(n<2) then
 begin
  showmessage('ГЌГҐГўГҐГ°Г*Г® ââåäåГ*Г® N, ïîâòîðèòå');
  Edit1.Clear;
  Edit1.SetFocus;
  exit
 end;
StringGrid1.ColCount:=n;
p:=1;
for i:=2 to n do
 begin
  t:=1-1/(i*i);
  StringGrid1.Cells[i-2,0]:=floattostrF(t,ffFixed,8,4);
  p:=p*t;
 end;
Edit2.Text:='P='+floattostrF(p,ffFixed,8,4);
end;


Fktcz

не работает(


Fktcz

А ты программу сделал или этот код запускаешь?


Fktcz

да)))


Fktcz

Что да? Первое или второе?


Fktcz

и первое и второевы не сможете в документе отправить программу?


Fktcz

Во вложении


Fktcz

спасибо большое за программу)