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

Вниз

из pascal в delphi   Найти похожие ветки 

 
deniss   (2011-06-16 13:45) [0]

Здравствуйте! Имеется код написанный в pasca,l нужно перенести его в delphi только не консольное приложение, а с формой.
Интервал [0.2:1] и точность задается с клавиатуры.

Вот код:
Program kr;
uses crt;
function F(x:real):real;
begin
F:=x*tan(x)-1/3;
end;
function F1(x:real):real;
begin
F1:=tan(x)+x*power(1/cos(x),2);
end;
var x1,x2,eps,b:real;
k:integer;
begin
clrscr;
repeat
write("Vvedite nachalnoe priblizenie [0,2;1] a=");
readln(x1);
until(x1>=0.2)and(x1<=1);
eps:=0.001;
x2:=x1;
k:=0;
repeat
b:=x2;
k:=k+1;
x2:=b-F(b)/F1(b);
until abs(x2-b)<eps;
write("X=",x2:0:5," iteracij=",k);
readln
end.


 
Sergey   (2011-06-16 13:57) [1]

Ну раз нужно, переводи.


 
Sergey   (2011-06-16 13:58) [2]

Хотя... сколько платишь (WebMoney)?


 
Dennis I. Komarov ©   (2011-06-16 14:19) [3]

В чем твои проблемы? Лень или brain.dll not exist?


 
Dennis I. Komarov ©   (2011-06-16 14:38) [4]

$100 за использование моей библиотеки


 
Ega23 ©   (2011-06-16 14:46) [5]

Да ладно вам издеваться-то.
На, держи:


program Project18;

uses
 SysUtils, Math, StdCtrls, Forms;

{$R *.res}

type

 TMyClass = class (TObject)
 private
   FForm: TForm;
   btn: TButton;
   lbl, lblRes: TLabel;
   ed: TEdit;

   procedure CreateControls;
   function GetPriblizhenie(var Value: Extended): Boolean;
   procedure ButtonClick(Sender: TObject);

   function F(x: Extended): Extended;
   function F1(x: Extended): Extended;
 public
   constructor Create;
 end;

{ TMyClass }

procedure TMyClass.ButtonClick(Sender: TObject);
var
 eps, x1, x2, b: Extended;
 k: Integer;
begin
 x1 := 0;
 if not GetPriblizhenie(x1) then
 begin
   lblRes.Caption := "nevernoe nachalnoe priblizenie! Poprobujte esche raz";
   Exit;
 end;

 eps := 0.001;
 x2 := x1;
 k := 0;

 repeat
   b := x2;
   Inc(k);
   x2 := b - F(b) / F1(b);
 until abs(x2 - b) < eps;

 lblRes.Caption := "X=" + FloatToStr(x2) + "     iteracij=" + IntToStr(k);
end;

constructor TMyClass.Create;
begin
 inherited;
 FForm := TForm.Create(Application);
 FForm.BorderStyle := bsDialog;
 FForm.Width := 310;
 FForm.Height := 300;
 FForm.Position := poScreenCenter;

 CreateControls;

 FForm.ShowModal;
end;

procedure TMyClass.CreateControls;
begin
 lbl := TLabel.Create(FForm);
 with lbl do
 begin
   Parent := FForm;
   SetBounds(10, 30, 200, 25);
   Caption := "Vvedite nachalnoe priblizenie [0,2;1] a=";
 end;

 ed := TEdit.Create(FForm);
 with ed do
 begin
   Parent := FForm;
   SetBounds(220, 27, 60, 25);
 end;

 btn := TButton.Create(FForm);
 with btn do
 begin
   Parent := FForm;
   SetBounds(220, 60, 60, 25);
   Caption := "Start!";
   OnClick := ButtonClick;
 end;

 lblRes := TLabel.Create(FForm);
 with lblRes do
 begin
   Parent := FForm;
   SetBounds(10, 100, 300, 25);
   Caption := "";
 end;

end;

function TMyClass.F(x: Extended): Extended;
begin
 Result := x * Tan(x) - 1/3;
end;

function TMyClass.F1(x: Extended): Extended;
begin
 Result := Tan(x) + x * Power(1/Cos(x), 2);
end;

function TMyClass.GetPriblizhenie(var Value: Extended): Boolean;
begin
 Result := TryStrToFloat(ed.Text, Value) and (Value >= 0.2) and (Value <= 1);
end;

begin
 Application.Initialize;
 with TMyClass.Create do
   try
     Application.Run;
   finally
     Free;
   end;
end.


 
Dennis I. Komarov ©   (2011-06-16 15:08) [6]


> Ega23 ©   (16.06.11 14:46) [5]

"неуд." не глядя :)


 
Ega23 ©   (2011-06-16 15:25) [7]


> "неуд." не глядя :)

Ну почему? Если разберётся - вполне себе "уд". Даже "хор". А то и "отл."


 
Dennis I. Komarov ©   (2011-06-16 15:31) [8]

Ну да, разберется... Если на форму эдит и батон бросить, да код скопипастить не могет...

Зато пришел: "Имеется", "Нужно" - $100 не меньше...


 
Sergey   (2011-06-16 17:19) [9]

> [7] Ega23 ©   (16.06.11 15:25)
>
> > "неуд." не глядя :)
>
> Ну почему? Если разберётся - вполне себе "уд". Даже "хор".
> А то и "отл."

Берегись, если человек не разберется.
Ему НУЖНО а тут непонятно все написано. Почему не прокоментирована каждая строка? :)


 
deniss   (2011-06-16 21:45) [10]

Да что же вы разругались то сразу, просто в школе паскаль изучал, а курсовую дали на делфи. Кстати да я нече не понял:D


 
Palladin ©   (2011-06-16 21:52) [11]


> deniss   (16.06.11 21:45) [10]

ну ты НЧМ, пипетко нашло код в интернете к делфе применить не смогло...


 
Ega23 ©   (2011-06-16 22:10) [12]


>  Кстати да я нече не понял:D


ТЗ из [0] выполнено.


 
Loginov Dmitry ©   (2011-06-16 22:21) [13]


>  with TMyClass.Create do
>    try
>      Application.Run;
>    finally
>      Free;
>    end;


Оригинально! :)

Но как-то не педагогично это, имхо.


 
Palladin ©   (2011-06-16 22:39) [14]

спокуха ) все нормуль, провернуто все изящно


 
Сергей М. ©   (2011-06-16 22:40) [15]


> а курсовую дали на делфи.


Ага. Вчера после обеда дали. И времени у тебя на самостоятельное освоение азов совсем не было.


> я нече не понял


Ну так немудрено, коль про Делфи ты услышал вчера после обеда)


 
Игорь Шевченко ©   (2011-06-16 22:45) [16]


> function TMyClass.GetPriblizhenie(var Value: Extended):
> Boolean;


За одно только это выводить в чистое поле, ставить лицом к стенке и пулю в лоб тремя очередями.


 
Anatoly Podgoretsky ©   (2011-06-16 23:13) [17]

> Игорь Шевченко  (16.06.2011 22:45:16)  [16]

Нет там стенки, но можно обойтись выдиранием рук и ног.


 
Ega23 ©   (2011-06-17 00:41) [18]


> За одно только это выводить в чистое поле, ставить лицом
> к стенке и пулю в лоб тремя очередями.


Не, я всяко стебался, когда писал. Но ты обоснуй, за что?


> Но как-то не педагогично это, имхо.


Весь код не педадогичен, ИМХО.


 
Игорь Шевченко ©   (2011-06-17 10:37) [19]


> Но ты обоснуй, за что?


за имя метода, разумеется


 
Ega23 ©   (2011-06-17 10:49) [20]


> за имя метода, разумеется

а..



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

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

Наверх




Память: 0.51 MB
Время: 0.009 c
2-1307898394
jobitn@mail.ru
2011-06-12 21:06
2011.10.02
помогите переделать на delphi! горюю


1-1267355128
AlexChudd
2010-02-28 14:05
2011.10.02
Выделение ячейки в StringGrid по нажатию правой кнопки мыши


2-1308121329
mefodiy
2011-06-15 11:02
2011.10.02
Разница между TIdAttachment и TIdAttachmentFile


1-1267656003
FalseMaster
2010-03-04 01:40
2011.10.02
Не работает Неlp Insight


15-1307656883
Германн
2011-06-10 02:01
2011.10.02
Сетевой диск на локальном компьютере