Форум: "Начинающим";
Текущий архив: 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