You are on page 1of 9

‫لغة البرمجة‪BASIC‬‬

‫ان ‪ Visual Basic‬شخصية اصيلة معتزة بامجادها وتاريخها‪ ،‬فما زالت‪ Visual Basic‬محتفظة بسمات‬
‫لغة البرمجة ‪ BASIC‬التي تصنف من لغات البرمجة العليا ‪، High level programming language‬‬
‫لغة ‪ BASIC‬هي روح لغة البرمجة ‪ Visual Basic ،‬وهي اللغة التي زادت من اسهم وشعبية ‪Visual‬‬
‫‪Basic‬الى جانب مصمم النماذج ‪ .Form Designer‬فمعظم الصيغ ‪ Syntax‬التي ظهرت بها اللغة‬
‫منذ بداية الستينات مازالت مدعومة بشكل جيد في احدث اصدارات ‪ Visual Basic .‬ليس هذا فقط‪،‬‬
‫بل اضيفت اليها العشرات من الدوال والصيغ البرمجية حتى تالئم قوة‪ Visual Basic‬وتحاكي تطبيقات‬
‫‪Windows‬في امكانياتها‪.‬‬

‫المتغيرات والثوابت‬
‫المتغيرات والثوابت هي اساس أي لغة برمجة ‪ .‬إن استيعاب انواع المتغيرات من المسائل الضرورية‬
‫التي تمكنك من اختيار االنواع المناسبة للمتغيرات سواء الرسالها الى الدوال او إلجراء العمليات‬
‫الحسابية عليها ‪.‬بودي التحدث عن مبدئا قابلية الرؤية وعمر الحياة قبل الخوض في تفاصيل‬
‫المتغيرات‪.‬‬

‫قابلية الرؤية وعمر الحياة‬


‫قابلية الرؤية وعمر الحياة من احد المبادئ الضرورية في جمي ع لغات البرمجة‪ ،‬و ‪Visual Basic‬‬
‫يعتبر لغة برمجة حقيقة تدعم هذان المبدئان‪ .‬قابلية الرؤية– ‪ Visibility‬او المدى ‪ Scope -‬للمتغير‬
‫تمثل قدرة البرنامج على الوصول الى المتغير واستخدامه‪ ،‬فالمتغير ‪ X‬الموجود في الكود التالي ال‬
‫يمكن الوصول اليه خارج االجراء ‪MySub1‬‬
‫)( ‪Sub MySub1‬‬
‫‪Dim X As Integer‬‬
‫‪X = 20‬‬
‫‪End Sub‬‬
‫)( ‪Sub MySub2‬‬
‫‪Print X‬‬ ‫ال يمثل المتغير ‪ X‬السابق‬
‫‪End Sub‬‬

‫اما عمر الحياة ‪ LifeTime‬للمتغير‪ ،‬فهي تمثل الفترة التي يظل فيها المتغير محتفظا بقيمته‪،‬‬
‫فالمتغير ‪ X‬الموجود في الكود السابق‪ ،‬سينتهي ويزال تلقائيا من الذ اكرة بمجرد الخروج من االجراء‬
‫‪ .Sub1‬ولكي تفهم االسلوب الذي يتبعه ‪ Visual Basic‬لتطبيق مبدأ قابلية الرؤية وعمر المتغيرات‪،‬‬
‫عليك معرفة انواع المتغيرات من منظور الرؤية وعمر الحياة‪:‬‬

‫المتغيرات المحلية الديناميكية‪:‬‬


‫المتغيرات المحلية الديناميكية ‪ Dynamic Local Variables‬هي متغيرات تولد مع السطر الذي تعلن‬
‫عنها فيه داخل االجراء وتموت بعد نهاية االجراء مباشرة ويتم تحرير المساحة التي حجزتها هذه‬
‫المتغيرات في الذاكرة‪ ،‬وبالنسبة لقابلية الرؤية فلن تستطيع الوصول الى هذه المتغيرات الى في‬
‫نفس االجراء الذي صرح فيه المتغير ‪ .‬تستخدم الكلمة المحجوزة ‪ Dim‬لتصريح المتغير مع كتابة‬
‫اسمه ونوعه‪:‬‬
‫‪1‬‬
‫‪Dim sName As String‬‬
‫‪Dim iAge As Integer‬‬
‫اذا كانت الكلمة المحجوزة ‪ Option Explicit‬موجودة في اعلى منطقة االعالنات العامة لنافذة‬
‫النموذج او ملف البرمجة ‪ ، BAS‬فعليك الاللتزام بالتصريح كما في الصيغة السابقة‪ ،‬وان لم تكن‬
‫الكلمة المحجوزة ‪ Option Explicit‬مسطورة فيمكنك تعريف المتغير مباشرة دون االلتزام بعملية‬
‫التصريح باسناد قيمة ابتدائية له‪:‬‬
‫“ ‪sName = " Ali‬‬
‫‪iAge = 99‬‬
‫صحيح ان الكود السابق يوفر عليك عناء تصريح المتغير ال انه غير محبذ بشكل كبير لدى المبرمجين‬
‫الجادين‪ ،‬قد يعرض هذا المثال احد االسباب‪:‬‬
‫”الشركة التجارية " = ‪sCompanyName‬‬
‫‪Print sConpanyName‬‬ ‫الناتج ‘ ‪0‬‬

‫الناتج من عملية الطباعة ‪ Print‬في الكود السابق لن يكون كما هو متوقع" الشركة التجارية"‪،‬‬
‫فالمتغير المستخدم في السطر الثاني هو ‪ sConpanyName‬وليس ‪ sCompanyName‬وهذا الخطأ‬
‫كفيل في نمو الشوائب البرمجية ‪ Bugs‬في برامجك‪.‬‬
‫سبب آخر قد يجعلك تحبذ االلتزام بعملية التصريح وهو ان جميع المتغيرات تكون من النوع ‪Variant‬‬
‫ان لم يتم تصريح نوع غير ذلك‪ ،‬والنوع ‪ Variant‬هو ابطأ انواع المتغيرات كما سيأتي الحقا‪.‬‬
‫في مثالنا السابق؛ يؤدي فرض االعالن عن المتغيرات ‪ Option Explicit‬إلى االعالن عن خطأ و توقف‬
‫البرنامج ‪ .‬وفي جميع الحاالت فإن الخطأ في كتابة اسم المتغير أو اسناد قيمة إلى متغيرات لم‬
‫يتم االعالن عنها مسبقا سيتتسبب في اإلعالن عن خطأ‪ ،‬وسيتوقف البرنامج ايضا‪.‬‬

‫مالحظة ‪:‬توفر لك بيئة التطوير المتكاملة ‪ IDE‬خيار يلزمك بعملية التصريح أي بكتابة الكلمة المحجوزة‬
‫‪Option Explicit‬في جميع وحدات برامجك كنوافذ النماذج‪ ،‬ملفات البرمجة ‪ ....‬الخ ‪.‬لتفعيل االختيار‪،‬‬
‫حدد االختيار ‪ Require Variable Declaration‬من خانة التبويب‪ Editor‬في صندوق الحوار‪.Options‬‬

‫اخيرا‪ ،‬القيمة االبتدائية للمتغير العددي المصرح هي‪ ، 0‬والحرفي يكون قيمة حرفية خالية "" ‪ ،‬اما‬
‫الكائنات فهي ال شئ ‪.Nothing‬‬

‫المتغيرات على مستوى الوحدة‪:‬‬


‫نقصد بالوحدة هي الوحدة البرمجية ‪ Module‬المتمثلة في ملف برمجة او نافذة نموذج ‪ Form‬او‬
‫فئة ‪ Class ....‬الخ‪ .‬من الوحدات المكونة للمشروع ‪ .‬يمكنك تصريح متغير على مستوى الوحدة في‬
‫منطقة االعالنات العامة للوحدة أي خارج االجراءات‪ .‬قابلية الرؤية لهذا النوع من المتغيرات يكون عام‬
‫لجميع اكواد الوحدة في حالة استخدام الكلمة المحجوزة ‪ Dim‬او ‪:Private‬‬

‫‪Dim sName As String‬‬


‫‪Dim iAge As Integer‬‬
‫)( ‪Sub SetData‬‬
‫”‪sName = “ studnt1‬‬
‫‪iAge = 99‬‬
‫‪End Sub‬‬

‫‪2‬‬
‫)( ‪Sub PrintData‬‬
‫‪Print sName‬‬
‫‪Print iAge‬‬
‫‪End Sub‬‬
‫اما اذا كنت تريد تعريف متغيرات عامة قابلة للوصول من جميع انحاء المشروع ‪ ،‬فالكلمة المحجوزة‬
‫‪ Public‬تفي بالغرض‪:‬‬
‫في ملف برمجة ‘‬
‫‪Public iNumberOfUsers As Integer‬‬
‫في نافذة نموذج‪‘ Form1‬‬
‫‪Public sCurrentUser As String‬‬

‫في نافذة النموذج‪‘ Form2‬‬


‫)(‪Private Sub Form_Load‬‬
‫‪If iNumberOfUsers <= 0 Then‬‬
‫‪Exit Sub‬‬
‫‪Else‬‬
‫‪Me.Caption = Form1.sCurrentUser‬‬
‫‪End If‬‬
‫‪End Sub‬‬
‫اما عمر الحياة لهذا النوع من المتغيرات فيكون مرافق لعمر حياة الكائن التابع له والمصرح فيه– كعمر‬
‫حياة المتغيرات الستاتيكية‪ ،‬وبالنسبة للمتغيرات العامة المصرحة في ملفات البرمجة ‪ ،‬فستظل‬
‫محتفظة بقيمتها حتى نهاية تنفيذ البرنامج‪.‬‬

‫المتغيرات‬
‫نستطيع ان نعرف المتغيرات بمنظورين‪ ،‬بالمنظور الرياضي يعرف المتغير على انه مجهول س يحتوي‬
‫على قيمة معينة‪ ،‬اما بالمنظور البرمجي– وهو االهم – يعرف المتغير على انه قيمة تحفظ في‬
‫ذاكرة الجهاز ‪ .‬وتختلف المساحة المحجوزة لحفظ هذه القيمة باختالف نوع المتغير‪ ،‬فمتغيرمن النوع‬
‫‪ Byte‬ال يستهلك سوى بايت واحد من ذاكرة الحاسب‪ ،‬في حين أن متغير من نوع ‪ String‬قد يحجز‬
‫مساحة تصل الى ‪ 2‬جيجابايت‪ .‬وفيما يلي عرض لجميع انواع المتغيرات المدعومة من قبل ‪:Visual‬‬
‫‪Basic‬‬

‫المتغيرات من النوع‪:Byte‬‬
‫يستطيع هذا النوع االحتفاظ باي قيمة صحيحة ضمن المجال العددي ] ‪ [ 0 , 255‬وهو اصغر انواع‬
‫المتغيرات اذ ال يحتجز سوى ‪ 1‬بايت ‪.‬‬

‫المتغيرات من النوع ‪:Integer‬‬


‫اسند أي قيمة عددية صحيحة في المجال ] ‪ [- 32,768 , 32,767‬للمتغيرات من النوع ‪Integer‬‬
‫فهي تحجز مساحة ‪ 2‬بايت‪ .‬تفيدك المتغيرات من هذا النوع عند التعامل مع االعداد الصحيحة ‪.‬‬

‫المتغيرات من النوع‪:Long‬‬
‫المتغيرات من نوع ‪ Long‬تستطيع حمل قيم عددية صحيحة في المجال‬

‫‪3‬‬
‫] ‪ [ 2,147,483,648 , 2,147,483,647‬فهي تحجز مساحة قدرها ‪ 4‬بايت للمتغير الواحد‪ ،‬فهي‬
‫تحمل قيم كبيرة جدا مقللة الخوف من ظهور خطأ وقت التنفيذ ‪. Overflow‬‬

‫المتغيرات من النوع‪:Boolean‬‬
‫المتغيرات من النوع ‪ Boolean‬هي نفس المتغيرات من النوع ‪ Integer‬ولكن القيم التي تمكنك من‬
‫اسنادها اليها تكون اما ‪ False 0‬او ‪ ، - True 1‬حجم المتغيرات من النوع ‪ Boolean‬مثل حجم‬
‫المتغيرات من النواع ‪ Integer‬أي ‪ 2‬بايت‪ ،‬اال انها ال تستخدم سوى ‪ 1‬بت متجاهلة ال ‪ 15‬بت االخرى‬
‫‪.‬صحيح ان الحجم ‪ 2‬بايت يعتبر زيادة غير مستخدمة‪ ،‬اال ان المتغيرات من النوع ‪ Boolean‬تسهل‬
‫عليك عملية قراءة وفهم االكواد‪.‬‬

‫المتغيرات من النوع‪:Single‬‬
‫مجال القيم التي يمكن للمتغيرات من النوع ‪ Single‬احتوائها هو االعداد الموجبة من‬
‫‪ 1.401298e-45‬الى ‪ 3.402823e38‬او االعداد السالبة من ‪ -3.402823e38‬الى‬
‫‪-1.401298e-45‬وتستهلك مساحة ‪ 4‬بايت‪ .‬ربما يفضل معظم مبرمجي ‪ Visual Basic‬النوع ‪Single‬‬
‫على النوع ‪ Double‬العتقادهم ان األول اسرع في التنفيذ من الثاني‪ ،‬هذا االعتقاد صحيح في النوع‬
‫القديم من المعالجات والتي ال تحتوي على مساعد رياضي ‪Math Coprocessor،‬‬
‫اما اغلب المعالجات الجديد تحتوي على المساعد الرياضي وهو خاص بالعمليات الحسابية لالعداد‬
‫ذات الفاصلة العائمة ‪ Floating Point‬مما يجعل السرعة متقاربة جدا بين النوعين ‪ Single‬و ‪Double‬‬
‫‪.‬‬

‫المتغيرات من النوع‪:Double‬‬
‫مجال القيم التي يمكن للمتغيرات من النوع ‪ Double‬احتوائها هو االعداد الموجبة‬
‫من ‪ 4.9406564581247e-324‬الى ‪ 1.79769313486232e308‬او االعداد السالبة‬
‫من ‪ -4.9406564581247e-324‬الى ‪ -1.79769313486232e308‬وتستهلك‬
‫مساحة ‪ 8‬بايت‪ .‬معظم دوال ‪ Visual Basic‬الخاصة باالعداد تعود بقيمة من النوع ‪ Double‬لذ لك هو‬
‫النوع المفضل دائما‪ ،‬اال ان عيبه الوحيد هو في المساحة الكبير التي يحتجزها‪ ،‬وقد يظهر هذا العيب‬
‫جليا في المصفوفات الكبيرة من النوع ‪.Double‬‬

‫المتغيرات من النوع‪:Currency‬‬
‫يمكن للمتغيرات من النوع ‪ Currency‬االحتفاظ بقيم عشرية للفاصلة الثابتة ‪Fixed-Point‬‬
‫شريطة ان تكون محصورة في داخل المجال ‪، [- 922,337,203,685,477.5808‬‬
‫] ‪922,337,203,685,477.5808‬وحجمها ‪ 8‬بايت ايض ا ‪.‬يوفر هذا النوع من المتغيرات‬
‫عناء التقريب باستخدام دوال التقريب ك ‪ Fix .... ، Round‬الخ والتي تستخدمها بكثرة مع المتغيرات‬
‫من النوع ‪ Double‬و ‪ Single‬مما يبطئ العمليات الحسابية‪ ،‬مع ذلك االستخدام المجرد للمتغيرات‬
‫من النوع ‪ Currency‬ابطأ خمس او اربع مرات من المتغيرات ‪ Double‬و ‪ Single‬فال تستخدمها بكثرة‬
‫في حالة تطبيق آالف العمليات الحسابية عليها‪.‬‬

‫‪4‬‬
‫المتغيرات من النوع ‪:Date‬‬
‫هذا النوع من المتغيرات يحمل قيم تاريخية تبدأ من التاريخ ‪ 1‬كانون الثاني ‪ 100‬الى ‪31‬‬
‫كانون االول ‪ 9999‬ويشمل نفس المتغير وقت يبدأ من الساعة ‪ 00:00:00‬ص حتى الساعة‬
‫‪23:59:59‬م وتستهلك مساحة ‪ 8‬بايت ‪.‬‬

‫المتغيرات من النوع ‪:String‬‬


‫لماذا لغة ال ‪ BASIC‬سهلة؟ والجواب بسبب المتغيرات الحرفية من نوع ! ‪ String‬اذا كنت من‬
‫مبرمجي ‪ C‬فانسى كل شئ متعلق بقضية حجز المساحة في الذاكرة سواء كان ديناميكيا او‬
‫ستاتيكيا باستخدام المصفوفات‪ ،‬او التحقق من طول النص وغيرها من االمور التي تتطلب ‪ 3‬او ‪6‬‬
‫سطور السناد قيمة الى متغير حرفي‪ ،‬ف ‪ Visual Basic‬هو المتكفل بهذه االمور تلقائيا بمجرد‬
‫تصريح متغير من النوع ‪ String‬او اسناد قيم حرفية له‪.‬‬
‫منذ االصدار– ‪ VB4‬نسخة عيار ‪ 32‬بت ‪ -‬اصبحت المتغيرات الحرفية ‪ Strings‬تعتمد ترميز ‪UNICODE‬‬
‫وليس ‪ ASCII .‬بصفة عامة‪ ،‬يوجد نوعان من انواع المتغيرات الحرفية يوفرهما ‪ Visual Basic‬لك هما‬
‫المتغيرات ثابتة الطول ‪ Fixed-length‬والمتغيرة الطول ‪ .Variable-Length‬المتغيرات ثابتة الطول هي‬
‫متغيرات حرفية عدد حروفها محدد في اثناء تصريحها وال يمكن ان يتغير‪:‬‬
‫‪Dim FixedStr As String * 13‬‬
‫“‪sFixedStr= “Computer dep‬‬
‫فالعدد االقصى من الحروف التي يمكن للمتغير ‪ FixedStr‬ان يحمله هو ‪ 13‬مما يؤدي الى استهالك‬
‫مساحة قدرها ‪ 24‬بايت– ال تنسى ان ‪ UNICODE‬يستهلك ‪ 2‬بايت للحرف الواحد ‪.‬‬
‫بالنسبة للمتغيرات المتغيرة الطول ‪ Variable-Length‬فهي باختصار تغطي على جميع عيوب النوع‬
‫السابق‪ ،‬اال انها تحتجز مساحة تعادل ضعف عدد الحروف ‪ + 10‬بايتات اضافية تحوي معلومات عن‬
‫المتغير الحرفي كحجمه وغيرها من التفاصيل التي يخفيها ‪ Visual Basic‬عنك‪ ،‬والعدد االقصى من‬
‫الحروف التي يمكن حفظها في هذا النوع يصل إلى ‪ 2‬جيجا بايت‪.‬‬

‫المتغيرات من النوع ‪:Object‬‬


‫معظم المتغيرات التي تمثل كائنات سواء صرحت بالنوع ‪ Object‬او بنوع فئات هي متغيرات من‬
‫النوع ‪:Object‬‬
‫‪Dim X As Object‬‬
‫‪Dim Y As Form‬‬
‫‪Dim Z As Text‬‬

‫نستطيع اسناد كائن الى كائن عن باستخدام العبارة ‪:Set‬‬


‫‪Set X = New MyClass‬‬
‫‪Set Y = Form1‬‬
‫‪Set Z = Text1‬‬

‫‪5‬‬
‫المتغيرات من النوع ‪:Variant‬‬
‫ظهرت المتغيرات من النوع ‪ Variant‬في االصدار ‪ ، VB3‬ويستطيع حمل جميع انواع البيانات السابق‬
‫ذكرها مثل ‪ String .... ،Date ،: Long‬الخ‪ .‬الحجم الذي يستهلكه المتغير ‪ Variant‬هو ‪16‬‬
‫بايت‪،‬البايت االول يحدد نوع القيمة الموجودة في المتغير‪ ،‬والبايتات من ‪ 2‬الى ‪ 7‬ال تستخدم اال في‬
‫حالة كون القيمة من النوع ‪ ، Decimal‬اما البايتات من ‪ 8‬الى ‪ 15‬فهي تمثل القيمة التي يحملها‬
‫المتغير‪.‬‬
‫الميزة التي تتميز بها المتغيرات من نوع ‪ Variant‬ليس فقط في امكانية اشتمالها على انواع مختلفة‬
‫من البيانات بل واجراء العمليات الحسابية او المنطقية عليها‪ ،‬حيث يقوم ‪ Visual Basic‬باختبار نوع‬
‫المتغيرات ومن ثم اجراء العملية الحسابية او المنطقية المناسبة لها‪:‬‬
‫‪Dim X As Variant‬‬
‫‪Dim Y As Variant‬‬
‫‪Dim Z As Variant‬‬
‫قيمة من النوع‪X = 2000 ‘ Integer‬‬
‫قيمة من النوع‪Y = CLng(2000) ‘ Long‬‬
‫قيمة من النوع‪Z = X + Y ‘ Long‬‬
‫قيمة من النوع‪X = CDbl(2.5) ‘ Double‬‬
‫قيمة من النوع‪Z = X + Y ‘ Double‬‬

‫ال تحاول االعتماد على الطرق السابقة بشكل استثنائي‪ ،‬فقد تعطيك نتائج غير متوقعة‪ ،‬كما‬
‫المتغيرات من هذا النوع ابطئ انواع المتغيرات‪.‬‬

‫الثوابت‬
‫ابسط انواع الثوابت هي الثوابت العددية والتي يمكنك كتابتها مباشرة بالنظام العشري ‪ Decimal‬او‬
‫باضافة البادئة &‪ H‬للنظام الستعشري ‪ Hexadecimal‬او البادئة &‪ O‬للنظام الثماني‪:‬‬
‫جميع االعداد التالية تساوي‘ ‪15‬‬
‫‪Print 15‬‬
‫‪Print &HF‬‬
‫‪Print &O17‬‬
‫من الضروري ان انبه هنا بان جميع االعداد المستخدمة في النظام الستعشري ‪Hexadecimal‬آ‪، 0‬‬
‫‪.... 2 ،E ، F ،1‬والنظام الثما ني ‪ Octal‬والتي تكتبها في اكوادك تعتبر في نظر ‪ Visual Basic‬اعداد‬
‫من النوع ‪Integer‬‬

‫فكرة الثوابت المسماة شبيهه بفكرة المتغيرات‪ ،‬ويكمن الفرق بينهما في أن قيم الثوابت اليمكنك‬
‫تعديلها وقت التنفيذ النها قيم ليست موجودة بالذاكرة كقيم المتغيرات‪ ،‬وانما يتم استبدال هذه‬
‫االسماء بقيمتها الفعلية في الكود اثناء عملية الترجمة ‪ ، Compiling‬فالثوابت تحفظ مباشرة في‬
‫الملف التنفيذي ‪ EXE‬للبرنامج‪.‬‬
‫تستطيع تعريف ثابت جديد باستخدام العبارة‪:Const‬‬
‫‪Const PI = 3.14‬‬
‫‪Print PI‬‬
‫كما يفضل تعريف نوع الثابت لزيادة سرعة التعامل معه‪:‬‬

‫‪6‬‬
‫‪Const PI As Double = 3.14‬‬
‫”‪Const PROGRAMMER_NAME As String = “Computer department‬‬
‫&‪Const SPECIAL_VALUE As Long = &H32FE‬‬

‫العمليات الحسابية‬
‫الجدول التالي يبين العمليات الحسابية حسب االسبقية‪.‬‬

‫) ‪(Operation‬العملية‬ ‫)‪ (Operation Code‬رمز العملية‬


‫االقواس‬ ‫()‬
‫الرفع‬ ‫^‬
‫القسمة والضرب حسب االسبقية‬ ‫*‪/ ،‬‬
‫باقي القسمة‬ ‫‪Mod‬‬
‫الجمع والطرح حسب االسبقية‬ ‫‪+ ،-‬‬
‫الدمج(الجمع الحرفي )‬ ‫&‬
‫األسبقية من اليسار الى اليمين‬ ‫><‪= ، > ، => ،< ، =< ،‬‬
‫تعابيرمنطقية‬ ‫‪AND , OR‬‬

‫‪7‬‬
‫التحكم في سير البرنامج‬
‫ او‬Select ‫ و‬If ‫من االجراءات لن تكون ذات قيمة معنوية كبيرة مالم تستخدم عبارات التفرع‬%90
‫ الفقرات التالية تشرح‬،‫ لتتحكم في سير البرنامج‬Do … Loop ‫ او‬For … Next ‫الحلقات التكرارية ك‬
.Looping Statements ‫ وعبارات التكرار‬Branch Statements ‫عبارات التفرع‬

IF‫التفرع باستخدام‬
‫ وحسب وانما في جميع لغات‬Visual Basic ‫ ليس في‬،‫ الجميلة ال يستغني عنها اي مبرمج‬If ‫جملة‬
‫ وهي تنجز اما في‬،‫ من اكثر العبارات استخدام ا في البرنامج‬If ‫ ومما ال شك فيه تعتبر‬. ‫البرمجة‬
:‫عدة سطور‬- ‫سطر واحد او– المفضل‬
‘‫في سطر واحد‬

If Condition Then statement


If Condition Then statement1 Else statement2

If X > 0 Then Y = 0
If X > 0 Then Y = 0 Else Y = X

‘‫في عدة سطور‬


If X > 0 Then
If Condition Then
Y=0
statement End If
End If

If Condition Then If M > 0 Then


Statement1 T=1
Else Else
T = -1
Statement2
End If
End If
If M > 0 Then
T=1
If Condition1 Then ElseIf M < 0 Then
Statement1 T = -1
ElseIf Condition2 Then Else
T=0
Statement2
End If
Else
Statement3
End If

8
9

You might also like