1 / 1 / 0
Регистрация: 17.06.2010
Сообщений: 71
1

Рекурсия: вычисление суммы N первых членов арифметической прогрессии

21.06.2010, 14:46. Показов 3241. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуйста, решить задачу!
В Pascal получается, а вот в Делфи не совсем!
4. Написать рекурсивную программу вычисления суммы N первых членов арифметической прогрессии.

Заранее, спасибо!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.06.2010, 14:46
Ответы с готовыми решениями:

Рекурсия: вычисление суммы N первых членов арифметической прогрессии
Помогите найти ошибку в программе! Вот задание: Написать рекурсивную программу вычисления суммы N...

Вычислить произведение первых восьми членов арифметической прогрессии
Напишите пожалуйста код программы в Delphi для задачи: вычислить произведение первых восьми членов...

Создать файл вещественных чисел и записать в него 10 первых членов арифметической прогрессии
Дано имя файла и вещественные числа A и D. Создать файл вещественных чисел с данным именем и...

Рекурсия: определение N-го члена арифметической прогрессии
Создать проект определения N-го члена арифметической прогрессии, используя рекурсию.

7
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.06.2010, 14:52 2
Цитата Сообщение от Arina5 Посмотреть сообщение
В Pascal получается, а вот в Делфи не совсем!
А чем содержание функции будет отличаться?
Что в Делфи не получается?
Программу в Паскале покажите, хотя бы функцию саму.
0
1 / 1 / 0
Регистрация: 17.06.2010
Сообщений: 71
21.06.2010, 15:05  [ТС] 3
Delphi
1
2
3
4
5
Function Ar_n(a1, d: real; n:byte): real;
Begin
    If n = 1 Then Ar_n := a1
    Else Ar_n := Ar_n(a1, d, n — 1) + d
End;
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.06.2010, 15:12 4
Ну в чем проблемы?

Добавлено через 1 минуту
Вообще-то это не сумма, а An.

Добавлено через 3 минуты
Сумма пишется так.
Pascal
1
2
3
4
5
function Spr(a,h,k:integer):integer;
begin
if k=1 then Spr:=a
else Spr:=Spr(a+h,h,k-1)+a;
end;
0
1 / 1 / 0
Регистрация: 17.06.2010
Сообщений: 71
21.06.2010, 15:31  [ТС] 5
А как тогда будет выглядеть сумма N первых членов арифметической прогрессии?

Добавлено через 3 минуты
А как будет выглядеть сама программа? Если честно, я в Делфи плохо разбираюсь! Помогите, пожалуйста!

Добавлено через 13 минут
Правильно я написала или нет??? Проверьте, пожалуйста...
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, XPMan, StdCtrls, Buttons;
type
 TForm1 = class(TForm)
   Edit1: TEdit;
   Label1: TLabel;
   Label2: TLabel;
   XPManifest1: TXPManifest;
   Label3: TLabel;
   BitBtn1: TBitBtn;
   BitBtn2: TBitBtn;
   procedure BitBtn1Click(Sender: TObject);
   procedure BitBtn2Click(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;
var
 Form1: TForm1;
implementation
{$R *.dfm}
function Spr(a,h,k:integer):integer;
begin
if k=1 then Spr:=a
else Spr:=Spr(a+h,h,k-1)+a;
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var N: integer;
 begin
 N:=strtoint(Edit1.Text);
 label2.Caption:=inttostr(Spr(n));
 end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
close;
end;
end.
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.06.2010, 16:45 6
Arina5, Если все работает и результат правильный, то все ОК. На вид правильно.
0
1 / 1 / 0
Регистрация: 17.06.2010
Сообщений: 71
21.06.2010, 19:18  [ТС] 7
label2.Caption:=inttostr(Spr(n));
Вот здесь выдает ошибку!!! Не могу разобраться...
0
Почетный модератор
64299 / 47594 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
21.06.2010, 19:40 8
Цитата Сообщение от Arina5 Посмотреть сообщение
function Spr(a,h,k:integer):integer
считаем параметры, вроде 3.
Цитата Сообщение от Arina5 Посмотреть сообщение
inttostr(Spr(n))
опять считаем, вроде 1. Куда еще 2 девалось?
0
21.06.2010, 19:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.06.2010, 19:40
Помогаю со студенческими работами здесь

Вычислите первые n членов арифметической прогрессии
вот такое задание... помогите разобраться плиз

Вычислить первые n членов арифметической прогрессии и их сумму
Вычислить первые n членов арифметической прогрессии и их сумму An=An-1+d , a1,d,n ввести с...

Вычислить сумму нужного числа N членов данной арифметической прогрессии
Составить программу, которая будет вычислять сумму нужного числа N членов данной арифметической...

Найдите сумму n членов арифметической прогрессии, первый член которой равен а, а разность равна d
Всем доброго времени суток. Задача в следующем: нужно написать код, который будет удовлетворять...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru