Как да направите програма за хронометър в Pascal

Съдържание:

Как да направите програма за хронометър в Pascal
Как да направите програма за хронометър в Pascal

Видео: Как да направите програма за хронометър в Pascal

Видео: Как да направите програма за хронометър в Pascal
Видео: Учим Pascal за 1 час ! 2024, Може
Anonim
Как да направите програма за хронометър в Pascal
Как да направите програма за хронометър в Pascal

Необходимо

PascalABC. NET или PascalTurbo среда за програмиране

Инструкции

Етап 1

И така, първо, нека отворим програмата. Нека създадем нов файл и да посочим приставките. В този случай се нуждаем от модул за работа с конзолата - CRT.

за това ще напишем:

използва

CRT;

Стъпка 2

Нека посочим променливите i, s, m - променливи от реалния тип.

вар

i, s, m: Реално;

Стъпка 3

За да стартирате програмата, напишете:

започнете

И ще посочим заглавието на прозореца на конзолата:

SetWindowTitle ('Хронометър');

Стъпка 4

Процедурата TextColor присвоява цвят на текста и изразът Write записва текста на екрана:

TextColor (LightGreen);

WriteLn ('Натиснете Enter, за да стартирате хронометър');

WriteLn ('Натиснете отново, за да спрете');

Write ('Щракнете отново, за да започнете отначало');

Краят Ln се премества в следващия ред.

Стъпка 5

Операторът ReadLn въвежда стойности от клавиатурата, но в този случай просто чака потребителят да натисне Enter:

ReadLn;

Стъпка 6

Правим безкраен цикъл:

докато (вярно) правя

започнете

Конструкцията while (true) do begin се превежда като: While (условие) do (). Защо започва тук?

В този случай се нуждаем от сложен оператор, което означава, че докато условието е вярно, се изпълняват няколко оператора. Ако не беше за начало, тогава след докато беше изпълнен само един оператор, което би довело до неправилна работа на програмата. За да приключим изявлението While в края, пишем end.

Стъпка 7

Сега нека нулираме брояча:

i: = 0;

Стъпка 8

Следният израз се превежда като: докато не се натисне бутонът do ().

докато не са натиснати с клавиши

започнете

Операторът ClrScr изчиства екрана:

ClrScr;

Стъпка 9

Поставяме условието: ако секундите са повече от 60 и по-малко от 3600 (това е необходимо, така че когато времето е повече от час, програмата отпечатва само това, което е след третото, ако) тогава:

ако (i> 60) и (i <3600) след това започнете

Променливата m (минути) е равна на: секунди, разделени на 60 и закръглени отпред.

m: = Int (i / 60);

И променливата s (секунди без минути) е равна на: всички секунди минус минути, умножена по 60.

s: = i - m * 60;

Стъпка 10

Операторът Write записва колко минути и секунди са изминали и операторът end завършва работата на start след условието if:

Запис (m, 'минути (и) и', s: 1: 2, 'секунди (и)')

край;

Функция: 1: 2 означава, че секундите трябва да бъдат записани с два знака след десетичната запетая.

Стъпка 11

Ако секундите са по-малко от 60, просто напишете колко секунди са минали с два знака след десетичната запетая:

ако i <60 тогава

Write ('', i: 1: 2, 'секунди (a / s)');

Стъпка 12

Ако секундите са повече от 3600 (т.е. повече от час), тогава:

ако i> 3600, тогава започнете

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Напишете (ch, 'час (и)', m, 'минути (и) и', s: 1: 2, 'секунди (и)');

край;

Стъпка 13

И така, програмата пише, че са минали 0 секунди, сега тя увеличава брояча i с 10 милисекунди и тъй като програмата прави всичко мигновено, правим забавяне за същото време:

i: = i + 0,01;

Забавяне (10);

След това правим края на изявлението While (без натискане на клавиш):

край;

Ако потребителят е натиснал клавиша Enter, тогава програмата го чака да го натисне отново, за да стартира хронометъра отново:

Readln;

Readln;

Неслучайно задаваме брояча на нула след израза While (true), защото когато потребителят натисне Enter за втори път, програмата ще стартира от там, нулира брояча и ще започне да брои отново.

След това завършваме докато и за цялата програма:

край;

Стъпка 14

Ето пълната програма:

използва

CRT;

вар

i: Истински;

s: Реално;

m: Реално;

ch: Реално;

започнете

SetWindowTitle ('Хронометър');

TextColor (LightGreen);

WriteLn ('Натиснете Enter, за да стартирате хронометър');

WriteLn ('Натиснете отново, за да спрете');

Напишете ('Щракнете отново, за да започнете отначало');

ReadLn;

докато (вярно) правя

започнете

i: = 0;

докато не са натиснати с клавиши

започнете

ClrScr;

ако (i> 60) и (i <3600) след това започнете

m: = Int (i / 60);

s: = i - m * 60;

Запис (m, 'минути (и) и', s: 1: 2, 'секунди (и)')

край;

ако i <60 тогава

Write ('', i: 1: 2, 'секунди (a / s)');

ако i> 3600, тогава започнете

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Напишете (ch, 'час (и)', m, 'минути (и) и', s: 1: 2, 'секунди (и)');

край;

i: = i + 0,01;

Забавяне (10);

край;

Readln;

Readln;

край;

край.

Изображение
Изображение

Стъпка 15

Оказа се не много хубаво, но програмата работи коректно!

Препоръчано: