هي نتيجة تنفيذ البيان. عامل مشروط؟ قيود استخدام المشغل

في الفقرة السابقة، تعرفنا على بنية البرنامج في باسكال، وتعلمنا كيفية وصف البيانات، ونظرنا إلى عامل التعيين. وهذا يكفي لكتابة برنامج تحويل البيانات. لكن نتيجة هذه التحولات لن تكون مرئية لنا.

لإخراج البيانات من ذاكرة الوصول العشوائييتم استخدام عامل إخراج الكتابة على شاشة المراقبة:

هنا، بين قوسين يتم وضع قائمة الإخراج - قائمة التعبيرات التي تتم طباعة قيمها. يمكن أن تكون هذه تعبيرات رقمية ورمزية ومنطقية، بما في ذلك المتغيرات والثوابت.

تعتبر مجموعة عشوائية من الأحرف المحاطة بفواصل عليا سلسلة ثابتة. يمكن أن يحتوي ثابت السلسلة على أي أحرف مكتوبة على لوحة المفاتيح.

مثال. يتم تنفيذ عبارة write ("s= , s") على النحو التالي:

  1. يتم عرض الرموز المحاطة بفواصل عليا على الشاشة: s=
  2. يتم عرض قيمة المتغير المخزن في خلية ذاكرة الوصول العشوائي (RAM) المسماة s على الشاشة.

إذا كانت قيمة المتغير s هي 15 وهو من النوع الصحيح، فستعرض الشاشة: s=15.

إذا كانت قيمة المتغير s هي 15 ولكنه من النوع الحقيقي فسيظهر على الشاشة ما يلي: s=l.5E+01.

عند تنفيذ بيان الإخراج، تتم طباعة كافة عناصر قائمة الإخراج مباشرة بعد بعضها البعض. وبالتالي، نتيجة لمشغل الكتابة (1، 20، 300)، سيتم عرض تسلسل الأرقام 120300 على الشاشة، والذي سننظر إليه على أنه الرقم 120300، وليس كثلاثة ثوابت رقمية منفصلة. يمكنك جعل بيانات الإخراج أكثر سهولة للإدراك بطرق مختلفة:

تنسيق الإخراجهو عدد صحيح يُشار إليه بعد النقطتين لتحديد عدد المواضع التي يجب أن تشغلها القيمة المعروضة على الشاشة. إذا كان هناك أرقام أقل في الرقم من المواضع المخصصة له على الشاشة، فسيتم استكمال المواضع الحرة بمسافات على يسار الرقم. إذا كان الرقم المحدد في تنسيق الإخراج بعد النقطتين أقل من اللازم، فسيتم زيادته تلقائيًا إلى الحد الأدنى المطلوب.

لإخراج رقم حقيقي بتنسيق النقطة الثابتة، يتم تحديد معلمتين في قائمة الإخراج لكل تعبير:

  1. إجمالي عدد المناصب المخصصة للعدد؛
  2. عدد المواضع في الجزء الكسري من الرقم.

عند تنفيذ عبارة كتابة جديدة، يستمر الإخراج على نفس السطر. للانتقال إلى سطر جديد، استخدم عامل التشغيل writeln. لا توجد اختلافات أخرى بين عبارات write و writeln.

4.2.2. أول برنامج بلغة باسكال

باستخدام العوامل التي تمت مناقشتها أعلاه، سنقوم بإنشاء برنامج يحسب محيط ومساحة دائرة نصف قطرها 5.4 سم.

البيانات الأولية في هذه المشكلة هي نصف القطر: r - 5.4 سم، ويجب أن تكون نتيجة البرنامج القيم C - المحيط وS - مساحة الدائرة. C وS وr هي كميات من النوع الحقيقي.

ترتبط البيانات والنتائج الأولية بالعلاقات المعروفة من مقرر الرياضيات: C = 2πr، S = πr +. سيبدو البرنامج الذي ينفذ العمليات الحسابية باستخدام هذه الصيغ كما يلي:

هذا البرنامج صحيح ويحل المشكلة عند تشغيله ستحصل على النتيجة التالية:

ومع ذلك، فإن البرنامج الذي قمنا بتجميعه له عيب كبير: فهو يجد محيط الدائرة ومساحتها لقيمة نصف قطر واحدة (5.4 سم).

من أجل حساب محيط ومساحة الدائرة لقيمة نصف قطر مختلفة، ستحتاج إلى إجراء تغييرات مباشرة على نص البرنامج، أي تغيير عامل التعيين. على أقل تقدير، فإن إجراء تغييرات على برنامج موجود ليس أمرًا مناسبًا دائمًا (على سبيل المثال، عندما يكون البرنامج كبيرًا وهناك العديد من عوامل التعيين). أدناه سوف تتعرف على عامل يسمح لك بإدخال البيانات الأولية أثناء تشغيل البرنامج، دون تغيير نص البرنامج.

4.2.3. إدخال لوحة المفاتيح

لإدخال قيم متغيرة في ذاكرة الوصول العشوائي (RAM)، استخدم عامل تشغيل قراءة الإدخال:

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

يتم وضع قيمة المتغير الأول الذي يدخله المستخدم في موقع الذاكرة الذي يقع اسمه أولاً في قائمة الإدخال وما إلى ذلك، ولذلك يجب أن تتوافق أنواع قيم الإدخال (دفق الإدخال) مع أنواع المتغيرات المحددة في المتغير قسم الوصف.

مثال. يترك

فار ط، ي: عدد صحيح؛ س: حقيقي؛ أ:شار؛

لنقم بتعيين المتغيرات i وj وx والقيم 1 و0 و2.5 و"A". للقيام بذلك، سوف نستخدم عامل القراءة (i، j، x، a) وننظم تدفق الإدخال بإحدى الطرق التالية:

لم نستخدم هنا محددات مختلفة (مسافة، فاصلة) فحسب، بل قمنا أيضًا بتمثيل تدفق الإدخال كسطر واحد وسطرين وأربعة أسطر.

يمكنك أيضًا استخدام عامل القراءة readln لإدخال البيانات من لوحة المفاتيح، والذي يختلف عن عامل القراءة فقط في أنه بعد تنفيذه، ينتقل المؤشر إلى سطر جديد.

دعونا نحسن البرنامج n_1 من خلال تنظيم إدخال البيانات فيه باستخدام عامل القراءة. ولكي يعرف المستخدم الغرض من البرنامج ويفهم الإجراء الذي يتوقعه الكمبيوتر منه، سنعرض الإجراء المقابل رسائل نصيةباستخدام عامل writeln:

نتيجة البرنامج المحسن:

الآن يستطيع برنامجنا حساب محيط ومساحة الدائرة لأي قيمة لـ r. وبعبارة أخرى، فإنه لا يحل مشكلة واحدة، بل مجموعة كاملة من المشاكل. بالإضافة إلى ذلك، يقوم البرنامج بتنظيم إدخال البيانات الأولية ومخرجات النتائج التي تم الحصول عليها بشكل واضح وسهل. وهذا يضمن واجهة مستخدم ودية.

الأكثر أهمية

لإدخال قيم متغيرة في ذاكرة الوصول العشوائي، يتم استخدام عوامل الإدخال readln و readln.

لإخراج البيانات من ذاكرة الوصول العشوائي (RAM) إلى شاشة المراقبة، يتم استخدام عوامل إخراج الكتابة والكتابة.

ينبغي تنظيم إدخال البيانات الأولية وإخراج النتائج بشكل واضح وسهل؛ وهذا يضمن واجهة مستخدم ودية.

الأسئلة والمهام

  1. اكتب عبارة تسمح لك بإدخال قيمة متغير المجموع أثناء تشغيل البرنامج.
  2. يجب تعيين المتغيرات الصحيحة i وy وk بالقيم 10 و20 و30 على التوالي. قم بتدوين بيان الإدخال المطابق لتدفق الإدخال:
      أ) 20 10 30
      ب) 30 20 10
      ج) 10 30 20
  3. وصف المتغيرات اللازمة لحساب مساحة المثلث بناءً على أضلاعه الثلاثة، وكتابة عبارة توفر البيانات المدخلة المطلوبة.
  4. ما هي نتيجة تنفيذ البيان؟
      أ) أكتب (أ)
      ب) اكتب (1 أ ")
      ج) اكتب (1 أ=1، أ)
  5. ما نوع المتغير f إذا ظهر الرقم التالي على الشاشة بعد تنفيذ عبارة الكتابة (f)؟
      أ) 125
      ب) 1.25E+2
  6. كيف يمكنني عرض عدد حقيقي بتنسيق نقطة ثابتة؟
  7. اكتب العوامل المستخدمة لإدخال رقمين وإخراجهما بترتيب عكسي.
  8. وهنا جزء من البرنامج:

    اقرأ)؛ قراءة (ب)؛ ج:=أ+ب; اكتب (أ، ب)؛ اكتب (ج)

    قم بتبسيطها عن طريق تقليل عدد بيانات الإدخال والإخراج.

  9. وهنا جزء من البرنامج:

    أ:=10; ب:=أ+ل: أ:=ب-أ؛ اكتب (أ، ب)

    ما هي الأرقام التي سيتم عرضها على شاشة الكمبيوتر؟

  10. اكتب برنامجًا يحسب مساحة ومحيط المستطيل بناءً على ضلعيه.

إخراج البيانات
إخراج البيانات من ذاكرة الوصول العشوائي (RAM) إلى شاشة المراقبة:
يكتب
(<выражение 1> ,< выражение 2> , ...,< выражение N>)
قائمة الإخراج
التعبيرات - الرمزية، الرقمية، المنطقية،
بما في ذلك المتغيرات والثوابت
مثال:
اكتب("ق =، ق).
بالنسبة إلى s=15 ستظهر الشاشة: s=15.
يتم عرض المعلومات الموجودة بين علامات الاقتباس على الشاشة
بدون تغيير

خيارات تنظيم الإخراج
خيار
تنظيم الانسحاب
لا فواصل
عامل الاستدلال
اكتب (1، 20، 300).
نتيجة
120300
إضافة محددات الكتابة (1، '،'، 20،
- الفواصل
’, ’, 300)
1, 20, 300
إضافة محددات الكتابة (1، ''، 2، ''، 3)
- مساحات
1 20 300

تنسيق الإخراج
يتيح لك تنسيق الإخراج ضبط عدد المواضع
على الشاشة التي تشغلها القيمة المعروضة.
الكتابة (ق:س:ص)
x - العدد الإجمالي للمناصب المخصصة للعدد؛
y - عدد المواضع في الجزء الكسري من الرقم.
عامل الاستدلال
نتيجة التنفيذ
المشغل أو العامل
write('s=', s:2:0);
ق=15
write('s=', s:3:1);
ق=15.0
write('s=', s:5:1);
ق=
com.writeln
15.0
- الإخراج من سطر جديد!

البرنامج الأول
البرنامج n_1؛
ثابت بي = 3.14 ؛
فار ص، ج، ق: حقيقي؛
يبدأ
ص:=5.4;
ج:=2*بي*ص;
نتيجة البرنامج:
ص:=بي*ص*ر;
writeln("c="", c:6:4);
writeln("s=", s:6:4)
توربو باسكال
الإصدار 7.0
نهاية.
ج =33.9120
ق =91.5624

إدخال لوحة المفاتيح
إدخال قيم متغيرة في ذاكرة الوصول العشوائي:
يقرأ
(<имя переменной1>, …, <имя переменной N>)
قائمة الإدخال
تنفيذ بيان القراءة:
1) يدخل الكمبيوتر في وضع الاستعداد للبيانات:
2) يقوم المستخدم بإدخال البيانات من لوحة المفاتيح:
قيم متغيرة متعددة
يمكن إدخال أنواع رقمية
مفصولة بمسافة أو فاصلة؛
عند إدخال متغيرات الأحرف
لا يمكن استخدام المسافات والفواصل؛
3) يقوم المستخدم بالضغط على مفتاح Enter.

إدخال لوحة المفاتيح
!
يجب أن تتطابق أنواع قيم الإدخال
أنواع المتغيرات المحددة في قسم الوصف
المتغيرات.
var i, j: عدد صحيح;x: حقيقي;a: char;
قراءة (ط، ي، س، أ)؛
خيارات لتنظيم دفق الإدخال:
1 0 2.5 أ 1,0 1
2.5، أ 0
2.5
أ
بعد تنفيذ عبارة readln، ينتقل المؤشر إلى
خط جديد.

برنامج محسن
البرنامج n_1؛
ثابت بي = 3.14 ؛
فار ص، ج، ق: حقيقي؛
يبدأ
writeln("احسب محيط الدائرة ومساحتها");
write("أدخل r>>");
readln(r);
ج:=2*بي*ص;
نتيجة البرنامج:
ص:=بي*ص*ر;
writeln("c="", c:6:4);
باسكال الإصدار 7.0
writeln("s=", s:6:4) توربو
حساب محيط ومساحة الدائرة
أدخل ص >> 8.5
نهاية.
ج =53.3800
ق = 226.8650

الأكثر أهمية
لإدخال قيم متغيرة في ذاكرة الوصول العشوائي
يتم استخدام عوامل الإدخال read و readln.
لعرض البيانات من ذاكرة الوصول العشوائي (RAM) على الشاشة
تستخدم الشاشة عوامل إخراج الكتابة والكتابة.
يجب إدخال البيانات الأولية وإخراج النتائج
أن تكون منظمة بشكل واضح ومريح؛ وهذا يضمن
سهولة استخدام واجهة المستخدم.

الأسئلة والمهام
1) بالنظر إلى جزء البرنامج:
أ:=10; ب:=أ+1: أ:=ب-أ؛ اكتب (أ، ب)
ما هي الأرقام التي سيتم عرضها على شاشة الكمبيوتر؟
2) وصف المتغيرات اللازمة للحساب
مساحة المثلث على جوانبه الثلاثة، و
كتابة بيان تقديم المدخلات
البيانات الأولية اللازمة.
3) ما هي نتيجة تنفيذ البيان؟
أ) أكتب (أ)
ب) الكتابة ("أ")
ج) الكتابة ("أ =، أ)
4) يجب تعيين المتغيرات الصحيحة i، j، k
على التوالي، القيم هي 10 و 20 و 30.
اكتب بيان الإدخال المطابق للإدخال
تدفق:
أ) 20 10 30
ب) 30 20 10
ج) 10،30،20

المشغل أو العاملهو عنصر لغة يحدد وصفًا كاملاً للإجراء الذي سيتم تنفيذه. كل عامل عبارة عن عبارة كاملة من لغة برمجة ويحدد مرحلة مكتملة بالكامل من معالجة البيانات. يمكن أن تتضمن عوامل التشغيل الكلمات الوظيفية والبيانات والتعبيرات وعوامل التشغيل الأخرى. في اللغة الإنجليزية هذا المفهوميُشار إليه بكلمة "بيان" والتي تعني أيضًا "اقتراح".

كل مشغل في أي لغة برمجة لديه محدد بناء الجملةو دلالات. تحت بناء الجملةيُفهم المشغل على أنه نظام من القواعد (القواعد) التي تحدد تسجيله باستخدام عناصر الأبجدية من هذه اللغة، والتي تتضمن، إلى جانب الرموز المختلفة، على سبيل المثال، الكلمات الوظيفية. تحت دلالاتعامل فهم معناها، أي. تلك الإجراءات التي تتوافق مع سجل مشغل معين. على سبيل المثال، سجل أنا:= أنا + 1هو مثال على التدوين الصحيح نحويا مهمة تشغيلفي لغة باسكال، ودلالاتها في هذه الحالة هي كما يلي: استخراج قيمة خلية الذاكرة المقابلة للمتغير i، وإضافتها بواحد، وكتابة النتيجة على نفس خلية الذاكرة.

في معظم لغات البرمجة الإجرائية، مجموعة العوامل هي نفسها تقريبًا وتتكون من عامل التعيين، وعوامل التحديد، وعوامل تشغيل الحلقة، وعامل استدعاء الإجراء، وعوامل تشغيل القفز. في بعض الأحيان يتم التمييز أيضًا بين العوامل الفارغة (بدون إجراء) والمركبة. العديد من العوامل هي وسيلة لتمثيل بنيات خوارزمية معينة (انظر " التصاميم الخوارزمية") في لغة البرمجة. دعونا نلقي نظرة على مجموعات العوامل بمزيد من التفصيل باستخدام بناء جملة لغة باسكال.

مهمة تشغيل

التعيين هو إجراء كمبيوتر ونتيجة لذلك يتلقى المتغير قيمة التعبير المحسوب (يتم وضعه في خلية الذاكرة المقابلة للمتغير). لوصف مثل هذا الإجراء في لغات البرمجة، هناك مهمة تشغيل.

بشكل عام، يتم كتابة عامل التعيين على النحو التالي:

<переменная> <знак присваивания> <выражение>

على سبيل المثال، في باسكال يتم استخدام مجموعة الرموز كإشارة إسناد: =. وفي عدد من اللغات الأخرى تعتبر علامة يساوي.

