Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Interface. Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
Uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; Type ТForm1 = class (TForm) Edit1: TEdit; Edit2: TEdit; GroupBox1: TGroupBox; RadioButton1: TRadioButton; RadioButton2: TRadioButton; Label1: TLabel; Label2: TLabel; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); Private (Private declarations) Public (Public declarations) end; Type // базалық класс TPerson = class FName: String; // өрістің аты Constructor Create(AName: String); Function Info: String; virtual; end;
// Студент класы TStud = class (TPerson) FGr: Integer; // оқу тобының нөмірі Constructor Create(AName: String; Gr: Integer); Function Info: String; override; end;
// Оқытушы класы TProf = class (TPerson) FDep: String; // құжыраның аты Constructor Create(AName: String; Dep: String); Function Info: String; override; end; Const SZL = 10; // тізімнің өлшемі Var Forml: TForml List: array [1..SZL] of TPerson; // тізім n: Inteqer = 0 // тізімдегі адамдар саны Implementation ($R *.DFM} constructor TPerson.Create(AName: string); Begin FName:=AName; end; constructor TStud.Create(AName: string; Gr: integer); Begin inherited Create(AName); // базалық кластың конструкторын шақыру FGr:=Gr; end; constructor TProf.Create(AName: string; Dep: string); Begin inherited Create(AName); // базалық кластың конструкторын шақыру FDep:=Dep; end; function TPerson.Info: string; Begin result:=FName; End; function TStud.Info: String; Begin result:= FName + ' группа ' + IntToStr (FGr) End; function TProf.Info: String; Begin result:= FName + ' кафедра ' + FDep; end; // Добавить батырмасына шерту procedure ТForm1.Button1Click(Sender: TObject); Begin if n < SZL then Begin // объектіні класқа қосу n:=n+1; if RadioButton1.Checked then // TStud объектісін құру List[n]:=TStud.Create(Edit1.Text, StrToInt (Edit2.Text)) else // TProf объектісін құру if RadioButton2.Checked then List[nl:=TРrоf.Create(Edit1.Text,Edit2.Text); // енгізу өрісін тазалау Edit1.Text:=' '; Edit2.Text:=' '; Edit1.SetFocus; // Тышқанның меңзері Фамилия өрісінде End else ShowMessage('Список заполнен!'); end; procedure ТForm1.Button2Click(Sender: TObject); Var i:integer; // индекс st: string; // тізім Begin for i:=1 to SZL do if list[i] <> NIL then st:=st + list[i].info + #13; ShowMessage(' Список ' + #13 + st); end; End. Добавить (Button1) батырмасын басқанда іске қосылатын TForm1.Button1Click процедурасы TStud немесе TProf класының list[n] объектісін құрады. Құрылып жатқан объектінің класы RadioButton ауыстырып қосу батырмасының күйімен анықталады. Ауыстырып қосу батырмасының студент (RadioButton1) жағдайында орнатылуы TStud класын анықтайды, ал оқытушы (RadioButton2) жағдайы – TProf класын анықтайды. Список (Button2) батырмасын басқанда іске қосылатын TForm1.Button2Click процедурасы тізімнің әрбір объектісіне (массив элементтеріне) Info әдісін қолдана отырып,барлық тізімді көрсететін жолды қалыптастырады. Зертханалық жұмыс №5 " Қаситтер мен әдістер " Кластың сипатталынуы "Қос мәнді теріс емес бүтін сан" (TN2). Қасиет – аты, мәні, тақтық, бірінші сан, екінші сан. Әдістер: – процедуры: мәнді орнату (SetN2), сандарды ауыстыру (Swap); – функциялар: басқа санға қарағанда кіші (LessThen), ақпарат (Info); – конструктор (Create). Листинг 2.2 «TN2» класын жүзеге асыратын бағдарламаның демонстрациясы program Class_TN2; {$APPTYPE CONSOLE} {Компилятор директивасы – бағдарламаның жұмыс істеу режимінің тапсырмасы.} {MS-DOS режиміне тәріздес мәтіндік режимнің эмуляторы құрылады} uses SysUtils; Type TN2 = class fName: String; fVal: integer; constructor Create(aName: String); procedure Swap; function Info: String; function LessThen(aNum: TN2): Boolean; procedure SetVal(Value: Integer); function GetOdd: string; function GetD1: byte; procedure SetD1(Value: byte); function GetD2: byte; procedure SetD2(Value: byte);
property Name: string read fName; property Odd:string read GetOdd; property Val:integer read fVal write SetVal; property D1:byte read GetD1 write SetD1; property D2:byte read GetD2 write SetD2; end; constructor TN2.Create(aName: String); Begin fName:=aName; fVal:=1; end; procedure TN2.Swap; Begin SetVal(D2*10+D1); end; function TN2.Info: String; Begin Result:='Naturalnoe dvuznachnoe '+odd+ end; procedure TN2.SetVal(Value: Integer); Begin if (Value>=0) and (Value<=99) then fVal:=Value; end; function TN2.LessThen(aNum: TN2): boolean; Begin Result:= Val<aNum.Val; end; function TN2.GetOdd: string; Begin if (val mod 2=1) then Result:='nechetnoe' else Result:='chetnoe'; end; function TN2.GetD1: byte; Begin Result:=Val div 10; end; procedure TN2.SetD1(Value: byte); Begin if Value in [0..9] then SetVal(Value*10+D2) end; function TN2.GetD2: byte; Begin Result:=Val mod 10; end; procedure TN2.SetD2(Value: byte); Begin if Value in [0..9] then SetVal(D1*10+Value) end;
var a,b: TN2;
Begin a:= TN2.Create(' a '); b:= TN2.Create(' b '); { Бағдарламаның орындалуының нәтижесі b.Val:= 23; { Writeln (a.Info); { b.swap; { a.D1:= 5; { a.D2:= 8; { Writeln (a.Info); { a.Free; { b.Free; { Readln; { end. Өз бетінше орындауға арналған тапсырма Кластың сипатталынуы "Жазықтықтағы нүкте" (TDot). Қасиеттер – аты, декарттық координаталар, полярлық координаталар, Әдістер: – процедуралар: басқа нүктеге дейінгі ара қашықтық (RoFrom), векторға көшу (dx,dy) (MoveRel); координаталар басына қарағанда симметриялық бейнелеу (SimmZero), x=y осіне қарағанда симметриялық бейнелеу (SimmXY); – функциялар: ақпарат (Info);– конструктор (Create). Зертханалық жұмыс №6 " Оқиғалар " Кластың сипатталынуы "Кәдімгі бөлшек" (TDrob). Қасиеттері – аты, мәні, бөлінді және бөлгіш. Әдістер: – процедуралар: бөлшекті орынымен ауыстыру (Swap), басқа бөлшектің мәнін қосу (Add); – функциялар: ақпарат (Info); – конструктор (Create). Оқиғалар: – бөлшек өзгерді (OnChange), стандарттық; – бөлгіш нөлге тең (OnZero), параметрлері – ескі мән. 2.3 листингі «TDrobs» класының жариялануынан тұратын DROBS модульі unit Drobs; Date: 2015-07-01; view: 711; Нарушение авторских прав |