مراحل كتابة البرنامج بلغة فيجول بيسك ستديو تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ، هي.
Download ReportTranscript مراحل كتابة البرنامج بلغة فيجول بيسك ستديو تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ، هي.
Slide 1
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 2
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 3
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 4
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 5
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 6
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 7
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 8
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 9
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 10
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 11
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 12
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 13
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 14
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 15
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 16
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 17
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 18
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 19
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 20
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 21
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 22
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 23
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 24
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 25
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 26
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 27
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 28
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 29
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 30
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 31
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 32
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 33
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 34
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 35
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 36
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 37
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 38
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 39
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 40
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 41
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 42
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 43
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 44
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 45
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 46
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 47
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 48
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 49
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 50
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 51
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 52
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 53
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 54
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 55
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 56
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 57
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 58
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 59
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 60
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 2
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 3
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 4
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 5
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 6
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 7
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 8
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 9
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 10
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 11
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 12
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 13
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 14
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 15
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 16
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 17
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 18
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 19
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 20
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 21
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 22
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 23
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 24
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 25
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 26
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 27
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 28
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 29
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 30
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 31
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 32
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 33
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 34
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 35
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 36
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 37
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 38
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 39
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 40
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 41
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 42
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 43
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 44
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 45
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 46
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 47
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 48
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 49
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 50
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 51
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 52
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 53
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 54
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 55
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 56
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 57
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 58
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 59
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.
Slide 60
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
تتكون مرحلة كتابة البرنامج باستخدام لغة فيجول بيسك ستوديو من ثالث خطوات ،هي :
1
تصميم الواجهات
2
ضبط خصائص األدوات
3
كتابة أوامر البرمجة
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
1
تصميم الواجهات
تشمل تحديد عدد النوافذ
التي
يحتاجها
البرنامج
التي
نحتاجها
واألدوات
على كل نافذة كاألزرار
ومربعات
والقوائم .
النصوص
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
2
ضبط خصائص األدوات
بعد أن نضع األدوات على
النافذة تأتي مرحلة تحديد
خصائص
هذه
األدوات
Propertiesكشكل األداة
،
ولونها
المستخدم
وغير ذلك.
،
،
والخط
وعنوانها
مراحل كتابة البرنامج بلغة فيجول بيسك ستديو
3
بعد
كتابة أوامر البرمجة
ننتهي
أن
من
المرحلتين السابقتين ،تأتي
مرحلة كتابة األوامر التي
نريد أن تنفذ عند وقوع
حدث معين.
فمثالا
عندما
يضغط
المستخدم على زر األمر
فيكون الحدث.
طريقة تعامل البرنامج مع البيانات
الهدف الرئيس من أي برنامج هو معالجة البيانات ،وتختلف أنواع البيانات فقد تكون حروفا ا أو
أرقاما ا أو تواريخ أو غيرها ،وتأتي البيانات غالبا ا من مستخدم البرنامج عن طريق أجهزة اإلدخال
المتصلة بالحاسب كلوحة المفاتيح والفأرة.
يستقبل البرنامج البيانات ويخزنها في الذاكرة حتى يستطيع التعامل معها ،لذلك البد من إعطاء هذه
البيانات أسماء معينة ليتمكن من الرجوع إليها .
تصنف البيانات إلى نوعين هما :
1
الثوابت
2
المتغيرات
طريقة تعامل البرنامج مع البيانات
1
الثوابت
الثابت :هو إعطاء اسم لقيمة معينة ويستخدم داخل البرنامج وال يمكن تغيير هذه القيمة عند تنفيذ
البرنامج.
أنواع الثوابت
1
ثابت عددي
2
ثابت حرفي
طريقة تعريف الثوابت
Const Const1 = Value
Const ) 1األمر الذي نستخدمه لتعريف الثابت.
Const1 ) 2اسم الثابت ،ويتم اختياره من قبل المبرمج.
Value ) 3القيمة التي سوف تخزن في هذا الثابت.
مثال
إذا أردنا تعريف ثابت الدائرة ( النسبة بين محيط الدائرة وقطرها ) يكون األمر كالتالي :
Const Pi = 3.14
المتغيرات وأنواعها
المتغير :هو مكان في الذاكرة الرئيسة تخزن فيه بيانات و ُتعطى اسما ا معينا ا حتى يتم استرجاعها
والتعامل معها داخل البرنامج ،ويمكن تغيير ما يتم تخزينه به ،لذلك سميت بالمتغيرات.
وتختلف المتغيرات باختالف البيانات التي تخزن بها ،وكل متغير له اسم ونوع وقيمة.
أنواع المتغيرات
تتعدد المتغيرات بحسب نوع البيانات التي تخزن بها ،فمثالا قد تكون رقما ا صحيحا ا أو رقما ا عشريا ا أو
حرفا ا أو مجموعة حروف ،ويمكن تقسيم أنواع المتغيرات إلى :
1
متغير عددي
2
متغير حرفي
3
متغير منطقي
شروط تسمية المتغيرات
) 1أن يتكون من حروف انجليزية ( ) A .. Zوأرقام والرمز ( _ ) وال يحتوي على فراغ أو أي
رمز آخر.
) 2أن ال يبدأ برقم.
) 3أن ال يتجاوز 255حرف.
) 4أن ال يكون كلمة محجوزة للغة البرمجة.
أمثلة
أمثلة صحيحة ألسماء المتغيرات :
A23 C_D
Y
X
أمثلة غير صحيحة ألسماء المتغيرات :
@IF
2DF
DIM
طريقة تعريف المتغيرات
ُتعرف المتغيرات باستخدام األمر DIMوصيغته كالتالي :
DIM Var1 As Type
حيث إن :
: Var1 ) 1اسم المتغير.
: As ) 2رابط بين اسم المتغير ونوعه.
: Type ) 3نوع المتغير.
إذا أردنا تعريف متغير لتخزين اسم الطالب وليكن nameمن نوع حرفي يكون كالتالي :
أمثلة
DIM name As String
ولتعريف أكثر من متغير :
DIM name As String , age As Integer
المطلوب نوع البيانات صحيح
–عشري –سلسلة نصية
أنواع البيانات
تصحيح :
ال يحتوي فيجول ستوديو على متغير من النوع Currencyوال النوع Variantحيث تم استبداله بالنوع Object
العمليات الحسابية والمنطقية
العمليات الحسابية في البرمجة
ترتيب العمليات الحسابية
) 1العمليات التي داخل األقواس.
) 2عمليات األس.
) 3عمليات الضرب والقسمة ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
) 4عمليات الجمع والطرح ،وإذا تعددت نبدأ التنفيذ من اليسار لليمين.
مثال1
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
M = 2 * 6 + 3^2
الحل
حيث إن العمليات هنا هي الضرب والجمع واألس ،ولها أولويات مختلفة فسوف نبدأ التنفيذ
بالترتيب
) 1ننفذ عملية األوس أوالا :
M=2*6+9
) 2ثم عملية الضرب ثانيا ا :
M = 12 + 9
أخيراا عملية الجمع :
M = 21
مثال2
ترتيب العمليات الحسابية
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
الحل
M = 2 * ( 6 + 3 (^2
) 1ننفذ عملية الجمع أوالا :
M = 2 * 9^2
) 2ثم عملية األس ثانيا ا :
M = 2 * 81
أخيراا عملية الضرب:
M = 162
العمليات المنطقية
يقصد بها العمليات التي تتم فيها المقارنة بين قيمتين
سواء أكانتا عدديتين أو حرفيتين ،متساويتين أو
غير متساويتين ،ويكون الناتج في عمليات المقارنة
إما القيمة Trueأي صحيح أو Falseأي خطأ.
ولوكان لدينا عمليات حسابية ومعها عملية مقارنة
فإن األولوية تكون للعمليات الحسابية.
مثال
ما نتيجة تنفيذ العملية التالية على جهاز الحاسب :
4+3*5<4*6
ننفذ العمليات الحسابية أوالا
True
4 + 15 < 24
19 < 24
تحويل المعادالت الجبرية إلى الصيغة المستخدمة في البرمجة
مثال1
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟐𝑿
= 𝑴𝑵U
𝑩𝑨+
الحل
) 𝑵U𝑴 = X^2 / ( A + B
مثال2
حول المعادلة الجبرية اآلتية إلى معادلة بصيغة برمجية
𝟏 ÷ 𝟒 𝑿 = 𝟓𝒀 −
الحل
𝟏𝑿 = 𝟓 ∗ 𝒀 − 𝟒/
أدوات البرمجة بلغة فيجول بيسك ستوديو
األدوات :هي أجزاء برامج جاهزة لالستخدام ،أي أنها أعدت مسبقا ا لتوفير
على المبرمج الوقت والجهد.
فكل ما يجب عليك عمله الستخدام األدوات هو :
) 1وضعها على النموذج في المكان المناسب.
) 2ضبط الخصائص الخاصة باألداة.
) 3كتابة أوامر البرمجة التي تتعامل مع هذه األداة.
خصائص األدوات
المطلوب name-text-font-
forecolor-backcolortextalign
تختلف خصائص األدوات باختالف األدوات ،ولكن هناك خصائص مشتركة تشترك فيها كل األدوات
وهي التي سنتعرف عليها هنا.
ضبط خصائص األدوات
هناك طريقتان للتحكم في خصائص األدوات ،هما :
1
ضبط خصائص األدوات أثناء تصميم البرنامج
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
1
ضبط خصائص األدوات أثناء تصميم البرنامج
نستخدم إحدى الطرق التالية :
1
كتابة القيمة
نكتب القيمة بواسطة لوحة المفاتيح في الخانة
المخصصة داخل إطار الخصائص كما في خاصية
Name
1
2
ضبط خصائص األدوات أثناء تصميم البرنامج
اختيار القيمة
نجد في خانة إدخال قيمة الخاصية مجموعة من
االختيارات ،نقوم باختيار إحداها ،كما في
خاصية Visible
1
3
ظهور نافذة خيارات
عند النقر على خاصية
Font
ضبط خصائص األدوات أثناء تصميم البرنامج
تظهر
خصائص الخط
نافذة
2
ضبط خصائص األدوات أثناء تشغيل البرنامج
لتغيير قيمة خاصية ألداة أثناء تنفيذ البرنامج فإننا نستخدم الصيغة التالية :
القيمة الجديدة = الخاصية .اسم األداة
مثالا لتغيير خاصية Textفي أداة مربع النص TextBoxنكتب التالي :
” المدينة المنورة “ = Textbox1.Text
أدوات إدخال البيانات
) 1أداة مربع النص : TextBoxتتيح للمستخدم كتابة نص وتخزين النص في
الخاصية Text
) 2أداة زر الخيار : RadioButtonتتيح للمستخدم إنتقاء خيار واحد فقط من
عدة خيارات وتخزن في الخاصية Checked
) 3أداة مربع االختيار : CheckBoxتتيح للمستخدم انتقاء عدة خيارات وتخزين
قيمها في الخاصية Checkstateوالخاصية Checked
) 4أداة مربع القائمة : ListBoxتعرض قائمة مكونة من عناصر يختار
المستخدم أحدها وتخزن خيار المستخدم في الخاصية Textأو SelectedIndex
) 5أداة الخانة المركبة : ComboBoxتعطي المستخدم حرية االختيار من قائمة
أو إدخال اختياره كتابة وتخزينها في الخاصية Text
أداة مربع النص TextBox
1
إن البيانات التي نحصل عليها من مربع النص تختلف بحسب ما يدخله المستخدم فقد تكون أرقام أو
حرو افا للحصول على البيانات من مربع النص نستخدم الصيغة التالية:
Var1 = TextBox .Text
حيث أن :
: Var1متغير لتخزين البيانات فيه أيا ا كان نوعها عددية أم حرفية.
: TextBoxاسم أداة مربع النص على النموذج.
: Textخاصية النص في أداة مربع النص التي تستقبل البيانات من المستخدم.
مثال
Username= Textbox1.Text
2
أداة زر الخيار RadioButton
إن البيانات التي نحصل عليها من زر الخيار هي بيانات منطقية وتخزن في الخاصية Checkedوهي
إحدى قيمتين True ،أو False
: True ) 1أن الزر قد تم اختياره
: False ) 2أن الزر لم يتم اختياره
Var1 = RadioButton . Checked
حيث أن :
: Var1متغير لتخزين البيانات من نوع منطقي .
:RadioButtonاسم أداة زر الخيار على النموذج.
: Checkedخاصية تستقبل البيانات إما Trueأو False
مثال
A = RadioButton1 . Checked
3
أداة مربع االختيار CheckBox
إن البيانات التي نحصل عليها من زر الخيار هي بيانات رقمية
وتخزن في الخاصية Checkstateوهي إحدى ثالث قيم
) 1إن المستخدم لم يختر المربع فقيمته عندئذ ((0
) 2إن المستخدم اختار المربع فقيمته عندئذ ((1
) 3أن المستخدم ال يستطيع اختيار المربع فقيمته عندئذ ()2
Var1 = CheckBox . Checkstate
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي .
:CheckBoxاسم أداة مربع االختيار على النموذج.
: Checkstateخاصية تستقبل البيانات من المستخدم.
مثال
A = CheckBox 1. Checkstate
4
أداة مربع القائمة ListBox
البيانات الموجودة في أداة مربع القائمة مكونة من عدة عناصر ،وللحصول على البيانات من القائمة
عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في القائمة بواسطة الخاصية SelectedIndex
Var1 = ListBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ListBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ListBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ListBox1نستخدم هذا األمر
A = ListBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ListBox1نستخدم هذا األمر
B = ListBox1 . Text
حيث Bمتغير حرفي.
5
أداة الخانة المركبة ComboBox
تجمع بين ميزات أداة مربع النص وأداة مربع القائمة ،حيث يستطيع المستخدم أن يختار من القائمة
أو يكتب قيمة جديدة .والبيانات الموجودة في أداة الخانة المركبة مكونة من عدة عناصر ،وللحصول
على البيانات من األداة عندما يختار المستخدم أحد العناصر يعني أحد شيئين:
) 1رقم العنصر في الخانة المركبة بواسطة الخاصية SelectedIndex
Var1 = ComboBox . SelectedIndex
) 2قيمة العنصر بواسطة الخاصية Text
Var1 = ComboBox . Text
حيث أن :
: Var1متغير لتخزين البيانات من نوع عددي أو حرفي .
:ComboBoxاسم أداة مربع القائمة على النموذج.
مثال
لمعرفة رقم العنصر الذي اختاره المستخدم من القائمة ComboBox1نستخدم هذا األمر
A = ComboBox1 . SelectedIndex
حيث Aمتغير عددي.
لمعرفة قيمة العنصر الذي اختاره المستخدم من
القائمة ComboBox1نستخدم هذا األمر
B = ComboBox1 . Text
حيث Bمتغير حرفي.
أدوات إخراج المعلومات
نستخدم أدوات إخراج المعلومات إلظهار المعلومات للمستخدم على الواجهة بعد أن عالج البرنامج
البيانات التي أدخلها المستخدم ،ومن هذه األدوات :
1
أداة مربع النص TextBox
2
أداة التسمية Label
طريقة إخراج المعلومات إلى مربع النص TextBox
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
TextBox . Text = Var1
حيث إن :
: TextBoxاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة مربع النص التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة TextBox4نكتب السطر التالي :
TextBox4.Text = X + Y
طريقة إخراج المعلومات إلى أداة التسمية Label
1
إلخراج المعلومات إلى مربع النص نستخدم الصيغة التالية :
Label. Text = Var1
حيث إن :
: Labelاسم أداة مربع النص على النافذة.
: Textخاصية النص في أداة التسمية التي سوف نخزن فيها قيمة المتغير Var1
: Var1اسم المتغير.
مثال
إلظهار حاصل جمع عددين Xو Yفي األداة Label 1نكتب السطر التالي :
Label1 . Text = X + Y
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
أ
إدخال البيانات بواسطة األمر InputBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على مربع نص وزر أمر
ليقوم المستخدم بإدخال البيانات التي يريدها في مربع النص ثم يضغط على زر األمر .إلنشاء هذه النافذة
يجب أن نكتب األمر الخاص بها ،وصيغته كالتالي:
)Var1= InputBox (message
: Var1اسم المتغير الذي سوف تخزن به البيانات التي أدخلها المستخدم وقد تكون حرفية أو رقمية.
: InputBoxأمر إنشاء هذه النافذة.
: Messageالنص الثابت الذي يظهر في النافذة.
إدخال البيانات بواسطة األمر InputBox
أ
مثال
لو أردنا أن نطلب من المستخدم إدخال اسم المستخدم فإننا نكتب:
)”أدخل اسم المستخدم“( Username = InputBox
بعض األوامر األساسية للغة فيجول بيسك ستوديو
1
أوامر إدخال البيانات وإخراج المعلومات
ب
إخراج المعلومات بواسطة األمر MsgBox
يقوم هذا األمر بإظهار نافذة صغيرة غير النافذة الرئيسة في البرنامج تحتوي على المعلومات التي نريد
للمستخدم قراءتها ،وصيغته كالتالي:
)MsgBox(message
: MsgBoxأمر إنشاء هذه النافذة.
: messageاسم المتغير أو نص ثابت يوضع بين أقواس اقتباس ليظهر في النافذة.
إخراج المعلومات بواسطة األمر MsgBox
ب
مثال
لو أردنا أن نخبر المستخدم أن كلمة السر التي أدخلها خاطئة فإننا نكتب:
) ”كلمة السر التي أدخلتها خاطئة ،فضالا أدخل كلمة السر مرة أخرى“( MsgBox
أمر اإلسناد
يقصد به تخزين قيمة معينة داخل متغير .قد تكون هذه القيمة عدد أو عملية حسابية أو سلسلة حرفية.
وصيغته كالتالي:
Var1= Value
: Var1اسم المتغير.
: Valueالقيمة التي نريد تخزينها في المتغير.
الجمل الشرطية
1
الجملة الشرطية IF
تحتوي لغة فيجول بيسك ستوديو على عدة صيغ منها :
أ
صيغة IF – THEN
ب
صيغة IF – THEN - ENDIF
ج
صيغة IF – THEN - ELSE
د
صيغة IF – THEN - ELSEIF
أ
صيغة IF – THEN
IF condition THEN statement
فإذا تحقق الشرط conditionأي كان صحيحا ا فسيتم تنفيذ األمر statementوإذا لم يكن صحيحا ا
فلن يتم تنفيذ األمر.
مثال
ب
صيغة IF – THEN - End If
هذه الصيغة هي الصيغة األولى نفسها ،إال أنه سيتم
تنفيذ أكثر من أمر إذا كان الشرط صحيحا ا ،لذلك
احتجنا إلى وضع كلمة End Ifلتوضيح نهاية
مجموعة األوامر التي سيتم تنفيذها.
مثال
IF condition THEN
…
Statements
...
End If
صيغة IF – THEN - ELSE
ج
يتم تنفيذ مجموعة األوامر statements1في حالة
كون الشرط صحيحا ا ويتم تنفيذ مجموعة األوامر
statements2في حالة كون الشرط غير صحيح.
مثال
IF condition THEN
…
statements1
…
ELSE
…
statements2
END IF
د
مطلوب
صيغة IF – THEN - ELSEIF
إذا كان الشرط األول condition1صحيحا ا فإنه
ينفذ األوامر statements1فقط
أما إذا كان الشرط األول غير صحيح فإنه يختبر
شرطا ا جديداا وهو condition2وإذا كان صحيح
فإنه ينفذ مجموعة األوامر statements2فقط
أما إذا كان الشرط الثاني غير صحيح فإنه ينفذ
مجموعة األوامر Statements3وقد يكون لدينا
شرط ثالث ورابع وهكذا
IF condition1 THEN
…
statements1
…
ELSEIF condition2 THEN
…
statements2
…
ELSE
…
Statements3
…
END IF
مثال
2
فقط المطلوب في
SELECT CASE expression
الجملة الشرطية Select Case
االطار
تستخدم هذه الجملة إذا كان هناك عدة احتماالت للشرط فبدالا من استخدام
جملة IFطويلة ومعقدة تقوم هذه الجملة بالعمل نفسه ولكن بطريقة أسهل ،
حيث تختبر هذه الجملة تعبيراا أو شرطا ا معينا ا قد يكون لقيمته أكثر من احتمال.
: SELECT CASEبداية الجملة
: Expressionالشرط أو التعبير المراد اختبار قيمته ،وقد يكون متغيراا أو عملية
حسابية أو منطقية.
: CASEتوضع قبل كل احتمال.
Prob1 , prob2 ….القيم المحتملة للتعبير.
: Statements1األوامر التي تنفذ في حالة تحقق القيمة.
: CASE ELSEإذا لم يتحقق أي احتمال من االحتماالت السابقة ،وهي اختيارية.
CASE prob1
…
statements1
…
CASE prob2
…
statements2
…
[ CASE ELSE
…
statements3
]…
END SELECT
مثال
حلقات التكرار
من أهم أوامر البرمجة التي تساعدنا على تكرار مجموعة من األوامر األخرى عدة مرات ،ويوجد في لغة
فيجول بيسك ستوديو عدة أوامر للتكرار من أهمها :
1
األمر For .. Next
2
األمر DO WHILE
1
األمر For .. Next
يكرر هذا األمر مجموعة من األوامر بعدد من المرات محدد ومعروف مسبقا ا .وصيغته هي :
]FOR counter = start TO end [STEP step
……..
statements
…….
NEXT
: Counterمتغير يخزن فيه عدد مرات التكرار ويبدأ من قيمة أولية ويتغير إلى أن يصل إلى القيمة
النهائية المحددة له ،ويسمى بالعداد .
: Startالقيمة األولية للعداد.
: Endالقيمة النهائية للعداد.
: Stepالقيمة التي يتم بها زيادة العداد وهي اختيارية ،فإن لم نذكرها فإن الزيادة تكون بـ 1
: Statementsمجموعة األوامر التي سيتم تكرراها.
: Nextنهاية جملة التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الفردية من 11 - 1
2
األمر DO WHILE
نستخدم هذا األمر إذا كان عدد مرات التكرار غير محدد ولكن لدينا شرط هو الذي يحدد متى ينتهي
التكرار أي أنه متى ما كان الشرط صحيحا ا نفذنا األوامر واستمر التكرار ومتى ما صار الشرط غير
صحيح توقف التكرار.
Do While condition
………..
statements
………..
Loop
حيث إن :
: Conditionالشرط الذي يتم التحقق منه ،ثم تنفيذ التكرار إذا كان صحيحا ا والتوقف إذا كان خاطئا ا.
: Statementsمجموعة األوامر التي تنفذ داخل التكرار.
مثال
أكتب برنامج لجمع األعداد من 10 - 1
مثال
أكتب برنامج لجمع األعداد الزوجية من 10 - 0
المصفوفات
لو كان لديك درجات 100طالب تريد عمل بعض االحصاءات عليها كمعرفة المتوسط لها وأعلى درجة وأقل
درجة .فأين سوف تخزن هذه الدرجات؟ هل سوف تعرف 100متغير لتخزينها؟ يبدو هذا غير منطقي أليس
كذلك؟
يوجد في لغة الفيجول بيسك ما يسهل علينا عملية تعريف عدد كبير من المتغيرات تشترك في كونها تمثل
نفس نوع البيانات وهي المصفوفات.
المصفوفة : Arrayهي مجموعة من المتغيرات لها نفس االسم ونفس نوع البيانات ويتم تعريفها في جملة
واحدة وصيغتها:
DIM Var1(n) As Type
حيث إن :
: Var1اسم المصفوفة.
: Nعدد عناصر المصفوفة – 1
: Typeنوع البيانات المخزنة في المصفوفة.
مثال
عرف مصفوفة لتخزين درجات 100طالب.
DIM Grades(99) as single
أليس هذا أفضل من تعريف 100متغير ؟
فوائد المصفوفات
) 1توفير الوقت والجهد.
) 2تؤدي إلى صغر حجم البرنامج.
التعامل مع المصفوفات
لو عرفنا مصفوفة فيها 10أعداد كالتالي :
DIM A(9) AS Integer
وخزنا فيها مجموعة من األرقام ،سيكون شكل المصفوفة كالتالي :
لو أردنا تغيير قيمة العنصر الخامس لكتبنا :
A(4) = 10
مثال
أكتب برنامج يقوم بإدخال درجات 100طالب في مصفوفة ،ثم يقوم بحساب متوسط
درجات الطالب ،ثم يقوم بإيجاد أعلى درجة من درجات الطالب.