![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Привет, мальчики помогите),
Вычислить первые n членов арифметической прогрессии и их сумму An=An-1+d , a1,d,n ввести с клавиатуры , заранее спасибо + еще каждый член и сумму нужно записать в поле MEMO , заранее спасиба) |
|
#2
|
||||
|
||||
|
Цитата:
![]() Цитата:
Что-то терзают меня смутные сомнения что формула написана неправильно ![]() Имеется ввиду?- A(n)=A(n-1)+d? Тогда хоть напиши формулу для вичисления суммы n членов прогесии. S(n)=???; Насколько я помню, например сумма первых n=100 чисел будет равна n*(n+1)/2=100*101/2=10100/2=5050; И её вывел Гаусс, еще в школе, когда учитель задал задачку: посчитайте сумму первых 100 чисел, а я отойду - а тут не успел учитель выйти как Гаусс назвал ответ... Где-то так ![]() Что-то подобное будет и в твоем случае. Последний раз редактировалось Konrad, 07.02.2011 в 22:29. |
|
#3
|
||||
|
||||
|
Вроде так, мальчик
Код:
procedure TForm1.Button1Click(Sender: TObject);
Var
A: Array of Integer;
d, n, Suma, i: Integer;
begin
Suma:= 0;
d:= StrToInt(Edit2.Text);
n:= StrToInt(Edit3.Text);
SetLength(A, n);
A[0]:= StrToInt(Edit1.Text);
Memo1.Lines.Clear;
Memo1.Lines.Add('1) ' + IntToStr(A[0]));
For i:= 1 To n - 1 Do
begin
A[i]:= A[i-1] + d;
Suma:= Suma + A[i];
Memo1.Lines.Add(IntToStr(i+1) + ') ' + IntToStr(A[i]));
end;
Memo1.Lines.Add('Сума = ' + IntToStr(Suma + A[0]));
end; |