89
Microsoft Small Basic ة ج م ر ب ل ا ى ف ة م د ق م

Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

Embed Size (px)

Citation preview

Page 1: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

Microsoft Small Basic

م�ق�د�م�ة� ف�ى� ا�ل�ب�ر�م�ج�ة�

Page 2: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

1الفصل مقدم��ة

Small Basic والب��رمج�����ة . او االسبانية او االنجليزية ونتحدث نفهم كما البرمجة لغة باستخدام برنامج تكوين عملية هى البرمجة

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

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

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

Small Basic . الهدف للمبتدئين بالنسبة وممتعة للغاية سهلة البرمجة لجعل خصيصا مصممة برمجة لغة هو. Small Basicمن الرائع البرمجة عالم الى االولى الخطوات وتوفير الحاجز كسر

بال� الخاصة Small Basicالبيئةبـ الخاصة البيئة فى سريعة بمقدمة تشغيل. Small Basicلنبدأ تبدأ مماثل Small Basicعندما اطار ترى سوف

. التالى التوضيحى للرسم

Page 3: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

ب� 1الشكل الخاصة Small Basicالبيئة

بالــ الخاصة البيئة هى الــ Small Basicهذه برامج وتشغيل بكتابة فيها تقوم سوف هذه. Small Basicالتى. باالرقام تعريفها تم التى العناصر من العديد تشمل الييئة

بــ ) معرف الــ( 1المحرر، برامج بكتابة فيه سنقوم الذى المكان نموذج. Small Basicهو بفتح تقوم عندما. Templateلبرنامج ) تعديله( ذلك بعد يمكنك المحرر هذا على يظهر سوف مسبقا، حفظه تم برنامج او

. بعد فيما لالستخدام وحفظه

. عرضه سيتم بتشغيله تقوم برنامج كل واحد وقت فى برنامج من اكثر وتشغيل بفتح تقوم ان ايضا يمكنك . . النشط المحرر بــ يسمى حاليا بتشغيله تقوم الذى البرنامج على يحتوى الذى المحرر منفصل محرر فى

المعرفب ) االدوات، . 2شريط نتعلم( سوف البيئة الى او النشط المحرر الى اما اوامر اصدار فى يستخدم. الحقا االدوات شريط فى المختلفة االوامر

بـ ) المعرف .3السطح، المحرر( اطارات فيه تظهر الذى المكان هو

االول برنامجنامالوفا اصبحت انك بــ بالبما الخاصة . Small Basicبيئة المحرر اعاله، موضح هو كما فيها البرمجة نبدا سوف ،

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

TextWindow.WriteLine("Hello World")

1

3

2

Page 4: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

الـ فى االول برنامجنا هو للرسم . Small Basicهذا مماثال شيئا ترى سوف صحيحا، بكتابته قمت ولو. اسفل التوضيحى

برنامج- 2الشكل اول

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

. . اسفل موضح هو كما النتائج وستكون برنامجنا تشغيل سيتم يرام، ما على تم شىء كل لو المفاتيح لوحة

لبرنامج – 3الشكل اخراج اول

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

الفصل – فى يفعل؟ ماذا الكمبيوتر جهاز عرف وكيف الكبيوتر لجهاز قلنا ماذا حدث ماذا نفهم ان يجب. يحدث ماذا نفهم لكى بكتابته، قمنا الذى البرنامج بتحليل سنقوم التالى،

Page 5: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

Intellisense - 4الشكل

برنامجنا حفظالــ تغلق ان اردت ان Small Basicاذا يمكنك الحق، وقت فى كتابته من انتهيت الذى البرنامج بتشغيل وتقوم

. ايقاف حالة فى المعلومات تفقد ال حتى مفيدة عادة آلخر ان من البرامج حفظ ايضا البرنامج تحفظ . رمز على بالنقر الحالى برنامجك بحفظ تقوم ان يمكنك الطاقة انقطاع حالة فى او الطارىء التشغيل

” " االختصار" باستخدام او االدوات بشريط الموجود مفتاح” ) Ctrl+Sحفظ على استمرارية Sاضغط معمفتاح على (. Ctrlالضغط

Page 6: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

2الفصل االول برنامجنا فهم

الكمبيوتر؟ برنامج هو ما . بالتفصيل، يفعل ماذا للكمبيوتر تحدد االوامر هذه الكمبيوتر الى الموجهة االوامر من مجموعة هو البرنامج

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

Basic. منها واحدة

. المعلومات لنقل جمل هيئة فى كلمات ستستخدمون واصدقاؤك انت صديقك وبين بينك مناقشة تخيللنقل. جمل هيئة فى تنظيمها يمكن التى الكلمات من مجموعة على تحتوى البرمجة لغات ايضا، بينكما

( . اخرى واحيانا قليلة تكون احيانا الجمل من مجموعة االساسهى فى والبرامج الكمبيوتر الى المعلومات . ) فحسب والكمبيوتر للمبرمج معنى ذات تكون معا التى االف الى عددها يصل

ال� Small Basicبرامجال . Small Basicـ برنامج عبارة وكل عبارة يمثل بالبرنامج سطر كل العبارات من مجموعة على يحتوى االمثل

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

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

االول برنامجنا الى عودة. كتبناه برنامج اول هو هذا

Page 7: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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")

Page 8: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

االلوان – 5الشكل اضافة

“ النص نفس طباعة يتم انه ستالحظ اعاله، الموضح البرنامج بتنفيذ تقوم الــ” Hello Worldعندما داخلTextWindow. مسبقا الرمادى اللون من بدال االصفر باللون طباعته يتم المرة هذه ولكن ،

االصفر Hello World - 6الشكل باللون

. جديدة، كلمة هنا البرنامج يستخدم االصلى البرنامج الى باضافتها قمنا التى الجديدة العبارة الحظForegroundColor القيمة الى معادلتها تم “”Yellow“والتى بتعيين. قمنا اننا يعنى الى” YellowهذاForegroundColor . بين الفرق ان WriteLineوالعملية ForegroundColorاآلن، لم ForegroundColorهو

. . نعرف نحن كلمة ثم يساوى بعالمة اتباعها تم ذلك من بدال اقواس اى او مدخالت اى تستخدمForegroundColor لــ خاصية لخاصية . TextWindowبانها الصالحة بالقيم قائمة حاول. ForegroundColorهذه

عالمات” – Yellowاستبدال “ احد هى االقتباس، عالمات تنسى ال النتيجة وراقب القيم هذه من بواحد. المطلوبة الترقيم

BlackBlueCyanGrayGreenMagenta

Page 9: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

RedWhiteYellowDarkBlueDarkCyanDarkGrayDarkGreenDarkMagentaDarkRedDarkYellow

Page 10: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

3الفصل المتغيرات فى مقدمة

برنامجنا فى المتغيرات استخداميقول “ ان يستطيع برنامجنا ان لو لطفيا قوله” “Helloاليس من بدال المستخدم باسم بصفة” Helloمقترنا

/ ثم. ما مكان فى بحفظه نقوم ثم اسمها اسمه عن المستخدم نسال ان يجب ذلك فعل يمكننا حتى عامبطباعة “ :Helloنقوم . ذلك” نفعل كيف نرى هيا المستخدم باسم مقترنا

TextWindow.Write("Enter your Name: ")name = TextWindow.Read()TextWindow.WriteLine("Hello " + name)

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

المستخدم – 7الشكل اسم عن السؤال

زر على والضغط اسمك بكتابة تقوم عندما :ENTERو االخراج هذا سترى ،

دافئ- 8الشكل ترحيب

Page 11: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

. وفى مختلف اسم كتابة يمكنك اخرى مرة السؤال نفس سيوجهلك اخرى، مرة البرنامج بتشغيل قمت اذاالكمبيوتر سيقول الحالة . 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الى للنص يسمح ولكنهالحالي النص نفسسطر على يكون .ان

Page 12: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

المتغير- 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ستكون. النص اطار فى طباعته تم ما وهذا

: النتائج ومالحظة قليال البرنامج بتعديل نقوم هيا اآلن،

Page 13: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

number1 = 10number2 = 20number3 = number1 * number2TextWindow.WriteLine(number3)

بضرب اعاله الموضح البرنامج فى number2فى number1سيقوم النتيجة ان. number3وحفظ ويمكنك : ادناه البرنامج هذا نتيجة ترى

رقمين – 11الشكل ضرب

: . كتالى ستكون الطرح عملية الطريقة بنفس االرقام قسمة او بطرح تقوم ان يمكنك

number3 = number1 - number2

: كالتالى ‘/’. البرنامج سيكون هى القسمة عالمة و

number3 = number1 / number2

: كالتالى البرنامج نتيجة ستكون و

رقمين – 12الشكل قسمة

الحرارة لدرجات بسيط محولالصيغة باستخدام 5=℃سنقوم (℉−32)

9درجة الى فهرنهايت حرارة درجة لتحويل التالى البرنامج فى

. مئوية حرارة

. عملية هناك متغير فى وحفظها المستخدم من بالفهرنهايت الحرارة درجة على بالحصول سنقوم أوال،. وهى المستخدم من االرقام بقراءة لنا تسمح TextWindow.ReadNumberخاصة

. األرقام حول اقتباس عالمات يوجد ال أنه الحظعالمات ألن ضرورية االقتباسوذلك ليست

عالمات. الى فقط تحتاج عندما االقتباسلألرقام. النص تستخدم

Page 14: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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الشكل درجة محول

Page 15: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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الشكل

Page 16: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

فى جدا مهم درس الى يقودنا ما وهو االخر، البرنامج يفعله الذى الشىء نفس سيفعل البرنامج هذاالبرمجة:

Page 17: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

. خبرتك وزيادة اكثر برامج كتابة مع “منهاالبادئة المسافة

البيانات فى البادئة المسافة تالحظ ان يمكنك األمثلة جميع البادئة. 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بالفعل البقية واعادة الثانى الرقم على االول الرقم بقسمة

Page 18: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

التفريعاتمن بالترتيب حدة على بالبرنامج عبارة كل بتنفيذ يقوم الكمبيوتر ان الثانى الفصل فى تعلمت لقد تذكر

. . نظرة نلقى هيا الترتيب خارج اخرى لعبارة ينتقل الكمبيوتر تجعل مخصوصة عبارة هناك لكن السفل اعلى: التالى البرنامج على

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

Page 19: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

بأضافة يقوم ان للكمبيوتر تقول العبارة المتغير 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الشكل بال زوجى او فردى

Page 20: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 21: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

: هو واالخراج

الحلقى استعمال – 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الشكل الفردية االعداد

Page 22: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

الـ بيان 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. التكرار او التكملة اما الكمبيوتر سؤال ثم ومن ما شرط من التحقيق سهال يكون

Page 23: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

حلقى تكرار كل ان نالحظ أن لالهتمام المثير من بيان Whileيكون الى ترجمته الممكن على. If..Thenمن. النهائية النتيجة على التأثير دون التالي النحو على أعاله البرنامج كتابة إعادة يمكننا ، المثال سبيل

number = 100startLabel:TextWindow.WriteLine(number)number = number / 2

If (number > 1) Then Goto startLabel

EndIfحلقى تكرار كل كتابة يعيد الكمبيوتر While داخليا

تستخدم من If..Then كبيانات أكثر أو واحد مع.Gotoبيانات

Page 24: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

6الفصل الرسومات بدء

استخدمنا اآلن برمجة TextWindowحتى لغة اسس لشرح امثلتنا جميع لغة. Small Basicفى SmallولكنBasic هذا فى شرحها سيتم والتى الرسومات مع التعامل قدرات من قوية مجموعة على ايضا تحتوى

الفصل.

GraphicsWindowتقدي��م لنا سمح لنا TextWindowكما يوفر والحروف، االرقام مع GraphicsWindowاطار Small Basicبالتعامل

. الرسومات اطار باظهار لنبدأ للرسم استعماله بالمكان .GraphicsWindowوالذى

GraphicsWindow.Show()

اطار على المرة هذه ستحصل المعتاد، االسود االطار من بدال انه ستالحظ البرنامج، هذا تشغيل يتم عندما . االطار هو هذا ولكن اآلن، االطار هذا فى الكثير عمل يمكن ال االسفل فى مبين هو كما اللون ابيض

" . عالمة على الضغط طريق عن االطار اغالق بامكانك الفصل هذا فى معه سنعمل الذى فى" Xاالساسى. اليمنى الزاوية أعلى

Page 25: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

فارغ – 23الشكل رسومات اطار

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

. االطار على للتعرف قليال وتعديله قدما

GraphicsWindow.BackgroundColor = "SteelBlue"GraphicsWindow.Title = "My Graphics Window"GraphicsWindow.Width = 320GraphicsWindow.Height = 200GraphicsWindow.Show()

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

مخصص- 24الشكل رسومات اطار

Page 26: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

الخطوط رسميبدأ . 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يعنى المزيد سنتعلم لالصفر

." ب " الملحق فى االلوان عن

Page 27: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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)

Page 28: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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وعملية تقوم) التعبئة وعمليات القلم، باستخدام الشكل مخطط برسم تقوم الرسم عمليات التعبئة . رسمه يتم واحد مستطيالن، هناك ، أدناه البرنامج في المثال سبيل على فرشاة باستخدام الشكل بطالء

. خضراء فرشاة باستخدام طالئه يتم واآلخر األحمر القلم باستخدام

Page 29: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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)

Page 30: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

وتعبئة - 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الشكل

Page 31: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية
Page 32: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

السابع الفصلاألشكال مع المرح

. سابقا تعلمناه ما باستخدام قليال سنمرح الفصل هذا ما فى كل بين تجمع امثلة على الفصل هذا يحتوي. الشيقة البرامج بعض إلنشاء اآلن حتى تعلمته

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

Page 33: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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"

Page 34: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 35: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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"

Page 36: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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)

. عشوائية أرقام بأستخدام المثلث من بكسل برسم البرنامج سيقوم التعديل بهذا

Page 37: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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لديه . منها( نطلبه ما كل ورسم تعليماتنا باتباع ستقوم السلحفاة هذه المركز في

Page 38: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

االطار- 37الشكل فى ظاهرة السلحفاة

والتحريك الرسمامر هو السلحفاة تفهما التى التعليمات من (Move احد يبلغ. تحريك) الرقم وهذا واحد رقم تأخذ العملية هذه

. تتحرك ان السلحفاة من سنطلب التالى المثال فى ستنتقلها التى المسافة .100السلحفاة بكسل

Turtle.Move(100)

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

للشكل مشابه نتيجة سترى الحركة عن السلحفاةالتالى.

السلحفاة ) عمليات داستخدام يجب( Turtleعن ال ، استدعاء Show(). The Turtle willبالضرورة

احد بتنفيذ تقوم عندما تلقائيا تظهر السلحفاءالعمليات.

Page 39: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

بكسل- 38الشكل مئة السلحفاة تحريك

مربع رسم . السلحفاة جعل إلى بحاجة نحن مربع رسم أجل من أفقي واثنان رأسي اثنان وهما جوانب، أربع لديه المربع

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

Turtle.Move(100)Turtle.TurnRight()Turtle.Move(100)Turtle.TurnRight()Turtle.Move(100)Turtle.TurnRight()Turtle.Move(100)Turtle.TurnRight()

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

Page 40: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

مربعا – 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

Page 41: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

االلوان – 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

Page 42: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 43: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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تعيينتريدها التي بالسرعة تتحرك . السلحفاة

Page 44: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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الشكل

Page 45: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 46: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

بسيط- 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 تذكر، . من روتين استدعاء يمكنك ال نفسه البرنامج داخل

آخر برنامج .ضمن

Page 47: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 48: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

الرسومات- 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

Page 49: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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، ايضا

. البرنامج نتيجة باالسفل

Page 50: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

االولية- 48الشكل االعداد

Page 51: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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()

Page 52: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 53: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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("")

صفيف فهرسة . ولكن الصفيف من القيم واسترجاع لتخزين وفهارس أرقام باستخدام قمنا كيف رأيت السابق برنامجنا في

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

Page 54: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

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"

Page 55: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 56: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 57: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

الشبكة - 54الشكل في المربعات تتبع

Page 58: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

11الفصل والتف�اع�ل األح�داث

. بعض ، والعمليات الخصائص إلى باإلضافة وعمليات خصائص لديها التي الكائنات قدمنا ، فصلين اول فيباألحداث ) يسمى ما توفر ردا(. Eventsالكائنات ، المثال سبيل على ُرفعت، التي اإلشارات مثل األحداث

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

. لالهتمام شيء هناك يكون عندما يعرفك الذى هو

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

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

. استخدامها يمكن وكيف هي، ما األحداث، فهم على يساعدك

. عملية يستخدم الروتين واحد فرعى وروتين فقط واحد بيان لديه جدا بسيط برنامج ShowMessageأدناه.GraphicsWindowعلى للمستخدم رسالة مربع يعرض لكى

GraphicsWindow.MouseDown = OnMouseDown

Sub OnMouseDown GraphicsWindow.ShowMessage("You Clicked.", "Hello")EndSub

الحدث إلى روتين اسم بتعيين فيه قمنا الذي السطر هو أعاله البرنامج في لالهتمام المثير الجزءMouseDown كائن أن. GraphicsWindowمن من - MouseDownستالحظ بدال أنه إال خاصية مثل كثيرا يبدو

Page 59: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

روتين بتعيين قمنا ما، قيمة . - 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

Page 60: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

حدث – 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

Page 61: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 62: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 63: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

" أ " ملحقمرحة أمثلة

Fractal السلحفاة

شجرة Turtle- 58الشكل fractalترسم

angle = 30delta = 10

Page 64: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 65: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

من 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

Page 66: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

المضرب لعبة

المضرب- 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

Page 67: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 68: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

" ب " ملحقاأللوان

فى المستخدمة األلوان اسماء قائمة هى .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

Page 69: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 70: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

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

Page 71: Small Basic والبــرمجـــــةdownload.microsoft.com/download/5/0/2/5028DB29-920…  · Web viewتسمى هذه اللغات لغات البرمجة. فى البداية

DarkSlateGray#2F4F4F

Black#000000