Nepieciešams
PascalABC. NET vai PascalTurbo programmēšanas vide
Instrukcijas
1. solis
Tātad, vispirms atvērsim programmu. Izveidosim jaunu failu un norādīsim spraudņus. Šajā gadījumā mums ir nepieciešams modulis darbam ar konsoli - CRT.
par to mēs rakstīsim:
izmanto
CRT;
2. solis
Norādīsim mainīgos i, s, m - reālā tipa mainīgos.
var
i, s, m: Īsts;
3. solis
Lai sāktu programmu, rakstiet:
sākt
Un mēs norādīsim konsoles loga nosaukumu:
SetWindowTitle ('Hronometrs');
4. solis
Procedūra TextColor piešķir tekstam krāsu, un izrakstīšanas paziņojums ekrānā parāda tekstu:
TextColor (LightGreen);
WriteLn ('Nospiediet Enter, lai sāktu hronometru');
WriteLn ('Nospiediet vēlreiz, lai apturētu');
Write ('Noklikšķiniet vēlreiz, lai sāktu no jauna');
Beigas Ln pāriet uz nākamo rindu.
5. solis
Operators ReadLn ievada vērtības no tastatūras, taču šajā gadījumā tas vienkārši gaida, kamēr lietotājs nospiedīs Enter:
LasītLn;
6. solis
Mēs izveidojam bezgalīgu cilpu:
kamēr (patiess) darīt
sākt
Kamēr (true) do begin konstrukcija tiek tulkota šādi: Kaut (condition) do (). Kāpēc šeit sākas?
Šajā gadījumā mums ir nepieciešams salikts operators, kas nozīmē, ka, lai arī nosacījums ir izpildīts, tiek izpildīti vairāki operatori. Ja tas nebūtu sākums, tad pēc kamēr tika izpildīts tikai viens paziņojums, kas novestu pie nepareizas programmas darbības. Lai beigtu paziņojumu Kaut beigās, mēs rakstām beigas.
7. solis
Tagad atiestatīsim skaitītāju:
i: = 0;
8. solis
Šis paziņojums tiek tulkots kā: līdz tiek nospiests taustiņš do ().
kamēr nav nospiests darīt
sākt
Operators ClrScr notīra ekrānu:
ClrScr;
9. solis
Mēs nosakām nosacījumu: ja sekundes ir vairāk nekā 60 un mazākas par 3600 (tas ir nepieciešams, lai tad, kad laiks ir lielāks par stundu, programma drukātu tikai to, kas ir pēc trešās, ja), tad:
ja (i> 60) un (i <3600), tad sākas
Mainīgais m (minūtes) ir vienāds ar: sekundes dalīts ar 60 un noapaļots uz priekšu.
m: = Int (i / 60);
Un mainīgais s (sekundes bez minūtēm) ir vienāds ar: visas sekundes mīnus minūtes reizinātas ar 60.
s: = i - m * 60;
10. solis
Izrakstīšanas rakstā tiek rakstīts, cik minūtes un sekundes ir pagājušas, un beigu priekšraksts sāk darbu ar sekojošu nosacījumu:
Rakstīt (m, 'minūtes (s) un', s: 1: 2, 'sekundes (s)')
beigas;
Funkcija: 1: 2 nozīmē, ka sekundes jāraksta ar divām zīmēm aiz komata.
11. solis
Ja sekundes ir mazākas par 60, tad vienkārši uzrakstiet, cik sekundes ir pagājušas ar divām zīmēm aiz komata:
ja es <60, tad
Rakstīt ('', i: 1: 2, 'sekundes (a / s)');
12. solis
Ja sekundes ir garākas par 3600 (tas ir, vairāk nekā stundu), tad:
ja i> 3600, tad sāciet
m: = Int (i / 60);
s: = i - m * 60;
ch: = Int (m / 60);
m: = m - ch * 60;
Rakstīt (ch, 'stunda (s)', m, 'minūtes (s) un', s: 1: 2, 'sekundes (s)');
beigas;
13. solis
Tātad, programma rakstīja, ka ir pagājušas 0 sekundes, tagad tas palielina skaitītāju i par 10 milisekundēm, un, tā kā programma visu dara uzreiz, mēs to pašu laiku aizkavējam:
i: = i + 0,01;
Kavēšanās (10);
Pēc tam mēs beidzam paziņojumu Kaut (nav nospiests):
beigas;
Ja lietotājs nospieda taustiņu Enter, programma gaida, kamēr viņš to vēlreiz nospiedīs, lai atkal palaistu hronometru:
Readln;
Readln;
Nav nejaušība, ka pēc paziņojuma Kaut (patiess) skaitītājs tiek iestatīts uz nulli, jo, kad lietotājs otro reizi nospiež Enter, programma sāk darboties no turienes, atiestatīt skaitītāju un sākt atkal skaitīt.
Pēc tam mēs beidzam programmu un kamēr:
beigas;
14. solis
Šeit ir pilna programma:
izmanto
CRT;
var
i: Īsts;
s: Īsts;
m: Īsts;
ch: Īsts;
sākt
SetWindowTitle ('Hronometrs');
TextColor (LightGreen);
WriteLn ('Nospiediet Enter, lai sāktu hronometru');
WriteLn ('Nospiediet vēlreiz, lai apturētu');
Write ('Noklikšķiniet vēlreiz, lai sāktu no jauna');
LasītLn;
kamēr (patiess) darīt
sākt
i: = 0;
kamēr nav nospiests darīt
sākt
ClrScr;
ja (i> 60) un (i <3600), tad sākas
m: = Int (i / 60);
s: = i - m * 60;
Rakstīt (m, 'minūtes (s) un', s: 1: 2, 'sekundes (s)')
beigas;
ja es <60, tad
Rakstīt ('', i: 1: 2, 'sekundes (a / s)');
ja i> 3600, tad sāciet
m: = Int (i / 60);
s: = i - m * 60;
ch: = Int (m / 60);
m: = m - ch * 60;
Rakstīt (ch, 'stunda (s)', m, 'minūtes (s) un', s: 1: 2, 'sekundes (s)');
beigas;
i: = i + 0,01;
Kavēšanās (10);
beigas;
Readln;
Readln;
beigas;
beigas.
15. solis
Izrādījās, ka nav ļoti jauki, bet programma darbojas pareizi!