Chapter 3 Flowchart&algorithm
Chapter 3 Flowchart&algorithm
راضیه قیاسی
[email protected]
2
فصل سوم :کارنما و الگوریتم
• در این مرحله ،برنامهنویس باید هدف مسئله ،خروجی مطلوب و ورودی مورد نیاز را مشخص نماید .همچنین پردازش الزم را
تعیین کند.
• به عنوان مثال :می خواهیم معدل دانش آموز را بدست آورده نمایش دهیم؟
❑ورودی :نمرات دانش آموز
❑خروجی :معدل
❑پردازش :جمع نمرات و تقسیم مجموع بر تعداد نمرات
• در این مرحله ،برنامهنویس باید یک فرایند قدم به قدم برای رسیدن از ورودی مورد نیاز به خروجی مطلوب طراحی نماید.
• مجموعه مراحل و قدمهای مورد نیاز در فرایند رسیدن از دادههای موجود به خروجی مطلوب را الگوریتم نامند.
-0شروع
b ، a -1و cرا بخوان
s ← a+b+c -2
average ← s/3 -3
average -4را چاپ کن
-5پایان
-0شروع
a -1و bرا بخوان
tempa -2
a b -3
btemp -4
a -5و bرا چاپ کن
-6پایان
شروع و پایان
پردازش
ورودی و خروجی
شرط
شروع
a,b,cرا
دریافت کن
s ← a+b+c
average=s/3
averageرا
چاپ کن.
پایان
کارنما و الگوریتم 16
مثال
• فلوچارتی رسم کنید که دو عدد را جابهجا کند.
شروع
a,bرا چاپ
کن.
a=10 b=2
پایان
شروع
c f
cرا
دریافت کن 10 50
fc*9/5+32
fرا چاپ
کن.
50
پایان
غلط
شرط عملیاتهایی که باید انجام شود.
درست
aرا
a
دریافت کن
38
خیر aمنفی
a>=0
است.
بله
aمثبت
است.
38مثبت است
پایان
maxa
پایان
10
max=10
db*b-4*a*c
درست
دستورات
1 0
i=1
S=0 2 1
s=15
کارنما و الگوریتم 25
تمرین
• برنامه بنویسید که با دریافت ،nمقدار ! nرا محاسبه نماید.
شروع
n i f
nرا دریافت
5 1 1
کن
2 1
i=1
f=1 3 2
4 6
fرا چاپ
i<=n پایان
کن. 5 24
بله
6 120
f=f*i
i=i+1
f=120
کارنما و الگوریتم 26
تمرین
• فلوچارتی رسم کنید که nعدد از کاربر دریافت کرده و میانگین آنها را محاسبه نماید.
شروع
n i a s avg
nرا دریافت کن
5 1 20 0 15
s=s+a
i=i+1
avg=15
کارنما و الگوریتم 27
تمرین
شروع • فلوچارتی رسم کنید که با دریافت nعدد تعداد اعداد زوج و فرد را مشخص نماید.
even=even+1
even=2 odd=3
i++ کارنما و الگوریتم 28
تمرین
• فلوچارتی رسم کنید که یک عدد دریافت کرده مجموع ارقام آن را محاسبه نماید.
شروع
n s
139 9
s=0
13 18
sرا چاپ 1 21
n>0 پایان
کن.
بله
0 22
s=s+n%10
n=n/10
s=22
کارنما و الگوریتم 29
تمرین
• قلوچارتی رسم کنید که عددی دریافت کرده ،مغلوب آن را محاسبه نماید.
شروع
n s
1399 0
nرا دریافت کن
139 9
s=0
13 99
s=s*10+n%10
n=n/10
s=9931
کارنما و الگوریتم 30
تمرین
• قلوچارتی رسم کنید که عددی دریافت کرده ،بررسی نماید متقارن هست یا نه.
شروع
n s a
s=s*10+n%10 aمتقارن
n=n/10 نیست.
aنامتقارن است
بله 4
i<n flag==true اول است پایان
5
بله
6
n%i==0 اول نیست
7
flag=false
اول است
i=i+1
کارنما و الگوریتم 32
تمرین
• فلوچارتی رسم کنید که عددی دریافت کرده ،بررسی نماید عدد کامل است یا نه( .عدد کامل با مجموع مقسوم علیههایش به
غیر از خودش برابر باشد).
}6={1,2,3,6
6=1+2+3