Паскальда секундомер бағдарламасын қалай жасауға болады

Мазмұны:

Паскальда секундомер бағдарламасын қалай жасауға болады
Паскальда секундомер бағдарламасын қалай жасауға болады

Бейне: Паскальда секундомер бағдарламасын қалай жасауға болады

Бейне: Паскальда секундомер бағдарламасын қалай жасауға болады
Бейне: Советский секундомер, Златоустовский часовой завод 2024, Мамыр
Anonim
Паскальда секундомер бағдарламасын қалай жасауға болады
Паскальда секундомер бағдарламасын қалай жасауға болады

Қажетті

PascalABC. NET немесе PascalTurbo бағдарламалау ортасы

Нұсқаулық

1-қадам

Сонымен, алдымен бағдарламаны ашайық. Жаңа файл жасап, плагиндерді көрсетейік. Бұл жағдайда бізге консольмен жұмыс істеуге арналған модуль керек - CRT.

бұл үшін біз жазамыз:

қолданады

CRT;

2-қадам

I, s, m айнымалыларын көрсетейік - нақты типтің айнымалылары.

var

i, s, m: нақты;

3-қадам

Бағдарламаны бастау үшін мынаны жазыңыз:

баста

Біз консоль терезесінің тақырыбын көрсетеміз:

SetWindowTitle ('секундомер');

4-қадам

TextColor процедурасы мәтінге түс береді, ал Write операторы мәтінді экранға шығарады:

TextColor (LightGreen);

WriteLn ('Секундомерді бастау үшін Enter пернесін басыңыз');

WriteLn ('Тоқтату үшін тағы бір рет басыңыз');

Жазыңыз ('Басынан бастау үшін тағы бір рет басыңыз');

Аяқталған Ln келесі жолға өтеді.

5-қадам

ReadLn операторы мәндерді пернетақтадан енгізеді, бірақ бұл жағдайда ол пайдаланушының Enter пернесін басуын күтеді:

ReadLn;

6-қадам

Біз шексіз цикл жасаймыз:

ал (шын) жасайды

баста

While (true) do begin конструкциясы келесідей аударылады: While (шарт) do (). Неге осы жерден басталады?

Бұл жағдайда бізге құрама оператор керек, яғни шарт шын болғанымен, бірнеше оператор орындалады. Егер бұл басталмаған болса, онда While-тен кейін бағдарламаның дұрыс жұмыс істемеуіне әкелетін бір ғана оператор орындалды. Соңындағы While операторын аяқтау үшін соңын жазамыз.

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 операторы if шартымен келесі жұмысты аяқтайды:

Жазыңыз (m, 'минут (-тар) және', с: 1: 2, 'секунд (-тар)')

Соңы;

Функция: 1: 2 секундтар екі ондық таңбамен жазылуы керек дегенді білдіреді.

11-қадам

Егер секундтар 60-тан аз болса, онда екі үтірден кейін қанша секунд өткенін жазыңыз:

егер мен <60 болса

Жазыңыз ('', i: 1: 2, 'секунд (а / с)');

12-қадам

Егер секундтар 3600-ден көп болса (яғни, бір сағаттан артық), онда:

егер мен> 3600 болса, бастаймын

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Жазыңыз (ch, 'сағат (-тар)', m, 'минуттар (-тар) және', с: 1: 2, 'секундтар)');

Соңы;

13-қадам

Сонымен, бағдарлама 0 секунд өтті деп жазды, енді ол есептегішті 10 миллисекундқа арттырады және бағдарлама бәрін бірден жасайтындықтан, біз сол уақытта кідіріс жасаймыз:

i: = i + 0,01;

Кешігу (10);

Әрі қарай, біз (кнопкалық емес) операторының соңын жасаймыз:

Соңы;

Егер пайдаланушы Enter пернесін басқан болса, бағдарлама секундомерді қайта қосу үшін оны қайтадан басқанша күтеді:

Readln;

Readln;

While (true) операторынан кейін есептегішті нөлге қойғанымыз кездейсоқ емес, өйткені пайдаланушы Enter пернесін екінші рет басқанда, бағдарлама сол жерден басталып, есептегішті қалпына келтіріп, қайта санауды бастайды.

Әрі қарай, біз бағдарламаны аяқтаймыз:

Соңы;

14-қадам

Бағдарламаның толық нұсқасы:

қолданады

CRT;

var

мен: нақты;

s: нақты;

м: нақты;

ch: нақты;

баста

SetWindowTitle ('секундомер');

TextColor (LightGreen);

WriteLn ('Секундомерді бастау үшін Enter пернесін басыңыз');

WriteLn ('Тоқтату үшін тағы бір рет басыңыз');

Жазыңыз ('Басынан бастау үшін тағы бір рет басыңыз');

ReadLn;

ал (шын) жасайды

баста

i: = 0;

пернелер басылмаған кезде

баста

ClrScr;

егер (i> 60) және (i <3600) болса, бастаймыз

m: = Int (i / 60);

s: = i - m * 60;

Жазыңыз (m, 'минут (-тар) және', с: 1: 2, 'секунд (-тар)')

Соңы;

егер мен <60 болса

Жазыңыз ('', i: 1: 2, 'секунд (а / с)');

егер мен> 3600 болса, бастаймын

m: = Int (i / 60);

s: = i - m * 60;

ch: = Int (m / 60);

m: = m - ch * 60;

Жазыңыз (ch, 'сағат (-тар)', m, 'минуттар (-тар) және', с: 1: 2, 'секундтар)');

Соңы;

i: = i + 0,01;

Кешігу (10);

Соңы;

Readln;

Readln;

Соңы;

Соңы.

Кескін
Кескін

15-қадам

Бұл өте жақсы болмады, бірақ бағдарлама дұрыс жұмыс істейді!

Ұсынылған: