SlideShare a Scribd company logo
1 of 22
Download to read offline
‫الگوریتم‬
‫و‬
‫فلوچارت‬
{
‫مساله‬ ‫حل‬ ‫رویکرد‬ ‫با‬
}
jahangirics.ir
‫اول‬ ‫جلسه‬
‫صد‬ ‫تا‬ ‫صفر‬
‫چرا‬
‫الگوریتم‬
‫؟‬
Python- JavaScript- Java – C# - C++ - PHP – ASP – R -
Swift – SQL –Kotlin - . . .
‫زبان‬ ‫چه‬
‫نویسی‬‫برنامه‬
‫بگیریم؟‬ ‫یاد‬
01
‫برنامه‬ ‫دید‬
‫نویسی‬
‫دید‬
‫بهتری‬
‫نسبت‬
‫به‬
‫برنام‬
‫ه‬
‫نویسی‬
‫پیدا‬
‫میکنید‬
.
‫باید‬ ‫چرا‬
‫الگوریتم‬
‫و‬
‫فلوچارت‬
‫بگیریم؟‬ ‫یاد‬
02
‫اولیه‬ ‫اصول‬
‫یادگیـری‬
‫مفاهیم‬
‫و‬
‫اصول‬
‫برنا‬
‫مه‬
‫نویسی‬
03
‫مساله‬ ‫حل‬
‫روش‬
‫حل‬
‫مساله‬
‫را‬
‫یاد‬
‫خواهید‬
‫گرفت‬
04
‫دنیای‬ ‫به‬ ‫ورود‬
‫نوی‬‫برنامه‬
‫سی‬
‫الگوریتم‬
‫و‬
‫فلوچارت‬
‫پل‬
‫ورود‬
‫ب‬
‫ه‬
‫هر‬
‫زبان‬
‫برنامه‬
‫نویسی‬
‫دلخواه‬
‫است‬
‫دوره‬ ‫این‬ ‫در‬ ‫شده‬ ‫ارائه‬ ‫مطالب‬ ‫فصل‬ ‫سر‬
1
-
‫ا‬
‫لگوریتم‬
‫و‬
‫فلوچارت‬
○
‫زیر‬ ،‫تکرار‬ ‫ساختار‬
‫الگوریتم‬
‫آرایه‬ ،
2
-
‫پالس‬‫پالس‬‫سی‬
○
‫و‬ ‫آرایه‬ ،‫تابع‬ ،‫تکرار‬ ‫ساختار‬ ،‫اولیه‬ ‫مفاهیم‬
‫ماتریس‬
3
-
‫زبانهای‬ ‫معرفی‬
‫نویسی‬‫برنامه‬
4
-
‫جهانی‬ ‫استانداردهای‬ ‫با‬ ‫آزمون‬ ‫یک‬ ‫برگزاری‬
www.ketabrah.ir
‫ویندوز‬
‫اندروید‬
ios
‫نکته‬ ‫دو‬
:
1
-
‫است‬ ‫شده‬ ‫چیده‬ ‫سخت‬ ‫به‬ ‫ساده‬ ‫از‬ ‫مثالها‬ ‫ترتیب‬
.
2
-
‫کن‬ ‫حل‬ ‫خودتان‬ ‫رو‬ ‫مثالها‬ ‫کنید‬ ‫سعی‬ ‫و‬ ‫نباشید‬ ‫بیننده‬ ‫فقط‬ ‫آموزشی‬ ‫دوره‬ ‫این‬ ‫در‬
‫ید‬
‫الگوریتم‬
‫چیست؟‬
01
‫کلی‬ ‫مفهوم‬ ‫با‬ ‫فصل‬ ‫این‬ ‫در‬
‫الگوریتم‬
‫ساده‬ ‫مثال‬ ‫چند‬ ‫در‬
‫آشنا‬
‫شوید‬‫می‬
‫کامپیوتر‬
‫رباتهایی‬
‫کارهای‬ ‫که‬ ‫بزنید‬ ‫مثال‬ ‫رو‬
‫انجام‬ ‫ای‬ ‫العاده‬ ‫فوق‬
‫میدن‬
‫کامپیوتر؟‬ ‫یا‬ ‫است‬ ‫تر‬ ‫باهوش‬ ‫انسان‬
‫کامپیوتر‬
‫تر‬ ‫دقیق‬ ‫خیلی‬ ‫ساده‬ ‫حساب‬ ‫ماشین‬ ‫یک‬
‫میکنه‬ ‫کار‬ ‫انسان‬ ‫مغز‬ ‫از‬ ‫سریعتر‬ ‫و‬
‫انسان‬
‫مگه‬
‫رباتها‬
‫و‬
‫افزارها‬‫نرم‬
‫کی‬ ‫رو‬
‫نوشته؟‬
!
‫تعریف‬
‫الگوریتم‬
‫روش‬
‫گام‬ ‫به‬ ‫گام‬
‫را‬ ‫مسئله‬ ‫حل‬
‫الگوریتم‬
‫گویند‬
‫گرفت‬ ‫نظر‬ ‫در‬ ‫را‬ ‫زیر‬ ‫معیارهای‬ ‫باید‬ ‫الگوریتم‬ ‫نوشتن‬ ‫در‬
:
‫ورودی‬
:
‫خروجی‬
:
‫قطعیت‬
:
‫محدودیت‬
:
‫باشد‬ ‫داشته‬ ‫ورودی‬ ‫چند‬ ‫یا‬ ‫صفر‬ ‫باید‬ ‫الگوریتم‬ ‫یک‬
.
‫ماشی‬ ‫با‬ ‫کار‬ ‫زمان‬ ‫در‬ ‫مثال‬ ‫طور‬ ‫به‬
،‫حساب‬ ‫ن‬
‫حاصل‬ ‫محاسبه‬ ‫برای‬
2
+
3
،
‫اعداد‬
2
‫و‬
3
‫روند‬ ‫می‬ ‫شمار‬ ‫به‬ ‫الگوریتم‬ ‫ورودی‬ ‫جمع‬ ‫عمل‬ ‫و‬
.
‫باشد‬ ‫داشته‬ ‫خروجی‬ ‫چند‬ ‫یا‬ ‫صفر‬ ‫باید‬ ‫الگوریتم‬
.
‫قبل‬ ‫مثال‬ ‫خروجی‬ ‫مثال‬ ‫عنوان‬ ‫به‬
5
‫است‬
.
‫شوند‬ ‫نوشته‬ ‫ابهام‬ ‫بی‬ ‫و‬ ‫دقیق‬ ‫زبانی‬ ‫با‬ ‫باید‬ ‫دستورات‬
.
‫باشد‬ ‫مشخص‬ ‫پایان‬ ‫و‬ ‫شروع‬ ‫دارای‬ ‫باید‬ ‫الگوریتم‬
.
‫الگوریتم‬
‫ای‬‫برنامه‬
‫چاپ‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫مجموع‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫دو‬ ‫ورودی‬ ‫از‬ ‫که‬ ‫بنویسید‬
‫کند‬
.
‫مثال‬
1
:
1
-
‫شروع‬
.
2
-
‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫اول‬ ‫عدد‬
x
‫بده‬ ‫قرار‬
.
3
-
‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫دوم‬ ‫عدد‬
y
‫بده‬ ‫قرار‬
.
4
-
‫حاصل‬
x+y
‫در‬ ‫را‬
z
‫بده‬ ‫قرار‬
5
-
z
‫کن‬ ‫چاپ‬ ‫را‬
6
-
‫پایان‬
.
‫الگوریتم‬
‫برنامه‬
‫ای‬
‫بنویسید‬
‫که‬
‫دو‬
‫عدد‬
‫را‬
‫دریافت‬
‫نماید‬
‫و‬
‫بزرگترین‬
‫آنها‬
‫را‬
‫نمای‬
‫ش‬
‫دهد‬
.
‫مثال‬
2
:
1
-
‫شروع‬
.
2
-
‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫اول‬ ‫عدد‬
x
‫بده‬ ‫قرار‬
.
3
-
‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫دوم‬ ‫عدد‬
y
‫بده‬ ‫قرار‬
.
4
-
‫اگر‬
x≥y
‫آنگاه‬
x
‫کن‬ ‫چاپ‬ ‫را‬
.
5
-
‫اگر‬
y>x
‫آنگاه‬ ،
y
‫کن‬ ‫چاپ‬ ‫را‬
.
6
-
‫پایان‬
.
1
-
‫شروع‬
.
2
-
‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫اول‬ ‫عدد‬
x
‫بده‬ ‫قرار‬
.
3
-
‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫دوم‬ ‫عدد‬
y
‫بده‬ ‫قرار‬
.
4
-
‫اگر‬
x≥y
‫آنگاه‬
x
‫به‬ ‫و‬ ‫کن‬ ‫چاپ‬ ‫را‬
6
‫برو‬
5
-
y
‫کن‬ ‫چاپ‬ ‫را‬
.
6
-
‫پایان‬
.
x=15
y=10
15
‫فلوچارت‬
‫الگوریت‬ ‫بیان‬ ‫برای‬ ،‫الگوریتم‬ ‫داشتن‬ ‫قطعیت‬ ‫دلیل‬ ‫به‬
‫فلوچارت‬ ‫م‬
‫در‬ ‫سعی‬ ‫ریاضی‬ ‫نمادهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫که‬ ‫شد‬ ‫ساخته‬
‫بیان‬
‫نماید‬‫می‬ ‫الگوریتم‬
.
‫سراغ‬ ‫به‬ ‫چرا‬
‫فلوچارت‬
‫رویم‬‫می‬
‫؟‬
‫ب‬
‫ر‬
‫در‬ ‫شده‬ ‫استفاده‬ ‫نمادهای‬ ‫معرفی‬
‫فلوچارت‬
X,Y,Z
SUM  X+Y+Z
AVG  SUM/3.0
AVG
‫فلوچارت‬
‫برنامه‬
‫ای‬
‫رسم‬
‫کنید‬
‫که‬
‫سه‬
‫عدد‬
‫دریافت‬
‫کند‬
‫و‬
‫میان‬
‫گین‬
‫سه‬
‫عدد‬
‫را‬
‫چاپ‬
‫کند‬
‫مثال‬
3
:
‫صحیح‬ ‫تقسیم‬:
‫اعشاری‬ ‫تقسیم‬:
3
=
3
/
10
3.33
=
3.0
/
10
SUM = X + Y + Z
X + Y +Z = SUM
‫فلوچارت‬
‫ای‬‫برنامه‬
‫ضلع‬ ‫طول‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬
‫مربعی‬
‫کند‬ ‫دریافت‬ ‫را‬
.
‫و‬ ‫محیط‬ ‫و‬
‫مساحتش‬
‫کند‬ ‫چاپ‬ ‫را‬
.
‫مثال‬
4
:
a
P  4 × a
S  a × a
P
S
‫فلوچارت‬
‫ای‬‫برنامه‬
‫ضلع‬ ‫طول‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬
‫مربعی‬
‫و‬ ‫محیط‬ ‫و‬ ‫دریافت‬ ‫را‬
‫مساحتش‬
‫چاپ‬ ‫را‬
‫کند‬
.
‫مثال‬
4
:
‫کن‬ ‫چاپ‬ ‫را‬ ‫مساحتش‬ ‫و‬ ‫محیط‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫ای‬ ‫دایره‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫برنامه‬ ‫فلوچارت‬
‫د‬
.
‫مثال‬
5
:
‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫الزاویه‬ ‫قائم‬ ‫مثلث‬ ‫یک‬ ‫ارتفاع‬ ‫و‬ ‫قاعده‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫برنامه‬ ‫فلوچارت‬
‫و‬ ‫محیط‬
‫کند‬ ‫چاپ‬ ‫را‬ ‫مثلث‬ ‫مساحت‬
.
‫مثال‬
6
:
𝑷 = 𝟒 × 𝒂
𝑺 = 𝒂 × 𝒂
𝐏 = 𝟐 × 𝝅 × 𝒓
𝑺 = 𝝅 × 𝒓𝟐
𝐏 = 𝒂 + 𝒃 + 𝒂𝟐 + 𝒃𝟐
𝑺 =
𝟏
𝟐
× 𝒂 × 𝒃
‫فلوچارت‬
‫ای‬‫برنامه‬
‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬
‫ای‬‫دایره‬
‫مربع‬ ‫و‬ ‫دایره‬ ‫مساحت‬ ‫اختالف‬ ‫و‬ ‫دریافت‬ ‫را‬
‫محاط‬
‫کند‬ ‫چاپ‬ ‫آن‬ ‫در‬ ‫را‬ ‫شده‬
.
‫مثال‬
7
:
R
‫ه‬ : 𝝅 × R 2
‫ع‬ :
𝟐𝑹 × 𝟐𝑹
𝟐
= 𝟐𝑹𝟐
‫رو‬
R
‫ر‬ ‫ب‬ ‫را‬
S1  2× R2
PI  3.14
S2  PI × R2
‫ا‬ ‫م‬ ‫ت‬ ‫ا‬
‫با‬ ‫برابراس‬
Diff
‫ایان‬
Diff  S2 – S1
R
‫در‬ ‫و‬ ‫خوانده‬ ‫ورودی‬ ‫از‬ ‫را‬ ‫مقدار‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫برنامه‬ ‫فلوچارت‬
x
‫و‬
y
‫دهد‬ ‫قرار‬
.
‫سپس‬
‫مقادیر‬
x
‫و‬
y
‫کند‬ ‫جا‬ ‫به‬ ‫جا‬ ‫هم‬ ‫با‬ ‫را‬
.
‫مثال‬
8
:
X = 20
Y = 10
X = 20
Y = 10
‫ورودی‬
X = 10
y = 10
×
‫چی؟‬ ‫که‬ ‫خب‬
!
‫و‬ ‫کنم‬ ‫دریافت‬ ‫عدد‬ ‫تا‬ ‫دو‬
‫جاشون‬
‫بشه؟‬ ‫چی‬ ‫کنم‬ ‫عوض‬ ‫رو‬
X
Y
TEMP  X
X
Y
Y TEMP
X Y
Temp = 20
X = 10
Y = 20
Trace ‫کردن‬ ‫دنبال‬
‫الگوریتم‬
‫مقاد‬ ‫بررسی‬ ‫و‬ ‫خط‬ ‫به‬ ‫خط‬ ‫اجرای‬ ‫با‬
‫یر‬
X = 20
Y = 10
‫ورودی‬
X = 30
Y = 10
X = 30
Y = 20
X = 10
Y = 20
X
Y
X  X+Y
X
Y
X  X-Y
Y  X-Y
‫خروجی‬
‫دوم‬ ‫روش‬
‫سوال‬
‫کدام‬
‫بهتره؟‬ ‫مساله‬ ‫این‬ ‫حل‬ ‫برای‬ ‫روش‬
‫برتری‬ ‫برای‬ ‫معیاری‬ ‫چه‬
‫الگوریتمها‬
‫نس‬
‫بت‬
‫دارد؟‬ ‫وجود‬ ‫هم‬ ‫به‬
‫بندی‬ ‫جمع‬
‫حافظه‬ ‫و‬ ‫زمانی‬ ‫مرتبه‬ ‫مثال‬
Trace
‫از‬ ‫بیشتر‬ ‫بعد‬ ‫جلسات‬ ‫در‬
Trace
‫شنید‬ ‫خواهید‬
!
‫اولیه‬ ‫تعاریف‬
‫اولیه‬ ‫اصول‬ ‫و‬ ‫مفاهیم‬ ‫با‬
‫الگوریتم‬
‫و‬
‫نمادهای‬
‫فلوچارت‬
‫شدید‬ ‫آشنا‬
.
‫قالب‬ ‫در‬
‫مثالهای‬
‫ارائه‬ ‫مفاهیم‬ ‫ساده‬
‫گرفتید‬ ‫یاد‬ ‫را‬ ‫شده‬
.
‫الگوی‬
‫ای‬‫ساده‬
‫برتری‬ ‫از‬
‫الگوریتمها‬
‫گرفتید‬ ‫یاد‬ ‫را‬ ‫هم‬ ‫به‬ ‫نسبت‬
jahangirics.ir
jahangirics.ir
@jahangiri_cs
@jahangirics

More Related Content

What's hot

Nams- Roots of equations by numerical methods
Nams- Roots of equations by numerical methodsNams- Roots of equations by numerical methods
Nams- Roots of equations by numerical methods
Ruchi Maurya
 
Finding All Real Zeros Of A Polynomial With Examples
Finding All Real Zeros Of A Polynomial With ExamplesFinding All Real Zeros Of A Polynomial With Examples
Finding All Real Zeros Of A Polynomial With Examples
Kristen T
 
6.6 finding rational zeros
6.6 finding rational zeros6.6 finding rational zeros
6.6 finding rational zeros
hisema01
 
Roots of polynomials
Roots of polynomialsRoots of polynomials
Roots of polynomials
DUBAN CASTRO
 
A26-6 poly zeros
A26-6 poly zerosA26-6 poly zeros
A26-6 poly zeros
vhiggins1
 
A1 11 functions
A1 11 functionsA1 11 functions
A1 11 functions
vhiggins1
 
4.3 notes
4.3 notes4.3 notes
4.3 notes
toney
 

What's hot (19)

Nams- Roots of equations by numerical methods
Nams- Roots of equations by numerical methodsNams- Roots of equations by numerical methods
Nams- Roots of equations by numerical methods
 
Zeroes and roots
Zeroes and rootsZeroes and roots
Zeroes and roots
 
Finding All Real Zeros Of A Polynomial With Examples
Finding All Real Zeros Of A Polynomial With ExamplesFinding All Real Zeros Of A Polynomial With Examples
Finding All Real Zeros Of A Polynomial With Examples
 
Exp 1
Exp 1Exp 1
Exp 1
 
Loop Statements [5] M
Loop Statements [5] MLoop Statements [5] M
Loop Statements [5] M
 
Csci101 lect03 algorithms_i
Csci101 lect03 algorithms_iCsci101 lect03 algorithms_i
Csci101 lect03 algorithms_i
 
Numerical Methods and Applied Statistics Paper (RTU VI Semester)
Numerical Methods and Applied Statistics Paper (RTU VI Semester)Numerical Methods and Applied Statistics Paper (RTU VI Semester)
Numerical Methods and Applied Statistics Paper (RTU VI Semester)
 
6.6 finding rational zeros
6.6 finding rational zeros6.6 finding rational zeros
6.6 finding rational zeros
 
Homework graphing
Homework   graphingHomework   graphing
Homework graphing
 
Presentación grupo 551108 30
Presentación grupo 551108 30Presentación grupo 551108 30
Presentación grupo 551108 30
 
Roots of polynomials
Roots of polynomialsRoots of polynomials
Roots of polynomials
 
Matlab lecture 5 bisection method@taj
Matlab lecture 5  bisection method@tajMatlab lecture 5  bisection method@taj
Matlab lecture 5 bisection method@taj
 
A26-6 poly zeros
A26-6 poly zerosA26-6 poly zeros
A26-6 poly zeros
 
QUESTION 3 Write a program called Triangle.java which first reads in the (x,y...
QUESTION 3 Write a program called Triangle.java which first reads in the (x,y...QUESTION 3 Write a program called Triangle.java which first reads in the (x,y...
QUESTION 3 Write a program called Triangle.java which first reads in the (x,y...
 
A1 11 functions
A1 11 functionsA1 11 functions
A1 11 functions
 
14 arrays
14 arrays14 arrays
14 arrays
 
MATH: SIMILARITY
MATH: SIMILARITY MATH: SIMILARITY
MATH: SIMILARITY
 
4.3 notes
4.3 notes4.3 notes
4.3 notes
 
Queue - Data Structure - Notes
Queue - Data Structure - NotesQueue - Data Structure - Notes
Queue - Data Structure - Notes
 

Similar to جلسه اول الگوریتم و فلوچارت

Similar to جلسه اول الگوریتم و فلوچارت (20)

Maths class x
Maths class xMaths class x
Maths class x
 
Unit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptxUnit-1 Basic Concept of Algorithm.pptx
Unit-1 Basic Concept of Algorithm.pptx
 
Mc ty-logarithms-2009-1
Mc ty-logarithms-2009-1Mc ty-logarithms-2009-1
Mc ty-logarithms-2009-1
 
Logarithms Text
Logarithms TextLogarithms Text
Logarithms Text
 
Math 10 - Session 2.pptx
Math 10 - Session 2.pptxMath 10 - Session 2.pptx
Math 10 - Session 2.pptx
 
Python.pptx
Python.pptxPython.pptx
Python.pptx
 
Python Exam (Questions with Solutions Done By Live Exam Helper Experts)
Python Exam (Questions with Solutions Done By Live Exam Helper Experts)Python Exam (Questions with Solutions Done By Live Exam Helper Experts)
Python Exam (Questions with Solutions Done By Live Exam Helper Experts)
 
Fst ch3 notes
Fst ch3 notesFst ch3 notes
Fst ch3 notes
 
Introduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdfIntroduction to computing Processing and performance.pdf
Introduction to computing Processing and performance.pdf
 
Math 116 pres. 1
Math 116 pres. 1Math 116 pres. 1
Math 116 pres. 1
 
Python for Scientific Computing
Python for Scientific ComputingPython for Scientific Computing
Python for Scientific Computing
 
Algorithm Assignment Help
Algorithm Assignment HelpAlgorithm Assignment Help
Algorithm Assignment Help
 
Scala as a Declarative Language
Scala as a Declarative LanguageScala as a Declarative Language
Scala as a Declarative Language
 
chapter1.pdf ......................................
chapter1.pdf ......................................chapter1.pdf ......................................
chapter1.pdf ......................................
 
Aplicaciones de las derivadas
Aplicaciones de las  derivadasAplicaciones de las  derivadas
Aplicaciones de las derivadas
 
Uta005 lecture3
Uta005 lecture3Uta005 lecture3
Uta005 lecture3
 
L06
L06L06
L06
 
Problem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study materialProblem solving using computers - Unit 1 - Study material
Problem solving using computers - Unit 1 - Study material
 
Probability module 1
Probability module 1Probability module 1
Probability module 1
 
jake.pptx
jake.pptxjake.pptx
jake.pptx
 

Recently uploaded

Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
EADTU
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
EADTU
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
CaitlinCummins3
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
Peter Brusilovsky
 

Recently uploaded (20)

ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)ESSENTIAL of (CS/IT/IS) class 07 (Networks)
ESSENTIAL of (CS/IT/IS) class 07 (Networks)
 
Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"Mattingly "AI and Prompt Design: LLMs with NER"
Mattingly "AI and Prompt Design: LLMs with NER"
 
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjjStl Algorithms in C++ jjjjjjjjjjjjjjjjjj
Stl Algorithms in C++ jjjjjjjjjjjjjjjjjj
 
Major project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategiesMajor project report on Tata Motors and its marketing strategies
Major project report on Tata Motors and its marketing strategies
 
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...When Quality Assurance Meets Innovation in Higher Education - Report launch w...
When Quality Assurance Meets Innovation in Higher Education - Report launch w...
 
Graduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptxGraduate Outcomes Presentation Slides - English (v3).pptx
Graduate Outcomes Presentation Slides - English (v3).pptx
 
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
Transparency, Recognition and the role of eSealing - Ildiko Mazar and Koen No...
 
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes GuàrdiaPersonalisation of Education by AI and Big Data - Lourdes Guàrdia
Personalisation of Education by AI and Big Data - Lourdes Guàrdia
 
SURVEY I created for uni project research
SURVEY I created for uni project researchSURVEY I created for uni project research
SURVEY I created for uni project research
 
SPLICE Working Group: Reusable Code Examples
SPLICE Working Group:Reusable Code ExamplesSPLICE Working Group:Reusable Code Examples
SPLICE Working Group: Reusable Code Examples
 
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
TỔNG HỢP HƠN 100 ĐỀ THI THỬ TỐT NGHIỆP THPT TOÁN 2024 - TỪ CÁC TRƯỜNG, TRƯỜNG...
 
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
24 ĐỀ THAM KHẢO KÌ THI TUYỂN SINH VÀO LỚP 10 MÔN TIẾNG ANH SỞ GIÁO DỤC HẢI DƯ...
 
Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"Mattingly "AI & Prompt Design: Named Entity Recognition"
Mattingly "AI & Prompt Design: Named Entity Recognition"
 
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUMDEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
DEMONSTRATION LESSON IN ENGLISH 4 MATATAG CURRICULUM
 
Observing-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptxObserving-Correct-Grammar-in-Making-Definitions.pptx
Observing-Correct-Grammar-in-Making-Definitions.pptx
 
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptxAnalyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
Analyzing and resolving a communication crisis in Dhaka textiles LTD.pptx
 
An overview of the various scriptures in Hinduism
An overview of the various scriptures in HinduismAn overview of the various scriptures in Hinduism
An overview of the various scriptures in Hinduism
 
Improved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio AppImproved Approval Flow in Odoo 17 Studio App
Improved Approval Flow in Odoo 17 Studio App
 
Trauma-Informed Leadership - Five Practical Principles
Trauma-Informed Leadership - Five Practical PrinciplesTrauma-Informed Leadership - Five Practical Principles
Trauma-Informed Leadership - Five Practical Principles
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 

جلسه اول الگوریتم و فلوچارت

  • 1. ‫الگوریتم‬ ‫و‬ ‫فلوچارت‬ { ‫مساله‬ ‫حل‬ ‫رویکرد‬ ‫با‬ } jahangirics.ir ‫اول‬ ‫جلسه‬ ‫صد‬ ‫تا‬ ‫صفر‬
  • 2. ‫چرا‬ ‫الگوریتم‬ ‫؟‬ Python- JavaScript- Java – C# - C++ - PHP – ASP – R - Swift – SQL –Kotlin - . . . ‫زبان‬ ‫چه‬ ‫نویسی‬‫برنامه‬ ‫بگیریم؟‬ ‫یاد‬
  • 3. 01 ‫برنامه‬ ‫دید‬ ‫نویسی‬ ‫دید‬ ‫بهتری‬ ‫نسبت‬ ‫به‬ ‫برنام‬ ‫ه‬ ‫نویسی‬ ‫پیدا‬ ‫میکنید‬ . ‫باید‬ ‫چرا‬ ‫الگوریتم‬ ‫و‬ ‫فلوچارت‬ ‫بگیریم؟‬ ‫یاد‬ 02 ‫اولیه‬ ‫اصول‬ ‫یادگیـری‬ ‫مفاهیم‬ ‫و‬ ‫اصول‬ ‫برنا‬ ‫مه‬ ‫نویسی‬ 03 ‫مساله‬ ‫حل‬ ‫روش‬ ‫حل‬ ‫مساله‬ ‫را‬ ‫یاد‬ ‫خواهید‬ ‫گرفت‬ 04 ‫دنیای‬ ‫به‬ ‫ورود‬ ‫نوی‬‫برنامه‬ ‫سی‬ ‫الگوریتم‬ ‫و‬ ‫فلوچارت‬ ‫پل‬ ‫ورود‬ ‫ب‬ ‫ه‬ ‫هر‬ ‫زبان‬ ‫برنامه‬ ‫نویسی‬ ‫دلخواه‬ ‫است‬
  • 4. ‫دوره‬ ‫این‬ ‫در‬ ‫شده‬ ‫ارائه‬ ‫مطالب‬ ‫فصل‬ ‫سر‬ 1 - ‫ا‬ ‫لگوریتم‬ ‫و‬ ‫فلوچارت‬ ○ ‫زیر‬ ،‫تکرار‬ ‫ساختار‬ ‫الگوریتم‬ ‫آرایه‬ ، 2 - ‫پالس‬‫پالس‬‫سی‬ ○ ‫و‬ ‫آرایه‬ ،‫تابع‬ ،‫تکرار‬ ‫ساختار‬ ،‫اولیه‬ ‫مفاهیم‬ ‫ماتریس‬ 3 - ‫زبانهای‬ ‫معرفی‬ ‫نویسی‬‫برنامه‬ 4 - ‫جهانی‬ ‫استانداردهای‬ ‫با‬ ‫آزمون‬ ‫یک‬ ‫برگزاری‬ www.ketabrah.ir ‫ویندوز‬ ‫اندروید‬ ios
  • 5. ‫نکته‬ ‫دو‬ : 1 - ‫است‬ ‫شده‬ ‫چیده‬ ‫سخت‬ ‫به‬ ‫ساده‬ ‫از‬ ‫مثالها‬ ‫ترتیب‬ . 2 - ‫کن‬ ‫حل‬ ‫خودتان‬ ‫رو‬ ‫مثالها‬ ‫کنید‬ ‫سعی‬ ‫و‬ ‫نباشید‬ ‫بیننده‬ ‫فقط‬ ‫آموزشی‬ ‫دوره‬ ‫این‬ ‫در‬ ‫ید‬
  • 6. ‫الگوریتم‬ ‫چیست؟‬ 01 ‫کلی‬ ‫مفهوم‬ ‫با‬ ‫فصل‬ ‫این‬ ‫در‬ ‫الگوریتم‬ ‫ساده‬ ‫مثال‬ ‫چند‬ ‫در‬ ‫آشنا‬ ‫شوید‬‫می‬
  • 7. ‫کامپیوتر‬ ‫رباتهایی‬ ‫کارهای‬ ‫که‬ ‫بزنید‬ ‫مثال‬ ‫رو‬ ‫انجام‬ ‫ای‬ ‫العاده‬ ‫فوق‬ ‫میدن‬ ‫کامپیوتر؟‬ ‫یا‬ ‫است‬ ‫تر‬ ‫باهوش‬ ‫انسان‬ ‫کامپیوتر‬ ‫تر‬ ‫دقیق‬ ‫خیلی‬ ‫ساده‬ ‫حساب‬ ‫ماشین‬ ‫یک‬ ‫میکنه‬ ‫کار‬ ‫انسان‬ ‫مغز‬ ‫از‬ ‫سریعتر‬ ‫و‬ ‫انسان‬ ‫مگه‬ ‫رباتها‬ ‫و‬ ‫افزارها‬‫نرم‬ ‫کی‬ ‫رو‬ ‫نوشته؟‬ !
  • 8. ‫تعریف‬ ‫الگوریتم‬ ‫روش‬ ‫گام‬ ‫به‬ ‫گام‬ ‫را‬ ‫مسئله‬ ‫حل‬ ‫الگوریتم‬ ‫گویند‬
  • 9. ‫گرفت‬ ‫نظر‬ ‫در‬ ‫را‬ ‫زیر‬ ‫معیارهای‬ ‫باید‬ ‫الگوریتم‬ ‫نوشتن‬ ‫در‬ : ‫ورودی‬ : ‫خروجی‬ : ‫قطعیت‬ : ‫محدودیت‬ : ‫باشد‬ ‫داشته‬ ‫ورودی‬ ‫چند‬ ‫یا‬ ‫صفر‬ ‫باید‬ ‫الگوریتم‬ ‫یک‬ . ‫ماشی‬ ‫با‬ ‫کار‬ ‫زمان‬ ‫در‬ ‫مثال‬ ‫طور‬ ‫به‬ ،‫حساب‬ ‫ن‬ ‫حاصل‬ ‫محاسبه‬ ‫برای‬ 2 + 3 ، ‫اعداد‬ 2 ‫و‬ 3 ‫روند‬ ‫می‬ ‫شمار‬ ‫به‬ ‫الگوریتم‬ ‫ورودی‬ ‫جمع‬ ‫عمل‬ ‫و‬ . ‫باشد‬ ‫داشته‬ ‫خروجی‬ ‫چند‬ ‫یا‬ ‫صفر‬ ‫باید‬ ‫الگوریتم‬ . ‫قبل‬ ‫مثال‬ ‫خروجی‬ ‫مثال‬ ‫عنوان‬ ‫به‬ 5 ‫است‬ . ‫شوند‬ ‫نوشته‬ ‫ابهام‬ ‫بی‬ ‫و‬ ‫دقیق‬ ‫زبانی‬ ‫با‬ ‫باید‬ ‫دستورات‬ . ‫باشد‬ ‫مشخص‬ ‫پایان‬ ‫و‬ ‫شروع‬ ‫دارای‬ ‫باید‬ ‫الگوریتم‬ .
  • 10. ‫الگوریتم‬ ‫ای‬‫برنامه‬ ‫چاپ‬ ‫را‬ ‫عدد‬ ‫دو‬ ‫مجموع‬ ‫و‬ ‫کند‬ ‫دریافت‬ ‫عدد‬ ‫دو‬ ‫ورودی‬ ‫از‬ ‫که‬ ‫بنویسید‬ ‫کند‬ . ‫مثال‬ 1 : 1 - ‫شروع‬ . 2 - ‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫اول‬ ‫عدد‬ x ‫بده‬ ‫قرار‬ . 3 - ‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫دوم‬ ‫عدد‬ y ‫بده‬ ‫قرار‬ . 4 - ‫حاصل‬ x+y ‫در‬ ‫را‬ z ‫بده‬ ‫قرار‬ 5 - z ‫کن‬ ‫چاپ‬ ‫را‬ 6 - ‫پایان‬ .
  • 11. ‫الگوریتم‬ ‫برنامه‬ ‫ای‬ ‫بنویسید‬ ‫که‬ ‫دو‬ ‫عدد‬ ‫را‬ ‫دریافت‬ ‫نماید‬ ‫و‬ ‫بزرگترین‬ ‫آنها‬ ‫را‬ ‫نمای‬ ‫ش‬ ‫دهد‬ . ‫مثال‬ 2 : 1 - ‫شروع‬ . 2 - ‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫اول‬ ‫عدد‬ x ‫بده‬ ‫قرار‬ . 3 - ‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫دوم‬ ‫عدد‬ y ‫بده‬ ‫قرار‬ . 4 - ‫اگر‬ x≥y ‫آنگاه‬ x ‫کن‬ ‫چاپ‬ ‫را‬ . 5 - ‫اگر‬ y>x ‫آنگاه‬ ، y ‫کن‬ ‫چاپ‬ ‫را‬ . 6 - ‫پایان‬ . 1 - ‫شروع‬ . 2 - ‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫اول‬ ‫عدد‬ x ‫بده‬ ‫قرار‬ . 3 - ‫در‬ ‫و‬ ‫بگیر‬ ‫را‬ ‫دوم‬ ‫عدد‬ y ‫بده‬ ‫قرار‬ . 4 - ‫اگر‬ x≥y ‫آنگاه‬ x ‫به‬ ‫و‬ ‫کن‬ ‫چاپ‬ ‫را‬ 6 ‫برو‬ 5 - y ‫کن‬ ‫چاپ‬ ‫را‬ . 6 - ‫پایان‬ . x=15 y=10 15
  • 12. ‫فلوچارت‬ ‫الگوریت‬ ‫بیان‬ ‫برای‬ ،‫الگوریتم‬ ‫داشتن‬ ‫قطعیت‬ ‫دلیل‬ ‫به‬ ‫فلوچارت‬ ‫م‬ ‫در‬ ‫سعی‬ ‫ریاضی‬ ‫نمادهای‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫که‬ ‫شد‬ ‫ساخته‬ ‫بیان‬ ‫نماید‬‫می‬ ‫الگوریتم‬ . ‫سراغ‬ ‫به‬ ‫چرا‬ ‫فلوچارت‬ ‫رویم‬‫می‬ ‫؟‬
  • 13. ‫ب‬ ‫ر‬ ‫در‬ ‫شده‬ ‫استفاده‬ ‫نمادهای‬ ‫معرفی‬ ‫فلوچارت‬
  • 14. X,Y,Z SUM  X+Y+Z AVG  SUM/3.0 AVG ‫فلوچارت‬ ‫برنامه‬ ‫ای‬ ‫رسم‬ ‫کنید‬ ‫که‬ ‫سه‬ ‫عدد‬ ‫دریافت‬ ‫کند‬ ‫و‬ ‫میان‬ ‫گین‬ ‫سه‬ ‫عدد‬ ‫را‬ ‫چاپ‬ ‫کند‬ ‫مثال‬ 3 : ‫صحیح‬ ‫تقسیم‬: ‫اعشاری‬ ‫تقسیم‬: 3 = 3 / 10 3.33 = 3.0 / 10 SUM = X + Y + Z X + Y +Z = SUM
  • 15. ‫فلوچارت‬ ‫ای‬‫برنامه‬ ‫ضلع‬ ‫طول‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫مربعی‬ ‫کند‬ ‫دریافت‬ ‫را‬ . ‫و‬ ‫محیط‬ ‫و‬ ‫مساحتش‬ ‫کند‬ ‫چاپ‬ ‫را‬ . ‫مثال‬ 4 : a P  4 × a S  a × a P S
  • 16. ‫فلوچارت‬ ‫ای‬‫برنامه‬ ‫ضلع‬ ‫طول‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫مربعی‬ ‫و‬ ‫محیط‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫مساحتش‬ ‫چاپ‬ ‫را‬ ‫کند‬ . ‫مثال‬ 4 : ‫کن‬ ‫چاپ‬ ‫را‬ ‫مساحتش‬ ‫و‬ ‫محیط‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫ای‬ ‫دایره‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫برنامه‬ ‫فلوچارت‬ ‫د‬ . ‫مثال‬ 5 : ‫و‬ ‫کند‬ ‫دریافت‬ ‫را‬ ‫الزاویه‬ ‫قائم‬ ‫مثلث‬ ‫یک‬ ‫ارتفاع‬ ‫و‬ ‫قاعده‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫برنامه‬ ‫فلوچارت‬ ‫و‬ ‫محیط‬ ‫کند‬ ‫چاپ‬ ‫را‬ ‫مثلث‬ ‫مساحت‬ . ‫مثال‬ 6 : 𝑷 = 𝟒 × 𝒂 𝑺 = 𝒂 × 𝒂 𝐏 = 𝟐 × 𝝅 × 𝒓 𝑺 = 𝝅 × 𝒓𝟐 𝐏 = 𝒂 + 𝒃 + 𝒂𝟐 + 𝒃𝟐 𝑺 = 𝟏 𝟐 × 𝒂 × 𝒃
  • 17. ‫فلوچارت‬ ‫ای‬‫برنامه‬ ‫شعاع‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫دایره‬ ‫مربع‬ ‫و‬ ‫دایره‬ ‫مساحت‬ ‫اختالف‬ ‫و‬ ‫دریافت‬ ‫را‬ ‫محاط‬ ‫کند‬ ‫چاپ‬ ‫آن‬ ‫در‬ ‫را‬ ‫شده‬ . ‫مثال‬ 7 : R ‫ه‬ : 𝝅 × R 2 ‫ع‬ : 𝟐𝑹 × 𝟐𝑹 𝟐 = 𝟐𝑹𝟐
  • 18. ‫رو‬ R ‫ر‬ ‫ب‬ ‫را‬ S1  2× R2 PI  3.14 S2  PI × R2 ‫ا‬ ‫م‬ ‫ت‬ ‫ا‬ ‫با‬ ‫برابراس‬ Diff ‫ایان‬ Diff  S2 – S1 R
  • 19. ‫در‬ ‫و‬ ‫خوانده‬ ‫ورودی‬ ‫از‬ ‫را‬ ‫مقدار‬ ‫دو‬ ‫که‬ ‫کنید‬ ‫رسم‬ ‫را‬ ‫ای‬‫برنامه‬ ‫فلوچارت‬ x ‫و‬ y ‫دهد‬ ‫قرار‬ . ‫سپس‬ ‫مقادیر‬ x ‫و‬ y ‫کند‬ ‫جا‬ ‫به‬ ‫جا‬ ‫هم‬ ‫با‬ ‫را‬ . ‫مثال‬ 8 : X = 20 Y = 10 X = 20 Y = 10 ‫ورودی‬ X = 10 y = 10 × ‫چی؟‬ ‫که‬ ‫خب‬ ! ‫و‬ ‫کنم‬ ‫دریافت‬ ‫عدد‬ ‫تا‬ ‫دو‬ ‫جاشون‬ ‫بشه؟‬ ‫چی‬ ‫کنم‬ ‫عوض‬ ‫رو‬ X Y TEMP  X X Y Y TEMP X Y Temp = 20 X = 10 Y = 20
  • 20. Trace ‫کردن‬ ‫دنبال‬ ‫الگوریتم‬ ‫مقاد‬ ‫بررسی‬ ‫و‬ ‫خط‬ ‫به‬ ‫خط‬ ‫اجرای‬ ‫با‬ ‫یر‬ X = 20 Y = 10 ‫ورودی‬ X = 30 Y = 10 X = 30 Y = 20 X = 10 Y = 20 X Y X  X+Y X Y X  X-Y Y  X-Y ‫خروجی‬ ‫دوم‬ ‫روش‬ ‫سوال‬ ‫کدام‬ ‫بهتره؟‬ ‫مساله‬ ‫این‬ ‫حل‬ ‫برای‬ ‫روش‬ ‫برتری‬ ‫برای‬ ‫معیاری‬ ‫چه‬ ‫الگوریتمها‬ ‫نس‬ ‫بت‬ ‫دارد؟‬ ‫وجود‬ ‫هم‬ ‫به‬
  • 21. ‫بندی‬ ‫جمع‬ ‫حافظه‬ ‫و‬ ‫زمانی‬ ‫مرتبه‬ ‫مثال‬ Trace ‫از‬ ‫بیشتر‬ ‫بعد‬ ‫جلسات‬ ‫در‬ Trace ‫شنید‬ ‫خواهید‬ ! ‫اولیه‬ ‫تعاریف‬ ‫اولیه‬ ‫اصول‬ ‫و‬ ‫مفاهیم‬ ‫با‬ ‫الگوریتم‬ ‫و‬ ‫نمادهای‬ ‫فلوچارت‬ ‫شدید‬ ‫آشنا‬ . ‫قالب‬ ‫در‬ ‫مثالهای‬ ‫ارائه‬ ‫مفاهیم‬ ‫ساده‬ ‫گرفتید‬ ‫یاد‬ ‫را‬ ‫شده‬ . ‫الگوی‬ ‫ای‬‫ساده‬ ‫برتری‬ ‫از‬ ‫الگوریتمها‬ ‫گرفتید‬ ‫یاد‬ ‫را‬ ‫هم‬ ‫به‬ ‫نسبت‬ jahangirics.ir