23 - سلسلة تبسيط البرمجة – برنامج تعريف عدة متغيرات

السلام عليكم ورحمة الله وبركاته

بسم الله الرحمن الرحيم

في المثال الذي اقتبسناه في الدرس السابق واستكمالا له نجد الجزء التالي :


الآن بعد أن مرنته على عدة أعداد أرادت رفع مستوى التمرين

فقالت له سأقول لك رقمين وأنت تعطيني ناتج الجمع

أي سيكون لدينا الصيغة التالية :

عدد أول + عدد ثاني = ناتج

أي أن الطفل سينتظر سماع العدد الأول من الأم وبعدها سيحفظه في ذاكرته منتظرا العدد الثاني وبعد سماع الثاني سيقول الناتج

فتقول مثلا 5 فلا يقول الطفل شيئل لأنه يعلم مسبقا أن الجمع يجب أن يكون على عددين على الأقل

لذا يحتفظ بالرقم 5 في ذهنه ومهيئا نفسه لعملية الجمع ومنتظر العدد الثاني

وعندما تقول الأم 3 حينها أصبح لديه العددين فيجمعهما ويقول مجيبا 8

وهكذا من أجل أزواج مختلفة من الأعداد


وكتحويل هذه الخوارزمية إلى برنامج سنكتب التالي :

  • افتحوا مشروع جديد

  • اكتبوا فيه الأسطر التالية:

--

Module Module1

    Sub Main()
        Dim X1, X2, Result As Integer

        Console.WriteLine("Enter First Number :")
        X1 = Console.ReadLine()

        Console.WriteLine("Enter Second Number :")
        X2 = Console.ReadLine()

        Result = X1 + X2

        Console.WriteLine(String.Format("The sum of {0} and {1} is : {2}", X1, X2, Result))

        Console.ReadLine()
    End Sub

 End Module

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

لهذا عرفنا ثلاث متحولات الأول والثاني لحفظ العدد الأول والثاني والمتغير الثالث لحفظ النتيجة

أظهرنا على الشاشة عبارة تطلب من المستخدم إدخال العدد الأول

ثم قرأنا العدد ووضعناه في المتحول الأول X1

ثم أظهرنا على الشاشة عبارة تطلب من المستخدم إدخال العدد الثاني

ثم قرأنا العدد ووضعناه في المتحول الثاني X2

ثم وضعنا ناتج الجمع في المتغير الثالث Result

ثم أظهرنا على الشاشة عبارة تظهر الناتج

ونلاحظ أننا استخدمنا إجراء تابع لنوع المعطيات string وهو إجراء يقوم بإرجاع سلسلة نصية مبنية على جزء ثابت و أجزاء متغيرة

لأننا لو وضعنا الأسماء X1, X2, Result داخل النص فسيفهمها المترجم أنها أسماء فقط

بينما نحن نريد القيم المحتواة فيها

ولهذا الإجراء Format يقبل أول بارمتر كسلسلة نصية نضع فيها العبارة التي نريدها

ثم نمرر له بعدها أي عدد من البارمترات ليقوم هو بتعويض قيمها داخل السلسلة السابقة كل بارمتر بحسب المكان الذي حجزناه له

و حجز المكان يكون بقوسين {} بينهما رقم يعبر عن رتبة البارمتر

بمعنى سيأخذ البارمتر الأول وهو X1 ويعوض قيمته لحظة وصول تنفيذ السطر في مكان {0}

ويعوض الذي يليه أي X2 في المكان {1} و يستبدل المكان الآخير {2} بقيمة المتغير Result

الواجب :

مطلوب تعديل البرنامج السابق ليستقبل ثلاثة أرقام ويظهر ناتج الجمع

ودمتم بخير