Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.09.2009, 16:20   #1
inferno fm
Новичок
Джуниор
 
Регистрация: 13.09.2009
Сообщений: 2
По умолчанию Использование подпрограмм

Помогите с задачкой пожалуйста.

Нужно сделать программу вывода на экран таблицы функции, которую нужно оформить в виде процедуры.

Составлял ее с использованием рекуррентной последовательности, но скорее всего неправильно вывел формулу для определения члена этой последовательности с шагом h=xk-xn/M (M=10). Помогите пожалуйста разобраться. Ниже привожу код и условие в docx, и файл проекта.

PHP код:
unit Unit1;

interface

uses
  Windows
MessagesSysUtilsVariantsClassesGraphicsControlsForms,
  
DialogsStdCtrls;

type
  TForm1 
= class(TForm)
    
Label1TLabel;
    
Edit1TEdit;
    
Label2TLabel;
    
Edit2TEdit;
    
Label3TLabel;
    
Edit3TEdit;
    
Label4TLabel;
    
Edit4TEdit;
    
Label5TLabel;
    
Memo1TMemo;
    
Button1TButton;
    
procedure FormCreate(SenderTObject);
    
procedure Button1Click(SenderTObject);

  private
    { Private 
declarations }
  public
    { Public 
declarations }
  
end;

  var
    
Form1TForm1;

  
implementation

{$R *.dfm}

  
procedure TForm1.FormCreate(SenderTObject);
   
begin
        Edit1
.text:='0,2';
        
Edit2.text:='1';
        
Edit3.text:='10';
        
Edit4.text:='0,001';
   
end;
  
procedure TForm1.Button1Click(SenderTObject);
   var 
xn,xk,x,h,e,a,s,y,extended;
       
n:integer;
 
begin
 Memo1
.Clear;
   
xn:=StrToFloat(Edit1.Text);
   
Memo1.Lines.Add('xn='+FloatToStrF(xn,ffFixed,6,2));
   
xk:=StrToFloat(Edit2.Text);
   
Memo1.Lines.Add('xk='+FloatToStrF(xk,ffFixed,6,2));
   
M:=StrToFloat(Edit3.Text);
   
Memo1.Lines.Add('M='+FloatToStrF(h,ffFixed,8,3));
   
e:=StrToFloat(Edit4.Text);
   
Memo1.Lines.Add('e='+FloatToStrF(e,ffFixed,8,5));
   
x:=xn;
   
h:=xk-xn/M;

 
repeat
        a
:=1;
        
S:=1;
        
n:=0;
 while (
abs(a)>e) do begin
        n
:=n+1;
        
a:=-a*3*sqr(x)/2*n;
        
s:=s+a;
 
end;
        
y:=(1-sqr(x)/2)*cos(x)-x/2*sin(x);
 
Memo1.Lines.Add('  ïðè x='+FloatToStrF(x,ffFixed,6,2)+'   ñóììà='
                 
+FloatToStrF(s,ffFixed,8,4)+ '  y='
                 
+FloatToStrF(y,ffFixed,8,4)+'   N='+IntToStr(n));
        
x:=x+h
 until x
>(xk+h/2)
end;
end
Вложения
Тип файла: rar Doc1.rar (10.7 Кб, 9 просмотров)
Тип файла: rar рек последовательность.rar (167.9 Кб, 6 просмотров)
inferno fm вне форума Ответить с цитированием
Старый 19.09.2009, 18:32   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что разбить на процедурки сам не могешь?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.09.2009, 18:37   #3
inferno fm
Новичок
Джуниор
 
Регистрация: 13.09.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а что разбить на процедурки сам не могешь?
буду пробовать, вообще основная проблема в том ,что скорее всего не правильно вывел формулу для нахождения члена последовательности...вот и выложил все, чтобы кто-нибудь глянул, не могу понять в чем ошибка.
inferno fm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите решить задачу на Паскале с использованием подпрограмм. Evgo Помощь студентам 12 20.06.2009 20:42
программа с использованием подпрограмм, создаёт односвязный список и вычисляет сумму положительных чисел LOVELY Паскаль, Turbo Pascal, PascalABC.NET 5 13.12.2008 01:27
Решить задачу с помощью подпрограмм Fonarik Помощь студентам 1 07.11.2008 22:30