ضروری است
محیط برنامه نویسی 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 شروع می شود به این صورت ترجمه می شود: while (شرط) do (). چرا اینجا شروع می شود؟
در این حالت ، ما به یک عملگر مرکب نیاز داریم ، به این معنی که اگرچه شرط درست است ، چندین عملگر اجرا می شوند. اگر برای شروع نبود ، پس از while ، فقط یک عبارت اجرا شد ، که منجر به عملکرد نادرست برنامه می شود. برای پایان دادن به عبارت while در پایان ، end را می نویسیم.
مرحله 7
حالا بیایید پیشخوان را تنظیم مجدد کنیم:
من: = 0؛
مرحله 8
عبارت زیر به صورت زیر ترجمه می شود: تا زمانی که کلید do () فشار داده نشود.
در حالی که فشرده نشده است
شروع
عملگر ClrScr صفحه را پاک می کند:
ClrScr ؛
مرحله 9
ما شرط را تعیین می کنیم: اگر ثانیه ها بیشتر از 60 و کمتر از 3600 باشد (این لازم است تا وقتی زمان بیش از یک ساعت است ، برنامه فقط آنچه را که بعد از سوم است اگر چاپ کند):
اگر (i> 60) و (i <3600) سپس شروع کنید
متغیر m (دقیقه) برابر است با: ثانیه تقسیم بر 60 و گرد به جلو.
m: = Int (i / 60) ؛
و متغیر s (ثانیه بدون دقیقه) برابر است با: تمام ثانیه ها منهای دقیقه ضربدر 60.
s: = من - متر * 60 ؛
مرحله 10
بیانیه نوشتن می نویسد که چند دقیقه و ثانیه گذشته است ، و دستور پایان کار شروع به دنبال شرط if را پایان می دهد:
نوشتن (متر ، دقیقه و ثانیه ، ثانیه: 1: 2 ، ثانیه (ثانیه))
پایان؛
تابع: 1: 2 به این معنی است که ثانیه ها باید با دو رقم اعشار نوشته شوند.
مرحله 11
اگر ثانیه ها کمتر از 60 است ، فقط کافی است بنویسید که چند ثانیه با دو رقم اعشار گذشته است:
اگر من <60 هستم
بنویسید (''، i: 1: 2، 'seconds (a / s)')؛
مرحله 12
اگر ثانیه ها بیش از 3600 باشد (یعنی بیش از یک ساعت) ،
اگر من> 3600 هستم ، پس شروع کن
m: = Int (i / 60) ؛
s: = من - متر * 60 ؛
ch: = Int (m / 60) ؛
m: = m - ch * 60 ؛
نوشتن (ch ، 'ساعت (ها)' ، m ، 'دقیقه (ها) و' ، s: 1: 2 ، 'ثانیه (ها)')؛
پایان؛
مرحله 13
بنابراین ، برنامه نوشت که 0 ثانیه گذشته است ، اکنون شمارنده i را 10 میلی ثانیه افزایش می دهد ، و از آنجا که برنامه همه کارها را فوری انجام می دهد ، برای همان زمان تأخیر ایجاد می کنیم:
من: = من + 0.01 ؛
تأخیر (10)
بعد ، انتهای عبارت (نه فشار داده شده) را خاتمه می دهیم:
پایان؛
اگر کاربر کلید Enter را فشار داد ، برنامه منتظر می ماند تا دوباره آن را فشار دهد تا کرنومتر دوباره شروع شود:
Readln ؛
Readln ؛
تصادفی نیست که ما بعد از عبارت (صحیح) شمارنده را روی صفر قرار می دهیم ، زیرا وقتی کاربر برای بار دوم Enter را فشار می دهد ، برنامه از آنجا شروع می شود ، شمارنده را تنظیم می کنید و دوباره شمارش را شروع می کنید.
در مرحله بعدی ، while و برای کل برنامه را به پایان می رسانیم:
پایان؛
مرحله 14
این برنامه کامل است:
استفاده می کند
CRT
var
من: واقعی
s: واقعی؛
متر: واقعی
ch: واقعی؛
شروع
SetWindowTitle ('کرونومتر')؛
TextColor (LightGreen) ؛
WriteLn ('برای شروع کرونومتر Enter را فشار دهید')؛
WriteLn ('برای متوقف کردن دوباره فشار دهید')؛
بنویسید ("برای شروع دوباره دوباره کلیک کنید")؛
ReadLn ؛
در حالی که (واقعی) انجام دهید
شروع
من: = 0؛
در حالی که فشرده نشده است
شروع
ClrScr ؛
اگر (i> 60) و (i <3600) سپس شروع کنید
m: = Int (i / 60) ؛
s: = من - متر * 60 ؛
نوشتن (متر ، 'دقیقه (ها) و' ، ثانیه: 1: 2 ، 'ثانیه (ها))
پایان؛
اگر من <60 هستم
بنویسید (''، i: 1: 2، 'seconds (a / s)')؛
اگر من> 3600 هستم ، پس شروع کن
m: = Int (i / 60) ؛
s: = من - متر * 60 ؛
ch: = Int (m / 60) ؛
m: = m - ch * 60 ؛
نوشتن (ch ، 'ساعت (ها)' ، m ، 'دقیقه (ها) و' ، s: 1: 2 ، 'ثانیه (ها)')؛
پایان؛
من: = من + 0.01 ؛
تأخیر (10)
پایان؛
Readln ؛
Readln ؛
پایان؛
پایان.
مرحله 15
خیلی خوب نشد اما برنامه به درستی کار می کند!