small basic...
TRANSCRIPT
Microsoft Small Basic
م�ق�د�م�ة� ف�ى� ا�ل�ب�ر�م�ج�ة�
1الفصل مقدم��ة
Small Basic والب��رمج�����ة . او االسبانية او االنجليزية ونتحدث نفهم كما البرمجة لغة باستخدام برنامج تكوين عملية هى البرمجة
. . فى البرمجة لغات اللغات هذه تسمى معينة بلغات المكتوبة البرامج يفهم ان اكمبيوتر يستطيع الفرنسية، . زيادة مع ولكن اللغات هذه وتتعلم تفهم ان السهل من وكان البرمجة لغات من قليل عدد هناك كان البداية
مدار على تعقيدا اكثر مفاهيم لتشمل بسرعة البرمجة لغات تطورت والبرامج، الكمبيوتر اجهزة تعقيد. للمبتدىء. بالنسبة الفهم صعبة بها الخاصة والمفاهيم الحديثة البرمجة لغات غالبية اصبحت بالتالى الوقت
الكمبيوتر برمجة محاولة أو التعلم من الناس تثبيط الحقيقة هذه بدأت .وقد
Small Basic . الهدف للمبتدئين بالنسبة وممتعة للغاية سهلة البرمجة لجعل خصيصا مصممة برمجة لغة هو. Small Basicمن الرائع البرمجة عالم الى االولى الخطوات وتوفير الحاجز كسر
بال� الخاصة Small Basicالبيئةبـ الخاصة البيئة فى سريعة بمقدمة تشغيل. Small Basicلنبدأ تبدأ مماثل Small Basicعندما اطار ترى سوف
. التالى التوضيحى للرسم
ب� 1الشكل الخاصة Small Basicالبيئة
بالــ الخاصة البيئة هى الــ Small Basicهذه برامج وتشغيل بكتابة فيها تقوم سوف هذه. Small Basicالتى. باالرقام تعريفها تم التى العناصر من العديد تشمل الييئة
بــ ) معرف الــ( 1المحرر، برامج بكتابة فيه سنقوم الذى المكان نموذج. Small Basicهو بفتح تقوم عندما. Templateلبرنامج ) تعديله( ذلك بعد يمكنك المحرر هذا على يظهر سوف مسبقا، حفظه تم برنامج او
. بعد فيما لالستخدام وحفظه
. عرضه سيتم بتشغيله تقوم برنامج كل واحد وقت فى برنامج من اكثر وتشغيل بفتح تقوم ان ايضا يمكنك . . النشط المحرر بــ يسمى حاليا بتشغيله تقوم الذى البرنامج على يحتوى الذى المحرر منفصل محرر فى
المعرفب ) االدوات، . 2شريط نتعلم( سوف البيئة الى او النشط المحرر الى اما اوامر اصدار فى يستخدم. الحقا االدوات شريط فى المختلفة االوامر
بـ ) المعرف .3السطح، المحرر( اطارات فيه تظهر الذى المكان هو
االول برنامجنامالوفا اصبحت انك بــ بالبما الخاصة . Small Basicبيئة المحرر اعاله، موضح هو كما فيها البرمجة نبدا سوف ،
. . المحرر فى التالى السطر بكتابة نبدأ بنا فهيا برامجنا فيه نكتب الذى المكان هو
TextWindow.WriteLine("Hello World")
1
3
2
الـ فى االول برنامجنا هو للرسم . Small Basicهذا مماثال شيئا ترى سوف صحيحا، بكتابته قمت ولو. اسفل التوضيحى
برنامج- 2الشكل اول
. برنامجنا بتشغيل نقوم ان يمكننا سيحدث ماذا لنرى بتشغيله نقوم هيا الجديد، برنامجنا بكتابة قمنا اننا بمااالختصار مفتاح باستخدام او االدوات شريط على الموجود التشغيل زر على بالنقر على F5اما الموجود
. . اسفل موضح هو كما النتائج وستكون برنامجنا تشغيل سيتم يرام، ما على تم شىء كل لو المفاتيح لوحة
لبرنامج – 3الشكل اخراج اول
خطوة! . الوقت نفس فى ولكن وسهل، جدا صغير برنامج هو برنامج اول وتشغيل بكتابة قمت لقد مبروك. ! اكبر برامج بعمل نقوم ان قبل اضافية واحدة تفصيلة نغطى ان يجب اآلن، حقيقى مبرمج تصبح لكى كبيرة
الفصل – فى يفعل؟ ماذا الكمبيوتر جهاز عرف وكيف الكبيوتر لجهاز قلنا ماذا حدث ماذا نفهم ان يجب. يحدث ماذا نفهم لكى بكتابته، قمنا الذى البرنامج بتحليل سنقوم التالى،
Intellisense - 4الشكل
برنامجنا حفظالــ تغلق ان اردت ان Small Basicاذا يمكنك الحق، وقت فى كتابته من انتهيت الذى البرنامج بتشغيل وتقوم
. ايقاف حالة فى المعلومات تفقد ال حتى مفيدة عادة آلخر ان من البرامج حفظ ايضا البرنامج تحفظ . رمز على بالنقر الحالى برنامجك بحفظ تقوم ان يمكنك الطاقة انقطاع حالة فى او الطارىء التشغيل
” " االختصار" باستخدام او االدوات بشريط الموجود مفتاح” ) Ctrl+Sحفظ على استمرارية Sاضغط معمفتاح على (. Ctrlالضغط
2الفصل االول برنامجنا فهم
الكمبيوتر؟ برنامج هو ما . بالتفصيل، يفعل ماذا للكمبيوتر تحدد االوامر هذه الكمبيوتر الى الموجهة االوامر من مجموعة هو البرنامج
. بلغة كانت اذا االوامر باتباع فقط يقوم االشخاص، مثل الكمبيوتر االوامر هذه الكمبيوتر يتبع ما وغالبا . والــ. الكمبيوتر يفهمها التى البرمجة لغات من العديد هتاك البرمجة بلغات االوامر هذه تسمى Smallيفهمها
Basic. منها واحدة
. المعلومات لنقل جمل هيئة فى كلمات ستستخدمون واصدقاؤك انت صديقك وبين بينك مناقشة تخيللنقل. جمل هيئة فى تنظيمها يمكن التى الكلمات من مجموعة على تحتوى البرمجة لغات ايضا، بينكما
( . اخرى واحيانا قليلة تكون احيانا الجمل من مجموعة االساسهى فى والبرامج الكمبيوتر الى المعلومات . ) فحسب والكمبيوتر للمبرمج معنى ذات تكون معا التى االف الى عددها يصل
ال� Small Basicبرامجال . Small Basicـ برنامج عبارة وكل عبارة يمثل بالبرنامج سطر كل العبارات من مجموعة على يحتوى االمثل
. ويقرأ البرنامج الكمبيوتر سيأخذ برنامج بتنفيذ يقوم ان الكمبيوتر نسال عندما للكمبيوتر موجه امر هى . . العبارة تنفيذ من الكمبيوتر ينتهى عندما االمر بتنفيذ يقوم ثم نقول ان نحاول ماذا يفهم االولى العبارة
. نهاية حتى العملية هذه تستمر التالى السطر وينفذ ويقرأ البرنامج الى اخرى مرة يعود سوف االولى،البرنامج.
االول برنامجنا الى عودة. كتبناه برنامج اول هو هذا
TextWindow.WriteLine("Hello World")
. النص من واحد سطر يكتب ان للكمبيوتر تقول العبارة هذه واحدة عبارة على يحتوى بسيط برنامج هذاHello World. النص اطار فى
Write Hello World
. العبارة كلمات الى العبارات تقسم كما اصغر اجزاء الى تقسم ان يمكن العبارة هذه ان الحظت تكون قدالى مقسمة االولى :3االولى اجزاء
TextWindow ا(WriteLineب(”Hello World “ج(
يتفهم حتى بالعبارة المالئم المكان فى وضعها يجب ترقيم عالمات كلها االقتباس وعالمات االقواس النقطة،. هدفنا الكمبيوتر
. بــ يسمى االسود االطار هذا االول برنامجنا بتشغيل قمنا عندما ظهر الذى االسود االطار تتذكر TextقدWindow. بــ يسمى االحيان بعض . Consoleوفى البرنامج نتيجة فيه يظهر الذى المكان هو TextهذاWindow. . برامجنا فى نستخدمها لكى لنا متاحة الكائنات هذه من العديد هناك بالكائن تسمى برنامجنا، ،فى
. العملية بالفعل استخدمنا لقد الكائنات هذه على المختلفة العمليات من بالعديد نقوم ان WriteLineيمكن . العملية ان ايضا الحظت تكون قد برنامجنا . Hello Worldيليها WriteLineفى هذا تمرير تم اقتباس عالم بين
العملية الى كمدخالت . WriteLineالنص . بعض العملية بمدخالت هذا يسمى للمستخدم طباعته يتم الذى ، . مدخالت اى االخرى العمليات تاخذ ال بينما المدخالت من اكثر او واحد تاخد العمليات
الثانى برنامجنا. االلوان بعض اضافة طريق عن اجمل نجعله هيا االول، برنامجنا استوعبت انك بما
TextWindow.ForegroundColor = "Yellow"TextWindow.WriteLine("Hello World")
االلوان – 5الشكل اضافة
“ النص نفس طباعة يتم انه ستالحظ اعاله، الموضح البرنامج بتنفيذ تقوم الــ” Hello Worldعندما داخلTextWindow. مسبقا الرمادى اللون من بدال االصفر باللون طباعته يتم المرة هذه ولكن ،
االصفر Hello World - 6الشكل باللون
. جديدة، كلمة هنا البرنامج يستخدم االصلى البرنامج الى باضافتها قمنا التى الجديدة العبارة الحظForegroundColor القيمة الى معادلتها تم “”Yellow“والتى بتعيين. قمنا اننا يعنى الى” YellowهذاForegroundColor . بين الفرق ان WriteLineوالعملية ForegroundColorاآلن، لم ForegroundColorهو
. . نعرف نحن كلمة ثم يساوى بعالمة اتباعها تم ذلك من بدال اقواس اى او مدخالت اى تستخدمForegroundColor لــ خاصية لخاصية . TextWindowبانها الصالحة بالقيم قائمة حاول. ForegroundColorهذه
عالمات” – Yellowاستبدال “ احد هى االقتباس، عالمات تنسى ال النتيجة وراقب القيم هذه من بواحد. المطلوبة الترقيم
BlackBlueCyanGrayGreenMagenta
RedWhiteYellowDarkBlueDarkCyanDarkGrayDarkGreenDarkMagentaDarkRedDarkYellow
3الفصل المتغيرات فى مقدمة
برنامجنا فى المتغيرات استخداميقول “ ان يستطيع برنامجنا ان لو لطفيا قوله” “Helloاليس من بدال المستخدم باسم بصفة” Helloمقترنا
/ ثم. ما مكان فى بحفظه نقوم ثم اسمها اسمه عن المستخدم نسال ان يجب ذلك فعل يمكننا حتى عامبطباعة “ :Helloنقوم . ذلك” نفعل كيف نرى هيا المستخدم باسم مقترنا
TextWindow.Write("Enter your Name: ")name = TextWindow.Read()TextWindow.WriteLine("Hello " + name)
: االخراج هذا سترى البرنامج، هذا وتنفيذ بكتابة تقوم عندما
المستخدم – 7الشكل اسم عن السؤال
زر على والضغط اسمك بكتابة تقوم عندما :ENTERو االخراج هذا سترى ،
دافئ- 8الشكل ترحيب
. وفى مختلف اسم كتابة يمكنك اخرى مرة السؤال نفس سيوجهلك اخرى، مرة البرنامج بتشغيل قمت اذاالكمبيوتر سيقول الحالة . Helloهذه االسم بهذا مقترنا
البرنامج تحليل: انتباهك جذب يكون قد الذى السطر هو هذا تشغيله، تم الذى البرنامج فى
name = TextWindow.Read()
Read )(لــ . WriteLineمماثل المتسخدم)( ينتظر ان للكمبيوتر تقول التى العملية انها مدخالت بدون ولكن ، مفتاح على والضغط ما شئ بكتابة يقوم مفتاح. Enterحتى على بالضغط المستخدم يقوم ان ،Enterبمجرد
. كتبه شىء اى ان هنا لالنتباه المثيرة النقطة للبرنامج واعادته المستخدم كتبه ما باخذ العملية هذه تقوميسمى متغير فى حفظه تم مؤقتة. nameالمستخدم بصورة القيم لحفظ مكان بانه المتغير تعريف يمكن
. استخدام تم اعاله، الموضح السطر فى بعد فيما .nameالستخدامها المستخدم اسم لحفظ
: لالهتمام مثير ايضا التالى السطر
TextWindow.WriteLine("Hello " + name)
القيمة باستخدام فيه ستقوم الذى المكان هو هذاالمتغير فى حفظها تم القيمة. nameالتى نأخذ
بــ بــ “nameالموجودة فى” Helloونلحقها ونكتبها. النص اطار
: . التالى عمل يمكنك المثال، سبيل على المرات من عدد اى استخدامه يمكنك المتغير، تعيين يتم ان بمجرد
TextWindow.Write("Enter your Name: ")name = TextWindow.Read()TextWindow.Write("Hello " + name + ". ")TextWindow.WriteLine("How are you doing " + name + "?")
: االخراج هذا سترى و
Write كما تماما ،WriteLine فى اخرى عملية هىConsoleWindow. Write ما شئ كتابة لك تتيح
التالى ConsoleWindowالى للنص يسمح ولكنهالحالي النص نفسسطر على يكون .ان
المتغير- 9الشكل استخدام اعادة
المتغيرات تسمية قواعد . خاصة جيدة وارشادات سهلة معينة قواعد هناك عليهم التعرف يمكنك حتى بها مقترنة اسماء لها المتغيرات
: كتالى المتغيرات بتسمية
مثل .1 االساسية الكلمات من أى يكون اال ويجب بحرف يبدأ ان يجب . if, for, then, etcاالسم2. . السفلية والشرط األرقام الحروف، من مزيج اى من يحتوى ان يمكن االسممعبر .3 معنى ذات المتغير اسم يكون أن المفيد من لذا ، تريد كما طويلة تكون أن يمكن المتغيراتاستخدامه .4 طريقة عن يعبر المتغير اسم
باالرقام اللعب . كيف سنرى القادمة، القليلة البرامج فى المستخدم اسم لحفظ المتغيرات استخدام يمكنك كيف رأينا لقد
: . بسيط ببرنامج نبدأ هيا المتغيرات فى االرقام مع والتعامل حفظ يتم
number1 = 10number2 = 20number3 = number1 + number2TextWindow.WriteLine(number3)
: االخراج هذا ستجد البرنامج هذا بتشغيل تقوم عندما
رقمين – 10الشكل جمع
القيمة بتعيين ستقوم البرنامج، من االول السطر المتغير 10فى الثانى،. number1الى السطر وفىالقيمة بتعيين المتغير 20ستقوم المتغير. number2الى بأضافة ستقوم الثالث، السطر و number1فى
number2 المتغير الى النتيجة المتغير. number3وتعيين الحالة هذه فى قيمته number3بالتالى، .30ستكون. النص اطار فى طباعته تم ما وهذا
: النتائج ومالحظة قليال البرنامج بتعديل نقوم هيا اآلن،
number1 = 10number2 = 20number3 = number1 * number2TextWindow.WriteLine(number3)
بضرب اعاله الموضح البرنامج فى number2فى number1سيقوم النتيجة ان. number3وحفظ ويمكنك : ادناه البرنامج هذا نتيجة ترى
رقمين – 11الشكل ضرب
: . كتالى ستكون الطرح عملية الطريقة بنفس االرقام قسمة او بطرح تقوم ان يمكنك
number3 = number1 - number2
: كالتالى ‘/’. البرنامج سيكون هى القسمة عالمة و
number3 = number1 / number2
: كالتالى البرنامج نتيجة ستكون و
رقمين – 12الشكل قسمة
الحرارة لدرجات بسيط محولالصيغة باستخدام 5=℃سنقوم (℉−32)
9درجة الى فهرنهايت حرارة درجة لتحويل التالى البرنامج فى
. مئوية حرارة
. عملية هناك متغير فى وحفظها المستخدم من بالفهرنهايت الحرارة درجة على بالحصول سنقوم أوال،. وهى المستخدم من االرقام بقراءة لنا تسمح TextWindow.ReadNumberخاصة
. األرقام حول اقتباس عالمات يوجد ال أنه الحظعالمات ألن ضرورية االقتباسوذلك ليست
عالمات. الى فقط تحتاج عندما االقتباسلألرقام. النص تستخدم
TextWindow.Write("Enter temperature in Fahrenheit: ")fahr = TextWindow.ReadNumber()
: كالتالى مؤية حرارة درجة الى تحويلها يمكننا متغير، فى بالفهرنهايت الحرارة درجة حفظ يتم ان بمجرد
celsius = 5 * (fahr - 32) / 9
جزء بحساب يقوم ان للكمبيوتر تقول . fahr – 32االقواس فعله علينا يجب ما الحسابات ببقية يقوم ثم اوال: . التالى البرنامج على الحصول يكمننا معا، ذلك كل بوضع للمستخدم النتيجة طباعة هو اآلن
TextWindow.Write("Enter temperature in Fahrenheit: ")fahr = TextWindow.ReadNumber()celsius = 5 * (fahr - 32) / 9TextWindow.WriteLine("Temperature in Celsius is " + celsius)
: ستكون البرنامج هذا نتيجة و
الحرارة – 13الشكل درجة محول
4الفصل والتفرعات الشروط
قلنا لو ظريفا اليس االول، برنامجنا الى اخرى مرة Good Evening Worldاو Good Morning Worldبالرجوعمن بدال اليومى التوقيت حسب الكمبيوتر Hello Worldعلى سنجعل التالى، البرنامج فى عامة؟ بصفة
الساعة Good Morning Worldيقول قبل التوقيت كان و 12اذا بعد Good Eveningظهرا التوقيت كان اذا.12الساعة ظهرا
If (Clock.Hour < 12) Then TextWindow.WriteLine("Good Morning World")EndIfIf (Clock.Hour >= 12) Then TextWindow.WriteLine("Good Evening World")EndIf
: البرنامج بتشغيل فيه تقوم الذى التوقيت حسب على االخراجين احدى سترى
Good Morning World- 14الشكل
Good Evening World- 15الشكل
. من اقل الساعة كانت اذا للكمبيوتر يقول السطر هذا البرنامج من سطور ثالثة اول بتحليل نقوم بنا 12هيابطباعة “ قم اذن يفهمها If, Then and Endifالكلمات”. Good Morning Worldظهرا مخصوصة كلمات هى
. الكلمة البرنامج تشغيل يتم عندما الحالة )Ifالكمبيوتر هذه فى يعد الذى شرط يتبعها > Clock.Hourدائما12 . يتبعه(. الشرط تريد ماذا الكمبيوتر يتفهم حتى مهمة االقواس ان .thenتذكر تنفيذها المراد والعملية
يأتى العملية .Endifوبعد انتهى قد للعملية المشروط التنفيذ ان للكمبيوتر ليقول
بين عملية من اكثر هناك يكون .End ifو thenقد صالح الشرط كان اذا جميعا بتنفيذهم الكمبيوتر وسيقوم: التالى كتابة يمكنك المثال، سبيل على
If (Clock.Hour < 12) Then TextWindow.Write("Good Morning. ") TextWindow.WriteLine("How was breakfast?")EndIf
Else . قيمة الفصل هذا بداية فى الموجود بالبرنامج مكرر الشرط ان الحظت تكون اقل Clock.Hourقد تكون قد
. 12من العبارتين . اختصار يمكنك الحالة هذه فى الثانى الشرط ألستخدام بحاجة نكن لم ال if..then..endifامجديدة كلمة استخدام طريق عن واحدة عبارة بأستخدام. elseفى البرنامج كتابة بأعادة قمنا ،elseلو
: كالتالى سيكون
If (Clock.Hour < 12) Then TextWindow.WriteLine("Good Morning World")Else TextWindow.WriteLine("Good Evening World")EndIf
فى جدا مهم درس الى يقودنا ما وهو االخر، البرنامج يفعله الذى الشىء نفس سيفعل البرنامج هذاالبرمجة:
. من منطقية اكثر طريقة تكون قد احيانا البرمجة فى الشىء نفس لعمل متعددة طرق هناك . . كل وعيوب ومساوىء المختلفة التقنيات هذه تتعلم سوف للمبرمج متروك الخيار االخرى الطرق
. خبرتك وزيادة اكثر برامج كتابة مع “منهاالبادئة المسافة
البيانات فى البادئة المسافة تالحظ ان يمكنك األمثلة جميع البادئة. EndIfو Elseو Ifفي السافات هذه . . على تساعدنا فإنها ، ذلك ومع بدونهم يرام ما على البرنامج فهم من الكمبيوتر وسيتمكن ضرورية ليست
. . جيدة عادة القبيل هذا للبيانات بادئة مسافة اضافة تعتبر ثم، ومن أسهل بطريقة البرنامج هيكل وفهم رؤية
زوجى أم فردى. زوجى ام فردى ادخاله تم الذى الرقم كان اذا يبلغنا برنامج بكتابة نقوم بنا هيا
TextWindow.Write("Enter a number: ")num = TextWindow.ReadNumber()remainder = Math.Remainder(num, 2)If (remainder = 0) Then TextWindow.WriteLine("The number is Even")Else TextWindow.WriteLine("The number is Odd")EndIf
: التالى االخراج سترى البرنامج بتشغيل تقوم عندما و
زوجى - 16الشكل ام فردى
ومفيدة جديدة اخرى عملية لكم قدمنا البرنامج هذا فهمت. Math.Remainderفى تكون قد كما بالفعل وستقوم . Math.Remainderبالفعل البقية واعادة الثانى الرقم على االول الرقم بقسمة
التفريعاتمن بالترتيب حدة على بالبرنامج عبارة كل بتنفيذ يقوم الكمبيوتر ان الثانى الفصل فى تعلمت لقد تذكر
. . نظرة نلقى هيا الترتيب خارج اخرى لعبارة ينتقل الكمبيوتر تجعل مخصوصة عبارة هناك لكن السفل اعلى: التالى البرنامج على
i = 1start:TextWindow.WriteLine(i)i = i + 1If (i < 25) Then Goto startEndIf
Gotoاستخدام – 17الشكل
القيمة تعيين تم اعاله الموضح البرنامج المتغير 1فى بنقطتان. ):(iالى تنتهى جديدة عبارة بأضافة قمنا ثم
start:
بــ هذا . Labelsتعد. labelيسمى االشارة تسمى ان يمكنك الكمبيوتر يفهمها التى المرجعية كاالشاراتباسماء تسميتهم تم طالما برنامجك فى المرجعية االشارات من عدد اى تضيف وان اسم بأى المرجعية
as long as they are all uniquely namedفريدة.
: هى هنا لالهتمام مثيرة اخرى عبارة
i = i + 1
بأضافة يقوم ان للكمبيوتر تقول العبارة المتغير 1هذه المتغير iالى الى النتيجة كانت. iوتعيين لو بالتالىستساوى 1تساوى iقيمة العبارة، هذه . 2قبل العبارة هذه تنفيذ بعد
اخيرا و
If (i < 25) Then Goto startEndIf
قيمة كانت اذا للكمبيوتر يقول الجزء من iهذا المرجعية 25اقل االشارة من العبارات بتنفيذ يبدأ ان يجبstart.
الالنهائى التشغيلعبارة . Gotoباستخدام المثال سبيل على المرات من عدد اى شىء اى باعادة الكمبيوتر يقوم ان يمكن
ادناه موضح هو كما تعديله و زوجى او فردى الرقم كان اذا البالغنا بكتابته قمنا الذى البرنامج تأخذ ان يمكنك( . اغالق زر على بالنقر البرنامج ايقاف يمكنك نهاية ال ما الى البرنامج تشغيل سيتم الركن( Xو فى الموجود
. االطار من العلوى االيمن
begin:TextWindow.Write("Enter a number: ")num = TextWindow.ReadNumber()remainder = Math.Remainder(num, 2)If (remainder = 0) Then TextWindow.WriteLine("The number is Even")Else TextWindow.WriteLine("The number is Odd")EndIfGoto begin
نهاية – 18الشكل بال زوجى او فردى
5الفصل الحلقى التكرار
الحلقى Forالتكرار. السابق الفصل فى بكتبته قمنا الذى البرنامج لنأخذ
i = 1start:TextWindow.WriteLine(i)i = i + 1If (i < 25) Then Goto startEndIf
من مرتبة االرقام يطبع البرنامج تقدم . 24الى 1هذا لذا البرمجة مجال في جدا شائعة المتغير تزايد عملية. بذلك للقيام أسهل طريقة عادة البرمجة لغات
: البرنامج لهذا معادل باالعلى البرنامج
For i = 1 To 24 TextWindow.WriteLine(i)EndFor
: هو واالخراج
الحلقى استعمال – 19الشكل Forالتكرار
من البرنامج سطور عد خفضنا اننا الـ 4الى 8الحظ ذو للبرنامج تماما مماثال االخراج يظل ذلك ومع ،8 اسطر!
. لذلك جيد مثال هذا الشىء؟ بنفس للقيام طرق عدة توجد انه سابقا قلنا اننا تذكر هل
For..EndFor جعل ثم انهاء، وقيمة بدء قيمة باعطاء يسمح انه حيث حلقى تكرار يسمى البرمجة لغة فى . الموجودة البيانات بتشغيل ايضا يقوم المتغير، قيمة الكمبيوتر فيها يزيد مرة كل لك المتغير يزيد الكمبيوتر
.EndForو Forبين
بـ المتغير يزاد ان اردت ان من 2ولكن من 1بدال المفردة االرقام لطباعة مثال يمكنك 24الى 1، عندها ، . ايضا هذا لعمل الحلقى التكرار استخدام
For i = 1 To 24 Step 2 TextWindow.WriteLine(i)EndFor
فقط – 20الشكل الفردية االعداد
الـ بيان Step 2جزء بـ Forمن المتغير قيمة بزيادة الكمبيوتر من 2يبلغ . 1بدال باستخدام Stepكالعادة . فى كما الوراء، الى الكمبيوتر عد وجعل سلبى رقم تحديد بامكانك حتى تريدها زيادة اى تحديد بامكانك
: التالى المثال
For i = 10 To 1 Step -1 TextWindow.WriteLine(i)EndFor
الوراء – 21الشكل الى العد
الحلقى Whileالتكرارالحلقى .Whileالتكرار التكرارمسبقا مرات عد يعرف ال عندما مفيدة عادة وتكون للتكرار، اخرى وسيلة هو
تكرار أن حين التكرار Forفي ، مسبقا محدد لعدد .Whileيعمل الصحيح هو معينا شرطا يصبح حتى يعملعلى عدد بقسمة نقوم التالى، المثال من 2فى اصغر الناتج يصير .1حتى
number = 100While (number > 1) TextWindow.WriteLine(number) number = number / 2EndWhile
النصف – 22الشكل الى القسمة تكرار
القيمة بتعيين نقوم باعلى البرنامج الحلقى numberالى 100فى التكرار بتشغيل نقوم ثم ما Whileومنمن اكبر الرقم قيمة . 1دامت هو. وكما اثنان على قسمته ثم الرقم بطباع نقوم الحلقى التكرار داخل
. قبله ما نصف هو منها كل ارقام، عدة هو البرنامج احراج متوقع،
الحلقى التكرار باستخدام البرنامج نفس كتابة صعبا . Forيكون باستخدام الحلقة تتكرر مرة كم نعرف ال النناWhile. التكرار او التكملة اما الكمبيوتر سؤال ثم ومن ما شرط من التحقيق سهال يكون
حلقى تكرار كل ان نالحظ أن لالهتمام المثير من بيان Whileيكون الى ترجمته الممكن على. If..Thenمن. النهائية النتيجة على التأثير دون التالي النحو على أعاله البرنامج كتابة إعادة يمكننا ، المثال سبيل
number = 100startLabel:TextWindow.WriteLine(number)number = number / 2
If (number > 1) Then Goto startLabel
EndIfحلقى تكرار كل كتابة يعيد الكمبيوتر While داخليا
تستخدم من If..Then كبيانات أكثر أو واحد مع.Gotoبيانات
6الفصل الرسومات بدء
استخدمنا اآلن برمجة TextWindowحتى لغة اسس لشرح امثلتنا جميع لغة. Small Basicفى SmallولكنBasic هذا فى شرحها سيتم والتى الرسومات مع التعامل قدرات من قوية مجموعة على ايضا تحتوى
الفصل.
GraphicsWindowتقدي��م لنا سمح لنا TextWindowكما يوفر والحروف، االرقام مع GraphicsWindowاطار Small Basicبالتعامل
. الرسومات اطار باظهار لنبدأ للرسم استعماله بالمكان .GraphicsWindowوالذى
GraphicsWindow.Show()
اطار على المرة هذه ستحصل المعتاد، االسود االطار من بدال انه ستالحظ البرنامج، هذا تشغيل يتم عندما . االطار هو هذا ولكن اآلن، االطار هذا فى الكثير عمل يمكن ال االسفل فى مبين هو كما اللون ابيض
" . عالمة على الضغط طريق عن االطار اغالق بامكانك الفصل هذا فى معه سنعمل الذى فى" Xاالساسى. اليمنى الزاوية أعلى
فارغ – 23الشكل رسومات اطار
الرسومات إنشاء اطارالرسومات . اطار بتخصيصمظهره لك . يسمح وحجمها والخلفية العنوان، تغيير نمضي يمكنك دعونا
. االطار على للتعرف قليال وتعديله قدما
GraphicsWindow.BackgroundColor = "SteelBlue"GraphicsWindow.Title = "My Graphics Window"GraphicsWindow.Width = 320GraphicsWindow.Height = 200GraphicsWindow.Show()
. في المدرجة القيم من واحدة إلى الخلفية لون تغيير يمكنك المخصص االطار يبدو كيف باالسفل ترى. ." النافذة " مظهر تغيير يمكنك كيف لترى الخصائص هذه جرب ب الملحق
مخصص- 24الشكل رسومات اطار
الخطوط رسميبدأ . GraphicsWindow بعدما عليه الصور وحتى والنصوص األشكال رسم يمكننا بعض ، برسم لنبدأ
. البسيطة .األشكال الرسومات اطار على متقاطعان خطان يرسم برنامج يلي وفيما
GraphicsWindow.Width = 200GraphicsWindow.Height = 200GraphicsWindow.DrawLine(10, 10, 100, 100)GraphicsWindow.DrawLine(10, 100, 100, 10)
تقاطع - 25الشكل
. اول المتقاطعة الخطوط يرسما التالييان والسطرين االطار باعداد يقومان البرنامج من سطرين أولبعد احداثيات DrawLineرقمين . yو xيحددا الخط نهاية احداثيات يحددا التاليين والرقمين والشيءللبدء
تنسيق ) أن هو الكمبيوتر رسومات مع لالهتمام من( 0، 0المثير اليسرى الزاوية أعلى في يبدأ. الثانى. الربع فى االطار احداثيات فعليا، النافذة
The co-ordinate map - 26الشكل
فمن ، الخطوط رسم برنامج إلى عدنا وإذاأن نالحظ أن لالهتمام Small Basicالمثير
اللون مثل الخط، خصائص تعديل لك يسمحهو وسمكه. كما األسطر لون نغير دعنا ، أوال
. أدناه البرنامج في موضح
باالمكان االلوان، اسماء استخدام من بدالالويب )# على المستعملة الطريقة استخدام
RRGGBB# .)مثالFF0000# و االسود FF0000للونو # االحمر، . FFFF00يعنى المزيد سنتعلم لالصفر
." ب " الملحق فى االلوان عن
GraphicsWindow.Width = 200GraphicsWindow.Height = 200GraphicsWindow.PenColor = "Green"GraphicsWindow.DrawLine(10, 10, 100, 100)GraphicsWindow.PenColor = "Gold"GraphicsWindow.DrawLine(10, 100, 100, 10)
Changing Line Color- 27الشكل
. إلى الخط عرض سنغير ، أدناه البرنامج في ايضا الخط حجم بتعديل لنقوم ، من 10واآلن بدال ، االفتراضي .1العرض
GraphicsWindow.Width = 200GraphicsWindow.Height = 200GraphicsWindow.PenWidth = 10GraphicsWindow.PenColor = "Green"GraphicsWindow.DrawLine(10, 10, 100, 100)GraphicsWindow.PenColor = "Gold"GraphicsWindow.DrawLine(10, 100, 100, 10)
Thick Colorful Lines - 28الشكل
PenWidth وPenColor يعدال . معا الخطوط هذه يرسم الذى القلم على خصائص فقط تؤثر ال وهيبعدها رسمه يتم شكل أي أيضا ولكن .الخطوط
GraphicsWindow.BackgroundColor = "Black"GraphicsWindow.Width = 200GraphicsWindow.Height = 160GraphicsWindow.PenColor = "Blue"
For i = 1 To 10 GraphicsWindow.PenWidth = i GraphicsWindow.DrawLine(20, i * 15, 180, i * 15)endfor
للقلم- 29الشكل متعددة احجام
بزيادة نقوم تكرار كل فى الحلقى، التكرار هو البرنامج هذا فى لالهتمام المثير عرض ) PenWidthالجزء. برسمه( قمنا خط آخر تحت جديد خط برسم نقوم وباستخدامه القلم
االشكال وتعبئة رسم . عملية شكل لكل العمليات من نوعان هناك يكون عادة األشكال، برسم األمر يتعلق ( Drawعندما الرسم)
(. Fillوعملية تقوم) التعبئة وعمليات القلم، باستخدام الشكل مخطط برسم تقوم الرسم عمليات التعبئة . رسمه يتم واحد مستطيالن، هناك ، أدناه البرنامج في المثال سبيل على فرشاة باستخدام الشكل بطالء
. خضراء فرشاة باستخدام طالئه يتم واآلخر األحمر القلم باستخدام
GraphicsWindow.Width = 400GraphicsWindow.Height = 300
GraphicsWindow.PenColor = "Red"GraphicsWindow.DrawRectangle(20, 20, 300, 60)
GraphicsWindow.BrushColor = "Green"GraphicsWindow.FillRectangle(60, 100, 300, 60)
والتعبئة - 30الشكل الرسم
. أرقام أربعة إلى تحتاج لتعبئته، أو مستطيل االحداثيات لرسم يمثال رقمين من yو xأول اليسرى الزاوية ألعلىال. . المستطيل ارتفاعها الرابع يحدد بينما المستطيل عرض يحدد الثالث على عدد نفسه الشيء ينطبق ، الواقع في
. أدناه البرنامج في موضح هو كما الناقص القطع وتعبئة رسم
GraphicsWindow.Width = 400GraphicsWindow.Height = 300
GraphicsWindow.PenColor = "Red"GraphicsWindow.DrawEllipse(20, 20, 300, 60)
GraphicsWindow.BrushColor = "Green"GraphicsWindow.FillEllipse(60, 100, 300, 60)
وتعبئة - 31الشكل Ellipsesرسم
. نفس تحديد عليك سيكون دوائر، ترسم أن تريد كنت إذا الدوائر احد ايضا هو الناقص القطع. واالرتفاع العرض
GraphicsWindow.Width = 400GraphicsWindow.Height = 300
GraphicsWindow.PenColor = "Red"GraphicsWindow.DrawEllipse(20, 20, 100, 100)
GraphicsWindow.BrushColor = "Green"GraphicsWindow.FillEllipse(100, 100, 100, 100)
دوائر- 32الشكل
السابع الفصلاألشكال مع المرح
. سابقا تعلمناه ما باستخدام قليال سنمرح الفصل هذا ما فى كل بين تجمع امثلة على الفصل هذا يحتوي. الشيقة البرامج بعض إلنشاء اآلن حتى تعلمته
Rectangalore. الحجم تزايد مع حلقى تكرار فى مستطيالت عدة برسم هنا نقوم
GraphicsWindow.BackgroundColor = "Black"GraphicsWindow.PenColor = "LightBlue"GraphicsWindow.Width = 200GraphicsWindow.Height = 200
For i = 1 To 100 Step 5 GraphicsWindow.DrawRectangle(100 - i, 100 - i, i * 2, i * 2)EndFor
Rectangalore- 33الشكل
Circtacular. مربعات من بدال دوائر برسم يقوم السابق، للبرنامج بديل البرنامج هذا
GraphicsWindow.BackgroundColor = "Black"GraphicsWindow.PenColor = "LightGreen"GraphicsWindow.Width = 200GraphicsWindow.Height = 200
For i = 1 To 100 Step 5 GraphicsWindow.DrawEllipse(100 - i, 100 - i, i * 2, i * 2)EndFor
Circtacular- 34الشكل
Randomizeالعملية يستخدم البرنامج ثم GraphicsWindow.GetRandomColorهذا للفرشاة عشوائية الوان لتعيين
العملية االحداثى Math.GetRandomNumberيستخدم . yو Xلتعيين هاتين دمج يمكن بالدوائر الخاص . تشغيلها يتم مرة كل فى مختلفة نتائج تعطى شيقة برامج خلق اجل من شيقة بطرق العمليتين
GraphicsWindow.BackgroundColor = "Black"
For i = 1 To 1000 GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor() x = Math.GetRandomNumber(640) y = Math.GetRandomNumber(480) GraphicsWindow.FillEllipse(x, y, 10, 10)EndFor
Randomize - 35الشكل
Fractalsمثلث برسم التالى البرنامج . fractalيقوم الـ عشوائية ارقام يمكن fractalمستخدما هندسى رسم هو
. مئات برسم البرنامج يقوم الحالة هذه فى بدقة االم الشكل يمثل منها كل اجزاء، عدة الى تقسيمه . هى و المثلثات ترى ان يمكنك ثوان لبضعة البرنامج تشغيل يتم انه بما و االم المثلث منها كل تمثل المثلثات
. نقاط مجرد من ببطء تتشكل
. لالستكشاف كتمرين لك سأتركه شرحه صعب نفسه المنطق
GraphicsWindow.BackgroundColor = "Black"x = 100y = 100
For i = 1 To 100000 r = Math.GetRandomNumber(3) ux = 150
uy = 30 If (r = 1) then ux = 30 uy = 1000 EndIf If (r = 2) Then ux = 1000 uy = 1000 EndIf x = (x + ux) / 2 y = (y + uy) / 2 GraphicsWindow.SetPixel(x, y, "LightGreen")EndFor
Triangle Fractal- 36الشكل
الـ تشكل هى و النقاط ترى ان تريد كنت بأستخدام fractalان الحلقى التكرار فى تأخير احداث يمكنك ببطء. Program.Delayالعملية البرنامج. هو هذا ثانية بالمللى التأخير مقدار بتحديد يقوم رقم تأخذ العملية هذه
. الغامق بالخط موضحا المعدل السطر مع المعدل
GraphicsWindow.BackgroundColor = "Black"
x = 100y = 100
For i = 1 To 100000 r = Math.GetRandomNumber(3) ux = 150 uy = 30 If (r = 1) then ux = 30 uy = 1000 EndIf If (r = 2) Then ux = 1000 uy = 1000 EndIf x = (x + ux) / 2 y = (y + uy) / 2 GraphicsWindow.SetPixel(x, y, "LightGreen") Program.Delay(2)EndFor
. . لذوقك االفضل هو ما لمعرفة مختلفة ارقام جرب ابطأ البرنامج سيجعل التأخير زيادة
: التالى السطر استبدال هو بالبرنامج عمله يمكنك اخر تعديل
GraphicsWindow.SetPixel(x, y, "LightGreen")
: السطر بـهذا
color = GraphicsWindow.GetRandomColor()GraphicsWindow.SetPixel(x, y, color)
. عشوائية أرقام بأستخدام المثلث من بكسل برسم البرنامج سيقوم التعديل بهذا
8الفصل
Turtle Graphics
Logoلغة بالـ تسمى الوقت، نفس فى قوية ولكن بسيطة برمجة لغة هناك كانت الماضى القرن من السبعينيات فى
Logo . ما بأضافة االشخاص احد قام حتى استخدامها واستمر الباحثين من قليل عدد قبل من تستخدم وكانت( “Turtle Graphicsيسمى “ اتاحة” ) و البرمجة لغة الى السلحفاة ( Turtleرسومات كانت” ) التى سلحفاة
مثل الوامر استجابت و الشاشة على ( Move Forwardمرئية ( ، قدما ( Turn Rightامضى ( ، يمينا TurnاستدرLeft ) الخ ) ، يسارا الـ. استدر . Logoباستخدام كان ذلك كل الشاشة على شيقة اشكال رسم الناس استطاع
شأنه لغة من جعل حد Logoوهذا الى مسؤولة وكانت األعمار، جميع من للناس وجذابة الفور على سهلة. الثمانينات الكبيرة شعبيتها عن كبير
Small Basic كائن ايضا ( Turtleتوفر برامج السلحفاة ) ضمن من استدعاؤها يمكن التي األوامر من العديد معSmall Basic .الـ نستخدم سوف ، الفصل هذا .Turtleفي الشاشة على للرسم
Turtleكائن السلحفاة ) جعل إلى بحاجة نحن ، بدء ذي . Turtleوبادئ ذلك( تحقيق ويمكن الشاشة على مرئية
. واحد سطر ذو بسيط برنامج خالل من
Turtle.Show()
االطار هذا باستثناء السابق، الفصل في رأيناه الذى مثل تماما ابيض، اطار ستالحظ البرنامج هذا تشغيل عندسلحفاة ) .Turtleلديه . منها( نطلبه ما كل ورسم تعليماتنا باتباع ستقوم السلحفاة هذه المركز في
االطار- 37الشكل فى ظاهرة السلحفاة
والتحريك الرسمامر هو السلحفاة تفهما التى التعليمات من (Move احد يبلغ. تحريك) الرقم وهذا واحد رقم تأخذ العملية هذه
. تتحرك ان السلحفاة من سنطلب التالى المثال فى ستنتقلها التى المسافة .100السلحفاة بكسل
Turtle.Move(100)
ببطء تتحرك السلحفاة الواقع في ترى ان يمكنك ، البرنامج هذا تشغيل . 100عند واثناء صعودا بكسل . تتوقف وعندما ورائها يُرسم خط ايضا يترى تحركها
للشكل مشابه نتيجة سترى الحركة عن السلحفاةالتالى.
السلحفاة ) عمليات داستخدام يجب( Turtleعن ال ، استدعاء Show(). The Turtle willبالضرورة
احد بتنفيذ تقوم عندما تلقائيا تظهر السلحفاءالعمليات.
بكسل- 38الشكل مئة السلحفاة تحريك
مربع رسم . السلحفاة جعل إلى بحاجة نحن مربع رسم أجل من أفقي واثنان رأسي اثنان وهما جوانب، أربع لديه المربع
. كان إذا األربعة الجوانب جميع من االنتهاء حتى ذلك ويستمر ، آخر خط وترسم يمينا تستدير ثم ، خطا ترسمكالتالى سيكون ، برنامج إلى هذا يترجم أن .لنا
Turtle.Move(100)Turtle.TurnRight()Turtle.Move(100)Turtle.TurnRight()Turtle.Move(100)Turtle.TurnRight()Turtle.Move(100)Turtle.TurnRight()
تبدو والنتيجة مرة، كل في واحد سطر مربعا، ترسم السلحفاة مشاهدة يمكنك ، البرنامج هذا تشغيل عند. أدناه كالشكل
مربعا – 39الشكل ترسم السلحفاة
على مرات أربع وتكرارا، مرارا تعليمات نفس من اثنين بإصدار نقوم أنما نالحظ أن لالهتمام المثير ومن . . مثال الحلقى التكرار باستخدام تنفيذها يمكن المتكررة األوامر هذه أن بالفعل سابقا تعلمنا لقد التحديد وجه
الحلقى التكرار ليستخدم وعدلناه أعاله المذكور البرنامج أخذنا ما المطاف. For..EndFor إذا نهاية فيبكثير ذلك من أبسط برنامج على .سنحصل
For i = 1 To 4 Turtle.Move(100) Turtle.TurnRight()EndFor
األلوان تغييرالرسومات اطار نفس فى بالرسم السلحفاة .GraphicsWindowتقوم السابق الفصل فى استخدمناه الذى
. فإن ، المثال سبيل على هنا صالحة زالت ما السابق الفصل في تعلمناها التي العمليات جميع أن يعني وهذا. جانب لكل مختلف لون ذو مربعا يرسم التالي البرنامج
For i = 1 To 4 GraphicsWindow.PenColor = GraphicsWindow.GetRandomColor() Turtle.Move(100) Turtle.TurnRight()EndFor
االلوان – 40الشكل تغيير
تعقيدا اكثر اشكال رسمعمليات الى ( Turtleكائن ، TurnLeftو TurnRightباالضافة عملية ) لديه (.Turnالسلحفاة االنعطاف )
( . ذو شكل مسدس شكل يرسم التالى البرنامج مثال، مضلع شكل اى رسم باالمكان العملية هذه باستخدام .) جوانب ستة
For i = 1 To 6 Turtle.Move(100) Turtle.Turn(60)EndFor
. هى جانب كل بين الزاوية ان بما أنه نالحظ مسدسا شكال حقا يرسم كان ان البرنامج هذا درجة، 60جربنستخدم . Turn(60) لذا
خالل من جانب كل بين الزاوية على بسهولة الحصول يمكن لذا الطول، فى متساوية جوانبه كل المضلع هذا. 360تقسيم عامة برنامجا نكتب أن يمكن المتغيرات، وباستخدام المعلوما هذه باستعمال الجوانب عدد على
الجوانب متساوى مضلع شكل أي لرسم .جدا
sides = 12
length = 400 / sidesangle = 360 / sides
For i = 1 To sides Turtle.Move(length) Turtle.Turn(angle)EndFor
المتغير تعديل طريق عن فقط مضلع أي رسم يمكنك البرنامج، هذا المتغير 4تعيين. sides باستخدام لهذا . مثال الكفاية، فيه بما كبيرة قيمة وضع اما مثال اول فى كما المربع رسم من يجعل 50سيمكننا أن شأنه من
. تماما دائرى تقريبا الرسم
ذو – 41الشكل مضلع جانب 12رسم
التقنية هذه يؤدى باستخدام مما قليل تحول مع مرة كل في متعددة دوائر ترسم السلحفاة نجعل أن يمكننا. لالهتمام مثيرة نتائج إلى
sides = 50length = 400 / sidesangle = 360 / sides
Turtle.Speed = 9
For j = 1 To 20 For i = 1 To sides Turtle.Move(length) Turtle.Turn(angle) EndFor
Turtle.Turn(18)EndFor
الحلقى التكرار من اثنين ينفذ السابق البرنامجFor..EndFor( . الداخلى. التكرار اآلخر داخل iواحد= 1 to sides )برسم ويقوم المضلع لبرنامج مشابه
الخارجى. ) التكرار عن( j = 1 to 20دائرة مسئول . برسم السلحفاة ويبلغ دائرة كل لرسم قليال السلحفاة . 20ادارة على نحصل معا، هذا كل وضع عند دائرة
. التالى الشكل مثل لالهتمام، مثير نمط
دوائر – 42الشكل فى التحرك
التحركالعملية باستخدام الرسم عن تتوقف السلحفاة جعل إلى . PenUpباالمكان السلحفاة بنقل لك يسمح هذا
. استدعاء خط رسم دون من الشاشة على مكان . PenDownأي ويمكن أخرى مرة ترسم سلحفاة سيجعل . برنامج يلي وفيما المنقطة خطوط رسم مثال ، لالهتمام المثيرة المؤثرات بعض على للحصول هذا استخدام
. منقطة جوانب ذى المضلع لرسم هذا يستخدم
sides = 6
length = 400 / sides
بشكل ترسم السلحفاة جعلنا أعاله، البرنامج فيإلى السرعة تحديد خالل من يمكنك. 9أسرع
بين قيمة أي إلى الخاصية هذه لجعل 10و 1تعيينتريدها التي بالسرعة تتحرك . السلحفاة
angle = 360 / sides
For i = 1 To sides For j = 1 To 6 Turtle.Move(length / 12) Turtle.PenUp() Turtle.Move(length / 12) Turtle.PenDown() EndFor Turtle.Turn(angle)EndFor
. يقوم بينما واحد، منقط خط يرسم الداخلى التكرار حلقيين تكرارين على البرنامج هذا يحتوى اخرى، مرة . المتغير قيمة بتحديد قمنا المثال هذا فى رسمها سيتم التتى الخطوط عدد بتحديد الخارجى بـ sidesالتكرار
6. باالسفل مبين هو كما مسدس شكله مضلع على بالحصول قمنا لذا ،
PenDownو PenUpاستخدام- 43الشكل
Chapter 9
الفرعية الروتينات
نفسمجموعة تشغيل فيها علينا سيتعين التي الحاالت بعض ستظهر برامج كتابة أثناء األحيان من كثير في . نفسها البيانات كتابة إلعادة معنى له يكون ال قد فإنه ، الحاالت هذه في وتكرارا مرارا ، الخطوات من
. تكون ذلك وعند عدة الفرعية مرات .Subroutines )الروتينات مفيدا(
هو الفرعى ويمكن الروتين ، جدا محدد شيء لفعل عادة أوسع برنامج فى البرمجية التعليات من جزء . تحديد يتم البرنامج في مكان أي من الكلمة الروتينات استدعاؤها يلي الذي االسم خالل من الفرعية
بكلمة Subالرئيسية اسمه. EndSubوينتهى روتين يمثل التالي المقتطف المثال، سبيل و PrintTimeعلى ، إلى الحالي الوقت في طباعة .TextWindowوظيفته
Sub PrintTime TextWindow.WriteLine(Clock.Time)EndSub
. أماكن عدة من باستدعائه ويقوم الفرعى الروتين يتضمن برنامج أدناه
PrintTime()TextWindow.Write("Enter your name: ")name = TextWindow.Read()TextWindow.Write(name + ", the time now is: ")PrintTime()
Sub PrintTime TextWindow.WriteLine(Clock.Time)EndSub
بسيط- 44الشكل فرعى روتين استدعاء
استدعاء بواسطة فرعى روتين بتنفيذ SubroutineName)(( SubroutineName)تقوم الفرعى الروتين اسم هو. فرعى ")(" روتين تنفيذ تريد الكمبيوترانك لتعريف ضرورية العالمات العادة جرت وكما
الفرعية الروتينات استخدام فوائد. ستكتبها التى البرمجية التعليمات كمية من التقليل على تساعد الفرعية الروتينات ، أعاله للتو رأينا كما
روتين كتابة من االنتهاء بطباعة PrintTimeبمجرد يقوم وسوف البرنامج في مكان أي من استدعائه يمكنك ، . الحالي الوقت
قطع إلى المعقدة المشاكل تحليل على تساعد أن يمكن الفرعية الروتينات ذلك، إلى وباإلضافةالمعادلة. من صغيرة قطع لحل فرعية روتينات عدة كتابة يمكنك معقدة معادلة لديك كان ان مثال، ابسط
. األصلية. المعقدة المعادلة حل على للحصول معا النتائج وضع يمكنك ثم ومن المعقدة
سهولة تساعد تحسين على ايضا الفرعية الروتينات . للروتينات جيدة اسماء لديك كان اذا البرنامج قراءة
فان بالبرنامج، كثيرا تعمل التى لالجزاء الفرعية . هذا ويكون والفهم القراءة سهل يصير البرنامج
آخر شخص برنامج تفهم أن تريد كنت إذا جدا مهما. اآلخرين قبل من مفهوما برنامجك تريد كنت إذا أو
كتباتك من اسبوع بعد مثال بك الخاص البرنامج قراءة تريد كنت عندما مفيدا حتى يكون األحيان بعض وفيله.
المتغيرات استخدام . يقبل ذلك، على وكمثال فرعى روتين ضمن من برنامج في لديك متغير أي واستخدام إلى الوصول يمكنك
. المتغير أن الحظ أكبرهما ويطبع رقمين التالي . maxالبرنامج للروتين وخارج داخل في يستخدم
TextWindow.Write("Enter first number: ")num1 = TextWindow.ReadNumber()TextWindow.Write("Enter second number: ")num2 = TextWindow.ReadNumber()
FindMax()TextWindow.WriteLine("Maximum number is: " + max)
Sub FindMax If (num1 > num2) Then max = num1
روتين استدعاء يمكنك من SmallBasic تذكر، . من روتين استدعاء يمكنك ال نفسه البرنامج داخل
آخر برنامج .ضمن
Else max = num2 EndIfEndSub
التالى يشبه البرنامج هذا .وناتج
فرعى- 45الشكل روتين باستخدام رقمين اكبر
. باستخدام سنقوم المرة هذه الفرعية الروتينات استخدام كيفية توضيح شأنه من آخر مثال في ننظر دعونامتغيرات في تخزينها يتم مختلفة نقاط يحسب رسومات روتين. yو xبرنامج باستدعاء يقوم ثم
DrawCircleUsingCenter باستخدام دائرة رسم عن .yو xالمسؤول الدائرة لمركز
GraphicsWindow.BackgroundColor = "Black"GraphicsWindow.PenColor = "LightBlue"GraphicsWindow.Width = 480For i = 0 To 6.4 Step 0.17 x = Math.Sin(i) * 100 + 200 y = Math.Cos(i) * 100 + 200 DrawCircleUsingCenter()EndFor
Sub DrawCircleUsingCenter startX = x - 40 startY = y - 40 GraphicsWindow.DrawEllipse(startX, startY, 120, 120)EndSub
الرسومات- 46الشكل باستخدام الفرعية للروتينات مثال
دائرى تكرار داخل من فرعى روتين استدعاءاستدعاء يتم فرعى أحيانا داخل روتين دائرى من البيانات تكرار نفس بتنفيذ يقومون الوقت ذلك خالل ،
. يدعى روتين لديك كان إذا المثال، سبيل على المتغيرات من أكثر أو لواحد مختلفة قيم مع ولكنPrimeCheck . للمستخدم يتيح برنامج كتابة يمكنك ال ام أولى عدد المعطى الرقم كان ان يحدد الروتين وهذا
. أدناه البرنامج الروتين هذا باستخدام وذلك ، ال ام اولى عدد كان إذا ذلك بعد القول ويمكن قيمة إدخال. ذلك يوضح
TextWindow.Write("Enter a number: ")i = TextWindow.ReadNumber()isPrime = "True"PrimeCheck()If (isPrime = "True") Then TextWindow.WriteLine(i + " is a prime number")Else TextWindow.WriteLine(i + " is not a prime number")EndIf
Sub PrimeCheck For j = 2 To Math.SquareRoot(i) If (Math.Remainder(i, j) = 0) Then isPrime = "False" Goto EndLoop
EndIf EndforEndLoop:EndSub
قيمة PrimeCheckروتين . iيأخذ بقسمة قمنا إذا اصغر أرقام على يقسمه ان ويحاول ،i رقم يوجد على ولمفـ . iباقي قيمة بتعيين الروتين يقوم النقطة هذه عند اولى رقم . "False"الى isPrimeليس ) إذا ) ويخرج خطأ
قيمة تبقى أصغر أعداد على للقسمة قابل غير الرقم : isPrimeكان هى (."True"كما صحيح )
االولية- 47الشكل االرقام اختبار
مثال االولية االرقام جميع لمعرفة استخدامه باالمكان االولية، االرقام باختبار يقوم روتين لدينا اننا بما اآلنمن الستدعاء. 100االصغر بسهولة السابق البرنامج تعديل . PrimeCheckيمكننا عندها حلقى تكرار داخل
. . التالى المثال فى ذلك عمل كيفية لترى تكرار كل عند مختلفة قيمة باستخدام الروتين يقوم
For i = 3 To 100 isPrime = "True" PrimeCheck() If (isPrime = "True") Then TextWindow.WriteLine(i) EndIfEndFor
Sub PrimeCheck For j = 2 To Math.SquareRoot(i) If (Math.Remainder(i, j) = 0) Then isPrime = "False" Goto EndLoop EndIf EndforEndLoop:EndSub
قيمة تعديل يتم السابق البرنامج . iفى الفرعى الروتين باستدعاء نقوم الحلقى التكرار داخل تكرار كل معPrimeCheck .قيمة كانت ان بتحديد ذلك بعد الروتين هذا فى . iيقوم النتيجة تخّزن ذلك بعد ال ام اولى لرقم
. isPrimeالمتغير قيمة طباعة يتم بعدها الحلقى التكرار خارج من اليه الوصول يتم لرقم iوالذى كانت انمن. يتم التكرار ان وبما من 100الى 3اولى الوليم االرقام جميع على الحصول فيتم .100الى 3، ايضا
. البرنامج نتيجة باالسفل
االولية- 48الشكل االعداد
10الفصل الصفائف
وقتا - تقضى انك بد ال الحد هذا إلى وصلنا ان بعد المتغيرات باستخدام جيدة دراية على تكون أن يجب اآلنكذلك؟ أليس طيبا،
: المتغيرات باستخدام كتبناه برنامج أول في النظر نعيد دعونا
TextWindow.Write("Enter your Name: ")name = TextWindow.Read()TextWindow.WriteLine("Hello " + name)
يسمى متغير فى تخزينه وتم المستخدم اسم تلقينا البرنامج، هذا قلنا. "nameفي الحق وقت "Helloفي - . ) مثال) واحد مستخدم من أكثر هناك ان نقول دعونا ، اآلن للمستخدم . 5مرحبا نقوم كيف مستخدمين
هي : بذلك للقيام الطرق احد أسمائهم؟ جميع بتخزين
TextWindow.Write("User1, enter name: ")name1 = TextWindow.Read()TextWindow.Write("User2, enter name: ")name2 = TextWindow.Read()TextWindow.Write("User3, enter name: ")name3 = TextWindow.Read()TextWindow.Write("User4, enter name: ")name4 = TextWindow.Read()TextWindow.Write("User5, enter name: ")name5 = TextWindow.Read()
TextWindow.Write("Hello ")TextWindow.Write(name1 + ", ")TextWindow.Write(name2 + ", ")TextWindow.Write(name3 + ", ")TextWindow.Write(name4 + ", ")TextWindow.WriteLine(name5)
: التالى على نحصل البرنامج هذا تشغيل عند
الصفائف- 49الشكل استخدام بدون
ان وخاصة كذلك؟ أليس البسيط، البرنامج هذا مثل لكتابة أفضل طريقة هناك تكون أن يجب بوضوحنفسها البرمجية التعليمات كتابة مع عناء علينا ينبغي لماذا ، المتكررة المهام ممارسة في حقا جيد الكمبيوتر
بستخدام واحد مستخدم اسم من أكثر واسترجاع تخزين هو هنا الحيلة جديد؟ مستخدم لكل وتكرارا مرارا . الحلقى التكرار استخدام ايضا فيمكننا بذلك القيام نستطيع كنا اذا المتغير في Forنفس تعلمناه الذى
. . الصفائف فيه تساعدنا سوف ما هذا السابقة الفصول
الصفيف هو ؟ما . هو نعنيه ما واحد وقت في واحدة قيمة من أكثر تحمل أن يمكن التي المتغيرات من خاص نوع هو الصفيف
إنشاء إلى االضطرار من بدال أسماء name5و name4و name3و name2و name1أنه لتخزينمتغير استخدام باالمكان ، الخمسة .nameالمستخدمين الخمسة المستخدمين كافة اسم اسم لتخزين فقط
." مثال، " الفهرس بـ يسمى ما باستخدام نقوم متعددة قيم لتخزين name[3]و name[2]و name[1]الطريقة. name[5]و name[4]و االرقام قيمة لتخزين تستعمل منها .5و 4و 3و 2و 1كل " الصفيف " فهارس تسمى
ان كلها name[5]و name[4]و name[3]و name[2]و name[1]مع متغير، تبدو من اكثر تستعمل كأنها . صفيف فى القيم لتخزين ميزة افضل ذلك؟ من الفائدة هى ما تسأل وقد واحد متغير كلها هى الحقيقة فى
تكرار داخل بسهولة الصفائف الى بالوصول لك يسمح بما آخر متغير باستخدام فهرس تحديد يمكنك أنه هودائرى.
باستخدام السابق برنامجنا كتابة إلعادة الجديدة المعلومات هذه وضع يمكننا كيف نرى دعونا ، واآلنالمصفوفات.
For i = 1 To 5 TextWindow.Write("User" + i + ", enter name: ") name[i] = TextWindow.Read()EndFor
TextWindow.Write("Hello ")For i = 1 To 5 TextWindow.Write(name[i] + ", ")EndForTextWindow.WriteLine("")
. يقرأ والثانى الصفيف فى القيمة يخزن االول العريض بالخط السطرين الحظ كذلك؟ اليس كثيرا، اسهل. الصفيف من القيمة
فى تخزينها يتم التى فى name[2]القيمة المخزنة بتلك تتأثر يمكنك. name[1]لن الحاالت معظم فى لذا. name[2]و name[1] اعتبار الهوية بنفس ولكن مختلفان متغيران
الصفائف- 50الشكل استخدام
نهاية في الفاصلة باستثناء ، المصفوفات دون من واحد تقريبا نفسها النتيجة يعطي أعاله .Mantis البرنامج: الطباعة تكرار كتابة اعادة خالل من ذلك تصليح ويمكننا
TextWindow.Write("Hello ")For i = 1 To 5 TextWindow.Write(name[i]) If i < 5 Then TextWindow.Write(", ") EndIfEndForTextWindow.WriteLine("")
صفيف فهرسة . ولكن الصفيف من القيم واسترجاع لتخزين وفهارس أرقام باستخدام قمنا كيف رأيت السابق برنامجنا في
. . ، المثال سبيل على ايضا النصية الفهارس استخدام جدا مفيدا يكون فقط األرقام على الفهارس تقتصر ال
التى المعلومات بطباعة نقوم ذلك وبعد المستخدم عن مختلفة معلومات ونخزن نسأل التالي، البرنامج في. المستخدم يطلبها
TextWindow.Write("Enter name: ")user["name"] = TextWindow.Read()TextWindow.Write("Enter age: ")user["age"] = TextWindow.Read()TextWindow.Write("Enter city: ")user["city"] = TextWindow.Read()TextWindow.Write("Enter zip: ")user["zip"] = TextWindow.Read()
TextWindow.Write("What info do you want? ")index = TextWindow.Read()TextWindow.WriteLine(index + " = " + user[index])
رقمية- 51الشكل غير فهارس استخدام
واحد بعد من أكثربهم الخاصة الهواتف أرقام عن البحث على قادر تكون ثم ومن اصدقائك جميع هاتف ورقم اسم تخزين تريد
. البرنامج؟ - هذا مثل تكتب كيف الهاتف دليل مثل حاجة في كنت كلما
. ) أننا ) نفترض المعنية الصفيف بعد باسم أيضا المعروف الفهارس من مجموعتين هناك ، الحالة هذه في . . األول الفهرس استخدام وبمجرد الصفيف في األول فهرسنا هذا يصبح اللقب طريق عن صديق كل نحدد
هو الثانى الفهرس يصبح ، صديقنا متغير على االسم phoneاو nameللحصول على الحصول على ويساعدناالصديق لهذا الهاتف ورقم .الكامل
هذا : مثل سيكون البيانات هذه تخزين طريقة
friends["Rob"]["Name"] = "Robert"friends["Rob"]["Phone"] = "555-6789"
friends["VJ"]["Name"] = "Vijaye"friends["VJ"]["Phone"] = "555-4567"
friends["Ash"]["Name"] = "Ashley"friends["Ash"]["Phone"] = "555-2345"
الصفيف لنفس فهرسين هناك . friendsألن : االبعاد ثنائى صفيف الصفيف هذا يسمى ،
المعلومات كل بطباة نقوم وبعدها االدخال فى اللقب استخدام بامكاننا البرنامج، هذا باعداد قمنا متى . عنهم ذلك :المخزنة يفعل الذى الكامل البرنامج يلي وفيما
friends["Rob"]["Name"] = "Robert"friends["Rob"]["Phone"] = "555-6789"
friends["VJ"]["Name"] = "Vijaye"friends["VJ"]["Phone"] = "555-4567"
friends["Ash"]["Name"] = "Ashley"friends["Ash"]["Phone"] = "555-2345"
TextWindow.Write("Enter the nickname: ")nickname = TextWindow.Read()
TextWindow.WriteLine("Name: " + friends[nickname]["Name"])TextWindow.WriteLine("Phone: " + friends[nickname]["Phone"])
A simple phone book- 52الشكل
الشبكات لتمثيل الصفائف استخدام . صفوف لها الجداول والجداول الشبكات تمثيل هو االبعاد المتعددة للصفائف الشائعة االستخدانات احد
. االبعاد ثنائى صفيف تناسب لذا :واعمدة شبكة داخل صناديق يرتب بسيط برنامج وهنا
rows = 8columns = 8size = 40
For r = 1 To rows
For c = 1 To columns GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor() boxes[r][c] = Shapes.AddRectangle(size, size) Shapes.Move(boxes[r][c], c * size, r * size) EndForEndFor
شبكة لتشكيل ويرتبها مستطيالت يضيف البرنامج أيضا. 8×8هذا فإنه ، الصناديق هذه وضع الى باالضافة . عند أخرى مرة واستخدامها الصناديق هذه تتبع لتسهيل وذلك صفيف في الصناديق هذه ببتخزين يقوم
. إليها الحاجة
شبكة- 53الشكل فى الصناديق ترتيب
هذه تجعل أن شأنها من السابق البرنامج لنهاية التالية البرمجية التعليمات إضافة ، المثال سبيل على. اليسرى الزاوية ألعلى تتحرك المربعات
For r = 1 To rows For c = 1 To columns Shapes.Animate(boxes[r][c], 0, 0, 1000) Program.Delay(300) EndForEndFor
الشبكة - 54الشكل في المربعات تتبع
11الفصل والتف�اع�ل األح�داث
. بعض ، والعمليات الخصائص إلى باإلضافة وعمليات خصائص لديها التي الكائنات قدمنا ، فصلين اول فيباألحداث ) يسمى ما توفر ردا(. Eventsالكائنات ، المثال سبيل على ُرفعت، التي اإلشارات مثل األحداث
. . العمليات عكس هى األحداث ما، بمعنى عليه الضغط أو الماوس تحريك مثل ، المستخدم إجراءات علىالكمبيوتر ، األحداث حالة في بينما ، بشيء القيام الكمبيوتر لجعل يستدعيها هو المبرمج العملية، حالة في
. لالهتمام شيء هناك يكون عندما يعرفك الذى هو
مفيدة األحداث تكون ؟كيف . ، البرنامج مع التفاعل للمستخدم تتيح أن تريد كنت إذا البرنامج في التفاعل إلدخال اساسية األحداث . أن للمستخدم تسمح ان تريد سوف تو، تاك تيك لعبة تكتب كنت لو مثال ستستخدمها التي هي األحداث
. وإذا بك الخاص البرنامج داخل من المستخدم إدخال تتلقى ان لك تتيح االحداث كذلك؟ أليس دوره، يختارأن شأنه من جدا بسيط مثال على نظرة سنلقي ، تقلق ال وهلة، اول من فهم الصعب من يبدو هذا كان
. استخدامها يمكن وكيف هي، ما األحداث، فهم على يساعدك
. عملية يستخدم الروتين واحد فرعى وروتين فقط واحد بيان لديه جدا بسيط برنامج ShowMessageأدناه.GraphicsWindowعلى للمستخدم رسالة مربع يعرض لكى
GraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown GraphicsWindow.ShowMessage("You Clicked.", "Hello")EndSub
الحدث إلى روتين اسم بتعيين فيه قمنا الذي السطر هو أعاله البرنامج في لالهتمام المثير الجزءMouseDown كائن أن. GraphicsWindowمن من - MouseDownستالحظ بدال أنه إال خاصية مثل كثيرا يبدو
روتين بتعيين قمنا ما، قيمة . - OnMouseDownتعيين هذا يحدث عندما األحداث فى ما اهم هو ما هذا إليها . روتين استدعاء يتم ، الحالة هذه في تلقائيا الروتين استدعاء يتم ، ينقر OnMouseDownالحدث مرة كل في
على الماوس باستخدام . GraphicsWindowالمستخدم زر. تنقر وقت أي البرنامج تشغيل بنفسك جرب اآلنعلى .GraphicsWindowالفأرة ادناه الصورة في مبين هو غرار على رسالة مربع سترى ،
لحدث- 55الشكل االستجابة
. بهذه المكتوبة البرامج لالهتمام ومثيرة جدا خالقة برامج بانشاء تسمح االحداث مع التعامل فى الطريقة هذااحداث ) الى مستندة برامج تسمى ما غالبا (.event-driven programmingالطريقة
روتين تعديل . OnMouseDownبامكانك كما ، المثال سبيل على رسالة مربع اظهار غير أخرى أشياء لفعلعلى بالنقر المستخدم فيه يقوم الذى الموقع فى كبيرة زرقاء نقاط رسم يمكنك ، أدناه البرنامج في
الماوس.
GraphicsWindow.BrushColor = "Blue"GraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown x = GraphicsWindow.MouseX - 10 y = GraphicsWindow.MouseY - 10 GraphicsWindow.FillEllipse(x, y, 20, 20)EndSub
حدث – 56الشكل مع MouseDownالتعامل
،استخدمنا أعاله البرنامج في أنه . MouseYو MouseXالحظ استخدمنا ثم الماوس احداثيات على للحصول. لرسمها الدائرة كمركز االحداثيات هذه
متعددة أحداث مع التعامل . واحد فرعى روتين استخدام حتى الممكن من معها التعامل تريد التي األحداث لعدد حدود ال الحقيقة فى
. . من اثنين تعيين حاولت إذا فقط واحدة مرة الحدث هذا مع التعامل يمكنك ولكن متعددة أحداث لمعالجة. الثاني سيفوز نفسه، الحدث إلى الفرعية الروتينات
. هذا لنجعل ، أيضا المفاتيح على الضغط مع للتعامل فرع روتين نضيف السابق المثال لنأخذ ، هذا لتوضيحلون على تحصل سوف فإنك ، بك الخاص بالماوس النقر عند بحيث ، الفرشاة لون يغير الجديد الروتين
. نقطة لكل مختلف
GraphicsWindow.BrushColor = "Blue"GraphicsWindow.MouseDown = OnMouseDownGraphicsWindow.KeyDown = OnKeyDown
Sub OnKeyDown GraphicsWindow.BrushColor = GraphicsWindow.GetRandomColor()EndSub
Sub OnMouseDown x = GraphicsWindow.MouseX - 10 y = GraphicsWindow.MouseY - 10
GraphicsWindow.FillEllipse(x, y, 20, 20)EndSub
متعددة - 57الشكل أحداث مع التعامل
. أي على ضغطت إذا ، اآلن زرقاء نقطة على ستحصل ، االطار على والنقر البرنامج هذا بتشغيل قمت إذا . على الضغط عند يحدث الذي مختلفة ملونة نقطة على ستحصل ، أخرى مرة وانقر واحدة مرة مفتاح
روتين تنفيذ يتم أنه هو . OnKeyDownمفتاح النقر عند ذلك بعد عشوائي لون إلى الفرشاة لون يغير الذي. عشوائيا اختياره تم الذى الجديد اللون باستخدام الدائرة رسم يتم ، الفأرة على
الرسم برنامج . فمن االطار على الرسم للمستخدمين يتيح برنامج كتابة اآلن يمكننا ، الفرعية والروتينات لألحداث بفهمنا
. بكتابة لنبدأ ، أولى كخطوة اصغر قطع إلى المشكلة بتقسيم قمنا اذا البرنامج هذا مثل كتابة أن جدا السهليتم أينما أثر وراءه تاركا الرسومات، اطار على مكان أي في الماوس تحريك للمستخدمين يسمح برنامج
. الماوس تحريك
GraphicsWindow.MouseMove = OnMouseMove
Sub OnMouseMove x = GraphicsWindow.MouseX y = GraphicsWindow.MouseY GraphicsWindow.DrawLine(prevX, prevY, x, y) prevX = x prevY = y
EndSub
االحداثى ) عند االطار من العليا اليسرى الحافة من دائما يبدأ األول الخط ، البرنامج هذا تشغيل عند ولكنالحدث(. 0، 0 مع التعامل طريق عن المشكلة هذه حل قيمة MouseDownيمكننا prevYو prevXوالتقاط
. الحدث يأتى عندما . على الحصول أجل من باستمرار مضغوطا الماوس زر يكون عنما الخط لرسم فقط بحاجة حقا نحن أيضا،
الخاصية نستخدم سوف االيسر. Mouseلكائن IsLeftButtonDownهذا، الزر كان ان تبلغنا الخاصية هذه. الخط . بتخطي سنقوم يكن لم إن ، خط برسم سنقوم صحيحة القيمة هذه كانت إذا ال أم مضغوطا للماوس
GraphicsWindow.MouseMove = OnMouseMoveGraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown prevX = GraphicsWindow.MouseX prevY = GraphicsWindow.MouseYEndSub
Sub OnMouseMove x = GraphicsWindow.MouseX y = GraphicsWindow.MouseY If (Mouse.IsLeftButtonDown) Then GraphicsWindow.DrawLine(prevX, prevY, x, y) EndIf prevX = x prevY = yEndSub
" أ " ملحقمرحة أمثلة
Fractal السلحفاة
شجرة Turtle- 58الشكل fractalترسم
angle = 30delta = 10
distance = 60Turtle.Speed = 9GraphicsWindow.BackgroundColor = "Black"GraphicsWindow.PenColor = "LightGreen"DrawTree()
Sub DrawTree If (distance > 0) Then Turtle.Move(distance) Turtle.Turn(angle) Stack.PushValue("distance", distance) distance = distance - delta DrawTree() Turtle.Turn(-angle * 2) DrawTree() Turtle.Turn(angle) distance = Stack.PopValue("distance") Turtle.Move(-distance) EndIfEndSub
من Flickrصور
من- 59الشكل صور Flickrاسترداد
GraphicsWindow.BackgroundColor = "Black"GraphicsWindow.MouseDown = OnMouseDown
Sub OnMouseDown pic = Flickr.GetRandomPicture("mountains, river") GraphicsWindow.DrawResizedImage(pic, 0, 0, 640, 480)EndSub
المكتب لسطح ديناميكية خلفية
For i = 1 To 10 pic = Flickr.GetRandomPicture("mountains") Desktop.SetWallPaper(pic) Program.Delay(10000)EndFor
المضرب لعبة
المضرب- 60الشكل لعبة
GraphicsWindow.BackgroundColor = "DarkBlue"paddle = Shapes.AddRectangle(120, 12)ball = Shapes.AddEllipse(16, 16)GraphicsWindow.MouseMove = OnMouseMove
x = 0y = 0deltaX = 1deltaY = 1
RunLoop: x = x + deltaX y = y + deltaY gw = GraphicsWindow.Width gh = GraphicsWindow.Height If (x >= gw - 16 or x <= 0) Then deltaX = -deltaX EndIf If (y <= 0) Then
deltaY = -deltaY EndIf padX = Shapes.GetLeft (paddle) If (y = gh - 28 and x >= padX and x <= padX + 120) Then deltaY = -deltaY EndIf Shapes.Move(ball, x, y) Program.Delay(5) If (y < gh) Then Goto RunLoop EndIf
GraphicsWindow.ShowMessage("You Lose", "Paddle")
Sub OnMouseMove paddleX = GraphicsWindow.MouseX Shapes.Move(paddle, paddleX - 60, GraphicsWindow.Height - 12)EndSub
" ب " ملحقاأللوان
فى المستخدمة األلوان اسماء قائمة هى .Small Basicهذه اللون قاعدة حسب مصنفة ،
الحمراء األلوانIndianRed#CD5C5C
LightCoral#F08080
Salmon#FA8072
DarkSalmon#E9967A
LightSalmon#FFA07A
Crimson#DC143C
Red#FF0000
FireBrick#B22222
DarkRed#8B0000
الوردية األلوانPink#FFC0CB
LightPink#FFB6C1
HotPink#FF69B4
DeepPink#FF1493
MediumVioletRed#C71585
PaleVioletRed#DB7093
البرتقالية األلوانLightSalmon#FFA07A
Coral#FF7F50
Tomato#FF6347
OrangeRed#FF4500
DarkOrange#FF8C00
Orange#FFA500
الصفراء األلوانGold#FFD700
Yellow#FFFF00
LightYellow#FFFFE0
LemonChiffon#FFFACDLightGoldenrodYello
w#FAFAD2
PapayaWhip#FFEFD5
Moccasin#FFE4B5
PeachPuff#FFDAB9
PaleGoldenrod#EEE8AA
Khaki#F0E68C
DarkKhaki#BDB76B
القرمزية األلوانLavender#E6E6FA
Thistle#D8BFD8
Plum#DDA0DD
Violet#EE82EE
Orchid#DA70D6
Fuchsia#FF00FF
Magenta#FF00FF
MediumOrchid#BA55D3
MediumPurple#9370DB
BlueViolet#8A2BE2
DarkViolet#9400D3
DarkOrchid#9932CC
DarkMagenta#8B008B
Purple#800080
Indigo#4B0082
SlateBlue#6A5ACD
DarkSlateBlue#483D8B
MediumSlateBlue#7B68EE
الخضراء األلوانGreenYellow#ADFF2F
Chartreuse#7FFF00
LawnGreen#7CFC00
Lime#00FF00
LimeGreen#32CD32
PaleGreen#98FB98
LightGreen#90EE90
MediumSpringGreen#00FA9A
SpringGreen#00FF7F
MediumSeaGreen#3CB371
SeaGreen#2E8B57
ForestGreen#228B22
Green#008000
DarkGreen#006400
YellowGreen#9ACD32
OliveDrab#6B8E23
Olive#808000
DarkOliveGreen#556B2F
MediumAquamarine#66CDAA
DarkSeaGreen#8FBC8F
LightSeaGreen#20B2AA
DarkCyan#008B8B
Teal#008080
الزرقاء األلوانAqua#00FFFF
Cyan#00FFFF
LightCyan#E0FFFF
PaleTurquoise#AFEEEE
Aquamarine#7FFFD4
Turquoise#40E0D0
MediumTurquoise#48D1CC
DarkTurquoise#00CED1
CadetBlue#5F9EA0
SteelBlue#4682B4
LightSteelBlue#B0C4DE
PowderBlue#B0E0E6
LightBlue#ADD8E6
SkyBlue#87CEEB
LightSkyBlue#87CEFA
DeepSkyBlue#00BFFF
DodgerBlue#1E90FF
CornflowerBlue#6495ED
MediumSlateBlue#7B68EE
RoyalBlue#4169E1
Blue#0000FF
MediumBlue#0000CD
DarkBlue#00008B
Navy#000080
MidnightBlue#191970
البنية األلوانCornsilk#FFF8DC
BlanchedAlmond#FFEBCD
Bisque#FFE4C4
NavajoWhite#FFDEAD
Wheat#F5DEB3
BurlyWood#DEB887
Tan#D2B48C
RosyBrown#BC8F8F
SandyBrown#F4A460
Goldenrod#DAA520
DarkGoldenrod#B8860B
Peru#CD853F
Chocolate#D2691E
SaddleBrown#8B4513
Sienna#A0522D
Brown#A52A2A
Maroon#800000
البيضاء األلوانWhite#FFFFFF
Snow#FFFAFA
Honeydew#F0FFF0
MintCream#F5FFFA
Azure#F0FFFF
AliceBlue#F0F8FF
GhostWhite#F8F8FF
WhiteSmoke#F5F5F5
Seashell#FFF5EE
Beige#F5F5DC
OldLace#FDF5E6
FloralWhite#FFFAF0
Ivory#FFFFF0
AntiqueWhite#FAEBD7
Linen#FAF0E6
LavenderBlush#FFF0F5
MistyRose#FFE4E1
الرمادية األلوانGainsboro#DCDCDC
LightGray#D3D3D3
Silver#C0C0C0
DarkGray#A9A9A9
Gray#808080
DimGray#696969
LightSlateGray#778899
SlateGray#708090
DarkSlateGray#2F4F4F
Black#000000