
Potrebno
Programsko okolje PascalABC. NET ali PascalTurbo
Navodila
Korak 1
Torej, najprej odprimo program. Ustvarimo novo datoteko in določimo vtičnike. V tem primeru potrebujemo modul za delo s konzolo - CRT.
za to bomo napisali:
uporablja
CRT;
2. korak
Označimo spremenljivke i, s, m - spremenljivke realnega tipa.
var
i, s, m: Real;
3. korak
Za zagon programa napišite:
začeti
In navedli bomo naslov okna konzole:
SetWindowTitle ('Štoparica');
4. korak
Postopek TextColor besedilu dodeli barvo, stavek Write pa besedilo prikaže na zaslonu:
TextColor (LightGreen);
WriteLn ('Pritisnite Enter, da zaženete štoparico');
WriteLn ('Znova pritisnite, da se ustavite');
Napišite ('Znova kliknite, če želite začeti znova');
Konec Ln se premakne v naslednjo vrstico.
5. korak
Operator ReadLn vnese vrednosti s tipkovnice, vendar v tem primeru samo čaka, da uporabnik pritisne Enter:
ReadLn;
6. korak
Naredimo neskončno zanko:
medtem ko (res)
začeti
Konstrukcija while (true) do begin se prevede kot: While (condition) do (). Zakaj je začelo tukaj?
V tem primeru potrebujemo sestavljeni operater, kar pomeni, da je pogoj resničen, vendar se izvede več operaterjev. Če se ne bi začelo, je bil po tem času izveden samo en stavek, ki bi privedel do nepravilnega delovanja programa. Za konec izjave While na koncu napišemo end.
7. korak
Zdaj ponastavimo števec:
i: = 0;
8. korak
Naslednja izjava se prevede kot: dokler ne pritisnete tipke do ().
medtem ko ne pritisnete tipke
začeti
Operator ClrScr počisti zaslon:
ClrScr;
9. korak
Postavili smo pogoj: če so sekunde več kot 60 in manj kot 3600 (to je potrebno, da ko je čas več kot eno uro, program natisne le tisto, kar je po tretjem, če), potem:
če (i> 60) in (i <3600) potem začnite
Spremenljivka m (minute) je enaka: sekundam, deljenim s 60 in zaokroženim spredaj.
m: = Int (i / 60);
In spremenljivka s (sekunde brez minut) je enaka: vse sekunde minus minute pomnožene s 60.
s: = i - m * 60;
10. korak
Stavek Write napiše, koliko minut in sekund je minilo, končni stavek pa konča delo začetka, pod pogojem if:
Zapišite (m, 'minute (s) in', s: 1: 2, 'sekunde (s)')
konec;
Funkcija: 1: 2 pomeni, da je treba sekunde pisati z dvema decimalnima mestoma.
11. korak
Če so sekunde manjše od 60, samo napišite, koliko sekund je minilo z dvema decimalnima mestoma:
če je i <60, potem
Write ('', i: 1: 2, 'seconds (a / s)');
12. korak
Če so sekunde daljše od 3600 (torej več kot eno uro), potem:
če je> 3600, potem začnite
m: = Int (i / 60);
s: = i - m * 60;
ch: = Int (m / 60);
m: = m - ch * 60;
Napišite (ch, 'ura (-e)', m, 'minute (-e) in', s: 1: 2, 'sekunde (-e)');
konec;
13. korak
Torej, program je zapisal, da je minilo 0 sekund, zdaj poveča števec i za 10 milisekund in ker program naredi vse takoj, naredimo zamudo za isti čas:
i: = i + 0,01;
Zamuda (10);
Nato naredimo konec stavka While (brez pritiska na tipko):
konec;
Če je uporabnik pritisnil tipko Enter, potem program počaka, da jo znova pritisne, da znova zažene štoparico:
Readln;
Readln;
Ni naključje, da smo po stavku While (true) števec postavili na nič, kajti ko uporabnik drugič pritisne Enter, se bo program od tam zagnal, ponastavil števec in znova začel šteti.
Nato zaključimo program While in za celoten program:
konec;
14. korak
Tu je celoten program:
uporablja
CRT;
var
i: Real;
s: Real;
m: Real;
ch: Real;
začeti
SetWindowTitle ('Štoparica');
TextColor (LightGreen);
WriteLn ('Pritisnite Enter, da zaženete štoparico');
WriteLn ('Znova pritisnite, da se ustavite');
Napišite ('Znova kliknite, če želite začeti znova');
ReadLn;
medtem ko (res)
začeti
i: = 0;
medtem ko ne pritisnete tipke
začeti
ClrScr;
če (i> 60) in (i <3600) potem začnite
m: = Int (i / 60);
s: = i - m * 60;
Zapišite (m, 'minute (s) in', s: 1: 2, 'sekunde (s)')
konec;
če je i <60, potem
Write ('', i: 1: 2, 'seconds (a / s)');
če je> 3600, potem začnite
m: = Int (i / 60);
s: = i - m * 60;
ch: = Int (m / 60);
m: = m - ch * 60;
Napišite (ch, 'ura (-e)', m, 'minute (-e) in', s: 1: 2, 'sekunde (-e)');
konec;
i: = i + 0,01;
Zamuda (10);
konec;
Readln;
Readln;
konec;
konec.

15. korak
Izkazalo se je ne prav lepo, vendar program deluje pravilno!