Algorithm
Algorithm
Objective
– Learn what an algorithm is and explore problem-solving
techniques
– Become aware of structured design and object-oriented design
programming methodologies
3.1 Introduction
› Before writing a program:
– Have a thorough understanding of the problem
– Carefully plan an approach for solving it
› While writing a program:
– Know what “building blocks” are available
– Use good programming principles
3
الگوریتم Algorithm
› به مجموعه ازیک یا چند دستورالعمل که اجرای آنها با ترتیب تعین شده منجر به
انجام یک کار به و-یژه حل یک مسله گردد الگوریتم گفته میشود.
› مجموعه از دستورالعمل های که با یک -ترتیب معین و خاص و همچنین مرحله به
مرحله انجام شده و -موجب حل مسله ای میگردد.
ویژگی های یک الگوریتم
.1تعداد دستورالعمل ها مشخص باشد
.2ابتدا وانتها داشته باشد ( از مرحله ای شروع و به مرحله ای ختم شود)
.3هر دستورالعمل عاری از ابهام و پیچیدگی ها باشد.
.4هر دستورالعمل قابل فهم و قابل اجرا باشد.
.5از اجرای به هدف خاص و معینی برسیم.
تعریف الگوریتم از دیدگاه یک ماشین
› الگوریتم یک ماشین ساده است که قابلیت ›
های زیر را دارد:
.1دریافت یک یا چند دیتا به عنوان ورودی
.2ارسال یک یا چند دیتا به عنوان خروجی
.3انجام عملیات بین دو دیتا دلخواه
.4ذخیره دیتا و اطالعات در قسمتی از
ماشین
.5انجام اعمال ریاضی خاص مثل جمع
تفریق ...
مراحل نوشتن یک الگوریتم
› درابتدا هر الگوریتم کلمه شروع و در انتها کلمه پایان قرار دهید.
› برای هر دستورالعمل شماره ای در نظر بگیرید.
› برای محاسبه یک -عبارت ریاضی یا انجام عملیات روی چند دیتا حتما مکانی
برای ذخیره دیتا و نتایج ان در نظر بگیرید.
› برای قرار دادن مقداری در یک خانه الگوریتم یا یک مکان از حافظه ماشین
الگوریتم از عالمت فرضی استفاده نمایید.
مثال
› مفهوم هریک از عبارات زیر را برای ماشین الگو-ریتم بنوسید.
A 2 .1
B 2*3-5 .2
C B+1 .3
J J+1 .4
مثال
› الگوریتم بنوسید که سه عدد 2,3,5را در سه خانه A,B,Cذخیره کرده و سپس
اوسط آنرا محاسبه و چاپ نماید.
› حل مسله:
.1شناخت مسله :دیتا های مسله اعداد 2,3,5هستند و نتیجه حاصل از انها اوسط
سه عدد است.
.2طرح نقشه مسله :فرمول محاسبه اوسط سه عدد.
اوسط سه عدد= مجموع سه عدد تقسیم 3
› الگوریتم مسله ذکر شده به صورت ذیل است
.1شروع
.2عدد 2را در خانه Aقرار بده
.3عدد 3را در خانه Bقرار بده
.4عدد 5را در خانه Cقرار بده
.5خانه های A,B,Cرا جمع کن در خانه Sقرار بده
.6مقدار خانه Sرا بر 3تقسیم کن و در AVEقرار بده
.7مقدار خانه AVEرا چاپ کن
.8پایان
› عموما برای ساده تر شدن الگوریتم و قابل فهم بودن ان از فرم نوشتاری در ریاضیات برای
دستورالعملها ,بجای فرم دری استفاده میشود.
.1شروع
A 2 .2
B 3 .3
C 5 .4
S A+B+C .5
AVE S/3 .6
AVE .7را چ-اپک---ن
.8پایان
› حقوق یک کارگر Aافغانی است و هر
ماه %10از حقوق وی بخاطر بیمه و
%5هم مالیه کسر میگردد .الگوریتمی
بنوسید که حقوق یک کارگر را به
عنوان ورودی گرفته و حقوق خالص
آنرا حساب نموده و چاپ نماید.
› Bمقدار بیمه
› Mمقدار ما--لیه-
› Hمقدار حقوقخ-ا--لص
جمالت شرطی
› این جمالت به دو نوع تقسیم میشوند:
.1شرطی نو-ع ساده
در این گونه جمالت شرطی اگر شرط بعد از IFدرست باشد دستورات مقابل
THENاجرا و به خط بعدی منتقل میشود اما اگر شرط نادرست باشد دستورات
مقابل THENاجرا نگردیده و -مستقیما به خط بعد میرود.
اگر شرط درست باشد میتو-ان اجرای برنامه را به چند خط باالتر ویا پایانتر انتقال
داد.
مثال
› الگوریتم بنوسید که اعداد جفت دو رقمی را یکی یکی محاسبه و -چاپ نماید.
Programming with the Problem Analysis–
Coding–Execution Cycle
› Algorithm:
– Step-by-step problem-solving
process
– Solution achieved in finite
amount of time
› Programming is a process
of problem solving
Thank You