Hur Man Skapar Ett Stoppursprogram I Pascal

Innehållsförteckning:

Hur Man Skapar Ett Stoppursprogram I Pascal
Hur Man Skapar Ett Stoppursprogram I Pascal

Video: Hur Man Skapar Ett Stoppursprogram I Pascal

Video: Hur Man Skapar Ett Stoppursprogram I Pascal
Video: Visual Basic Programming lesson 5 - Making a stopwatch 2024, April
Anonim
Hur man skapar ett stoppursprogram i Pascal
Hur man skapar ett stoppursprogram i Pascal

Nödvändig

PascalABC. NET eller PascalTurbo programmeringsmiljö

Instruktioner

Steg 1

Så, först, låt oss öppna programmet. Låt oss skapa en ny fil och ange plugins. I det här fallet behöver vi en modul för att arbeta med konsolen - CRT.

för detta kommer vi att skriva:

användningsområden

CRT;

Steg 2

Låt oss ange variablerna i, s, m - variabler av den verkliga typen.

var

i, s, m: Real;

Steg 3

För att starta programmet, skriv:

Börja

Och vi kommer att indikera titeln på konsolfönstret:

SetWindowTitle ('Stoppur');

Steg 4

TextColor-proceduren tilldelar texten en färg och skrivuttrycket visar texten på skärmen:

TextColor (LightGreen);

WriteLn ('Tryck Enter för att starta stoppur');

WriteLn ('Tryck igen för att stoppa');

Skriv ('Klicka igen för att börja om');

Slutet Ln flyttar till nästa rad.

Steg 5

ReadLn-operatören anger värden från tangentbordet, men i det här fallet väntar det bara på att användaren ska slå Enter:

LäsLn;

Steg 6

Vi gör en oändlig slinga:

medan (sant) gör

Börja

While (true) börjar konstruera översätts som: While (condition) do (). Varför börja här?

I det här fallet behöver vi en sammansatt operatör, vilket innebär att medan villkoret är sant, körs flera operatörer. Om det inte var för att börja, utfördes endast ett uttalande efter While, vilket skulle leda till felaktig programdrift. För att avsluta While-uttalandet i slutet skriver vi slutet.

Steg 7

Låt oss nu återställa räknaren:

i: = 0;

Steg 8

Följande uttalande översätts som: tills do () -knappen trycks in.

medan du inte tryckt på tangenten gör

Börja

ClrScr-operatören rensar skärmen:

ClrScr;

Steg 9

Vi ställer in villkoret: om sekunderna är mer än 60 och mindre än 3600 (detta är nödvändigt så att när tiden är mer än en timme, skriver programmet bara ut det som är efter det tredje om) då:

om (i> 60) och (i <3600) börja sedan

Variabeln m (minuter) är lika med: sekunder dividerat med 60 och avrundat framåt.

m: = Int (i / 60);

Och variabeln s (sekunder utan minuter) är lika med: alla sekunder minus minuter multiplicerat med 60.

s: = i - m * 60;

Steg 10

Skrivuttrycket skriver hur många minuter och sekunder som har gått och slututtalandet avslutar arbetet med början efter if-villkoret:

Skriv (m, 'minuter (s) och', s: 1: 2, 'sekunder (s)')

slutet;

Funktion: 1: 2 betyder att sekunder ska skrivas med två decimaler.

Steg 11

Om sekunderna är mindre än 60, skriv bara hur många sekunder som har gått med två decimaler:

om jag <60 då

Skriv ('', i: 1: 2, 'sekunder (a / s)');

Steg 12

Om sekunderna är mer än 3600 (det vill säga mer än en timme):

om jag> 3600 börja

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

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

slutet;

Steg 13

Så, programmet skrev att 0 sekunder har gått, nu ökar räknaren i med 10 millisekunder, och eftersom programmet gör allt omedelbart gör vi en fördröjning samtidigt:

i: = i + 0,01;

Fördröjning (10);

Därefter avslutar vi uttalandet While (ej tangenttryckt):

slutet;

Om användaren trycker på Enter-tangenten väntar programmet på att han ska trycka på den igen för att starta stoppuret igen:

Readln;

Readln;

Det är ingen tillfällighet att vi sätter räknaren till noll efter While (true) uttalandet, för när användaren trycker på Enter en gång till kommer programmet att starta därifrån, återställa räknaren och börja räkna igen.

Därefter avslutar vi While och för hela programmet:

slutet;

Steg 14

Här är hela programmet:

användningsområden

CRT;

var

jag verklig;

s: Real;

m: Verklig;

ch: Real;

Börja

SetWindowTitle ('Stoppur');

TextColor (LightGreen);

WriteLn ('Tryck Enter för att starta stoppur');

WriteLn ('Tryck igen för att stoppa');

Skriv ('Klicka igen för att börja om');

LäsLn;

medan (sant) gör

Börja

i: = 0;

medan du inte tryckt på tangenten gör

Börja

ClrScr;

om (i> 60) och (i <3600) börja

m: = Int (i / 60);

s: = i - m * 60;

Skriv (m, 'minuter (s) och', s: 1: 2, 'sekunder (s)')

slutet;

om jag <60 då

Skriv ('', i: 1: 2, 'sekunder (a / s)');

om jag> 3600 börjar du

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

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

slutet;

i: = i + 0,01;

Fördröjning (10);

slutet;

Readln;

Readln;

slutet;

slutet.

Bild
Bild

Steg 15

Det visade sig inte särskilt trevligt, men programmet fungerar korrekt!

Rekommenderad: