دورة مع المعبود بعد الشرط. دورات وشروط في لغة المعبود. القيم الجدولية والعمل معها

الحلقات والفروع المتداخلة في نظام KUMIR

أحد المفاهيم الأساسية في علوم الكمبيوتر هو مفهوم الخوارزمية. يرتبط أصل مصطلح "الخوارزمية" نفسه بالرياضيات. تأتي هذه الكلمة من الخوارزمية - التهجئة اللاتينية لاسم محمد الخوارزمي (787 - 850) ، عالم رياضيات بارز من الشرق في العصور الوسطى. في كتابه "في الحساب الهندي" ، صاغ قواعد كتابة الأعداد الطبيعية باستخدام الأرقام العربية وقواعد التلاعب بها في عمود.

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

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

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

هذه الخصائص هي:

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

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

فعالية (محدودية) - يجب أن تؤدي الخوارزمية إلى حل المشكلة في عدد محدود من الخطوات.

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

طرق تسجيل الخوارزمية

يتم استخدام مجموعة متنوعة من الأدوات لتسجيل الخوارزميات. يتم تحديد اختيار الأداة حسب نوع الخوارزمية التي يتم تنفيذها.

هناك الطرق الرئيسية التالية لكتابة الخوارزميات:

- لفظي عندما يتم وصف الخوارزمية بلغة بشرية (طبيعية). اللغات الوطنية طبيعية (الروسية ، الإنجليزية ، الألمانية ، إلخ) ؛

- رمزي عندما يتم وصف الخوارزمية باستخدام مجموعة من الأحرف وهي عبارة عن برنامج (تتم كتابة البرامج باستخدام لغات البرمجة) ؛

- رسم عندما يتم وصف الخوارزمية باستخدام المجموعة الصور الرسومية(مخطط كتلة).

طرق التسجيل المقبولة بشكل عام هيالتسجيل الرسومي باستخدام مخططات الكتلة وتدوين الشخصية بمساعدة بعض اللغات الخوارزمية - برنامج.

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

نظام البرمجة KUMIR

عند إتقان موضوع الخوارزميات ، سوف نستخدم نظام البرمجة KUMIR.

كومير (مجموعة من العوالم التعليمية) هو نظام برمجة مصمم لدعم الدورات الأوليةعلوم الكمبيوتر والبرمجة في المدارس الثانوية والثانوية.

يستخدم نظام Kumir لغة خوارزمية مدرسية مع مفردات روسية ومنفذين مدمجين Robot and Draughtsman ، إلخ.

عند الدخول إلى البرنامج ، يراقب Kumir باستمرار صحته ، ويبلغ في مجالات البرنامج عن جميع الأخطاء التي يجدها.

عندما يتم تنفيذ البرنامج خطوة بخطوة ، يعرض Kumir نتائج عمليات التخصيص وقيم التعبيرات المنطقية في الحقول. يتيح لك ذلك تسريع عملية إتقان أساسيات البرمجة.

روبوت فنان الجرافيك

يسمح لك برنامج Graphic Performer Robot بإتقان أساسيات البرمجة وفهم عمل الهياكل الخوارزمية الأساسية.

مصصم جرافكهو موضوع الإدارة. حزمةسنفعلها معك.

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

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

ص
يمكن لـ OBOT تنفيذ الأوامر
: أعلى ، أسفل ، يمين ، يسار ، ارسم فوق.

يمكن للروبوت التحقق من الظروف : أعلى حر ، أسفل حر ، يمين حر ، يسار حر ، إضافة الجسيمات ليس يعكس الحالة. لا يخلو من فوق ، ولا خالي من أسفل ، ولا حُرًا على اليمين ، ولا حرًا من اليسار.

الهياكل الأساسية الخوارزمية

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

    سنكتب الخوارزميات على كل من لغة المدرسة وفي شكل مخططات كتلة.

الهيكل الخطي

الهيكل الخطي هي أبسط تنظيم للخوارزميات - يتم تنفيذ الأوامر بالتتابع واحدة تلو الأخرى

مثال:

هيكل دوري (دورة)

    هيكل دوري (دورة) يوفر تنفيذًا متعددًا لنفس الأوامر. هناك عدة أنواع من الهياكل الحلقية.

    يتكون أي هيكل دوري من جزأين -عنوانو جسم الحلقة.

    يتم استدعاء مجموعة الأوامر التي تتكرر أثناء تنفيذ الحلقةجسم الدورة.

    عنوان يحدد عدد مرات تكرار جسم الحلقة.

