Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.10.02;
Скачать: [xml.tar.bz2];

Вниз

из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.003 c
3-1264595230
MOM
2010-01-27 15:27
2011.10.02
Раскраска LookupComboBox


2-1307635571
Leon-Z
2011-06-09 20:06
2011.10.02
БД в виде *.xml файлов.


15-1307391683
GanibalLector
2011-06-07 00:21
2011.10.02
tcp over serial


2-1306446288
Германн
2011-05-27 01:44
2011.10.02
Самописный частичный аналог TButtonGroup


15-1307283813
Kerk
2011-06-05 18:23
2011.10.02
Какие технические блоги вы читаете?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский