الآن دعنا نتخيل أننا بحاجة إلى عرض رسائل مختلفة ردًا على خطأ المستخدم ، اعتمادًا على نوع الخطأ الذي ارتكبه.
في هذه الحالة ، يمكنك كتابة الإجراء الخاص بك لكل خطأ: & nbsp؛
<قبل>
إجراء printErrorZero () ؛
يبدأ
writeln (& # 39 ؛ خطأ. القسمة على الصفر! & # 39 ؛) ؛
نهاية؛
<قبل>
إجراء printErrorInput () ؛
يبدأ
writeln (& # 39 ؛ خطأ في الإدخال! & # 39 ؛) ؛
نهاية؛
ماذا لو كان هناك العديد من الأخطاء المحتملة؟ هذا الحل لن يناسبنا!
نحتاج إلى معرفة كيفية التحكم في الإجراء من خلال إخباره برسالة الخطأ التي سيتم عرضها.
للقيام بذلك ، نحتاج إلى معلمات نكتبها بين قوسين بعد اسم الإجراء
<قبل>
إجراء printError (s: string) ؛
يبدأ
writeln (ق) ؛
النهاية ؛ pre>
في هذا الإجراء ، تعتبر s معلمة - متغير خاص يسمح لك بالتحكم في الإجراء.
المعلمة هي متغير يحدد كيفية عمل الإجراء الفرعي. يتم سرد أسماء المعلمات مفصولة بفواصل منقوطة في رأس البرنامج الفرعي. بعد المعلمة ، النقطتان & nbsp؛ متبوعة بنوعها. div>
الآن ، عند استدعاء الإجراء ، تحتاج إلى الإشارة بين قوسين إلى القيمة الفعلية التي سيتم تعيينها للمعامل (المتغيرات) داخل الإجراء الخاص بنا
<قبل>
printError (& # 39 ؛ خطأ! القسمة على الصفر! & # 39 ؛) ؛
هذه القيمة تسمى وسيطة.
الوسيطة هي قيمة المعلمة التي يتم تمريرها إلى الروتين الفرعي عندما يتم استدعاؤها. div >
لا يمكن أن تكون الوسيطة قيمة ثابتة فحسب ، بل يمكن أن تكون أيضًا متغيرًا أو تعبيرًا حسابيًا.
Problem
في البرنامج ، من الضروري إضافة استدعاءات الإجراء بطريقة أنه عند إدخال القيمة 0 ، فإن الخطأ
& quot؛ Error: القسمة على صفر! & quot؛ ،
& nbsp؛ strong > على الشاشة ، وإلا & nbsp ؛ يتم عرض خطأ "خطأ في الإدخال!" strong>.
مهمتك هي إجراء الاستدعاء الصحيح للإجراء. & nbsp؛
Запрещенные операторы: return