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
الواجب :
مطلوب تعديل البرنامج السابق ليستقبل ثلاثة أرقام ويظهر ناتج الجمع
ودمتم بخير
التعليقات