صفحه 1:
الكوريتم و فلوچارت
صفحه 2:
تعریف الگوریتم
ere ا DNC S| le 0م
جزئيات كافى بيان نمايد بطوريكه ترتيب مراحل و شرط
خاتمه عمليات در آن كاملا“ مشخص شله باشد را
الگوریتم گویند.
۰ ۰
صفحه 3:
0ك الكوريتم
1
نويسنده است اجرا كردد:
ات کافی » آن است که در طول اجرای الگوریتم عملیات ناشناخته er ee
SS Sip Ree RE pees ne pee eee re
eye rere Peay Sie pea aPECeOm Eh Pree res Ph
1 Soe
5 ©
منظور از eva an ee بودن الكوريتم مى باشد و بهر حال الكوريتم
باید در زمانی دلخواه و تحت شرایط یا شرایظ دنه شده خانمه ری
صفحه 4:
مراحل تهیه الگوریتم
برای تهیه یک الگوریتم خوب و کارآمد باید مراحل خاصی اجرا شوند:
۱- تعریف دقیق مسئله: باید مسئله را تجزیه و تحلیل کرده تا
كوجكترين ابهامى در فهم آن وجود نداشته باشد.
۲- تعیین عوامل اصلی(متغییرهای) مورد نیاز
ا ال RCD) nr on
0
a Cog Paar TC Cane
*- اشکال زدایی
7
صفحه 5:
فلوجارت
he ا ل
#مراحل انجام کار با اشکال هندسی نشان داده
#مراحلاجام ار توس خطوط به هم وصل
می گردند.
۹
صفحه 6:
صفحه 7:
000 ا ا ray ١ 0
صفحه 8:
00 ا ا Vk
صفحه 9:
1 owes eG قد
نماید:
- اكر عدد سوم صفر بود حاصل جمع دو عدد ديكر
ا ا 1
ا ا ا ا 00
5 ۱
N
صفحه 10:
ادامه مثال ”7
صفحه 11:
Jie ع: فلوچارت برنامه ای را رسم کنید که دو عدد را خوانده سپس مقادیر آن دو را با هم
جایجا نمی
#روش اول : استفاده از متفیر کمکی *روش دوم: Pos rs)
ل
۱
صفحه 12:
07 0:_فلوچارتی رسم کنید که سه ضلع یک مثلث را خوانده:
كل
3
بن كند كه آيا مثلث قائم
RW 0
000101 ۵
LO ees با 922)2+۶) یب 9222۶
صفحه 13:
مثال :١ ريشه های یک معادله درجه دوم
Ons رک(
۹
اگر (۲(>6. معادله ريشه ندارد
۱
0 كت ك0
كت را در 6 قرار بده 5
و بده
صفحه 14:
صفحه 15:
الگوریتم های حلقوی
و Pe
د ان 2 0
Caco ene eid ا ل ري 0 ا اي 1
Serer Bae een e se) |
حلقه و قبل از بازگشت به ابتدای حلقه مقداری را به آ
اس ی
ei ا ا ee Ce eras
Sue nr eee ene ences)
كت
a
تعریف سوم: مقداری که پس از یکبار اجرای مراحل حلقه به متغیر
trl eee Peete Rea PCM Ee price
صفحه 16:
12 Oe Snes eee NV Slee
تعداد آن عدد, اعداد دیگری را خوانده مجموع و میانگین آنها را نمایش دهد.
aL stile cD ©
۳۳ «
0
2
صفحه 17:
01 الگوریتم برنامه ای را بنویسید که ۱۰ عدد را گرفته و تعیین کند کدام
زوج و كدام فرد است.
a’
—
0
۹
صفحه 18:
013 4 ا ا ال ا
عدد را نشان دهد.
(تعداد ارقام)
صفحه 19:
x 1(<61 که عدد طبیعی
0 ven eS reaL( oa
۳
9 ass hls
صفحه 20:
مثال an الگوریتم برنامه ای را بنویسید که یک عدد را خوانده . اول بودن آن را تعیین نمایید
صفحه 21:
137 ۷ 3 الگوریتم برنامه ای را بنویسید که یک عدد مثبت را خوانده فاکتوریل آن را
نمایش دهد.
فاکتوریل یک عدد یعنی حاصل ضرب اعداد ۱ تا آن عدد
*فاكتوريل عدد صفر برابر يك مى باشل
5 ۹
۳
صفحه 22:
ادامه مثال ١١
صفحه 23:
‘AY Jk برنامه اى بنويسيد كه عدد 00 را خوانده. و مجموع ارقام آن را نشان دهد.
DA ae Cid
۷ 0
صفحه 24:
27 0 الكوريتم برنامه اى را بنويسيد كه يك عدد را كرفته تعبين كند كه آيا كامل است يا
و
| one CaE eC
برابر باشد.
صفحه 25:
الگوریتم و فلوچارت
تعریف الگوریتم
هر دستورالعملی که مراحل انجام کاری را با زبانی دقیق و با
جزئیات کافی بیان نماید بطوریکه ترتیب مراحل و شرط
خاتمه عملیات در آن کامال“ مشخص شده باشد را
الگوریتم گویند.
ادامه تعریف الگوریتم
منظور از زبان دقیق :آن است که الگوریتم دقیقا“ به همان صورتیکه مورد نظر
نویسنده است اجرا گردد.
منظور از جزئیات کافی ،آن است که در طول اجرای الگوریتم عملیات ناشناخته
پیش نیامده و باعث انحراف از مسیر و هدف اصلی نگردد.
منظور از ترتیب مراحل ،آن است که مراحل اجرای الگوریتم قدم به قدم و با
رعایت تقدم و تأ خر مشخص شده باشد.
منظور از شرط خاتمه ،پایان پذیر بودن الگوریتم می باشد و بهر حال الگوریتم
باید در زمانی دلخواه و تحت شرایط یا شرایط داده شده خاتمه پذیرد.
مراحل تهیه الگوریتم
برای تهیه یک الگوریتم خوب و کارآمد باید مراحل خاصی اجرا شوند:
-1تعریف دقیق مسئله :باید Qمسئله را تجزیه و تحلیل کرده تا
کوچکترین ابهامی در فهم آن وجود نداشته باشد.
-2تعیین عوامل اصلی(متغییرQهای) مورد نیاز
-3تعیین ورودی و خروجی مسئله ( :داده ها و اطالعات)
-4بررسی راه حل های مختلف مسئله
-5انتخاب یک راه حل مناسب
-6اشکال زدایی
فلوچارت
بیان تصویری الگوریتم
مراحل انجام کار با اشکال هندسی نشان داده
می شوند.
مراحل انجام کار توسط خطوط به هم وصل
می گردند.
شکل
مثال
شرح
start
برای نشان دادن شروع و خاتمه عملیات
stop
محاسبات و مقداردهی
c←a+b
d← i
ورود اطالعات
خروج بر روی صفحه نمایش
خروج اطالعات بر روی کاغذ
سئوال ،تصمیم گیری و شرط
های دلخواه
A,B
”A,B,”100
ورودی
خروجی
?
خروجی
خروجی
مثال: 1
فلوچارتی رسم کنید که دو عدد را خوانده و حاصلضرب آنها را نمایش دهد.
شروع
A,B
z←A*B
z
پایان
مثال:2
فلوچارتی رسم کنید که شعاع یک دایره را خوانده ،مساحت و محیط آنرا نمایش دهد.
شروع
R
A←3.14*R²
P←2*R*3.14
A,P
پایان
مثال:3
فلوچارتی رسم کنید که سه عدد را خوانده و بصورت زیر تصمیم گیری
نماید:
اگر عدQد سوم صفر بود حاصل جمع دو عدد دیگر اگر عدQد سوم منفی بود تفاضل دو عدد دیگر اگر عدد سوم مثبت بود حاصل ضرب دو عدد دیگررا نمایش دهد.
3 ادامه مثال
شروع
A,B,C
Y
C=0
N
D←A-B
Y
C<0
N
D←A*B
D
پایان
D←A+B
مثال :4
فلوچارت برنامه ای را رسم کنید که دو عدد را خوانده سپس مقادیر آن دو را با هم
جابجا نماید.
روش اول :
استفاده از متغیر کمکی
روش دوم:
استفاده از عملیات ریاضی
شروع
شروع
A,B
A,B
A,B
A,B
T←A
A←B
B←T
َA←A+B
B←A-B
A←A-B
A,B
A,B
پایان
پایان
مثال :5
فلوچارتی رسم کنید که سه ضلع یک مثلث را خوانده ،تعیین کند که آیا مثلث قائم
الزاویه است یا خیر؟
برای قائم الزاویه بودن مثلث اندازه اضالع آن باید در یکی از عبارات زیر صدق کند.
A²=B²+C²یQQا B²=A²+C²یQQا C²=A²+B²
شروع
A,B,C
Y
A²=B²+C²
N
Y
B²=A²+C²
N
Y
C²=B²+A²
N
”“YES
”“NO
پایان
مثال :6
ریشه های یک معادله درجه دوم
AX²+BX+C=0
D=B²-4AC
اگر ، D<0معادله ریشه ندارد
اگر ، D=0حاصل عبارت – B/2Aرا در X1و X2قرار بده
حاصل عبارت ) ( B D) /(2Aرا در X1قرار بده
حاصل عبارت ( B D) / 2Aرا در X2قرار بده
مقادیر X1و X2را نمایش بده
شروع
A,B,C
2
D B 4 A C
Y
D<0
N
X1← -B/2A Y
X2← X1
D=0
N
X1 ( B D ) / 2A
X 2 ( B
D ) / 2A
X1,X2
پایان
“No root”
الگوریتم های حلقوی
تعریف اول :مراحلی از الگوریتم که چندین بار اجرای آنها تکرار می
گردد تشکیل یک حلقه ( )LOOPرا می دهند.
برای ساختن یک حلقه از یک متغیر کمکی استفاده می گردد ،این متغیر را قبل
از شروع حلقه با یک مقدار اولیه آماده می سازیم و سپس معموال“ در انتهای
حلقه و قبل از بازگشت به ابتدای حلقه مقداری را به آن اضافه کرده و تحت
یک شرائط خاص به مراحل قبل پرش می نماییم.
تعریف دوم :مقداری که قبل از شروع حلقه به متغیر حلقه داده می شود
را مقدار اولیه یا شرط اولیه گویند.
تعریف سوم :مقداری که پس از یکبار اجرای مراحل حلقه به متغیر
حلقه اضافه می شود را مقدار اضافه شونده می نامند.
مثال :7
فلوچارتی رسم کنید که یک عدد بزرگتر از صفر را خوانده سپس به
تعداد آن عدد ,اعداد دیگری را خوانده مجموع و میانگین آنها را نمایش دهد.
NعQدد خQواQنده QشQQدهQ
CشQQمارQندهQ
SمQجموع
AاQعداد
شروع
N
C←0
S←0
Y
S, S / N
C=N
N
پایان
A
S S A
C C 1
مثال :8
الگوریتم برنامه ای را بنویسید که 10عدد را گرفته و تعیین کند کدام
زوج و کدام فرد است.
شروع
C←0
p
k ← p-INT(p/2)*2
K=0
n
”P, “odd
C ← C+1
y
C< 10
n
پایان
y
”P, “even
مثال :9
الگوریتم برنامه ای را بنویسید که یک عدد مثبت را خوانده و تعداد ارقام
عدد را نشان دهد.
شروEع
N
)تEEEعEداد ارقام(E
S 0
)N INT(N /10
S ← S+1
N>0
N
S
پایان
Y
مثال :10
الگوریتم برنامه ای را بنویسید که عدد طبیعی N>1را خوانده و مقسوم علیه های آن را
نمایش دهد
شروع
N
M←1
K N INT(N / M) M
M
Y
K=0
N
M ← M+1
M<=N
N
پایان
Y
مثال :11
الگوریتم برنامه ای را بنویسید که یک عدد را خوانده ،اول بودن آن را تعیین نمایید
شروع
N
N=2
Y
N
P←2
K N INT(N / P) P
”N,”NO PRIME
K=0 Y
N
P ← P+1
P<=N/2
Y
N
”N,”IS PRIME
پایان
مثال :12
الگوریتم برنامه ای را بنویسید که یک عدد مثبت را خوانده فاکتوریل آن را
نمایش دهد.
فاکتوریل یک عدد یعنی حاصل ضرب اعداد 1تا آن عدد
فاکتوریل عدد صفر Qبرابر یک می باشد.Q
12 ادامه مثال
QندهQمارQQشA
شروع
N
FACT ← 1
A ←1
A>N
Y
N
FACT ← FACT * A
A ← A+ 1
FACT
پایان
مثال :13
برنامه ای بنویسید که عدد Nرا خوانده ،و مجموع ارقام آن را نشان دهد.
شروع
مثال1+2+3 :
123
N
SUM ← 0
A N INT(N /10) 10
SUM ← SUM+A
)N INT(N /10
N>0
N
SUM
پایان
Y
مثال :14
الگوریتم برنامه ای را بنویسید که یک عدد را گرفته تعیین کند که آیا کامل است یا
خیر؟
عددی کامل است که با مجموع مقسوم علیه های کوچکتر از خودش
برابر باشد.
6 1 2 3
شروع
N
A←1
S←0
P N INT(N / A) A
P=0
Y
S ← S+A
N
A ← A+1
Y
A<=N/2
N
S=N
N
Y
N,” IS NOT COMPLEMENT”
پایان
N,” IS COMPLEMENT”