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

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

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

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

فيديو: كيفية عمل برنامج ساعة توقيت في باسكال
فيديو: أول ساعة خشبية تكتب الوقت كل دقيقة 2024, شهر نوفمبر
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

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

موصى به: