مدرسة الحرية العدادية بنين
تمثيل البيانات
الفصل الول كيف تجرى عملية حسابية في ال Visual Basic.net •فى البداية تستقبل ما يكتبه المستخدم باستخدام اداة الكتابة Text Boxوهذا يمثل المدخلت (مدخلت حرفية) تحول إلي رقمية •ثم يتم اجراء العمليات الحسابية عليها في ذاكرة الحاسب •واخيرًا تقوم بعرض النتائج بالتنسيق المناسب
البيانات الثابتة و المتغيرة •اى بيانات تخزن في ذاكرة الحاسب الداخلية •هذه ا لذاكرة تتكون من مليين الخليا المتساوية و تسمى كل خلية () Byte •يمثل عدد الخليا حجم الذاكرة •تسمح كل لغات البرمجة بإعطاء اسماء للخليا التى سيتم تخزين البيانات بها حتى يسهل تتبعها و التعامل معها •يعطى اسم واحد لكل خلية أو مجموعة من الخليا ما دامت تحمل قيمة واحدة ولذلك .1اذا كانت القيم المخزنة تتغير اثناء تشغيل البرنامج فإن اسماء الخليا التى تشغله هذه القيم يطلق عليها متغيرات Variables .2اذا كانت القيم ل تتغير اثناء تشغيلها البرنامج فإن اسماء الخليا التى تشغلها هذه القيم يطلق عليها الثوابت Constants
انواع البيانات
1
مدرسة الحرية العدادية بنين
تمثيل البيانات
انواع البيانات Boolean -1 True / False ()2
-3حروف
-2أرقام
ارقام صحيحة
-4تاريخ /وقت Date من 0001/ 1/ 1الى 31/12/9999 ()8
ارقام عشرية Char حرف ()2
Byte ()1 رقم محصور بين الي 0 255
Short ()2 رقم من 5خانات
Integer ()4 رقم من 10خانات
لحظ ان -: الرقام بين القواس ( ) تعنى عدد الخليا التى يشغلها الرقم في الذاكرة آى عدد البايت 2
Long ()8 رقم من 19خانة
Single ()4 رقم من 7خانات صحيحة وعشرية
String سلسلة حروف (اى عدد )
Double ()8 رقم من 15خانات صحيحة و عشرية
Decimal ()16 رقم من 29خانة صحيحة و عشرية
مدرسة الحرية العدادية بنين
تمثيل البيانات
قواعد تكوين السماء في ال -:VB.net أول :قواعد يجب اللتزام بها -: .1يجب ان يبدأ السم بحرف من حروف النجليزية .2يأتى بعد الحرف الول أى عدد من الحروف او الرقام .3ليسمح ان يحتوى على رموز او علمات او مسافات ماعدا علمة ال Underscore .4ممنوع استخدام الكلمات المحجوزة فى VB.netمثل – Data .......... Short – Doubleالخ ثانيا :قواعد يستحسن اللتزم بها -: .1اختر اسماء ذات معنى مناسب .2فى الكلمات التى تتكون من مقطعين يمكن ان يبدأ كل مقطع بحرف Capital .3يفضل ان يبدأ السم بـ 3احرف تعطى انطباع عن نوع المتغير امثلة لسماء صحيحة FirstName Ahmed2000 PopulationOfEgypt Spent_mony امثلة لسماء غير صحيحة 2ndWorldWar اكتب هنا الخطأ ………………………..………. Spen.Mon ……………………………………….. Birth Day ……………………………………….. Double ………………………………………..
أنواع الثوابت -: ثوابت جوهرية-: هى الثوابت الموجودة فى بناء و جوهر نظام ال VB.net أى يستطيع البرنامج التعامل معها بدون اعلن Color.Black مثال ثوابت اللوان Color.Blue Color.Red
ثوابت مسماه -: هى الثوابت التى يقوم المبرمج بتعريفها طبقا لحتياجات البرنامج و هذه تحتاج إلي اعلن عنها قبل استخدامها و إل حدث خطأ
العلن عن الثوابت "Const Name as String = " Ahmed 3
مدرسة الحرية العدادية بنين
تمثيل البيانات
Const Mass as Decimal = 123.5 d Const Mass as Single = 0.123 f
لحظ أن -: .1لبد من استخدام كلمة Constللعلن عن الثابت و هى من الكلمات المحجوزة .2لبد ان تكتب ( = )ثم بعدها قيمة هذا الثابت .3هذه القيمة تظل ثابته ل يمكن تغيرها اثناء تشغيل البرنامج .4بعد القيمة تكتب اختصار لكل نوع
حرف الختصار S I L R F D
النوع Short Integer Long Double Single Decimal
العلن عن المتغيرات
Dim school as Integer Dim Name as String "Dim Address as String = "Cairo Dim Price as Decimal = 123
لحظ ان -: .1لبد من استخدام كلمة Dimللعلن عن المتغير .2يمكن ان تكتب ( =) و بعدها قيمة و هذه القيمة ستكون قيمة البداية أو يمكن ان تهملها و ل تستخدم (=) و فى هذه الحالة _ المتغيرات الرقمية تبدأ بقيمة صفر _ المتغيرات الحرفية ستكون فارغة العلن عن اكثر من متغير باستخدام امر Dimواحد "Dim Child as Integer = 123,Name as String = "Ahmed Dim Child , Name , Address as Integer
امر التخصيص ( الحلل ) -: ان اهم دور للمتغيرات هو تخزين البيانات بها ولكى نخزن قيمة فى متغير نستخدم امر التخصيص
قيمة = اسم المتغير 4
مدرسة الحرية العدادية بنين
تمثيل البيانات علمة = تسمى معامل التخصيص ( اى يتم حجز مكان فى الذاكرة يسمى باسم المتغير و توضع داخله القيمة ) يجب مراعاة التى-: .1اسم المتغير الذى نريد التخزين فيه يكون شمال (=)
.2القيمة المراد تخزينها تكون يمين (=) وتكون من نوع ملئم لنوع المتغير .3القيمة يمكن ان تكون -: -1قيمة مجردة مثل X=5 -2متغير من نوع اخر مثل X=Y -3عملية حسابية مثل X=2Y+Z مثال
Price = Quantity*UnitPrice
حيث أن: Quantity = 100 UnitPrice = 5.5 Price = 0.0
ولتنفيذ هذا المر سيقوم الحاسب بعمل التي -: -1استبدال القيمتين 100 & 5.5بالمتغيرين UnitPrice & Quantityبالترتيب فيصبح الطرف اليمن للعلمة "=" هو 100 * 5.5 -2تنفيذ عملية الضرب وحساب النتيجة ،فتصبح القيمة تساوى ()550 -3تخزين النتيجة ( ) 550فى Price ونلحظ في هذا المر أن القيمة UnitPrice & Quantitلم تتغير وذلك لننا فقط نستعمل قيمة المتغيرات التي علي يمين "=" واستعمال القيم ليؤثر فيها ول يغيرها بكل تأكيد؛ أما قيمة Priceفإنها تغيرت نتيجة تخزين النتيجة بها ،وذلك يعني أن النتيجة ( ) 550قد حلت محل القيمة القديمة للمتغير Priceو التى كانت صفرا
مثال 1-1
قم بتتبع مجموعة الوامر التية
5
Dim X As Short Dim Y As Short Dim Z As Short X = 10 X=2*X+1 Y=X-8 Z = Y /4 Z=Z+4
مدرسة الحرية العدادية بنين
تمثيل البيانات
استعمال امر التخصيص مع المتغيرات الحرفية مثال
Dim FirstName As String Dim LasttName As String Dim Message As String ”FirstName = “Hany ”LastName = “Ahmed Message = “Welcome” & FirstName & “ “ & LastName
تكون النتيجة Welcome Hany Ahmed قمنا بعملية ربط بين المتغيرات باستخدام العلمة &" " تعنى انه سيترك مسافة فارغة مقدارها مسافة واحدة او عدةمسافات " "-تعنى قيمة حرفية فارغة ( طولها صفر )
التحويل بين النواع المختلفة للبيانات -1تحويل البيانات الحرفية الي بيانات رقمية يمكننا اجراء عمليات حسابية باستخدام المتغيرات و الثوابتمادامت هذه المتغيرات و الثوابت من النواع الرقمية ولكن عند ادخال البيانات الى البرنامج فاننا ندخلها عن طريق اداةالكتابة ( ) Text Box 6
مدرسة الحرية العدادية بنين
تمثيل البيانات
وبرنامج ال VB.netتعامل مع هذه البيانات على انها بياناتحرفية و ليس رقمية اى ل يمكن اجراء العمليات الحسابية عليها إل بعد تحويلها الي بيانات رقمية لتحويل البيانات الحرفية الى رقمية نستخدم وسيلة ( ) Methodاسمها Parse الشكل العام للـ_ Parse Method .1لتحويل قيمة حرفية الي عدد صحيح Integer ( القيمة الحرفية) Integer.Parse .2لتحويل قيمة حرفية الى عدد عشرى Decimal ( القيمة الحرفية) Decimal.Parse
مثال لديك سعر الكتاب ،و عدد الكتب و مطلوب حساب السعر الجمالى الحل نرمز له Uprice سعر الكتاب BooksQ عدد الكتب Tprice السعر الجمالى حيث ان -: السعر الجمالى = سعر الكتاب * عدد الكتب لتعريف المتغيرات التى سوف يستخدمها
Dim BooksQ as Integer Dim Uprice as Decimal Dim Tprice as Decimal
لتحويل النص المكتوب فى مربع النص BooksQالى عدد صحيح ( BooksQ = Integer. Parse )me . BooksQ . Text لتحويل النص المكتوب فى مربع النص Upriceالى عدد عشرى ( Uprice = Decimal. Parse )me . Uprice . Text لحسلب السعر الجمالى Tprice = BooksQ * Uprice
لحظ ان -: داخل الكواد يمكن كتابة بعض السطر التى تساعد المبرمج و لكن برنامج VB.netل يراها او يشعر بها هذه السطر تكتب امامها ( ' ) مثل ' calculate the total price هذه السطر تسمى تعليقات Comments ويمكن كتابة بها اسم المبرمج وتاريخ كتابة النسخة
-2تحويل البيانات الرقمية الي بيانات حرفية باستعمال الدالة ) ( ToString 7
مدرسة الحرية العدادية بنين
تمثيل البيانات
مثال فى المثال السابق اذا اردنا تحويل السعر الجمالى الى نص حتى يمكن عرضه فى اداه الكتابة اسمها Result ( ) Result . Text = price . ToString
العمليات الحسابية -: المعامل المؤثر
العملية
+
جمع
-
طرح
*
ضرب
/
قسمة عادية
\
قسمة اعداد صحيحة
mod
باقى القسمة
^
اسس
قسمة العداد الصحيحة وباقي القسمة إذا قسمنا العدد الصحيح ( Integer ( 48على العدد الصحيح 5فتكون النتيجه كالتى -: .1قسمة عادية 3 48 / 5 = 9 5 .2قسمة اعداد صحيحة 48 \ 5 = 9 (اى اهمال باقى القسمة ) .3اذا اردنا الباقى فيمكن الحصول عليه كالتى -: 48 mod 5 = 3 السس : يستعمل معامل السس ( ^ ) فى رفع عدد معين ( الساس ) الى اس معين و تكون النتيجة من النوع Double X=5 فمثل اذا كان Y=X^2 فإنه Y = 25 اذا بشرط ان تكون Yمن النوع Double
مثال •اكتب مشروع يحتوى على نموذج ( ) Formواحد الخاصية Nameله هى Form1اما الخاصية Textله هى Math •يحتوى هذا النموذج على اداتى كتابة هما Txt First – Txt Second •المطلوب عرض نتائج عمليات الجمع و الطرح و الضرب و القسمة و قسمة العداد الصحيحة و باقى القسمة و الرفع الى اس لمحتويات اداتى الكتابة في سبع ادوات Labelهى LbLAdd – LbLSub – LbLMul – LbLDiv1 – LblDiv2 – LbLMod – LbLExp •عرض المعاملت الرياضية ^ , mod , \ , / , * , - , +في خصائص الدوات من Label 10 الى Label 16لسبع ادوات Label •اداة Buttonتحتوى على اوامر تنفيذ العمليات 8
مدرسة الحرية العدادية بنين
تمثيل البيانات
الحل -1تخطيط المشروع رسم واجهة المستخدم ( الشكل السابق ) -2كتابة المشروع File أ – من الصفحة الرئيسية اختر قائمة New Project Start Pageفى مربع RecentProject او من Creat Project ب – يظهر مربع New Project Project type من Windows Templaes من Windowes Application جـ – ادخل السم الذى اخترته للمشروع فى خانة Nameو ليكن Math د – اضغط Ok -3تهيئة النموذج تغيير ابعاد ه لتحصل على المساحة المناسبة تغير خاصية Textوجعلها Math-4وضع الدوات على النموذج تتغير خصائص الدوات طبقا للجدول القيمة نجعلها فارغة TxtFirst Center Microsoft sans serif Bold 9
الخاصية Text Name Text Align Font Fon Styl
السم textBox1
مدرسة الحرية العدادية بنين textBox2
Label 1 Label 2 Label 3 الىLabel 9 Label 10 الىLabel 16
تمثيل البيانات Font Size Text Name Text Align Font Fon Styl Font Size Text Text Text Border Styl Text
10 نجعلها فارغة TxtSecond Center Microsoft sans serif Bold 10 First Second فارغة Fixed3d +, -, *, /, \ , mod, ^
Form ضبط موقع الدوات على الـ.5 Format Align Middles اما يدوياً بالماوس او من قائمة Format Horizontal spacing Make equal ولضبط المسافات الفقية Buton اكتب الكواد للزر.6 مكتوبا بها الوامر الولى والخيرة وما عليكCod Window انقر مرتين على الزر مما سيؤدى الى فتح : إل كتابة التى ‘Declare the local variables 1 Dim First, Second, ad, subtract, Mul, Div1 As Decimal 2 Dim Modulus, Div2 As Integer 3 Dim Expon As Double ‘Convert the text strings to decimal 4 First = Decimal.Parse)Me.txtFirst.Text( 5 Second = Decimal.Parse)Me.txtSecond.Text( 'Caculate the values of local variables 6 ad = First + Second 7 lblAdd.Text = ad.ToString)( 8 subtract = First - Second 9 lblSub.Text = subtract.ToString)( 10 Mul = First * Second 11 lblMul.Text = Mul.ToString)( 12 Div1 = First / Second 13 lblDiv.Text = Div1.ToString)( 14 Div2 = First \ Second 15 lblDiv2.Text = Div2.ToString)( 16 Modulus = First Mod Second 17 lblMod.Text = Modulus.ToString)( 18 Expon = First ^ Second 19 lblExp.Text = Expon.ToString)(
-: لحظ ان تستعمل لتوفير وقت البرمجة و هى تعنى ان هذه الدوت توجد على نفس النموذجMe كلمة 10
مدرسة الحرية العدادية بنين
تمثيل البيانات
وعند كتابة كلمة Meوبعدها نقطة تظهر قائمة تحتوى على الكائنات و الخصائص و الطرق التى استعملت بهذا النموذج
لحظ ان -: اذا ادخل المستخدم مثل $هذه العلمة ان البرنامج ل يستطيع تحويلها الي ارقام فيتم عرض رسالة خطا كنتيجة لهذا
أوامر / -: ch
مجموعة Try Cat
_ تستخدم لكتشاف الخطاء التى تحدث اثناء تشغيل البرنامج و التعامل معها _ بالرغم من ان VB . netيكتشف الخطاء و يقوم بعرض رسائل _ لكن المبرمجين يفضلون استعمال Try / Catchلن هذا يتيح لهم التعامل مع الخطاء بانفسهم و عرض رسائل اوضح للمستخدم
الفكرة الساسية لها -: Try مجموعة من الوامر التى لبد ان ينفذها المستخدم بدون اخطاء Catch كود يكتب ول ينفذ ال في حالة حدوث اخطاء في الوامر السابقة و غالبا يكون رسالة End Try بقية اوامر البرنامج اذ قمنا بتنفيذ الوامر بعد Tryبدون اخطاء ينتقل البرنامج الي الوامر بعد End Tryمباشرة اذا تم تنفيذ الوامر بعد Tryبأخطاء ينتقل البرنامج الي الوامر بعد Catchليعرض الرسالة الموجودة بها ول يتابع تنفيذ الوامر بعد ذلك تصحيح الخطأ مثال-: عند تطبيق هذه المجموعة على المثال السابق يتم استخدامها مرتين .1مرة عند ادخال المستخدم للبيانات متى يتم ادخال بيانات صحيحة .2مرة عند عمل القسمة حتى ل يكون الرقم الثانى و هو المقسوم عليه صفرا 11
مدرسة الحرية العدادية بنين
تمثيل البيانات -: وتكون الكواد كالتالي
‘Declare the local variables 1 Dim First, Second, ad, subtract, Mul, Div1, Div2 As Decimal 2 Dim Modulus As Integer 3 Dim Expon As Double ‘Convert the text strings to decimal 4 Try 5 First = Decimal.Parse)Me.txtFirst.Text( 6 Second = Decimal.Parse)Me.txtSecond.Text( 7 Catch 8 msg Box ) " One of the filds is not numeric , Pleace enter only numeric values " ( 9 End Try 'Caculate the values of local variables 10 ad = First + Second 11 lblAdd.Text = ad.ToString) ( 12 subtract = First - Second 13 lblSub.Text = subtract.ToString) ( 14 Mul = First * Second 15 lblMul.Text = Mul.ToString) ( 16 Try 17 Div1 = First / Second 18 lblDiv.Text = Div1.ToString) ( 19 Div2 = First \ Second 20 lblIntDiv.Text = Div2.ToString) ( 21 Modulus = First Mod Second 22 lblMod.Text = Modulus.ToString) ( 23 Catch 24 msg Box ) " Second value must not be zero " ( 25 End Try 26 Expon = First ^ Second 27 lblExp.Text = Expon.ToString) (
12
تمثيل البيانات
مدرسة الحرية العدادية بنين
التعامل مع الخطاء باستعمال ""Try/Catchالولى
التعامل مع الخطاء باستعمال ""Try/Catchالثانية
13
مدرسة الحرية العدادية بنين
تمثيل البيانات التحويل بين انواع البيانات العددية - :
.1التحويل المباشر ( التلقائى ) يستخدم عند تحويل بيانات من نوع عددى ذا سعة تخزينية صغيرة الىبيانات من نوع عددى ذا سعة تخزينية اكبر نعنى بالسعة التخزينية هنا عدد خليا لذاكرةمثال -:اذا أردنا تحويل المتغير ( ) Number1من النوع Decimalالى المتغير ( )Number 2وهو من النوع Integerكالتى -: Number 1 = Number 2 انواع التحويلت التى يمكن إجراؤها بالطريقة المباشرة TO Short – Integer – Long – Single – Double – Decimal
From Byte
Integer – Long – Single – Double – Decimal
Short
Long – Single – Double – Decimal
Integer
Single – Double – Decimal
Long
Single – Double
Decimal
Double
Single
ملحظات -: التحويل المباشر ل يصلح فى حالتين : .1تحويل البيانات من النوع Doubleالى اى نوع اخر .2تحويل البيانات التى تحتوى على كسور ( ) Single , Doubleالى النوع Decimal وفى هذه الحالت نستخدم التحويل غير المباشر
.2التحويل الغير مباشر يتم استخدامه عندما نحول بيانات من نوع ذو سعة تخزينية كبيرة الىبيانات من نوع اقل فى السعة التخزينية اى يستخدم بين البيانات العددية التى ليمكنك اجراء التحويل المباشرعليها مثل تحويل النوع Doubleالى اى نوع اخر من انواع البيانات و لتسهيل عملية التحويل الغير مباشر يتيح البرنامج للمبرمجين Classيسمى Convert Classيحتوى على وسائل Methodsتبدأ اسماؤها بـ Toللتحويل بين النواع المختلفة
14
تمثيل البيانات Use Method الطريقة المستخدمة ToInt16
مدرسة الحرية العدادية بنين النوع المطلوب التحويل اليه To Convert to Data type Short
ToInt32
Integer
ToInt64
Long
ToDecimal
Decimal
ToSingle
Single
ToDouble
Double
امثلة : -1اذا اردنا تحويل المتغير ( ) Number1من النوع Singleالى المتغير ( ) Value1من النوع Decimal ) Value1 = Convert . ToDecimal )Number1 -2اذا اردنا تحويل المتغير ( ) Number2من النوع Doubleالى المتغير ( ) Value2من النوع Integer ( Value2 = Convert . ToInt32 )Number2 -3اذا اردنا تحويل المتغير ( ) Number3من النوع Decimalإلى المتغير ( ) Value3من النوع Single ( Value3 = Convert . ToSingle )Number3 ترتيب تنفيذ العمليت الحسابية -: ترتيب تنفيذ العمليات الحسابية داخل VBيتم كالتى :حتى يتم الحصول على النتائج الصحيحة .1العمليات التى بين القواس ( الداخلية اول ثم الخارجية ) .2عمليات السس .3عمليات الضرب و القسمة العادية ( الولوية من اليسار ثم اليمين ) .4عمليات قسمة العداد الصحيحة .5عمليات حساب باقى القسمة .6عمليات الجمع و الطرح ( الولوية من اليسار الي ليمين ) مثال -: ما هى نتيجة تنفيذ العمليات التية بافتراض القيم التالية للمتغيرات -: X=2 Y=3 Z=4 (A (X*)Y+1 (B Y^ X * X + Z *3 الحل )A -1نستبدل كل متغير بقيمته ( 2* ) 3 + 1 -2حساب ما بداخل القواس اول (2*)4 -3تنفيذ عملية الضرب فيكون الناتج ( ) 8 )B 3 * 4 + 2 * 2 ^3 .1نستبدل كل متغير بقيمته 3*4+2*9 .2يتم حساب الس اول .3تنفيذ عملية الضرب التى في اليسار 3 * 4 + 18 .4تنفيذ عملية الضرب التى في اليمين 12 + 18 .5تنفيذ الجمع ليكون الناتج 30 15