نتيجة تنفيذ عامل التعيين هو تغيير في حالة البيانات: جميع المتغيرات بخلاف عامل، الموجود على الجانب الأيسر من عامل التعيين، لا يغير معناه، بل المحدد عامليحصل على القيمة التعبيرات، يظهر على الجانب الأيمن من عامل المهمة. في معظم الحالات يشترط أن يكون هذا النوع التعبيراتمطابق للنوع عامل. إذا لم يكن الأمر كذلك، فسيتم اعتبار العامل غير صحيح من الناحية النحوية، أو يتم تحويل نوع التعبير إلى نوع المتغير (راجع " أنواع البيانات” ).

مشغلي الاختيار

يتم استدعاء هؤلاء المشغلين بشكل مختلف عبارات شرطية. تُستخدم العبارات الشرطية لبرمجة الخوارزميات التي تحتوي على البنية الخوارزمية المتفرعة.

هناك عدة أنواع من العبارات الشرطية في لغات البرمجة. تتوافق العبارة الشرطية الكاملة مع البنية الخوارزمية للتفرع الكامل:

في لغة البرمجة، العامل الشرطي المقابل له النموذج:

إذا ب ثم S1 آخر S2

إذا كان التعبير بوالتي تحسب عند بداية تنفيذ العبارة الشرطية وتكون قيمتها "صحيح" فيتم تنفيذ العبارة S1وإلا - المشغل S2. العاملين S1و S2قد تكون مركبة.

يتم تنفيذ البنية الخوارزمية للتفرع غير المكتمل باستخدام عامل شرطي غير مكتمل، والذي له النموذج:

إذا ب ثمس

هنا بهو تعبير منطقي، و س- المشغل التعسفي. المشغل أو العامل سسيتم تنفيذه إذا كان التعبير B صحيحًا.

إذا قام العامل الشرطي بتنفيذ فرعين فقط من الاختيارات ("نعم" و"لا")، فسيتم استخدامه عامل البديل (قضية-operator) يمكنك برمجة هيكل متعدد الفروع. يبدو عامل التشغيل المتغير كما يلي:

الحالة ه ل

إجراء هذا المشغلمثل هذا: معنى الإعراب هتم البحث بين القيم المدرجة في سجل المشغل V1، V2، …، Vnوإذا تم العثور على هذه القيمة، فسيتم تنفيذ العامل المقابل S1، S2، …، Sn.

في لغات البرمجة المختلفة، قد يختلف بناء الجملة وحتى دلالات العوامل المدرجة، ولكن الإمكانيات التي توفرها هذه الإنشاءات للمبرمج هي نفسها تقريبًا.

مثال 1.في المقالة " التصاميم الخوارزمية"2 تم تقديم مثال لكتابة خوارزمية لحل معادلة تربيعية معممة باستخدام الإنشاءات المتفرعة. فيما يلي جزء من برنامج في باسكال ينفذ نفس الخوارزمية:

لوأ = 0 ثم

لوب = 0 ثم

إذا ج = 0 ثم writeln("س - أي")

آخر writeln("لا يوجد جذور")

آخرريتيلن(-ج/ب)

آخر تبدأ

د:= ب*ب - 4*أ*ج;

لود< 0 ثم writeln("لا يوجد جذور")

آخر تبدأ

x1:= -b + sqrt(D);

x2:= -b - sqrt(D);

writeln(x1:0:2،"""، x2:0:2)

تصريحات حلقة

يقوم مشغلو الحلقات بتنفيذ هياكل خوارزمية دورية؛ ويتم استخدامها للإجراءات التي تتكرر عدة مرات. في العديد من لغات البرمجة، هناك ثلاثة أنواع من عوامل تشغيل الحلقة: "مع شرط مسبق"، "مع شرط لاحق"، "مع معلمة".

البنية الخوارزمية الضرورية والكافي لحلقات البرمجة هي حلقة "ذات شرط مسبق"، لذلك يمكن تسميتها بالنوع الرئيسي من الحلقات. يبدو مشغل الحلقة بشرط مسبق كما يلي:

بينما ب يفعلس

المشغل أو العامل س، والتي يتم من خلالها إنشاء حلقة للتنفيذ المتكرر يتم استدعاؤها جسم الحلقة. يتم تقليل تنفيذ مشغل الحلقة إلى التنفيذ المتكرر لجسم الحلقة حتى قيمة التعبير المنطقي بصحيح (حتى يصبح كاذبا). في الواقع، تنفذ عبارات الحلقة مثل هذه التنفيذ المتكرر للبيانات الشرطية لوب ثم S، في حين أن الشرط صحيح ب.

مثال 2. فكر في استخدام مشغل الحلقة هذا لحساب مجموع أرقام العدد الطبيعي ن:

بينمان>0 ابدأ

س:=س+ن عصري 10;

ن:= ن شعبة 10

في الحلقة ذات الشرط اللاحق، يسبق جسم الحلقة الشرط B. على عكس الحلقة ذات الشرط المسبق، هنا B هو الشرط لإنهاء الحلقة. مشغل الحلقة مع الشرط اللاحق في باسكال لديه النموذج:

كرر س حتىب

مع هذا التنظيم للدورة، جسد الدورة سيجب أن يتم تنفيذها مرة واحدة على الأقل.

يوجد في جميع اللغات الإجرائية تقريبًا مشغل الحلقة مع المعلمة. ويمكن تمثيلها بشكل تخطيطي مثل هذا:

ل< عامل > ه1 له2 خطوةه3 يفعلس

وهنا المعنى عامل(معلمة الدورة) تتغير من قيمة التعبير E1 إلى E2 في خطوات E3. لكل قيمة لمعلمة حلقة، يتم تنفيذ العامل S. في لغة باسكال، مفهوم الخطوة غائب في وصف هذا العامل، ويمكن أن تكون الخطوة نفسها لمعلمة حلقة صحيحة إما 1 أو -1. يتم استخدام عامل تشغيل "الحلقة ذات المعلمة" لبرمجة الحلقات بعدد محدد من التكرارات. إنها غير مناسبة لبرمجة الحلقات التكرارية (عدد التكرارات غير معروف مسبقًا).

عامل استدعاء الإجراء

في المقالة " الروتينات الفرعية" يصف بالتفصيل هذا النوع من الروتين الفرعي، مثل الإجراءات. يتم استدعاء إجراءات لغة البرمجة القياسية المضمنة في إحدى المكتبات الروتينية، بالإضافة إلى إجراءات المستخدم الموضحة داخل هذه الكتلة، باستخدام عامل التشغيل استدعاء الإجراء:

<имя процедуры>(E1،E2،…،أون)

هنا E1،E2،…،En عبارة عن متغيرات أو تعبيرات تمثل المعلمات الفعليةالوصول إلى الإجراء. الأكثر استخداما إجراءات موحدةهي إجراءات إدخال وإخراج البيانات (القراءة والكتابة بلغة باسكال).

إن استدعاء إجراء ما يعادل لغوياً تنفيذ الكتلة الموصوفة بأنها نص الإجراء، وذلك بعد تمرير القيم الأولية لبعض المتغيرات (معلمات القيمة) إليها أو استبدال أسماء بعض المتغيرات (معلمات متغيرة) بأسماء الإجراء. المتغيرات الفعلية المحددة عند استدعاء الإجراء.

مثال 3.دعونا نصف الإجراء ABC:

الإجراء ABC (أ، ب: عدد صحيح؛ فارج: عدد صحيح)؛

استدعاء هذا الإجراء abc(2,3,x) يعادل كتلة الإجراء:

مشغلي القفز

المشغل الأكثر شهرة في هذه المجموعة من المشغلين هو مشغل القفز غير المشروط اذهب إلى. إذا أضفت إلى كل أو بعض بيانات البرنامج الموجودة العلامات، ثم يصبح من الممكن في البرنامج استخدام عامل انتقال للنموذج:

اذهب إلى<метка>

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

مثال 4.لنفترض أننا بحاجة إلى تحديد ما إذا كانت المصفوفة ثنائية الأبعاد a تحتوي على عنصر يساوي 0:

لأنا:= 1 لن يفعل

ل ي:= 1 لن يفعل

إذا كان أ = 0 ثم ابدأ

1: لوب ثمالكتابة ("هو") آخراكتب("لا");

يجب ألا يحتوي البرنامج الذي تم تطويره وفقًا لقواعد البرمجة المنظمة على عوامل القفز غير المشروطة. البرنامج أعلاه دون استخدام المشغل اذهب إلىيمكن إعادة كتابتها على النحو التالي:

بينما لاب و(أنا< N) ابدأ

بينما لاب و(ي< N) ابدأ

لوأ = 0 ثمب:= صحيح؛

لوب ثمالكتابة ("هو") آخراكتب("لا");

في هذه الحالة، يكون البرنامج المنظم أقل وضوحًا من البرنامج الذي به اذهب إلى.

يمكن تعريف عوامل القفز الأخرى في لغات البرمجة. على سبيل المثال، في باسكال: استراحة(الانقطاع المبكر للحلقة، والانتقال إلى عبارة يجب تنفيذها بعد نهاية الحلقة)، يكمل(الإكمال المبكر لتكرار الحلقة الحالية والانتقال إلى الحلقة التالية)، مخرج(الانقطاع المبكر للروتين الفرعي، والخروج منه)، وقف(الانقطاع المبكر للبرنامج والانتقال إلى نهايته). توجد عوامل تشغيل مماثلة في اللغات C وC++ وJava.

عامل مركب

العبارة المركبة عبارة عن مجموعة من العبارات محاطة بين قوسين (في باسكال - يبدأنهاية; في C، C++ - (...)).

تم إدخال العامل المركب في لغات البرمجة لتسهيل وصف بنيات اللغة. على سبيل المثال، في باسكال، الجزء القابل للتنفيذ من كل كتلة (البرنامج، الإجراء، الوظيفة) هو عبارة مركبة واحدة. بنفس الطريقة تمامًا، يتكون جسم أي مشغل حلقة من مشغل واحد فقط، وربما عامل مركب. يمكن أن يكون بديل العامل المركب عبارة عن كلمة دالة تشير إلى نهاية عامل معين، على سبيل المثال، إنهاء إذاباللغة الأساسية.

عادةً ما تتم دراسة موضوع "مشغلي لغة البرمجة" فقط في سياق لغة برمجة معينة. عند النظر في ذلك، من المهم إظهار العلاقة بين الإنشاءات الخوارزمية الأساسية والمشغلين: تتم كتابة الإنشاءات الخوارزمية بلغة برمجة باستخدام العوامل المقابلة. والاستثناء، بمعنى ما، هو التصميم المتسلسل؛ فهو يحدد الترتيب الخطي للأفعال. يتم تنفيذ الإجراءات في برنامج خطي تمامًا فقط من خلال عبارات المهمة وبيانات استدعاء الإجراء.

في المرحلة الأولى من تعلم البرمجة، يواجه تلاميذ المدارس العديد من المشاكل. أول حاجز نفسي يتعين عليهم التغلب عليه هو تعلم مشغل المهمة. إحدى المهام الرئيسية التي تحتاج إلى حلها مع طلابك هي تبديل قيم متغيرين. يمكنك أن تطلب من تلاميذ المدارس حل مشكلة كيفية تبديل محتويات درجين، على سبيل المثال، مكتب. عادةً، في هذه المرحلة من المناقشة، يدرك الطلاب أن هناك حاجة إلى مربع ثالث (متغير) لحل المشكلة. ومع ذلك، عند كتابة هذه الخوارزمية، غالبًا ما يخلطون بين أي جزء من عامل التعيين (يسار أو يمين) يجب أن يظهر فيه متغير معين.

تنشأ الأخطاء في كتابة التعبيرات الحسابية والمنطقية بسبب الجهل بأسبقية العمليات المستخدمة في التعبير. في الوقت نفسه، لا تعني العمليات الحسابية فحسب، بل تعني أيضًا عمليات المقارنة والروابط المنطقية، وفي لغة C عملية التعيين، وهو أمر غير معتاد جدًا بالنسبة لأطفال المدارس. الوضع معقد بسبب حقيقة أن نفس العمليات في لغات البرمجة المختلفة لها أولويات نسبية مختلفة. يجب عليك أيضًا الانتباه إلى المراسلات بين أنواع المتغير والتعبير الموجود على الجانبين الأيسر والأيمن لمشغل التعيين (انظر " أنواع البيانات”).

عند إتقان عوامل الاختيار، من المفيد أن تجعل الطلاب يبرمجون خوارزمية تحتوي على بنية متعددة الفروع، باستخدام مجموعة من العبارات الشرطية واستخدام عوامل التحديد.

مثال.إلى متغير عدد صحيح نأدخل عمر الشخص بالسنوات. اكتب العبارة " عمري ك سنة"، لتحل محل الكلمة سنينعلى سنةأو من السنةاعتمادا على العدد ك. فيما يلي حلان لهذه المشكلة:

لوعصري 100) في

ثم writeln("أنا "،k،" سنة")

قضيةك عصري 10 ل

0,5..9:writeln("أنا ",k," سنة");

1:writeln("أنا ",k,"عمري سنة");

2..4:writeln("أنا ",k," سنة");

فار ك، ن: عدد صحيح؛

readln(ك); ن:= ك وزارة الدفاع 10؛

لوعصري 100) في

ثم writeln("أنا "،k،" سنة") آخر

لون = 1 ثم writeln("أنا "،ك،"عمري سنة")

لو(ن>=) و(ن<= 4)

ثم writeln("أنا "،k،" سنة")

آخر writeln("أنا "،k،" سنة")

عند النظر في مشغلي الحلقة، من المفيد اقتراح برمجة نفس المهمة بثلاث طرق مختلفة باستخدام ثلاثة مشغلي حلقة، والعكس صحيح، بناءً على شروط المشكلة، تعلم كيفية تحديد مشغل الحلقة الأكثر ملاءمة في حالة معينة.

عامل استدعاء الإجراء بسيط للوهلة الأولى. من المهم هنا شرح قواعد تمرير المعلمات إلى الإجراءات والوظائف، والفرق بين المعلمات المتغيرة ومعلمات القيمة (في الحالة الأخيرة، يمكننا ليس فقط تمرير اسم المتغير، ولكن أيضًا ثابت أو حتى تعبير عن المتغير المقابل يكتب). يجب أن تتوافق المعلمات الرسمية والفعلية في النوع، ولكن ليس في الاسم، وهو أمر بعيد عن الوضوح للطلاب.

تعد دراسة الجملة الشرطية وخاصة الجملة المركبة فرصة جيدة للتحدث مع الطلاب حول أسلوب كتابة البرنامج. هناك عدة طرق شائعة لكتابة برامج منظمة في باسكال، لكنها جميعها تتضمن مسافة بادئة لاستيعاب الهياكل المتداخلة. مهم لتسجيل البرامج والتعليقات.

يظهر رمز البرنامج في الشكل. 4.3-9.

خيار صارم على خيار صريح عند الواردات System.Math Public Class Form1 "وظيفة لإدخال إحداثيات نقطة في TextBox Function vvod(ByVal T As TextBox) As Single Return CSng(Val(T.Text)) End Function "إجراء لـ إخراج النتيجة في TextBox Sub vivod (ByVal Z As Single، ByVal T As TextBox) T.Text = CStr(Z) End Sub "وظيفة لحساب طول المقطع من إحداثيات نقطتين طول مقطع الوظيفة العامة (ByVal) x1 كمفرد، _ ByVal y1 كفرد، ByVal x2 كفرد، _ ByVal y2 كفرد) كإرجاع مفرد CSng(Sqrt((x2 - x1) ^ 2 + (y2 - y1) ^ 2)) نهاية الوظيفة "إجراء لـ حساب محيط ومساحة المثلث Sub PS (ByVal x1 كفرد، ByVal y1 كفرد، _ ByVal x2 كفرد، ByVal y2 كفرد، _ ByVal x3 كفرد، ByVal y3 كفرد، _ ByRef P كفرد ، ByRef S كمفرد) Dim A، B، C، Pp كمفرد A = طول المقطع (x1، y1، x2، y2)"استدعاء الدالة لحساب طول السالب. B = طول المقطع (x2، y2, x3, y3) C = طول القطعة (x3, y3, x1, y1) P = (A + B + C) : Pp = P / 2 S = CSng(Sqrt(Pp * (Pp - A) * (Pp - B) * (Pp - C))) End Sub "إجراء معالجة حدث النقر على الزر Button1 Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) يعالج Button1.Click خافت x1 كمفرد، x2 كمفرد، x3 كمفرد خافت y1 كمفرد، y2 كمفرد، y3 كخافت مفرد لكل مفرد، Plo كمفرد x1 = vvod(TextBox1) : x2 = vvod(TextBox2) : x3 = vvod( TextBox3) y1 = vvod(TextBox6) : y2 = vvod(TextBox7) : y3 = vvod(TextBox8) PS(x1, y1, x2, y2, x3, y3, Per, Plo) vivod(Plo, TextBox4) : vivod(Plo) ، TextBox5) End Sub Sub Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) يعالج Button2.Click End End Sub End Class

تشغيل التطبيق والحصول على النتائج

وتظهر النتيجة في الشكل. 4.3-10.

إثبات صحة النتيجة

أ=
= 2.82843 ب =
= 2

ج = = 2 ف = أ + ب + ج = 6.828427؛ Р = Р/2 = 3.414213 S= = 2


أسئلة أمنية حول هذا الموضوع

"هيكل برامج VB والوحدات والإجراءات.

أدوات البرمجة لخوارزميات البنية الخطية"

1. ما هو النموذج الرياضي؟

2. ما هي المراحل الرئيسية التي ينطوي عليها حل المشاكل على جهاز الكمبيوتر؟

3. ما هي مراحل حل مشاكل الكمبيوتر التي تتم دون مشاركة الكمبيوتر؟

4. ما يسمى النموذج الرياضي لكائن أو ظاهرة؟

5. ما هي الخطوات المتسلسلة في عملية تطوير البرنامج؟

6. ما هي الخوارزمية؟

7. ما هي الخصائص الأساسية التي يجب أن تمتلكها الخوارزمية؟

8. ما هي الطرق الموجودة لوصف الخوارزميات؟

9. ما هي الرموز الرسومية التي يتم تصويرها عادةً في مخططات الخوارزمية؟

10. كيف يعمل المترجم؟

11. كيف يعمل المترجم؟

12. ما هي الخوارزمية التي تسمى الخطية؟

13. ما هي الخوارزمية التي تسمى دورية؟

14. ما هي الخوارزمية التي تسمى التفرع؟

15. ما الفرق بين تمرير نتائج الوظائف والإجراءات؟

16. هل الحصول على نتيجة معقولة يثبت صحة البرنامج؟

17. ما هي الأخطاء التي قد تظل غير مكتشفة إذا لم تقم بفحص (عرض، تمرير) البرنامج؟

18. كيف يختلف اختبار البرنامج عن تصحيحه؟

19. هل يمكن إثبات صحة برنامج باستخدام الاختبار؟

20. في أي مرحلة من البرنامج يتم حساب نتائج الاختبار المرجعي؟

21. اذكر المراحل الرئيسية لعملية الاختبار.

22. ما الفرق بين الأخطاء النحوية والأخطاء الدلالية؟

23. ما الذي يشير إليه عدم وجود رسائل خطأ في بناء الجملة في الجهاز؟

24. ما هي أنواع الأخطاء التي لا يستطيع المترجم اكتشافها؟

25. ما هو البرنامج؟

26. في أي مرحلة يتم البحث عن الأخطاء في البرنامج وإزالتها؟

27. ما هو نظام البرمجة؟

28. ما هو الإجراء؟

29. ما هي فوائد البرنامج الذي لديه إجراءات؟

30. ما هي أدوات البرمجة الإجرائية المتوفرة في VB؟

31. كيف يتم تبادل البيانات بين إجراءات البرنامج الفردية؟

32. ما هي المعلمات الفعلية والرسمية؟

33. كيفية تمرير كمعلمة: ثابت، متغير، تعبير؟

34. كيف يتم استخدام المتغيرات العالمية؟

35. كيف يتم استخدام المتغيرات المحلية؟

36. ما هي المعلمات الرسمية؟

37. ما هي المعلمات الفعلية؟

38. ماذا يحدث عندما يتم استدعاء الإجراء؟

39. كيف يمكن تمرير المعلمات إلى الإجراء؟

40. ما هي المعلمات التي يتم تمريرها حسب القيمة؟

41. ما هي المعلمات التي يتم تمريرها إلى العنوان؟

42. ما هي أدوات البرمجة الإجرائية؟

43. ما هي نتيجة تنفيذ الوظيفة؟

44. كيف ينبغي الإعلان عن المتغيرات الفردية بحيث تكون محلية داخل الدالة؟

45. ما العبارة المستخدمة للخروج من الوظيفة مبكرًا؟

46. ما الذي يتم التحكم فيه عند استدعاء الوظائف والإجراءات؟

47. كيف يجب الإعلان عن المعلمات الرسمية لتمرير معلمة متغيرة حسب القيمة؟

48. كيف يجب الإعلان عن المعلمات الرسمية لتمرير معلمة متغيرة إلى عنوان؟

49. كيف يتم استدعاء إجراء دالة من برنامج الاستدعاء؟

50. ماذا يمكن أن تكون نتيجة هذا الإجراء؟

51. ما العبارة المستخدمة للخروج من الإجراء مبكرًا؟

52. أين يمكن العثور على وصف الوظائف والإجراءات؟

53. أين سيكون المتغير المعلن باستخدام المشغل العام متاحًا؟

54. أين يمكن أن يقع المشغل الخاص؟

55. ما هو التعليق وقواعد كتابته؟

56. ما هي قيم المتغيرات في بداية البرنامج؟

57. لماذا يتم وصف (تحديد) الإجراءات والوظائف؟

58. كيف تسمى الإجراءات؟

59. كيف تسمى الوظائف؟


معلومات ذات صله.





قمة