‫الگوریتم و‬
‫فلوچارت‬
‫دکتر نادر نقشینه‬
‫دانشگاه تهران‬

‫بهروز رسولی‬
‫پژوهشگاه اعلوم و فناوری اطلاعات ایران‬
‫الگوریت‬
‫م‬
‫‪ ‬روش حل مسئله با استفاده از روشها و تحلیلهای‬
‫پ‌‬
‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز ریاضی‬
‫رسولی‬
‫پ‌‬
‫یک وظیفۀ برنامه نویسی معمولی‬
‫‪‬‬

‫مرحلۀ حل مسئله‬
‫‪‬‬
‫‪‬‬

‫‪‬‬

‫طراحی دنبالههای منظمی از گامهای حل مسئله‬
‫پ‌‬
‫پ‌‬
‫این دنباله را الگوریتم مینامند‬
‫پ‌‬

‫مرحلۀ اجرا‬
‫‪‬‬

‫اجرای یک برنامه در زبانهای برنامهنویسی رایج‬
‫پ‌‬
‫پ‌‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫تعریف الگوریتم‬
‫‪‬‬

‫مجمواعهای از دستورالعملها که به زبان دقیق و‬
‫پ‌‬
‫پ‌‬
‫قاببل فهبم ببه همراه جزئیات لزم و ببه صورت‬
‫مرحلبه ببه مرحلبه ببه گونهای اجرا شده که هدف‬
‫پ‌‬
‫خاصی )حل مسئله( را دنبال کند و شروع و خاتمۀ‬
‫آن نیز مشخص باشد.‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫ادامه تعریف الگوریتم‬
‫‪‬‬

‫‪‬‬

‫‪‬‬

‫‪‬‬

‫منظور از زبان دقیق: آن است که الگوریتم دقیقا“ به همان‬
‫صورتیکه مورد نظر نویسنده است اجرا گردد.‬
‫منظور از جزئیات کافی ، آن است که در طول اجرای‬
‫الگوریتم اعملیات ناشناخته پیش نیامده و بااعث انحراف از‬
‫مسیر و هدف اصلی نگردد.‬
‫منظور از ترتیب مراحل، آن است که مراحل اجرای‬
‫الگوریتم قدم به قدم و با راعایت تقدم و تأ خر مشخص‬
‫شده باشد.‬
‫منظور از شرط خاتمه، پایان پذیر بودن الگوریتم می باشد‬
‫و بهر حال الگوریتم باید در زمانی دلخواه و تحت شرایط یا‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫مراحل تهیه الگوریتم‬
‫1- تعریف دقیق مسئله: باید مسئله را تجزیه و تحلیل‬
‫کرده تا کوچکترین ابهامی در فهم آن وجود نداشته‬
‫باشد.‬
‫2- تعیین اعوامل اصلی)متغییرهای( مورد نیاز‬
‫3- تعیین ورودی و خروجی مسئله : )داده ها و‬
‫اطلاعات(‬
‫4- بررسی راه حل های مختلف مسئله‬
‫5- انتخاب یک راه حل مناسب‬
‫6- اشکال زدایی‬
‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫به زبان سادهتر‬
‫پ‌‬
‫‪‬‬

‫الگوریتم به یک سری دستورالعملها برای حل یک‬
‫پ‌‬
‫مسئله گفته میشود.‬
‫پ‌‬
‫‪‬‬

‫مسئله میتواند از هر نوع باشد؛‬
‫پ‌‬
‫‪‬‬
‫‪‬‬

‫مسائل کاری: اختصاص نیروی کاری برای کسب بالترین سود‬
‫مسائل روزمرۀ زندگی‬
‫‪‬‬
‫‪‬‬

‫من گرسنهام؛ چطور میتوانم یک پیتزا سفارش بدم؛‬
‫پ‌‬
‫پ‌‬
‫توضیح دادن چگونگی بستن بند کفش به یک کودک پنج ساله.‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫شرایط الگوریتم یک الگوریتم مناسب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬

‫زبان ساده؛‬
‫جزئیات کافی؛‬
‫شروع پایان الگوریتم؛‬
‫ترتیب انجام دستورالعملها؛‬
‫پ‌‬
‫جامع بودن؛‬
‫استفاده از حداقل دستورالعملها؛‬
‫پ‌‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫باز تعریف الگوریتم در دنیای پردازش‬
‫داده‬
‫‪‬‬

‫‪‬‬
‫‪‬‬

‫ما با مسائل مربوط به پردازش داده سروکار‬
‫داریم؛‬
‫مسائل باید به زبان برنامهها ترجمه شوند؛‬
‫پ‌‬
‫از آنجایی که ما در این موقعیت تنها ورودی،‬
‫ذخیره، پردازش، و خروجی داریم، دستور‬
‫العملهای الگوریتم ما تنها محدود به این اقدامات‬
‫پ‌‬
‫خواهند بود.‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
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)
‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
‫ورودی‬

‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫خروجی‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫دستورالعمل محاسباتی‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫دستورالعم لهای رابط های‬
‌‫پ‬
‌‫پ‬
Relational Operators
Operator
Description
>
Greater than
<
Less than
=
Equal to
Greater than or equal to
≥
Less than or equal to
≤
Not equal to
≠
‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
‫یک مثال ساده‬
‫‪‬‬

‫محاسبۀ میانگین سه عدد ‪ A‬و ‪ B‬و ‪C‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬

‫0= شروع‬
‫1 =‪ A‬و ‪ B‬و ‪C‬را دریافت کند‬
‫2= مجموع ‪ A‬و ‪ B‬و ‪ C‬را محاسبه کند‬
‫3= حاصل را بر 3 تقسیم کن‬
‫4= میانگین را نمایش بده‬
‫5= رپایان‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫شرطی‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫شرطی‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫عملگرهای مقایسهای‬
‫پ‌‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫یک مثال ساده‬
‫‪‬‬

‫تعیین بزرگترین مقدار میان سه عدد ‪ A‬و ‪ B‬و ‪C‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬

‫0= شروع‬
‫1 =‪ A‬و ‪ B‬و ‪C‬را دریافت کند‬
‫2 =‪ A‬را در ‪MAX‬ذخیره کن‬
‫3= در صورتی که ‪ B‬از ‪ MAX‬بزرگتر است آنگاه ‪ B‬را در ‪MAX‬‬
‫ذخیره کن‬
‫4= در صورتی که ‪ C‬از ‪ MAX‬بزرگتر است آنگاه ‪ C‬را در ‪MAX‬‬
‫ذخیره کن‬
‫5 =‪MAX‬را نمایش بده‬
‫6= رپایان‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫حالت شماتیک مثال‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
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.

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬




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”

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬



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

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
‫عملگرهای منطقی‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫دستورالعملهای تکرار )حلقهها(‬
‫پ‌‬
‫پ‌‬
‫‪‬‬

‫برای حل مسائل مختلف دستورالعملهایی که تا‬
‫پ‌‬
‫کنون یاد گرفتیم به تنهایی کافی نیستند و ما مجبور‬
‫به استفاده از دستورالعملهای تکرار هستیم؛ این‬
‫پ‌‬
‫حلقهها از اجزاء زیر تشکیل میوشوند:‬
‫پ‌‬
‫پ‌‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬

‫وشمارندۀ حلقه؛‬
‫مقدار اولیه؛‬
‫وشرط حلقه؛‬
‫دستورات حلقه‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫مثال‬
‫‪‬‬

‫الگوریتمی طراحی کنید که اعداد طبیعی کوچکتر از‬
‫05 را نمایش دهد.‬
‫‪‬‬

‫مسئله دادۀ ورودی ندارد؛ اولین عدد طبیعی 1 است؛‬
‫هر عدد با عدد بعدی یک واحد اختل ف دارد؛ متغیر ‪N‬‬
‫را در نظر بگیرید و مقدار یک را در آن ذخیره کنید.‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬

‫1. وشروع‬
‫2 .1=‪ (N‬مقدار اولیه)‬
‫3 .‪N‬را نمایش بده ) )دستورات حلقه‬
‫4 .‪N + 1= N‬را نمایش بده ) دستورات حلقه)‬
‫5. اگر 05<‪ N‬آنگاه به مرحلۀ 3 برو )وشرط حقله(‬
‫6. رپایان‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫‪Quiz‬‬
‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫).‪Quiz (10 min‬‬
‫‪A‬الگوریتمی بنویسید که مقسومعلیههای عدد طبیعی و .‬
‫پ‌‬
‫پ‌‬
‫دلخواه‪.M‬را محاسبه کرده و نمایش دهد‬
‫‪B‬الگوریتمی بنویسید که حقوق و دستمزد کارگران یک .‬
‫کارخانه را مطابق وشرایط زیر محاسبه کند‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫‪Answer A‬‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫1‪Answer B‬‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫2 ‪Answer B‬‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫فلوچار‬
‫ت‬
‫‪‬‬

‫‪‬‬

‫‪‬‬

‫در دنیای واقعی مسائل به سادگی مثالهایی که‬
‫پ‌‬
‫گفتیم نیستند؛‬
‫با افزایش دستورالعملها و گسترده وشدن‬
‫پ‌‬
‫الگوریتم، برنامهنویسان گیج میوشوند؛‬
‫پ‌‬
‫پ‌‬
‫یک روش مفید برای کنار آمدن با این مسئله ترسیم‬
‫و طراحی فلوچارت است؛‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫فلوچارت چیست؟‬
‫‪‬‬

‫‪‬‬

‫تعریف دیکشنری: ارائۀ وشماتیک دنبالهای از‬
‫پ‌‬
‫اقدامات، آنچنان که در یک فرایند ساخت یا یک‬
‫برنامهنویسی رایانهای اتفاق میافتد؛‬
‫پ‌‬
‫پ‌‬
‫پ‌‬
‫فنی: ارائۀ گرافیکی دنبالهای از اقدامات در یک‬
‫پ‌‬
‫نظام اطلعاتی یا یک برنامۀ رایانهای‬
‫پ‌‬
‫‪‬‬
‫‪‬‬

‫نظامهای اطلعاتی: چگونه اطلعات یک سند به دست‬
‫پ‌‬
‫کاربر نهایی میرسد؛‬
‫پ‌‬
‫برنامۀ رایانهای: دنبالهای از اقدامات در یک برنامۀ‬
‫پ‌‬
‫پ‌‬
‫واحد.‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫‪Flowchart Symbols‬‬
‫وشکل‬

‫وشرح‬
‫برای نشان دادن وشروع و خاتمه‬
‫عملیات‬

‫محاسبات و مقداردهی‬
‫ورود اطلعات‬
‫خروج بر روی صفحه نمایش‬

‫خروج اطلعات بر روی‬
‫کاغذ‬
‫سئوال، تصمیم گیری و‬
‫وشرط های دلخواه‬
‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬

‫مثال‬
‫‪start‬‬
‫‪stop‬‬
‫‪c←a+b‬‬
‫‪d← i‬‬
‫‪A,B‬‬
‫”001”,‪A,B‬‬

‫?‬
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

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
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


‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
Example
START

Input
VALUE1,VALUE2

Y

is
VALUE1>VALUE2

MAX ← VALUE1

N

MAX ← VALUE2

Print
“The largest value is”,
MAX
STOP

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
The Problem


Write an algorithm that reads three
numbers and prints the value of the
largest number.

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
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

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
‫‪Flowchart‬‬

‫‪NO‬‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
‫مثال‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬

‫مقایسۀ دو مقدار‬
‫‪A‬و‪B‬‬
‫‪Quiz‬‬
‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬
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).
‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
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

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
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
‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‌‫پ‬
‫‪nnaghsh@ut.ac.ir , rasuli9@gmail.com‬‬

‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬
‫پ‌‬

Algorithm and Flowchart

  • 1.
    ‫الگوریتم و‬ ‫فلوچارت‬ ‫دکتر نادرنقشینه‬ ‫دانشگاه تهران‬ ‫بهروز رسولی‬ ‫پژوهشگاه اعلوم و فناوری اطلاعات ایران‬
  • 2.
  • 3.
    ‫‪ ‬روش حلمسئله با استفاده از روشها و تحلیلهای‬ ‫پ‌‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز ریاضی‬ ‫رسولی‬ ‫پ‌‬
  • 4.
    ‫یک وظیفۀ برنامهنویسی معمولی‬ ‫‪‬‬ ‫مرحلۀ حل مسئله‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫طراحی دنبالههای منظمی از گامهای حل مسئله‬ ‫پ‌‬ ‫پ‌‬ ‫این دنباله را الگوریتم مینامند‬ ‫پ‌‬ ‫مرحلۀ اجرا‬ ‫‪‬‬ ‫اجرای یک برنامه در زبانهای برنامهنویسی رایج‬ ‫پ‌‬ ‫پ‌‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 5.
    ‫تعریف الگوریتم‬ ‫‪‬‬ ‫مجمواعهای ازدستورالعملها که به زبان دقیق و‬ ‫پ‌‬ ‫پ‌‬ ‫قاببل فهبم ببه همراه جزئیات لزم و ببه صورت‬ ‫مرحلبه ببه مرحلبه ببه گونهای اجرا شده که هدف‬ ‫پ‌‬ ‫خاصی )حل مسئله( را دنبال کند و شروع و خاتمۀ‬ ‫آن نیز مشخص باشد.‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 6.
    ‫ادامه تعریف الگوریتم‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫منظوراز زبان دقیق: آن است که الگوریتم دقیقا“ به همان‬ ‫صورتیکه مورد نظر نویسنده است اجرا گردد.‬ ‫منظور از جزئیات کافی ، آن است که در طول اجرای‬ ‫الگوریتم اعملیات ناشناخته پیش نیامده و بااعث انحراف از‬ ‫مسیر و هدف اصلی نگردد.‬ ‫منظور از ترتیب مراحل، آن است که مراحل اجرای‬ ‫الگوریتم قدم به قدم و با راعایت تقدم و تأ خر مشخص‬ ‫شده باشد.‬ ‫منظور از شرط خاتمه، پایان پذیر بودن الگوریتم می باشد‬ ‫و بهر حال الگوریتم باید در زمانی دلخواه و تحت شرایط یا‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 7.
    ‫مراحل تهیه الگوریتم‬ ‫1-تعریف دقیق مسئله: باید مسئله را تجزیه و تحلیل‬ ‫کرده تا کوچکترین ابهامی در فهم آن وجود نداشته‬ ‫باشد.‬ ‫2- تعیین اعوامل اصلی)متغییرهای( مورد نیاز‬ ‫3- تعیین ورودی و خروجی مسئله : )داده ها و‬ ‫اطلاعات(‬ ‫4- بررسی راه حل های مختلف مسئله‬ ‫5- انتخاب یک راه حل مناسب‬ ‫6- اشکال زدایی‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 8.
    ‫به زبان سادهتر‬ ‫پ‌‬ ‫‪‬‬ ‫الگوریتمبه یک سری دستورالعملها برای حل یک‬ ‫پ‌‬ ‫مسئله گفته میشود.‬ ‫پ‌‬ ‫‪‬‬ ‫مسئله میتواند از هر نوع باشد؛‬ ‫پ‌‬ ‫‪‬‬ ‫‪‬‬ ‫مسائل کاری: اختصاص نیروی کاری برای کسب بالترین سود‬ ‫مسائل روزمرۀ زندگی‬ ‫‪‬‬ ‫‪‬‬ ‫من گرسنهام؛ چطور میتوانم یک پیتزا سفارش بدم؛‬ ‫پ‌‬ ‫پ‌‬ ‫توضیح دادن چگونگی بستن بند کفش به یک کودک پنج ساله.‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 9.
    ‫شرایط الگوریتم یکالگوریتم مناسب‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫زبان ساده؛‬ ‫جزئیات کافی؛‬ ‫شروع پایان الگوریتم؛‬ ‫ترتیب انجام دستورالعملها؛‬ ‫پ‌‬ ‫جامع بودن؛‬ ‫استفاده از حداقل دستورالعملها؛‬ ‫پ‌‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 10.
    ‫باز تعریف الگوریتمدر دنیای پردازش‬ ‫داده‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫ما با مسائل مربوط به پردازش داده سروکار‬ ‫داریم؛‬ ‫مسائل باید به زبان برنامهها ترجمه شوند؛‬ ‫پ‌‬ ‫از آنجایی که ما در این موقعیت تنها ورودی،‬ ‫ذخیره، پردازش، و خروجی داریم، دستور‬ ‫العملهای الگوریتم ما تنها محدود به این اقدامات‬ ‫پ‌‬ ‫خواهند بود.‬ ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 11.
    Algorithmic Representation ofComputer 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) ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 12.
    ‫ورودی‬ ‫درس دادهپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 13.
    ‫خروجی‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 14.
    ‫دستورالعمل محاسباتی‬ ‫درس دادهرپردازی****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 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= رپایان‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 17.
    ‫شرطی‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 18.
    ‫شرطی‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 19.
    ‫عملگرهای مقایسهای‬ ‫پ‌‬ ‫درس دادهرپردازی****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 20.
    ‫یک مثال ساده‬ ‫‪‬‬ ‫تعیینبزرگترین مقدار میان سه عدد ‪ A‬و ‪ B‬و ‪C‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫0= شروع‬ ‫1 =‪ A‬و ‪ B‬و ‪C‬را دریافت کند‬ ‫2 =‪ A‬را در ‪MAX‬ذخیره کن‬ ‫3= در صورتی که ‪ B‬از ‪ MAX‬بزرگتر است آنگاه ‪ B‬را در ‪MAX‬‬ ‫ذخیره کن‬ ‫4= در صورتی که ‪ C‬از ‪ MAX‬بزرگتر است آنگاه ‪ C‬را در ‪MAX‬‬ ‫ذخیره کن‬ ‫5 =‪MAX‬را نمایش بده‬ ‫6= رپایان‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 21.
    ‫حالت شماتیک مثال‬ ‫درسدادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 22.
    Example  Example 1: Writean 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 setof 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: InputM1,M2,M3,M4 Step 2: GRADE ← (M1+M2+M3+M4)/4 Step 3: if (GRADE < 50) then Print “FAIL” else Print “PASS” endif ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 25.
    ‫عملگرهای منطقی‬ ‫درس دادهرپردازی****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 26.
    ‫دستورالعملهای تکرار )حلقهها(‬ ‫پ‌‬ ‫پ‌‬ ‫‪‬‬ ‫برایحل مسائل مختلف دستورالعملهایی که تا‬ ‫پ‌‬ ‫کنون یاد گرفتیم به تنهایی کافی نیستند و ما مجبور‬ ‫به استفاده از دستورالعملهای تکرار هستیم؛ این‬ ‫پ‌‬ ‫حلقهها از اجزاء زیر تشکیل میوشوند:‬ ‫پ‌‬ ‫پ‌‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫وشمارندۀ حلقه؛‬ ‫مقدار اولیه؛‬ ‫وشرط حلقه؛‬ ‫دستورات حلقه‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 27.
    ‫مثال‬ ‫‪‬‬ ‫الگوریتمی طراحی کنیدکه اعداد طبیعی کوچکتر از‬ ‫05 را نمایش دهد.‬ ‫‪‬‬ ‫مسئله دادۀ ورودی ندارد؛ اولین عدد طبیعی 1 است؛‬ ‫هر عدد با عدد بعدی یک واحد اختل ف دارد؛ متغیر ‪N‬‬ ‫را در نظر بگیرید و مقدار یک را در آن ذخیره کنید.‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫1. وشروع‬ ‫2 .1=‪ (N‬مقدار اولیه)‬ ‫3 .‪N‬را نمایش بده ) )دستورات حلقه‬ ‫4 .‪N + 1= N‬را نمایش بده ) دستورات حلقه)‬ ‫5. اگر 05<‪ N‬آنگاه به مرحلۀ 3 برو )وشرط حقله(‬ ‫6. رپایان‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 28.
    ‫‪Quiz‬‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 29.
    ‫).‪Quiz (10 min‬‬ ‫‪A‬الگوریتمیبنویسید که مقسومعلیههای عدد طبیعی و .‬ ‫پ‌‬ ‫پ‌‬ ‫دلخواه‪.M‬را محاسبه کرده و نمایش دهد‬ ‫‪B‬الگوریتمی بنویسید که حقوق و دستمزد کارگران یک .‬ ‫کارخانه را مطابق وشرایط زیر محاسبه کند‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 30.
    ‫‪Answer A‬‬ ‫درس دادهرپردازی****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 31.
    ‫1‪Answer B‬‬ ‫درس دادهرپردازی****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 32.
    ‫2 ‪Answer B‬‬ ‫درسدادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 33.
  • 34.
    ‫‪‬‬ ‫‪‬‬ ‫‪‬‬ ‫در دنیای واقعیمسائل به سادگی مثالهایی که‬ ‫پ‌‬ ‫گفتیم نیستند؛‬ ‫با افزایش دستورالعملها و گسترده وشدن‬ ‫پ‌‬ ‫الگوریتم، برنامهنویسان گیج میوشوند؛‬ ‫پ‌‬ ‫پ‌‬ ‫یک روش مفید برای کنار آمدن با این مسئله ترسیم‬ ‫و طراحی فلوچارت است؛‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 35.
    ‫فلوچارت چیست؟‬ ‫‪‬‬ ‫‪‬‬ ‫تعریف دیکشنری:ارائۀ وشماتیک دنبالهای از‬ ‫پ‌‬ ‫اقدامات، آنچنان که در یک فرایند ساخت یا یک‬ ‫برنامهنویسی رایانهای اتفاق میافتد؛‬ ‫پ‌‬ ‫پ‌‬ ‫پ‌‬ ‫فنی: ارائۀ گرافیکی دنبالهای از اقدامات در یک‬ ‫پ‌‬ ‫نظام اطلعاتی یا یک برنامۀ رایانهای‬ ‫پ‌‬ ‫‪‬‬ ‫‪‬‬ ‫نظامهای اطلعاتی: چگونه اطلعات یک سند به دست‬ ‫پ‌‬ ‫کاربر نهایی میرسد؛‬ ‫پ‌‬ ‫برنامۀ رایانهای: دنبالهای از اقدامات در یک برنامۀ‬ ‫پ‌‬ ‫پ‌‬ ‫واحد.‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 36.
    ‫‪Flowchart Symbols‬‬ ‫وشکل‬ ‫وشرح‬ ‫برای نشاندادن وشروع و خاتمه‬ ‫عملیات‬ ‫محاسبات و مقداردهی‬ ‫ورود اطلعات‬ ‫خروج بر روی صفحه نمایش‬ ‫خروج اطلعات بر روی‬ ‫کاغذ‬ ‫سئوال، تصمیم گیری و‬ ‫وشرط های دلخواه‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬ ‫مثال‬ ‫‪start‬‬ ‫‪stop‬‬ ‫‪c←a+b‬‬ ‫‪d← i‬‬ ‫‪A,B‬‬ ‫”001”,‪A,B‬‬ ‫?‬
  • 37.
    Example Step 1: InputM1,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 algorithmthat 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  ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 39.
    Example START Input VALUE1,VALUE2 Y is VALUE1>VALUE2 MAX ← VALUE1 N MAX← VALUE2 Print “The largest value is”, MAX STOP ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 40.
    The Problem  Write analgorithm that reads three numbers and prints the value of the largest number. ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 41.
    Algorithm Step 1: InputN1, 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 ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 42.
    ‫‪Flowchart‬‬ ‫‪NO‬‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 43.
    ‫مثال‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬ ‫مقایسۀ دو مقدار‬ ‫‪A‬و‪B‬‬
  • 44.
    ‫‪Quiz‬‬ ‫درس دادهرپردازی ******دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 45.
    Quiz (10 min.)  a) b) Writeand 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: InputNAME,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 ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 48.
    ‫‪nnaghsh@ut.ac.ir , rasuli9@gmail.com‬‬ ‫درسدادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