Sh2ee
10-05-2006, 01:59 AM
بسم الله الرحمن الرحيم
___---***---___
اهلا بكم في الجزء الرابع والأخير من تعليم لغة اللوغو
الاجزاء السابقة
..::||::.. شرح لغة اللوجو LOGO ..::||::.. (الجزء الاول) (http://www.sh2ee.com/vb/showthread.php?t=3767)
..::||::.. شرح لغة اللوجو LOGO ..::||::.. (الجزء الثاني) (http://www.sh2ee.com/vb/showthread.php?t=3768)
..::||::.. شرح لغة اللوجو LOGO ..::||::.. (الجزء الثالث) (http://www.sh2ee.com/vb/showthread.php?t=3796)
لنبدا
___---***---___
5/المتغيرات VARIABLES
المتغيرات واهميتها
لقد تعلمنا سابقا كيفية كتابة الاجراء, كرسم مربع مثلا بطول ضلع محدد , لكن اذا اردنا رسم المربع نفسه بطول ضلع مختلف , فماذا نفعل ؟ ان الاجابة ستكون بتعديل هذا الاجراء باستخدام الامر EDIT او بعمل اجراء جديد.
و لنفرض اننا نريد ان نرسم عدة مربعات بأطوال أضلاع مختلفة , فهل سنعدل الاجراء في كل مرة ؟ او نكتب اجراء لرسم كل مربع ؟ لابد من ان هذه العملية ستكون مملة و مزعجة.
فما الحل اذن ؟ الحل يكمن فيما يعرف بالمتغيرات.
وذالك عن طريق كتابة اجراء رسم المربع , ولكن دون تحديد طول ضلع المربع برقم حيث نحدد الطول برموز (متغيرات) , وعند تنفيذ الاجراء نكتب بدلا من الرمز (المتغير) الطول المطلوب.
ولتوضيح ذلك تابع المثال التالي:
TO SQ : length
REPEAT 4[FD :length RT 90]
END
لابد انك لاحظت :
1-اضيفت كلمة length بعد الاجراء (SQ)
2-ان كلمة length سبقتها النقطتان (
3-ان طول ضلع المربع لم يحدد في الامر FD اذا حلت مكانه كلمة (المتغير) length
دعنا ننفذ الاجراء SQ كما تعلمنا سابقا وهذا بكتابة SQ في نافذة كتابة الاوامر.
ان السلحفاة لم ترسم اي شيء في كتابة الرسم برغم اننا كتبنا اسم الاجراء , وظهرت لنا عوضا عن ذلك في نافذه كتابة الاوامر الرسالة التالية :-
The procedure SQ needs more input (s)
...../\.....\/.....
ما معنى هذه الرسالة ؟
تعني هذه الرسالة ان الاجراء SQ ينقصه شيء حتى يتم تنفيذه فما هذا الشيء ؟
اننا لم نحدد للسلحفاة طول الضلع المطلوب , ولهذا لم ترسم السلحفاة الرسمة بانتظار ان نحدد لها طول الضلع بحيث تعوضه عن المتغير length لترسم المربع.
...../\.....\/.....
استخدام المتغيرات
اكتب SQ 80 ثم اضغط انتر
لقد تلقت السلحفاة الامر برسم مربعا بطول ضلع 80 وحدة
لنفترض اننا نريد رسم مربع اخر بطول 60 وحده , فهل سنعيد كتابة الاجراء مرة اخرى ؟ هل سنعدل في الاجراء ؟
اكتب SQ 60 ثم اضغط انتر
ارسم المربع بطول ضلع 40 وحدة , 20 وحدة
اكتب الاجراء التالي
TO TRI : Size
REPEAT 3[FD :Size RT 120]
نفذ هذا الاجراء بحيث تجعل المتغير : 30 ثم 50 ثم 70 ثم 90
اكتب الاجراء التالي
TO SHAPE :Z
REPEAT :Z[FD 60 RT 360/:Z]
نفذ هذا الاجراء بجعل قيم المتغير Z على هذا النحو:
Z=3
Z=4
Z=5
Z=6
اكتب الاجراء التالي
TO POLI :M
REPEAT :M[REPEAT 6[FD 40 RT 60] RT 360/:M
نفذ الاجراء وذلك بكتابة ما ياتي:
POLI 8
POLI 4
POLI 3
لقد تعلمنا مع الاجراء المحتوي على متغير واحد, والسؤال الان هل يمكننا التعامل مع اكثر من متغير في الاجراء الواحد ؟
الجواب على ذلك بنعم , اذ يمكننا التعامل مع اكثر من متغير في الاجراء الواحد , لكننا في هذا الدرس سنتعامل مع متغيرين اثنين فقط في الاجراء الواحد
لنفرض اننا نريد رسم اشكال منتظمة متعدده باطوال اضلاع متغيرة و بعدد اضلاع متغيرة , و ذلك باستخدام اجراء واحد . فما الاجراء الذي سنكتبه ؟ وما المتغيرات في هذا الاجراء ؟
للاججابة على هذا السؤال دعنا نحدد المتغيرات وهي :
1-طول الضلع ولنرمز له بالرمز L
2-عدد اضلاع الشكل و لنرمز له بالرمز N
لنكتب الان الاجراء ولنسميه SHAPE
TO SHAPE :L :N
REPEAT :N[FD :L RT 360/:N]
END
...../\.....\/.....
..::||::.. ملحوظة ..::||::..
1-عند كتابة الاجراء المحتوى على اكثر من متغير ينبغي ترك فراغ بين تلك المتغيرات
2-عند تنفيذ الاجراء ينبغى وضع فراغ بين الارقام (الثوابت ) الدالة على هذه المتغيرات
3-عند تنفيذ الاجراء ينبغي التنبه الى ضرورة ان يكون عدد الارقام المدخلة يساوي تماما لعدد المتغيرات
...../\.....\/.....
ادخل اوامر الاجراء التالية
TO FIG :S :L
SETPC :S
REPEAT 6[FD :L LT 60]
END
حيث FIG هي احتصار لكلمة FIGURE (شكل)
يرمز المتغير (S) الى رقم اللون
يرمز المتغير L الى طول ضلع الشكل
نفذ الاجراء وذلك بكتابة ما ياتي
FIG 1 50
FIG 3 60
FIG 5 70
FIG 10 80
ادخل الاوامر الاجراء المذكورة فيما ياتي
TO REC :L :W
REPEAT 4[FD :L RT 90 FD :W RT 90]
END
حيث REC هي اختصار لكلمة RECTANGLE (مستطيل )
يرمز المتغير L الى عرض المستطيل
يرمز المتغير W الى طول ضلع المستطيل
نفذ الاجراء وذلك بكتابة ما ياتي
REC 40 60
REC 50 70
REC 60 80
REC 70 90
___---***---___
المتغيرات VARIABLES :-
هي رموز توضع بعد اسم الاجراء مسبوقة بالنقطتين : , و1ذلك لتسهيل العمل وتعميم الاجراء , بوضع ارقام بلا من تلك الرموز عند تنفيذ الاجراء.
وعند كتابة الاجراء المحتوي على متغيرات ينبغي مراعاة الامور التالية:
1-ترك فراغ بين اسم الاجراء والمتغير.
2-ترك فراغ بين المتغيرات اذا كان الاجراء محتويا على اكثر من متغير .
3-وضع النقطتين ( قبل المتغير مع عدم ترك فراغ بين المتغير و النقطتين (
4-الا يبدا اسم المتغير برموز خاصة مثل (*,%,$..الخ) او بارقام
5-يفضل ان يكون اسم المتغير معبرا عن معنى هذا المتغير , فمثلا نستخدم L (Length) للدلالة على الطول
6-الا يكون هنالك تطابق في اسماء المتغيرات , اذا كان الاجراء محتويا على اكثر من متغير
7-المتغيرات تخص الاجراء نفسه فقط , ولا تطبق على اي اجراءات اخرى.
8-عند تنفيذ الاجراء المحتوي على متغيرات ينبغي :
أ-ان تكون الارقام مرتبة بترتيب المتغيرات الدالة عليها .
ب-ان يكون عدد الارقام مساويا تماما لعدد المتغيرات في الاجراء .
جـ-وضع فراغات ما بين اسم الاجراء والارقام وكذلك بين الارقام ان كان هذا الاجراء يحتوي على اكثر من متغير
___---***---___
انتهى الموضوع
وسلسلة مواضيع "..::||::.. شرح لغة اللوجو LOGO ..::||::.."
و ان تكون مساعده شاملة لللاعضاء
و ان تكون اعجبتكم
تقبلو تحياتي الحارة
___---***---___
اهلا بكم في الجزء الرابع والأخير من تعليم لغة اللوغو
الاجزاء السابقة
..::||::.. شرح لغة اللوجو LOGO ..::||::.. (الجزء الاول) (http://www.sh2ee.com/vb/showthread.php?t=3767)
..::||::.. شرح لغة اللوجو LOGO ..::||::.. (الجزء الثاني) (http://www.sh2ee.com/vb/showthread.php?t=3768)
..::||::.. شرح لغة اللوجو LOGO ..::||::.. (الجزء الثالث) (http://www.sh2ee.com/vb/showthread.php?t=3796)
لنبدا
___---***---___
5/المتغيرات VARIABLES
المتغيرات واهميتها
لقد تعلمنا سابقا كيفية كتابة الاجراء, كرسم مربع مثلا بطول ضلع محدد , لكن اذا اردنا رسم المربع نفسه بطول ضلع مختلف , فماذا نفعل ؟ ان الاجابة ستكون بتعديل هذا الاجراء باستخدام الامر EDIT او بعمل اجراء جديد.
و لنفرض اننا نريد ان نرسم عدة مربعات بأطوال أضلاع مختلفة , فهل سنعدل الاجراء في كل مرة ؟ او نكتب اجراء لرسم كل مربع ؟ لابد من ان هذه العملية ستكون مملة و مزعجة.
فما الحل اذن ؟ الحل يكمن فيما يعرف بالمتغيرات.
وذالك عن طريق كتابة اجراء رسم المربع , ولكن دون تحديد طول ضلع المربع برقم حيث نحدد الطول برموز (متغيرات) , وعند تنفيذ الاجراء نكتب بدلا من الرمز (المتغير) الطول المطلوب.
ولتوضيح ذلك تابع المثال التالي:
TO SQ : length
REPEAT 4[FD :length RT 90]
END
لابد انك لاحظت :
1-اضيفت كلمة length بعد الاجراء (SQ)
2-ان كلمة length سبقتها النقطتان (
3-ان طول ضلع المربع لم يحدد في الامر FD اذا حلت مكانه كلمة (المتغير) length
دعنا ننفذ الاجراء SQ كما تعلمنا سابقا وهذا بكتابة SQ في نافذة كتابة الاوامر.
ان السلحفاة لم ترسم اي شيء في كتابة الرسم برغم اننا كتبنا اسم الاجراء , وظهرت لنا عوضا عن ذلك في نافذه كتابة الاوامر الرسالة التالية :-
The procedure SQ needs more input (s)
...../\.....\/.....
ما معنى هذه الرسالة ؟
تعني هذه الرسالة ان الاجراء SQ ينقصه شيء حتى يتم تنفيذه فما هذا الشيء ؟
اننا لم نحدد للسلحفاة طول الضلع المطلوب , ولهذا لم ترسم السلحفاة الرسمة بانتظار ان نحدد لها طول الضلع بحيث تعوضه عن المتغير length لترسم المربع.
...../\.....\/.....
استخدام المتغيرات
اكتب SQ 80 ثم اضغط انتر
لقد تلقت السلحفاة الامر برسم مربعا بطول ضلع 80 وحدة
لنفترض اننا نريد رسم مربع اخر بطول 60 وحده , فهل سنعيد كتابة الاجراء مرة اخرى ؟ هل سنعدل في الاجراء ؟
اكتب SQ 60 ثم اضغط انتر
ارسم المربع بطول ضلع 40 وحدة , 20 وحدة
اكتب الاجراء التالي
TO TRI : Size
REPEAT 3[FD :Size RT 120]
نفذ هذا الاجراء بحيث تجعل المتغير : 30 ثم 50 ثم 70 ثم 90
اكتب الاجراء التالي
TO SHAPE :Z
REPEAT :Z[FD 60 RT 360/:Z]
نفذ هذا الاجراء بجعل قيم المتغير Z على هذا النحو:
Z=3
Z=4
Z=5
Z=6
اكتب الاجراء التالي
TO POLI :M
REPEAT :M[REPEAT 6[FD 40 RT 60] RT 360/:M
نفذ الاجراء وذلك بكتابة ما ياتي:
POLI 8
POLI 4
POLI 3
لقد تعلمنا مع الاجراء المحتوي على متغير واحد, والسؤال الان هل يمكننا التعامل مع اكثر من متغير في الاجراء الواحد ؟
الجواب على ذلك بنعم , اذ يمكننا التعامل مع اكثر من متغير في الاجراء الواحد , لكننا في هذا الدرس سنتعامل مع متغيرين اثنين فقط في الاجراء الواحد
لنفرض اننا نريد رسم اشكال منتظمة متعدده باطوال اضلاع متغيرة و بعدد اضلاع متغيرة , و ذلك باستخدام اجراء واحد . فما الاجراء الذي سنكتبه ؟ وما المتغيرات في هذا الاجراء ؟
للاججابة على هذا السؤال دعنا نحدد المتغيرات وهي :
1-طول الضلع ولنرمز له بالرمز L
2-عدد اضلاع الشكل و لنرمز له بالرمز N
لنكتب الان الاجراء ولنسميه SHAPE
TO SHAPE :L :N
REPEAT :N[FD :L RT 360/:N]
END
...../\.....\/.....
..::||::.. ملحوظة ..::||::..
1-عند كتابة الاجراء المحتوى على اكثر من متغير ينبغي ترك فراغ بين تلك المتغيرات
2-عند تنفيذ الاجراء ينبغى وضع فراغ بين الارقام (الثوابت ) الدالة على هذه المتغيرات
3-عند تنفيذ الاجراء ينبغي التنبه الى ضرورة ان يكون عدد الارقام المدخلة يساوي تماما لعدد المتغيرات
...../\.....\/.....
ادخل اوامر الاجراء التالية
TO FIG :S :L
SETPC :S
REPEAT 6[FD :L LT 60]
END
حيث FIG هي احتصار لكلمة FIGURE (شكل)
يرمز المتغير (S) الى رقم اللون
يرمز المتغير L الى طول ضلع الشكل
نفذ الاجراء وذلك بكتابة ما ياتي
FIG 1 50
FIG 3 60
FIG 5 70
FIG 10 80
ادخل الاوامر الاجراء المذكورة فيما ياتي
TO REC :L :W
REPEAT 4[FD :L RT 90 FD :W RT 90]
END
حيث REC هي اختصار لكلمة RECTANGLE (مستطيل )
يرمز المتغير L الى عرض المستطيل
يرمز المتغير W الى طول ضلع المستطيل
نفذ الاجراء وذلك بكتابة ما ياتي
REC 40 60
REC 50 70
REC 60 80
REC 70 90
___---***---___
المتغيرات VARIABLES :-
هي رموز توضع بعد اسم الاجراء مسبوقة بالنقطتين : , و1ذلك لتسهيل العمل وتعميم الاجراء , بوضع ارقام بلا من تلك الرموز عند تنفيذ الاجراء.
وعند كتابة الاجراء المحتوي على متغيرات ينبغي مراعاة الامور التالية:
1-ترك فراغ بين اسم الاجراء والمتغير.
2-ترك فراغ بين المتغيرات اذا كان الاجراء محتويا على اكثر من متغير .
3-وضع النقطتين ( قبل المتغير مع عدم ترك فراغ بين المتغير و النقطتين (
4-الا يبدا اسم المتغير برموز خاصة مثل (*,%,$..الخ) او بارقام
5-يفضل ان يكون اسم المتغير معبرا عن معنى هذا المتغير , فمثلا نستخدم L (Length) للدلالة على الطول
6-الا يكون هنالك تطابق في اسماء المتغيرات , اذا كان الاجراء محتويا على اكثر من متغير
7-المتغيرات تخص الاجراء نفسه فقط , ولا تطبق على اي اجراءات اخرى.
8-عند تنفيذ الاجراء المحتوي على متغيرات ينبغي :
أ-ان تكون الارقام مرتبة بترتيب المتغيرات الدالة عليها .
ب-ان يكون عدد الارقام مساويا تماما لعدد المتغيرات في الاجراء .
جـ-وضع فراغات ما بين اسم الاجراء والارقام وكذلك بين الارقام ان كان هذا الاجراء يحتوي على اكثر من متغير
___---***---___
انتهى الموضوع
وسلسلة مواضيع "..::||::.. شرح لغة اللوجو LOGO ..::||::.."
و ان تكون مساعده شاملة لللاعضاء
و ان تكون اعجبتكم
تقبلو تحياتي الحارة