مفهوم الخوارزميات فى البرمجة Algorithm
صفحة 1 من اصل 1 • شاطر
مفهوم الخوارزميات فى البرمجة Algorithm
أهلا بكم
سنتعرف فى هذا المقال على #الخوارزميات فى البرمجة امثلة عملية عليها
أولا:مفهوم الخوارزميات #Algorithm
على الرغم من عدم وجود إجماع رسمي على تعريف مناسب للـ #"خوارزمية"، إلا أنه من الممكن صياغة تعريف مناسب لها عن طريق اعتبارها مجموعة من الخطوات و التعليمات المنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت #الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي و تسمى #Algorithms في اللغات اللاتينية والأوروبية .
ولكى نفهم الموضوع أكثر إليك هذه الأمثلة . :
بفرض انك تريد مقابلة صديق لك فى المطار وتوصيله من المطار إلى بيته فهناك العديد من الطرق (الخوارزميات) التى يمكن استخدامها لتنفيذ هذه المهمة .
عن طريق التاكسى :
عن طريق تأجير سيارة :
هذه الطرق #(الخوارزميات) وغيرها من الطرق الاخر يمكنك استخدامها لتنفيذ الهدف النهائى وهو توصيل صديقك إلى المطار وكل الطرق تؤدى فى النهاية إلى نفس الهدف , ولكن كل منهم بطريقة مختلفة وبخطوات مختلفة بطبيعة الحل , فكل خوارزمية لها تكلفة Cost مختلفة , وكل منهما له زمن تنفيذ Time مختلف فالتكسى على سبيل المثال ربما اسرع طريقة ولكن فى المقابل ربما هو الاغلى .
ولذلك يتم قياس أداء الخوارزمية على أساس الخصائص التالية:
أذن #الخوارزميات ليست لغة برمجة, إنما هي طرق التحليل و التفكير التي عليك اتباعها حتى تتمكن من اداء مهمة معينة , والتى يمكن ان تكون مهمة بسيطة مثل حاصل ضرب رقمين او مهمة معقدة مثل تشغيل ملف فيديو مضغوط ومحركات البحث مثل جوجل تستخدم خوارزميات معقدة لاظهار نتائج البحث المناسبة لك.
ثانيا :عوامل جودة الخوارزمية :
يجب أن تستوفي كل خوارزمية الخصائص التالية حتى تتصف بالجودة :
ثالثا :أمثلة على الخوارزميات في البرمجة :
1_خوارزمية لجمع رقمين أدخلهما المستخدم :
التنفيذ بلغة C
التنفيذ بلغة ++C
التنفيذ بلغة Java
2_خوارزمية لإيجاد أكبر عدد من بين ثلاثة أعداد مختلفة :
3_خوارزمية لفحص الاعداد الاولية :
سنتعرف فى هذا المقال على #الخوارزميات فى البرمجة امثلة عملية عليها
أولا:مفهوم الخوارزميات #Algorithm
على الرغم من عدم وجود إجماع رسمي على تعريف مناسب للـ #"خوارزمية"، إلا أنه من الممكن صياغة تعريف مناسب لها عن طريق اعتبارها مجموعة من الخطوات و التعليمات المنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت #الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي و تسمى #Algorithms في اللغات اللاتينية والأوروبية .
ولكى نفهم الموضوع أكثر إليك هذه الأمثلة . :
بفرض انك تريد مقابلة صديق لك فى المطار وتوصيله من المطار إلى بيته فهناك العديد من الطرق (الخوارزميات) التى يمكن استخدامها لتنفيذ هذه المهمة .
عن طريق التاكسى :
- ايقاف التاكسى
- الدخول إلى التاكسى
- إعطاء السائق العنوان
عن طريق تأجير سيارة :
- الذهاب لمكان الحصول على السيارة
- تأجير السيارة
- التوجه نحو المطار
هذه الطرق #(الخوارزميات) وغيرها من الطرق الاخر يمكنك استخدامها لتنفيذ الهدف النهائى وهو توصيل صديقك إلى المطار وكل الطرق تؤدى فى النهاية إلى نفس الهدف , ولكن كل منهم بطريقة مختلفة وبخطوات مختلفة بطبيعة الحل , فكل خوارزمية لها تكلفة Cost مختلفة , وكل منهما له زمن تنفيذ Time مختلف فالتكسى على سبيل المثال ربما اسرع طريقة ولكن فى المقابل ربما هو الاغلى .
ولذلك يتم قياس أداء الخوارزمية على أساس الخصائص التالية:
- Time Complexity :وهو الوقت الذى يقضيه الكمبيوتر فى تنفيذ الخوارزمية
- Space Complexity :وهو كمية الذاكرة التى استخدمها البرنامج لتنفيذ الخوارزمية
أذن #الخوارزميات ليست لغة برمجة, إنما هي طرق التحليل و التفكير التي عليك اتباعها حتى تتمكن من اداء مهمة معينة , والتى يمكن ان تكون مهمة بسيطة مثل حاصل ضرب رقمين او مهمة معقدة مثل تشغيل ملف فيديو مضغوط ومحركات البحث مثل جوجل تستخدم خوارزميات معقدة لاظهار نتائج البحث المناسبة لك.
ثانيا :عوامل جودة الخوارزمية :
يجب أن تستوفي كل خوارزمية الخصائص التالية حتى تتصف بالجودة :
- تحديد المدخلات والمخرجات للخوارزمية بدقة.
- أن تكون كل خطوة في الخوارزمية واضحة.
- أن تكون الخوارزميات أكثر فعالية من حيث زمن التنفيذ والمساحة من بين العديد من الخوارزميات المختلفة لحل مشكلة ما.
- لا ينبغي أن تتضمن الخوارزمية شفرة برمجة ،بل يجب كتابة الخوارزمية بطريقة يمكن استخدامها في لغات برمجة المختلفة.
ثالثا :أمثلة على الخوارزميات في البرمجة :
1_خوارزمية لجمع رقمين أدخلهما المستخدم :
- الكود:
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 <stdio.h>
int main() {
int Num1, Num2, sum;
printf("Enter two integers: ");
scanf("%d %d", &Num1, &Num2);
sum = Num1 + Num2;
printf("%d",sum);
return 0;
}
التنفيذ بلغة ++C
- الكود:
#include <iostream>
using namespace std;
int main()
{
int Num1, Num2, sum;
cout << "Enter two integers: ";
cin >> Num1 >> Num2;
sum = Num1 + Num2;
// Prints sum
cout << sum;
return 0;
}
التنفيذ بلغة Java
- الكود:
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
int Num1, Num2, sum;
Scanner sc = new Scanner(System.in);
System.out.println("Enter two integers:");
Num1 = sc.nextInt();
Num2 = sc.nextInt();
sum = Num1 + Num2;
System.out.println(sum);
}
}
2_خوارزمية لإيجاد أكبر عدد من بين ثلاثة أعداد مختلفة :
- الكود:
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.
Else
If b > c
Display b is the largest number.
Else
Display c is the greatest number.
Step 5: Stop
3_خوارزمية لفحص الاعداد الاولية :
- الكود:
Step 1: Start
Step 2: Declare variables n, i, flag.
Step 3: Initialize variables
flag ← 1
i ← 2
Step 4: Read n from the user.
Step 5: Repeat the steps until i=(n/2)
5.1 If remainder of n÷i equals 0
flag ← 0
Go to step 6
5.2 i ← i+1
Step 6: If flag = 0
Display n is not prime
else
Display n is prime
Step 7: Stop
زهراء- ........
- تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة :
الجنس :
رد: مفهوم الخوارزميات فى البرمجة Algorithm
جزاك الله خيرا اختي العزيزه.... استمري في العطاء
محمد حمودة- .
- تاريخ التسجيل : 03/11/2022
المساهمات : 1
النقاط : 1
التقيم : 0
الدولة :
الجنس :
| |
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» أفضل موقع تأجير سيارات في مصر
» مدرس رياضيات متوسط ثانوي 97234924 بالكويت
» شركة آي بي إس للخدمات الاستشارية المالية وتكنولوجيا المعلومات
» ادارة متجرك الالكتروني
» مدرس انجليزي متوسط ثانوي 97234912 بالكويت
» شركة IBS للاستشارات الاقتصادية والادارية
» أحصل ملبغ مالى "رمزي " نظير مشاركاتك و مقالاتك بالمنتدي
» "أحلامنا المرآة: فك رموزها واستكشاف عمق المعاني"