Advanced Search

المحرر موضوع: س و جــ عن الخوارزميات  (زيارة 1961 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

يونيو 11, 2006, 12:11:16 صباحاً
زيارة 1961 مرات

bioComputer

  • عضو متقدم

  • ****

  • 746
    مشاركة

  • عضو مجلس الحاسب

    • مشاهدة الملف الشخصي
    • www.c4arab.com
س و جــ عن الخوارزميات
« في: يونيو 11, 2006, 12:11:16 صباحاً »
بسم الله الرحمن الرحيم



مونديــــــــــــــــــــال الريـــــــــاضيات  



س و جــ عن الخوارزميات




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




نبذة تاريخية :

عندما نتحدث عن نشأة علم الخوارزميات فأن الفضل يعود فى ذلك إلى علماء كثيرون كان أبرزهم "محمد بن موسى الخوارزمى "
 

والذى يذكر أسمه محرفاً فى جميع الكتب التى تتناول أساليب برمجة الحاسبات الإلكترونية أو نظم المعلومات بذكرهم كلمة ALGORITHIM (أى منطق ومنهج حل المسألة إشتقاقاً من إسم الخوارزمى )

 
وتوضيحاً لذلك نتناول هذا المثال من أحد كتب الخوارزمى :

إذا كان عمر الرجل مضافاً إليه عمر ولده 59سنة ، والفرق بين العمرين 39 سنة ، فما عمر كل منهما ؟

نفرض أن عمر الرجل = س
نفرض أن عمر الولد   = ص

إذاً س+ ص = 59                                                              المعادلة الأولى
س- ص = 35                                                               المعادلة الثانية



بإجراء المقابلة وجبر الحدود المتشابهة يكون عمر الرجل 47 سنة ، وعمر الولد 12 سنة .


هنا قد يسأل أحدنا :
ولماذا لم تكتب المعادلة الثانية هكذا ؟


ص – س = 35

رياضياً ممكن

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


~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~




يونيو 11, 2006, 12:16:31 صباحاً
رد #1

bioComputer

  • عضو متقدم

  • ****

  • 746
    مشاركة

  • عضو مجلس الحاسب

    • مشاهدة الملف الشخصي
    • www.c4arab.com
س و جــ عن الخوارزميات
« رد #1 في: يونيو 11, 2006, 12:16:31 صباحاً »
ما هي الخوارزميات ؟

الخوارزم أو الـalgorithm أو خريطة التدفق هي طريقة تفكير برمجية

مثلاً، كيف تقوم ببرمجة تطبيق لحل مشكلة معينة؟! ستتبع منطق معين في البرمجة أليس كذلك، هذا المنطق عادةً يكتب كـalgorithm لدراسته، فإن كانت الجدوى منه 100% محققه، يكتب بعدها كـcode


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



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

أحياناً ترى أكواد معقدة ويصعب عليك فهم فكرتها، بينما لو رأيت الخوارزم تبعها لفهمت الفكرة مباشرة

يونيو 11, 2006, 12:22:24 صباحاً
رد #2

bioComputer

  • عضو متقدم

  • ****

  • 746
    مشاركة

  • عضو مجلس الحاسب

    • مشاهدة الملف الشخصي
    • www.c4arab.com
س و جــ عن الخوارزميات
« رد #2 في: يونيو 11, 2006, 12:22:24 صباحاً »
هل كل البرامج تتبع هذه الطريقه ؟

لنعدل في صياغة السؤال قليلاً ليكون:
هل كل المبرمجين يتبعون هذه الطريقة؟!

بالطبع لا، فلكل هواه، البعض يبدأ بالتفكير بالبرنامج عن طريق كتابة الخوارزم والشخمطة بالورق حتى يصل للفكرة  ، والآخر يبدأ بالكود على طول ويجرب حظه  



و هل الخوارزميه هي نفسها هندسة البرنامج ..؟!!

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

هندسة البرنامج تتضمن كيفية تصميم الواجهات:


فمثلاً لو كان لديك أمر "تراجع undo" تريد وضعه في برنامج، في الخطوة التي تقوم فيها بهندسة البرنامج ستحدد هل تضع هذا الأمر كزر button في شريط الأدوات toolbar أم تضعه كخيار في قائمة تحرير Edit، أم تضعه في كلاهما معاً  

أو مثلاً واجهة للمدير، وأخرى للموظفين، وكل واحدة تعرض الصلاحيات المتاحة للمجموعتين.



اي بشكل عام هل الخوارزمية هى التخطيط لعمل البرنامج ؟!..

نعم  التخطيط لكيفية كتابة البرنامج

~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~



هل الخوارزميه لها قواعد معينه ؟

نعم، لرسم أو لكتابة أي خوارزم هناك قواعد معينة، مثلاً البدء بمستطيل ناعم الأطراف يحوي كلمة "إبدأ start" والإنتهاء عند مستطيل مشابه يحوي كلمة "النهاية end".


وهل ستأخذ وقت كبير فى دراستها ؟

نعم، تعلمها لن تأخذ منك وقت طويل أبدأ بإذن الله، يوم أو يومين بالكثير


و من أين ابدأ ؟

هناك مواقع جيدة لتعليم كتابة الخوارزميات ..
هذه هي محصلة البحث عن أساسيات رسم الخوارزم أو algorithm or flow chart، باللغة الإنجليزية:

http://www.hci.com.au/hcisite2/toolkit/flowchar.htm

http://www.sqlphone.com/tutorial.htm

http://www.flowchart-software.com/charts/

أرجو أن تفيدك '<img'>

~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~




وهل هذا يعني ان الخوارزميات رسم و ليست كتابه ؟!!

الخوارزميات ليست بشرط تكون عبارة عن flowcharts أو "خرائط التدفق" وإنما هي طريقة أولية لبرمجة البرنامج بحيث ترتب الخطوات التي يجب اتباعها لبرمجة برنامج ما

فممكن أن نستخدم ما يسمى بالكود الكاذب أو pseudocode


كأن تقول:

شيفرة برمجية:
QUOTE


enter student grade

if grade is less than or equal to 100 and and grater than or equal to 90 then print " A"

if grade is less than 90 or grater than or equal to 80 print "B"

if...etc





وهذا موقع به أساسيات كتابة pseudocode




http://www.csc.calpoly.edu/~jdalbey/SWE/pdl_std.html



 



~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~*~




 



هل هناك مواقع اخرى لمزيد من المعرفة ؟

 هذه هى محصلة البحث عن أساسيات رسم الخوارزم أو algorithm or flow chart، باللغة الإنجليزية:


http://www.hci.com.au/hcisite2/toolkit/flowchar.htm

http://www.sqlphone.com/tutorial.htm

http://www.flowchart-software.com/charts/

تمت بحمد الله

يونيو 11, 2006, 12:25:21 صباحاً
رد #3

bioComputer

  • عضو متقدم

  • ****

  • 746
    مشاركة

  • عضو مجلس الحاسب

    • مشاهدة الملف الشخصي
    • www.c4arab.com
س و جــ عن الخوارزميات
« رد #3 في: يونيو 11, 2006, 12:25:21 صباحاً »
وهذه دروس لبعض الخورازميات :



مقدمة إلى خوارزميات الترتيب Sort Algorithms
http://www.c4arab.com/showlesson.php?lesid=1969

خوارزم الفقاعة للترتيب Bubble Sort Algorithm
http://www.c4arab.com/showlesson.php?lesid=1970

خوارزم الحشر Insertion Sort Algorithm
http://www.c4arab.com/showlesson.php?lesid=1971


خوارزم التحديد أو الاختيار Selection Sort Algorithm
http://www.c4arab.com/showlesson.php?lesid=1972


خوارزم التكويم Heap Sort Algorithm
http://www.c4arab.com/showlesson.php?lesid=1973


وشكرا لكم '<img'>

يونيو 11, 2006, 12:26:18 صباحاً
رد #4

G H Hardy

  • عضو خبير

  • *****

  • 1660
    مشاركة

  • عضو موقوف

    • مشاهدة الملف الشخصي
س و جــ عن الخوارزميات
« رد #4 في: يونيو 11, 2006, 12:26:18 صباحاً »
السلام عليكم
من قرائتي للموضوع مع اني لم اطلع بعد على الروابط لايسعني الا ان اقول جازكم الله خير ووفقكم الله بكل عمل لكم
شكرا لكم اخونا بيوكمبيوتر
اخوك
مازن

يونيو 11, 2006, 02:27:49 صباحاً
رد #5

ابو يوسف

  • عضو خبير

  • *****

  • 10867
    مشاركة

  • مشرف اداري

    • مشاهدة الملف الشخصي
س و جــ عن الخوارزميات
« رد #5 في: يونيو 11, 2006, 02:27:49 صباحاً »
السلام عليكم

جزاك الله كل خير اخي العزيز بيوكمبيوتر

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

'<img'>

يونيو 11, 2006, 10:34:01 صباحاً
رد #6

بنت الشام

  • عضو متقدم

  • ****

  • 694
    مشاركة

  • عضو مجلس الرياضيات

    • مشاهدة الملف الشخصي
    • http://alfihaa.8m.net
س و جــ عن الخوارزميات
« رد #6 في: يونيو 11, 2006, 10:34:01 صباحاً »
السلام عليكم
جزاك الله خيرا bioComputer

يونيو 11, 2006, 01:19:38 مساءاً
رد #7

جيجي كوول

  • عضو مساعد

  • **

  • 150
    مشاركة

    • مشاهدة الملف الشخصي
س و جــ عن الخوارزميات
« رد #7 في: يونيو 11, 2006, 01:19:38 مساءاً »
السلام عليكم

جزاك الله خيرا bioComputer

وفقك الله و سدد خطاك

بالتوفيق  

جيجي
يا هرُُّ فارقتنا و لم تَعُدِ             و كنتَ مِنّا بمنزلِ الولدِ
وكيف ننفكُّ عن هواك وقد       كنت لنا عُدةًّ من الُعدَدِ
تطردُ عنا الاذى وتحرسنا        بالغيبِ من حيَّة و من جُردِ

www.olom.info

يونيو 11, 2006, 01:32:20 مساءاً
رد #8

زينة سعد الدين

  • عضو مشارك

  • ***

  • 265
    مشاركة

    • مشاهدة الملف الشخصي
س و جــ عن الخوارزميات
« رد #8 في: يونيو 11, 2006, 01:32:20 مساءاً »
وفقك الله أخ بيوكمبيوتر والله عيووووني بدي أقدمهم لقدام أكثر وأكثر في الموضوع

عنجد الموضوع يخلق لدي فضوووووول كبير علشان أتعلم الطرق من خلال الروابط

لك جزيل الشكر والامتنان

مع تحيات : زينة

يونيو 30, 2006, 04:15:31 مساءاً
رد #9

meshoo11

  • عضو مبتدى

  • *

  • 1
    مشاركة

    • مشاهدة الملف الشخصي
س و جــ عن الخوارزميات
« رد #9 في: يونيو 30, 2006, 04:15:31 مساءاً »
الرجاء مساعدتي في حل هذه المسألة :

Write an algorithm, using pseudo code, to perform one of the following tasks
Word SearchÓ: Given a string of letters, identify all substrings that create one of five given words. For example, if the words (arguments) are: structure; such; system; blue; red, then the string jkdistructuredstrusyssystemoon contains the first, third and fifth words, once each.