Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi для начинающих

Войти
Регистрация
Восстановить пароль
 
Karleon
0 / 0 / 0
Регистрация: 26.03.2015
Сообщений: 40
Завершенные тесты: 2
#1

Найдите сумму n членов арифметической прогрессии, первый член которой равен а, а разность равна d - Delphi

03.05.2016, 23:07. Просмотров 543. Ответов 3
Метки нет (Все метки)

Всем доброго времени суток. Задача в следующем: нужно написать код, который будет удовлетворять требования следующего задания:Найдите сумму n членов арифметической прогрессии, первый член которой равен а, а разность равна d.
Я создал три эдита, кнопку " Сосчитать " и мемо, куда будет выводиться результат. Далее, в обработчике нажатия на кнопку я написал следующее:
Delphi
1
2
3
4
5
6
7
8
procedure TForm1.ПосчитатьClick(Sender: TObject);
 
var a,b,c,d: integer;
begin
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
c := StrToInt(Edit3.Text);
end;
Далее, нужно реализовать цикл, который будет считать выражение, а так же сделать возможным вывод результата цикла на мемо.

Собственно, в этом-то мне и нужна ваша помощь. Я по делфи - чайник чайником. Как и по С++, в общем-то, однако, на с++ я смог составить нужный цикл. Выглядит он следующим образом:

C++
1
2
3
4
5
6
int mas[c + 1];
mas[0] = a; // Первый элемент массива = a
for (int i = 0, i < c, i++ )
{
mas[i+1] = mas[i] + b; 
}
После завершения этого цикла необходимо последний элемент массива выцепить в переменную, которая потом будет выведена на Memo поле.
Моя вопрос к вам - как можно интерпритировать представленный выше цикл под реалии делфи? А так же, если я ошибся - поправьте, пожалуйста.

Добавлено через 2 минуты
Если необходимо.
Весь код на делфи.
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
42
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    Memo1: TMemo;
    Посчитать: TButton;
    procedure ПосчитатьClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.ПосчитатьClick(Sender: TObject);
 
var a,b,c,d: integer;
begin
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
c := StrToInt(Edit3.Text);
end;
 
end.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2016, 23:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Найдите сумму n членов арифметической прогрессии, первый член которой равен а, а разность равна d (Delphi):

Дано целое число N (> 1), а также первый член A и разность D арифметической прогрессии. Сформировать и вывести массив размера N, содержащий N первых - Delphi
Дано целое число N (&gt; 1), а также первый член A и разность D арифметической прогрессии. Сформировать и вывести массив размера N,...

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

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

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

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

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

3
harrybook
66 / 66 / 26
Регистрация: 27.04.2016
Сообщений: 254
04.05.2016, 00:56 #2
Цитата Сообщение от Karleon Посмотреть сообщение
Найдите сумму n членов арифметической прогрессии, первый член которой равен а, а разность равна d.
Разность чего с чем?
Или разность - это шаг(приращение)
т.е.: a2 = a1+d, a3 = a2 + d ...
0
northener
пофигист широкого профиля
3244 / 2296 / 496
Регистрация: 15.07.2013
Сообщений: 13,541
04.05.2016, 01:06 #3
Цитата Сообщение от Karleon Посмотреть сообщение
... однако, на с++ я смог составить нужный цикл. Выглядит он следующим образом:
А массив-то тут зачем? Вроде по условию задачи достаточно только вывести сумму?
Тогда зачем выводить результат в Мемо?
0
harrybook
66 / 66 / 26
Регистрация: 27.04.2016
Сообщений: 254
04.05.2016, 01:16 #4
Наверное, так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
procedure TForm1.Button1Click(Sender: TObject);
var
  a,d,n,i,res : integer;
begin
 a := StrToInt(edit1.Text); // начальное знач. 
 d := StrToInt(edit2.Text); // шаг
 n := StrToInt(edit3.Text); // кол-во эл-тов
 res := 0;
 memo1.Lines.Clear;
 for i:=1 to n do
  begin
   inc(res,a);
   memo1.Lines.Add('a('+IntToStr(i)+') = ' + IntToStr(a));
   inc(a,d);
  end;
 memo1.Lines.Add('result = ' + IntToStr(res));
end;
З.Ы.
Массив действительно не нужен.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.05.2016, 01:16
Привет! Вот еще темы с ответами:

Вычислить сумму N элементов арифметической прогрессии - Delphi
как на делфи реализовать? и почему вот так работает? const a=1.5; dx=2.5; var y,x:real; st:string; i:integer;

Найдите сумму членов ряда с заданной точностью - Delphi
Помогите, пожалуйста.. Найдите сумму членов ряда S = 1 + 1/2 + 1/4 + 1/8 + ... Сумму вычислять, пока очередной член ряда не станет...

Найдите сумму или разность заданных матриц (в зависимости от значений параметров) - Delphi
Даны две матрицы одинаковой размерности.Найдите сумму или разность этих матриц в зависимости от значений параметров.

Найти сумму тех членов ряда, модуль которых больше или равен заданному eps - Delphi
Даны числовой ряд и некоторое число E. Найти сумму трех членов ряда, модуль которых больше или равен заданному E. n=1,2.∞ E=0.001,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru