Jak Vytvořit Program Stopek V Pascalu

Obsah:

Jak Vytvořit Program Stopek V Pascalu
Jak Vytvořit Program Stopek V Pascalu

Video: Jak Vytvořit Program Stopek V Pascalu

Video: Jak Vytvořit Program Stopek V Pascalu
Video: Making a game in Free Pascal 2024, Smět
Anonim
Jak vytvořit program stopek v Pascalu
Jak vytvořit program stopek v Pascalu

Nezbytné

Programovací prostředí PascalABC. NET nebo PascalTurbo

Instrukce

Krok 1

Nejprve tedy otevřete program. Vytvořme nový soubor a určíme doplňky. V tomto případě potřebujeme modul pro práci s konzolou - CRT.

k tomu napíšeme:

používá

CRT;

Krok 2

Uveďme proměnné i, s, m - proměnné reálného typu.

var

i, s, m: Skutečné;

Krok 3

Pro spuštění programu napište:

začít

A označíme název okna konzoly:

SetWindowTitle ('Stopky');

Krok 4

Procedura TextColor přiřadí textu barvu a příkaz Write zobrazí text na obrazovce:

TextColor (LightGreen);

WriteLn ('Stopky spustíte stisknutím klávesy Enter');

WriteLn ('Zastavit dalším stisknutím');

Napište („Opětovným kliknutím znovu začnete“);

Koncová Ln se přesune na další řádek.

Krok 5

Operátor ReadLn zadává hodnoty z klávesnice, ale v tomto případě pouze čeká, až uživatel stiskne klávesu Enter:

ReadLn;

Krok 6

Vytváříme nekonečnou smyčku:

while (true) do

začít

Konstrukce while (true) do begin se překládá jako: While (podmínka) do (). Proč tady začít?

V tomto případě potřebujeme složený operátor, což znamená, že i když je podmínka pravdivá, provede se několik operátorů. Pokud by to nebylo pro začátek, pak po chvíli byl proveden pouze jeden příkaz, což by vedlo k nesprávné činnosti programu. Pro ukončení příkazu While na konci napíšeme end.

Krok 7

Nyní resetujme počítadlo:

i: = 0;

Krok 8

Následující příkaz se překládá jako: dokud nestisknete klávesu do ().

zatímco není stisknuto tlačítko

začít

Operátor ClrScr vymaže obrazovku:

ClrScr;

Krok 9

Nastavili jsme podmínku: pokud jsou sekundy více než 60 a méně než 3600 (je to nutné, aby v případě, že je čas více než hodinu, program vytiskne pouze to, co je po třetí, pokud), pak:

if (i> 60) and (i <3600) then begin

Proměnná m (minuty) se rovná: sekund děleno 60 a zaokrouhleno dopředu.

m: = Int (i / 60);

A proměnná s (sekundy bez minut) se rovná: všechny sekundy minus minuty vynásobené 60.

s: = i - m * 60;

Krok 10

Příkaz Write zapíše, kolik minut a sekund uplynulo, a příkaz end ukončí práci začátku po podmínce if:

Zápis (m, 'minuty a', s: 1: 2, 'sekundy')

konec;

Funkce: 1: 2 znamená, že sekundy by měly být psány se dvěma desetinnými místy.

Krok 11

Pokud jsou sekundy menší než 60, stačí napsat, kolik sekund uplynulo se dvěma desetinnými místy:

pokud i <60 pak

Zápis ('', i: 1: 2, 'sekundy (a / s)');

Krok 12

Pokud jsou sekundy delší než 3600 (tj. Více než hodinu), pak:

pokud i> 3600, pak začni

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Write (ch, 'hour (s)', m, 'minutes (s) and', s: 1: 2, 'seconds (s)');

konec;

Krok 13

Program tedy napsal, že uplynulo 0 sekund, nyní zvyšuje čítač i o 10 milisekund, a protože program dělá vše okamžitě, uděláme zpoždění na stejnou dobu:

i: = i + 0,01;

Zpoždění (10);

Dále uděláme konec příkazu While (není stisknuto):

konec;

Pokud uživatel stiskl klávesu Enter, program čeká na jeho další stisknutí, aby se stopky znovu spustily:

Readln;

Readln;

Není náhodou, že jsme po příkazu While (true) nastavili počitadlo na nulu, protože když uživatel podruhé stiskne Enter, program se spustí odtud, vynuluje počítadlo a začne znovu počítat.

Dále ukončíme program While a pro celý program:

konec;

Krok 14

Zde je kompletní program:

používá

CRT;

var

i: Skutečné;

s: Skutečné;

m: Skutečné;

ch: Skutečné;

začít

SetWindowTitle ('Stopky');

TextColor (LightGreen);

WriteLn ('Stopky spustíte stisknutím klávesy Enter');

WriteLn ('Zastavit dalším stisknutím');

Napsat („Opětovným kliknutím znovu začít“);

ReadLn;

while (true) do

začít

i: = 0;

zatímco není stisknuto tlačítko

začít

ClrScr;

if (i> 60) and (i <3600) then begin

m: = Int (i / 60);

s: = i - m * 60;

Zápis (m, 'minuty a', s: 1: 2, 'sekundy')

konec;

pokud i <60 pak

Write ('', i: 1: 2, 'seconds (a / s)');

pokud i> 3600, pak začni

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Write (ch, 'hour (s)', m, 'minutes (s) and', s: 1: 2, 'seconds (s)');

konec;

i: = i + 0,01;

Zpoždění (10);

konec;

Readln;

Readln;

konec;

konec.

obraz
obraz

Krok 15

Ukázalo se to ne moc hezké, ale program funguje správně!

Doporučuje: