الاثنين، 8 سبتمبر 2014

تعلم AS3 -جزء1- الدرس 1.2 [المتغيرات]

السلام عليكم و رحمة الله و بركاته
مرحبا بكم في هذا الدرس الجديد من سلسلة دروس تعلم الأكشن سكربت 3
التي سنتعلم فيها كيفية صنع برامج فلاش بمختلف أنواعها

ما معنى البرمجة؟

برمجة تعني كتابة تعليمات و أوامر يقوم الحاسوب بتنفيذها..
أجهزتنا مليئة بالبرامج ف notepad برنامج
الالة الحاسبة برنامج
الالعاب برامج

البرامج موجودة في كل مكان و تمكننا بفعل كل شئ و ما نريده بجهاز الكمبيوتر

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

سأجيب عن هذا السؤال بمثال في حياتنا اليومية
فلنفرض أنك تريد طبخ أكلة
لطبخها يجب ان يكون عندنا كمية من الملح و ملعقة و بيض  و زيت ..الخ

-نضع قليلا من الزيت في المقلاة
- نتركها تسخن
- نقوم بغسل البيض
- لما تسخن الزيت قليلا نكسر البيض
- نضعه داخل المقلاة
- نضع قليلا من الملح
... الخ الخ

وضع الزيت في المقلاة , غسل البيض ..الخ فهذه هي التعليمات (instructions بالفرنسية)
و تنفذ بشكل تسلسلي من الاعلى الى الاسفل ,, واحدة بواحدة
____________________________

من بين أهم الأشياء في البرمجة هي المتغيرات و هذا هو موضوعنا اليوم


سنتحدث في هذا الدرس عن طريقة انشاء المتغيرات بمختلف أنواعها



_____________________________________________________


1. ماذا نعني بالمتغير؟ (variable):

لو تتذكرون الرياضيات لما كنا في المتوسطة, فانكم حتما ستتذكرون هذا المصطلح -المتغير- و هم عبارة عن أحرف او رموز مثل أ ب ج أو a  b c .. تحمل قيم عددية
 (و أشهر واحد هو "س" أو "x" )

مثلا 
E = m
أو 
ط = ك.س²

(قانون أنشتاين للطاقة)
حيث
:كتلة الجسم
c: سرعة الضوء (ثابت)

اذا كانت كتلة الجسم  m20 (مثلا)
يمكن اذن كتابة المعادلة هكذا
E = 20 * c²

حيث قمنا بتعويض المتغير m بقيمته

_______________________

في البرمجة, المتغيرات لهذا نفس المبدأ مع فرق بسيط
-الفرق الأول هو ان هاته المتغيرات لاتحتوي فقط على قيم عددية
-الفرق الثاني في التسمية حيث يمكننا ان نمزج اسم المتغير مع ارقام او بعض الرموز مثل _ -
مثلا بامكاني تسمية المتغير ب as3arabic 

في الرياضيات المتغير يمكنه ان يغير قيمته في أي لحظة, نفس الشئ ينطبق في البرمجة
مثلا المتغير money نفرض ان قيمته 500 بامكانها ان تكبر او تنقص في أي وقت

اذن بصفة عامة للمتغير اسم  خاص به و قيمة  يمكننا في أي وقت قراءة محتواها او تغييرها

متى نستعمل المتغيرات؟

نستعملها لما نكون بحاجة لتخزين معلومات معينة
حيث يتم تخزينها في الذاكرة المركزية و سنشرحها في فيديو في الدرس القادم
فلو نعود الى المثال السابق لتحضير طبخة
قلنا اننا سنحتاج الى كمية (قيمة) معينة من الزيت
و عدد من البيضات (قد يكون 3 او 4 او اكثر او اقل ..)
في البرمجة هذه هي المتغيرات يعني الادوات التي قد نستعملها في مختلف الاكواد في برنامجنا


_________________


Syntax:

في كل لغة برمجية هناك العديد من انواع المتغيرات و لكل واحدة منهم طريقة معينة لانشائها (syntax)

الطريقة الصحيحة لانشاء متغير في الاكشن سكربت 3 هي :



var name : type = value

حيث
var هي كلمة دلالية 
name: اسم المتغير و لنا الحرية في اختياره و يجب ان لا يكون كلمة دلالية و يبدأ بحرف 
type: و هو نوع المتغير (سنتكلم عن مختلف انواع المتغيرات)
value: و هو قيمة المتغير اذا اردنا اعطاء قيمة للمتغير

_______________________________________

سنقوم بانشاء أول متغير لنا في لغة الاكشن سكربت 3 ببرنامج فلاش

أولا:قم بانشاء مشروع actionscript 3 جديد
ثم قم بالضغط على أول اطار موجود داخل ال TIMELINE



اضغط بزر الفأرة الأيمن و اختر Action (أو اضغط F9 في لوحة المفاتيح)

لاحظ الأكواد التالية:


قمنا بانشاء متغير من نوع String (سلسلة حروف) و قيمتها "as3arabic
سلسلة الحروف دائما تكون مكتوبة بين مزدوجتين

________


انشأنا متغير اسمه speed نوعه عدد حقيقي قيمته 12.6

قم بتجريب الكود التالي:

قم بكتابة هذا الكود ثم اضعط على CTRL + Enter  أو control -> Test Scene لتجريبة



سيكون هناك خطأ من هذا النوع:

1067: Implicit coercion of a value of type String to an unrelated type Number.





يعني أننا انشأنا متغير من نوع عدد حقيقي لكن قيمته من نوع سلسلة حروف و هذا ما يرفضه المترجم
هذا يسمى ب mode précis اي مود دقيق في الترجمة 
بامكاننا نزعه و ترك المترجم يغير اوتوماتيكيا القيم حسب نوعها الا انا هذا قد يشكل خطرا على المبرمج

الطريقة الامثل هي
var speed: Number = Number("15.5");

حيث قمنا بترجمة و تغيير قيمة "15.5" الى 15.5 
نسمي هذه العملية ب Casting و سنراها في الدرس القادم

ملاحظة 2 :

var myVariable = 15;
نلاحظ اننا لم نعطي للمتغير أي نوع لكن المترجم يقبلها  و لا ينشئ رسالة خطأ لانه في الحقيقة يقوم باختيار النوع المناسب حسب القيمةالا ان هذا يستغرق بعض الوقت 
فمن الافضل دائما التصريح بالنوع 

_______________________________________________________ 


بعض أنواع المتغيرات Data types:


 هناك نوعين من المتغيرات

1.المتغيرات البسيطة primitive value: طريقة انشائها مثلما سبق و ذكرنا في الاعلى
 (var name: type = value)
  و هي:
String Number int uint Boolean

String: متغيرات قيمتها تكون على شكل سلسة من الاحرف مثلما رأينا في الاعلى
 Number : للأعداد الحقيقية 
int : متغيرات قيمتها عدد طبيعي (سالب أو موجب) 
uint: متغيرات قيمتها عدد طبيعي موجب 
Boolean: متغيرات قيمتها صحيح أو خطأ (true,false)

2.متغيرات معقدة:  و هي ليست كالاولى و تكون طريقة انشائها كالاتي
var name: type= new type();
مثل:
Object Array XML MovieClip الخ 
(سنشرحها لاحقا)


____________________________________________________

القيمة الافتراضية (Default Value ):

اذا قمنا بانشاء متغير دون اعطائه قيمة مثل var age:int و اردنا التعرف على قيمته هل سيتشكل لنا رسالة خطأ؟ ماذا سيحدث
فلنجرب هذا الكود

var myBool: Boolean;
 trace(myBool);

سيكتب لنا : false
أي انه أعطى false للمتغير بالرغم من اننا لم نقم بهذا. اذن المترجم يعطي قيم افتراضية للمتغيرات في حالة لم نفعل نحن هذا 
سأعطيكم مختلف القيم الافتراضية التي يعطيها المترجم حسب النوع

ملاحظة
الدالة trace مهمة جدا فهي تساعدنا على معرفة قيم المتغيرات و الكثير من الاشياء و هي خاصة بالمبرمج 
سنستعملها كثيرا
اليكم القيم الافتراضية التي يعطيها المترجم للمتغيرات حسب النوع

النوعالقيمة
Booleanfalse
int0
NumberNaN
Objectnull
Stringnull
uint0
بدون نوع أو *undefined
نوع اخرnull
المتغيرات بدون نوع هي المتغيرات التي انشأناها هكذا
var myVar;
فهي لا تملك أي نوع 
 trace(myVar);
يكتب 
Undefined

ليست هناك تعليقات:

إرسال تعليق


جميع الحقوق محفوظة لمدونة 2014-2015 as3arabic |