الخوارزميات من العلوم النشطة والأكثر استخدامًا لحل التعقيدات الرياضة الرقمية، والتي توصلنا إلى أهداف خدمية سواء في شبكة الإنترنت الواسعة أو بطريقة مختلفة في البرمجيات، وفي هذا المقال سنرى توضيحًا لفكرتها، وسنوضح من خلال الأمثلة اختلاف الخوارزميات في البرمجة عن غيرها. ما هي الخوارزميات في البرمجة
يمكن القول أن الخوارزميات في البرمجة هي وصفة يتم تقديمها للحاسب، يوجد فيها خطوات مفصلة ليقوم الحاسب بحل مشكلة أو يصل إلى هدف معين، فجميعنا سمعنا وعلى الأغلب رأينا وصفات طعام من قبل، نجد فيها المكونات المطلوبة والخطوات الواجب اتباعها بالترتيب لطبخ وجبة، وخوارزمية البرمجة تماثل هذه الفكرة. وفي عالم الحاسب ، بدلًا من أن نقول وصفة، نستخدم مصطلحات أخرى ملائمة أكثر مثل إجراءات، والمكونات المطلوبة نطلق عليه اسم مدخلات، حيث يقوم الحاسوب بالاطلاع على الإجراءات بدقة وعناية كبيرتين، وعندما يصل الحاسوب إلى نتيجة سوف نحصل على ما يقال عنه مخرجات. تقوم الخوارزميات في البرمجة بوصف طريقة القيام بشيء ما، وحاسوبك سوف يلتزم بهذا الوصف للقيام بهذا الشيء دائمًا وأبدًا، بالطبع بعد أن تقوم بتحويل هذه الخوارزمية إلى لغة يستطيع الحاسب فهمها.
- ما هي الخوارزميه العوديه - موقع المرجع
- ما هي الخوارزميات في الرياضيات؟ - مقال
- ما هي الخوارزميات؟ • درويدي
- التحويل من النظام الثنائي الى العشري - EB Tools
ما هي الخوارزميه العوديه - موقع المرجع
لذلك تشير الخوارزمية إلى مجموعة من القواعد / التعليمات التي تحدد خطوة بخطوة كيفية تنفيذ العمل من أجل الحصول على النتائج المتوقعة. تساعد الخوارزميات على القيام بمهمة في البرمجة للحصول على المخرجات المتوقعة. الخوارزميات مستقلة عن اللغة ، أي أنها مجرد تعليمات بسيطة يمكن تنفيذها بأي لغة ، ومع ذلك ستكون المخرجات كما هي ، كما هو متوقع. يتم ترجمة التعليمات الموجودة في الخوارزمية إلى شكل يمكن تفسيره بواسطة الكمبيوتر ، وهو ما يسمى عمومًا بالبرنامج. يعتمد البرنامج على الآلة ويتم تفسيره بواسطة آلة مستهدفة. عند تنفيذ التعليمات بواسطة الجهاز نحصل على النتيجة المرجوة. على الرغم من أن الخوارزميات لا يتم تفسيرها وتنفيذها بواسطة الكمبيوتر ، إلا أنها تلعب دورًا مهمًا في كتابة البرنامج وفهمه وتوثيقه. لنفكر في مثال لإيجاد مجموع عددين. خوارزمية لإيجاد مجموع رقمين:
Step 1: Start
Step 2: Declare variables num1, num2 and sum. Step 3: Read values num1 and num2. Step 4: Add num1 and num2 and assign the result to sum. sum←num1+num2
Step 5: Display sum
Step 6: Stop
برنامج C لإيجاد مجموع رقمين:
#include
int main() {
int num1, num2, sum;
printf("\nEnter two no: ");
scanf("%d%d", &num1, &num2);
sum = num1 + num2;
printf("Sum:%d", sum);
return(0);}
برنامج Python لإيجاد مجموع رقمين:
num1 = int(input("enter first number: "))
num2 = int(input("enter second number: "))
sum = num1 + num2
print("sum:", sum)
من المثال أعلاه يمكنك أن ترى أنه يمكن للمرء ترجمة خوارزمية معينة إلى برنامج بأي لغة.
ما هي الخوارزميات في الرياضيات؟ - مقال
وتنسب كلمة (خوارزمية) إلى عالم الرياضيات المسلم محمد بن موسى الخوارزمي صاحب كتاب (الكتاب المختصر في الجبر والمقابلة). تقدّم الخوارزميات حلولًا لمسائل كثيرة ومتنوعة منها:
أحرز مشروع الجينوم البشري تقدّمًا هائلًا في تشخيص جينات الإنسان التي يصل عددها إلى 100, 000 جين وتحديد تسلسل 3 بلايين من الأزواج الكيميائية التي تشكّل الدنا البشري، وتحتاج عملية تخزين هذه البيانات وتحليلها والتعامل معها إلى خوارزميات معقدة. حماية خصوصية المستخدم ومعلوماته الشخصية مثل رقم بطاقة الائتمان وكلمات المرور وغيرها من الأمور الضرورية في مجال التجارة الإلكترونية، وتستند تقنيات التشفير وتعمية البيانات على خوارزميات رياضية وعلى نظرية الأرقام. تستخدم الخرائط الإلكترونية خوارزميات خاصة لتحديد المسافة الأقصر بين نقطتين يختارهما المستخدم على الخريطة. هو هيكل البيانات؟ ما هي الخوارزمية؟
تشير بنية البيانات إلى بنية تخزين مجموعة من البيانات. الخوارزميات هي مجموعة من الطرق لمعالجة البيانات. هياكل البيانات والخوارزميات متكاملة. تخدم بنية البيانات الخوارزمية ، وتعمل الخوارزمية على بنية بيانات محددة. لذلك ، لا يمكننا عزل هياكل البيانات من حيث الخوارزميات ، ولا يمكننا عزل الخوارزميات من حيث هياكل البيانات.
ما هي الخوارزميات؟ &Bull; درويدي
ولهذا ينبغي معرفة لأي مدى من الممكن الوثوق بالخوارزميات، بواسطة السياسيين الأميركيين تم اتهام الخوارزميات بالتمييز والتحيز، فزعموا أنها تُطور عمداً لتعمل مع أصحاب البشرة البيضاء. ولكن تكون حقيقة هذا الأمر بأن الخوارزميات ليست أكثر من مجرد برامج قد تقوم باتخاذ القرارات وهذا يكون تبعاً لمجموعة من الأوامر التي يتم إعطائها أو الأوامر التي يتم استنتاجها من البرنامج. وفي كلا الأمرين أن من يتحكم بالخوارزمية وكيفية القيام باتخاذ قراراتها هو الإنسان وعيوبها الموجودة تظل من مسؤولية الإنسان، ولأجل هذا يتم دراسة موضوع ما هي الخوارزميات في الرياضيات. شاهد أيضًا: معلومات عن جهاز معالجة الخوارزميات والحسابات
ها قد أوضحنا كل ما يتعلق بموضوع ما هي الخوارزميات في الرياضيات بكل دقة وتفصيل، من خلال معرفة تصميم الخوارزمية، وشروط الخوارزمية وأنواعها، وكيفية تحليلها وطرق كتابتها وأهميتها بحياة الإنسان.
في البرمجة ، الخوارزمية هي مجموعة من التعليمات المحددة بشكل جيد في التسلسل لحل مشكلة برمجية معينة وستجد فى هذا المقال امثلة على الخوارزميات لتفهم الموضوع بشكل افضل. ويجب أن تحتوي الخوارزمية دائمًا على نقطة توقف او نهاية واضحة. لمعرفة المزيد عن تعريف معنى الخوارزميات فى البرمجة
عوامل جودة الخوارزمية
يجب تحديد المدخلات والمخرجات بشكل دقيق. يجب أن تكون كل خطوات في الخوارزمية واضحة. يجب أن تكون الخوارزمية هى الأكثر فعالية من بين كل الطرق المختلفة لحل مشكلة ما – الاكثر فاعيلية من حيث زمن التنفيذ والمساحة المستخدمة فى الكومبيوتر. لا يجب أن تحتوي الخوارزمية على رمز خاصة بلغة برمجة معينة. بدلاً من ذلك ، يجب كتابة الخوارزمية بطريقة يمكن استخدامها باي لغة برمجة. امثلة على الخوارزميات
اي مجموعة خطوات لها نفس الصفات السابق شرحها تعتبر مثال على الخوارزميات وإليك بعض الامثلة لخوارزميات بسيطة ومتقدمة. امثلة على خوارزميات بسيطة
خوارزمية لجمع رقمين
خوارزمية للعثور على أكبر رقم من بين ثلاثة أرقام
خوارزمية للعثور على جميع جذور المعادلة التربيعية
خوارزمية للحصول على مضروب عدد
خوارزمية للتحقق من العدد الأولي
خوارزمية سلسلة فيبوناتشي
مثال على الخوارزميات بالكود التوضيحي
اكتب خوارزمية للعثور على أكبرها بين ثلاثة أرقام مختلفة تم إدخالها من قبل المستخدم.
Step 1: Start
Step 2: Declare variables a, b and c.
Step 3: Read variables a, b and c.
Step 4: If a>b
If a>c
Display a is the largest number. Else
Display c is the largest number. If b>c
Display b is the largest number. Display c is the greatest number. Step 5: Stop
امثلة على خوارزميات متقدمة
من المفاهيم المشهورة فى عالم البرمجة هو الترتيب Sorting و البحث Search. فهى تستخدم فى اي برنامج تقريبًا. هذه المفاهيم لها العديد من الخوارزميات التى تغطيها وتعلم هذه الخوارزميات هى نقطة انطلاق جيدة لتعلم الخوارزميات. اشهر خوارزميات الترتيب Sorting
Heapsort
Counting Sort
Selection Sort
امثلة على خوارزميات البحث
Linear Search
Binary Search
Jump Search
Interpolation Search
Exponential Search
ويوجد عدد لا يحصى من الخوارزميات لاداء مهمات وحل مشاكل معينة ويبقى العامل الاهم فى تحديد جودة الخوارزمية هو وقت اقل فى التنفيذ واستهلاك ذاكرة اقل من موارد الحاسب وسنتحدث لاحقًا عن كيفية تحديد زمن التنفيذ للخوارزمية باستخدام طريقة Big o. المراجع
الصور التوضحية من موقع
لا تنسى الاشترك فى القائمة البريدية ليصلك كل جديد
لاستكمال التسلسل يتمّ إضافة 1 إلى آخر رقم وهو 9، فتتحوّل إلى 0، ثمّ نبدأ التسلسل من جديد، فيكون الشكل: 10876543210. لاحظ أنّه اختفى الرقم 9 ليحلّ محلّه الرقم 0، ثمّ يبدأ العد 1، 2، وهكذا. فتكون قاعدة العدّ العشريّ هي أنّها تتكوّن من حِزم أيضًا، ولكنّ الحِزمة الواحدة تتكوّن من عشرة أرقام، وللانتقال إلى الحِزمة الثانية تتمّ إضافة (1) إلى الرقم الأخير بالحِزمة وهو رقم (9)، فتتحوّل إلى (10)، وبذلك يختفي الرقم (9) ليحل محلّه الرقم (0)، مع إضافة الرقم (1) لتبدأ به الحزمة الجديدة وهكذا. التحويل من النظام الثنائي الى العشري - EB Tools. تحويل النظام الثنائيّ إلى النظام العشريّ
لكي ندرك عمليّة التحويل تعالوا بنا إلى الشكل الوارد بالمقدّمة وهو (110)، ومنه يتّضح تقسيم النظام الثنائيّ بشفرة تقسيم العدد اثنين اثنين، ولتحويله إلى نظام عشريّ اتّبع الآتي:
ضع الشكل (110) في صفّ أوّل أفقيّ، كالشكل (0 1 1). ثمّ في الصفّ الثاني الأفقيّ ضع العدد 2 تحت كلّ رقم في الشكل (0 1 1)، فيكون رقم (0 تحته 2)، ورقم (1 تحته 2)، ورقم (1 تحته 2). ارفع الرقم (2) إلى قوّة مرتّبة ابتداءً من (0)، وذلك بترتيب وقوعها تحت الشكل (0 1 1)، فتكون 2 الأولى أُس صفر أي 2⁰، و2 الثانية تكون أُس 1 أي تكون 2¹، و2 الثالثة تكون أُس 2 أي تكون 2²، ثمّ احسب ناتج رفع 2 لقوّتها في صفٍّ تالٍ، ويكون شكلها (2⁰ 2¹ 2²)، فيكون ناتجها (1 2 4).
ماهية النظام الثنائيّ
تعالوا بنا نتأمّل الرقم أو الشكل:
10 10 11 100 101 110 111
ماذا تلاحظ؟
تعالوا بنا نلاحظ سويًّا معًا:
نلاحظ أنّ النظام لا يتكوّن إلّا من رقمين فقط، هما الصفر والواحد. يعتمد النظام على خانتين فقط، الأولى والثانية، ثمّ يتمّ تكرارهما على هيئة حِزم، وفقًا لقاعدة محدّدة. نبدأ الخانة الأولى بالصفر(0)، ثمّ الخانة الثانية بالواحد (1)، ثمّ نقوم بإضافة واحد مكان الصفر(11)، ثمّ نقوم بإصافة واحد بجانب الرقم شمالًا بعد أن نجعل العددين الأوّلين أصفارًا (100)، وعند إعادة التكرار نعيد الكَرّة، فنجعل الصفر الأوّل واحد (101)، ثمّ نجعل الواحد صفرًا (110)، وإضافة واحد مكان الصفر الثاني، ثمّ نجعل الصفر الأوّل واحد (111) مرّة أخرى، وهكذا. قاعدة التسلسل هي أن نجعل مجموعة التكرارات على هيئة حِزم، نبدأ الحِزمة الأولى بالصفر (0)، ثمّ نضيف واحد على الصفر، فيكون الناتج واحد (1) (حزمة ثانية "10")، ثمّ نضيف واحد على صفر الحِزمة الثانية، فيكون الناتج واحد، واحد، (11) في (حِزمة ثالثة)، وهكذا عمليّة التكرار للحِزم. ماهيّة النظام العشريّ
يتكوّن النظام العشريّ من تسلسل الأرقام المعتادة، وهي العشرةُ أرقام من 0 إلى 9 كالآتي:
التسلسل هو: 9876543210.
hexadecimal
نظام العد السداسي عشر
يسمى أيضا هكس
hex. نظام للعد أساسه العدد
16 ،
بمعنى أنه يشتمل على
16
حدا بدلا من نظام العد العشري
decimal
المعروف الذي يتألف من عشرة حدود ،
كالآتي:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C,
D, E, F
حيث: A=10;
B=11; C=12; D=13; E=14; F=15
فمثلا العدد
A4C2 في النظام السداسي عشر يساوي 42178
في النظام العشري. ويمكن حسابه كما يلي:
A4C2
Hexadecimal
= 42178 Decimal
العدد السداسي عشر
2
C
4
A
قيمة الخانات
اضرب في 16 لتحصل على العدد التالي في كل خانة
1
1x16= 16
16x16= 256
256x16=4096
ا لمقابل العشري هو م جموع مضروب العدد السداسي عشر
في كل خانة في قيمة تلك الخانة
2x1= 2
(C=12)
12x16=192
4x256=1024
(A=10)
10x4096=40960
2 + 192+1024+40960=42178
ولتوضيح النظام العددي
السداسي عشر
عند كتابة البرامج، نكتب
0x قبل
العدد
أو H
بعد العدد، كما في 0x65D أو
h65D. والنظام السداسي عشر هام عند كتابة البرامج لأنه يمكن تمثيل
كل byte بايت (8 بتات) بعددين في النظام السداسي عشر.