منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

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

اذهب الى الأسفل

الدرس الثالث المتغيرات Variables Empty الدرس الثالث المتغيرات 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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" كما فى الشكل التالى :


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


بعد تنفيذ العبارة الأولى (عبارة 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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" :

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

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



السؤال رقم 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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" :


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




القيمة "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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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 ، وهو ليس له أى معلومات أخرى ، فيتم وضع الصفر به . الآن يوجد متغيرين فى الذاكرة :


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


التعبير الرياضى "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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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" فى هذه الذاكرة . الشكل التالى يبين شكل الذاكرة بعد تنفيذ العبارة الأولى :


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




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

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

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



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



الكود:


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 فى العبارة الثالثة لا يغير من محتوياتها . بعد تنفيذ العبارة الثالثة ، يكون شكل الذاكرة الرئيسية كما يلى :


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


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



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



الكود:


LET OUNCES = GALLONS * 128                 ' statement 4



الإجابة :

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

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

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

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

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

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

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


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


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

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



الكود:


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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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" به :


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



الآن يتم تنفيذ عبارة 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 الثانية تكون الذاكرة بالشكل التالى :

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


الآن ، يتم تنفيذ عبارة 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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" وتكتبها .

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


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



السؤال رقم 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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

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

https://fathallaabdelaziz.forumarabia.com

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

الدرس الثالث المتغيرات Variables Empty رد: الدرس الثالث المتغيرات 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

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

https://fathallaabdelaziz.forumarabia.com

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

الرجوع الى أعلى الصفحة


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