Come Creare Un Programma Cronometro In Pascal

Come Creare Un Programma Cronometro In Pascal
Come Creare Un Programma Cronometro In Pascal
Anonim
Come creare un programma cronometro in Pascal
Come creare un programma cronometro in Pascal

Necessario

Ambiente di programmazione PascalABC. NET o PascalTurbo

Istruzioni

Passo 1

Quindi, per prima cosa, apriamo il programma. Creiamo un nuovo file e specifichiamo i plugin. In questo caso, abbiamo bisogno di un modulo per lavorare con la console - CRT.

per questo scriveremo:

usa

CRT;

Passo 2

Indichiamo le variabili i, s, m - variabili di tipo reale.

varia

io, s, m: reale;

Passaggio 3

Per avviare il programma scrivi:

inizio

E indicheremo il titolo della finestra della console:

SetWindowTitle ("Cronometro");

Passaggio 4

La procedura TextColor assegna un colore al testo e l'istruzione Write visualizza il testo sullo schermo:

TextColor (verde chiaro);

WriteLn ('Premi Invio per avviare il cronometro');

WriteLn ("Premi di nuovo per interrompere");

Scrivi ("Fai clic di nuovo per ricominciare");

L'estremità Ln si sposta alla riga successiva.

Passaggio 5

L'operatore ReadLn inserisce i valori dalla tastiera, ma in questo caso attende solo che l'utente prema Invio:

LeggiLn;

Passaggio 6

Facciamo un ciclo infinito:

mentre (vero) do

inizio

Il costrutto while (true) do begin si traduce come: While (condition) do(). Perché inizia qui?

In questo caso, abbiamo bisogno di un operatore composto, il che significa che mentre la condizione è vera, vengono eseguiti diversi operatori. Se non fosse per l'inizio, dopo il While, è stata eseguita solo un'istruzione, il che porterebbe a un'operazione errata del programma. Per terminare l'istruzione While alla fine, scriviamo end.

Passaggio 7

Ora resettiamo il contatore:

io: = 0;

Passaggio 8

La seguente istruzione si traduce come: finché non viene premuto il tasto do().

mentre non è premuto il tasto do

inizio

L'operatore ClrScr cancella lo schermo:

ClrScr;

Passaggio 9

Impostiamo la condizione: se i secondi sono maggiori di 60 e minori di 3600 (questo è necessario affinché quando il tempo è maggiore di un'ora il programma stampi solo ciò che è dopo il terzo se) allora:

se (i> 60) e (i <3600) allora inizia

La variabile m (minuti) è uguale a: secondi divisi per 60 e arrotondati in avanti.

m: = Int (i / 60);

E la variabile s (secondi senza minuti) è uguale a: tutti i secondi meno i minuti moltiplicati per 60.

s: = io - m * 60;

Passaggio 10

L'istruzione Write scrive quanti minuti e secondi sono trascorsi e l'istruzione end termina il lavoro dell'inizio dopo la condizione if:

Scrivi (m, 'minuti (s) e', s: 1: 2, 'secondi (s)')

fine;

Funzione: 1: 2 significa che i secondi devono essere scritti con due cifre decimali.

Passaggio 11

Se i secondi sono inferiori a 60, scrivi semplicemente quanti secondi sono trascorsi con due cifre decimali:

se io <60 allora

Scrivi ('', i: 1: 2, 'secondi (a/s)');

Passaggio 12

Se i secondi sono più di 3600 (cioè più di un'ora), allora:

se i> 3600 allora inizia

m: = Int (i / 60);

s: = io - m * 60;

ch: = Int (m / 60);

m: = m - cat * 60;

Scrivi (ch, 'ora (s)', m, 'minuti (s) e', s: 1: 2, 'secondi (s)');

fine;

Passaggio 13

Quindi, il programma ha scritto che sono trascorsi 0 secondi, ora aumenta il contatore i di 10 millisecondi e poiché il programma fa tutto istantaneamente, facciamo un ritardo per lo stesso tempo:

io: = io + 0,01;

Ritardo (10);

Successivamente, chiudiamo l'istruzione While (non premuto):

fine;

Se l'utente ha premuto il tasto Invio, il programma attende che lo prema di nuovo per far ripartire il cronometro:

Leggi;

Leggi;

Non è un caso che impostiamo il contatore a zero dopo l'istruzione While (true), perché quando l'utente preme Invio una seconda volta, il programma riparte da lì, azzera il contatore e ricomincia a contare.

Successivamente, terminiamo il While e per l'intero programma:

fine;

Passaggio 14

Ecco il programma completo:

usa

CRT;

varia

io veramente;

s: reale;

m: reale;

ch: reale;

inizio

SetWindowTitle ("Cronometro");

TextColor (verde chiaro);

WriteLn ('Premi Invio per avviare il cronometro');

WriteLn ("Premi di nuovo per interrompere");

Scrivi ("Clicca di nuovo per ricominciare");

LeggiLn;

mentre (vero) do

inizio

io: = 0;

mentre non è premuto il tasto do

inizio

ClrScr;

se (i> 60) e (i <3600) allora inizia

m: = Int (i / 60);

s: = io - m * 60;

Scrivi (m, 'minuti (s) e', s: 1: 2, 'secondi (s)')

fine;

se io <60 allora

Scrivi ('', i: 1: 2, 'secondi (a/s)');

se i> 3600 allora inizia

m: = Int (i / 60);

s: = io - m * 60;

ch: = Int (m / 60);

m: = m - cat * 60;

Scrivi (ch, 'ora (s)', m, 'minuti (s) e', s: 1: 2, 'secondi (s)');

fine;

io: = io + 0,01;

Ritardo (10);

fine;

Leggi;

Leggi;

fine;

fine.

Immagine
Immagine

Passaggio 15

Non si è rivelato molto carino, ma il programma funziona correttamente!

Consigliato: