Paskalda Saniyəölçən Proqramı Necə Hazırlanır

Mündəricat:

Paskalda Saniyəölçən Proqramı Necə Hazırlanır
Paskalda Saniyəölçən Proqramı Necə Hazırlanır

Video: Paskalda Saniyəölçən Proqramı Necə Hazırlanır

Video: Paskalda Saniyəölçən Proqramı Necə Hazırlanır
Video: 14-cü Proqram Dərsləri Pascal-1 2024, Bilər
Anonim
Paskalda saniyəölçən proqramı necə hazırlanır
Paskalda saniyəölçən proqramı necə hazırlanır

Zəruri

PascalABC. NET və ya PascalTurbo proqramlaşdırma mühiti

Təlimat

Addım 1

Beləliklə, əvvəlcə proqramı açaq. Gəlin yeni bir fayl yaradaq və plaginləri təyin edək. Bu vəziyyətdə konsolla işləmək üçün bir modula ehtiyacımız var - CRT.

bunun üçün yazacağıq:

istifadə edir

CRT;

Addım 2

İ, s, m dəyişənlərini - həqiqi tipin dəyişənlərini göstərək.

var

i, s, m: Real;

Addım 3

Proqramı başlamaq üçün yazın:

başlamaq

Və konsol pəncərəsinin başlığını göstərəcəyik:

SetWindowTitle ('Saniyəölçən');

Addım 4

TextColor proseduru mətnə bir rəng təyin edir və Write ifadəsi mətni ekrana göstərir:

TextColor (LightGreen);

WriteLn ('Saniyəölçənə başlamaq üçün Enter düyməsini basın');

WriteLn ('Dayandırmaq üçün yenidən basın');

Yaz ('Yenidən başlamaq üçün yenidən vurun');

Son Ln növbəti sətrə keçir.

Addım 5

ReadLn operatoru klaviaturadan dəyərlər daxil edir, lakin bu halda istifadəçinin Enter düyməsini vurmasını gözləyir:

ReadLn;

Addım 6

Sonsuz bir döngə edirik:

halbuki (doğru) edin

başlamaq

While (true) do begin construct belə tərcümə olunur: while (vəziyyət) do (). Niyə burada başlayır?

Bu vəziyyətdə birləşmiş operatora ehtiyacımız var, yəni şərt doğru olduğu halda bir neçə operator icra olunur. Əgər başlamamış olsaydı, o vaxtdan sonra, proqramın səhv işləməsinə səbəb olan yalnız bir cümlə icra edildi. While ifadəsini sonda bitirmək üçün end yazırıq.

Addım 7

İndi sayğacı sıfırlayaq:

i: = 0;

Addım 8

Aşağıdakı cümlə belə tərcümə olunur: do () düyməsinə basılana qədər.

düyməni basmadığı halda

başlamaq

ClrScr operatoru ekranı təmizləyir:

ClrScr;

Addım 9

Şərti qoyduq: saniyələr 60-dan çox və 3600-dən azdırsa (bu bir saatdan çox olduqda, proqram yalnız üçüncüsündən sonra olanları yazdırarsa) lazımdır:

(i> 60) və (i <3600) olduqda başlayın

Dəyişən m (dəqiqə) bərabərdir: saniyələr 60-a bölünür və ön tərəfə yuvarlanır.

m: = Int (i / 60);

Və s dəyişən (dəqiqəsiz saniyə) bərabərdir: bütün saniyə mənfi dəqiqə 60-a vurulur.

s: = i - m * 60;

Addım 10

Yaz ifadəsi neçə dəqiqə və saniyənin keçdiyini yazır və bitiş ifadəsi aşağıdakı şərtdən sonra başlama işini bitirir:

Yazın (m, 'dəqiqə (lər) və', s: 1: 2, 'saniyə (lər)')

son;

İşlev: 1: 2 saniyələrin iki ondalık basamaqla yazılması deməkdir.

Addım 11

Saniyələr 60-dan azdırsa, onda iki onluq ilə neçə saniyə keçdiyini yaz:

i <60 olarsa

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

Addım 12

Saniyələr 3600-dən çoxdursa (yəni bir saatdan çoxdur), onda:

i> 3600 varsa, başlayın

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Yaz (ch, 'hour (s)', m, 'minutes (s) and', s: 1: 2, 'seconds (s)');

son;

Addım 13

Beləliklə, proqram 0 saniyə keçdiyini yazdı, indi sayğacı i 10 milisaniyəyə artırdı və proqram hər şeyi anında etdiyindən eyni zamanda bir gecikmə edirik:

i: = i + 0.01;

Gecikmə (10);

Sonra, While (düyməyə basılmamış) ifadəsinin sonunu veririk:

son;

İstifadəçi Enter düyməsini basdısa, proqram saniyəölçənə yenidən başlamaq üçün onu yenidən basmasını gözləyir:

Readln;

Readln;

While (true) ifadəsindən sonra sayğacı sıfıra təyin etməyimiz təsadüfi deyil, çünki istifadəçi ikinci dəfə Enter düyməsini basdıqda proqram oradan başlayacaq, sayğacı yenidən quracaq və yenidən saymağa başlayacaq.

Sonra, while və bütün proqram üçün son veririk:

son;

Addım 14

Tam proqram:

istifadə edir

CRT;

var

i: həqiqi;

s: Real;

m: həqiqi;

ch: həqiqi;

başlamaq

SetWindowTitle ('Saniyəölçən');

TextColor (LightGreen);

WriteLn ('Saniyəölçənə başlamaq üçün Enter düyməsini basın');

WriteLn ('Dayandırmaq üçün yenidən basın');

Yaz ('Yenidən başlamaq üçün yenidən vurun');

ReadLn;

halbuki (doğru) edin

başlamaq

i: = 0;

düyməni basmadığı halda

başlamaq

ClrScr;

(i> 60) və (i <3600) olduqda başlayın

m: = Int (i / 60);

s: = i - m * 60;

Yazın (m, 'dəqiqə (lər) və', s: 1: 2, 'saniyə (lər)')

son;

i <60 olarsa

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

i> 3600 olarsa başlayın

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Yaz (ch, 'hour (s)', m, 'minutes (s) and', s: 1: 2, 'seconds (s)');

son;

i: = i + 0.01;

Gecikmə (10);

son;

Readln;

Readln;

son;

son

Şəkil
Şəkil

Addım 15

Çox gözəl olmadı, amma proqram düzgün işləyir!

Tövsiyə: