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

Нужен совет!

23.03.2015, 19:05. Показов 388. Ответов 7
Метки нет (Все метки)

Привет,есть задание,и решение к нему. Сомневаюсь в коде,мб кто увидит недочеты или ошибки.
Задание:
Дано натуральные n и m.Сделать программу для: https://www.cyberforum.ru/cgi-bin/latex.cgi?\sqrt{n+sqrt{(n-1)+...+\sqrt{1}}}/m!!
Где m!! - двойной факториал
Использовать рекурсивные процедуры или функции.

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Edit3: TEdit;
    Label3: TLabel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
 
procedure TForm1.Button1Click(Sender: TObject);
 function factor(x:extended):Extended;
begin
   if (x=1) or (x=0) then factor:=1
   else factor:=x*factor(x-2);
end;
 
function z(x:longint):real;
begin
   if x=1 then z:=1 else z:=sqrt(x+z(x-1));
end;
 
var n,m:longint;
    res:real;
begin
  n:=StrToInt(Edit1.Text);
  m:=StrToInt(Edit2.Text);
  res:=z(n)/factor(factor(m));
  Edit3.Text:=FloatToStr(res);
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
 
end.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2015, 19:05
Ответы с готовыми решениями:

Нужен совет
Доброго времени суток.это мой первый опыт программы на Delphi, так что не судите строго. в...

Нужен совет
Вот смотрите мне нужно напесать пользовательский интерфейс. Для учебников, планирую поместить 5...

нужен совет....
Короче тема такая: нужно создать программу возведения числа в степень с помощью цикла For я...

нужен совет
Доброго времени суток!!! Помогите, плз, разобраться в проблеме!:) Учусь на заочном и у препода...

7
Модератор
3476 / 2600 / 740
Регистрация: 19.09.2012
Сообщений: 7,966
23.03.2015, 19:30 2
Почему
Delphi
1
  res:=z(n)/factor(factor(m));
0
225 / 224 / 112
Регистрация: 20.10.2013
Сообщений: 808
23.03.2015, 19:44 3
Цитата Сообщение от artewka Посмотреть сообщение
function factor(x:extended):Extended;
begin
* *if (x=1) or (x=0) then factor:=1
* *else factor:=x*factor(x-2);
end;
Delphi
1
2
3
4
5
6
function factor(x:extended):Extended;
begin
    if n < 1 result := 0;
    else if n = 1 then result := 1
    else result := n * factor(n - 1);
end;
0
Модератор
3476 / 2600 / 740
Регистрация: 19.09.2012
Сообщений: 7,966
23.03.2015, 20:17 4
nestquik2, ничего что нужен
Цитата Сообщение от artewka Посмотреть сообщение
двойной факториал
0
225 / 224 / 112
Регистрация: 20.10.2013
Сообщений: 808
23.03.2015, 20:20 5
FIL, у него вызов идет как одинарный... Ой, черт, точно, двойной факториал а!!<>(a!)!, хотя в принципе, его можно и вывести по теореме...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31191 / 20389 / 7940
Регистрация: 22.10.2011
Сообщений: 35,359
Записей в блоге: 6
23.03.2015, 20:41 6
Цитата Сообщение от Puporev Посмотреть сообщение
с какого угару?
По определению:
Двойной факториал числа n обозначается n!! и определяется как произведение всех натуральных чисел в отрезке [1,n], имеющих ту же чётность, что и n
0
Puporev
23.03.2015, 20:42
  #7

Не по теме:

volvo, Я это знаю, просто вместо <> почему-то прочитал =. Сообщение сразу удалил, но тебя не обогнал...

0
0 / 0 / 0
Регистрация: 22.09.2014
Сообщений: 41
23.03.2015, 20:45  [ТС] 8
Я же говорю,сомневаюсь в коде.Но считает правильно,если я не допустил математических ошибок.
Если есть какие либо возражения - я с радостью приму их,т.к учатся только на ошибках.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2015, 20:45

Нужен совет!
Нужен совет! Задача : на форме находятся Edit1 (по Timer1(каждую секунду) отображает текущее...

нужен совет
Я новичок программирования в дельфи. Мне нужен самоучитель или книгу хорошую, в которой есть и...

Подпрограммы! Нужен совет
Ребят, тут дали задание на работу с матрицами. Это в принципе ерунда, сделать смогу. Проблема в...

Нужен Совет по Delphi 7
Я в delphi 7 новичок, не чайно нажал кнопку свернуть форму, а как открыть заново не знаю. :)


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

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

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