Cum Se Face Un Program De Cronometru în Pascal

Cuprins:

Cum Se Face Un Program De Cronometru în Pascal
Cum Se Face Un Program De Cronometru în Pascal

Video: Cum Se Face Un Program De Cronometru în Pascal

Video: Cum Se Face Un Program De Cronometru în Pascal
Video: Обзор программ часть 1: Free Pascal 2024, Mai
Anonim
Cum se face un program de cronometru în Pascal
Cum se face un program de cronometru în Pascal

Necesar

Mediul de programare PascalABC. NET sau PascalTurbo

Instrucțiuni

Pasul 1

Deci, mai întâi, să deschidem programul. Să creăm un fișier nou și să specificăm pluginurile. În acest caz, avem nevoie de un modul pentru lucrul cu consola - CRT.

pentru aceasta vom scrie:

utilizări

CRT;

Pasul 2

Să indicăm variabilele i, s, m - variabile de tip real.

var

i, s, m: Real;

Pasul 3

Pentru a porni programul, scrieți:

începe

Și vom indica titlul ferestrei consolei:

SetWindowTitle ('Cronometru');

Pasul 4

Procedura TextColor atribuie o culoare textului, iar instrucțiunea Write afișează textul pe ecran:

TextColor (LightGreen);

WriteLn ('Apăsați Enter pentru a porni cronometrul');

WriteLn ('Apăsați din nou pentru a opri');

Scrieți („Faceți clic din nou pentru a începe din nou”);

Finalul Ln trece la linia următoare.

Pasul 5

Operatorul ReadLn introduce valori de la tastatură, dar în acest caz așteaptă doar ca utilizatorul să apese Enter:

ReadLn;

Pasul 6

Realizăm o buclă nesfârșită:

în timp ce (adevărat) da

începe

Construcția while (true) do begin se traduce prin: While (condition) do (). De ce începe aici?

În acest caz, avem nevoie de un operator compus, ceea ce înseamnă că, deși condiția este adevărată, sunt executați mai mulți operatori. Dacă nu ar fi început, atunci după timp, s-a executat o singură declarație, ceea ce ar duce la o funcționare incorectă a programului. Pentru a încheia declarația While la sfârșit, scriem end.

Pasul 7

Acum să resetăm contorul:

i: = 0;

Pasul 8

Următoarea declarație se traduce prin: până când este apăsată tasta do ().

în timp ce nu este apăsată tasta, faceți

începe

Operatorul ClrScr șterge ecranul:

ClrScr;

Pasul 9

Stabilim condiția: dacă secundele sunt mai mari de 60 și mai puțin de 3600 (acest lucru este necesar pentru ca atunci când timpul este mai mare de o oră, programul tipărește doar ceea ce este după a treia dacă) atunci:

dacă (i> 60) și (i <3600) atunci începeți

Variabila m (minute) este egală cu: secunde împărțite la 60 și rotunjite în față.

m: = Int (i / 60);

Iar variabila s (secunde fără minute) este egală cu: toate secundele minus minute înmulțite cu 60.

s: = i - m * 60;

Pasul 10

Instrucțiunea Write scrie câte minute și secunde au trecut, iar instrucțiunea de sfârșit încheie lucrarea de început urmând condiția if:

Scrieți (m, 'minute (s) și', s: 1: 2, 'secunde (s)')

Sfârșit;

Funcția: 1: 2 înseamnă că secundele trebuie scrise cu două zecimale.

Pasul 11

Dacă secundele sunt mai mici de 60, atunci scrieți câte secunde au trecut cu două zecimale:

dacă i <60 atunci

Scrie ('', i: 1: 2, 'secunde (a / s)');

Pasul 12

Dacă secundele sunt mai mari de 3600 (adică mai mult de o oră) atunci:

dacă i> 3600 atunci începeți

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Scrieți (ch, 'oră (e)', m, 'minute (e) și', s: 1: 2, 'secunde (e)');

Sfârșit;

Pasul 13

Deci, programul a scris că au trecut 0 secunde, acum crește contorul i cu 10 milisecunde și, din moment ce programul face totul instantaneu, facem o întârziere pentru același timp:

i: = i + 0,01;

Întârziere (10);

Apoi, facem sfârșitul declarației While (care nu este apăsată pe tastă):

Sfârșit;

Dacă utilizatorul a apăsat tasta Enter, atunci programul îl așteaptă să o apese din nou pentru a porni din nou cronometrul:

Readln;

Readln;

Nu întâmplător am setat contorul la zero după declarația While (adevărat), deoarece atunci când utilizatorul apasă Enter a doua oară, programul va porni de acolo, va reseta contorul și va începe să numere din nou.

Apoi, încheiem În timp ce și pentru întregul program:

Sfârșit;

Pasul 14

Iată programul complet:

utilizări

CRT;

var

i: Real;

s: Real;

m: Real;

ch: Real;

începe

SetWindowTitle ('Cronometru');

TextColor (LightGreen);

WriteLn ('Apăsați Enter pentru a porni cronometrul');

WriteLn ('Apăsați din nou pentru a opri');

Scrieți („Faceți clic din nou pentru a începe din nou”);

ReadLn;

în timp ce (adevărat) da

începe

i: = 0;

în timp ce nu este apăsată tasta, faceți

începe

ClrScr;

dacă (i> 60) și (i <3600) atunci începeți

m: = Int (i / 60);

s: = i - m * 60;

Scrieți (m, 'minute (s) și', s: 1: 2, 'secunde (s)')

Sfârșit;

dacă i <60 atunci

Scrie ('', i: 1: 2, 'secunde (a / s)');

dacă i> 3600 atunci începeți

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Scrieți (ch, 'oră (e)', m, 'minute (e) și', s: 1: 2, 'secunde (e)');

Sfârșit;

i: = i + 0,01;

Întârziere (10);

Sfârșit;

Readln;

Readln;

Sfârșit;

Sfârșit.

Imagine
Imagine

Pasul 15

Nu s-a dovedit foarte frumos, dar programul funcționează corect!

Recomandat: