Учебный курс Программирование на Delphi. Модуль 14: различия между версиями
Строка 95: | Строка 95: | ||
*'''Программный код:''' | *'''Программный код:''' | ||
+ | |||
+ | unit Unit1; | ||
+ | |||
+ | interface | ||
+ | |||
+ | uses | ||
+ | Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, | ||
+ | Dialogs, XPMan, StdCtrls, Buttons; | ||
+ | |||
+ | type | ||
+ | TForm1 = class(TForm) | ||
+ | Edit1: TEdit; | ||
+ | Label1: TLabel; | ||
+ | Label2: TLabel; | ||
+ | XPManifest1: TXPManifest; | ||
+ | Label3: TLabel; | ||
+ | BitBtn1: TBitBtn; | ||
+ | BitBtn2: TBitBtn; | ||
+ | |||
+ | procedure BitBtn1Click(Sender: TObject); | ||
+ | procedure BitBtn2Click(Sender: TObject); | ||
+ | private | ||
+ | { Private declarations } | ||
+ | public | ||
+ | { Public declarations } | ||
+ | end; | ||
+ | |||
+ | var | ||
+ | Form1: TForm1; | ||
+ | |||
+ | implementation | ||
+ | |||
+ | {$R *.dfm} | ||
+ | function F(k: integer): integer; | ||
+ | begin | ||
+ | if (k=1) or (k=2) | ||
+ | then F:=1 | ||
+ | else F:= F(k-1) + F(k-2) | ||
+ | end; | ||
+ | |||
+ | |||
+ | procedure TForm1.BitBtn1Click(Sender: TObject); | ||
+ | var N: integer; | ||
+ | begin | ||
+ | N:=strtoint(Edit1.Text); | ||
+ | label2.Caption:=inttostr(F(n)); | ||
+ | end; | ||
+ | |||
+ | procedure TForm1.BitBtn2Click(Sender: TObject); | ||
+ | begin | ||
+ | close; | ||
+ | end; | ||
+ | |||
+ | end. | ||
+ | |||
*'''Форма с результатом работы программы:''' | *'''Форма с результатом работы программы:''' |
Версия 09:06, 10 апреля 2008
Содержание
Пример 1.
- Условие задачи:
Даны все действительные числа a,b,c.Вычислить max(a,b,+c)+max(a+b,c)/1+max(a+bc,12)
- Использованные компоненты:
Label1 - используется для текстовых комментариев;
Label2 - используется для вывода суммы;
edit1 - используется для ввода числа;
edit2 - используется для ввода числа;
edit3 - используется для ввода числа;
BitBtn1 - запуск программы;
BitBtn2 - выход из программы;
- Программный код:
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids, XPMan, Buttons; type TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; XPManifest1: TXPManifest; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn2Click(Sender: TObject); procedure BitBtn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} function max (x,y: real): real; begin if x > y then max:=x else max:=y end; var z, a, b, c: real; procedure TForm1.BitBtn2Click(Sender: TObject); begin begin a:=strtoint(edit1.Text); b:=strtoint(edit2.text); c:=strtoint(edit3.Text); z:=(max(a, b+c) + max(a+b, c*c))/(1+ max(a+b*c, 12)); Label4.Caption:=floattostr(z); end; end; procedure TForm1.BitBtn1Click(Sender: TObject); begin close; end; end.
- Форма с результатом работы программы:
Пример 2.
- Условие задачи:
Найти N число последовательности Фибоначчи. Использовать рекурсивную функцию. Числа Фибоначчи образуют последовательность, у которой каждый очередной член равен сумме двух предыдущих: 0 1 1 2 3 5 8 13 . . . Обозначив N-й член ряда Фибоначчи F(N), можно записать следующую рекурсивную зависимость: F(N) = F(N - 1) + F(N - 2), n >= 3, F(1) = 1 и F(2) = 1
- Использованные компоненты:
Label1 - используется для текстовых комментариев;
Label2 - используется для текстовых комментариев;
edit1 - используется для ввода числа;
BitBtn1 - запуск программы;
BitBtn2 - выход из программы;
- Программный код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, XPMan, StdCtrls, Buttons;
type
TForm1 = class(TForm) Edit1: TEdit; Label1: TLabel; Label2: TLabel; XPManifest1: TXPManifest; Label3: TLabel; BitBtn1: TBitBtn; BitBtn2: TBitBtn; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var
Form1: TForm1;
implementation
{$R *.dfm} function F(k: integer): integer; begin
if (k=1) or (k=2) then F:=1 else F:= F(k-1) + F(k-2)
end;
procedure TForm1.BitBtn1Click(Sender: TObject);
var N: integer;
begin N:=strtoint(Edit1.Text); label2.Caption:=inttostr(F(n)); end;
procedure TForm1.BitBtn2Click(Sender: TObject); begin close; end;
end.
- Форма с результатом работы программы:
Задание
Литература
- Архангельский. Программирование на Delphi 6. – М: БИНОМ, 2002
- Бобровский С. Delphi 7. Учебный курс. – СПб: Питер, 2003
- Культин Н. Основы программирования в Delphi 7. СПб: БХВ-Петербург, 2005.