Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Глоссарий. Негізгі графиктік мүмкіндіктерді қолдана отырып обіектіні қозғалысқа келтіру принципін






Негізгі графиктік мү мкіндіктерді қ олдана отырып обіектіні қ озғ алысқ а келтіру принципін, ойындарды программалауды білуі керек;

1. Объектілерді қ озғ алысқ а келтіру. Анимация.

Объектіні қ озғ алысқ а келтіру алгоритмінің негізі мынада:

Графиктік мү мкіндіктерді пайдалана отырып объектінің бейнесі салынады. Формада объектінің бастапқ ы орналасуы немесе барлық координаттары анық талады. Объектіні жаң а координатағ а кө шіреміз де, алдың ғ ы объектіні форма тү сімен бояймыз. Объектіні форма бетінде жылжыта отырып, белгіленген бағ ытта қ озғ алысқ а келтіреміз. Объектіні қ озғ алысқ а келтіру принципін ойындарды программалауда қ олдануғ а болады.

Мысал 1. Форма бетінде сурет (объект) жылжиды. Біздің мақ сатымыз тышқ анның сол жақ кнопкасымен суретті шерте отырып жоғ арғ ы мә нді ұ пай жинау. Мысалы, атыс саны 10 болса, оның нешеуі тиетінін анық тауымыз керек. Delphi-ді жү ктейміз. Формағ а Label1, button1, Timer1 компоненттерін орналастырамыз. Label1 (Caption) тақ ырыбына есеп шартын жазамыз.

Button1 компонентінің Onclick окиғ асы Label1, button1 компоненттерін кө рінбейтін қ ылады жә не Timer-ді қ осады.

 

procedure TForm1.Button1Click(Sender: TObject);

bеgin

Label1.Visible: =false;

Button1.Visible: =Faise;

Timer1.Enabled: =True;

end;

 

S_f nроцедурасында объект суретін саламыз:

 

procedure TForm1.S_f(x, y: integer);

begin

with Canvas do begin

Pen.Color: =clblack;

Brush.Color: =clYellow;

Ellipse (x, y, x+30, Y+30);

Ellipse(x+9, y+10, x+11, Y+13);

Ellipse(x+19, y+10, x+21, Y+13);

Arc(x+4, y+4, x+26, у+26, х, у+20, х+30, y+20)

end;

end;

 

EF процедурасында суретті форма тү сімен бояймыз, яғ ни сурет экранда кө рінбейді.

 

procedure TForm1.EF(х, y: integer);

begin

with Canvas do begin

Pen.Color: =clBtnFace;

Brush.Color: =clBtnFace;

Ellipse(x, y, x+30, Y+30);

end;

end;

 

Timer1 компонентінің ОnTimer оқ иғ асы кездейсоқ сандар генераторы арқ ылы объектінің жаң а координатасын анық тайды.

procedure TForm1.Timer1Timеr(Sender: TObject);

begin

EF(fx, fy);

f x: =Random (ClientWidth-30);

fy: = Random(ClientHeight-30);

S_F(fx, fy);

end;

 

Форманың OnCreate оқ иғ асында объектінің бастапқ ы координатасы анық талады жә не кездейсоқ сандар генераторы реализацияланады.

procedure TForm1.FormCreate (Sender: TObject);

begin

fx: =100;

fy: =100;

randomize;

end;

Форманың OnMouseDown оқ иғ асында тышқ анның сол жақ кнопкасымен суретті шерте отырып ұ пай жинаймыз жә не 10 атыстың нә тижесін кө рсетеді.

procedure TForm1.FormMouseDown(Sender: Tobject; Button: TMouseBurton;

Shift: TShiftState; X, Y: Integer);

Begin

inc(n);

if(x> fx) and(x< fx+30) and(y> fy) and(y< fy+30)

then inc(p);

if n=10 then begin

Timer1.Enabled: =false;

ShowMessage (‘10 атыс. тиг. ‘ +іnttostr (p) + '. ');

EF(fx, fy);

Label1.Visible: =True;

Button1.Visible: =True;

n: =0; p: =0;

end;

end;

Оқ иғ алар кодының модулін жә не проектіні Labl3 бумасына сақ таң ыз жә не қ осымшаны орындауғ а жіберің із.

 

 

Мысал 2. Қ арапайым тестілеу программасының қ осымшасын қ ұ ру. Word программасын немесе «Блокнотты» жү ктеп тест сұ рақ тарын дайындаймыз. Тест мазмұ нының жазу ү лгісі мынадай:

1) тест сұ рағ ы

2) жауаптың 1 варианты

3) жауаптың 2 варианты

4) жауаптың 3 варианты

5) дұ рыс жауап нө мері

Тест мазмұ нын tеst.txt файлына сақ таймыз. Қ осымша 3 формадан тұ рады; 1-титульдық бет, 2-тестілеу, 3-нә тиже. Формалар арасында байланыс орнатамыз.

1 форманы жү ктейміз. Формағ а MainMenu1 компонентін қ оямыз. Меню пункттері: 1) ө зіндік бақ ылау, 2) тестілеу, 3) нә тиже.

Менюдің " тестілеу''пуктінің коды:

procedure TForm1.N2CIick(Sender: TObject);

begin

Form2.Showmodal;

end;

Менюдің " нә тиже" пуктінің коды:

procedure TForml.N3Click(Sender: TObject);

begin

Form3.Showmodal;

end;

2-форманы жү ктейміз. Формағ а 4-Label(l-4), 3-RadioButton(l-3), SpinEdit1, SpeedButton, BtnButton компоненттерін қ оямыз. Қ осымша интерфейсі тө менде келтірілген.

SpinEdit1 компоненті санағ ыш ретінде қ олданылады, дұ рыс жауаптың санын кө рсетеді. SpеedButton1 қ омпонентінде тестілеу алгоритмі реализацияланады.

Label(1-4) компоненттеріне тест сұ рағ ы мен жауаптары оқ ылады.

SpeedButton1 компонентінің оқ иғ асының коды:

var

Form2: Tform2;

f: teхtfile;

op, o: integer;

implementation

 

uses Unit3;

 

{$R *. dfm}

 

procedure Test;

var s: string;

begin

readln(f, s);

form2.label1.caption: =s;

readln(f, s);

Лабораториялық жұ мыс №14

Тақ ырыбы: Мә ліметтерді файлдан оқ у жә не файлғ а жазу. Тест қ ұ ру

Мақ саты: Delphi ортасында файлды қ олдану. Тестілеу программасын қ ұ ру.

 

Материалдар жә не қ ұ ралдар: дә ріс конспекстісі, Дельфи программалау ортасы

Жұ мыстың мазмұ ны жә не орындалу тә ртібі:

1. Теориялық материалды оқ у

2. Вариант бойынша тапсырмаларды орындау

3. Бақ ылау сұ рақ тарына жауап беру

4. Орындалғ ан жұ мыс жө нінде есеп беру

 

Лабораториялық жұ мыс бойынша есеп:

1. лабораториялық жұ мыс №14

2. тақ ырыбы, тапсырма варианты

3. Есепті шешу алгоритмі

4. Программа листингі

5. блиц-тестке жауап беру

Тапсырма: «Информатика» курсында аралық бақ ылауғ а қ олданылатын тест жү йесін қ ұ рың ыз.

Блиц-тест:

1.Егер х=-4, у=-7.13 болса

program a;

var x, y, z: real:

Begin

read (x, y);

writeln;

if x< 0 then if x> y then z: =x else z: =y

else if x< y then z: =x else z: =y;

writeln (‘z=’, z: 6: 3);

программасы экранғ а қ андай нә тиже шығ арады?

а) z=-7.130

б) z=-4.000

в) z=-4.0000000000E+00

г) z=-7.13

д) z=-4

Бақ ылау сұ рақ тары:

1. Delphi-де анық талғ ан файлдар типі.

2. Файлдармен байланыс тә сілдері (тура, файлдық айнымалы).

3. Файлдық айнымалы.

4. Файлдық айнымалыны дискілік файлмен қ алай байланыстыруғ а болады?

5. Типтелген файлдарды қ ұ ру, ашу, жабу процедуралары.

6. Типтелген файлдар компоненттеріне тура енуді ұ йымдастыру.

7. Мә тіндік файлдарды қ ұ ру, ашу, жабу процедуралары.

8. Типтелмеген файлдарды қ ұ ру, ашу, жабу процедуралары.

9. Файлдарды жоғ ары жылдамдық пен кө шіру.

10. Файлдармен жұ мыс қ ателерін бақ ылау.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.