‫فلوچارت‬ ‫و‬ ‫الگوریتم‬‫فلوچارت‬ ‫و‬ ‫الگوریتم‬
‫الگوریتم‬ ‫تعریف‬‫الگوریتم‬ ‫تعریف‬
‫با‬ ‫را‬ ‫کاری‬ ‫انجام‬ ‫مراحل‬ ‫که‬ ‫دستورالعملی‬ ‫هر‬‫با‬ ‫را‬ ‫کاری‬ ‫انجام‬ ‫مراحل‬ ‫که‬ ‫دستورالعملی‬ ‫هر‬
‫نماید‬ ‫بیان‬ ‫کافی‬ ‫جزئیات‬ ‫با‬ ‫و‬ ‫دقیق‬ ‫زبانی‬‫نماید‬ ‫بیان‬ ‫کافی‬ ‫جزئیات‬ ‫با‬ ‫و‬ ‫دقیق‬ ‫زبانی‬
‫عملیات‬ ‫خاتمه‬ ‫شرط‬ ‫و‬ ‫مراحل‬ ‫ترتیب‬ ‫بطوریکه‬‫عملیات‬ ‫خاتمه‬ ‫شرط‬ ‫و‬ ‫مراحل‬ ‫ترتیب‬ ‫بطوریکه‬
‫الگوریتم‬ ‫را‬ ‫باشد‬ ‫شده‬ ‫مشخص‬ “ ‫کامل‬ ‫آن‬ ‫در‬‫الگوریتم‬ ‫را‬ ‫باشد‬ ‫شده‬ ‫مشخص‬ “ ‫کامل‬ ‫آن‬ ‫در‬
.‫گویند‬.‫گویند‬
‫الگوریتم‬ ‫تعریف‬ ‫ادامه‬‫الگوریتم‬ ‫تعریف‬ ‫ادامه‬
‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫دقیق‬ ‫زبان‬‫دقیق‬ ‫زبان‬‫همان‬ ‫به‬ “ ‫دقیقا‬ ‫الگوریتم‬ ‫که‬ ‫است‬ ‫آن‬ :‫همان‬ ‫به‬ “ ‫دقیقا‬ ‫الگوریتم‬ ‫که‬ ‫است‬ ‫آن‬ :
.‫گردد‬ ‫اجرا‬ ‫است‬ ‫نویسنده‬ ‫نظر‬ ‫مورد‬ ‫صورتیکه‬.‫گردد‬ ‫اجرا‬ ‫است‬ ‫نویسنده‬ ‫نظر‬ ‫مورد‬ ‫صورتیکه‬
‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫کافی‬ ‫جزئیات‬‫کافی‬ ‫جزئیات‬‫الگوریتم‬ ‫اجرای‬ ‫طول‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ،‫الگوریتم‬ ‫اجرای‬ ‫طول‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ،
‫هدف‬ ‫و‬ ‫مسیر‬ ‫از‬ ‫انحراف‬ ‫باعث‬ ‫و‬ ‫نیامده‬ ‫پیش‬ ‫ناشناخته‬ ‫عملیات‬‫هدف‬ ‫و‬ ‫مسیر‬ ‫از‬ ‫انحراف‬ ‫باعث‬ ‫و‬ ‫نیامده‬ ‫پیش‬ ‫ناشناخته‬ ‫عملیات‬
.‫نگردد‬ ‫اصلی‬.‫نگردد‬ ‫اصلی‬
‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫مراحل‬ ‫ترتیب‬‫مراحل‬ ‫ترتیب‬‫قدم‬ ‫الگوریتم‬ ‫اجرای‬ ‫مراحل‬ ‫که‬ ‫است‬ ‫آن‬ ،‫قدم‬ ‫الگوریتم‬ ‫اجرای‬ ‫مراحل‬ ‫که‬ ‫است‬ ‫آن‬ ،
.‫باشد‬ ‫شده‬ ‫مشخص‬ ‫خر‬ ‫تأ‬ ‫و‬ ‫تقدم‬ ‫رعایت‬ ‫با‬ ‫و‬ ‫قدم‬ ‫به‬.‫باشد‬ ‫شده‬ ‫مشخص‬ ‫خر‬ ‫تأ‬ ‫و‬ ‫تقدم‬ ‫رعایت‬ ‫با‬ ‫و‬ ‫قدم‬ ‫به‬
‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫خاتمه‬ ‫شرط‬‫خاتمه‬ ‫شرط‬‫بهر‬ ‫و‬ ‫باشد‬ ‫می‬ ‫الگوریتم‬ ‫بودن‬ ‫پذیر‬ ‫پایان‬ ،‫بهر‬ ‫و‬ ‫باشد‬ ‫می‬ ‫الگوریتم‬ ‫بودن‬ ‫پذیر‬ ‫پایان‬ ،
‫داده‬ ‫شرایط‬ ‫یا‬ ‫شرایط‬ ‫تحت‬ ‫و‬ ‫دلخواه‬ ‫زمانی‬ ‫در‬ ‫باید‬ ‫الگوریتم‬ ‫حال‬‫داده‬ ‫شرایط‬ ‫یا‬ ‫شرایط‬ ‫تحت‬ ‫و‬ ‫دلخواه‬ ‫زمانی‬ ‫در‬ ‫باید‬ ‫الگوریتم‬ ‫حال‬
.‫پذیرد‬ ‫خاتمه‬ ‫شده‬.‫پذیرد‬ ‫خاتمه‬ ‫شده‬
‫الگوریتم‬ ‫تهیه‬ ‫مراحل‬‫الگوریتم‬ ‫تهیه‬ ‫مراحل‬
:‫شوند‬ ‫اجرا‬ ‫خاصی‬ ‫مراحل‬ ‫باید‬ ‫کارآمد‬ ‫و‬ ‫خوب‬ ‫الگوریتم‬ ‫یک‬ ‫تهیه‬ ‫برای‬:‫شوند‬ ‫اجرا‬ ‫خاصی‬ ‫مراحل‬ ‫باید‬ ‫کارآمد‬ ‫و‬ ‫خوب‬ ‫الگوریتم‬ ‫یک‬ ‫تهیه‬ ‫برای‬
11‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫را‬ ‫مسئله‬ ‫باید‬ :‫مسئله‬ ‫دقیق‬ ‫تعریف‬ -‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫را‬ ‫مسئله‬ ‫باید‬ :‫مسئله‬ ‫دقیق‬ ‫تعریف‬ -
‫نداشته‬ ‫وجود‬ ‫آن‬ ‫فهم‬ ‫در‬ ‫ابهامی‬ ‫کوچکترین‬ ‫تا‬ ‫کرده‬‫نداشته‬ ‫وجود‬ ‫آن‬ ‫فهم‬ ‫در‬ ‫ابهامی‬ ‫کوچکترین‬ ‫تا‬ ‫کرده‬
.‫باشد‬.‫باشد‬
22‫نیاز‬ ‫مورد‬ (‫اصلی)متغییرهای‬ ‫عوامل‬ ‫تعیین‬ -‫نیاز‬ ‫مورد‬ (‫اصلی)متغییرهای‬ ‫عوامل‬ ‫تعیین‬ -
33‫و‬ ‫ها‬ ‫)داده‬ : ‫مسئله‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫تعیین‬ -‫و‬ ‫ها‬ ‫)داده‬ : ‫مسئله‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫تعیین‬ -
(‫اطلعات‬(‫اطلعات‬
44‫مسئله‬ ‫مختلف‬ ‫های‬ ‫حل‬ ‫راه‬ ‫بررسی‬ -‫مسئله‬ ‫مختلف‬ ‫های‬ ‫حل‬ ‫راه‬ ‫بررسی‬ -
55‫مناسب‬ ‫حل‬ ‫راه‬ ‫یک‬ ‫انتخاب‬ -‫مناسب‬ ‫حل‬ ‫راه‬ ‫یک‬ ‫انتخاب‬ -
66‫زدایی‬ ‫اشکال‬ -‫زدایی‬ ‫اشکال‬ -
‫فلوچارت‬‫فلوچارت‬
‫الگوریتم‬ ‫تصویری‬ ‫بیان‬‫الگوریتم‬ ‫تصویری‬ ‫بیان‬
‫هندسی‬ ‫اشکال‬ ‫با‬ ‫کار‬ ‫انجام‬ ‫مراحل‬‫هندسی‬ ‫اشکال‬ ‫با‬ ‫کار‬ ‫انجام‬ ‫مراحل‬
.‫شوند‬ ‫می‬ ‫داده‬ ‫نشان‬.‫شوند‬ ‫می‬ ‫داده‬ ‫نشان‬
‫به‬ ‫خطوط‬ ‫توسط‬ ‫کار‬ ‫انجام‬ ‫مراحل‬‫به‬ ‫خطوط‬ ‫توسط‬ ‫کار‬ ‫انجام‬ ‫مراحل‬
.‫گردند‬ ‫می‬ ‫وصل‬ ‫هم‬.‫گردند‬ ‫می‬ ‫وصل‬ ‫هم‬
‫مثال‬‫مثال‬ ‫شرح‬‫شرح‬ ‫شکل‬‫شکل‬
‫خاتمه‬ ‫و‬ ‫شروع‬ ‫دادن‬ ‫نشان‬ ‫برای‬‫خاتمه‬ ‫و‬ ‫شروع‬ ‫دادن‬ ‫نشان‬ ‫برای‬
‫عملیات‬‫عملیات‬
‫مقداردهی‬ ‫و‬ ‫محاسبات‬‫مقداردهی‬ ‫و‬ ‫محاسبات‬
‫اطلعات‬ ‫ورود‬‫اطلعات‬ ‫ورود‬
‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫خروج‬‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫خروج‬
‫روی‬ ‫بر‬ ‫اطلعات‬ ‫خروج‬‫روی‬ ‫بر‬ ‫اطلعات‬ ‫خروج‬
‫کاغذ‬‫کاغذ‬
‫و‬ ‫گیری‬ ‫تصمیم‬ ،‫سئوال‬‫و‬ ‫گیری‬ ‫تصمیم‬ ،‫سئوال‬
‫دلخواه‬ ‫های‬ ‫شرط‬‫دلخواه‬ ‫های‬ ‫شرط‬
start
stop
c←a+b
d← i
A,B
A,B,”100”
?
‫ورودی‬
‫خروجی‬
‫خروجی‬
‫خروجی‬
‫مثال‬‫مثال‬11::‫را‬ ‫آنها‬ ‫حاصلضرب‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫را‬ ‫آنها‬ ‫حاصلضرب‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬
.‫دهد‬ ‫نمایش‬.‫دهد‬ ‫نمایش‬
‫شروع‬
A,B
z←A*B
z
‫پایان‬
‫مثال‬‫مثال‬22::‫محیط‬ ‫و‬ ‫مساحت‬ ،‫خوانده‬ ‫را‬ ‫دایره‬ ‫یک‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫محیط‬ ‫و‬ ‫مساحت‬ ،‫خوانده‬ ‫را‬ ‫دایره‬ ‫یک‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬
.‫دهد‬ ‫نمایش‬ ‫آنرا‬.‫دهد‬ ‫نمایش‬ ‫آنرا‬
‫شروع‬
‫پایان‬
R
A←3.14*R²
P←2*R*3.14
A,P
‫مثال‬‫مثال‬33::‫زیر‬ ‫بصورت‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫زیر‬ ‫بصورت‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬
:‫نماید‬ ‫گیری‬ ‫تصمیم‬:‫نماید‬ ‫گیری‬ ‫تصمیم‬
‫دیگر‬ ‫عدد‬ ‫دو‬ ‫جمع‬ ‫حاصل‬ ‫بود‬ ‫صفر‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -‫دیگر‬ ‫عدد‬ ‫دو‬ ‫جمع‬ ‫حاصل‬ ‫بود‬ ‫صفر‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -
‫دیگر‬ ‫عدد‬ ‫دو‬ ‫تفاضل‬ ‫بود‬ ‫منفی‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -‫دیگر‬ ‫عدد‬ ‫دو‬ ‫تفاضل‬ ‫بود‬ ‫منفی‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -
‫دیگر‬ ‫عدد‬ ‫دو‬ ‫ضرب‬ ‫حاصل‬ ‫بود‬ ‫مثبت‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -‫دیگر‬ ‫عدد‬ ‫دو‬ ‫ضرب‬ ‫حاصل‬ ‫بود‬ ‫مثبت‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -
.‫دهد‬ ‫نمایش‬ ‫را‬.‫دهد‬ ‫نمایش‬ ‫را‬
‫شروع‬
A,B,C
C=0
C<0
D←A+B
Y
N
D←A-B
Y
D←A*B
D
‫پایان‬
NN
‫مثال‬ ‫ادامه‬‫مثال‬ ‫ادامه‬33
‫مثال‬‫مثال‬44::‫مقادیر‬ ‫سپس‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫فلوچارت‬‫مقادیر‬ ‫سپس‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫فلوچارت‬
.‫نماید‬ ‫جابجا‬ ‫هم‬ ‫با‬ ‫را‬ ‫دو‬ ‫آن‬.‫نماید‬ ‫جابجا‬ ‫هم‬ ‫با‬ ‫را‬ ‫دو‬ ‫آن‬
: ‫اول‬ ‫روش‬: ‫اول‬ ‫روش‬‫متغیر‬ ‫از‬ ‫استفاده‬‫متغیر‬ ‫از‬ ‫استفاده‬
‫کمکی‬‫کمکی‬
:‫دوم‬ ‫روش‬:‫دوم‬ ‫روش‬‫عملیات‬ ‫از‬ ‫استفاده‬‫عملیات‬ ‫از‬ ‫استفاده‬
‫ریاضی‬‫ریاضی‬
‫شروع‬
A,B
A,B
T←A
A←B
B←T
A,B
‫پایان‬
‫شروع‬
A,B
A,B
َA←A+B
B←A-B
A←A-B
A,B
‫پایان‬
‫مثال‬‫مثال‬55::‫که‬ ‫کند‬ ‫تعیین‬ ،‫خوانده‬ ‫را‬ ‫مثلث‬ ‫یک‬ ‫ضلع‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫که‬ ‫کند‬ ‫تعیین‬ ،‫خوانده‬ ‫را‬ ‫مثلث‬ ‫یک‬ ‫ضلع‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬
‫خیر؟‬ ‫یا‬ ‫است‬ ‫الزاویه‬ ‫قائم‬ ‫مثلث‬ ‫آیا‬‫خیر؟‬ ‫یا‬ ‫است‬ ‫الزاویه‬ ‫قائم‬ ‫مثلث‬ ‫آیا‬
.‫کند‬ ‫صدق‬ ‫زیر‬ ‫عبارات‬ ‫از‬ ‫یکی‬ ‫در‬ ‫باید‬ ‫آن‬ ‫اضلع‬ ‫اندازه‬ ‫مثلث‬ ‫بودن‬ ‫الزاویه‬ ‫قائم‬ ‫برای‬
A²=B²+C²‫یا‬B²=A²+C²‫یا‬C²=A²+B²
‫شروع‬
A,B,C
A²=B²+C²
Y
N
B²=A²+C²
Y
N
C²=B²+A²
Y
N
“NO” “YES”
‫پایان‬
‫مثال‬‫مثال‬66::‫دوم‬ ‫درجه‬ ‫معادله‬ ‫یک‬ ‫های‬ ‫ریشه‬‫دوم‬ ‫درجه‬ ‫معادله‬ ‫یک‬ ‫های‬ ‫ریشه‬
AX²+BX+C=0AX²+BX+C=0
D=B²-4ACD=B²-4AC
‫اگر‬‫اگر‬D<0D<0‫ندارد‬ ‫ریشه‬ ‫معادله‬ ،‫ندارد‬ ‫ریشه‬ ‫معادله‬ ،
‫اگر‬‫اگر‬D=0D=0‫عبارت‬ ‫حاصل‬ ،‫عبارت‬ ‫حاصل‬ ،––B/2AB/2A‫در‬ ‫را‬‫در‬ ‫را‬X1X1‫و‬‫و‬X2X2‫بده‬ ‫قرار‬‫بده‬ ‫قرار‬
‫عبارت‬ ‫حاصل‬‫عبارت‬ ‫حاصل‬‫در‬ ‫را‬‫در‬ ‫را‬X1X1‫بده‬ ‫قرار‬‫بده‬ ‫قرار‬
‫در‬ ‫را‬ ‫عبارت‬ ‫حاصل‬‫در‬ ‫را‬ ‫عبارت‬ ‫حاصل‬X2X2‫بده‬ ‫قرار‬‫بده‬ ‫قرار‬
‫مقادیر‬‫مقادیر‬X1X1‫و‬‫و‬X2X2‫بده‬ ‫نمایش‬ ‫را‬‫بده‬ ‫نمایش‬ ‫را‬
)2/()( ADB +−
ADB 2/)( −−
‫شروع‬
A,B,C
D<0
Y
N
D=0
Y
N
X1← -B/2A
X2← X1
ADBX
ADBX
2/)(2
2/)(1
−−←
+−←
CABD ∗∗−← 4
2
“No root”
X1,X2
‫پایان‬
‫حلقوی‬ ‫های‬ ‫الگوریتم‬‫حلقوی‬ ‫های‬ ‫الگوریتم‬
‫اول‬ ‫تعریف‬‫اول‬ ‫تعریف‬:‫اجرای‬ ‫بار‬ ‫چندین‬ ‫که‬ ‫الگوریتم‬ ‫از‬ ‫مراحلی‬
‫حلقه‬ ‫یک‬ ‫تشکیل‬ ‫گردد‬ ‫می‬ ‫تکرار‬ ‫آنها‬)LOOP(.‫دهند‬ ‫می‬ ‫را‬
،‫گردد‬ ‫می‬ ‫استفاده‬ ‫کمکی‬ ‫متغیر‬ ‫یک‬ ‫از‬ ‫حلقه‬ ‫یک‬ ‫ساختن‬ ‫برای‬،‫گردد‬ ‫می‬ ‫استفاده‬ ‫کمکی‬ ‫متغیر‬ ‫یک‬ ‫از‬ ‫حلقه‬ ‫یک‬ ‫ساختن‬ ‫برای‬
‫می‬ ‫آماده‬ ‫اولیه‬ ‫مقدار‬ ‫یک‬ ‫با‬ ‫حلقه‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫را‬ ‫متغیر‬ ‫این‬‫می‬ ‫آماده‬ ‫اولیه‬ ‫مقدار‬ ‫یک‬ ‫با‬ ‫حلقه‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫را‬ ‫متغیر‬ ‫این‬
‫به‬ ‫بازگشت‬ ‫از‬ ‫قبل‬ ‫و‬ ‫حلقه‬ ‫انتهای‬ ‫در‬ “ ‫معمول‬ ‫سپس‬ ‫و‬ ‫سازیم‬‫به‬ ‫بازگشت‬ ‫از‬ ‫قبل‬ ‫و‬ ‫حلقه‬ ‫انتهای‬ ‫در‬ “ ‫معمول‬ ‫سپس‬ ‫و‬ ‫سازیم‬
‫شرائط‬ ‫یک‬ ‫تحت‬ ‫و‬ ‫کرده‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫را‬ ‫مقداری‬ ‫حلقه‬ ‫ابتدای‬‫شرائط‬ ‫یک‬ ‫تحت‬ ‫و‬ ‫کرده‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫را‬ ‫مقداری‬ ‫حلقه‬ ‫ابتدای‬
.‫نماییم‬ ‫می‬ ‫پرش‬ ‫قبل‬ ‫مراحل‬ ‫به‬ ‫خاص‬.‫نماییم‬ ‫می‬ ‫پرش‬ ‫قبل‬ ‫مراحل‬ ‫به‬ ‫خاص‬
:‫دوم‬ ‫تعریف‬:‫دوم‬ ‫تعریف‬‫متغیر‬ ‫به‬ ‫حلقه‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫که‬ ‫مقداری‬
.‫گویند‬ ‫اولیه‬ ‫شرط‬ ‫یا‬ ‫اولیه‬ ‫مقدار‬ ‫را‬ ‫شود‬ ‫می‬ ‫داده‬ ‫حلقه‬
:‫سوم‬ ‫تعریف‬:‫سوم‬ ‫تعریف‬‫مراحل‬ ‫اجرای‬ ‫یکبار‬ ‫از‬ ‫پس‬ ‫که‬ ‫مقداری‬
‫اضافه‬ ‫مقدار‬ ‫را‬ ‫شود‬ ‫می‬ ‫اضافه‬ ‫حلقه‬ ‫متغیر‬ ‫به‬ ‫حلقه‬
.‫نامند‬ ‫می‬ ‫شونده‬
‫مثال‬‫مثال‬77::‫را‬ ‫صفر‬ ‫از‬ ‫بزرگتر‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫را‬ ‫صفر‬ ‫از‬ ‫بزرگتر‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬
‫و‬ ‫مجموع‬ ‫خوانده‬ ‫را‬ ‫دیگری‬ ‫اعداد‬ ,‫عدد‬ ‫آن‬ ‫تعداد‬ ‫به‬ ‫سپس‬ ‫خوانده‬‫و‬ ‫مجموع‬ ‫خوانده‬ ‫را‬ ‫دیگری‬ ‫اعداد‬ ,‫عدد‬ ‫آن‬ ‫تعداد‬ ‫به‬ ‫سپس‬ ‫خوانده‬
.‫دهد‬ ‫نمایش‬ ‫را‬ ‫آنها‬ ‫میانگین‬.‫دهد‬ ‫نمایش‬ ‫را‬ ‫آنها‬ ‫میانگین‬
N‫شده‬ ‫خوانده‬ ‫عدد‬
C‫شمارنده‬
S‫مجموع‬
A‫اعداد‬
NSS /,
ASS +←
‫شروع‬
N
C ← 0
S ← 0
C=N
‫پایان‬
Y
N
A
1+←CC
‫مثال‬‫مثال‬88::‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬1010‫و‬ ‫گرفته‬ ‫را‬ ‫عدد‬‫و‬ ‫گرفته‬ ‫را‬ ‫عدد‬
.‫است‬ ‫فرد‬ ‫کدام‬ ‫و‬ ‫زوج‬ ‫کدام‬ ‫کند‬ ‫تعیین‬.‫است‬ ‫فرد‬ ‫کدام‬ ‫و‬ ‫زوج‬ ‫کدام‬ ‫کند‬ ‫تعیین‬‫شروع‬
C ← 0
p
k ← p-INT(p/2)*2
K=0
y
n
P, “odd”
C ← C+1
C< 10
n
y
‫پایان‬
P, “even”
‫مثال‬‫مثال‬99::‫را‬ ‫مثبت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫را‬ ‫مثبت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬
.‫دهد‬ ‫نشان‬ ‫را‬ ‫عدد‬ ‫ارقام‬ ‫تعداد‬ ‫و‬ ‫خوانده‬.‫دهد‬ ‫نشان‬ ‫را‬ ‫عدد‬ ‫ارقام‬ ‫تعداد‬ ‫و‬ ‫خوانده‬
‫شروع‬
N
S ←0 (‫ارقام‬ ‫)تعداد‬
)10/(NINTN ←
S ← S+1
N>0
Y
N
S
‫پایان‬
‫مثال‬‫مثال‬1010::‫طبیعی‬ ‫عدد‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫طبیعی‬ ‫عدد‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬N>1N>1‫مقسوم‬ ‫و‬ ‫خوانده‬ ‫را‬‫مقسوم‬ ‫و‬ ‫خوانده‬ ‫را‬
‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫های‬ ‫علیه‬‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫های‬ ‫علیه‬‫شروع‬
N
M ← 1
MMNINTNK ∗−← )/(
K=0
Y
N
M
M ← M+1
M<=N
Y
N
‫پایان‬
‫مثال‬‫مثال‬1111::‫بودن‬ ‫اول‬ ، ‫خوانده‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫بودن‬ ‫اول‬ ، ‫خوانده‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬
‫نمایید‬ ‫تعیین‬ ‫را‬ ‫آن‬‫نمایید‬ ‫تعیین‬ ‫را‬ ‫آن‬
‫شروع‬
N
N=2
N
P ← 2
PPNINTNK ∗−← )/(
K=0 N,”NO PRIME”Y
N
P ← P+1
P<=N/2
Y
N
N,”IS PRIME”
‫پایان‬
Y
‫مثال‬‫مثال‬1212::‫مثبت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫مثبت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬
.‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫فاکتوریل‬ ‫خوانده‬ ‫را‬.‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫فاکتوریل‬ ‫خوانده‬ ‫را‬
‫اعداد‬ ‫ضرب‬ ‫حاصل‬ ‫یعنی‬ ‫عدد‬ ‫یک‬ ‫فاکتوریل‬‫اعداد‬ ‫ضرب‬ ‫حاصل‬ ‫یعنی‬ ‫عدد‬ ‫یک‬ ‫فاکتوریل‬11‫آن‬ ‫تا‬‫آن‬ ‫تا‬
‫عدد‬‫عدد‬
.‫باشد‬ ‫می‬ ‫یک‬ ‫برابر‬ ‫صفر‬ ‫عدد‬ ‫فاکتوریل‬.‫باشد‬ ‫می‬ ‫یک‬ ‫برابر‬ ‫صفر‬ ‫عدد‬ ‫فاکتوریل‬
‫مثال‬ ‫ادامه‬‫مثال‬ ‫ادامه‬1212
AA‫هدنرامشمارنده‬‫هدنرامشمارنده‬‫شروع‬
N
FACT ← 1
A ← 1
A>N
Y
N
FACT
‫پایان‬
FACT ← FACT * A
A ← A+ 1
‫مثال‬‫مثال‬1313::‫عدد‬ ‫که‬ ‫بنویسید‬ ‫ای‬ ‫برنامه‬‫عدد‬ ‫که‬ ‫بنویسید‬ ‫ای‬ ‫برنامه‬NN‫و‬ ،‫خوانده‬ ‫را‬‫و‬ ،‫خوانده‬ ‫را‬
.‫دهد‬ ‫نشان‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫مجموع‬.‫دهد‬ ‫نشان‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫مجموع‬
:‫مثال‬:‫مثال‬33++22++11123123 ⇒
‫شروع‬
N
SUM ← 0
10)10/( ∗−← NINTNA
SUM ← SUM+A
)10/(NINTN ←
N>0
N
Y
SUM
‫پایان‬
‫مثال‬‫مثال‬1414::‫که‬ ‫کند‬ ‫تعیین‬ ‫گرفته‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫که‬ ‫کند‬ ‫تعیین‬ ‫گرفته‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬
‫خیر؟‬ ‫یا‬ ‫است‬ ‫کامل‬ ‫آیا‬‫خیر؟‬ ‫یا‬ ‫است‬ ‫کامل‬ ‫آیا‬
‫های‬ ‫علیه‬ ‫مقسوم‬ ‫مجموع‬ ‫با‬ ‫که‬ ‫است‬ ‫کامل‬ ‫عددی‬‫های‬ ‫علیه‬ ‫مقسوم‬ ‫مجموع‬ ‫با‬ ‫که‬ ‫است‬ ‫کامل‬ ‫عددی‬
.‫باهدنرامشد‬ ‫برابر‬ ‫خودش‬ ‫از‬ ‫کوچکتر‬.‫باهدنرامشد‬ ‫برابر‬ ‫خودش‬ ‫از‬ ‫کوچکتر‬
3216 ++⇒
‫شروع‬
N
A ← 1
S ← 0
AANINTNP ∗−← )/(
P=0
Y
N
S ← S+A
A ← A+1
A<=N/2
Y
N
S=N
Y
N
N,” IS COMPLEMENT”
N,” IS NOT COMPLEMENT”
‫پایان‬

Flowchart

  • 1.
  • 2.
    ‫الگوریتم‬ ‫تعریف‬‫الگوریتم‬ ‫تعریف‬ ‫با‬‫را‬ ‫کاری‬ ‫انجام‬ ‫مراحل‬ ‫که‬ ‫دستورالعملی‬ ‫هر‬‫با‬ ‫را‬ ‫کاری‬ ‫انجام‬ ‫مراحل‬ ‫که‬ ‫دستورالعملی‬ ‫هر‬ ‫نماید‬ ‫بیان‬ ‫کافی‬ ‫جزئیات‬ ‫با‬ ‫و‬ ‫دقیق‬ ‫زبانی‬‫نماید‬ ‫بیان‬ ‫کافی‬ ‫جزئیات‬ ‫با‬ ‫و‬ ‫دقیق‬ ‫زبانی‬ ‫عملیات‬ ‫خاتمه‬ ‫شرط‬ ‫و‬ ‫مراحل‬ ‫ترتیب‬ ‫بطوریکه‬‫عملیات‬ ‫خاتمه‬ ‫شرط‬ ‫و‬ ‫مراحل‬ ‫ترتیب‬ ‫بطوریکه‬ ‫الگوریتم‬ ‫را‬ ‫باشد‬ ‫شده‬ ‫مشخص‬ “ ‫کامل‬ ‫آن‬ ‫در‬‫الگوریتم‬ ‫را‬ ‫باشد‬ ‫شده‬ ‫مشخص‬ “ ‫کامل‬ ‫آن‬ ‫در‬ .‫گویند‬.‫گویند‬
  • 3.
    ‫الگوریتم‬ ‫تعریف‬ ‫ادامه‬‫الگوریتم‬‫تعریف‬ ‫ادامه‬ ‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫دقیق‬ ‫زبان‬‫دقیق‬ ‫زبان‬‫همان‬ ‫به‬ “ ‫دقیقا‬ ‫الگوریتم‬ ‫که‬ ‫است‬ ‫آن‬ :‫همان‬ ‫به‬ “ ‫دقیقا‬ ‫الگوریتم‬ ‫که‬ ‫است‬ ‫آن‬ : .‫گردد‬ ‫اجرا‬ ‫است‬ ‫نویسنده‬ ‫نظر‬ ‫مورد‬ ‫صورتیکه‬.‫گردد‬ ‫اجرا‬ ‫است‬ ‫نویسنده‬ ‫نظر‬ ‫مورد‬ ‫صورتیکه‬ ‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫کافی‬ ‫جزئیات‬‫کافی‬ ‫جزئیات‬‫الگوریتم‬ ‫اجرای‬ ‫طول‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ،‫الگوریتم‬ ‫اجرای‬ ‫طول‬ ‫در‬ ‫که‬ ‫است‬ ‫آن‬ ، ‫هدف‬ ‫و‬ ‫مسیر‬ ‫از‬ ‫انحراف‬ ‫باعث‬ ‫و‬ ‫نیامده‬ ‫پیش‬ ‫ناشناخته‬ ‫عملیات‬‫هدف‬ ‫و‬ ‫مسیر‬ ‫از‬ ‫انحراف‬ ‫باعث‬ ‫و‬ ‫نیامده‬ ‫پیش‬ ‫ناشناخته‬ ‫عملیات‬ .‫نگردد‬ ‫اصلی‬.‫نگردد‬ ‫اصلی‬ ‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫مراحل‬ ‫ترتیب‬‫مراحل‬ ‫ترتیب‬‫قدم‬ ‫الگوریتم‬ ‫اجرای‬ ‫مراحل‬ ‫که‬ ‫است‬ ‫آن‬ ،‫قدم‬ ‫الگوریتم‬ ‫اجرای‬ ‫مراحل‬ ‫که‬ ‫است‬ ‫آن‬ ، .‫باشد‬ ‫شده‬ ‫مشخص‬ ‫خر‬ ‫تأ‬ ‫و‬ ‫تقدم‬ ‫رعایت‬ ‫با‬ ‫و‬ ‫قدم‬ ‫به‬.‫باشد‬ ‫شده‬ ‫مشخص‬ ‫خر‬ ‫تأ‬ ‫و‬ ‫تقدم‬ ‫رعایت‬ ‫با‬ ‫و‬ ‫قدم‬ ‫به‬ ‫از‬ ‫منظور‬‫از‬ ‫منظور‬‫خاتمه‬ ‫شرط‬‫خاتمه‬ ‫شرط‬‫بهر‬ ‫و‬ ‫باشد‬ ‫می‬ ‫الگوریتم‬ ‫بودن‬ ‫پذیر‬ ‫پایان‬ ،‫بهر‬ ‫و‬ ‫باشد‬ ‫می‬ ‫الگوریتم‬ ‫بودن‬ ‫پذیر‬ ‫پایان‬ ، ‫داده‬ ‫شرایط‬ ‫یا‬ ‫شرایط‬ ‫تحت‬ ‫و‬ ‫دلخواه‬ ‫زمانی‬ ‫در‬ ‫باید‬ ‫الگوریتم‬ ‫حال‬‫داده‬ ‫شرایط‬ ‫یا‬ ‫شرایط‬ ‫تحت‬ ‫و‬ ‫دلخواه‬ ‫زمانی‬ ‫در‬ ‫باید‬ ‫الگوریتم‬ ‫حال‬ .‫پذیرد‬ ‫خاتمه‬ ‫شده‬.‫پذیرد‬ ‫خاتمه‬ ‫شده‬
  • 4.
    ‫الگوریتم‬ ‫تهیه‬ ‫مراحل‬‫الگوریتم‬‫تهیه‬ ‫مراحل‬ :‫شوند‬ ‫اجرا‬ ‫خاصی‬ ‫مراحل‬ ‫باید‬ ‫کارآمد‬ ‫و‬ ‫خوب‬ ‫الگوریتم‬ ‫یک‬ ‫تهیه‬ ‫برای‬:‫شوند‬ ‫اجرا‬ ‫خاصی‬ ‫مراحل‬ ‫باید‬ ‫کارآمد‬ ‫و‬ ‫خوب‬ ‫الگوریتم‬ ‫یک‬ ‫تهیه‬ ‫برای‬ 11‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫را‬ ‫مسئله‬ ‫باید‬ :‫مسئله‬ ‫دقیق‬ ‫تعریف‬ -‫تحلیل‬ ‫و‬ ‫تجزیه‬ ‫را‬ ‫مسئله‬ ‫باید‬ :‫مسئله‬ ‫دقیق‬ ‫تعریف‬ - ‫نداشته‬ ‫وجود‬ ‫آن‬ ‫فهم‬ ‫در‬ ‫ابهامی‬ ‫کوچکترین‬ ‫تا‬ ‫کرده‬‫نداشته‬ ‫وجود‬ ‫آن‬ ‫فهم‬ ‫در‬ ‫ابهامی‬ ‫کوچکترین‬ ‫تا‬ ‫کرده‬ .‫باشد‬.‫باشد‬ 22‫نیاز‬ ‫مورد‬ (‫اصلی)متغییرهای‬ ‫عوامل‬ ‫تعیین‬ -‫نیاز‬ ‫مورد‬ (‫اصلی)متغییرهای‬ ‫عوامل‬ ‫تعیین‬ - 33‫و‬ ‫ها‬ ‫)داده‬ : ‫مسئله‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫تعیین‬ -‫و‬ ‫ها‬ ‫)داده‬ : ‫مسئله‬ ‫خروجی‬ ‫و‬ ‫ورودی‬ ‫تعیین‬ - (‫اطلعات‬(‫اطلعات‬ 44‫مسئله‬ ‫مختلف‬ ‫های‬ ‫حل‬ ‫راه‬ ‫بررسی‬ -‫مسئله‬ ‫مختلف‬ ‫های‬ ‫حل‬ ‫راه‬ ‫بررسی‬ - 55‫مناسب‬ ‫حل‬ ‫راه‬ ‫یک‬ ‫انتخاب‬ -‫مناسب‬ ‫حل‬ ‫راه‬ ‫یک‬ ‫انتخاب‬ - 66‫زدایی‬ ‫اشکال‬ -‫زدایی‬ ‫اشکال‬ -
  • 5.
    ‫فلوچارت‬‫فلوچارت‬ ‫الگوریتم‬ ‫تصویری‬ ‫بیان‬‫الگوریتم‬‫تصویری‬ ‫بیان‬ ‫هندسی‬ ‫اشکال‬ ‫با‬ ‫کار‬ ‫انجام‬ ‫مراحل‬‫هندسی‬ ‫اشکال‬ ‫با‬ ‫کار‬ ‫انجام‬ ‫مراحل‬ .‫شوند‬ ‫می‬ ‫داده‬ ‫نشان‬.‫شوند‬ ‫می‬ ‫داده‬ ‫نشان‬ ‫به‬ ‫خطوط‬ ‫توسط‬ ‫کار‬ ‫انجام‬ ‫مراحل‬‫به‬ ‫خطوط‬ ‫توسط‬ ‫کار‬ ‫انجام‬ ‫مراحل‬ .‫گردند‬ ‫می‬ ‫وصل‬ ‫هم‬.‫گردند‬ ‫می‬ ‫وصل‬ ‫هم‬
  • 6.
    ‫مثال‬‫مثال‬ ‫شرح‬‫شرح‬ ‫شکل‬‫شکل‬ ‫خاتمه‬‫و‬ ‫شروع‬ ‫دادن‬ ‫نشان‬ ‫برای‬‫خاتمه‬ ‫و‬ ‫شروع‬ ‫دادن‬ ‫نشان‬ ‫برای‬ ‫عملیات‬‫عملیات‬ ‫مقداردهی‬ ‫و‬ ‫محاسبات‬‫مقداردهی‬ ‫و‬ ‫محاسبات‬ ‫اطلعات‬ ‫ورود‬‫اطلعات‬ ‫ورود‬ ‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫خروج‬‫نمایش‬ ‫صفحه‬ ‫روی‬ ‫بر‬ ‫خروج‬ ‫روی‬ ‫بر‬ ‫اطلعات‬ ‫خروج‬‫روی‬ ‫بر‬ ‫اطلعات‬ ‫خروج‬ ‫کاغذ‬‫کاغذ‬ ‫و‬ ‫گیری‬ ‫تصمیم‬ ،‫سئوال‬‫و‬ ‫گیری‬ ‫تصمیم‬ ،‫سئوال‬ ‫دلخواه‬ ‫های‬ ‫شرط‬‫دلخواه‬ ‫های‬ ‫شرط‬ start stop c←a+b d← i A,B A,B,”100” ? ‫ورودی‬ ‫خروجی‬ ‫خروجی‬ ‫خروجی‬
  • 7.
    ‫مثال‬‫مثال‬11::‫را‬ ‫آنها‬ ‫حاصلضرب‬‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫را‬ ‫آنها‬ ‫حاصلضرب‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬ .‫دهد‬ ‫نمایش‬.‫دهد‬ ‫نمایش‬ ‫شروع‬ A,B z←A*B z ‫پایان‬
  • 8.
    ‫مثال‬‫مثال‬22::‫محیط‬ ‫و‬ ‫مساحت‬،‫خوانده‬ ‫را‬ ‫دایره‬ ‫یک‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫محیط‬ ‫و‬ ‫مساحت‬ ،‫خوانده‬ ‫را‬ ‫دایره‬ ‫یک‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬ .‫دهد‬ ‫نمایش‬ ‫آنرا‬.‫دهد‬ ‫نمایش‬ ‫آنرا‬ ‫شروع‬ ‫پایان‬ R A←3.14*R² P←2*R*3.14 A,P
  • 9.
    ‫مثال‬‫مثال‬33::‫زیر‬ ‫بصورت‬ ‫و‬‫خوانده‬ ‫را‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫زیر‬ ‫بصورت‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬ :‫نماید‬ ‫گیری‬ ‫تصمیم‬:‫نماید‬ ‫گیری‬ ‫تصمیم‬ ‫دیگر‬ ‫عدد‬ ‫دو‬ ‫جمع‬ ‫حاصل‬ ‫بود‬ ‫صفر‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -‫دیگر‬ ‫عدد‬ ‫دو‬ ‫جمع‬ ‫حاصل‬ ‫بود‬ ‫صفر‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ - ‫دیگر‬ ‫عدد‬ ‫دو‬ ‫تفاضل‬ ‫بود‬ ‫منفی‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -‫دیگر‬ ‫عدد‬ ‫دو‬ ‫تفاضل‬ ‫بود‬ ‫منفی‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ - ‫دیگر‬ ‫عدد‬ ‫دو‬ ‫ضرب‬ ‫حاصل‬ ‫بود‬ ‫مثبت‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ -‫دیگر‬ ‫عدد‬ ‫دو‬ ‫ضرب‬ ‫حاصل‬ ‫بود‬ ‫مثبت‬ ‫سوم‬ ‫عدد‬ ‫اگر‬ - .‫دهد‬ ‫نمایش‬ ‫را‬.‫دهد‬ ‫نمایش‬ ‫را‬
  • 10.
  • 11.
    ‫مثال‬‫مثال‬44::‫مقادیر‬ ‫سپس‬ ‫خوانده‬‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫فلوچارت‬‫مقادیر‬ ‫سپس‬ ‫خوانده‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫فلوچارت‬ .‫نماید‬ ‫جابجا‬ ‫هم‬ ‫با‬ ‫را‬ ‫دو‬ ‫آن‬.‫نماید‬ ‫جابجا‬ ‫هم‬ ‫با‬ ‫را‬ ‫دو‬ ‫آن‬ : ‫اول‬ ‫روش‬: ‫اول‬ ‫روش‬‫متغیر‬ ‫از‬ ‫استفاده‬‫متغیر‬ ‫از‬ ‫استفاده‬ ‫کمکی‬‫کمکی‬ :‫دوم‬ ‫روش‬:‫دوم‬ ‫روش‬‫عملیات‬ ‫از‬ ‫استفاده‬‫عملیات‬ ‫از‬ ‫استفاده‬ ‫ریاضی‬‫ریاضی‬ ‫شروع‬ A,B A,B T←A A←B B←T A,B ‫پایان‬ ‫شروع‬ A,B A,B َA←A+B B←A-B A←A-B A,B ‫پایان‬
  • 12.
    ‫مثال‬‫مثال‬55::‫که‬ ‫کند‬ ‫تعیین‬،‫خوانده‬ ‫را‬ ‫مثلث‬ ‫یک‬ ‫ضلع‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫که‬ ‫کند‬ ‫تعیین‬ ،‫خوانده‬ ‫را‬ ‫مثلث‬ ‫یک‬ ‫ضلع‬ ‫سه‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬ ‫خیر؟‬ ‫یا‬ ‫است‬ ‫الزاویه‬ ‫قائم‬ ‫مثلث‬ ‫آیا‬‫خیر؟‬ ‫یا‬ ‫است‬ ‫الزاویه‬ ‫قائم‬ ‫مثلث‬ ‫آیا‬ .‫کند‬ ‫صدق‬ ‫زیر‬ ‫عبارات‬ ‫از‬ ‫یکی‬ ‫در‬ ‫باید‬ ‫آن‬ ‫اضلع‬ ‫اندازه‬ ‫مثلث‬ ‫بودن‬ ‫الزاویه‬ ‫قائم‬ ‫برای‬ A²=B²+C²‫یا‬B²=A²+C²‫یا‬C²=A²+B² ‫شروع‬ A,B,C A²=B²+C² Y N B²=A²+C² Y N C²=B²+A² Y N “NO” “YES” ‫پایان‬
  • 13.
    ‫مثال‬‫مثال‬66::‫دوم‬ ‫درجه‬ ‫معادله‬‫یک‬ ‫های‬ ‫ریشه‬‫دوم‬ ‫درجه‬ ‫معادله‬ ‫یک‬ ‫های‬ ‫ریشه‬ AX²+BX+C=0AX²+BX+C=0 D=B²-4ACD=B²-4AC ‫اگر‬‫اگر‬D<0D<0‫ندارد‬ ‫ریشه‬ ‫معادله‬ ،‫ندارد‬ ‫ریشه‬ ‫معادله‬ ، ‫اگر‬‫اگر‬D=0D=0‫عبارت‬ ‫حاصل‬ ،‫عبارت‬ ‫حاصل‬ ،––B/2AB/2A‫در‬ ‫را‬‫در‬ ‫را‬X1X1‫و‬‫و‬X2X2‫بده‬ ‫قرار‬‫بده‬ ‫قرار‬ ‫عبارت‬ ‫حاصل‬‫عبارت‬ ‫حاصل‬‫در‬ ‫را‬‫در‬ ‫را‬X1X1‫بده‬ ‫قرار‬‫بده‬ ‫قرار‬ ‫در‬ ‫را‬ ‫عبارت‬ ‫حاصل‬‫در‬ ‫را‬ ‫عبارت‬ ‫حاصل‬X2X2‫بده‬ ‫قرار‬‫بده‬ ‫قرار‬ ‫مقادیر‬‫مقادیر‬X1X1‫و‬‫و‬X2X2‫بده‬ ‫نمایش‬ ‫را‬‫بده‬ ‫نمایش‬ ‫را‬ )2/()( ADB +− ADB 2/)( −−
  • 14.
  • 15.
    ‫حلقوی‬ ‫های‬ ‫الگوریتم‬‫حلقوی‬‫های‬ ‫الگوریتم‬ ‫اول‬ ‫تعریف‬‫اول‬ ‫تعریف‬:‫اجرای‬ ‫بار‬ ‫چندین‬ ‫که‬ ‫الگوریتم‬ ‫از‬ ‫مراحلی‬ ‫حلقه‬ ‫یک‬ ‫تشکیل‬ ‫گردد‬ ‫می‬ ‫تکرار‬ ‫آنها‬)LOOP(.‫دهند‬ ‫می‬ ‫را‬ ،‫گردد‬ ‫می‬ ‫استفاده‬ ‫کمکی‬ ‫متغیر‬ ‫یک‬ ‫از‬ ‫حلقه‬ ‫یک‬ ‫ساختن‬ ‫برای‬،‫گردد‬ ‫می‬ ‫استفاده‬ ‫کمکی‬ ‫متغیر‬ ‫یک‬ ‫از‬ ‫حلقه‬ ‫یک‬ ‫ساختن‬ ‫برای‬ ‫می‬ ‫آماده‬ ‫اولیه‬ ‫مقدار‬ ‫یک‬ ‫با‬ ‫حلقه‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫را‬ ‫متغیر‬ ‫این‬‫می‬ ‫آماده‬ ‫اولیه‬ ‫مقدار‬ ‫یک‬ ‫با‬ ‫حلقه‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫را‬ ‫متغیر‬ ‫این‬ ‫به‬ ‫بازگشت‬ ‫از‬ ‫قبل‬ ‫و‬ ‫حلقه‬ ‫انتهای‬ ‫در‬ “ ‫معمول‬ ‫سپس‬ ‫و‬ ‫سازیم‬‫به‬ ‫بازگشت‬ ‫از‬ ‫قبل‬ ‫و‬ ‫حلقه‬ ‫انتهای‬ ‫در‬ “ ‫معمول‬ ‫سپس‬ ‫و‬ ‫سازیم‬ ‫شرائط‬ ‫یک‬ ‫تحت‬ ‫و‬ ‫کرده‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫را‬ ‫مقداری‬ ‫حلقه‬ ‫ابتدای‬‫شرائط‬ ‫یک‬ ‫تحت‬ ‫و‬ ‫کرده‬ ‫اضافه‬ ‫آن‬ ‫به‬ ‫را‬ ‫مقداری‬ ‫حلقه‬ ‫ابتدای‬ .‫نماییم‬ ‫می‬ ‫پرش‬ ‫قبل‬ ‫مراحل‬ ‫به‬ ‫خاص‬.‫نماییم‬ ‫می‬ ‫پرش‬ ‫قبل‬ ‫مراحل‬ ‫به‬ ‫خاص‬ :‫دوم‬ ‫تعریف‬:‫دوم‬ ‫تعریف‬‫متغیر‬ ‫به‬ ‫حلقه‬ ‫شروع‬ ‫از‬ ‫قبل‬ ‫که‬ ‫مقداری‬ .‫گویند‬ ‫اولیه‬ ‫شرط‬ ‫یا‬ ‫اولیه‬ ‫مقدار‬ ‫را‬ ‫شود‬ ‫می‬ ‫داده‬ ‫حلقه‬ :‫سوم‬ ‫تعریف‬:‫سوم‬ ‫تعریف‬‫مراحل‬ ‫اجرای‬ ‫یکبار‬ ‫از‬ ‫پس‬ ‫که‬ ‫مقداری‬ ‫اضافه‬ ‫مقدار‬ ‫را‬ ‫شود‬ ‫می‬ ‫اضافه‬ ‫حلقه‬ ‫متغیر‬ ‫به‬ ‫حلقه‬ .‫نامند‬ ‫می‬ ‫شونده‬
  • 16.
    ‫مثال‬‫مثال‬77::‫را‬ ‫صفر‬ ‫از‬‫بزرگتر‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬‫را‬ ‫صفر‬ ‫از‬ ‫بزرگتر‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫فلوچارتی‬ ‫و‬ ‫مجموع‬ ‫خوانده‬ ‫را‬ ‫دیگری‬ ‫اعداد‬ ,‫عدد‬ ‫آن‬ ‫تعداد‬ ‫به‬ ‫سپس‬ ‫خوانده‬‫و‬ ‫مجموع‬ ‫خوانده‬ ‫را‬ ‫دیگری‬ ‫اعداد‬ ,‫عدد‬ ‫آن‬ ‫تعداد‬ ‫به‬ ‫سپس‬ ‫خوانده‬ .‫دهد‬ ‫نمایش‬ ‫را‬ ‫آنها‬ ‫میانگین‬.‫دهد‬ ‫نمایش‬ ‫را‬ ‫آنها‬ ‫میانگین‬ N‫شده‬ ‫خوانده‬ ‫عدد‬ C‫شمارنده‬ S‫مجموع‬ A‫اعداد‬ NSS /, ASS +← ‫شروع‬ N C ← 0 S ← 0 C=N ‫پایان‬ Y N A 1+←CC
  • 17.
    ‫مثال‬‫مثال‬88::‫که‬ ‫بنویسید‬ ‫را‬‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬1010‫و‬ ‫گرفته‬ ‫را‬ ‫عدد‬‫و‬ ‫گرفته‬ ‫را‬ ‫عدد‬ .‫است‬ ‫فرد‬ ‫کدام‬ ‫و‬ ‫زوج‬ ‫کدام‬ ‫کند‬ ‫تعیین‬.‫است‬ ‫فرد‬ ‫کدام‬ ‫و‬ ‫زوج‬ ‫کدام‬ ‫کند‬ ‫تعیین‬‫شروع‬ C ← 0 p k ← p-INT(p/2)*2 K=0 y n P, “odd” C ← C+1 C< 10 n y ‫پایان‬ P, “even”
  • 18.
    ‫مثال‬‫مثال‬99::‫را‬ ‫مثبت‬ ‫عدد‬‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫را‬ ‫مثبت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬ .‫دهد‬ ‫نشان‬ ‫را‬ ‫عدد‬ ‫ارقام‬ ‫تعداد‬ ‫و‬ ‫خوانده‬.‫دهد‬ ‫نشان‬ ‫را‬ ‫عدد‬ ‫ارقام‬ ‫تعداد‬ ‫و‬ ‫خوانده‬ ‫شروع‬ N S ←0 (‫ارقام‬ ‫)تعداد‬ )10/(NINTN ← S ← S+1 N>0 Y N S ‫پایان‬
  • 19.
    ‫مثال‬‫مثال‬1010::‫طبیعی‬ ‫عدد‬ ‫که‬‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫طبیعی‬ ‫عدد‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬N>1N>1‫مقسوم‬ ‫و‬ ‫خوانده‬ ‫را‬‫مقسوم‬ ‫و‬ ‫خوانده‬ ‫را‬ ‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫های‬ ‫علیه‬‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫های‬ ‫علیه‬‫شروع‬ N M ← 1 MMNINTNK ∗−← )/( K=0 Y N M M ← M+1 M<=N Y N ‫پایان‬
  • 20.
    ‫مثال‬‫مثال‬1111::‫بودن‬ ‫اول‬ ،‫خوانده‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫بودن‬ ‫اول‬ ، ‫خوانده‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬ ‫نمایید‬ ‫تعیین‬ ‫را‬ ‫آن‬‫نمایید‬ ‫تعیین‬ ‫را‬ ‫آن‬ ‫شروع‬ N N=2 N P ← 2 PPNINTNK ∗−← )/( K=0 N,”NO PRIME”Y N P ← P+1 P<=N/2 Y N N,”IS PRIME” ‫پایان‬ Y
  • 21.
    ‫مثال‬‫مثال‬1212::‫مثبت‬ ‫عدد‬ ‫یک‬‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫مثبت‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬ .‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫فاکتوریل‬ ‫خوانده‬ ‫را‬.‫دهد‬ ‫نمایش‬ ‫را‬ ‫آن‬ ‫فاکتوریل‬ ‫خوانده‬ ‫را‬ ‫اعداد‬ ‫ضرب‬ ‫حاصل‬ ‫یعنی‬ ‫عدد‬ ‫یک‬ ‫فاکتوریل‬‫اعداد‬ ‫ضرب‬ ‫حاصل‬ ‫یعنی‬ ‫عدد‬ ‫یک‬ ‫فاکتوریل‬11‫آن‬ ‫تا‬‫آن‬ ‫تا‬ ‫عدد‬‫عدد‬ .‫باشد‬ ‫می‬ ‫یک‬ ‫برابر‬ ‫صفر‬ ‫عدد‬ ‫فاکتوریل‬.‫باشد‬ ‫می‬ ‫یک‬ ‫برابر‬ ‫صفر‬ ‫عدد‬ ‫فاکتوریل‬
  • 22.
  • 23.
    ‫مثال‬‫مثال‬1313::‫عدد‬ ‫که‬ ‫بنویسید‬‫ای‬ ‫برنامه‬‫عدد‬ ‫که‬ ‫بنویسید‬ ‫ای‬ ‫برنامه‬NN‫و‬ ،‫خوانده‬ ‫را‬‫و‬ ،‫خوانده‬ ‫را‬ .‫دهد‬ ‫نشان‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫مجموع‬.‫دهد‬ ‫نشان‬ ‫را‬ ‫آن‬ ‫ارقام‬ ‫مجموع‬ :‫مثال‬:‫مثال‬33++22++11123123 ⇒ ‫شروع‬ N SUM ← 0 10)10/( ∗−← NINTNA SUM ← SUM+A )10/(NINTN ← N>0 N Y SUM ‫پایان‬
  • 24.
    ‫مثال‬‫مثال‬1414::‫که‬ ‫کند‬ ‫تعیین‬‫گرفته‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬‫که‬ ‫کند‬ ‫تعیین‬ ‫گرفته‬ ‫را‬ ‫عدد‬ ‫یک‬ ‫که‬ ‫بنویسید‬ ‫را‬ ‫ای‬ ‫برنامه‬ ‫الگوریتم‬ ‫خیر؟‬ ‫یا‬ ‫است‬ ‫کامل‬ ‫آیا‬‫خیر؟‬ ‫یا‬ ‫است‬ ‫کامل‬ ‫آیا‬ ‫های‬ ‫علیه‬ ‫مقسوم‬ ‫مجموع‬ ‫با‬ ‫که‬ ‫است‬ ‫کامل‬ ‫عددی‬‫های‬ ‫علیه‬ ‫مقسوم‬ ‫مجموع‬ ‫با‬ ‫که‬ ‫است‬ ‫کامل‬ ‫عددی‬ .‫باهدنرامشد‬ ‫برابر‬ ‫خودش‬ ‫از‬ ‫کوچکتر‬.‫باهدنرامشد‬ ‫برابر‬ ‫خودش‬ ‫از‬ ‫کوچکتر‬ 3216 ++⇒
  • 25.
    ‫شروع‬ N A ← 1 S← 0 AANINTNP ∗−← )/( P=0 Y N S ← S+A A ← A+1 A<=N/2 Y N S=N Y N N,” IS COMPLEMENT” N,” IS NOT COMPLEMENT” ‫پایان‬