Como Fazer Um Programa De Cronômetro Em Pascal

Índice:

Como Fazer Um Programa De Cronômetro Em Pascal
Como Fazer Um Programa De Cronômetro Em Pascal

Vídeo: Como Fazer Um Programa De Cronômetro Em Pascal

Vídeo: Como Fazer Um Programa De Cronômetro Em Pascal
Vídeo: Cronometro v1.0 (Pascal) 2024, Abril
Anonim
Como fazer um programa de cronômetro em Pascal
Como fazer um programa de cronômetro em Pascal

Necessário

Ambiente de programação PascalABC. NET ou PascalTurbo

Instruções

Passo 1

Então, primeiro, vamos abrir o programa. Vamos criar um novo arquivo e especificar os plug-ins. Neste caso, precisamos de um módulo para trabalhar com o console - CRT.

para isso vamos escrever:

usa

CRT;

Passo 2

Vamos indicar as variáveis i, s, m - variáveis do tipo real.

var

i, s, m: Real;

etapa 3

Para iniciar o programa, escreva:

começar

E vamos indicar o título da janela do console:

SetWindowTitle ('Cronômetro');

Passo 4

O procedimento TextColor atribui uma cor ao texto, e a instrução Write exibe o texto na tela:

TextColor (LightGreen);

WriteLn ('Pressione Enter para iniciar o cronômetro');

WriteLn ('Pressione novamente para parar');

Write ('Clique novamente para recomeçar');

O final Ln passa para a próxima linha.

Etapa 5

O operador ReadLn insere valores do teclado, mas, neste caso, apenas espera que o usuário pressione Enter:

ReadLn;

Etapa 6

Fazemos um loop infinito:

enquanto (verdadeiro) faça

começar

A construção while (true) do begin traduz como: While (condição) do (). Por que começar aqui?

Nesse caso, precisamos de um operador composto, o que significa que, embora a condição seja verdadeira, vários operadores são executados. Se não fosse para começar, então após o While, apenas uma instrução seria executada, o que levaria à operação incorreta do programa. Para encerrar a instrução While no final, escrevemos end.

Etapa 7

Agora vamos zerar o contador:

i: = 0;

Etapa 8

A seguinte declaração é traduzida como: até que a tecla do () seja pressionada.

enquanto não pressionado, faça

começar

O operador ClrScr limpa a tela:

ClrScr;

Etapa 9

Definimos a condição: se os segundos forem maiores que 60 e menores que 3600 (isso é necessário para que quando o tempo for maior que uma hora, o programa imprima apenas o que vier depois do terceiro se) então:

if (i> 60) e (i <3600) então comece

A variável m (minutos) é igual a: segundos divididos por 60 e arredondados para a frente.

m: = Int (i / 60);

E a variável s (segundos sem minutos) é igual a: todos os segundos menos minutos multiplicados por 60.

s: = i - m * 60;

Etapa 10

A instrução Write grava quantos minutos e segundos se passaram, e a instrução end termina o trabalho do begin seguindo a condição if:

Escreva (m, 'minutos (s) e', s: 1: 2, 'segundos (s)')

fim;

Função: 1: 2 significa que os segundos devem ser escritos com duas casas decimais.

Etapa 11

Se os segundos forem inferiores a 60, basta escrever quantos segundos se passaram com duas casas decimais:

se eu <60 então

Write ('', i: 1: 2, 'segundos (a / s)');

Etapa 12

Se os segundos forem mais de 3600 (ou seja, mais de uma hora), então:

se eu> 3600, então comece

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Escreva (ch, 'hora (s)', m, 'minutos (s) e', s: 1: 2, 'segundos (s)');

fim;

Etapa 13

Então, o programa escreveu que se passaram 0 segundos, agora ele aumenta o contador i em 10 milissegundos, e como o programa faz tudo instantaneamente, fazemos um atraso para o mesmo tempo:

i: = i + 0,01;

Atraso (10);

Em seguida, encerramos a instrução While (não pressionada na tecla):

fim;

Se o usuário pressionou a tecla Enter, o programa espera que ele a pressione novamente para iniciar o cronômetro novamente:

Readln;

Readln;

Não é por acaso que colocamos o contador em zero após a instrução While (true), porque quando o usuário pressiona Enter uma segunda vez, o programa começa a partir daí, zera o contador e começa a contar novamente.

Em seguida, encerramos o While e para todo o programa:

fim;

Etapa 14

Aqui está o programa completo:

usa

CRT;

var

i: Real;

s: real;

m: real;

ch: Real;

começar

SetWindowTitle ('Cronômetro');

TextColor (LightGreen);

WriteLn ('Pressione Enter para iniciar o cronômetro');

WriteLn ('Pressione novamente para parar');

Write ('Clique novamente para recomeçar');

ReadLn;

enquanto (verdadeiro) faça

começar

i: = 0;

enquanto não pressionado, faça

começar

ClrScr;

if (i> 60) e (i <3600) então comece

m: = Int (i / 60);

s: = i - m * 60;

Escreva (m, 'minutos (s) e', s: 1: 2, 'segundos (s)')

fim;

se eu <60 então

Write ('', i: 1: 2, 'segundos (a / s)');

se eu> 3600, então comece

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Escreva (ch, 'hora (s)', m, 'minutos (s) e', s: 1: 2, 'segundos (s)');

fim;

i: = i + 0,01;

Atraso (10);

fim;

Readln;

Readln;

fim;

fim.

Imagem
Imagem

Etapa 15

Não ficou muito legal, mas o programa funciona corretamente!

Recomendado: