0% found this document useful (1 vote)
726 views8 pages

Matlab

الوثيقة تشرح مفهوم الخوارزميات والمخططات الانسيابية. تعرض أنواع الأشكال والرموز المستخدمة في المخططات الانسيابية. كما تقدم أمثلة توضيحية على كيفية كتابة الخوارزميات ورسم المخططات الانسيابية لحل مسائل حسابية بسيطة.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (1 vote)
726 views8 pages

Matlab

الوثيقة تشرح مفهوم الخوارزميات والمخططات الانسيابية. تعرض أنواع الأشكال والرموز المستخدمة في المخططات الانسيابية. كما تقدم أمثلة توضيحية على كيفية كتابة الخوارزميات ورسم المخططات الانسيابية لحل مسائل حسابية بسيطة.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫الخوارزميات والمخططات االنسيابية‬

‫‪Algorithms and Flow charts‬‬

‫لحل أي مسالة حسابية او منطقية عبر استخدام الحاسبة البد ان يتم تعريف المسالة ثم تحديد‬
‫معالمها وتحليل عناصرها ‪ ،‬بالتالي يجب مراعاة ما يلي‪:‬‬
‫‪ -1‬تحديد البيانات المعطاة‪.‬‬
‫‪ -2‬توضيح الهدف او الغاية من حل المسالة‪.‬‬
‫‪ -3‬تحديد النتائج المطلوبة‪.‬‬
‫‪ -4‬وضع طريقة للحل على شكل مجموعة من الخطوات المتسلسلة والمتعاقبة‪.‬‬
‫ان مجموعة الخطوات المتسلسلة التي يتم وضعها لحل المسالة تدعى الخوارزمية ‪Algorithm‬‬
‫ويمكن تمثيل هذه الخطوات باستخدام اشكال رمزية لها معاني محددة ومترابطة فيما بينها‬
‫بشكل مخطط وصفي تسلسلي يدعى المخطط االنسيابي (‪.)Flow Chart‬‬

‫الخوارزميات (‪)Algorithms‬‬

‫ما هي الخوارزمية ‪:‬‬


‫هي عبارة عن مجموعة من الخطوات التي تؤدي عند تنفيذها الى الحل المطلوب‪.‬‬
‫لماذا سميت الخوارزمية بهذا االسم؟‬
‫سميت بهذا االسم نسبة للعالم محمد بن موسى الخوارزمي الذي عاش في القرن التاسع ونبغ في‬
‫علم الجبر‪.‬‬
‫مالحظات هامة عن الخوارزميات ‪:‬‬
‫الخطوط العامة لبناء الخوارزمية‪:‬‬
‫‪ -1‬لكل خوارزمية مجموعة من الخطوات تمثل العمليات التي نجريها للوصول الى الناتج‪.‬‬
‫‪ -2‬يجب أن يكون لكل خوارزمية بداية ونهاية‪.‬‬
‫‪ -3‬غالبا نستخدم في الخوارزمية األمر (اقرا) إلدخال البيانات أو المعطيات‪.‬‬
‫‪ -4‬غالبا نستخدم في الخوارزمية األمر(احسب) لحساب معادلة أو صيغة رياضية ‪.‬‬
‫‪ -5‬قد نستخدم في الخوارزمية األمر (اجعل) في حالة إسناد قيمة إلى متغير أو في الصيغ‬
‫المنطقية‪.‬‬
‫‪ -6‬قد نستخدم في الخوارزمية األمر (انتقل إلى) لالنتقال إلى خطوة سابقة أو الحقة ‪.‬‬
‫‪ -7‬قد نستخدم في الخوارزمية األمر (إذا كان ) للداللة على عملية مقارنة أو الشرط ويجب‬
‫أن يتلو عملية المقارنة عمليتين للداللة على تحقق الشرط التي تبدأ ب(فان ‪ ،‬فاحسب ‪،‬‬
‫فاجعل‪ ،‬فانتقل إلى) و عند عدم تحققه التي تبدأ ب(وإال فاحسب‪،‬وإال فانتقل إلى ‪ ،‬وإال‬
‫فاجعل)‪.‬‬

‫‪ -8‬قد نستخدم في الخوارزمية الرمز(*) كعالمة للضرب‪ ،‬والرمز (‪ )/‬كعالمة للقسمة ‪،‬‬
‫والرمز (‪ )+‬للجمع ‪ ،‬والرمز(‪ )-‬للطرح‪.‬‬
‫‪ -9‬غالبا نستخدم في الخوارزمية األمر (اطبع) إلخراج المطلوب حسابه‪.‬‬
‫تؤدي العمليات بمجملها إلى حل المسالة الحل الصحيح‪.‬‬ ‫‪-11‬‬
‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫ليس من الضروري أن نستخدم كل األوامر الموجودة في أعاله لحل خوارزمية‬ ‫‪-11‬‬


‫معينة (حيث أن االستخدام يتحدد حسب طبيعة المسالة)‪.‬‬

‫مثال رقم (‪ : )1‬اكتب برنامج يقوم باستقبال درجة الحرارة بالنظام المئوي (‪ )Celsius‬ويحولها‬
‫الى النظام الفهرنهايتي (‪ ، )Fahrenheit‬علما بان معادلة التحوبل هي ‪:‬‬
‫‪Fahrenheit= 9/5 *Celsius -32‬‬
‫الحل ‪:‬‬
‫المعطيات ‪ :‬درجة الحرارة بالنظام المئوي ‪ ،‬ومعادلة التحويل‪.‬‬
‫المطلوب ‪ :‬درجة الحرارة بالنظام الفهرنهايتي‪.‬‬
‫‪ -1‬البداية‬
‫‪ -2‬اقرا درجة الحرارة بالنظام المئوي (‪. )Celsius‬‬
‫‪ -3‬احسب درجة الحرارة بالنظام الفهرنهايتي (‪)Fahrenheit= 9/5 * Celsius -32‬‬
‫‪ -4‬اطبع قيم ‪ Celsius‬و ‪. Fahrenheit‬‬
‫‪ -5‬النهاية‬

‫مثال رقم (‪ :)2‬اكتب خوارزمية لقراءة عددين وايجاد حاصل جمعهما؟‬


‫الحل ‪:‬‬
‫المعطيات ‪ :‬العدد االول (س) ‪ ،‬العدد الثاني (ص)‬
‫المطلوب ‪ :‬حساب المجموع (م) ‪ ،‬حيث م= س‪+‬ص‬

‫البداية‬ ‫‪-1‬‬
‫اقرا العدد االول (س)‬ ‫‪-2‬‬
‫اقرا العدد الثاني (ص)‬ ‫‪-3‬‬
‫احسب م= س‪+‬ص‬ ‫‪-4‬‬
‫اطبع (م)‬ ‫‪-5‬‬
‫النهاية‬ ‫‪-6‬‬

‫المخطط االنسيابي (‪)Flow Chart‬‬


‫ما هو المخطط االنسيابي ؟‬

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

‫األشكال الهندسية المستخدمة في المخطط االنسيابي ‪:‬‬

‫‪ -1‬الشكل البيضوي ‪ :‬يستخدم للبداية (‪ )START‬والنهاية (‪.)END‬‬

‫‪ -2‬المستطيل ‪:‬يستخدم للعمليات الحسابية وتعيين قيم المتغيرات(‪.(MAKE,CALC‬‬


‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫‪ -3‬متوازي األضالع ‪ :‬للقراءة والطباعة (‪.)READ,PRINT‬‬

‫‪ -4‬شكل المعين ‪ :‬يستخدم للمقارنة والعمليات المنطقية (‪.)IF‬‬

‫‪ -5‬الدائرة‪ :‬تستخدم لتوضيح نقاط توصيل المخطط االنسيابي ‪ ،‬وغالبا في حالة المخططات‬
‫ذات االحجام الكبيرة‪.‬‬

‫‪ -6‬السهم يستخدم للتوصيل بين األشكال الهندسية السابقة ولالنتقال من خطوة إلى أخرى‬
‫وتوضيح مسار المخطط ‪.‬‬

‫مثال رقم (‪ : )3‬اكتب خوارزمية الحل وارسم المخطط االنسيابي لقراءة طول وعرض مستطيل‬
‫وحساب مساحته ؟‬
‫الحل ‪:‬‬
‫المعطيات ‪ :‬طول المستطيل (‪ ، )L‬عرض المستطيل (‪.)W‬‬
‫المخطط االنسيابي‬ ‫المطلوب ‪ :‬مساحة المستطيل ‪Area=L*W‬‬

‫‪START‬‬ ‫الخوارزمية ‪:‬‬


‫‪ -1‬البداية‬
‫‪ -2‬اقرأ (‪ )L‬و (‪)W‬‬
‫‪ -3‬احسب ‪Area=L*W‬‬
‫‪READ L,W‬‬ ‫‪ -4‬اطبع قيمة (‪)Area‬‬
‫‪ -5‬النهاية‬
‫‪CALC Area=L*W‬‬

‫‪PRINT Area‬‬

‫‪END‬‬
‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫مثال رقم (‪: )4‬اكتب خوارزمية الحل وارسم المخطط االنسيابي لبرنامج يقوم بطباعة معدل ثالث‬
‫درجات ؟‬
‫المعطيات ‪ :‬قراءة ثالثة درجات (‪)A,B,C‬‬
‫المطلوب ‪ :‬جمع األعداد الثالثة ثم تقسيم المجموع على ‪3‬‬

‫الحل ‪:‬‬
‫المخطط االنسيابي‬ ‫الخوارزمية‬

‫‪START‬‬ ‫البداية‬ ‫‪-1‬‬


‫اقرأ الدرجات الثالث (‪)A,B,C‬‬ ‫‪-2‬‬
‫احسب قيمة المجموع (‪)sum=A+B+C‬‬ ‫‪-3‬‬
‫احسب قيمة المعدل (‪)Average=sum/3‬‬ ‫‪-4‬‬
‫‪READ A,B,C‬‬ ‫اطبع المعدل ‪Average‬‬ ‫‪-5‬‬
‫النهاية‬ ‫‪-6‬‬

‫‪CALC‬‬ ‫‪Sum=A+B+C‬‬

‫‪CALC Average=sum/3‬‬

‫‪PRINT Average‬‬

‫‪END‬‬

‫مثال رقم ‪ : 5‬اكتب خوارزمية الحل وارسم المخطط االنسيابي لبرنامج يقوم بقراءة عدد واحد‬
‫فقط في كل مرة ويقوم بمقارنة العدد مع الرقم ‪ 1111‬فاذا كان العدد اقل من ‪ 1111‬يقوم بإعادة‬
‫القراءة مرة أخرى لعدد آخر وإال فانه يقوم بطباعة العدد ؟‬

‫المعطيات ‪ :‬قراءة عدد واحد في كل مرة (‪)A‬‬


‫المطلوب‪ :‬مقارنة العدد مع ‪ 1111‬فإذا كان اقل من ‪ 1111‬نقوم بإعادة القراءة وإال يقوم البرنامج‬
‫بطباعة العدد‪.‬‬
‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫المخطط االنسيابي‬ ‫الخوارزمية ‪:‬‬


‫‪ -1‬البداية‬
‫‪ -2‬اقرأ العدد ‪A‬‬
‫‪START‬‬
‫‪ -3‬إذا كان (‪)A<1000‬‬
‫‪ -4‬فانتقل للخطوة رقم ‪2‬‬
‫‪ -5‬وإال فاطبع ‪A‬‬
‫‪ -6‬النهاية‬
‫‪READ A‬‬

‫‪IF‬‬
‫‪No‬‬ ‫‪yes‬‬
‫‪A<1000‬‬

‫‪PRINT A‬‬

‫‪END‬‬
‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫مثال رقم ‪ : 6‬اكتب خوارزمية الحل وارسم المخطط االنسيابي لبرنامج يقوم بإيجاد وطباعة‬
‫مساحة الشكل الغامق في الشكل التالي؟‬
‫علما أن‪:‬‬
‫‪2‬‬
‫مساحة المربع = طول الضلع ‪R‬‬
‫‪R‬‬
‫‪W‬‬ ‫مساحة المستطيل = الطول (‪ * )H‬العرض (‪)W‬‬

‫‪H‬‬ ‫الخوارزمية ‪:‬‬


‫‪ -1‬البداية‬
‫‪ -2‬اقرأ ‪R,H,W‬‬
‫المخطط االنسيابي‬ ‫‪Square Area=R‬‬ ‫‪2‬‬
‫‪ -3‬احسب‬
‫‪Rectangle Area=H*W‬‬ ‫‪ -4‬احسب‬
‫‪START‬‬ ‫‪ -5‬احسب ‪Bold Area=Rectangle Area - Square Area‬‬
‫‪ -6‬اطبع قيمة ‪Bold Area‬‬
‫‪ -7‬النهاية‬

‫‪READ R,H,W‬‬

‫‪CALC‬‬ ‫‪Square Area=R2‬‬

‫‪CALC‬‬ ‫‪Rectangle Area=H*W‬‬

‫‪CALC Bold Area=Rectangle Area - Square Area‬‬

‫‪PRINT Bold Area‬‬

‫‪END‬‬
‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫مثال رقم ‪ : 7‬اكتب خوارزمية الحل وارسم المخطط االنسيابي لبرنامج يقوم بطباعة األعداد‬
‫المحصورة بين (‪ )11-1‬؟‬
‫المعطيات ‪ :‬اجعل ‪X=1‬‬
‫المخطط االنسيابي‬ ‫المطلوب ‪ :‬طباعة األعداد من ‪ 1‬إلى ‪11‬‬

‫‪START‬‬
‫الخوارزمية ‪:‬‬
‫‪ -1‬البداية‬
‫‪ -2‬اجعل ‪X=1‬‬
‫‪ -3‬إذا كان ‪X<10‬‬
‫‪MAKE‬‬ ‫‪X=1‬‬ ‫‪ -4‬فاطبع ‪X‬‬
‫{‬ ‫‪ -5‬فاحسب ‪X=X+1‬‬
‫‪ -6‬فانتقل للخطوة ‪3‬‬
‫‪ -7‬وإال فانتقل للخطوة ‪8‬‬
‫‪No‬‬ ‫‪Yes‬‬
‫‪IF‬‬ ‫‪ -8‬النهاية‬
‫‪X<=10‬‬

‫‪PRINT X‬‬

‫‪CALC‬‬ ‫‪X=X+1‬‬

‫‪END‬‬
‫جامعة بابل‪ -‬كلية التربية للعلوم اإلنسانية ‪ -‬المرحلة األولى ‪ -‬الخوارزميات والمخططات االنسيابية‬

‫تمارين إضافية ‪ :‬التمارين التالية مطلوب حلها كواجب بيتي ويناقش الحل داخل المحاضرة ‪.‬‬

‫تمرين رقم ‪ :1‬اكتب الخوارزمية وارسم المخطط االنسيابي لبرنامج يقوم بقراءة ثالثة أعداد‬
‫(‪ )A,B,C‬ومعرفة العدد األكبر بينها؟‬

‫تمرين رقم ‪ : 2‬اكتب الخوارزمية وارسم المخطط االنسيابي لبرنامج يقوم بقراءة عدد وطباعة‬
‫كلمة ‪ Positive‬إذا كانت قيمة العدد اكبر من أو تساوي صفر ‪ ،‬وكلمة ‪ Negative‬إذا كان‬
‫العدد اقل من الصفر ؟‬

‫تمرين رقم ‪ :3‬اكتب الخوارزمية وارسم المخطط االنسيابي لبرنامج يقوم بطباعة األعداد‬
‫الزوجية المحصورة بين (‪ )111 -2 1‬؟‬

‫تمرين رقم ‪ : 4‬اكتب الخوارزمية وارسم المخطط االنسيابي لبرنامج يقوم بطباعة األعداد الفردية‬
‫بين (‪ )22-11‬؟‬

‫تمرين رقم ‪ : 5‬اكتب الخوارزمية وارسم المخطط االنسيابي لبرنامج يقوم باستقبال عددين ‪،‬‬
‫ويستبدل أماكنهما في الذاكرة ؟‬

You might also like