تعلم لغات البرمجة

لغة الخوارزميات Algorithm

Algorithm لغة الخوارزميات




 لغة الخوارزميات

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

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

 قبل ان نبدأ في الحديث عن التعليمات الاساسية للغة الخوارزميات وشرحها سارفق لكم فيديو توضيحي يبسط مفهوم الخوارزميات :


 

التعليمات الاساسيه للغة الخوارزميات:

 بامكاني التعبير عن توصيف خوارزمية بواسطة التعليمات الخمس الاساسية التالية:

1- تعليمة القراءة او ادخال المعطيات

2- تعليمة الكتابة او اظهار النتائج

3- تعليمة الاسناد او وضع تقيم في متحول

4- التعليمة الشرطية

5- التعليمة التكرارية

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

اما تعليمة الاسناد فهي للتعامل مع المتحولات اي خانات الذاكرة.

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

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

 

يعرف المتحول بثلاثية : اولا اسم التعريف، ثانيا النمط، ثالثا خانة ذاكرة يشغلها.

 

تعليمة القراءة read :

وهي اعطاء قيمة من الداخل اي من لوحه المفاتيح لوضعها في خانة ذاكرة

وكشكل لهذه التعليمة :

اقرأ متحول او متحولات

وهي عبارة عن امر يقول خذ القيمة الموجودة في الداخل وضعها في خانة ذاكره المتحول

 

اقرأ M

ضع القيمة التي تعطى من الدخل في خانة الذاكرة M

ان تنفيذ الحاسوب لتعليمة القراءه يكون بانتظار المستخدم حتى يدخل قيم ويضغط مفتاح الادخال enter. ٠

 

تعليمة الكتابة write :

وهي اظهار قيم معينة على وحده خرج اي الشاشة

وكشكل لهذه التعليمة :

أكتب صيغة او تعبير

وهي تركيب من توابع ومتحولات و ثوابت و عمليات، وفي الحالة البسيطة يكون التعبير متحولا فقط او ثابت فقط. كما يمكن لتعليمة الكتابة اظهار اكثر من قيمة (عدة صيغ).

 

امثلة :

كمتحولات

اكتب M

اظهر القيمة الموجودة في خانة الذاكرة M على الخرج

كثوابت

اكتب 20

ستظهر القيمة 20 على الخرج

كتوابع

اكتب sin 0

ستظهر القيمة 0 على الخرج

كعمليات

اكتب M*5

احسب قيمة التعبير M*5 و اظهرها على الخرج فاذا كانت M تساوي 5 ستظهر القيمة 25 على الخرج

كما ان هناك امكانية هامة لتعليمة الكتابة الا وهي كتابة نص او سلسلة حرفية

اكتب " Hello Rana"

سيظهر النص كما هو تماما على الخرج Hello Rana

كما سانوه ان الحروف الكبيرة و الصغيرة و الفراغات ستظهر كما هي محددة بين علامتي التنصيص

ساضع هنا مثالا يدمج بين اظهار عملية ضرب مع اظهار سلسلة نصية

اكتب "the result is", 2*B

ولنفرض ان  B هنا قيمتها 3

ستظهر تعليمة الكتابة التالي :

the result is 6

 

تعليمة الاسناد :

وهي اسناد قيمة صيغة لمتحول اي لخانة ذاكرة

 ونعطي شكلا نظاميا لهذه التعليمة :

صيغة او تعبير← متحول

 

مثال:

لدينا في خانتي الذاكرة x, yالقيم المخزنة x=25, y=10

عند تنفيذ تعليمة الاسناد التالية:

y→x

تصبح بالخانة x القيمة 10 ايضا او نقول ان المتحول x يساوي 10

 

التعليمة الشرطية :

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

وترد باحد الشكلين التاليين:

 1- التعليمة الشرطية البسيطة او التنفيذ بشرط if

 2- التعليمه الشرطية الاختيارية او التنفيذ باختيار بين مسارين وفقا للشرط if else

 

اولا التعليمة الشرطية البسيطة if :

نعطيها شكلا نظاميا: كخوارزمية

اذا (الشرط) نفذ

بداية

مجموعة تعليمات

نهاية

 

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

 

والشرط هو اي صيغة تقيم بصح او خطا… او امر يمكن البت بشأنه اما محقق او غير محقق… نعم او لا… true او false، يمكن ان يتضمن الشرط ادوات العطف : or, and, not او المقارنة : التراجح او المساواة.

 

مثال:

اذا (k>0) نفذ

بداية

L/k →A

نهاية

نريد من هذه التعليمات هنا ان نقسم على قيمة المتحول k بشرط ان تكون k اكبر من الصفر. وبتعبير اخر اذا كانت k اكبر من الصفر عندها نفذ تعليمة الاسناد للتعبير عن L/k الى المتحول A

 

ثانيا التعليمة الشرطية الاختياريه if else :

اذا (شرط) نفذ

  مجموعة تعليمات 1

والا

  مجموعة تعليمات 2

 

في هذه التعليمة يجري الاختيار بين مساري التنفيذ اما تنفيذ مجموعة التعليمات 1 في حال كان شرط محققا اي صحيحا او تنفيذ مجموعة التعليمات 2 في الحالة المعاكسة اي اذا كان الشرط غير محققا

 

مثال:

اذا ( V=! 0 ) نفذ

S/V → A

والا

اكتب " لا استطيع القسمة على صفر"

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

 

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

 

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

 

اللغات غرضية التوجه oop

اللغات غرضية التوجه oop

اللغات غرضية التوجه




سنتعلم في هذه المدونة بداية عن لغات البرمجة عالية المستوى : اللغات غرضية التوجه  oop

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

يكافئ مفهوم الغرض في التصميم الغرضي التوجه مفهوم المتحول في اللغة الاجرائية العادية ، في حين يلعب مفهوم الصف في اللغة الغرضية التوجه ، دور النمط في اللغة الاجرائية .

تعتبر لغات البرمجة مثل ++C و Java و #C من اشهر اللغات الغرضية التوجه.

سنتعرف اولا على الخوارزميات  :

قبل كتابة اي برنامج لحل مسالة ما ، يجب ان يتوفر لدينا فهم شامل للمسالة المطروحة . وهذا يتضمن تحديد و توصيف المعطيات  التي نعتمد عليها او ننطلق منها ، والنتائج التي نريد الوصول اليها .

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


 

الخوارزمية :

يتم حل اي مسالة برمجية من خلال تنفيذ سلسلة من الافعال وفق ترتيب معين ، انها خطة الحل و نطلق عليها تسمية الخوارزمية Algorithm ، وتتضمن خطوات حل مسالة عبر تحديد :

1- الافعال الواجب تنفيذها.

2-الترتيب الواجب اتباعه من اجل تنفيذ الافعال السابقة.

يجب ان تكون الافعال وترتيب التنفيذ موصفا على وجه لا يدعو الى اللبس او التاويل

مثال على خوارزمية عامة (إنجاز عمل ما) :

خوارزمية تشغيل برنامج حاسوبي :

1- اضغط على زر التشغيل 

2- انتظر ظهور شاشة الاستقبال

3- اذا كان من الضروري ان تعرف عن نفسك : ادخل اسم حسابك و كلمة المرور

4- ابحث عن ايقونة البرنامج الذي تريد تشغيله و انقر عليها نقرتين بالفارة

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

 

خوارزميات حاسوبية:

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

مثال : خوارزمية تحديد العدد الاكبر من مجموعة اعداد :

التوصيف الدقيق : مجموعة الاعداد يدخلها المستخدم وتحدد نهاية المجموعة بقيمة خاصة ولتكن 999

تحديد متحولات المسالة :(كما في المسالة الرياضية حتى البسيطة  منها )

ليكن اسم المتحول الذي سيدخله المستخدم x و xmax قيمة العدد الاكبر

خطوات (تعليمات) الخوارزمية:

1- ادخال العددالاول الى المتحول  xmax

2-ادخال العدد التالي الى المتحول x

3- اذا  x تساوي 999 اذهب الى الخطوة 6

4- اذا x اكبر من xmax اسند x الى xmax

5- اذهب الى الخطوة 2

6- اكتب " قيمة العدد الاكبر " الى  xmax

 لاشرح لكم فكرة الحل الان : تدخل العدد الاول ثم نعتبره الاكبر 1 الى ان يثبت العكس اي تكرر ادخال اعداد المجموعة 2 ثم نقارن العنصر المدخل x مع من اعتبرته  xmax  فان كان المدخل الجديد اكبر تجعله يحل محل من اعتبرته الاكبر 4 وهكذا حتى نهاية مجموعة الاعداد التي يقوم المستخدم بادخالها . 

 

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



الأشعارات
اهلا بك اخى الكريم فى مدونة تى جو
ان كنت من المهتمين بكل جديد فى العالم التقنى يمكنك الاشترك فى قناة تى جو على اليوتيوب بالضغط على زر اليوتيوب فى الاسفل حتى تكون اول المستفيدين من شروحاتنا .
=================================
وان كان لديك اى اسئله او اقتراحات يمكنك التواصل معنا عبر مواقع التواصل الاجتماعى اسفل الرساله وسوف نقوم بالرد فى اسرع وقت .
شكرا على المتابعه .

حسناً