الدرس الثالث المتغيرات Variables

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 11:46 am

الدرس الثالث المتغيرات Variables

فى هذا الدرس سوف نتناول المتغيرات فى لغة QBasic . المتغيرات تمكن البرنامج الخاص بك أن يتذكر القيم من عبارة برنامج إلى عبارة تالية .

المحتويات :

· المتغيرات .

· أنواع المتغيرات .

· استخدام المتغيرات فى العبارات .

· الحساب بالمتغيرات .

· تغيير محتويات المتغيرات .



السؤال رقم 1 :

فى الجبر ، ماذا تسمى الرموز مثل "x" و "y" ، مثل الموجودة فى العبارة 3x2 + 2y ? .

الإجابة :

تسمى المتغيرات Variables .



المتغيرات Variables :

أجهزة الكمبيوتر الحديثة تمتلك كمية كبيرة من الذاكرة الرئيسية ( تسمى ذاكرة RAM ) . تستخدم هذه الذاكرة من أجل أشياء كثيرة . عندما تقوم بتشغيل برنامج لغة QBasic ، يتم تخزين عبارات statements البرنامج فى الذاكرة الرئيسية . كما يمكن تخزين البيانات data من أجل البرنامج فى هذه الذاكرة الرئيسية .



المتغير فى لغة QBasic هو كمية صغيرة من ذاكرة البرنامج والتى يتم تخصيص اسم لها . أنت ، كمبرمج ، عليك التفكير فى الاسم الذى تريد استخدامه . سيقوم نظام QBasic باستخدام (حجز) جزء من الذاكرة الرئيسية من أجل ذلك الاسم .

المتغير يشبه الصندوق الصغير الذى يحمل (يحتفظ) قيمة . يمكن أن تتغير القيمة فى المتغير ( وهذا هو السبب فى التسمية "المتغير" ) . فيما يلى برنامج يستخدم متغير :



الكود:


' Program that uses a variable

'

LET NUM = 23.5

PRINT "The variable contains", NUM

END


عند تشغيل هذا البرنامج ، يتم وضع القيمة "23.5" فى المتغير NUM . بعد ذلك يتم كتابة ما يلى على الشاشة :

الكود:


The variable contains   23.5


السؤال رقم 2 :ما الذى سوف يكتبه البرنامج التالى على شاشة الكمبيوتر :

الكود:

' Program with a variable

'

LET NUM = 53

PRINT "The variable contains", NUM

END





الإجابة :سوف يطبع البرنامج ما يلى :
الكود:



The variable contains    53


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 12:12 pm

العبارة LET :تفحص البرنامج السابق مرة أخرى :
الكود:


' Program that uses a variable

'

LET NUM = 23.5

PRINT "The variable contains", NUM

END




فى هذا البرنامج ، NUM هو متغير . لقد اختار المبرمج له الاسم NUM . عند تشغيل البرنامج ، وعندما يتم تنفيذ عبارة LET ، يحدث الكثير من الأشياء :

· يتم حجز جزء من الذاكرة للمتغير NUM ، ويتم تخزين (تحميل) العدد "23.5" فى هذا المتغير .

نتيجة لذلك ، بعد تنفيذ هذه العبارة فأن جزء من الذاكرة يسمى NUM ، ويحتفظ بالعدد "23.5" كما فى الشكل التالى :





بعد تنفيذ العبارة الأولى (عبارة LET) ، يتم تنفيذ العبارة الثانية وهى :



الكود:




PRINT "The variable contains", NUM




المتغير NUM موجود بالفعل ، لذلك فلا حاجة لحجز ذاكرة له . تقوم عبارة PRINT بأشياء عديدة :

· طباعة السلسلة النصية "The variable contains" .

· البحث فى المتغير NUM من أجل قيمة عددية .

· طباعة العدد الذى وجدته .

نتيجة لذلك ، ترى على الشاشة ما يلى :



الكود:


The variable contains    23.5


السؤال رقم 3 :



ما الذى سوف يكتبه البرنامج التالى على شاشة الكمبيوتر :

الكود:

' Program with a variable
الكود:





'

LET VALUE = 2 + 3

PRINT "The result is", VALUE

END









الإجابة :سوف يقوم البرنامج بطباعة ما يلى :
الكود:




The result is   5


حفظ النتيجة :تفحص البرنامج السابق مرة أخرى :

الكود:



' Program with a variable

'

LET VALUE = 2 + 3

PRINT "The result is", VALUE

END



العبارة الأولى ، عبارة LET تقوم بعمل أشياء عديدة :

1- حجز ذاكرة من أجل المتغير VALUE .

2- حساب العدد "2 + 3 = 5 " .

3- حفظ النتيجة وهى العدد "5" فى المتغير .

يمكن استخدام عبارة LET مع المتغير لحفظ نتيجة الحساب . القيمة المحفوظة فى المتغير سوف تظل هناك حتى تقوم عبارة أخرى بتغييرها ، أو حتى يتم إيقاف تشغيل البرنامج .



السؤال رقم 4 :



ما الذى سوف يكتبه البرنامج التالى على شاشة الكمبيوتر :

الكود:

' Saving a result in a variable
الكود:





'

LET SUM = 1 + 2 + 3

PRINT "The sum is", SUM











الإجابة :سوف يقوم البرنامج بطباعة ما يلى :
الكود:




The sum is    6


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 12:25 pm

العمليات الحسابية مع المتغيرات :
تفحص البرنامج التالى . تذكر فكرة التنفيذ المتسلسل  (المتتابع) : ما لم يذكر خلاف ذلك ، فإن برنامج QBasic يعمل عن طريق البدء من أول عبارة وتنفيذ العبارات فى تسلسل .
الكود:

' Arithmetic with Variables'
LET AGE = 23
PRINT "You have lived more than", AGE * 365, " days"
END

العبارة الأولى LET AGE = 23 تقوم بعمل شيئين :

·       حجز الذاكرة من أجل المتغير AGE .

·       حفظ القيمة "23" فى هذا المتغير .

نتيجة لذلك ، بعد تنفيذ هذه العبارة فإن جزء من الذاكرة يسمى AGE ويحفظ العدد "23" :



عند استخدام متغير معين لأول مرة فى البرنامج ، سوف يتم حجز جزء من الذاكرة الرئيسية من أجل هذا المتغير .



السؤال رقم 5 :

هل يمكن استخدام القيمة المحفوظة فى المتغير AGE فى العمليات الحسابية ؟



الإجابة :

نعم . هذا هو الغرض من استخدام المتغيرات .



العمليات الحسابية :

بعد تنفيذ العبارة الأولى ، يتم تنفيذ العبارة الثانية :



الكود:


PRINT "You have lived more than", AGE*365, " days"



هذه العبارة تقوم بعمل عدة أشياء :

1-    طباعة السلسلة النصية "You have lived more than" .

2-    البحث فى المتغير AGE من أجل قيمة للاستخدام .

3-    ضرب هذه القيمة فى العدد "365" لكن مع عدم تغيير محتويات المتغير AGE .

4-    طباعة نتيجة العملية الحسابية .

5-    وأخيرا طباعة السلسلة النصية " days" .

نتيجة لذلك سوف ترى على الشاشة ما يلى :



الكود:


You have lived more than   8395   days


السؤال 6 :

ما الذى سوف يكتبه البرنامج التالى على شاشة الكمبيوتر ؟
الكود:

' Pounds to ounces'
LET POUNDS = 3
PRINT "The number of ounces is ", POUNDS * 16
PRINT "The number of pounds is ", POUNDS
END
الإجابة :
سوف يطبع البرنامج ما يلى :
الكود:

The number of ounces is   48   The number of pounds is   3

لاحظ أن استخدام المتغير POUNDS فى عبارة PRINT لا يغير من محتوياته . المتغير POUNDS يكون مثل الصندوق الذى يحفظ قيمة والتى يمكنك استخدامها العديد من المرات كما ترغب بدون تغييرها .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 1:50 pm


استخدام محتويات المتغير :
يمكن استخدام القيمة المخزنة فى المتغير عدة مرات كما تريد . فيما يلى برنامج يستخدم المتغير عدة مرات بدون تغيير المحتويات :

الكود:


' 5280 feet per Mile

' 1 yard per 3 feet

' 12 inches per foot

'

LET MILE = 5

PRINT "Number of Miles", MILE

PRINT "Number of Yards", MILE * 5280 / 3

PRINT "Number of Feet",  MILE * 5280

PRINT "Number of Inches", MILE * 5280 * 12

PRINT "Number of Miles", MILE

END


العبارة الأولى تحجز جزء من الذاكرة من أجل المتغير MILE وتضع به القيمة "5" :







القيمة "5" سوف تبقى فى المتغير MILE حتى تقوم بتغيرها ( بعبارة LET ، على سبيل المثال) . استخدام المتغير فى العمليات الحسابية لا يغير محتوياته . العبارات التالية للعبارة الأولى سوف تنفذ واحدة بعد الأخرى ، وبالترتيب . نتيجة لذلك سوف يقوم البرنامج بطباعة ما يلى على الشاشة :



الكود:


Number of Miles    5

Number of Yards    8800

Number of Feet      26400

Number of Inches    316800

Number of Miles    5



لاحظ أن القيمة "5" بالمتغير MILE لا تتغير ، نتيجة لذلك فإن عبارة PRINT الأولى وعبارة PRINT الأخيرة سوف تكتب نفس الشىء على الشاشة .



السؤال رقم 7 :

ما الذى سوف يكتبه البرنامج التالى على شاشة الكمبيوتر ؟
الكود:

' Hours of Boring Lectures'
LET CLASSES = 4
PRINT "Hours per Week", CLASSES * 3
PRINT "Hours per Semester", CLASSES * 3 * 15
PRINT "Ho Hum..."
END

الإجابة :
سوف يطبع البرنامج ما يلى :
الكود:

Hours per Week      12Hours per Semester  180Ho Hum...

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 2:31 pm

أسماء المتغيرات :
تذكر أن المتغير هو كمية صغيرة من ذاكرة الكمبيوتر التى أعطيت اسما . حتى الآن شاهدت عدة أسماء لمتغيرات :
الكود:


NUM                POUNDS

VALUE           MILE

SUM                CLASSES

AGE



أسماء المتغيرات هى عبارة عن كلمات مفردة والتى يختارها المبرمج . هذه الأسماء لا يجب أن تكون كلمات حقيقية ، ولكنها تساعد فى فهم البرنامج . ألقى نظرة على القواعد التالية ( فقط من خلال قراءتها مرة أو مرتين ، ولست مضطرا لحفظها ) .



قواعد أسماء المتغيرات :

1-    المتغير هو كمية صغيرة من ذاكرة الكمبيوتر التى أعطيت اسما .

2-    الاسم :

·       طوله يصل حتى 40 حرفا .

·       أول حرف يجب أن يكون أحد الهروف الأبجدية A-Z, a-z .

·       باقى الحروف يجب أن تكون أحد الحروف الأبجدية A-Z, a-z ، ؟أو الأرقام 0-9 أو "." .

·       لا يسمح بوجود مسافات فارغة داخل الاسم .

3-    لا يمكنك استخدام كلمة والتى تستخدم (محجوزة) بالفعل لشىء آخر ( على سبيل المثال ، لا يمكنك استخدام PRINT كاسم لمتغير ) .

4-    الحرف الأخير من الاسم يخبر عن ما هو نوع البيانات التى تحفظ بالذاكرة :

·       المتغير SUM%  يحفظ (يحمل) بيانات لعدد صحيح integer ( لا توجد نقطة عشرية) .

·       المتغير SUM& يحفظ بيانات لعدد صحيح كبير جدا .

·       المتغير SUM  يحفظ  بيانات لعدد حقيقى float ( عدد بنقطة عشرية ) .

·       المتغير SUM# يحفظ بيانات عدد حقيقى كبير جدا .

·       المتغير SUM$ يحفظ بيانات سلسلة من الأحرف .

5-    الأسماء المختلفة تعنى أماكن مختلفة فى الذاكرة .

6-    الحرف الأخير هو جزء من الاسم ( لذلك فإن SUM% و SUM هى متغيرات مختلفة ).

7-    إذا اختلف اسمين فقط فى حالة الحروف ، فهما فى الحقيقة  نفس الاسم .

حتى الآن كنا نستخدم متغيرات تحمل أعداد حقيقية (بنقطة عشرية) . هذا النوع من المتغيرات هو الأكثر فائدة . فهذه المتغيرات يمكن أن تحمل الأعداد مثل 1.3, -45.78, 0.001 ، كما يمكنها أيضا أن تحمل أعداد بدون جزء كسر عشرى مثل  1.0, -23.0, 94.0  وغيرها .    



السؤال رقم 8 :

أى من الأسماء التالية صالح للاستخدام من أجل متغير يحمل عدد حقيقى float ؟



الكود:


SUM             GRAND TOTAL

MyValue         16Candles

SUM23           YEAR%



الإجابة :



الكود:


SUM             --- OK  (made up of correct characters, not too long)

MyValue         --- OK  (upper and lower case letters can be used)

SUM23           --- OK  (digits can be used after the first letter)

GRAND TOTAL     --- BAD (no spaces allowed)

16Candles       --- BAD (digits can't be used as first character)

YEAR%           --- BAD (last character % means this is an integer variable)


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 2:37 pm

حالة الاختلافات فى الاسماء :

تفحص القاعدة الأخيرة مرة أخرى :

إذا اختلف اسمين فقط فى حالة الحروف ، فهما فى الحقيقة  نفس الاسم .  هذا يعنى أن :





الكود:


VALUE     Value     value     vALuE


هى فى الحقيقة جميعها لنفس الاسم . فى الحقيقة ، إذا حاولت استخدام أكثر من واحد من هذه الاسماء فى البرنامج الخاص بك ، فإن نظام QBasic سوف يغير ما كتبته ليكون بنفس الشكل بحيث يتم استخدام شكل واحد فقط . على فرض أنك كتبت البرنامج التالى :

الكود:


' Attempt to use two versions of the same name

'

LET VALUE = 123

PRINT value

   



فبمجرد أن تحرك المؤشر خارج عبارة PRINT فإن نظام QBasic سوف يغير البرنامج بالشكل التالى :

 



الكود:


' Attempt to use two versions of the same name

'

LET value = 123

PRINT value




السؤال رقم 9 :

بفرض أن VALUE هو اسم المتغير . أى الأسماء التالية يكون اسم لمتغير مختلف ، مع ذكر السبب ؟



الكود:


VALUES      value

VALU        vALUe

VALUE$      Value


الإجابة :



الكود:


VALUES      --- different, because it ends with an S

VALU        --- different, because the final E is mission

VALUE$      --- different, because the final $ means a character variable

value       --- same

vALUe       --- same

Value       --- same


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 2:42 pm

متغير واحد أو متغيرين ؟

هناك مشكلة شائعة فى كتابة البرنامج ، وهى الاستخدام عن طريق الخطأ اسمين لمتغيرين تكون مختلفة قليلا عندما تقصد متغير واحد فقط . البرنامج التالى به خطأ شخصى Bug :





الكود:


' Calculate Miles per Gallon  (Buggy Version)

'

' second odometer reading is 45,678.3

' first  odometer reading is 45,149.6

' gallons of gas used is 12.5

'

LET MILES = (45678.3 - 45149.6)

PRINT MILE / 12.5

END




السؤال رقم 10 :

أوجد الخطأ الشخصى فى البرنامج السابق ، واكتب البرنامج الصحيح .

الإجابة :

البرنامج الصحيح يكون بالشكل التالى :



الكود:


' Calculate Miles per Gallon (Correct Version)

'

' second odometer reading is 45,678.3

' first  odometer reading is 45,149.6

' gallons of gas used is 12.5

'

LET MILES = (45678.3 - 45149.6)

PRINT MILES / 12.5

END




البرنامج الذى به خطأ شخصى يستخدم اسمين : MILES و MILE فى حين يجب أن يكون هناك اسم واحد فقط . أى من الاسمين يكون اسم متغير صحيح ، ولكن يجب أن تستخدم اسم واحد فقط من أجل المتغير الواحد .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في السبت أكتوبر 11, 2014 2:52 pm

متى يتم حجز ذاكرة من أجل المتغيرات :

عندما يتم استخدام المتغير فى البرنامج لأول مرة ، فإن نظام QBasic يجد (يحجز) الذاكرة من أجله . وينطبق هذا على أى عبارة ، وليس عبارة LET فقط . إذا لم تكن هناك أى معلومات أخرى ، فإن النظام سوف يضع الصفر zero كقيمة عددية بالمتغير . فيما يلى البرنامج الخطأ السابق :

 



الكود:


' Calculate Miles per Gallon (Buggy Version)

'

LET MILES = (45678.3 - 45149.6)

PRINT MILE / 12.5

END



اسم المتغير MILE يظهر لأول مرة فى عبارة PRINT ( الاسم MILES اسم مختلف تماما من وجة نظر QBasic) . نتيجة لذلك فإن النظام يحجز ذاكرة من أجل هذا الاسم الجديد MILE ، وهو ليس له أى معلومات أخرى ، فيتم وضع الصفر به . الآن يوجد متغيرين فى الذاكرة :





التعبير الرياضى "MILE / 12.5"  سوف يحصل على الصفر من المتغير MILE ويقسمه على "12.5" ، والنتيجة هى الصفر . وفى النهاية سوف يطبع "0" على الشاشة .

وهذا خطأ Bug ، ويصعب تعقبه إلا إذا كنت تنظر بعناية فى هجاء كل اسم لمتغير فى البرنامج . إذا أعطى برنامج نتيجة حسابات خاطئة بقيمة الصفر ، تحقق من هجاء كل اسم متغير .



السؤال رقم 11 :

ما الذى سوف يكتبه البرنامج التالى على شاشة الكمبيوتر ؟
الكود:


' Calculate Miles per Gallon (Buggy? or not?)

'

LET MILE = (45678.3 - 45149.6)

PRINT MILE# / 12.5

END




الإجابة :

البرنامج سوف يطبع ما يلى :



الكود:


0


وذلك لأن MILE و MILE# هى اسماء مختلفة ، لمتغيرين مختلفين . الاسم MILE# يستخدم لأول مرة فى العبارة PRINT لذلك يتم حجز ذاكرة من أجله كما يتم وضع الصفر به ، ومن ثم تكون محتوياته هى الصفر عند تنفيذ عملية القسمة MILE# / 12.5 .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في الأحد أكتوبر 12, 2014 8:25 am

استخدام عدة متغيرات فى البرنامج :

قد يستخدم البرنامج العديد من المتغيرات . المتغيرات تكون مفيدة لتخزين الأجزاء الوسيطة من العمليات الحسابية .

مثال :

المطلوب حساب عدد الأكواب المستهلكة من صودا العنب ، سعة الكوب 8 أونس ، إذا تبقى 1.5 جالون من برميل سعته 5 جالون ( يوجد 128 أونس بكل جالون ) .

 

الكود:


' Glasses of Grape soda

'

LET KEGSIZE = 5                            ' statement 1

LET LEFTOVER = 1.5                         ' statement 2

LET GALLONS = KEGSIZE - LEFTOVER           ' statement 3

LET OUNCES = GALLONS * 128                 ' statement 4

PRINT "glasses of soda =", OUNCES / 8      ' statement 5

END




تذكر فكرة التنفيذ المتسلسل . عبارات هذا البرنامج سوف يتم تنفيذها واحدة تلو الأخرى بالترتيب بدءا من العبارة الأولى .

فى العبارة الأولى :

يتم استخدام المتغير KEGSIZE لأول مرة ، لذلك يتم حجز ذاكرة له . الأمر LET يضع القيمة "5" فى هذه الذاكرة . الشكل التالى يبين شكل الذاكرة بعد تنفيذ العبارة الأولى :







الآن يتم تنفيذ العبارة الثانية :

يتم حجز ذاكرة للمتغير LEFTOVER وحفظ القيمة "1.5" فيه ، وتكون الذاكرة كما يلى :





العبارة الثالثة أكثر تعقيدا :



الكود:


LET GALLONS = KEGSIZE - LEFTOVER           ' statement 3





هذه العبارة تقوم بعمل عدة أشياء :

1-    حجز ذاكرة من أجل المتغير GALLONS .

2-    البحث فى المتغير KEGSIZE للحصول على القيمة "5" .

3-    البحث فى المتغير LEFTOVER للحصول على القيم "1.5" .

4-    أجراء العملية الحسابية "5 – 1.5" .

5-    وضع النتيجة "3.5" فى المتغير GALLONS .

تذكر أن استخدام المتغيرات KEGSIZE و LEFTOVER فى العبارة الثالثة لا يغير من محتوياتها . بعد تنفيذ العبارة الثالثة ، يكون شكل الذاكرة الرئيسية كما يلى :





بعد الانتهاء من العبارة الثالثة ، يتم تنفيذ العبارة الرابعة .



السؤال رقم 12 :
ما هى الأربعة أشياء التى تقوم بعملها العبارة الرابعة ؟



الكود:


LET OUNCES = GALLONS * 128                 ' statement 4



الإجابة :

العبارة الرابعة تقوم بعمل أربعة أشياء :

1-    حجز ذاكرة من أجل المتغير OUNCES .

2-    البحث فى المتغير GALLONS للحصول على القيمة "3.5" .

3-    إجراء العملية الحسابية "3.5 * 128" .

4-    وضع النتيجة "448" فى المتغير OUNCES .

يتم إجراء الخطوة الأولى لأن المتغير OUNCES لم يتم رؤيته من قبل فى البرنامج لذلك يجب حجز ذاكرة له الآن .

بعد تنفيذ العبارة الرابعة يكون شكل الذاكرة كما يلى :





بالطبع ، هناك الكثير من الأشياء فى الذاكرة ، ولكنها ليست محور اهتمامنا الآن .

وأخيرا يتم تنفيذ العبارة الأخيرة :



الكود:


PRINT "glasses of soda =", OUNCES / 8      ' statement 5




السؤال رقم 15 :

ما الذى سوف تكتبه هذه العبارة على شاشة الكمبيوتر ؟

الإجابة :

هذا البرنامج سوف يطبع ما يلى :



الكود:


glasses of soda =  56


هذه العبارة تقوم بعمل أربعة أشياء :

1-    كتابة السلسة "glasses of soda =" على الشاشة .

2-    الحصول على القيمة "448" من المتغير OUNCES .

3-    قسمة هذه القيمة على "8" ( لكن مع ترك محتويات المتغير OUNCES بدون تغيير ) .

4-    كتابة النتيجة "56" على الشاشة .

ملاحظات :

·       غالبا يتم وضع جزء من العمليات الحسابية فى متغير واستخدامها فى وقت لاحق فى باقى العمليات الحسابية . وهذا يقسم العمل بين عدة عبارات من البرنامج .

·       احيانا يتم استخدام متغيرات مؤقتة داخل البرنامج للوصول إلى الجواب . هذه المتغيرات تستخدم فى حفظ خطوة على طول طريق النتيجة التى تريدها . عبارة PRINT النهائية قد لا تستخدم هذه المتغيرات .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في الأحد أكتوبر 12, 2014 10:42 am




تغيير محتويات المتغير :

تذكر أن المتغير هو كمية صغيرة من ذاكرة الكمبيوتر والتى أعطيت اسما . يمكن تغيير محتويات ذاكرة الكمبيوتر . يمكنك القيام بذلك فى البرنامج الخاص بك عن طريق استخدام عبارة LET مع المتغير الذى يكون لديه بالفعل شىء ما . انظر إلى البرنامج التالى :





الكود:


' Changing the contents of a variable

'

LET NUMBER = 23.5 ' create NUMBER, put 23.5 into it

PRINT "First", NUMBER ' look in NUMBER to find a value to print

LET NUMBER = 45.1 ' put 45.1 into NUMBER (erasing the 23.5)

PRINT "Second", NUMBER ' look in NUMBER to find a value to print

END





يبدأ التنفيذ بأول عبارة ، عبارة LET الأولى . هذه هى المرة الأولى التى يستخدم فيها المتغير NUMBER ، لذلك يتم حجز ذاكرة له . ثم وضع العدد "23.5" به :






الآن يتم تنفيذ عبارة PRINT الأولى . وهى تبحث فى المتغير NUMBER لتجد القيمة "23.5" ، وتطبعها على الشاشة . قيمة المتغير NUMBER لن تتغير .



السؤال رقم 16 :

هل العبارة LET دائما تحجز ذاكرة جديدة للمتغير ؟



الإجابة :

لا . فقط يتم حجز ذاكرة للمتغير الذى يستخدم لأول مرة فى العبارة .



عبارة LET الثانية :

عبارة LET الثانية تغير محتويات المتغير .



الكود:


LET NUMBER = 45.1 ' put 45.1 into NUMBER (erasing the 23.5)




· حيث أن المتغير NUMBER موجود بالفعل ، فلن يتم حجز ذاكرة جديدة له .

· القيمة "45.1" تحل محل المحتويات السابقة للمتغير NUMBER .

إذا فكرت فى المتغير كصندوق ، وهذا الصندوق يمكن أن يحفظ شىء واحد فقط . ومن ثم بعد عبارة LET الثانية تكون الذاكرة بالشكل التالى :




الآن ، يتم تنفيذ عبارة PRINT الثانية . وهى تبحث فى المتغير NUMBER ، لتجد القيمة "45.1" ، وتطبعها على الشاشة . عبارة PRINT لن تغير من محتويات المتغير NUMBER .



السؤال رقم 17 :

أنظر مرة أخرى إلى البرنامج الكامل :



الكود:


' Changing the contents of a variable

'

LET NUMBER = 23.5 ' create NUMBER, put 23.5 into it

PRINT "First", NUMBER ' look in NUMBER to find a value to print

LET NUMBER = 45.1 ' put 45.1 into NUMBER (erasing the 23.5)

PRINT "Second", NUMBER ' look in NUMBER to find a value to print

END


ما الذى تتوقع أن يتم طباعته على الشاشة ؟



الإجابة :

الكود:


First 23.5

Second 45.1


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في الأحد أكتوبر 12, 2014 10:47 am




استبدال محتويات المتغير بالنتيجة :

محتويات المتغير يمكن أن تأتى من نتيجة عملية حسابية . يمكنك استخدام النتيجة لاستبدال محتويات متغير . انظر إلى البرنامج التالى :







الكود:


' Which earns the most money?

' 40 hours at $5 an hour, or

' 30 hours at $6 an hour

'

LET RATE = 5

LET HOURS = 40

LET PAY = HOURS * RATE

PRINT "Pay for ", HOURS, "hours at ", RATE, " = " , PAY

'

LET RATE = 6

LET HOURS = 30

LET PAY = HOURS * RATE

PRINT "Pay for ", HOURS, "hours at ", RATE, " = " , PAY

'

END



فيما يلى كيف يعمل النصف الأول من البرنامج :

1- حجز ذاكرة للمتغير RATE ، وتخزين القيمة "5" به .

2- حجز ذاكرة للمتغير HOURS وتخزين القيمة "40" به .

3- عبارة LET الثالثة :

· تحجز ذاكرة للمتغير PAY .

· تستخدم القيمة "40" الموجودة فى المتغير HOURS .

· تستخدم القيمة "5" الموجودة فى المتغير RATE .

· إجراء العملية الحسابية "40 * 5 " .

· حفظ النتيجة "200" فى المتغير PAY .

4- عبارة PRINT :

· تكتب السلسلة "Pay for " .

· تبحث فى المتغير HOURS ، لتحصل على القيمة "40" وتكتبها .

· تكتب السلسلة "hours at " .

· تبحث فى المتغير RATE ، لتحصل على القيمة "5" وتكتبها .

· تكتب حرف علامة التساوى " = " .

· تبحث فى المتغير PAY ، لتحصل على القيمة "200" وتكتبها .

عند هذه النقطة تكون ذاكرة الكمبيوتر بالشكل التالى :






السؤال رقم 18 :

ما الذى سوف يطبعه الجزء الأول من البرنامج على شاشة الكمبيوتر ؟



الإجابة :

الكود:


Pay for 40 hours at 5 = 200




النصف الثانى من البرنامج :

النصف الثانى من البرنامج يماثل الجزء الأول . فهو يعيد استخدام المتغيرات التى تم إنشاؤها فى الجزء الأول :





الكود:


' Which earns the most money? 40 hours at $5 an hour

' or 30 hours at $6 an hour

'

LET RATE = 5

LET HOURS = 40

LET PAY = HOURS * RATE

PRINT "Pay for ", HOURS, "hours at ", RATE, " = " , PAY

'

LET RATE = 6

LET HOURS = 30

LET PAY = HOURS * RATE

PRINT "Pay for ", HOURS, "hours at ", RATE, " = " , PAY

'

END





فيما يلى كيف يعمل الجزء الثانى من البرنامج :

1- القيمة الموجودة فى المتغير RATE يتم استبدالها بالقيمة "6" .

2- القيمة الموجودة فى المتغير HOURS يتم استبدالها بالقيمة "30" .

3- عبارة LET الثالثة :

· تستخدم القيمة "30" الموجودة فى المتغير HOURS .

· وتستخدم القيمة "6" الموجودة فى المتغير RATE .

· إجراء العملية الحسابية "30 * 6 " .

· تخزين النتيجة "180" فى المتغير PAY .

4- عبارة PRINT :

· تكتب السلسلة "Pay for " .

· تبحث فى المتغير HOURS ، لتحصل على القيمة "30" وتكتبها .

· تكتب السلسلة "hours at " .

· تبحث فى المتغير RATE ، لتحصل على القيمة "6" وتكتبها .

· تكتب حرف علامة التساوى " = " .

· تبحث فى المتغير PAY ، لتحصل على القيمة "180" وتكتبها .



السؤال رقم 19 :

ما الذى سوف يطبعه البرنامج الكامل على شاشة الكمبيوتر ؟



الإجابة :

الكود:


Pay for 40 hours at 5 = 200

Pay for 30 hours at 6 = 180




Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في الأحد أكتوبر 12, 2014 10:50 am

استبدال محتويات المتغير عدة مرات :

يمكن استبدال محتويات المتغير عدة مرات . انظر إلى البرنامج التالى :





الكود:


' Changing the contents of VALUE

'

LET VALUE = 1

PRINT VALUE

LET VALUE = 2

PRINT VALUE

LET VALUE = 3

PRINT VALUE

END


السؤال رقم 20 :

ما الذى سوف يطبعه البرنامج السابق على شاشة الكمبيوتر ؟



الإجابة :

الكود:


1

2

3





ثلاث خطوات لعبارة LET :

عبارة LET يمكن أن تقوم بقدر كبير من العمل . لقد رأيت أمثلة على هذا بالفعل . انظر إلى العبارة التالية :



الكود:


LET SUM = A + 23




فيما يلى ملخص لما يمكن أن يحدث :

عبارة LET :

1- توجد (تحجز) ذاكرة من أجل كل متغير "جديد" فى العبارة . سوف يتم وضع الصفر فى المتغيرات العددية إذا لم يكن هناك معلومات أخرى ، ( إذا لم يكن هناك متغيرات جديدة ، فإن هذه الخطوة لا تقوم بعمل أى شىء) .

2- القيام بإجراء العمليات الحسابية الموجودة "يمين" علامة التساوى ( إذا لم يكن هناك أى عمليات حسابية ، فقط يتم استخدام القيمة الموجودة هناك) .

3- استبدال محتويات المتغير الموجود "يسار" علامة التساوى بنتيجة العملية الحسابية .



السؤال رقم 21 :

ما الذى سوف يطبعه البرنامج التالى ؟

الكود:


' LET example

'

LET A = 2

LET B = 4

LET C = (A + B) / 2

PRINT A, B, C

END




الإجابة :

الكود:


2 4 3




شرح البرنامج :

العبارة الأولى :

1- تحجز ذاكرة للمتغير "A" .

2- تستخدم القيمة "2" .

3- تخزن هذه القيمة فى هذا المتغير .

العبارة الثانية :

1- تحجز ذاكرة للمتغير "B" .

2- تستخدم القيمة "4" .

3- تخزن هذه القيمة فى هذا المتغير .

العبارة الثالثة :

1- تحجز ذاكرة للمتغير "C" ( المتغير A والمتغير B لا تحتاج لذاكرة جديدة) .

2- إجراء العملية الحسابية "(A + B ) / 2 ".

3- تخزين النتيجة فى المتغير "C" .



وأخيرا عبارة PRINT تبحث فى كل من المتغيرات A,B,C وتكتب محتوياتها .



السؤال رقم 22 :

هل ظهور المتغير لأول مرة على يمين علامة التساوى فى عبارة LET يعتبر خطأ ؟



الإجابة :

نعم ، على الأرحج أنه خطأ . سوف يتم حجز ذاكرة لمتغير جديد ، ويتم وضع صفر به . عادة يكون ذلك خطأ .



لقد وصلنا إلى نهاية الدرس .

فى الدرس القادم سوف نناقش عبارة INPUT ، وهى الوسيلة للحصول على البيانات للمتغير من المستخدم . وهذا سوف يجعل البرنامج مفيد أكثر من ذلك بكثير ، وبطبيعة الحال أكثر متعة .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثالث المتغيرات Variables

مُساهمة من طرف Admin في الأحد أكتوبر 12, 2014 10:14 pm

الدرس الرابع عبارة INPUT

فى هذا الدرس سوف تتعلم عبارة INPUT فى لغة Qbasic . عبارة INPUT تحصل على البيانات من لوحة مفاتيح الكمبيوتر .

المحتويات :

· المدخلات والمخرجات فى نظام الكمبيوتر .

· عبارة INPUT .

· مطالبة المستخدم .

· إدخال بيانات العدد .

· استخدام عدة عبارات INPUT .

حتى الآن ، جميع البيانات التى يستخدمها البرنامج كانت جزءا من البرنامج نفسه . على سبيل المثال :


الكود:


' Calculate Miles per Gallon

'

LET MILES = 45678.3 - 45149.6

LET GALLONS = 12.5

PRINT MILES / GALLONS

END



البيانات هى القراءة الأولى لعداد المسافات (45149.6) ، والقراءة الثانية لعداد المسافات (45678.3) وعدد الجالونات .



سؤال :

هل سوف يفعل البرنامج نفس الشىء فى كل مرة يتم تشغيله ؟



الإجابة :

نعم .



أجهزة الدخل Input Devices :

انظر إلى البرنامج التالى :





الكود:


LET MILES = 45678.3 - 45149.6

LET GALLONS = 12.5

PRINT MILES / GALLONS

END



فى كل مرة تقوم بتشغيل البرنامج سوف يقوم بعمل نفس الشىء بالضبط . فى المرة التالية التى تملأ فيها خزان الوقود مرة أخرى ، يجب عليك تغيير البرنامج لحساب القيم الجديدة . ويصبح البرنامج غير مفيد على الإطلاق .

معظم برامج الكمبيوتر المفيدة تحصل على بيانات الدخل (المدخلات) من مصادر مختلفة عند تشغيلها . المدخلات input تعنى البيانات التى تأتى من خارج البرنامج . البرنامج الذى يفعل ذلك يمكن أن يعمل ببيانات جديدة فى كل مرة يتم تشغيله .



مصادر بيانات الدخل :

· لوحة المفاتيح .

· القرص الصلب .

· القرص المرن .

· القرص المدمج CD .

· الماوس .

· كاميرا الفيدو .

· التحويل الرقمى للصوت (جزء من كارتة الصوت) .

· الإنترنت .

· مئات من المصادر الأخرى.



بالنسبة لنا ، سوف تأتى معظم البيانات من المستخدم وكتابة البرنامج على لوحة المفاتيح . بعض مصادر البيانات (مثل البيانات الصوتية) تتطلب معدات خاصة . يطلق على قطعة المعدات hardware التى تكون مصدر لمدخلات لبرنامج الكمبيوتر "جهاز الدخل" Input device .



أجهزة الخرج Output Devices :

أثناء تشغيل معظم برامج الكمبيوتر تقوم بإخراج البيانات إلى أماكن مختلفة . فى البرمجة "المخرجات" output تعنى البيانات التى يرسلها البرنامج خارجة منه إلى بعض الأجهزة . بالنسبة لنا ، المخارج معظمها سوف يذهب إلى شاشة الكمبيوتر .

يمكن إرسال المخارج إلى :

· الشاشة .

· القرص الصلب .

· القرص المرن .

· الطابعة .

· كارتة الصوت .

· الإنترنت .

· المئات من الأماكن الأخرى .

قطعة الهاردوير التى تستخدم البيانت من البرنامج تسمى "جهاز الخرج" Output device .



سؤال :

بعض الأجهزة توجد فى قائمة أجهزة الدخل كما توجد فى قائمة أجهزة الخرج . اذكر بعض هذه الأجهزة .

الإجابة :

· القرص الصلب .

· القرص المرن .

· الإنترنت .



المداخل / المخارج I / O :

يستخدم القرص الصلب لنظام الكمبيوتر من أجل كل من المدخلات إلى البرنامج والمخرجات من البرنامج . الأجهزة الأخرى هى حصرا أجهزة دخل ( مثا لوحة المفاتيح والماوس) أو أجهزة خرج ( مثل الطابعة والشاشة) .

المدخلات والمخرجات تكون فى غاية الأهمية لنظام الكمبيوتر ويستخدم لها الاختصارا I/O . أى جهاز يقوم بعمل إدخال أو إخراج أو كليهما يسمى جهاز دخل / خرج I/O device . وغالبا ما تسمى حركة البيانات من أو إلى مثل هذا الجهاز "مدخلات / مخرجات" I/O .



العبارة INPUT :



Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى