كيفية عمل برنامج ساعة توقيت في باسكال

كيفية عمل برنامج ساعة توقيت في باسكال
كيفية عمل برنامج ساعة توقيت في باسكال

جدول المحتويات:

Anonim
كيفية عمل برنامج ساعة توقيت في باسكال
كيفية عمل برنامج ساعة توقيت في باسكال

ضروري

بيئة برمجة PascalABC. NET أو PascalTurbo

تعليمات

الخطوة 1

لذا ، أولاً ، لنفتح البرنامج. دعونا ننشئ ملفًا جديدًا ونحدد الإضافات. في هذه الحالة ، نحتاج إلى وحدة نمطية للعمل مع وحدة التحكم - CRT.

لهذا سنكتب:

الاستخدامات

CRT ؛

الخطوة 2

دعنا نشير إلى المتغيرات i و s و m - متغيرات من النوع الحقيقي.

فار

أنا ، ق ، م: حقيقي ؛

الخطوه 3

لبدء البرنامج ، اكتب:

يبدأ

وسنشير إلى عنوان نافذة وحدة التحكم:

SetWindowTitle ('Stopwatch') ؛

الخطوة 4

يعيّن إجراء TextColor لونًا للنص ، وتعرض عبارة Write النص على الشاشة:

TextColor (LightGreen) ؛

WriteLn ('اضغط Enter لبدء ساعة التوقيف') ؛

WriteLn ('اضغط مرة أخرى للإيقاف') ؛

اكتب ("انقر مرة أخرى للبدء من جديد") ؛

ينتقل Ln المنتهي إلى السطر التالي.

الخطوة الخامسة

يقوم عامل التشغيل ReadLn بإدخال القيم من لوحة المفاتيح ، ولكنه في هذه الحالة ينتظر فقط أن يقوم المستخدم بالضغط على Enter:

قراءة

الخطوة 6

نصنع حلقة لا نهاية لها:

بينما (صحيح) تفعل

يبدأ

بينما (صحيح) تبدأ الإنشاء تترجم على النحو التالي: while (condition) do (). لماذا تبدأ هنا؟

في هذه الحالة ، نحتاج إلى عامل مركب ، مما يعني أنه في حين أن الشرط صحيح ، يتم تنفيذ العديد من العوامل. إذا لم تكن البداية ، فبعد الوقت ، تم تنفيذ جملة واحدة فقط ، مما قد يؤدي إلى تشغيل البرنامج بشكل غير صحيح. لإنهاء جملة while في النهاية ، نكتب end.

الخطوة 7

الآن دعنا نعيد ضبط العداد:

أنا: = 0 ؛

الخطوة 8

يتم ترجمة العبارة التالية على النحو التالي: حتى يتم الضغط على مفتاح do ().

بينما لا يتم الضغط عليه

يبدأ

عامل ClrScr يمسح الشاشة:

ClrScr.

الخطوة 9

قمنا بتعيين الشرط: إذا كانت الثواني أكثر من 60 وأقل من 3600 (هذا ضروري بحيث عندما يكون الوقت أكثر من ساعة ، فإن البرنامج يطبع فقط ما هو بعد الثالث إذا) ثم:

إذا (i> 60) و (i <3600) فابدأ

المتغير م (دقائق) يساوي: ثانية مقسومة على 60 ومقربة للأمام.

م: = Int (i / 60) ؛

والمتغير s (الثواني بدون دقائق) يساوي: كل الثواني مطروحًا منها الدقائق مضروبًا في 60.

s: = أنا - م * 60 ؛

الخطوة 10

تكتب عبارة الكتابة عدد الدقائق والثواني التي مرت ، وتنتهي جملة النهاية عمل البدء باتباع شرط if:

اكتب (m، 'minutes (s) and'، s: 1: 2، 'seconds (s)')

نهاية؛

الوظيفة: 1: 2 تعني أنه يجب كتابة الثواني بمنزلتين عشريتين.

الخطوة 11

إذا كانت الثواني أقل من 60 ، فاكتب فقط عدد الثواني التي مرت مع منزلتين عشريتين:

إذا كنت أقل من 60 ثم

اكتب ("، i: 1: 2،" seconds (a / s) ") ؛

الخطوة 12

إذا كانت الثواني أكثر من 3600 (أي أكثر من ساعة) ، فحينئذٍ:

إذا كنت> 3600 ثم ابدأ

م: = Int (i / 60) ؛

s: = أنا - م * 60 ؛

ch: = Int (م / 60) ؛

م: = م - الفصل * 60 ؛

اكتب (ch، 'hour (s)'، m، 'minutes (s) and'، s: 1: 2، 'seconds (s)') ؛

نهاية؛

الخطوة 13

لذلك ، كتب البرنامج أن 0 ثانية مرت ، والآن يزيد العداد i بمقدار 10 مللي ثانية ، وبما أن البرنامج يقوم بكل شيء على الفور ، فإننا نتأخر في نفس الوقت:

أنا: = أنا + 0.01 ؛

تأخير (10) ؛

بعد ذلك ، نضع نهاية العبارة while (not keypressed):

نهاية؛

إذا ضغط المستخدم على مفتاح Enter ، فسينتظره البرنامج حتى يضغط عليه مرة أخرى لبدء ساعة الإيقاف مرة أخرى:

قراءة

قراءة

ليس من قبيل المصادفة أننا قمنا بتعيين العداد على صفر بعد العبارة while (true) ، لأنه عندما يضغط المستخدم على Enter مرة ثانية ، سيبدأ البرنامج من هناك ، ويعيد ضبط العداد ويبدأ العد مرة أخرى.

بعد ذلك ، ننتهي أثناء البرنامج بأكمله:

نهاية؛

الخطوة 14

هنا البرنامج الكامل:

الاستخدامات

CRT ؛

فار

أنا: حقيقي ؛

s: حقيقي ؛

م: حقيقي ؛

ch: حقيقي ؛

يبدأ

SetWindowTitle ('Stopwatch') ؛

TextColor (LightGreen) ؛

WriteLn ('اضغط Enter لبدء ساعة التوقيف') ؛

WriteLn ('اضغط مرة أخرى للإيقاف') ؛

اكتب ("انقر مرة أخرى للبدء من جديد") ؛

قراءة

بينما (صحيح) تفعل

يبدأ

أنا: = 0 ؛

أثناء عدم الضغط على مفتاح القيام به

يبدأ

ClrScr.

إذا (i> 60) و (i <3600) فابدأ

م: = Int (i / 60) ؛

s: = أنا - م * 60 ؛

اكتب (m، 'minutes (s) and'، s: 1: 2، 'seconds (s)')

نهاية؛

إذا كنت أقل من 60 ثم

اكتب ("، i: 1: 2،" seconds (a / s) ") ؛

إذا كنت> 3600 ثم ابدأ

م: = Int (i / 60) ؛

s: = أنا - م * 60 ؛

ch: = Int (م / 60) ؛

م: = م - الفصل * 60 ؛

اكتب (ch، 'hour (s)'، m، 'minutes (s) and'، s: 1: 2، 'seconds (s)') ؛

نهاية؛

أنا: = أنا + 0.01 ؛

تأخير (10) ؛

نهاية؛

قراءة

قراءة

نهاية؛

نهاية.

صورة
صورة

الخطوة 15

اتضح أنه ليس لطيفًا جدًا ، لكن البرنامج يعمل بشكل صحيح!

موصى به: