✴ الخوارزمية :
هي مجموعة من الخطوات المحددة
والمتسلسلة اللازمة لحل مشكلة ما
أو من أجل تنفيذ مهمة محددة.
مثال
خوارزمية حساب العمر.
السنة الحالية - سنة الميلاد = العمر
2021 - 2001 = 20
👇🏻
هي مجموعة من الخطوات المحددة
والمتسلسلة اللازمة لحل مشكلة ما
أو من أجل تنفيذ مهمة محددة.
مثال
خوارزمية حساب العمر.
السنة الحالية - سنة الميلاد = العمر
2021 - 2001 = 20
👇🏻
مثال آخر .
أحمد يريد الذهاب إلى المتحف.
الطرق المقترحة (الخوارزميات).
1 - استئجار سيارة أجرة
2 - إستخدام المواصلات العامة
من أجل تحديد أفضل طريقة للذهاب إلى المتحف
من بين الطرق فوق
يجب فهم نقطتين أساسيتين
1 - الوقت ( حساب الوقت المستغرق في الوصول إلى المتحف )
👇🏻
أحمد يريد الذهاب إلى المتحف.
الطرق المقترحة (الخوارزميات).
1 - استئجار سيارة أجرة
2 - إستخدام المواصلات العامة
من أجل تحديد أفضل طريقة للذهاب إلى المتحف
من بين الطرق فوق
يجب فهم نقطتين أساسيتين
1 - الوقت ( حساب الوقت المستغرق في الوصول إلى المتحف )
👇🏻
2 - التكلفة المادية لكل طريقه
⭕ - سيارة الأجرة
مكلف جدا لكن بوقت أقل
⭕ - المواصلات العامة
أقل في التكلفة لكن الوقت أكثر من سيارة أجرة
بعد معرفة مميزات وعيوب كل طريقه يجب إختيار أفضل حل بما يناسب ميزانية أحمد 😎
👇🏻
⭕ - سيارة الأجرة
مكلف جدا لكن بوقت أقل
⭕ - المواصلات العامة
أقل في التكلفة لكن الوقت أكثر من سيارة أجرة
بعد معرفة مميزات وعيوب كل طريقه يجب إختيار أفضل حل بما يناسب ميزانية أحمد 😎
👇🏻
إذا أمتلك أحمد المال الكافي يختار
⭕ سيارة الأجرة
إذا لم يمتلك المال الكافي سوف يختار
⭕ المواصلات العامة.
👇🏻
⭕ سيارة الأجرة
إذا لم يمتلك المال الكافي سوف يختار
⭕ المواصلات العامة.
👇🏻
✴ الخوارزميات في البرمجة.
هي مجموعة من التعليمات البرمجية الواضحة التي
يتم تنفيذها واحدة تلو الآخرى بشكل متسلسل
لحل مشكلة ما.
👇🏻
هي مجموعة من التعليمات البرمجية الواضحة التي
يتم تنفيذها واحدة تلو الآخرى بشكل متسلسل
لحل مشكلة ما.
👇🏻
مثال.
⭕ قم بعمل برنامج جمع الأعداد من 1 إلى 1000
(1 + 2 + 3 + ...... 1000)
طرق الحل
✴ إستخدام دوال التكرار
نقوم بعمل دالة تكرار تجمع الأرقام من 1 إلى 1000
👇🏻
⭕ قم بعمل برنامج جمع الأعداد من 1 إلى 1000
(1 + 2 + 3 + ...... 1000)
طرق الحل
✴ إستخدام دوال التكرار
نقوم بعمل دالة تكرار تجمع الأرقام من 1 إلى 1000
👇🏻
تهتم دراسة الخوارزميات بعاملين مهمين.
⭕ Time complexity
الوقت الذي يقضيه الكمبيوتر فى تنفيذ الخوارزمية
⭕ Space complexity
كمية الذاكرة التي استخدمها البرنامج لتنفيذ الخوارزمية.
👇🏻
⭕ Time complexity
الوقت الذي يقضيه الكمبيوتر فى تنفيذ الخوارزمية
⭕ Space complexity
كمية الذاكرة التي استخدمها البرنامج لتنفيذ الخوارزمية.
👇🏻
باستخدام javascript
``` js
let total = 0;
for(let i = 1 ; i <= 1000; i++) {
total += i;
}
console.log(total);
```
إستخدام هذه الطريقة
لن يستخدم الكثير من الذاكرة
لكن زمن التنفيذ طويل جدا.
👇🏻
``` js
let total = 0;
for(let i = 1 ; i <= 1000; i++) {
total += i;
}
console.log(total);
```
إستخدام هذه الطريقة
لن يستخدم الكثير من الذاكرة
لكن زمن التنفيذ طويل جدا.
👇🏻
✴ باستخدام القاعدة التالية
المجموع = N * (N + 1) / 2
حيث N = الرقم الذي نريد الجمع إليه
``` js
function sumTo(n) {
return ((n + 1) * n) / 2;
}
let total = sumTo(1000)
console.log(total)
```
هذه الطريقة
لا تحتاج إلى الكثير من الوقت
و لا تستخدم الكثير من الذاكرة
👇🏻
المجموع = N * (N + 1) / 2
حيث N = الرقم الذي نريد الجمع إليه
``` js
function sumTo(n) {
return ((n + 1) * n) / 2;
}
let total = sumTo(1000)
console.log(total)
```
هذه الطريقة
لا تحتاج إلى الكثير من الوقت
و لا تستخدم الكثير من الذاكرة
👇🏻
✳ عوامل جودة الخوارزمية
✴ زمن التنفيذ قليل
✴ لا تحتاج إلى إستخدام الذاكرة بشكل كبير
✴ خطوات واضحة وسهلة الفهم
✴ تحديد المدخلات والمخرجات بدقة
👇🏻
✴ زمن التنفيذ قليل
✴ لا تحتاج إلى إستخدام الذاكرة بشكل كبير
✴ خطوات واضحة وسهلة الفهم
✴ تحديد المدخلات والمخرجات بدقة
👇🏻
✳ لماذا يجب تعلم الخوارزميات.
تبرز أهمية تعلم الخوارزميات في
⭕ تحسين وقت تنفيذ البرنامج.
⭕ إستخدام الذاكرة بشكل صحيح.
⭕ تبسيط الكود بسبب الإعتماد على خطوات واضحة وسهلة الفهم
👇🏻
تبرز أهمية تعلم الخوارزميات في
⭕ تحسين وقت تنفيذ البرنامج.
⭕ إستخدام الذاكرة بشكل صحيح.
⭕ تبسيط الكود بسبب الإعتماد على خطوات واضحة وسهلة الفهم
👇🏻
نلتقي في ثريد أخر 😇
إذا أعجبك الثريد لا تنسى تعمل
ريتويت عشان
يستفيد اكبر عدد من الناس 😊
تابع حسابي @naif4web
لجديد المقالات و النصائح
في مجال البرمجة و تصميم الواجهات Ui
إذا أعجبك الثريد لا تنسى تعمل
ريتويت عشان
يستفيد اكبر عدد من الناس 😊
تابع حسابي @naif4web
لجديد المقالات و النصائح
في مجال البرمجة و تصميم الواجهات Ui
جاري تحميل الاقتراحات...