Come Creare Un Programma Cronometro In Pascal

Sommario:

Come Creare Un Programma Cronometro In Pascal
Come Creare Un Programma Cronometro In Pascal

Video: Come Creare Un Programma Cronometro In Pascal

Video: Come Creare Un Programma Cronometro In Pascal
Video: How to create a Timer [Tutorial][C#] - Unity 3d 2024, Maggio
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: