حلقة المشغل بينما الأمثلة في matlab. MATLAB for loop - دروس MatLab المصورة> أساسيات البرمجة> For ... end loop. حلقات مثل while ... end. متطلبات تصميم العمل المخبري

القسم: تكنولوجيا المعلومات

البرمجة فيماتلاب


العاملينماتلاب

· عبارات التكرار

دورةبالنسبة

بناء الجملة

العد = البداية: الخطوة: النهائي

أوامر MATLAB

وصف

العد هو متغير حلقة ،

البداية هي قيمتها الأولية ،

النهائي هو قيمته النهائية ،

step - الخطوة التي يتم بها زيادة العدد في كل مرة يدخل فيها الحلقة

تنتهي الحلقة بمجرد أن تصبح قيمة العد أكبر من القيمة النهائية.

مثال

وليكن مطلوبًا اشتقاق مجموعة منحنيات لـ x € ، والتي تُعطى بواسطة دالة تعتمد على المعامل

y (x ، a) \ u003d e-ax sin x ،

لقيم المعلمات a من -0.1 إلى 0.1. يوجد أدناه قائمة ببرنامج ملفات لإخراج مجموعة من المنحنيات.

قائمة البرامج

س = ؛

بالنسبة لـ a = -0.1: 0.02: 0.1

y = exp (-a * x). * الخطيئة (x) ؛

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

دورةفي حين

بناء الجملة

أثناء حالة الحلقة

أوامر MATLAB

وصف

تعمل الحلقة طالما أن حالة الحلقة (الحقيقية) صحيحة. يُسمح بالعمليات العلائقية التالية لتعيين شرط تنفيذ الدورة:

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


مثال

مشغلي الفروع

عامل شرطيإذا

بناء الجملة

إذا الشرط

أوامر MATLAB

وصف

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

مثال

عامل شرطيآخر

بناء الجملة

إذا الشرط 1

شرط آخر 2

………………………

شرط آخر

وصف

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

مثال

المشغل أو العاملمفتاح كهربائي

بناء الجملة

متغير التبديل

قيمة الحالة 1

قيمة الحالة 2

……………………

قيمة الحالة


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

مثال

المقاطعات الحلقية. مواقف استثنائية.

المشغل أو العاملاستراحة

بناء الجملة

تُستخدم تعليمة break لتنظيم العمليات الحسابية الدورية: for ... end، while ... end. عندما تكون الحالة

إذا الشرط

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

معالجة الاستثناءات ، المشغليحاولقبض على

بناء الجملة

أقوال التي يتم تنفيذها

قد يؤدي إلى حدوث خطأ

عبارات ليتم تنفيذها

عندما يحدث خطأ في الكتلة

بين المحاولة والقبض

وصف

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

مثال

وظائف الخدمة

ديسيعرض نص أو قيمة متغير في نافذة الأوامر

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

EVALينفذ محتويات سلسلة أو متغير سلسلة ، مثل أوامر MATLAB

صافي- يزيل متغيرات بيئة العمل.

منل- يمسح نافذة الأوامر

لمزيد من المعلومات حول هذه الوظائف وغيرها ، قم بتشغيلها في سطر الأوامر

مساعدةاسم وظيفة


مهام العمل المخبري

يحدد المدرس عدد خيار مهمة معينة.

رقم المهمة 1

تتضمن هذه المهمة إيجاد كثير حدود الاستيفاء الجبري من الدرجة n لبعض مجموعة البيانات: ص ن(x) .

هدف:

من الضروري كتابة برنامج لحساب معاملات الاستيفاء الجبري متعدد الحدود ص ن(x)= أ 0 + أ 1 x+ … + أ ن س ن.

تعليمات منهجية:

0 1 2 3

Xأنا

1,2 1,4 1,6 1,8
8,3893 8,6251 8,9286 8,9703

احتمال أ 0 , أ 1 , …, أيتم تحديدها من حل نظام المعادلات:

هنا نهو ترتيب الاستيفاء كثير الحدود ،

ن+1 هو عدد أزواج معينة من النقاط ( x, ذ),

أ 0 , أ 1 ,… أهي المعاملات المطلوبة لكثير الحدود ص ن(x)= أ 0 + أ 1 x+ … + أ ن س ن).

متطلبات البرنامج

ضع حدود الخط ، والتي تم بناء كثير الحدود عليها ف (س)

· يطلب نهو عدد مقاطع الاستيفاء (أو ، بشكل مكافئ ، درجة كثير الحدود)

ملحوظة: × 0, xn, ندخلت من لوحة المفاتيح.

· للحصول على البيانات الأولية (س ، ص)(عدد أزواج النقاط (س ط ، ص ط)، والتي يتم بناء كثير حدود الاستيفاء عليها ف (س)ن 1 = ن + 1) تزود:

ü أدخل العقد الموضوعة عشوائيًا س أنا ، أنا = 0 ، نمن لوحة المفاتيح

ü حساب العقد س ط ، أنا = 0 ، ن ،يتوافق مع الترتيب الموحد للحجة xفي الجزء

ü في الفقرات. 1.2 القيم ذ أنا ، أنا = 0 ، نيتم إدخالها من لوحة المفاتيح (إذا كانت الوظيفة الأصلية غير معروفة) ، أو محسوبة من وظيفة معينة و (خ). يتم إدخال التعبير الذي يحدد الوظيفة من لوحة المفاتيح ويجب أن يتبع قواعد كتابة التعبيرات في MATLAB

ü إدخال البيانات ( س ط ، ص ط ، أنا = 0 ، ن) من - الملف

حل نظام معادلات لتحديد معاملات كثير الحدود P (x)

بناء الرسوم البيانية للدالة الجدولة الأصلية وكثير الحدود P (x)

· إذا تم إعطاء البيانات الأولية كدالة f (x) ، قم برسم خطأ الاستيفاء / f (x) - P (x) /. احسب أقصى قيمة نمطية لخطأ الاستيفاء في فترة زمنية معينة.


رقم المهمة 2

استيفاء المفتاح

هدف:

من الضروري إنشاء برنامج لحساب المعاملات وإنشاء دالة خدد S (x) ، "ملتصقة" من قطع متعددة الحدود من الدرجة الثالثة S أنا(x), التي لها تدوين خاص:

وظيفة S. أنا(x) المحددة في المقطع

متطلبات البرنامج

عند القيام بهذا العمل ، يجب عليك:

عيّن حدود المقطع الذي بُنيت عليه وظيفة الشريحة S (x)

· حدد n - عدد مقاطع الاستيفاء ، حيث يتم إنشاء متعدد الحدود التكعيبي Si (x) على كل منها.

ملاحظة: يتم إدخال x0 ، xn ، n من لوحة المفاتيح.

قم بتنظيم مدخلات البيانات الأولية (x ، y) (عدد أزواج النقاط (xi ، yi) التي بنيت عليها وظيفة الشريحة S (x) ، n1 = n + 1) ، بشرط:

ü مدخلات العقد الموضوعة بشكل تعسفي xi ، i = 0 ، n من لوحة المفاتيح

ü حساب العقد xi، i = 0، n المقابلة للترتيب الموحد للوسيطة x على المقطع

ü في الفقرات. 1،2 القيم yi ، i = 0 ، n يتم إدخالها إما من لوحة المفاتيح (إذا كانت الوظيفة الأصلية غير معروفة) أو يتم حسابها من الوظيفة المحددة f (x). يتم إدخال التعبير الذي يحدد الوظيفة من لوحة المفاتيح ويجب أن يتبع قواعد كتابة التعبيرات في MATLAB

ü إدخال البيانات (xi، yi، i = 0، n) من ملف

ü S1 "" (x0) = 0 ، S3 "" (x3) = 0

ü S1 "(x0) = f" (x0) ، S3 "(x3) = f" (x3)

ü S1 "" (x0) = f "(x0)، S3" "(x0) = f" (x3)

لتحديد معاملات الشكل التكعيبي الطبيعي (الشروط الحدودية 1) ، من الضروري حل نظام المعادلات التالي:

المعاملات σ 0 = 0 ، σ n = 0

· رسم الرسوم البيانية للوظيفة الأصلية ووظائف الخدد لجميع الأنواع الثلاثة من الشروط الحدودية.

· إنشاء الرسوم البيانية لوظائف خطأ الاستيفاء في الشريحة f (x) - S (x) لجميع الأنواع الثلاثة لشروط الحدود.

ملحوظة:

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


رقم المهمة 3

تقريب دالة بطريقة المربعات الصغرى (LSM).

تتضمن هذه المهمة إيجاد دالة تقريبية (متعددة الحدود من الدرجة م) لبعض مجموعات البيانات ، التي تم إنشاؤها بواسطة طريقة المربعات الصغرى (LSM).

هدف:

من الضروري كتابة برنامج لإيجاد معاملات كثير الحدود (x)= أ 0 + أ 1 * x+… أ * س مبطريقة المربعات الصغرى.

دعنا ، على سبيل المثال ، لدينا مجموعة البيانات التالية:

Xأنا

1,2 1,4 1,6 1,8 2,0 2,2 2,4 2,6 2,8 3,0
8,3893 8,6251 8,9286 8,9703 9,1731 9,1784 8,8424 8,7145 8,3077 7,9611

يتم البحث عن المعاملات المطلوبة على النحو التالي:

أين ن - مقدار النقاط ( x, ذ),

م هي درجة كثير الحدود المطلوب ،

أ 0 , أ 1 , …, صباحا هي المعاملات المطلوبة ( φ ( x )= أ 0 + أ 1 x + … + أ م س م ).

متطلبات البرنامج

عند القيام بهذا العمل ، يجب عليك:

عيّن حدود المقطع الذي تُبنى عليه وظيفة التقريب φ (x) = a0 + a1 * x + ... an * xm

تعيين م - درجة كثير الحدود

ملاحظة: يتم إدخال x1 ، xn ، m من لوحة المفاتيح.

للحصول على البيانات الأولية (x ، y) ، والتي بناء عليها دالة التقريب φ (x) = a0 + a1 * x + ... a * x m ، قم بتوفير:

ü إدخال عقد عشوائية xi، i = 1، n من لوحة المفاتيح

ü حساب العقد xi، i = 1، n المقابلة للترتيب الموحد للوسيطة x على المقطع

ü في الفقرات. 1،2 القيم yi ، i = 1 ، n يتم إدخالها إما من لوحة المفاتيح (إذا كانت الوظيفة الأصلية غير معروفة) أو يتم حسابها من الوظيفة المحددة f (x). يتم إدخال التعبير الذي يحدد الوظيفة من لوحة المفاتيح ويجب أن يتبع قواعد كتابة التعبيرات في MATLAB

ü إدخال البيانات (xi، yi، i = 1، n) من ملف

حل نظام معادلات لتحديد معاملات كثير الحدود φ (x)

بناء الرسوم البيانية للدالة الأصلية المعطاة في الجدول وكثير الحدود φ (x)

· إذا تم إعطاء البيانات الأولية كدالة f (x) ، قم برسم خطأ الاستيفاء / f (x) - φ (x) /. احسب أقصى قيمة نمطية لخطأ الاستيفاء في فترة زمنية معينة.

عند أداء العنصر الأخير على المقطع خذ ما لا يقل عن 500 نقطة للحسابات


متطلبات تصميم العمل المخبري

يجب أن يحتوي التقرير على:

1. بيان المشكلة

2. نص البرنامج

3. نتائج الاختبار

ملاحظة يجب تزويد نصوص البرنامج بالتعليقات.


1. Anufriev I.E. برنامج Matlab 5.3 / 6.x التعليمي - سانت بطرسبرغ: BHV-Petersburg ، 2003. - 736 ص: مريض.

2. V. Dyakonov MATLAB 6.5 SPI / 7 + Simulink 5/6 في الرياضيات والنمذجة. سلسلة "المكتبة المهنية". - م: مطبعة سولون ، 2005. - 576 ص: مريض.

3. Anufriev I.E.، Smirnov A.B.، Smirnova E.N. MathLab 7. - سانت بطرسبرغ: BHV-Petersburg ، 2005. - 1104 ص: مريض.

لغة الحوسبة التقنية

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

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

بداية العمل

تعلم أساسيات MATLAB

أساسيات اللغة

التركيب ، فهرسة المصفوفات ومعالجتها ، أنواع البيانات ، المشغلون

استيراد البيانات وتحليلها

استيراد وتصدير البيانات ، بما في ذلك الملفات الكبيرة ؛ المعالجة المسبقة للبيانات والتصور والبحث

رياضيات

الجبر الخطي والتفاضل والتكامل وتحويلات فورييه والرياضيات الأخرى

الرسومات

رسومات ثنائية وثلاثية الأبعاد وصور ورسوم متحركة

برمجة

البرامج النصية والوظائف والفئات

إنشاء التطبيق

تطوير التطبيق باستخدام مصمم التطبيق أو سير العمل القابل للبرمجة أو الدليل

أدوات تطوير البرمجيات

تصحيح الأخطاء والاختبار ، وتنظيم المشاريع الكبيرة ، والتكامل مع نظام التحكم في الإصدار ، وتغليف صندوق الأدوات

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

صيغة تعليمة الحلقة for هي كما يلي:

بالنسبة<счетчик> = <начальное значение>:<шаг>:<конечное значение>
<операторы цикла>
نهاية

دعنا نفكر في عمل هذه الدورة على مثال تنفيذ الخوارزمية لإيجاد القيمة القصوى لعنصر في المتجه:

وظيفة search_max
أ = ؛
م = أ (1) ؛ ٪ القيمة القصوى الحالية
بالنسبة إلى i = 1: طول (أ)٪ حلقة من 1 إلى نهاية المتجه ج
٪ الخطوة 1 (افتراضي)
إذا م< a(i) % если a(i) >م
م = أ (ط) ؛ ٪ ثم m = a (i)
نهاية
نهاية٪ نهاية حلقة for
ديس (م) ؛

في هذا المثال ، تعين الحلقة for العداد i وتغير قيمته من 1 إلى 10 بزيادات قدرها 1. لاحظ أنه إذا لم يتم تحديد الزيادة صراحة ، فإنها تكون افتراضية على 1.

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

قائمة انتظار الوظيفة
أ = ؛
ديس (أ) ؛
بالنسبة إلى i = الطول (أ): - 1: 2٪ حلقة من 10 إلى 2 مع الخطوة -1
أ (ط) = أ (أنا -1) ؛ النسبة المئوية لعناصر الإزاحة في المتجه أ
نهاية٪ نهاية حلقة for
ديس (أ) ؛

نتيجة البرنامج

3 6 5 3 6 9 5 3 1 0
3 3 6 5 3 6 9 5 3 1

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

في الختام ، دعنا نفكر في تشغيل عامل الحلقة for باستخدام مثال نمذجة تسلسل عشوائي مع قانون التغيير

حيث - معامل من -1 إلى 1 ؛ - متغير عشوائي عادي بدون توقع وتباين رياضي

,

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

النمذجة وظيفة_x
ص = 0.95 ؛ معامل النموذج٪
ن = 100 ؛ ٪ عدد النقاط التي تمت محاكاتها
على سبيل المثال = 100 ؛ ٪ عملية التباين
et = ex * (1-r ^ 2) ؛ ٪ تباين مضاف عشوائي
س = أصفار (ن ، 1) ؛ ٪ تهيئة المتجه x
س (1) = الجذر التربيعي (على سبيل المثال) * راندن ؛ ٪ محاكاة العد الأول
من أجل i = 2: N٪ حلقة من 2 إلى N.
x (i) = r * x (i-1) + sqrt (et) * randn ؛ ٪ محاكاة JV
نهاية٪ نهاية الحلقة
مؤامرة (خ) ؛ ٪ عرض SP كرسم بياني

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

أرز. 2.1. نتيجة نمذجة تسلسل عشوائي.

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

س (1) = الجذر التربيعي (على سبيل المثال) * راندن ؛

بعد ذلك ، يتم تنفيذ الحلقة for مع عداد i من 2 إلى N بخطوة 1. داخل الحلقة ، تتم محاكاة عينات N-1 المتبقية من العملية العشوائية وفقًا للصيغة أعلاه. يحتوي السطر الأخير من البرنامج على وظيفة plot () ، التي تعرض التسلسل المحاكى على الشاشة كرسم بياني. سيتم مناقشة العمل الأكثر تفصيلاً مع عرض الرسوم البيانية على الشاشة في الفصل التالي.

حلقات matlab والشروط: النظرية والأمثلة

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

الشروط في MATLAB

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

إذا كان التعبير ، العبارات ، النهاية

ماذا يعني:

إذا كان الشرط ، الإجراء ، انتهى

الآن أمثلة:

س = 1 ؛ ص = 61 ؛ إذا ((x> = 0.90) && (y> = 60)) disp ("موافق") ؛ نهاية؛

&& - عامل الضرب المنطقي (المنطقي "AND").
وهنا مثال مع آخر:

س = 1 ؛ ص = 50 ؛ إذا ((x> = 0.90) && (y> = 60)) disp ("موافق") ؛ آخر ديس ("ليس صحيحًا") النهاية ؛

على عكس المثال الأول ، سيتم عرض "ليس صحيحًا" هنا.
بضع كلمات عن مفتاح كهربائي. رسميًا في المساعدة:

Syntax switch switch_expr case case_expr statement، ...، بيان الحالة (case_expr1، case_expr2، case_expr3، ...) بيان، ...، بيان خلاف ذلك، ...، بيان نهاية

المزيد على الأرض:

تبديل البنية switch_expr case القيمة - 1 حالة الإجراء (القيمة - 2 ، القيمة - 3 ، القيمة - 4 ، ...) الإجراء خلاف ذلك الإجراء نهاية

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

الطريقة = "Bilinear" ؛ تبديل الحالة (الطريقة) السفلية ("الخطية" ، "الخطية") disp ("الطريقة خطية") الحالة "التكعيبية" disp ("الطريقة التكعيبية") الحالة "الأقرب" disp ("الطريقة الأقرب") خلافًا لذلك ( "طريقة غير معروفة.") النهاية

حلقات في MATLAB

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

صيغة الفهرس = قيم بيانات البرنامج: النهاية

بعبارات الشخص العادي ، هذا يعني:

صيغة المتغير = قيمة الإجراء

لن نتباطأ في الصياغة الرسمية ، فمن الأفضل أن نفهم ونفضل الأمثلة.

لنهاية م = 1:10 م

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

بالنسبة إلى s = 1.0: -0.1: 0.0 disp (s) end

في هذه الحالة ، الدورة بالنسبةينتقل من 1 إلى 0 بزيادات قدرها -0.1.
خيار اخر:

بالنسبة إلى s = disp (s) end

في هذه الحالة ، المتغير سسيتم معادلتها بالتسلسل مع 1 ، 5 ، 8 ، 17 والمخرجات وفقًا لذلك.
وكذلك مع بالنسبةمريحة للغاية لناقلات الإخراج. هنا:

بالنسبة إلى e = eye (5) disp ("القيمة الحالية لـ e:") disp (e) end

في هذا المثال ، يوجد وصول تسلسلي إلى عناصر المتجه ه.

دورة في حين:
رسميًا في المساعدة:

بناء الجملة أثناء التعبير عن بيانات البرنامج: النهاية

مؤرض:

بناء الجملة أثناء انتهاء إجراء الشرط

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

إبس = 10 ؛ بينما eps> 1 eps = eps - 1 end

بينما في الحالة ( eps> 1) ، الحلقة تؤدي الإجراء

(eps = eps-1).
أيضا في الحالة في حينيمكنك استخدام عوامل التشغيل المنطقية AND - && و أو - || ، كتابة عبارات منطقية متعددة في الشرط.

إذا كانت لديك أسئلة حول المقالة ، فاكتب في التعليقات.

codetown.com

ل ، بينما حلقات في ماتلاب (ماتلاب)

تم تصميم بيان for لأداء عدد معين من الإجراءات المتكررة. أبسط استخدام لبيان for هو كما يلي:

للعد = البداية: الخطوة: النهائيأوامر ماتلابنهاية

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

تعد حلقة for مفيدة في تنفيذ إجراءات متكررة متشابهة عندما يكون عددها محددًا مسبقًا. تسمح لك حلقة while loop الأكثر مرونة بالتغلب على هذا القيد.

أثناء حالة الحلقةأوامر ماتلابنهاية

62. ما هو الفريق الذي يقوم بإنشاء كتاب M في محرر نصي كلمةمرتبط ب ماتلاب?

بدء كتاب M جديد لبدء كتابة كتاب M جديد ، تحتاج إلى: 1) تشغيل محرر Word ؛ 2) حدد في مربع الحوار كلمةاختيار جديدمن القائمة ملف؛ 3) في النافذة التي تظهر على الشاشة ، حدد قالب الكتاب الإلكتروني. نتيجة لهذه الإجراءات ، سيبدأ النظام ماتلاب، وسيتغير عرض القائمة الرئيسية لمحرر Word إلى حد ما - ستظهر قائمة جديدة فيه دفتر. هذا سوف يشير إلى ذلك كلمةالنظام مرفق ماتلاب. إذا كنت تستخدم الماوس الآن لتنشيط القائمة دفترنافذة او شباك كلمة، ستظهر قائمة إضافية على الشاشة

63. أي أمر في محرر نصوص Word يحول النص إلى خلية إدخال MatLab؟

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

64. أي أمر في محرر نصوص Word يضمن تنفيذ أمر MatLab في خلية؟

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

65. أي أمر في محرر نصوص Word يضمن تنفيذ أوامر MatLab في جميع أنحاء كتاب M؟

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

66. أي أمر في محرر نصوص Word يضمن تنفيذ أوامر MatLab في جميع الخلايا تلقائيًا عند فتح كتاب M؟

يتم تشغيل أوامر الخلايا التي تحتوي على نمط AutoInnit فور فتح كتاب M. من المفيد تضمين أمر واضح في أول خلية من هذا القبيل لمسح بيئة العمل. لتعيين نمط AutoInit ، استخدم العنصر Define Autoinit Cell في قائمة Notebook.

67. ما هي الأزرار التي تحتوي عليها لوحة Excel Link في جدول بيانات Excel عندما تكون مرتبطة بـ MatLab؟

68. ماذا يوفر الأمر putmatrix؟

تُستخدم وظيفة MLPutMatrix لوضع البيانات من خلايا ورقة عمل Excel في صفيف من مساحة عمل Matlab. وسيطات هذه الوظيفة هي اسم المتغير المحاط بعلامات اقتباس ونطاق خلايا Excel المتعلقة بهذا المتغير

68. ماذا يوفر الأمر getmatrix؟

يتم تنفيذ العملية العكسية بواسطة وظيفة MLGetMatrix ، في حين أن وسيطات هذه الوظيفة هي اسم متغير بيئة العمل MatLab مع 22 بيانات ، ومحاطة بعلامات اقتباس ، ونطاق خلايا Excel حيث سيتم وضع بيانات هذا المتغير ، محاطًا أيضًا بعلامات اقتباس.

70. ما هي باقة Simulink؟

يتضمن نظام Matlab حزمة لنمذجة الأنظمة الديناميكية - Simulink. هذه الحزمة هي جوهر حزمة البرامج التفاعلية المصممة للنمذجة الرياضية للأنظمة الديناميكية الخطية وغير الخطية ، والتي يتم تمثيلها من خلال مخطط الكتلة الوظيفية ، المسمى بالنموذج S أو النموذج ببساطة

71. أي مكتبة Simulink تحتوي على مصادر الإشارات؟

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

72. أي مكتبة Simulink تحتوي على تسجيل VIs؟

نطاق الذبذبات من القسم مغاسل.

73. ما هي مكتبة Simulink التي تحتوي على كتل التمايز والتكامل؟

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

74. أي مكتبة Simulink تحتوي على كتل حساب دالة أولية؟

نافذة المكتبة رياضياتيحتوي على كتل لأداء العمليات الحسابية

تتضمن كتل حساب الوظائف الأولية ثلاث كتل: كتلة وظائف رياضية رياضياتوظيفة، كتلة من التوابع المثلثية حساب المثاثاتوظيفةوكتلة وظيفة التقريب وظيفة التقريب.

75. كم عدد قيم معلمات الخطوة التي تم تعيينها في Simulink عندما تكون خطوة المحاكاة متغيرة؟

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

المذيبات ذات الخطوات المتغيرة - حل متغير الخطوة ؛

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

studfiles.net

ل ... نهاية الحلقات ماتلاب

الدرس 20
أدوات البرمجة الأساسية
أنواع البيانات الأساسية
أنواع البرمجة
ازدواجية العوامل والأوامر والوظائف
بعض القيود
ملفات M للنصوص والوظائف
هيكل وخصائص الملفات النصية
حالة المتغيرات في الوظائف
هيكل وظيفة ملف م
الوضع المتغير والأمر العام
باستخدام الوظائف الفرعية
الدلائل الخاصة
معالجة الخطأ

إخراج رسائل الخطأ
وظيفة lasterr ومعالجة الأخطاء
دوال الوسيطة المتغيرة
وظائف لحساب عدد الحجج
المتغيرات varargin و varargout
تعليقات
ميزات تنفيذ ملفات الوظائف م
إنشاء رموز P.
جمل التحكم
إدخال الحوار
عامل شرطي
من أجل ... حلقات النهاية
حلقات مثل while ... end
تصميم التبديل
حاول ... قبض ... نهاية البناء
خلق وقفة في الحسابات
مفهوم البرمجة الشيئية
إنشاء فئة أو كائن
التحقق مما إذا كان الكائن ينتمي إلى فئة معينة
ميزات أخرى للبرمجة الشيئية
ما الجديد الذي تعلمناه؟

تستخدم حلقات For ... عادةً لتنظيم العمليات الحسابية بعدد معين من الحلقات المتكررة. هيكل هذه الدورة هو كما يلي:

لـ vag = التعبير. تعليمات. .... بيان النهاية

غالبًا ما يتم كتابة التعبير كـ s: d: e ، حيث s هي القيمة الأولية لمتغير الحلقة var ، و d هي الزيادة في هذا المتغير ، و e هي القيمة النهائية لمتغير التحكم ، وعند الوصول إلى نهاية الحلقة . من الممكن أيضًا الكتابة بالصيغة s: e (في هذه الحالة d = l). قائمة التعليمات المنفذة في الحلقة تنتهي بعبارة النهاية.

توضح الأمثلة التالية استخدام الحلقة للحصول على مربعات قيم متغير الحلقة:

»لـ 1 = 1: 5 i ^ 2. نهاية؛

»لـ x = 0: .25: 1 X ^ 2 ، النهاية:

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

نتيجة لتنفيذ هذه الدورة (ملف for2.m) ، تم تشكيل المصفوفة A:

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

»أ =

»لـ var = A ؛ فار ، النهاية

radiomaster.ru

برنامج تعليمي مصور عن MatLab ›أساسيات البرمجة› حلقات For… end. حلقات مثل while ... end. [صفحة - 364] | دروس لحزم الرياضيات

حلقات مثل ... النهاية. حلقات مثل while ... end.

اكتب دورات من أجل ... النهايةتُستخدم عادةً لتنظيم العمليات الحسابية بعدد معين من الدورات المتكررة. هيكل هذه الدورة هو كما يلي:

لـ var = Expression. التعليمات ..... إنهاء التعليمات

غالبًا ما يتم كتابة التعبير على النحو التالي: s: d: e ، حيث s هي القيمة الأولية لمتغير الحلقة فار، d هي الزيادة في هذا المتغير و e هي القيمة النهائية لمتغير التحكم ، عند الوصول إلى نهاية الحلقة. من الممكن أيضًا الكتابة بالصيغة s: e (في هذه الحالة d = 1). قائمة التعليمات المنفذة في الحلقة تنتهي بعبارة النهاية.

توضح الأمثلة التالية استخدام الحلقة للحصول على مربعات قيم متغير الحلقة:

>> لـ 1 = 1: 5 i ^ 2 ، النهاية ؛

>> لـ x = 0 :. 25: 1 × 2 ، النهاية:

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

أ (1. ي) = أنا + ي ؛

نتيجة لهذه الدورة (ملف لمدة 2 م) تتكون المصفوفة أ:

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

>> أ = [1 2 3: 4 5 6]

>> لـ var = A ؛ فار ، النهاية

حلقات مثل while ... end

نوع الحلقة في حينيتم تنفيذها طالما تم استيفاء الشرط:

بينما تنتهي بيانات الشرط

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

عبارة if الشرطية

في أبسط صوره ، بناء الجملة لبيان if هذا هو:

إذا<выражение>
<операторы>
نهاية

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

فيما يلي مثال على تنفيذ دالة العلامة () ، التي تُرجع +1 إذا كان الرقم أكبر من الصفر ، و -1 إذا كان الرقم أقل من الصفر ، و 0 إذا كان الرقم صفرًا:

س = 5 ؛
إذا كانت x> 0
ديس (1) ؛
نهاية
إذا كان x< 0
ديس (-1) ؛
نهاية
إذا كانت x == 0
توزيع (0) ؛
نهاية

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

إذا<выражение>
<операторы1>تم تنفيذ٪ إذا كان الشرط صحيحًا
آخر
<операторы2>تم تنفيذ٪ إذا كانت الحالة خاطئة
نهاية

ثم يمكن كتابة المثال أعلاه على النحو التالي:

س = 5 ؛
إذا كانت x> 0
ديس (1) ؛
آخر
إذا كان x< 0
ديس (-1) ؛
آخر
توزيع (0) ؛
نهاية
نهاية

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

يمكن كتابة المثال أعلاه في شكل أبسط باستخدام MatLab آخر إذا كان بناء العبارة:

إذا<выражение1>
<операторы1>تم تنفيذ٪ إذا كان التعبير 1 صحيحًا
آخر<выражение2>
<операторы2>تم تنفيذ٪ إذا كان التعبير 2 صحيحًا
...
آخر<выражениеN>
<операторыN>يتم تنفيذ٪ إذا كان التعبيرN صحيحًا
نهاية

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

س = 5 ؛
إذا كانت x> 0
ديس (1) ؛ يتم تنفيذ٪ إذا كانت x> 0
elseif x< 0
ديس (-1) ؛ يتم تنفيذ٪ إذا كان x< 0
آخر
توزيع (0) ؛ يتم تنفيذ٪ إذا كانت x = 0
نهاية

باستخدام عبارة if ، يمكنك اختبار الشروط (المركبة) الأكثر تعقيدًا. على سبيل المثال ، تحتاج إلى تحديد: هل يقع المتغير x في نطاق القيم من 0 إلى 2؟ يمكن القيام بذلك عن طريق التحقق من شرطين في وقت واحد: x> = 0 و x<=2. Если эти оба условия истинны, то x попадает в диапазон от 0 до 2.

لتنفيذ الشروط المركبة في MatLab ، يتم استخدام العوامل المنطقية:

& - منطقي AND
| - منطقي أو
~ - المنطقية لا

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

س = 1 ؛
إذا كانت x> = 0 & x<= 2
آخر
نهاية

في المثال الثاني ، سنتحقق مما إذا كان المتغير x لا ينتمي إلى النطاق من 0 إلى 2. ويتحقق ذلك من خلال تشغيل أحد الشرطين: x< 0 или x > 2:

س = 1 ؛
إذا كان x< 0 | x > 2
disp ("x ليس في النطاق من 0 إلى 2") ؛
آخر
disp ("x تقع في النطاق من 0 إلى 2") ؛
نهاية

باستخدام عوامل التشغيل المنطقية AND و OR و NOT ، يمكنك إنشاء مجموعة متنوعة من الشروط المركبة. على سبيل المثال ، يمكنك التحقق من أن المتغير x يقع في النطاق من -5 إلى 5 ، ولكن ليس في النطاق من 0 إلى 1. من الواضح أنه يمكن تنفيذ ذلك على النحو التالي:

س = 1 ؛
إذا (x> = -5 & x<= 5) & (x < 0 | x > 1)
disp ("x ينتمي إلى [-5، 5] ولكنه ليس في") ؛
آخر
disp ("x إما ليس في [-5 ، 5] أو في") ؛
نهاية

لاحظ أنه تم استخدام الأقواس في الحالة المركبة المعقدة. الحقيقة هي أن أولوية العملية AND أعلى من أولوية العملية OR ، وإذا لم يكن هناك أقواس ، فسيبدو الشرط كما يلي: (x> = -5 and x<= 5 и x < 0) или x >1. من الواضح أن مثل هذا الشيك سيعطي نتيجة مختلفة عما كان متوقعًا.

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

تكون أولوية العمليات المنطقية كما يلي:

NOT (~) - الأولوية القصوى ؛
و (&) - أولوية متوسطة ؛
OR (|) هي أدنى أولوية.

بينما بيان الحلقة

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

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

في حين<условие>
<операторы>
نهاية

هنا<условие>يعني تعبيرًا شرطيًا مثل ذلك المستخدم في عبارة if ، وتعمل حلقة while طالما أن الشرط صحيح.

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

فيما يلي مثال على حلقة while لحساب مجموع سلسلة:


أنا = 1 ؛ ٪ العداد الإجمالي
عندما أنا<= 20 % цикл (работает пока i <= 20)

نهاية٪ نهاية الحلقة
ديس (س) ؛ ٪ عرض مجموع 210 على الشاشة

الآن سوف نعقد المهمة وسوف نحسب مجموع المتسلسلة ، بينما. هنا ، يتم الحصول على شرطين في بيان الحلقة: إما أن يصل عداد i إلى 20 ، أو أن قيمة المجموع S تتجاوز 20. يمكن تنفيذ هذا المنطق باستخدام تعبير شرطي مركب في بيان الحلقة while:

S = 0 ؛ ٪ قيمة المبلغ الأولي
أنا = 1 ؛ ٪ العداد الإجمالي
عندما أنا<= 20 & S <= 20 % цикл (работает пока i<=10 и S<=20
S = S + i ؛ النسبة المئوية للمبلغ المحسوب
أنا = أنا + 1 ؛ ٪ زيادة عداد بمقدار 1
نهاية٪ نهاية الحلقة

يوضح المثال أعلاه إمكانية استخدام الشروط المركبة في حلقة while. بشكل عام ، كتعبير شرطي ، يمكنك كتابة نفس الشروط كما في عبارة if الشرطية.

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

S = 0 ؛ ٪ قيمة المبلغ الأولي
أنا = 1 ؛ ٪ العداد الإجمالي
عندما أنا<= 20 % цикл (работает пока i<=10
S = S + i ؛ النسبة المئوية للمبلغ المحسوب
أنا = أنا + 1 ؛ ٪ زيادة عداد بمقدار 1
إذا كانت S> 20٪ إذا كانت S> 20 ،
استراحة؛ ٪ ثم تنتهي الحلقة
نهاية
نهاية٪ نهاية الحلقة
ديس (س) ؛ ٪ عرض مجموع 21 على الشاشة

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

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

أ = ؛

باستثناء العنصر في الفهرس 5. يمكن كتابة هذا البرنامج على النحو التالي:

S = 0 ؛ ٪ قيمة المبلغ الأولي
أ = ؛ ٪ مجموعة مصفوفة
أنا = 0 ؛ عدد فهرس الصفيف٪
عندما أنا< length(a) % цикл (работает пока i меньше
٪ طول الصفيف أ)
أنا = أنا + 1 ؛ ٪ يزيد عداد الفهرس بمقدار 1
إذا كان i == 5٪ إذا كان المؤشر 5
استمر؛ ٪ ثم نحن لا نحسبها
نهاية
S = S + a (i) ؛ تم احتساب مجموع٪ من العناصر
نهاية٪ نهاية الحلقة
ديس (س) ؛ ٪ عرض مجموع 40 على الشاشة

وتجدر الإشارة إلى أنه في هذا البرنامج ، تتم زيادة فهرس المصفوفة i قبل التحقق من الحالة. يتم ذلك بحيث تزيد قيمة الفهرس بمقدار 1 في كل تكرار للحلقة. إذا تمت كتابة زيادة العداد i كما في الأمثلة السابقة ، أي بعد حساب المجموع ، ستتسبب تعليمة المتابعة في توقف قيمتها عند 5 وستعمل الحلقة while "إلى الأبد".

لبيان الحلقة

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

صيغة تعليمة الحلقة for هي كما يلي:

بالنسبة<счетчик> = <начальное значение>:<шаг>:<конечное значение>
<операторы цикла>
نهاية

دعنا نفكر في عمل هذه الدورة على مثال تنفيذ الخوارزمية لإيجاد القيمة القصوى لعنصر في المتجه:

أ = ؛
م = أ (1) ؛ ٪ القيمة القصوى الحالية
بالنسبة إلى i = 1: طول (أ)٪ حلقة من 1 إلى نهاية المتجه ج
٪ الخطوة 1 (افتراضي)
إذا م< a(i) % если a(i) >م
م = أ (ط) ؛ ٪ ثم m = a (i)
نهاية
نهاية٪ نهاية حلقة for
ديس (م) ؛

في هذا المثال ، تعين الحلقة for العداد i وتغير قيمته من 1 إلى 10 بزيادات قدرها 1. لاحظ أنه إذا لم يتم تحديد الزيادة صراحة ، فإنها تكون افتراضية على 1.

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

أ = ؛
ديس (أ) ؛
بالنسبة إلى i = الطول (أ): - 1: 2٪ حلقة من 10 إلى 2 مع الخطوة -1
أ (ط) = أ (أنا -1) ؛ النسبة المئوية لعناصر الإزاحة في المتجه أ
نهاية٪ نهاية حلقة for
ديس (أ) ؛

نتيجة البرنامج

3 6 5 3 6 9 5 3 1 0
3 3 6 5 3 6 9 5 3 1

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

حلول المعادلات