Hoe Om 'n Stophorlosieprogram In Pascal Te Maak

INHOUDSOPGAWE:

Hoe Om 'n Stophorlosieprogram In Pascal Te Maak
Hoe Om 'n Stophorlosieprogram In Pascal Te Maak

Video: Hoe Om 'n Stophorlosieprogram In Pascal Te Maak

Video: Hoe Om 'n Stophorlosieprogram In Pascal Te Maak
Video: Hoe om n Gly Rietvlei Strop te maak 2024, November
Anonim
Hoe om 'n stophorlosieprogram in Pascal te maak
Hoe om 'n stophorlosieprogram in Pascal te maak

Nodig

PascalABC. NET of PascalTurbo-programmeeromgewing

Instruksies

Stap 1

Laat ons eers die program oopmaak. Kom ons skep 'n nuwe lêer en spesifiseer die invoegtoepassings. In hierdie geval het ons 'n module nodig om met die konsole te werk - CRT.

hiervoor sal ons skryf:

gebruike

CRT;

Stap 2

Laat ons die veranderlikes i, s, m - veranderlikes van die werklike tipe aandui.

var

i, s, m: Regte;

Stap 3

Om die program te begin, skryf:

begin

En ons sal die titel van die konsolevenster aandui:

SetWindowTitle ('Stophorlosie');

Stap 4

Die TextColor-prosedure ken 'n kleur aan die teks toe en die Skryf-stelling wys die teks op die skerm:

TextColor (liggroen);

WriteLn ('Druk Enter om stophorlosie te begin');

WriteLn ('Druk weer om te stop');

Skryf ('Klik weer om oor te begin');

Die einde Ln beweeg na die volgende reël.

Stap 5

Die ReadLn-operateur voer waardes vanaf die sleutelbord in, maar in hierdie geval wag dit net vir die gebruiker om Enter te druk:

LeesLn;

Stap 6

Ons maak 'n eindelose lus:

terwyl (waar) doen

begin

Die while (waar) konstruksie begin vertaal as: While (condition) doen (). Waarom word hier begin?

In hierdie geval het ons 'n saamgestelde operateur nodig, wat beteken dat alhoewel die voorwaarde waar is, verskeie operateurs uitgevoer word. As dit nie sou begin nie, is slegs een verklaring na die tyd uitgevoer wat sou lei tot verkeerde programwerking. Om die While-stelling aan die einde te beëindig, skryf ons end.

Stap 7

Laat ons nou die toonbank weer instel:

i: = 0;

Stap 8

Die volgende stelling vertaal as: totdat die do () -knop gedruk word.

terwyl jy nie op die sleutel druk nie

begin

Die ClrScr-operateur maak die skerm skoon:

ClrScr;

Stap 9

Ons stel die voorwaarde in: as die sekondes meer is as 60 en minder as 3600 (dit is nodig sodat die tyd as die tyd langer as 'n uur is, slegs die volgende druk na die derde as):

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

Die veranderlike m (minute) is gelyk aan: sekondes gedeel deur 60 en afgerond na voor.

m: = Int (i / 60);

En die veranderlike s (sekondes sonder minute) is gelyk aan: alle sekondes minus minute vermenigvuldig met 60.

s: = i - m * 60;

Stap 10

Die Skryfverklaring skryf hoeveel minute en sekondes verby is, en die eindverklaring beëindig die werk van die begin na die as-voorwaarde:

Skryf (m, 'minute (s) en', s: 1: 2, 'sekondes (s)')

einde;

Funksie: 1: 2 beteken dat sekondes met twee desimale plekke geskryf moet word.

Stap 11

As die sekondes minder as 60 is, skryf net hoeveel sekondes met twee desimale plekke verby is:

as ek <60 dan

Skryf ('', i: 1: 2, 'sekondes (a / s)');

Stap 12

As die sekondes meer is as 3600 (dit wil sê meer as 'n uur), dan:

as ek> 3600 is, begin dan

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Skryf (ch, 'uur (s)', m, 'minute (s) en', s: 1: 2, 'sekondes (s)');

einde;

Stap 13

Die program het geskryf dat 0 sekondes verby is, en dit verhoog die teller i met 10 millisekondes, en aangesien die program alles onmiddellik doen, stel ons dieselfde tyd uit:

i: = i + 0,01;

Vertraag (10);

Vervolgens maak ons die einde vir die While-stelling (nie ingedruk nie):

einde;

As die gebruiker op die Enter-toets gedruk het, wag die program op hom om dit weer te druk om die stophorlosie weer te begin:

Leesln;

Leesln;

Dit is nie toevallig dat ons die teller na die While (ware) verklaring op nul stel nie, want wanneer die gebruiker 'n tweede keer op Enter druk, sal die program van daar af begin, die teller herstel en weer begin tel.

Vervolgens eindig ons die While en vir die hele program:

einde;

Stap 14

Hier is die volledige program:

gebruike

CRT;

var

i: Regtig;

s: Regte;

m: Regte;

ch: Regte;

begin

SetWindowTitle ('Stophorlosie');

TextColor (liggroen);

WriteLn ('Druk Enter om stophorlosie te begin');

WriteLn ('Druk weer om te stop');

Skryf ('Klik weer om oor te begin');

LeesLn;

terwyl (waar) doen

begin

i: = 0;

terwyl jy nie op die sleutel druk nie

begin

ClrScr;

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

m: = Int (i / 60);

s: = i - m * 60;

Skryf (m, 'minute (s) en', s: 1: 2, 'sekondes (s)')

einde;

as ek <60 dan

Skryf ('', i: 1: 2, 'sekondes (a / s)');

as ek> 3600 is, begin dan

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Skryf (ch, 'uur (s)', m, 'minute (s) en', s: 1: 2, 'sekondes (s)');

einde;

i: = i + 0,01;

Vertraag (10);

einde;

Leesln;

Leesln;

einde;

einde.

Beeld
Beeld

Stap 15

Dit was nie baie lekker nie, maar die program werk reg!

Aanbeveel: