التعامل مع الأعداد و الكلمات

و القوائم و المتغيرات

    

مقدمة :

        تتعامل اللوجو مع جميع الأعداد الحقيقة مثـل  1423 ، 3.23 ، أيضا تتعامل مع الكلمات ، وعادة  تبدأ الكلمات بعلامة تنصيص و تنتهي بمسافة خالية  مثل :

"CAIRO

"X1

"BENHA

أما القوائم فتبدأ بقوس مربع ] و تنتهي بمرافق  القوس[ و مثال ذلك :

[CAIRO] [MAHMOUD BADR][100 200 300]

و سوف نتناول التعامل مع القوائم والأعداد والكلمات فيما يلي :

---

1- الكلمات WORDS:

تتعامل اللوجو مع الكلمة على أنها مجموعة مـن  الرموز المتصلة و هذه الرموز يمكن ان تكون خليط من  الحروف و الأرقام ، و إذا ما احتوت الكلمة على فراغ  فلن تعتبر كلمة ، أما إذا احتوت على علامة الطرح أو  القسمة أو الجمع أو الضرب أو الرفع فإنها لن تعتبر  كلمة إلا إذ سبق العلامات السابقة العلامة   و مثال  ذلك :

 

 "MAHMOUD BADR

ليست كلمة لوجود فراغ بها

"AHMED-MAHMOUD

لوجود علامة الطرح بها

 "7*8

لوجود علامة الضرب بها

 

        والمثالين الأخيرين يمكن أن تعاملهم اللوجو على  أنهم كلمتين بشرط وضع العلامة   قبل علامتي الضـرب و  الطرح السابقتين :

-MAHMOUD            "AHMED

*8                        "7

و لكن الجملة "MAHMOUD BADR  يمكن معالجتها علـــى  أنها كلمة إذا ما وضعنا في  الفراغ النقطــة "." أو  الشرطة" _ " و بذلك يمكن معالجتها ككلمة كما يلي :

 "MAHMOUD_BADR.

       

والكلمات قد تكون مدخلات للأمر PRINT و مثال ذلك

 PR "EGYPT

EGYPT

 PR "MAHMOUD_BADR

MAHMOUD_BADR

 

و إذا حاولت أن تدخل أي كلمة لا تبدأ بعلامـة  التنصيص مثل DR او كلمة تحتوى في  وسطها على فراغ  مثل BADR  MAHMOUD ، فان اللوجو سوف تبحث في  أولياتها أو أسماء الإجراءات لديها ثم ترد برسالة  الخطأ المعروفة و هي  :

 

I DON'T KNOW HOW TO DR

---

 

2- القوائم LISTS :

        القائمة في  اللوجو هي  آي شئ يحتوى على عنصــر  واحد أو مجموعة من العناصر يفصل بينها فراغ أو  يوضع العنصر داخل قوس مربع أو توضع القائمة كلهـا  داخل قوس مربع [] و مثال ذلك :

[DR MAHMOUD BADR]

[WHAT IS LOGO TURTLE LIKE  ]

[10 20 30 30 40 50]

[DR\ MAHMOUD BADR [BENHA UNIVERSITY]]

 

و يمكن استخدامها كمدخلات لأمر الطباعة PR أيضا و مثال ذلك :

 PR [DR MAHMOUD BADR]

DR MAHMOUD BADR

 PR [10 20 30 30 40 50]

10 20 30 30 40 50  PR [DR\ MAHMOUD BADR [BENHA UNIVERSITY]]  DR\ MAHMOUD BADR [BENHA UNIVERSITY]

 

و لكن الكلمة لا تعادل القائمة .

 

و يمكنك استخدام القوس المربع خاويا لتحسين  العرض و مثال ذلك :

 TO IMPROVE

 PR [ ]

 PR [BENHA UNIVERSITY,]

 PR [ ]

 PR [COLLOGE OF EDUCATION]

 PR [ ]

 END

 

وإذا نفذت الإجراء السابق فسوف تشاهد ما يلي :

                                    

IMPROVE

 

BENHA UNIVERSITY,

 

COLLOGE OF EDUCATION

 

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

---

3- الأولية FIRST :

تمكنك الأولية FIRST من اختيار أول حرف في  الكلمة  أو أول عنصر في  القائمة و مثال ذلك :

 PR FIRST "MAHMOUD

M

أما القائمة :

 PR FIRST [MAHMOUD BADR]

MAHMOUD

 

وإذا ما كانت القائمة فارغة فان الرسالة  التالية سوف تجدها :

first []

first doesn't like [] as input.

 

وكذلك لا تقبل الكلمة الخاوية :

FIRST "

FIRST doesn't like  as input

و إذا ما احتوت الكلمة على حرف واحد فإنها بالطبـع  تكتبه ، تأمل المثال التالي :

 PR FIRST FIRST [MAHMOUD BADR]

M

اختارت أولا MAHMOUD أما FIRST الثانية فاختارت أول  حرف فيها (M) و هو الناتج.

        و الإجراء التالي يتعرف على العدد 5 كأول عــدد  في  قائمة تدخلها له :

TO KNOW :NLIST

IF (FIRST :NLIST) = 5 [PR "GOOD STOP  ] 

PR "BAD

END

 KNOW  [5 7 9 0 8]

GOOD

 KNOW  [7 8 5]

 BAD

 و نلاحظ أن الأولية FIRST تبحث في  أول عنصر أو حرف  فقط ، لكننا و قد نرغب في  البحث عن عناصر القائمة أو الكلمة  الأخرى.

 

---

4- الأولية BUTFIRST :

الأولية BUTFIRST و اختصارها  BFتختار كل الكلمة مع  استبعاد أول حرف أو تختار كل العناصر و تستبعد أول  عنصر ومثال ذلك :

 "MAHMOUD "PR BUTFIRST

AHMOUD

PR BF [DR MAHMOUD BADR]

MAHMOUD BADR

 

إذن فالأوليتين FIRST و BUTFIRST تتقاسما الكلمة أو  القائمة في  عملهما .

 

الآن دعنا نستخدم الأولية BF داخل إجراء مع المعاودة  مع ملاحظة أنها سوف تنتج شئ مثير ، لنجرب ذلك :

 

 TO PRIMEDW :WORD

IF :WORD = " [STOP]

SHOW :WORD

PRIMEDW BF :WORD

END

 

الآن لننفذ الإجراء السابق :

PRIMEDW "MAHMOUD

MAHMOUD

AHMOUD

HMOUD

MOUD

OUD

UD

D

 

لنجرب الإجراء PRIMEDW مع قائمة :

 PRIMEDW [DR MAHMOUD BADR]

DR MAHMOUD BADR

MAHMOUD BADR

BADR

هنا يصبح القوس خاوي فترد بالرسالة التالية قبـل  أن تخرج من الإجراء مع ملاحظة ان الإجراء يتعامل في تصميمه مع كلمة :

The procedure BF does not like [] as input PRIMEDW [DR MAHMOUD BADR]

[DR MAHMOUD BADR]

[MAHMOUD BADR]

[BADR]

[]

BF doesn't like [] as input  in PRIMEDW

 

لذا يمكنك تعديل الإجراء PRIMEDW كما يلي ليتعامل  مع القائمة :

 TO PRIMEDW :WORD

IF :WORD = " [STOP]

IF :WORD = [ ] [STOP]

PR :WORD

PRIMEDW BF :WORD

END

 

الآن يمكن لإجرائك أن يتعامل مع الكلمات و القوائــم  في  نفس الوقت ، و لكن اللوجو تضيف الأولية  EMPTYP  التي تقارن بالخواء سواء لكلمة أو لقائمة ، لذلــك  يمكنك أن تعيد كتابة الإجراء السابق لتتجنب خطأ  الخواء السابق كما يلي :

TO PRIMEDW :WORD

IF EMPTYP :WORD  [STOP]

PR :WORD

PRIMEDW BF :WORD

END

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

 

        يمكننا الآن أن نتعرف على أي عنصر بالكلمة أو  الإجراء باستخدام الأوليتين كما يلي :

 TO KNOW :NLIST

 IF (FIRST :NLIST) = 5 [PR "GOOD STOP]    

 KNOW BF :NLIST

 PR "BAD

 END

 

 KNOW  [6 7 9 5 8]

GOOD

BAD

BAD

BAD

 KNOW  [7 8 5]

GOOD

BAD

BAD

 

عندما ينادى الإجراء نفسه يستبعد أول عنصر حتى يصبح  أول عنصر هو 5 حينئذ يرد بالرسالة GOOD ، ثم تتذكر ما سبق نداؤه ووجوب الرد بـ BAD ، و إذا لم  تحتوى القائمة على العدد 5 فإنها ترد برسالة خطأ.

  KNOW  [7 8 1]

FIRST doesn't like [] as input  in KNOW

[IF (FIRST :NLIST) = 5 [PR "GOOD STOP]]

 

*-التركيز هنا على اختيار العنصر أو الحرف الأول و لكن يمكننا أيضا أن نستبعد أو نختار الحرف الأخير ؟

 

---

5- الأولية LAST:

الأولية LAST تمكننا من اختيار الحرف الأخير من كلمة  أو العنصر الأخير من قائمة الآن اكتب :

 PR LAST "MAHMOUD

D

 PR LAST 345.856

6

 PRINT LAST [DR MAHMOUD BADR]

BADR

نحن تمكننا هنا من اختيار الحرف أو العنصر الأخير  ، فهل  يمكننا أن نختار كل الكلمة مع استبعاد الحرف الأخير  أو اختيار كل القائمة مع استبعاد العنصر الأخير ؟

 

---

6- الأولية BUTLAST:

الأولية BUTLAST و اختصارها BL تمكنك من اختيار كـل  القائمة مع استبعاد العنصر الأخير ، أو اختيار كــل  الكلمة مع استبعاد الحرف الأخير و مثال ذلك :

 PR BL "MAHMOUD

MAHMOU

 PR BL 345.856

345.85

 PRINT BL [DR MAHMOUD BADR]

DR MAHMOUD

لنحاول أن نستخدم الأولية BL بدلا من الأولية BF في   الإجراء PRIMEDD  كما يلي :

 TO PRIMEDD :WORD

 IF EMPTY   :WORD  [STOP]

 PR :WORD

 PRIMEDD BL :WORD

 END

 

  PRIMEDD "MAHMOUD

MAHMOUD

MAHMOU

MAHMO

MAHM

MAH

MA

M

 

---

مناقشة :

1-   كيف يمكن أن ندخل الجملة على أنها كلمة ؟

2-   ماذا ينتج من الجملة PR FIRST"BADR     

3-   ماذا ينتج من الجملة PR LAST"BADR      

4-   ماذا ينتج من الجملة PR BF"BADR        

5-   ماذا ينتج من الجملة PR BL"BADR        

6-   اذكر مثال من عندك بحيث تؤدى آي من الأوليتين  FIRST أو LAST نفس الشيء .

7-   اكتب إجراء يحسب عدد الحروف في كلمة تدخلها ويطبعه .

8-   اكتب إجراء و سميه METAL و يحتوى الإجراءات    الفرعية التالية :

أ-إجراء يبحث عن كلمة داخل قائمة :METAL1 :WORD :LIST

ب-إجراء يبحث عن قائمة داخل القائمة :METAL2 :LIST1 :LIST2

جـ إجراء يبحث عن حرف داخل كلمة :METAL3 :CHAR :WORD

 

---

7- بناء القوائم و الجمل

 

7- أ - الأولية WORD :

        الأولية WORD تركب الكلمات ، أو الأرقام ،  فعندما تدخل لها مجموعة من الكلمات فإنها تعالجهم  كما لو كانوا جملة و مثال ذلك :

 PR WORD 199 4

لاحظ أن العدد 4 يبتعد بمسافة عن العدد 199 هنا  تضمهم اللوجو معا و يصبح العدد :

  PR WORD 199 4

1994

الآن جرب كتابة ما يلي :

 PR (WORD "DR ". "MAHMOUD ". "BADR)

لاحظ أن عدد المدخلات هنا خمسة و سوف تقوم اللوجو هنا  بحذف علامات التنصيص و المسافات الخالية لذا ســوف  يظهر لديك المخرج التالي :

DR.MAHMOUD.BADR

*- الاسم بصورته الجديدة غير مريح فقد وضعنا نقطة تلي كل اسم حتى نميزه وإلا سوف يظهر الاسم كسلسلة متصلة و لكن آلا توجد وسيلة مناسبة أخري تظهر الاسم بشكل طبيعي و بالأحرى لا تحذف المسافات لخالية من الاسم ؟

---

 

7- ب- الأولية SENTENCE:

تعالج الأولية SENTENCE و اختصارها SE الكلمـات و لا  تحذف الفراغ و مثال ذلك :

 PR SE "DR "MAHMOUD "BADR

هنا تحذف اللوجو علامات التنصيص وتكتب الاسم كما  يلي :

PR SE "DR "MAHMOUD "BADR

DR MAHMOUD

You don't say what to do with BADR

هنا قبلت مدخلين بينما أخرجت الثالث والآن أحط الجميع بقوس هلالي :

  PR (SE "DR "MAHMOUD "BADR)

DR MAHMOUD BADR

آي أن الأمر عند إحاطته بقوس هلالي يقبل اكثر من مدخل .

 

* تعاملنا مع الكلمات و الأرقام فكيف نتعامل مـع القوائم ؟

تمكننا الأولية SE أيضا من معالجة القوائم و ذلك  بحذف القوس المربع الخارجي و مثال ذلك :

 PR SE [CAIRO] [IS] [CAPITAL] [OF] [EGYPT]

[CAIRO] [IS] [CAPITAL] [OF] [EGYPT]

PR SE [[CAIRO] [IS] [CAPITAL] [OF] [EGYPT]]

not enough inputs to SE

هنا بحثت لوجو فلم تجد سوي مدخل واحد هو قائمة علي الرغم من احتوائها علي قوائم ، احذف القوس المربع الأول وجرب :

PR SE [CAIRO] [IS] [CAPITAL] [OF] [EGYPT]

CAIRO IS

You don't say what to do with [CAPITAL] 

PR (SE [CAIRO IS CAPITAL OF EGYPT])

CAIRO IS CAPITAL OF EGYPT

 

ويمكن أن تعالج الجملة SE إحدى الكلمات ضمن القائمة كما يلي :

PR ( SE "CAIRO [[IS] [CAPITAL] [OF] [EGYPT]])

CAIRO [IS] [CAPITAL] [OF] [EGYPT]

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

 PR SE "199 "4

199 4

  PR (SE "199 "4 "  "1)

199 4  1

الآن تذكر برنامج البيسك التالي :

10 INPUT NAME$

20 PRINT"WELCOM ";NAME$;",I'M HAPY TO MET YOU"

 

عندما تنفذ ذلك البرنامج الصغير سوف يدور الحوار  كما يلي :

 AHMED

WELCOM AHMED,I'M HAPY TO MET YOU

الآن لنصمم إجراء بلغة اللوجو ينفذ ذلك :

TO WELCOM :NAME

PR (SE WORD :NAME ",[I'M HAPY TO MET YOU])

END

 

WELCOM "AHMED

AHMED, I'M HAPY TO MET YOU 

هنا استخدمنا الأولية WORD لإلحاق الفاصلة بالاسم  فلديها الاسم NAME و الفاصلة ",

        و هذا أمر شيق فيمكننا أن نعد برنامج تفاعلي  لإظهار نواتج الضرب و مثال ذلك :

TO MULTP :X :Y

PR (SE :X* :Y [=]:Y [*]:X [حاصل ضرب] )

END

 

MULTP 3 7

21 = 7 * 3 حاصل ضرب

---

 

7-جـ الأولية LIST

تمكننا الأولية LIST من التعامل مع القوائم و حتى  يتضح الفرق بين الأولية LIST و الأولية SE نـورد  المثال التالي :

PR (SE [[CAIRO] [IS] [CAPITALOF] [EGYPT]])

CAIRO IS CAPITALOF EGYPT

 

الآن استبدل الأولية SE بالأولية LIST و لاحظ الأقـواس

PR (LIST  [CAIRO] [IS] [CAPITALOF] [EGYPT])

[CAIRO] [IS] [CAPITAL OF] [EGYPT]

 

و الفارق هو أن الجملة SE استقبلت 5 قوائم و  وضعتهم في  قائمة واحدة ، أما الأولية LIST فأنشــأت  قائمة تضم 3 عناصر وحافظت عليهم كقوائم  .

 

*- الأوليتان LIST و SE تضع العناصر مرتبة هل يمكن التحكم في  وضع بعض العناصر في  أول القائمـة أو في أخر القائمة ؟

 

---

7- ء- الأولية FPUT و الأولية LPUT :

يشتق اسم الأولية FPUT من الكلمتين FIRST PUT أي ضع  في  الأول ، أما اسم الأولية LPUT فيشتق من الكلمتيـن  LAST PUT و يعنى ضع في  الأخر و مثال ذلك :

 PR FPUT "1973. [OCTOBER WARE]

هنا تدمج الكلمة 1973. في  أول القائمة كما يلي :

1973. OCTOPER WARE

أما الأولية LPUT فتعمل على وضع المدخل في  آخر  القائمة كما يلي :

 PR LPUT "1973. [OCTOBER WARE]

OCTOPER WARE 1973.

و لتوضيح عمل الأولية LPUT نعرض الإجراء التالي الذي يطبع مربعات الأعداد العشرة الأولى :

TO ALIST :Y :LIST

IF :Y =10 [STOP]

PR LPUT :Y*:Y :LIST

ALIST :Y+1 :LIST

END

 

ندخل  Y=1و  LIST=[ ]قائمة خاوية ALIST 1 [ ]

1

4

9

16

25

36

49

64

81

نحن طبعنا مربعات الأعداد و لكننا لم نضيف شئ  للقائمة ، ففي  الواقع نحن ننشئ في  كل مرة قائمة جديدة تحتوى على عنصر واحد ، و لكن كيف يمكننـا أن  نضيف للقائمة ؟

هل تتذكر جملة البيسك LET X=70                                              

 لدينا أولية مشابهة و هي  MAKE "X 70                                     

و يمكننا أن نستعمل الأولية MAKE كما يلي :

MAKE "LIST LPUT :X :LIST

هنا فرغنا القيمة القديمة و وضعنا القيمة الجديـدة  في  الأخر والآن تأمل الإجراء التالي :

TO ALIST1 :Y :LIST

IF :Y= 10 [STOP]

MAKE "LIST LPUT (:Y *:Y) :LIST

PR :LIST

ALIST1 :Y+1 :LIST

END

الآن دعنا ننفذ الإجراء ALIST1

  ALIST1 1 []

1

1 4

1 4 9

1 4 9 16

1 4 9 16 25

1 4 9 16 25 36

1 4 9 16 25 36 49

1 4 9 16 25 36 49 64

1 4 9 16 25 36 49 64 81

 

القائمة خالية و لكن العدد Y=1 و يتم تربيعه و  وضعه آخر القائمة - القائمة لا تحتوى سوى على 1 -  ثم يضاف على العدد قيمة Y واحد و ينادى الإجراء  نفسه و هنا اصبح قيمة Y=2 فيتم تربيعه و وضعه في   آخر القائمة التي تحتوى الآن على عنصران و هكذا حتى  يصبح العدد Y=11 هنا يتوقف الإجراء عن التنفيذ .

 

*- استبدل LPUT بـFPUT  في  الإجراء ALIST1

*- أحيانا نرغب في  معرفة عدد عناصر القائمة أو  استخراج عنصر بترتيب معين من القائمة . فكيف  يتم ذلك ؟

 

---

7- هـ الأولية COUNT:

و تستخدم لمعرفة عدد المفردات بالقائمة و فيما يلي  أمثلة :

   pr count [80 60 40 1 5 7]

عدد عناصر القائمة هو ستة لذا تطبع العدد  6  يمكننا أيضا أن نطبع عدد حروف كلمة

 PR COUNT "MAHMOUD

7

أما القائمة فتطبع عدد عناصرها :

  PR COUNT [[DR ][MAHMOUD][BADR]]

3

 

*- تعلمنا حتى الآن استخراج العنصر الأول بالأولية   FIRST والعنصر الأخير في  القائمة بالأوليـة LAST ، فهل يمكن استخراج آي مفردة ؟

---

7- و الأولية ITEM :

تساعدنا الأولية ITEM على استخراج عنصر بترتيب معين  أو حرف بترتيب معين في  كلمة و مثال ذلك :

 PR ITEM 3 "MAHMOUD

H

[OF] [EGYPT]]  [CAPITAL]  PR ITEM 3[[CAIRO] [IS]

CAPITAL

و إذا ما كان رقم المفردة المستخرجة أكبر من عدد  مفردات القائمة فترد اللوجو برسالة خطأ و مثال ذلك

PR ITEM 7[[CAIRO] [IS][OF] [EGYPT][CAPITAL] ]

ITEM doesn't like 7 as input

و تفيد بأن عدد المفردات أقل من رقم المفـردة  المطلوبة .

---

7- ز -اختيار المفردات  عشوائيا :

تمكننا الأولية RANDOM n من اختيار عدد عشوائي   محصور بين صفر و n-1 و هذا يجنبنا رسالة الخطـأ  السابقة إذا ما طلبنا مفردة رقمها أكبر من عدد  مفردات القائمة ، ولكن لا يساعد بالطبع على استخراج  مفردة معينة و فيما يلي أمثلة توضح ذلك :

 PR RANDOM 100

59

 PR RANDOM 18

5

و لكن لاحظ أن الأولية RANDOM n تختار عدد أقل من n  و بالتالي لن تختار العدد n أبدا، ولكن يمكنـك أن  تصحح الأمر جزئيا بأن تضيف احتمال اختياره بالصيغة  التالية :

RANDOM n+1

حيث n تشير إلى عدد مفردات القائمة .

 

الآن تأمل الإجراء التالي :

TO UNIVERSITY

MAKE "LIST [[BENHA][ZAGAZIG][EIN SCHAMES] [CAIRO]]

PR ITEM (1+RANDOM COUNT :LIST) :LIST

END

 

الآن نفذ الإجراء UNIVERSITY:

 UNIVERSITY

ZAGAZIG

---

مناقشة :

1-   أعط  مثلا تعطى فيه الأوليتان SE و LIST تخرجا نتائج مختلفة .

2-   اكتب إجراء يحسب قيمة Y و يطبع الرسالة التالية:

3-       THE AVERAGE OF Y IS 50 %

4-   هل يمكن للأولية FPUT تضع قوائم و كلمات داخل القائمة .

5-   هل يمكن للأولية COUNT أن تحسب عدد أرقام عدد وعدد حروف كلمة ؟ اذكر مثال .

6-   هل يمكن للأولية ITEM أن تخرج رقم من عدد و حرف من كلمة ؟

7-   ماذا ينتج من تنفيذ السطر التالي :

8-   PR PRODUCT COUNT :LIST ITEM 4 :LIST

9-   حيث القائمة هي  :                    [BB 6 T 9 HE6I]         

---

أسئلة تمهيدية :

أ- كيف يمكنك التعرف على المتغيرات الشاملة الموجودة في  الذاكرة ؟ و كيف يمكنك التخلص مما لا ترغب من تلك المتغيرات ؟

ب- كيف يمكنك التخلص من كل المتغيرات الشاملة الموجودة بالذاكرة دفعة واحدة ؟

جـ كيف يمكن الاستعلام عن وجود اسم متغير معين  بالذاكرة ، و تنفيذ عملية مشروطة؟

 

---

8- الاستعلام  عن الكلمات :

تزودنا لوجو مايكروسوفت بالأمر wordp الذي يخرج كلمة true إذا كان المدخل كلمة ، و يخرج كلمة False إذا لم يكن المدخل كلمة .

Show Wordp "ahmed

 true

Show Wordp 1

True

Show Wordp []

False

---

9- الاستعلام عن القوائم :

 يمكنك الاستعلام عن القوائم بالأمر listp ، فيخرج كلمة true إذا كان المدخل قائمة ، ويخرج كلمة false إذا لم يكن المدخل قائمة .

Show listp "ahmed

False

 

 

Show listp 1

False

Show listp []

True

---

10- الاستعلام عن الأعداد :

الأمر numberp يخرج كلمة true إذا كان المدخل عدد ، ويخرج كلمة false إذا كان المدخل غير ذلك .

show numberp "10

true

show numberp "a

false

show numberp [10]

false

 

 


 


 

Logo For All Home Page

Pc Logo Arabic Tutorials

MswLogo Arabic Tutorials

Turtle Tracks Arabic Version The Other Authors's WebSites
  Visual Basic For all Computer and Learning Learn Mathematics BadrStat For Statistical Analysis
 

أرسل رسالتك أو استفسارك الآن

يمكنك الآن أن ترسل ملاحظاتك و تعليقاتك مباشرة ، والبحث عن المواقع ذات الصلة 

مركز الكمبيوتر التربوي 

حقوق الطبع والنسخ محفوظة للمؤلف

     آخر تعديل : الجمعة شوال 02, 1426 06:26:58 م