SlideShare una empresa de Scribd logo
1 de 48
‫الگوریتم و‬
‫فلوچارت‬
‫دکتر نادر نقشینه‬
‫دانشگاه تهران‬

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

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

‫‪‬‬

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

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

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

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

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

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

‫‪‬‬

‫‪‬‬

‫‪‬‬

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

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

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

Más contenido relacionado

Destacado

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Destacado (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Algorithm and Flowchart

  • 1. ‫الگوریتم و‬ ‫فلوچارت‬ ‫دکتر نادر نقشینه‬ ‫دانشگاه تهران‬ ‫بهروز رسولی‬ ‫پژوهشگاه اعلوم و فناوری اطلاعات ایران‬
  • 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) ‫درس دادهپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 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: 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 ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 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‬‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 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  ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 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 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 ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 42. ‫‪Flowchart‬‬ ‫‪NO‬‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 43. ‫مثال‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬ ‫مقایسۀ دو مقدار‬ ‫‪A‬و‪B‬‬
  • 44. ‫‪Quiz‬‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬
  • 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 ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‌‫پ‬
  • 48. ‫‪nnaghsh@ut.ac.ir , rasuli9@gmail.com‬‬ ‫درس دادهرپردازی ****** دکتر نادر نقشینه و بهروز رسولی‬ ‫پ‌‬