☰ Mundarija · Informatika

Timer obyekti

Darslar 61–62 · 2 ta dars · N. I. Taylaqov (umumiy muharrir), A. B. Axmedov, M. D. Pardayeva, A. A. Abdug‘aniyev, U. M. Mirsanov. Informatika va axborot texnologiyalari, 10-sinf, 1-nashr. «Extremum-Press», Toshkent, 2017
62

Amaliy mashg‘ulot

Darslik: 143-bet
MaqsadTimer li ilovalarni yaratadi: kunlik soat, sekundomer va svetofor; interval, hisoblagich va mod yordamida holatni boshqaradi.
Yangi so‘zlar
sekundomer · stopwatch: a counter of elapsed timehisoblagich · counter: a variable that grows by 1 at each timer eventmod · mod: the remainder of a division, used for repeating cyclessikl vaqti · cycle time: the time after which a pattern repeats
Tushuntirish

Amaliy mashg‘ulotda uchta ilova yaratiladi. 1) «Sekundomer»: Interval = 100 (sekundning o‘ndan biri). Global t: Integer; Timer da t := t + 1; Label1.Caption := IntToStr(t div 10) + '.' + IntToStr(t mod 10); – masalan, t = 125 da 12.5 soniya. Start/Stop tugmasi Timer1.Enabled := not Timer1.Enabled; bo‘lsin. 2) «Svetofor»: Interval = 1000, global i: Integer; Timer da i := i + 1; k := i mod 14; – k = 0…5 da qizil (6 s), k = 6 da sariq (1 s), k = 7…13 da yashil (7 s); chiroqlar Image da Brush.Color := clRed va Ellipse bilan chiziladi. 3) «Soat»: Label da vaqt va sana. Muhim: ekranda sekundiga uch martadan ko‘p miltillovchi rang almashuvlari yaratmang, chunki ba’zi odamlarga bu zarar yetkazishi mumkin; svetoforni faqat o‘quv modeli deb biling, haqiqiy yo‘lda signallarga bo‘ysunish kerak.

Namunalar
Sekundomer: t = 125 da t div 10 = 12, t mod 10 = 5: yozuv 12.5. t = 60 da 6.0. 1 daqiqa = 60 s = 600 ta 100 ms li hodisa.
Svetofor sikli 6+1+7 = 14 soniya. i = 13 da k = 13 mod 14 = 13 – yashil; i = 20 da k = 6 – sariq; i = 30 da k = 2 – qizil. Qizil chiroq 6 soniya yonadi, chunki k = 0, 1, 2, 3, 4, 5 – oltita hodisa.
Sinfda faoliyat

«Chiroq jadvali»: juftlik 25 soniyalik jadval tuzadi: har soniyada qaysi chiroq yonishini (k = i mod 14) oldindan yozadi va ilova bilan tekshiradi.

Mashq
1
Interval = 100 da 1 daqiqada nechta OnTimer hodisasi bo‘ladi?
2
t = 87 bo‘lsa, sekundomer nimani ko‘rsatadi (t div 10 va t mod 10)?
3
i = 40 da svetofor holati (k = i mod 14; 0–5 qizil, 6 sariq, 7–13 yashil)?
4
Nima uchun tez miltillovchi ranglardan qochish kerak?