Pascal'da Kronometre Programı Nasıl Yapılır

İçindekiler:

Pascal'da Kronometre Programı Nasıl Yapılır
Pascal'da Kronometre Programı Nasıl Yapılır

Video: Pascal'da Kronometre Programı Nasıl Yapılır

Video: Pascal'da Kronometre Programı Nasıl Yapılır
Video: 16-C# Timer ile Kronometre Programı Yapımı, Form Dersleri 2024, Aralık
Anonim
Pascal'da kronometre programı nasıl yapılır
Pascal'da kronometre programı nasıl yapılır

Gerekli

PascalABC. NET veya PascalTurbo programlama ortamı

Talimatlar

Aşama 1

O halde önce programı açalım. Yeni bir dosya oluşturalım ve eklentileri belirtelim. Bu durumda, konsolla çalışmak için bir modüle ihtiyacımız var - CRT.

bunun için yazacağız:

kullanır

CRT;

Adım 2

Gerçek türün değişkenlerini i, s, m - değişkenlerini belirtelim.

var

i, s, m: Gerçek;

Aşama 3

Programı başlatmak için şunu yazın:

başlamak

Ve konsol penceresinin başlığını belirteceğiz:

SetWindowTitle ('Kronometre');

4. Adım

TextColor prosedürü metne bir renk atar ve Write deyimi metni ekrana görüntüler:

TextColor (AçıkYeşil);

WriteLn ('Kronometreyi başlatmak için Enter'a basın');

WriteLn ('Durdurmak için tekrar basın');

Write ('Yeniden başlamak için tekrar tıklayın');

Bitiş Ln sonraki satıra geçer.

Adım 5

ReadLn operatörü klavyeden değerleri girer ancak bu durumda sadece kullanıcının Enter'a basmasını bekler:

ReadLn;

6. Adım

Sonsuz bir döngü yapıyoruz:

(doğru) yaparken

başlamak

while (true) do start yapısı şu şekilde çevrilir: while (koşul) do (). Neden burada başlıyor?

Bu durumda, bir bileşik operatöre ihtiyacımız var; bu, koşul doğruyken birkaç operatörün yürütüldüğü anlamına gelir. Başlangıç için değilse, while'dan sonra yalnızca bir ifade yürütüldü ve bu da yanlış program çalışmasına yol açacaktı. En sonunda while ifadesini bitirmek için end yazıyoruz.

7. Adım

Şimdi sayacı sıfırlayalım:

ben: = 0;

8. Adım

Aşağıdaki ifade şu şekilde çevrilir: do () tuşuna basılana kadar.

tuşa basılmazken yap

başlamak

ClrScr operatörü ekranı temizler:

ClrScr;

9. Adım

Koşulu belirledik: saniyeler 60'tan fazla ve 3600'den azsa (bu, süre bir saatten fazla olduğunda, programın yalnızca üçüncüden sonra olanı yazdırabilmesi için gereklidir):

eğer (i> 60) ve (i <3600) o zaman başla

m (dakika) değişkeni şuna eşittir: saniye bölü 60 ve öne yuvarlanır.

m: = Int (i / 60);

Ve s değişkeni (dakika olmadan saniye) eşittir: tüm saniyeler eksi dakikalar çarpı 60.

s: = ben - m * 60;

Adım 10

Write deyimi, kaç dakika ve saniye geçtiğini yazar ve end deyimi, if koşulunun ardından startın çalışmasını bitirir:

Yaz (m, 'dakika(lar) ve', s: 1: 2, 'saniye(s)')

son;

İşlev: 1: 2, saniyenin iki ondalık basamakla yazılması gerektiği anlamına gelir.

11. Adım

Saniyeler 60'tan küçükse, iki ondalık basamakla kaç saniye geçtiğini yazmanız yeterlidir:

eğer ben <60 o zaman

Yaz ('', i: 1: 2, 'saniye (a/s)');

Adım 1/2

Saniye 3600'den fazlaysa (yani bir saatten fazlaysa):

eğer i> 3600 ise başla

m: = Int (i / 60);

s: = ben - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

(ch, 'saat(ler)', m, 'dakika(lar) ve', s: 1: 2, 'saniye(ler)');

son;

Adım 13

Yani program 0 saniyenin geçtiğini yazdı, şimdi i sayacını 10 milisaniye artırıyor ve program her şeyi anında yaptığı için aynı süre için bir gecikme yapıyoruz:

ben: = ben + 0.01;

Gecikme (10);

Ardından, while (tuşa basılmamış) ifadesinin sonunu getiriyoruz:

son;

Kullanıcı Enter tuşuna basarsa program, kronometreyi yeniden başlatmak için tekrar basmasını bekler:

Readln;

Readln;

While (true) deyiminden sonra sayacı sıfırlamış olmamız tesadüf değildir çünkü kullanıcı ikinci kez Enter'a bastığında program oradan başlayacak, sayacı sıfırlayacak ve tekrar saymaya başlayacaktır.

Ardından, while ve tüm program için sonlandırıyoruz:

son;

Adım 14

İşte tam program:

kullanır

CRT;

var

ben: gerçek;

s: Gerçek;

m: Gerçek;

ch: Gerçek;

başlamak

SetWindowTitle ('Kronometre');

TextColor (AçıkYeşil);

WriteLn ('Kronometreyi başlatmak için Enter'a basın');

WriteLn ('Durdurmak için tekrar basın');

Write ('Yeniden başlamak için tekrar tıklayın');

ReadLn;

(doğru) yaparken

başlamak

ben: = 0;

tuşa basılmazken yap

başlamak

ClrScr;

eğer (i> 60) ve (i <3600) o zaman başla

m: = Int (i / 60);

s: = ben - m * 60;

Yaz (m, 'dakika(lar) ve', s: 1: 2, 'saniye(s)')

son;

eğer ben <60 o zaman

Yaz ('', i: 1: 2, 'saniye (a/s)');

eğer i> 3600 ise başla

m: = Int (i / 60);

s: = ben - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

(ch, 'saat(ler)', m, 'dakika(lar) ve', s: 1: 2, 'saniye(s)');

son;

ben: = ben + 0.01;

Gecikme (10);

son;

Readln;

Readln;

son;

son.

resim
resim

Adım 15

Çok hoş olmadığı ortaya çıktı, ancak program doğru çalışıyor!

Önerilen: