أهلا وسهلا بك إلى منتديات مديرية التكوين المهني.

منتدى المتربصين
 
الرئيسيةPortailمكتبة الصورس .و .جالتسجيلدخول
اهلا بكم في منتديات معهد الوطني المنتخصص في التكوين و التعليم المهنيين - نوميرات -غاردية
المواضيع الأخيرة
» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:57 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:55 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:53 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:51 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:50 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:49 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:42 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:40 من طرف علي رجب حسين

» جامعة المدينة العالمية
الإثنين 27 يوليو - 23:37 من طرف علي رجب حسين


شاطر | 
 

 سلسلة تمارين وحلول في الMatlab

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
Admin
avatar

Messages : 153
Date d'inscription : 06/05/2009

مُساهمةموضوع: سلسلة تمارين وحلول في الMatlab   الإثنين 28 سبتمبر - 4:29

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

if/esle
في هذا الجزء من الدرس نختبر ما إن كان الشرط الصحيح فيقوم ببعض التعليمات وإن كان عكس ذلك يقوم بتنفيذ تعليمات أخرى. ليس إجباري أن يكون الجزء الثاني متواجد ولكن إضافته تيسر تتبع الإستثناآت في ترجمة الكود أو تنفيذ تعليمات أخرى.
كود
if condition
statements A
else
statements B
end
هنا تجسيد لعمل الخوارزمية حيث الجزء "خروج" يعني الخروج من ركن إختبار الشرط الذي تم تحديده وليس بالضرورة خروج من البرنامج.

ifelse.JPG ( 7.92كيلوا بايت ) عدد مرات التحميل: 37


مثال:
كود
a=10;

% if without else
if(a==10)
disp('Yes a is equal to 10');
end

% if with else
if(a==20)
disp('Yes, a is equal to 10');
else
disp('No, a is different to 10');
end
من الممكن القيام بإختبار على شرط ما داخل إختبار آخر. إذا تحقق الشرط الأول يتم المرور الى الشرط الثاني المتواجد داخله والذي يفهمه المترجم على أنه جزء من تعليمات الشرط الأول.
كود
if condition1
if condition2
statements A
end
else statements B
end
ifif.JPG ( 10.42كيلوا بايت ) عدد مرات التحميل: 28


كود
b=14;
clc
if((a<15) & (a>2))
if(b˜=14)
disp('Second conditions satisfied');
end
disp('First conditions satisfied');
else
disp('no conditions satisfied');
end

if/esleif/else
أحيانا تتداخل الشروط وتترابط ببعضها ويصبح الكود السابق غير ناجع بما فيه الكفاية, لذلك أقدم في هذا الجزء من الدرس نوعية أخرى من الخوارزمية تستجيب لذلك.
كود
if condition1
statements A
elseif condition2
statements B
elseif condition3
statements C
...
else
statements E
end
iiiiif.JPG ( 17.18كيلوا بايت ) عدد مرات التحميل: 26


مثال:
كود
a=input('Please enter a number: ');
if(a==20)
disp('a is equal to 20');
elseif (a==15)
disp('a is equal to 15');
elseif (a==10)
disp('a is equal to 10');
else
disp('unexpected a');
end

iiiiiiiiiiif.JPG ( 18.12كيلوا بايت ) عدد مرات التحميل: 27

لإجتناب مثل هذا العمل الآلي والمضني خاصة عند تعدد الشروط, يوفر الماطلاب كباقي لغات البرمجة إمكانية إستعمال طريقة الSwitch. كلتا الطريقتين توفر نفس النتيجة وهو ما يعلله الرسم التجسيدي للخوارزميتين ولكن في الطريقة الأولى يتم إختبار كافة الشروط الى أن يصل الى الشرط الناجح في حين أن الطريقة الثانية يتم الإنتقال مباشرة إلى الحالة المعنية أو "التلقائي" إذا لم تستجب أي حالة من الحالات المستعرضة لقيمة المتغير المعني.

Switch
كود
switch Input
case val_A
statements A
case val_B
statements B
case val_C
statements C
...
otherwise
statements Z
end
switch.JPG ( 23.15كيلوا بايت ) عدد مرات التحميل: 26


مثال:
كود
a=input('Please select a number');
switch a
case 1
disp('you selected 1.')
case 2
disp('you selected 2.')
case 3
disp('you selected 3.')
case 4
disp('you selected 4.')
otherwise
disp('Unknown selection.')
end


for
تمكن إستعمال الكلمة المفتاح for من إجتناب إعادة كتابة تعليمات ما عدة مرات ويكفي كتابة تلك التعليمات داخل نص الحلقة وتحديد عدد مرات التكرار المرموز له ب "ح" في الرسم الموالي. عند بدأ تنفيذ الحلقة يأخذ متغير الحلقة "س" القيمة الأولية المسندة ويزيدها (ينقص منها) الخطوة حتي يصل الى قيمة الحد "ح". القيمة التلقائية للخطوة تساوي 1 ويمكن تعديلها كما هو في المثال.
مثال:
كود
for i=0:.1:10
a=i
end

for.JPG ( 6.76كيلوا بايت ) عدد مرات التحميل: 28



while
كود
while condition,
Statements
end

مثال:
كود

a=input('Please choose a number a: ');
while a<0,
a=input('Please choose a postive number a: ');
end
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://numibox.spaces.live.com
 
سلسلة تمارين وحلول في الMatlab
استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

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