3. روش حل مسئله با استفاده از روشها و تحلیلهای
پ
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز ریاضی
رسولی
پ
4. یک وظیفۀ برنامه نویسی معمولی
مرحلۀ حل مسئله
طراحی دنبالههای منظمی از گامهای حل مسئله
پ
پ
این دنباله را الگوریتم مینامند
پ
مرحلۀ اجرا
اجرای یک برنامه در زبانهای برنامهنویسی رایج
پ
پ
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
5. تعریف الگوریتم
مجمواعهای از دستورالعملها که به زبان دقیق و
پ
پ
قاببل فهبم ببه همراه جزئیات لزم و ببه صورت
مرحلبه ببه مرحلبه ببه گونهای اجرا شده که هدف
پ
خاصی )حل مسئله( را دنبال کند و شروع و خاتمۀ
آن نیز مشخص باشد.
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
6. ادامه تعریف الگوریتم
منظور از زبان دقیق: آن است که الگوریتم دقیقا“ به همان
صورتیکه مورد نظر نویسنده است اجرا گردد.
منظور از جزئیات کافی ، آن است که در طول اجرای
الگوریتم اعملیات ناشناخته پیش نیامده و بااعث انحراف از
مسیر و هدف اصلی نگردد.
منظور از ترتیب مراحل، آن است که مراحل اجرای
الگوریتم قدم به قدم و با راعایت تقدم و تأ خر مشخص
شده باشد.
منظور از شرط خاتمه، پایان پذیر بودن الگوریتم می باشد
و بهر حال الگوریتم باید در زمانی دلخواه و تحت شرایط یا
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
7. مراحل تهیه الگوریتم
1- تعریف دقیق مسئله: باید مسئله را تجزیه و تحلیل
کرده تا کوچکترین ابهامی در فهم آن وجود نداشته
باشد.
2- تعیین اعوامل اصلی)متغییرهای( مورد نیاز
3- تعیین ورودی و خروجی مسئله : )داده ها و
اطلاعات(
4- بررسی راه حل های مختلف مسئله
5- انتخاب یک راه حل مناسب
6- اشکال زدایی
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
8. به زبان سادهتر
پ
الگوریتم به یک سری دستورالعملها برای حل یک
پ
مسئله گفته میشود.
پ
مسئله میتواند از هر نوع باشد؛
پ
مسائل کاری: اختصاص نیروی کاری برای کسب بالترین سود
مسائل روزمرۀ زندگی
من گرسنهام؛ چطور میتوانم یک پیتزا سفارش بدم؛
پ
پ
توضیح دادن چگونگی بستن بند کفش به یک کودک پنج ساله.
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
9. شرایط الگوریتم یک الگوریتم مناسب
زبان ساده؛
جزئیات کافی؛
شروع پایان الگوریتم؛
ترتیب انجام دستورالعملها؛
پ
جامع بودن؛
استفاده از حداقل دستورالعملها؛
پ
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
10. باز تعریف الگوریتم در دنیای پردازش
داده
ما با مسائل مربوط به پردازش داده سروکار
داریم؛
مسائل باید به زبان برنامهها ترجمه شوند؛
پ
از آنجایی که ما در این موقعیت تنها ورودی،
ذخیره، پردازش، و خروجی داریم، دستور
العملهای الگوریتم ما تنها محدود به این اقدامات
پ
خواهند بود.
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
11. Algorithmic Representation of Computer Functions
Input
Store information
Given/Result
Intermediates/Set
Process
Read, Get (input command)
Storage
Get information
Arithmetic
Repeat instructions
Branch conditionals
Let (assignment command)
Loop
If
Output
Give information
Give, Print, Show (output command)
درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
15. دستورالعم لهای رابط های
پ
پ
Relational Operators
Operator
Description
>
Greater than
<
Less than
=
Equal to
Greater than or equal to
≥
Less than or equal to
≤
Not equal to
≠
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
16. یک مثال ساده
محاسبۀ میانگین سه عدد Aو Bو C
0= شروع
1 = Aو Bو Cرا دریافت کند
2= مجموع Aو Bو Cرا محاسبه کند
3= حاصل را بر 3 تقسیم کن
4= میانگین را نمایش بده
5= رپایان
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
22. Example
Example 1: Write an algorithm to
determine a student’s final grade and
indicate whether it is passing or failing.
The final grade is calculated as the
average of four marks.
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
23.
Input a set of 4 marks
Calculate their average by summing and dividing
by 4
if average is below 50
Print “FAIL”
else
Print “PASS”
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
24.
Detailed Algorithm
Step 1:
Input M1,M2,M3,M4
Step 2:
GRADE ← (M1+M2+M3+M4)/4
Step 3:
if (GRADE < 50) then
Print “FAIL”
else
Print “PASS”
endif
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
26. دستورالعملهای تکرار )حلقهها(
پ
پ
برای حل مسائل مختلف دستورالعملهایی که تا
پ
کنون یاد گرفتیم به تنهایی کافی نیستند و ما مجبور
به استفاده از دستورالعملهای تکرار هستیم؛ این
پ
حلقهها از اجزاء زیر تشکیل میوشوند:
پ
پ
وشمارندۀ حلقه؛
مقدار اولیه؛
وشرط حلقه؛
دستورات حلقه
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
27. مثال
الگوریتمی طراحی کنید که اعداد طبیعی کوچکتر از
05 را نمایش دهد.
مسئله دادۀ ورودی ندارد؛ اولین عدد طبیعی 1 است؛
هر عدد با عدد بعدی یک واحد اختل ف دارد؛ متغیر N
را در نظر بگیرید و مقدار یک را در آن ذخیره کنید.
1. وشروع
2 .1= (Nمقدار اولیه)
3 .Nرا نمایش بده ) )دستورات حلقه
4 .N + 1= Nرا نمایش بده ) دستورات حلقه)
5. اگر 05< Nآنگاه به مرحلۀ 3 برو )وشرط حقله(
6. رپایان
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
29. ).Quiz (10 min
Aالگوریتمی بنویسید که مقسومعلیههای عدد طبیعی و .
پ
پ
دلخواه.Mرا محاسبه کرده و نمایش دهد
Bالگوریتمی بنویسید که حقوق و دستمزد کارگران یک .
کارخانه را مطابق وشرایط زیر محاسبه کند
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
34.
در دنیای واقعی مسائل به سادگی مثالهایی که
پ
گفتیم نیستند؛
با افزایش دستورالعملها و گسترده وشدن
پ
الگوریتم، برنامهنویسان گیج میوشوند؛
پ
پ
یک روش مفید برای کنار آمدن با این مسئله ترسیم
و طراحی فلوچارت است؛
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
35. فلوچارت چیست؟
تعریف دیکشنری: ارائۀ وشماتیک دنبالهای از
پ
اقدامات، آنچنان که در یک فرایند ساخت یا یک
برنامهنویسی رایانهای اتفاق میافتد؛
پ
پ
پ
فنی: ارائۀ گرافیکی دنبالهای از اقدامات در یک
پ
نظام اطلعاتی یا یک برنامۀ رایانهای
پ
نظامهای اطلعاتی: چگونه اطلعات یک سند به دست
پ
کاربر نهایی میرسد؛
پ
برنامۀ رایانهای: دنبالهای از اقدامات در یک برنامۀ
پ
پ
واحد.
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
36. Flowchart Symbols
وشکل
وشرح
برای نشان دادن وشروع و خاتمه
عملیات
محاسبات و مقداردهی
ورود اطلعات
خروج بر روی صفحه نمایش
خروج اطلعات بر روی
کاغذ
سئوال، تصمیم گیری و
وشرط های دلخواه
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
مثال
start
stop
c←a+b
d← i
A,B
”001”,A,B
?
37. Example
Step 1: Input M1,M2,M3,M4
Step 2: GRADE ← (M1+M2+M3+M4)/4
Step 3: if (GRADE <50) then
Print “FAIL”
else
Print “PASS”
endif
START
Input
M1,M2,M3,M4
GRADE←(M1+M2+M3+M4)/4
N
IS
GRADE<5
0
PRINT
“PASS”
Y
PRINT
“FAIL”
STOP
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
38. Example
Write an algorithm that reads two values, determines the
largest value and prints the largest value with an
identifying message.
ALGORITHM
Step 1:
Input VALUE1, VALUE2
Step 2:
if (VALUE1 > VALUE2) then
MAX ← VALUE1
else
MAX ← VALUE2
endif
Step 3:
Print “The largest value is”, MAX
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
40. The Problem
Write an algorithm that reads three
numbers and prints the value of the
largest number.
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
41. Algorithm
Step 1: Input N1, N2, N3
Step 2: if (N1>N2) then
if (N1>N3) then
MAX ← N1
[N1>N2, N1>N3]
else
MAX ← N3
[N3>N1>N2]
endif
else
if (N2>N3) then
MAX ← N2
[N2>N1, N2>N3]
else
MAX ← N3
[N3>N2>N1]
endif
endif
Step 3: Print “The largest number is”, MAX
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
45. Quiz (10 min.)
a)
b)
Write and algorithm and draw a flowchart
to
read an employee name (NAME),
overtime hours worked (OVERTIME),
hours absent (ABSENT) and
determine the bonus payment
(PAYMENT).
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
46. Bonus Schedule
OVERTIME – (2/3)*ABSENT
Bonus Paid
>40 hours
>30 but ≤ 40 hours
>20 but ≤ 30 hours
>10 but ≤ 20 hours
≤ 10 hours
$50
$40
$30
$20
$10
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ
47. Step 1: Input NAME,OVERTIME,ABSENT
Step 2: if (OVERTIME–(2/3)*ABSENT > 40) then
PAYMENT ← 50
else if (OVERTIME–(2/3)*ABSENT > 30) then
PAYMENT ← 40
else if (OVERTIME–(2/3)*ABSENT > 20) then
PAYMENT ← 30
else if (OVERTIME–(2/3)*ABSENT > 10) then
PAYMENT ←20
else
PAYMENT ← 10
endif
Step 3: Print “Bonus for”, NAME “is $”, PAYMENT
درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی
پ