دورة لعدد مرات التكرار (مرات)

nts ن ذات مرة

<команда>

عقدة

ص مثال:

استعمال إنسان آلي
alg عمود

مبكرا
.
nts 5 ذات مرة
... ... رسم أكثر
... ... فوق
.
عقدة

يخدع

التكرار بشروط مسبقة (في الوقت الحالي)

(الدخول في لغة حسابية)

nts وداعا <условие>

<команда>

ل ج

مثال:

استعمال إنسان آلي
alg خط

مبكرا

nts وداعا خالية من فوق
رسم أكثر
فوق
عقدة

يخدع

حلقة مع حالة لاحقة (في)

(مكتوب بلغة حسابية)

ن ج

<команда>

kts_with <условие>

مثال:

استعمال إنسان آلي
alg خط

مبكرا
nts

رسم أكثر؛ فوق

kts_with غادر بحرية

يخدع

هيكل المتفرعة.

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

    لتنفيذ هيكل "المتفرعة" ، يتم استخدام أمرين منظمين للمدرسة AY - إذا كان اختيارًا ، فقد يكون كل منهما مكتملًا وغير مكتمل.

    في المخططات الكتلية والمدرسة AY<условие>- هو - هي تعبير منطقي، والذي يمكن أن ينتج عنه إحدى القيمتين المحتملتين -صحيحأو يكذب أو ملقاه. في لغة المدرسة ، يتم تسجيل هذه القيم على أنها نعم ولا. غالبًا ما تستخدم القيم في لغات البرمجةصحيحو خطأ شنيع... يقوم الكمبيوتر بتخزين هذه القيم على أنها 1 و 0.

المتفرعة الكاملة

(مكتوب بلغة حسابية)

ه إذا <условие>
. .
ومن بعد <команда1>
. .
غير ذلك <команда2>
الكل

مثال:

استعمال إنسان آلي
alg Branch_full

مبكرا
.
إذا خالية من فوق
. .
ومن بعد فوق
. .
غير ذلك تحت
.
الكل

يخدع

المتفرعة غير المكتملة

(مكتوب بلغة حسابية)

ه إذا <условие>
. .
ومن بعد <команда1>
الكل

مثال:

استعمال إنسان آلي
alg فرع_مكتمل

مبكرا
.
إذا خالية من فوق
. .
ومن بعد فوق
.
الكل

يخدع

الخوارزمية المساعدة (الإجراء)

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

    تسمى الخوارزمية المساعدة المكتوبة بلغة برمجة إجراء فرعي أو إجراء.

    يتم استدعاء الخوارزمية المساعدة من البرنامج الرئيسي من خلال الاسم. تتم كتابة الخوارزمية المساعدة بعد الخوارزمية الرئيسية. يملك خوارزمية مساعدةيجب أن يكون هناك اسم.

استعمال إنسان آلي
alg
مبكرا
تحت

ميدان
تحت

تحت
يخدع

مربع alg
مبكرا

رسم أكثر

إلى اليمين

رسم أكثر

تحت

رسم أكثر

إلى اليسار

رسم أكثر
يخدع

حلقات متداخلة وفروع

عند حل بعض المشكلات باستخدام الروبوت ، من الضروري استخدام حلقات أو فروع متداخلة.

ج يسمى icl متداخلة إذا كانت متداخلة داخل حلقة أخرى.

لنفكر في حلقة متداخلة باستخدام حلقة في الوقت الحالي كمثال.

نحن نعلم أن الحلقة تتكون من رأس حلقة تحدد عدد المرات التي يتكرر فيها جسم الحلقة.

جسم الحلقة هو جزء الحلقة الذي يتكرر عند تنفيذ الحلقة.

يمكن أن يكون جسم الحلقة أمرًا أو أوامر متعددة أو حلقة أو فرعًا آخر.

في الحالة التي يكون فيها جسم الحلقة عبارة عن حلقة أو فرع آخر ، يتم تسميتها متداخلة.

حلقة متداخلة

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

فرع متداخل

ضع في اعتبارك حل مشكلة الفروع والحلقات المتداخلة:

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

استعمال إنسان آلي alg مبكرا
.
nts وداعا على اليمينمع بحرية
nts وداعا من الأسفل بحرية
. رسم أكثر؛
إلى اليمين
. .
عقدة
... ... إلى اليمين
.
عقدة يخدع مع
دعنا نترك الخوارزمية لحل المشكلة بحلقة خارجية في الوقت الحالي وحلقة متداخلة في الوقت الحالي.

ص نحل نفس المشكلة باستخدام الحلقة الخارجية في الوقت الحالي والمتفرعة المتداخلة.

لنحل المشكلة نفسها باستخدام الحلقة الخارجية عند والحلقة المتداخلة في الوقت الحالي.

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

في ذلك ، يمكن للطلاب اكتساب مهارات عملية في إنشاء وتصحيح خوارزمية ، والعمل مع فنانين مثل Robot و Draughtsman و Aquarius و Grasshopper و Turtle.

عند دراسة أحد أصعب أقسام علوم الحاسب "الخوارزميات والبرمجة".

الغرض من التطوير :

تحميل:


معاينة:

التطوير المنهجي في المعلوماتية.

الموضوع: "الروبوت المؤدي في برنامج كومير في دروس علوم الكمبيوتر"

مدرس تكنولوجيا "المعلوماتية وتكنولوجيا المعلومات والاتصالات"

ملاحظة توضيحية

هدف التنمية: لدراسة إمكانيات البرمجة على مثال روبوت منفذ معين باستخدام بيئة IDC ؛ لإعطاء المهارات العملية للعمل مع المؤدي.

التطوير المنهجيتم تجميعها لدروس المعلوماتيةتدرب على الكمبيوتر: العمل مع منفذ التدريب على الخوارزميات ؛ وضع خوارزميات خطية ومتفرعة ودورية لتنفيذ التحكم ؛ تجميع الخوارزميات ذات البنية المعقدة ؛ استخدام الخوارزميات المساعدة (الإجراءات ، الإجراءات الفرعية).

يجب أن يعرف الطلاب:

  • ما هو المؤدي SKI Robot ، بيئة أداء الروبوت ؛
  • ما هي الخوارزميةما هي الخصائص الرئيسية للخوارزمية؟
  • طرق كتابة الخوارزميات: المخططات القُطرية ، واللغة الخوارزمية التعليمية ؛الإنشاءات الخوارزمية الأساسية: التالية ، المتفرعة ، الحلقة ؛ الهياكل
  • الخوارزميات. ⇒ تخصيص الخوارزميات المساعدة ؛ تقنيات بناء الخوارزميات المعقدة:

يجب أن يكون الطلاب قادرين على:

  • فهم أوصاف الخوارزميات في لغة الخوارزميات التعليمية ؛
  • تتبع الخوارزمية لفناني الأداء المعروف ؛
  • يؤلف خوارزميات تحكم خطية ومتفرعة ودورية للروبوت المنفذ ؛ تسليط الضوء على المهام الفرعية ؛ تحديد واستخدام الخوارزميات المساعدة.

الدرس 1 (2 ساعة) الدرس 1.

فنان روبوت.نظام أوامر المنفذ.

خطة الدرس.

  1. وصف SKI لفناني الأداء ، بيئة المؤدي.

2. تحليل الخوارزميات النموذجية للروبوت.

خلال الفصول.

النظر في وصف المؤدي.

بيئة الفنان: Performer الروبوت قادر على الإبحار في متاهة مرسومة على طائرة مقسمة إلى خلايا.

روبوت SKI : أوامر بسيطة: أعلى ، أسفل ، يسار ، يمين ، ارسم فوق.

أوامر منطقية: (فحص الشرط)

أعلى مجانا أسفل مجانا

ترك الحق الحر مجانا.

الوصلات المنطقية: AND، NOT، OR:

مثال: (ليس اليسار مجانيًا) أو (ليس حقًا مجانيًا)

قيادة الفرع: أمر حلقة:

إذا كانت الحالة ثم nts حين الشرط

سلسلة أوامر سلسلة الأوامر

كل kts

(في KIMs لعام 2009 ، اختلفت أوامر الروبوت عن الأطفال العاديين ، مما أدى إلىارتباك :)

قيادة الفرع: أمر حلقة:

إذا كانت الحالة ثم nts بينما الشرط هو القيام به

سلسلة أوامر سلسلة الأوامر

نهاية النهاية

منظر عام لنافذة برنامج كومير. البيئة الرسومية للروبوت:

في CMMs للإصدار التجريبي 2010 ، تم تغيير تنسيق الأمر إلىمعتاد

إجراء إنشاء الخوارزمية:

1- الفرق أدوات - تحرير بيئة البدايةارسم الجدران في حقل الروبوت واضبط الروبوت على موضعه الأولي.

2- الفرق الروبوت - تغيير بيئة البدايةحافظ على البيئة الجديدة.

3- الفرق إدراج - استخدام الروبوتحدد المنفذ.

4 في نافذة المستند ، اكتب الخوارزمية باستخدام القائمةإدراج.

5. استخدام أوامر التنفيذ - التنفيذ بشكل مستمر (أو خطوة بخطوة) لتشغيل الخوارزمية.

6. ضع في اعتبارك نتيجة الخوارزمية ، وإذا لزم الأمر ، قم بتصحيحها.

الدرس 1 (2 ساعة) الدرس 2.

العمل التطبيقي "رسم خوارزميات خطية ".

المهام: 1. إنسان آلي في نقطة عشوائية في الميدان. قم بالطلاء فوق الخلية أعلى وأسفل وعلى يمين الموضع الأصلي.

  1. روبوت في نقطة عشوائية في الميدان. انقل خلايا الروبوت 4 إلى اليمين من خلال الرسم عليها.
  2. قم بإنشاء بيئة بداية جديدة عن طريق رسم مربع به جانب مكون من 4 خلايا على السبورة. احفظ الإعداد كنقطة البداية.
  3. قم بإنشاء بيئة انطلاق جديدة من خلال رسم ممر به ممرات في الجدران في الحقل. احفظ المفروشات باسم obd2.fil. قم بتغيير بيئة البداية إلى البيئة التي تم إنشاؤها حديثًا.

الدرس 2 (2 ساعة) الدرس 1.

عنوان : التفريع والتنقيح المتسلسل للخوارزمية.

تحليل مهام CMM باستخدام مؤدي الروبوت.

استخدم الروبوت

alg kim 2009

مبكرا

إن لم يكن خاليًا من الأسفل

اذن صحيح

الكل

إن لم يكن خاليًا من الأسفل

اذن صحيح

الكل

إن لم يكن خاليًا من الأسفل

اذن صحيح

الكل

يخدع

استخدم الروبوت

alg kim 2010

مبكرا

إن لم يكن خاليًا من الأسفل

اذن صحيح

الكل

إن لم يكن خاليًا من الأسفل

اذن صحيح

الكل

إن لم يكن خاليًا من الأسفل

اذن صحيح

الكل

يخدع

إلخ. شريحة. رقم 14. تجميع وتصحيح الخوارزميات المتفرعة

مهام. انظر المرفق.

الدرس 3. الخوارزميات الدورية. الدرس 1-2

استهداف: للكشف عن جوهر مفهوم الدورة في الخوارزميات ، لإظهار أشكال دورات الكتابة للخوارزميات ، لإعطاء المهارات اللازمة لإنشاء وكتابة الخوارزميات الدورية.

إلخ. شريحة. رقم 15. تجميع وتصحيح الخوارزميات الدورية

1. قم بعمل خوارزمية ترسم جميع الخلايا الداخلية المجاورة للجدار.

استخدم الروبوت

alg

مبكرا

nts على اليمين حتى الآن مجاني

رسم أكثر؛ إلى اليمين

عقدة

nts بينما أدناه مجاني

رسم أكثر؛ تحت

عقدة

nts حتى يتم تحرير الجزء السفلي

رسم أكثر؛ إلى اليسار

عقدة

يخدع

2. عمل خوارزمية ترسم كل الخلايا الموجودة بين الروبوت والجدار. المسافة إلى الجدار غير معروفة.

استخدم الروبوت

alg

مبكرا

nts على اليمين حتى الآن مجاني

إلى اليمين؛ رسم أكثر

عقدة

يخدع

3. عمل خوارزمية ترسم جميع الخلايا بين الجدارين.

استخدم الروبوت

alg uch3

مبكرا

nts حتى (ليس من أعلى بحرية) أو (ليس من أسفل بحرية)

إلى اليمين

إذا (ليس خاليًا من أعلاه) و (ليس من أسفل مجانًا)

ومن بعد

رسم أكثر

الكل

عقدة

يخدع

4. قم بعمل خوارزمية ترسم جميع الخلايا حول الجدار المستطيل.

alg uch4

مبكرا

الطلاء على ؛ حتى

nts ليس بعد على الحق المجاني

الطلاء فوق ؛

عقدة

الطلاء على ؛ حق

nts حتى يتم تحرير الجزء السفلي

الطلاء على ؛

عقدة

الطلاء على ؛ أسفل

nts لم تترك خالية بعد

الطلاء على ؛ أسفل

عقدة

الطلاء على اليسار

nts حتى يتم تحرير الجزء العلوي

رسم أكثر؛ إلى اليسار؛

عقدة

يخدع

استخدم الروبوت

alg uch5

مبكرا

إلى اليمين

nts حتى يتم تحرير الجزء السفلي

رسم أكثر؛ إلى اليمين

عقدة

رسم أكثر؛ تحت

nts على اليسار حتى الآن مجاني

رسم أكثر؛ إلى اليسار

عقدة

nts لم تترك خالية بعد

رسم أكثر؛ تحت

عقدة

الطلاء ؛ اليسار ؛ الطلاء ؛ فوق؛

nts حتى يتم تحرير الجزء العلوي

رسم أكثر؛ فوق

عقدة

nts حتى يتم تحرير الجزء العلوي

رسم أكثر؛ إلى اليسار

عقدة

يخدع

الدرس 4 الدرس 1

الخوارزميات المساعدة.

استهداف: تقديم مفهوم الخوارزميات الرئيسية والمساعدة ؛ شرح قواعد استخدام الخوارزمية المساعدة ؛ تفكيك أمثلة الخوارزميات باستخدام المساعد.

خطة الدرس

1. إدخال مصطلحات جديدة (خوارزمية رئيسية ومساعدة ، استدعاء) وشرح مفاهيم جديدة.

2. تحليل أمثلة لحل المشكلات باستخدام خوارزمية مساعدة.

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

في عملية حل المشكلة ، يمكن ، إذا لزم الأمر ، تقسيم كل خوارزمية مساعدة إلى خوارزميات مساعدة أصغر.

يسمى الأمر الخاص بتنفيذ الخوارزمية المساعدةتحدي ومكتوب في جسم الخوارزمية الرئيسية.

يمكن اعتبار نفس الخوارزمية واحدة رئيسية ومساعدة فيما يتعلق بالخوارزميات الأخرى. في لغة خوارزمية ، تتم كتابة الخوارزمية الرئيسية أولاً ، متبوعة بالخوارزمية المساعدة أدناه.

مهمة 1:

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

المحلول

الاعراب على السبورة:

المهمة 2. الروبوت في الزاوية اليسرى العليا من الميدان. لا توجد جدران أو خلايا مطلية. قم بإنشاء خوارزمية تلوين مربع 8 × 8 في نمط رقعة الشطرنج.يمكن أن يكون الموضع النهائي للروبوت عشوائيًا.

الدرس 4 الدرس 2

عمل عملي على الكمبيوتر "حل المشكلة باستخدام الخوارزميات المساعدة".

استهداف : لغرس المهارات العملية في بناء الخوارزميات بطريقة الصقل المتسلسل.

خطة الدرس

1. تتم المهمة بالكامل على جهاز الكمبيوتر. يتلقى الطلاب المهام ويؤدونها في بيئة برامج Kumir. النتائج يتم حفظ العمل كملفات للتحقق لاحقًا.

مهمة 1 ... الروبوت في الركن الأيسر السفلي من الحقل. لا توجد جدران أو خلايا مطلية. قم بعمل خوارزمية ترسم 6 خطوط عمودية بنفس الطول في 6 خلايا. يمكن أن يكون الوضع النهائي للروبوت تعسفيًا.

المهمة 2 باستخدام الخوارزميات المساعدة ، قم بإنشاء خوارزمية لطلاء الخلايا التي تشكل الرقم 1212.

الواجب المنزلي: ابتكر خوارزمية ترسم الصورة التالية: استخدم خوارزميتين مساعدتين لحل المشكلة.

الدرس 5 ، الدرس 1-2

اختبار

"رسم خوارزمية في بيئة منفذ الروبوت."

استهداف: تحقق من المعرفة المكتسبة حول الإنشاء والقدرة على تحليل الخوارزميات في بيئة برامج Kumir.

التعيينات لـ عمل الاختبارمقسمة حسب مستويات الصعوبة وتتضمن 3 مهام مع منفذ الروبوت (المهمتان 1 و 2 - للتفرع والحلقات ، المهمة 3 - لاستخدام خوارزمية مساعدة.) نصوص المهام معطاة في الملحق.

يتم تسجيل الإعدادات الأولية والنهائية والخوارزميات التي تم إنشاؤها كملف.

يتم تحديد الدرجة وفقًا لمستوى صعوبة المهمة. للطالب الحق في اختيار نوع المهمة بنفسه.

واليوم سنتحدث عن الدورات. دعونا نتعرف على ماهية الدورة وكيفية تعليم كيفية تنفيذ الخوارزميات الدورية لروبوتنا.

لذا، ما هي الدورة؟ تخيل أننا في درس التربية البدنية ونواجه مهمة هل 7 تمرين القرفصاء... يمكن صياغة هذه المهمة كخوارزمية خطية ، وبعد ذلك ستبدو كما يلي:

قم بعمل القرفصاء

قم بعمل القرفصاء

قم بعمل القرفصاء

قم بعمل القرفصاء

قم بعمل القرفصاء

قم بعمل القرفصاء

قم بعمل القرفصاء

وهذا يعني أننا كررنا أمر القرفصاء 7 مرات. هل يعقل كتابة 7 أوامر متطابقة؟ قد يكون من الأسهل إعطاء الأمر هل 7 تمرين القرفصاء؟ بالطبع ، الأمر أسهل وأكثر صحة. هذه هي الدورة... يمكنك أنت بنفسك أن تتذكر أمثلة لدورات من الحياة - هناك عدد غير قليل منها.

في هذا الطريق خوارزمية خطية ، حيث يتم تكرار نفس الأوامر ، يمكننا إصدارها كما خوارزمية دورية - مثل هذا:

كرر 7 مرات

قم بعمل القرفصاء

نهاية الدورة

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

أنواع الدورات.

حلقة مع عداد.

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

من أجل كتابة حلقة مع عداد للمنفذ ، تحتاج إلى معرفة تركيبها. وهو مثل هذا:

nts<عدد التكرارات> مرات

<команда 1>

<команда 2>

<команда n>

هنا يجب أن نشير إلى عدد التكرارات (العدد) والأوامر التي ستتكرر. يتم استدعاء الأوامر التي تتكرر في الحلقة جسم الدورة.

دعونا نلقي نظرة على هذا بمثال.

في البداية ، كان الروبوت في القفص الأيسر العلوي.

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

رسم أكثر

إلى اليمين

رسم أكثر

إلى اليمين

رسم أكثر

إلى اليمين

رسم أكثر

إلى اليمين

رسم أكثر

إلى اليمين

رسم أكثر

إلى اليمين

رسم أكثر

إلى اليمين

كما ترى ، تتكرر أوامر الرسم على اليمين 7 مرات. دعنا الآن نعيد كتابة البرنامج باستخدام حلقة. بالمناسبة ، لإدخال دورة في برنامجك ، يمكنك الانتقال إلى القائمة إدراجحدد البند nts-raz-ktsأو اضغط على إحدى مجموعات المفاتيح Esc ، ص(الحرف الروسي P) أو Esc ، H(الحرف اللاتيني H). و يجب الضغط على المفاتيح بالتتابع- أولاً Esc ، حررها وبعد ذلك فقط P أو H.

لذلك ، لدينا برنامج يحلقسيبدو مثل هذا:

استخدم الروبوت

nts 7 مرات

رسم أكثر

إلى اليمين

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

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

حلقة مع الشرط.

عند حل المشكلة 19 من GIA في المعلوماتية باستخدام الروبوت ، لن يعمل استخدام حلقة مع عداد. بما أن الحقل يوجد عادة لانهائي وليس للجدران طول محدد. لذلك ، لن نتمكن من تحديد عدد التكرارات لحلقة مع عداد. لكن هذا لا يهم - سيساعدنا حلقة شرطية.

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

