520 likes | 817 Views
Module 4. Data Type and Variables. الأهداف. بعد الانتهاء من هذا الفصل ستتمكن المتدربة من معرفة الأنواع البيانية الشائعة. مفهوم المتغيرات. التحويل من نوع بياني لأخر. الأنواع البيانية. ما هي الأنواع البيانية الشائعة في النظام. ما هي الأنواع البيانية الشائعة في النظام.
E N D
Module 4 Data Type and Variables
الأهداف • بعد الانتهاء من هذا الفصل ستتمكن المتدربة من معرفة • الأنواع البيانية الشائعة. • مفهوم المتغيرات. • التحويل من نوع بياني لأخر
ما هي الأنواع البيانية الشائعة في النظام
ما هي الأنواع البيانية الشائعة في النظام ما الفرق بين Value Type و Reference Type
Predefined data types الأنواع البيانية المبنية في النظام • تستخدم الأنواع البيانية المبنية في النظام لإنشاء متغيرات تحتوي على قيم.فمن خلال النوع البياني • سيتم تحديد القيمة المسموح بتخزينها داخل المتغير. • و سيتم تحديد العمليات المسموح بتنفيذها على المتغير. • تنقسم الأنواع البيانية المبنية في النظام إلى ثلاثة أقسام • عددية (numeric) • تشمل الأعداد الصحيحة والأعداد العشرية . • مجموعة الإعداد الصحيحة تكون على النحو التالي :(..... 3 ، 2 ،1, 0 ، -1 ،-2 ،-3 ......) حيث أنها لاتحتوي على فاصلة عشرية • الأعداد العشرية هي الأعداد التي تحتوي على فاصلة عشرية . • حروف (Character) • تشمل حرف واحد أو سلسلة من الحروف • مخصصة (specialized) • مثل قيم صواب والخطأ True/False وقيم التاريخ والوقت Date/Time
Predefined data types الأنواع البيانية المبنية في النظام
Predefined data types الأنواع البيانية المبنية في النظام إذا نستنتج أن أغلب الأنواع البيانية المبنية في النظام عبارة عن Value Type
في لغة الفيجولبيسك في حال الإعلان عن متغير وعدم تحديد النوع البياني له , سيتم تخصيص نوع بياني للمتغير بشكل إفتراضي يسمى بــ object • الميزة / سهلة وسرعة في كتابة الكود . • العيب / يحدث مشاكل في الأداء. • لذالك لابد من ذكر النوع البياني لجميع المتغيرات التي تم تعريفها .ذكرك للنوع البياني لجمع متغيراتك يطلق عليه Strong Typing • يجب استخدام Strong Typingلانه يؤدي إلى • تقليل حجم الذاكرة المستخدمة. • يسمح للــCompiler بالتحقق من النوع البياني . • سرعة في تنفيذ الكود. • في لغة الفيجولبيسك يوجد خيار التقييد option Strictله قيمتين • Off • هي قيمة افتراضية , تسمح للمستخدم بكتابة متغير دون ذكر النوع البياني له • On • تجبر المستخدم بكتابة نوع بياني للمتغير. • لتغير إعدادات خيار التقييد • من قائمة ToolsOptions توسيع Project and SolutionVB Default تحديد قيمة Option Strict
العلاقة بين المتغيرات والنوع البياني
المتغير Variable • المتغير : • هو مكان يحجز في ذاكرة الحاسب ,يخصص له اسم ويحمل قيمة قد تتغير أثناء تنفيذ البرنامج . • قيم المتغير تخزن في الذاكرة المؤقتة. • القاعدة العامة للإعلان عن متغير بلغة Visual Basic • شروط تسمية المتغيرات • يجب أن يبدأ اسم المتغير بحرف انجليزي. • يجب أن لا يحتوي اسم المتغير على نقطة أو مسافة أو رمز ماعدا الشرطة التحتية . • يجب أن تكون الأسماء مميزة وليس فيها تماثل داخل نطاق المتغير . • غير مسموح استخدام الكلمات المحجوزة مثل Dim ,For وستجد أن لون هذه الكلمات يتحول إلى اللون الأزرق . ملاحظة/ يفضل أن يكون الاسم ذو معنى وغير طويل Dim اسم المتغير As النوع البياني
عناصر المتغير • كل متغير له ستة عناصر • Name • كل متغير له اسم فريد • DataType • حجم ونوع البيانات المخزنة داخل المتغير • Address • عنوان المتغير في الذاكرة • Value • القيمة المخزنة في عنوان المتغير • Scope (المدى) • قدرة البرنامج على الوصول إلى المتغير واستخدامه • Lifetime (حياة المتغير) : • هي الفترة التي يظل فيها المتغير محتفظ بقيمته
أمثلة على أسماء المتغيرات • خطـأ... بدأ برقم ولم يبدأ بحرف • خطـأ... اسم المتغير من الكلمات المحجوزة • خطـأ... يحتوي على علامة خاصة هي (+) • صح • خطـأ... يحتوي على فراغ
طريقة تعريف عدة متغيرات من نفس النوع البياني • الإعلان عن ثلاثة متغيرات من النوع البياني integer • الطريقة الاولى : • الطريقة الثانية : Dim num1As integer Dim num2As integer Dim total As integer Dim num1,num2,totalAs integer
طريقة تعريف عدة متغيرات من أنواع بيانية مختلفة • الإعلان عن متغير من نوع عدد صحيح ومتغير من نوع تاريخ • الطريقة الاولى : • الطريقة الثانية : Dim num1As integer Dim BD As date Dim num1,As integer , BDAs integer
مثال • أعلني عن ثلاثة متغيرات من نوع String • أعلني عن متغيرين أحدهما من نوع Integer و الاخر من نوع Single • توجد طريقتين • الطريقة الأولى • Dim x As String • Dim y As String • الطريقة الثانية • Dim x ,y As String توجد طريقة واحدة فقط Dim rAs Integer Dim m As Single
طريقة إسناد قيمة للمتغير • الطريقة الأولى : إسناد قيمة للمتغير وقت تعريفة • الطريقة الثانية : إسناد قيمة للمتغير بعد تعريفة Dim اسم المتغيرAs النوع البياني=قيمة مثال Dim num1As double =5 القيمة= اسم المتغير مثال num1=5
إسناد قيمة للمتغير • في لغة الفيجولبيسك • عند إستخدام جملة dim للإعلان عن متغير وعدم إسناد قيمة له , سيقوم الفيجول بيسك بإسناد قيمة له بناءً على النوع البياني للمتغير • المتغيرات العددية تسند لها القيمة 0 • متغيرات نصية تسند لها القيمة قيمة فارغة empty ”“ • متغيرات التاريخ تسند لها القيمة January 1 ,0001 الوقت 12:00:00 am • للتحقق من ذالك قم بكتابة هذا الكود
الثوابت • الثابت Constant هو مكان يحجز في ذاكرة الحاسب ,يخصص له اسم ويحمل قيمة لا تتغير أثناء تنفيذ البرنامج . • يتم الإعلان عن الثوابت باستخدام أمر Const • مثال / الإعلان باي • أمثلة على الثوابت • عدد ساعات اليوم • سرعة الضوء • قطر الأرض • قطر الدائرة • مميزات استخدام الثوابت • سهولة في قراءة وتعديل الكود . • الثوابت تستخدم ذاكرة أقل من المتغيرات. constاسم الثابت Asالقيمة=النوع البياني Const PIAs double = 3.14159
أولويات العمليات الحسابية • الأقواس • الأس • الضرب , القسمة يتم تنفيذ عمليات الضرب والقسمة بدءاً من اليسار إلى اليمين. • الجمع , الطرح يتم تنفيذ عمليات الجمع والطرح بدءاً من اليسار إلى اليمين.
العمليات الحسابية • ما نتيجة تنفيذ العمليات الحسابية في التعبير الحسابي التالي : X = 3 * ( 8 - 6 ) + 4 ^ 2 X = 3 * 2 + 4 ^ 2 X = 3 * 2 + 16 X = 6 + 16 X = 22 Fatimah AL-BLwi
العمليات الحسابية ما نتيجة تنفيذ العمليات الحسابية في التعبير الحسابي التالي X = ( 6 - 1 ) * 2 – 7 + 4 X = 5 * 2 – 7 + 4 X = 10– 7 + 4 X = 3+ 4 X = 7 Fatimah AL-BLwi
العمليات الحسابية مانتيجة تنفيذ العمليات الحسابية في التعبير الحسابي التالي X = 8 – 3 * 2 + 4 / 2 ^ 2 X = 8 – 3 * 2 + 4 / 4 X = 8 –6+ 4 / 4 X = 8 – 6 + 1 X = 2 + 1 X = 3 Fatimah AL-BLwi
العمليات الحسابية ما نتيجة تنفيذ العمليات الحسابية في التعبير الحسابي التالي X = ( 3 + 2 ) * 2 ^ 2 X = 5* 2 ^ 2 X = 5 *4 X = 20 Fatimah AL-BLwi
بناء على قاعدة الأولويات في لغة الفيجول البيسك أوجدي قيمة المتغير X • X=20+4*2/2^2 • X=(2+2/2)^2/(2+1)/2 • X=(5+3)/2+2^2*2
إذا افترضنا أن X=4 , B=3 , A=2 أوجدي 4 2 20 3*(A*B+A)= 24 4 90 2 5
أضيفي زر في النموذج السابق لحساب محيط المستطيل
برنامج يحسب متوسط ثلاثة قيم يدخلها المستخدم
برنامج يحسب مساحة الدائرة , مساحة الدائرة=ط*(نق)2
طريقة الإعلان عن المتغيرات • ونقصد بالإعلان هو : تحديد المكان الذي نعرف فيه هذه المتغيرات داخل البرنامج
أنواع المتغيرات • متغيرات على مستوى الاجراء : • يتم الاعلان عنه باستخدام كلمة dim ويكتب داخل الاجراء . • مدى هذه المتغيرات داخل الاجراء الموجودة فيه فقط ولا يمكن استخدامها في أي مكان أخرى .
تابع أنواع المتغيرات • 2) متغيرات على مستوى النموذج • يتم الاعلان عنه باستخدام كلمة Private أو Dim • يتم الإعلان عنها في قسم الإعلانات العامة. • مدى هذه المتغيرات داخل النموذج فقط. منطقة الإعلانات العامة تستخدم للإعلان عن متغيرات على مستوى النموذج
تطبيق منطقة الإعلانات العامة تستخدم للإعلان عن متغيرات على مستوى النموذج
تابع أنواع المتغيرات 3) متغيرات على مستوى المشروع • يتم الاعلان عنه باستخدام كلمة Public أو Friend • يتم الإعلان عنها في قسم Module • مدى هذه المتغيرات داخل المشروع . • تبقى في ذاكرة الحاسب طوال فترة عمل المشروع .
مثال على المتغيرات العامة • قائمة project add module
تحويل البيانات • تحويل النوع البياني للمتغير من نوع إلى اخرز • أنواع دوال التحويل • تحويل صريح • تحويل ضمني
تابع تحويل البيانات • التحويل الصريح : نضيف اسم الدالة إلى الكود فقط
أمثلة على التحويلات Dim x As Double = 12.555 Dim Y As Double Y = x MsgBox(Y) Y = CInt(12.5555) MsgBox(Y)
أمثلة على التحويلات Dim name As String = "smith" Dim ch As String ch = name MsgBox(ch) ch = CChar(name) MsgBox(ch)
تابع أمثلة على التحويلات Textbox1.text=2 textbox2.text=3 Textbox3.text=textbox1.text+textbox2.text Textbox4.text=Cint(textbox1.text)+Cint(textbox2.text)
تابع دوال التحويلات • تحويل الضمني يتحول تلقائيا من نوع البيانات إلى نوع أخر في الشفرة داخل الكود Dim s as string Dim num as Integer s="123" Num= ss +10 MsgBox(Num)
عناصر المتغير • كل متغير له ستة عناصر • Name • كل متغير له اسم فريد • DataType • حجم ونوع البيانات المخزنة داخل المتغير • Address • عنوان المتغير في الذاكرة • Value • القيمة المخزنة في عنوان المتغير • Scope (المدى) • قدرة البرنامج على الوصول إلى المتغير واستخدامه • Lifetime (حياة المتغير) : • هي الفترة التي يظل فيها المتغير محتفظ بقيمته