Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.05;
Скачать: CL | DM;

Вниз

Здравствуйте помогите пожалуйста   Найти похожие ветки 

 
Vandet ©   (2006-02-18 11:31) [0]

Привет мастера Delphi, я сам сделал задачу -   "Дан многочлен Р(х) степени N, действительные числа s и t. Получить многочлен (sх2+t)Р’(х), где Р’(х) – производная многочлена Р(х)."
Но не могу сделать для этой задачи блок схему , помогите пожалуйста!!!!
Заранее благодарен.
А вот и мой код задачи по которому нужно создать блок схему:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Spin, ExtCtrls, Grids;

type

TForm1 = class(TForm)
 Label1: TLabel;
 SpinEdit1: TSpinEdit;
 StringGrid1: TStringGrid;
 Panel1: TPanel;
 Panel2: TPanel;
 Panel5: TPanel;
 Panel4: TPanel;
 Label2: TLabel;
 Label3: TLabel;
Button1: TButton;
 Label4: TLabel;
Edit1: TEdit;
Label5: TLabel;
 Edit2: TEdit;

procedure FormShow(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);

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

 {Объявление типа члена и указателя на него}

PX = ^TX;
TX = record
K: Real; {коэффициент преред X}

P: Integer; {Степень X}
next: PX; {Указатель на следующий член}
end;

var
 Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);

begin
Application.MessageBox ("Выполнил студент  ОмГТУ,факультета АСОИиУ группы АС-115,Тихонов И.Ю.,Проверил Цыганенко В. Н.,Задача 4");
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
Var
 I: Integer;

begin
With StringGrid1 do

Begin
ColCount := SpinEdit1.Value + 2;
For I:=0 to SpinEdit1.Value do

Begin
Cells[ColCount-I-1, 0]:=IntToStr(I);
If Cells[ColCount-I-1, 1] = ""
Then
Cells[ColCount-I-1, 1] := "0";
End;
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
SpinEdit1Change (Sender);
With StringGrid1 do

Begin

ColWidths[0]:=50;
Cells[0,0]:="Степень";
Cells[0,1]:="Коэфф.";
End;
end;

procedure TForm1.Button1Click(Sender: TObject);
Var
 P, {многочлен P(x)}
 Q {Многочлен (sx+t)P(x)+P"(x)}
 : PX;
 I: Integer;
 K: Real;
 S, T: Real;

 {Добавляем к многочлену член степени P с коэффициентом K}
 
procedure Add (var Q: PX; K: Real; P: Integer);
 var
   W, R: PX;
 
begin
{If K = 0 Then Exit;}
if Q <> nil    then

begin
W:=Q;
{Ищем член со степенью P}
While (W.next <> nil) and (W.next.P >= P) do
W:=W.next;

{если найден член степени P}
If W.P = P Then
     
Begin
{Увеличиваем значение коэффициента}
W.K:=W.K + K;
 end else
   
 Begin
 R:=W.next;
 New(W.next);
W:=W.next;
W.K:=K;

W.P:=P;
 W.next:=R;
 End;

   end else
   
   begin
     {Создаём первый элемент многочлена}
  New(Q);
  Q.K:=K;
  Q.P:=P;
  Q.next:=nil;
 end;
 end;

 {построение записи многочлена}

function PRecord (Q: PX): String;
 Var
   K: Real;
   P: Integer;
   S: String;

Begin
   S:="";
   While Q <> nil do
 
begin
K:=Q.K;
P:=Q.P;
f K <> 0 Then
     
Begin
If K < 0 Then
S:=S + " - " else
If (K > 0) and (S <> "") Then
S:=S + " + ";
If (Abs(K) <> 1) or (P = 0)        Then
S:=S + FloatToStr (Abs(K));
If P > 0        Then

Begin
 S:=S + "x";
 If P > 1 Then

S:=S + "^" + IntToStr(P);
 End;
 end;

  Q:=Q.next;
   end;
   If S = ""    Then
   S:="0";
   PRecord:=S;  
 end;
 
begin
 P:=nil;
 Q:=nil;
 Add (P, 0, SpinEdit1.Value+1);
 Add (P, 0, SpinEdit1.Value+1);
 S:=StrToFloat (Edit1.Text);
 T:=StrToFloat (Edit2.Text);

{Получаем многочлены P и Q}

With StringGrid1 do
 
Begin
   For I: =0 to ColCount-2 do
   
Begin
K:=StrToFloat(Cells[ColCount-I-1, 1]);
Add (P, K, I);
Add (Q, S*K, I+1);
Add (Q, T*K, I);
Add (Q, I*K, I-1);
End;
End;
Label2.Caption:=PRecord(P);
Label3.Caption:=PRecord(Q);
end;
end.


 
Desdechado ©   (2006-02-18 15:30) [1]

1. тема не оформлена
2. понятия "блок-схема" не существует уже лет 15
3. схема алгоритма представляет собой последовательность и взаимозависимость действий в нем. Еслои код написан собственноручно, то схема алгоритма рисуется за 2 минуты.


 
Галинка ©   (2006-02-18 15:36) [2]

ели не жаль, пришли проект. Помогу.



Страницы: 1 вся ветка

Текущий архив: 2006.03.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
3-1136407474
bopmy
2006-01-04 23:44
2006.03.05
Создание в run-time компонентов заранее неизвестных типов


1-1138918017
Norfolk
2006-02-03 01:06
2006.03.05
Формы в DLL


2-1139933356
Yeg
2006-02-14 19:09
2006.03.05
БД для Интернета


1-1137522366
S_T_E_P_A_N___
2006-01-17 21:26
2006.03.05
Отладка DLL


2-1140011652
VanDet
2006-02-15 16:54
2006.03.05
Здравствуйте помогите пожалуйста