وداعا لست متعبا

قم بعمل القرفصاء

نهاية الدورة

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

خالية من فوق

من الأسفل بحرية

غادر بحرية

الحق بحرية

أعلى الجدار

الجدار السفلي

الجدار الأيسر

الجدار الأيمن

لكن في حالة المشكلة 19 من GIA ، يشار إلى الأربعة الأولى فقط ، لذلك سوف نستخدمها فقط.

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

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

« أثناء وجودك على اليمين ، اتخذ خطوة إلى اليمين بحرية وقم بالطلاء فوق القفص. »

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

سيكون الكود المصدري لبرنامج الروبوت الخاص بنا شيئًا كالتالي:

استخدم الروبوت

nts على اليمين حتى الآن مجاني

إلى اليمين

رسم أكثر

نتيجة تنفيذ هذا البرنامج سوف نرى الصورة التالية:

خريانوف تيموفي فيدوروفيتش

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

كود تنفيذي مشروط

يمكن وضع بعض العمليات تحت عامل شرطي... ثم يتم الوفاء بها فقط إذا كان هذا الشرط صحيحًا.

إذا<условие>
ومن بعد
<действия>
الكل

لبديل

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

إذا<условие>
ومن بعد
<действия>
غير ذلك
<альтернативные действия>
الكل


شروط الروبوت:
الجدار الأيسر
الجدار الأيمن
الجدار السفلي
أعلى الجدار
الخلية مطلية
غادر بحرية
الحق بحرية
من الأسفل بحرية
خالية من فوق
القفص نظيف

حلقة مع شرط مسبق

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

nc وداعا<условие>
<тело цикла>
عقدة

حلقة مع حالة لاحقة

الحلقة ذات الشرط اللاحق هي حلقة يتم فيها فحص الشرط بعد تنفيذ جسم الحلقة. ويترتب على ذلك أن الجسد يُعدم مرة واحدة على الأقل. في باسكال ، تنفذ هذه الحلقة عملية التكرار حتى العملية ، في C - do ... while.
في لغة الكومير ، تبدو الدورة ذات الشرط اللاحق كما يلي:

nts
<тело цикла>
kts_with<условие>

دورة مع عداد

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

سليم
nts لـ 0 إلى 9
... جسم الحلقة
عقدة

في لغات البرمجة المختلفة ، يتم حل مسألة قيمة المتغير في نهاية الحلقة التي تم فيها استخدام هذا المتغير كمقياس بشكل مختلف.

بطاقات المهام

    ابحث بين الأعداد الصحيحة التي تم إدخالها من لوحة المفاتيح عدد السالب

    يتم إعطاء رقمين تعسفيين. بينما يكون منتجهم أقل من 100 ، قم بزيادة كل رقم بمقدار 2 واعرض الأرقام النهائية على الشاشة

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد عدد الخمسات في تسلسل

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد الفرق بين القيم القصوى والدنيا للأرقام المعطاة

    ابحث بين الأعداد الصحيحة التي تم إدخالها من لوحة المفاتيح عدد السالب

    يتم إعطاء رقمين تعسفيين. بينما يكون منتجهم أقل من 100 ، قم بزيادة كل رقم بمقدار 2 واعرض الأرقام النهائية على الشاشة

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد عدد الخمسات في تسلسل

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد الفرق بين القيم القصوى والدنيا للأرقام المعطاة

    ابحث بين الأعداد الصحيحة التي تم إدخالها من لوحة المفاتيح عدد السالب

    يتم إعطاء رقمين تعسفيين. بينما يكون منتجهم أقل من 100 ، قم بزيادة كل رقم بمقدار 2 واعرض الأرقام النهائية على الشاشة

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد عدد الخمسات في تسلسل

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد الفرق بين القيم القصوى والدنيا للأرقام المعطاة

    ابحث بين الأعداد الصحيحة التي تم إدخالها من لوحة المفاتيح عدد السالب

    يتم إعطاء رقمين تعسفيين. بينما يكون منتجهم أقل من 100 ، قم بزيادة كل رقم بمقدار 2 واعرض الأرقام النهائية على الشاشة

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد عدد الخمسات في تسلسل

    يتم إدخال N- الأعداد الصحيحة بالتسلسل. أوجد الفرق بين القيم القصوى والدنيا للأرقام المعطاة