Sådan Oprettes Et Stopursprogram I Pascal

Indholdsfortegnelse:

Sådan Oprettes Et Stopursprogram I Pascal
Sådan Oprettes Et Stopursprogram I Pascal

Video: Sådan Oprettes Et Stopursprogram I Pascal

Video: Sådan Oprettes Et Stopursprogram I Pascal
Video: Движение круга в PascalABC 2024, Kan
Anonim
Sådan oprettes et stopursprogram i Pascal
Sådan oprettes et stopursprogram i Pascal

Nødvendig

PascalABC. NET eller PascalTurbo programmeringsmiljø

Instruktioner

Trin 1

Så lad os først åbne programmet. Lad os oprette en ny fil og specificere plugins. I dette tilfælde har vi brug for et modul til at arbejde med konsollen - CRT.

til dette vil vi skrive:

anvendelser

CRT;

Trin 2

Lad os angive variablerne i, s, m - variabler af den reelle type.

var

i, s, m: Real;

Trin 3

For at starte programmet skal du skrive:

begynde

Og vi vil angive titlen på konsolvinduet:

SetWindowTitle ('Stopur');

Trin 4

TextColor-proceduren tildeler en farve til teksten, og skriverklæringen viser teksten på skærmen:

TextColor (LightGreen);

WriteLn ('Tryk på Enter for at starte stopur');

WriteLn ('Tryk igen for at stoppe');

Skriv ('Klik igen for at starte forfra');

Slutningen Ln flytter til næste linje.

Trin 5

ReadLn-operatøren indtaster værdier fra tastaturet, men i dette tilfælde venter det bare på brugeren at trykke Enter:

ReadLn;

Trin 6

Vi laver en uendelig løkke:

mens (sandt) gør

begynde

The while (true) begynder konstruktion oversættes som: While (condition) do (). Hvorfor begynder her?

I dette tilfælde har vi brug for en sammensat operator, hvilket betyder, at mens betingelsen er sand, udføres flere operatører. Hvis det ikke var for at begynde, blev der kun udført én erklæring efter While, hvilket ville føre til forkert programdrift. For at afslutte While-erklæringen i slutningen skriver vi slutningen.

Trin 7

Lad os nu nulstille tælleren:

i: = 0;

Trin 8

Følgende udsagn oversættes som: indtil der trykkes på do () -tasten.

mens ikke tastetryk gør

begynde

ClrScr-operatøren rydder skærmen:

ClrScr;

Trin 9

Vi indstiller betingelsen: Hvis sekunder er mere end 60 og mindre end 3600 (dette er nødvendigt, så når tiden er mere end en time, udskriver programmet kun det, der er efter det tredje, hvis), så:

hvis (i> 60) og (i <3600) så start

Variablen m (minutter) er lig med: sekunder divideret med 60 og afrundet til fronten.

m: = Int (i / 60);

Og variablen s (sekunder uden minutter) er lig med: alle sekunder minus minutter ganget med 60.

s: = i - m * 60;

Trin 10

Skriverklæringen skriver, hvor mange minutter og sekunder der er gået, og sluterklæringen afslutter arbejdet med begyndelsen efter if-betingelsen:

Skriv (m, 'minutter (er) og', s: 1: 2, 'sekunder (s)')

ende;

Funktion: 1: 2 betyder, at sekunder skal skrives med to decimaler.

Trin 11

Hvis sekunder er mindre end 60, så skriv bare hvor mange sekunder der er gået med to decimaler:

hvis jeg er <60 så

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

Trin 12

Hvis sekunder er mere end 3600 (dvs. mere end en time), så:

hvis jeg> 3600 så start

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

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

ende;

Trin 13

Så programmet skrev, at der er gået 0 sekunder, nu øger det tælleren i med 10 millisekunder, og da programmet gør alt med det samme, gør vi en forsinkelse på samme tid:

i: = i + 0,01;

Forsinkelse (10);

Derefter afslutter vi udsagnet While (ikke tastetryk):

ende;

Hvis brugeren trykkede på Enter-tasten, venter programmet på, at han trykker på den igen for at starte stopuret igen:

Readln;

Readln;

Det er ikke tilfældigt, at vi indstiller tælleren til nul efter While (sand) udsagnet, for når brugeren trykker Enter igen, starter programmet derfra, nulstiller tælleren og begynder at tælle igen.

Derefter afslutter vi While og for hele programmet:

ende;

Trin 14

Her er det komplette program:

anvendelser

CRT;

var

i: Virkelig;

s: Rigtig;

m: Rigtig;

ch: Virkelig;

begynde

SetWindowTitle ('Stopur');

TextColor (LightGreen);

WriteLn ('Tryk på Enter for at starte stopur');

WriteLn ('Tryk igen for at stoppe');

Skriv ('Klik igen for at starte forfra');

LæsLn;

mens (sandt) gør

begynde

i: = 0;

mens ikke tastetryk gør

begynde

ClrScr;

hvis (i> 60) og (i <3600) så start

m: = Int (i / 60);

s: = i - m * 60;

Skriv (m, 'minutter (er) og', s: 1: 2, 'sekunder (s)')

ende;

hvis jeg er <60 så

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

hvis jeg> 3600 så start

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

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

ende;

i: = i + 0,01;

Forsinkelse (10);

ende;

Readln;

Readln;

ende;

ende.

Billede
Billede

Trin 15

Det viste sig ikke meget rart, men programmet fungerer korrekt!

Anbefalede: