Paskalda Sekundomer Dasturi Qanday Tuziladi

Mundarija:

Paskalda Sekundomer Dasturi Qanday Tuziladi
Paskalda Sekundomer Dasturi Qanday Tuziladi

Video: Paskalda Sekundomer Dasturi Qanday Tuziladi

Video: Paskalda Sekundomer Dasturi Qanday Tuziladi
Video: TURBO PASKALDA GRAFIK DASTUR TUZISH// TUBO PASKAL DASTURLASH 2024, May
Anonim
Paskalda sekundomer dasturi qanday tayyorlanadi
Paskalda sekundomer dasturi qanday tayyorlanadi

Kerakli

PascalABC. NET yoki PascalTurbo dasturlash muhiti

Ko'rsatmalar

1-qadam

Shunday qilib, avval dasturni ochamiz. Keling, yangi fayl yaratamiz va plaginlarni aniqlaymiz. Bunday holda, bizga konsol bilan ishlash uchun modul kerak - CRT.

Buning uchun biz yozamiz:

foydalanadi

CRT;

2-qadam

I, s, m o'zgaruvchilarni ko'rsataylik - haqiqiy turdagi o'zgaruvchilar.

var

i, s, m: haqiqiy;

3-qadam

Dasturni boshlash uchun quyidagilarni yozing:

boshlash

Va biz konsol oynasining sarlavhasini ko'rsatamiz:

SetWindowTitle ('sekundomer');

4-qadam

TextColor protsedurasi matnga rang beradi va Write operatori matnni ekranga chiqaradi:

TextColor (LightGreen);

WriteLn ('Sekundomerni boshlash uchun Enter tugmasini bosing');

WriteLn ('To'xtatish uchun yana bir marta bosing');

Yozing ('Boshidan boshlash uchun yana bir marta bosing');

Ln tugashi keyingi qatorga o'tadi.

5-qadam

ReadLn operatori klaviaturadan qiymatlarni kiritadi, ammo bu holda foydalanuvchi Enter tugmachasini bosishini kutadi:

ReadLn;

6-qadam

Biz cheksiz pastadir qilamiz:

esa (rost) qil

boshlash

While (true) do begin construct quyidagicha tarjima qilinadi: While (shart) do (). Nima uchun bu erda boshlanadi?

Bunday holda, biz aralash operatorga muhtojmiz, demak, shart to'g'ri bo'lsa ham, bir nechta operatorlar bajariladi. Agar u boshlanmagan bo'lsa, u holda While-dan so'ng dasturning noto'g'ri ishlashiga olib keladigan bitta so'z bajarildi. Oxirida While bayonotini tugatish uchun end deb yozamiz.

7-qadam

Endi hisoblagichni tiklaymiz:

i: = 0;

8-qadam

Quyidagi gap quyidagicha tarjima qilinadi: do () tugmasi bosilguncha.

tugmachani bosmasdan esa

boshlash

ClrScr operatori ekranni tozalaydi:

ClrScr;

9-qadam

Biz shart qo'ydik: agar soniyalar 60 dan oshiq va 3600 dan kam bo'lsa (bu vaqt bir soatdan oshganda, dastur faqat uchinchisidan keyingisini yozadi, agar shunday bo'lsa), unda:

agar (i> 60) va (i <3600) bo'lsa, boshlang

M (daqiqa) o'zgaruvchiga teng: soniyalar 60 ga bo'linib, old tomonga yaxlitlanadi.

m: = Int (i / 60);

Va s o'zgaruvchisi (soniyasiz daqiqalar) tengdir: minus minuslarning 60 soniga ko'paytirilgan barcha soniyalar.

s: = i - m * 60;

10-qadam

Write iborasi necha daqiqa va soniya o'tganligini yozadi va end operatori if sharti bo'yicha start ishini tugatadi:

Yozing (m, 'daqiqa (s) va', s: 1: 2, 'soniya (s)')

oxiri;

Funktsiya: 1: 2 soniyalarni ikki kasrli kasr bilan yozish kerakligini anglatadi.

11-qadam

Agar soniyalar 60 dan kam bo'lsa, unda ikkita o'nlik kasr bilan qancha soniya o'tganligini yozing:

agar i <60 bo'lsa

Yozing ('', i: 1: 2, 'soniya (a / s)');

12-qadam

Agar soniyalar 3600 dan ortiq bo'lsa (ya'ni, bir soatdan ko'proq) bo'lsa:

agar i> 3600 bo'lsa, unda boshlang

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Yozing (ch, 'soat (lar)', m, 'daqiqalar (lar) va' ', s: 1: 2,' soniyalar (lar) ');

oxiri;

13-qadam

Shunday qilib, dastur 0 soniya o'tganligini yozdi, endi u hisoblagichni 10 millisekundaga oshiradi va dastur hamma narsani bir zumda bajarishi sababli biz bir xil vaqtga kechiktiramiz:

i: = i + 0.01;

Kechikish (10);

So'ngra, biz (tugmachani bosmagan) iborasini oxiriga etkazamiz:

oxiri;

Agar foydalanuvchi Enter tugmachasini bosgan bo'lsa, dastur sekundomerni qayta ishga tushirish uchun uni yana bosishini kutadi:

Readln;

Readln;

While (true) iborasidan keyin biz hisoblagichni nolga qo'yganimiz bejiz emas, chunki foydalanuvchi ikkinchi marta Enter tugmachasini bosganda dastur o'sha yerdan boshlanadi, hisoblagichni qayta o'rnatadi va yana hisoblashni boshlaydi.

So'ngra, butun dastur va vaqtni tugatamiz:

oxiri;

14-qadam

Mana to'liq dastur:

foydalanadi

CRT;

var

i: haqiqiy;

s: haqiqiy;

m: haqiqiy;

ch: haqiqiy;

boshlash

SetWindowTitle ('sekundomer');

TextColor (LightGreen);

WriteLn ('Sekundomerni boshlash uchun Enter tugmasini bosing');

WriteLn ('To'xtatish uchun yana bir marta bosing');

Yozing ('Boshidan boshlash uchun yana bir marta bosing');

ReadLn;

esa (rost) qil

boshlash

i: = 0;

tugmachani bosmasdan esa

boshlash

ClrScr;

agar (i> 60) va (i <3600) bo'lsa, unda boshlang

m: = Int (i / 60);

s: = i - m * 60;

Yozing (m, 'daqiqa (s) va', s: 1: 2, 'soniya (s)')

oxiri;

agar i <60 bo'lsa

Yozing ('', i: 1: 2, 'soniya (a / s)');

agar i> 3600 bo'lsa, unda boshlang

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Yozing (ch, 'soat (lar)', m, 'daqiqalar (lar) va' ', s: 1: 2,' soniyalar (lar) ');

oxiri;

i: = i + 0.01;

Kechikish (10);

oxiri;

Readln;

Readln;

oxiri;

oxiri.

Rasm
Rasm

15-qadam

Bu juda yoqimli emas edi, lekin dastur to'g'ri ishlaydi!

Tavsiya: