Hoe Maak Je Een Stopwatch Programma In Pascal

Inhoudsopgave:

Hoe Maak Je Een Stopwatch Programma In Pascal
Hoe Maak Je Een Stopwatch Programma In Pascal

Video: Hoe Maak Je Een Stopwatch Programma In Pascal

Video: Hoe Maak Je Een Stopwatch Programma In Pascal
Video: Pascal - Timer programming 2024, Mei
Anonim
Hoe maak je een stopwatch programma in Pascal
Hoe maak je een stopwatch programma in Pascal

Noodzakelijk

PascalABC. NET of PascalTurbo programmeeromgeving

instructies:

Stap 1

Laten we dus eerst het programma openen. Laten we een nieuw bestand maken en de plug-ins specificeren. In dit geval hebben we een module nodig om met de console te werken - CRT.

hiervoor schrijven we:

toepassingen

beeldbuis;

Stap 2

Laten we de variabelen i, s, m aangeven - variabelen van het reële type.

var

i, s, m: echt;

Stap 3

Om het programma te starten, schrijft u:

beginnen

En we zullen de titel van het consolevenster aangeven:

SetWindowTitle ('Stopwatch');

Stap 4

De TextColor-procedure wijst een kleur toe aan de tekst en de Write-opdracht geeft de tekst op het scherm weer:

TekstKleur (Lichtgroen);

WriteLn ('Druk op Enter om de stopwatch te starten');

WriteLn ('Druk nogmaals om te stoppen');

Schrijf ('Klik nogmaals om opnieuw te beginnen');

De uitgang Ln gaat naar de volgende regel.

Stap 5

De ReadLn-operator voert waarden in vanaf het toetsenbord, maar in dit geval wacht het gewoon tot de gebruiker op Enter drukt:

LeesLn;

Stap 6

We maken een eindeloze lus:

terwijl (waar) doe

beginnen

De while (true) do begin-constructie vertaalt zich als: While (condition) do (). Waarom is hier beginnen?

In dit geval hebben we een samengestelde operator nodig, wat betekent dat hoewel de voorwaarde waar is, verschillende operatoren worden uitgevoerd. Als het niet voor begin was, werd er na de While slechts één instructie uitgevoerd, wat zou leiden tot een onjuiste programmabewerking. Om de While-instructie aan het einde te beëindigen, schrijven we end.

Stap 7

Laten we nu de teller resetten:

ik: = 0;

Stap 8

De volgende instructie vertaalt zich als: totdat de do ()-toets wordt ingedrukt.

terwijl niet ingedrukt do

beginnen

De ClrScr-operator wist het scherm:

ClrScr;

Stap 9

We stellen de voorwaarde: als de seconden meer dan 60 en minder dan 3600 zijn (dit is nodig zodat wanneer de tijd meer dan een uur is, het programma alleen afdrukt wat na de derde als is) dan:

als (i> 60) en (i <3600) begin dan

De variabele m (minuten) is gelijk aan: seconden gedeeld door 60 en naar voren afgerond.

m: = Int (i / 60);

En de variabele s (seconden zonder minuten) is gelijk aan: alle seconden minus minuten vermenigvuldigd met 60.

s: = ik - m * 60;

Stap 10

De Write-instructie schrijft hoeveel minuten en seconden zijn verstreken, en de end-instructie beëindigt het werk van de begin volgend op de if-voorwaarde:

Schrijf (m, 'minuten (s) en', s: 1: 2, 'seconden (s)')

einde;

Functie: 1: 2 betekent dat seconden met twee cijfers achter de komma moeten worden geschreven.

Stap 11

Als de seconden minder dan 60 zijn, schrijf dan gewoon op hoeveel seconden er zijn verstreken met twee decimalen:

als ik <60 dan

Schrijf ('', i: 1: 2, 'seconden (a / s)');

Stap 12

Als de seconden meer dan 3600 zijn (dat wil zeggen meer dan een uur), dan:

als ik> 3600 begin dan

m: = Int (i / 60);

s: = ik - m * 60;

ch: = Int (m / 60);

m: = m - l * 60;

Schrijf (ch, 'uur (s)', m, 'minuten (s) en', s: 1: 2, 'seconden (s)');

einde;

Stap 13

Dus het programma schreef dat er 0 seconden zijn verstreken, nu verhoogt het de teller i met 10 milliseconden, en aangezien het programma alles onmiddellijk doet, maken we een vertraging voor dezelfde tijd:

ik: = ik + 0,01;

Vertraging (10);

Vervolgens maken we het einde voor de While (niet ingedrukte) instructie:

einde;

Als de gebruiker op de Enter-toets heeft gedrukt, wacht het programma totdat hij er nogmaals op drukt om de stopwatch opnieuw te starten:

Leesln;

Leesln;

Het is geen toeval dat we de teller op nul zetten na de While (true)-opdracht, want als de gebruiker voor de tweede keer op Enter drukt, zal het programma vanaf daar starten, de teller resetten en opnieuw beginnen te tellen.

Vervolgens beëindigen we de While en voor het hele programma:

einde;

Stap 14

Hier is het volledige programma:

toepassingen

beeldbuis;

var

ik: Echt;

v: Echt;

m: Echt;

ch: Echt;

beginnen

SetWindowTitle ('Stopwatch');

TekstKleur (Lichtgroen);

WriteLn ('Druk op Enter om de stopwatch te starten');

WriteLn ('Druk nogmaals om te stoppen');

Schrijf ('Klik nogmaals om opnieuw te beginnen');

LeesLn;

terwijl (waar) doe

beginnen

ik: = 0;

terwijl niet ingedrukt do

beginnen

ClrScr;

als (i> 60) en (i <3600) begin dan

m: = Int (i / 60);

s: = ik - m * 60;

Schrijf (m, 'minuten (s) en', s: 1: 2, 'seconden (s)')

einde;

als ik <60 dan

Schrijf ('', i: 1: 2, 'seconden (a / s)');

als ik> 3600 begin dan

m: = Int (i / 60);

s: = ik - m * 60;

ch: = Int (m / 60);

m: = m - l * 60;

Schrijf (ch, 'uur (s)', m, 'minuten (s) en', s: 1: 2, 'seconden (s)');

einde;

ik: = ik + 0,01;

Vertraging (10);

einde;

Leesln;

Leesln;

einde;

einde.

Afbeelding
Afbeelding

Stap 15

Het bleek niet erg mooi, maar het programma werkt correct!

Aanbevolen: