Session 3-Flow Chart II.ppt

‫فلوچارت (‪)2‬‬
‫تهیه و تنظیم‪:‬‬
‫فاطمه قاسمی‬
‫دانشگاه صنعتی شریف – پاییز ‪86‬‬
‫‪1‬‬
‫مروری بر مطالب‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫برنامه می تواند حل یک مساله ریاضی باشد‬
‫برای حل مساله الزم است گام هایی که ما را از ورودی‬
‫(اطالعات مفید) به خروجی (هدف مساله) می رساند پیدا کنیم‪.‬‬
‫ترتیب گام ها مهم است‪.‬‬
‫الگوریتم ‪ :‬گام هایی که در طی برنامه انجام می شوند‪ ،‬را به ما‬
‫نشان می دهد‪.‬‬
‫‪‬‬
‫‪‬‬
‫فلوچارت‬
‫کد صوری (شبه کد)‬
‫‪2‬‬
‫• عدد ‪ n‬را دریافت نماید و در صورتی که اول‬
‫است‪ ،‬پیغام مناسب دهد‬
‫‪N‬‬
‫‪N=1‬‬
‫‪N<4‬‬
‫‪Counter =2‬‬
‫‪N mod Counter = 0‬‬
‫‪Counter ++‬‬
‫‪3‬‬
‫‪Counter =< √N‬‬
‫ را دریافت نماید و مقسوم علیه های آن را‬N ‫عدد‬
‫چاپ نماید‬
N
Counter =2
Counter
N mod Counter = 0
Counter =< N div 2 (N/2)
4
Counter ++
‫عدد ‪ N‬را دریافت نماید و مقسوم علیه های اول آن‬
‫را چاپ نماید‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫نحوه به دست آوردن مقسوم علیه های ‪ N‬را می دانیم‬
‫نحوه تعیین اول بودن را می دانیم‬
‫؟‬
‫‪5‬‬
‫ را دریافت نماید و مقسوم علیه های اول‬N ‫• عدد‬
‫آن را چاپ نماید‬
N
N
Counter =2
Counter =2
Counter
N mod Counter = 0
Counter =< N div 2 (N/2)
Counter
Counter ++
N mod Counter = 0
Counter =< √N
6
Counter ++
N
N
Counter =2
N=1
N<4
Counter =2
Counter
N mod Counter = 0
Counter < √N
N mod Counter = 0
Counter < √N
Counter ++
7
Counter ++
N
Counter =2
Counter=1
Counter<4
C=2
Counter
N mod C = 0
C < √N
N mod Counter = 0
Counter < √N
Counter ++
8
Counter ++
N
Counter =2
Counter<4
C =2
Counter
N mod C = 0
C < √N
N mod Counter = 0
Counter < √N
Counter ++
9
Counter ++
N
Counter =2
Counter<4
C =24
Counter
N mod C = 0
C < √N
N mod Counter = 0
Counter < √N
Counter ++
10
Counter ++
N
Counter =2
N mod C = 0
C < √N
C =2
Counter<4
C ++
Counter
N mod Counter = 0
Counter= < √N
11
Counter ++
‫تکنیک های حل مساله‬
‫‪‬‬
‫‪‬‬
‫تکرار‬
‫شکستن و حل کردن (‪)divide and conquer‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫مساله را به مساله های ساده تر می شکنیم‬
‫مساله های ساده تر را حل را می کنیم‬
‫مساله های ساده تر را با هم ترکیب می کنیم‬
‫سری‬
‫‪12‬‬
‫عدد ‪ N‬را دریافت کند و سری فیبوناچی کوچکتر‬
‫از آن را چاپ کند‬
‫‪‬‬
‫‪... 21 13 8 5 3 2 1 1‬‬
‫‪+‬‬
‫‪N‬‬
‫‪F2=1‬‬
‫‪C=1‬‬
‫‪1‬‬
‫‪F2‬‬
‫‪F1=C‬‬
‫‪F2<N‬‬
‫‪13‬‬
‫‪C=F2‬‬
‫‪F2=F2+F1‬‬
‫ را دریافت کند و ضرایب چند جمله ای‬N ‫عدد‬
.‫( را به ترتیب چاپ کند‬a+b)n
(a+b)n=
 n  n 0  n  n-1
  a b +  a b+ …+ n  an-ibi+…+  n  a0bn
i
0
0
1
 
 
n
n!
  
 m  (n  m)! m!
(n  m  1)  (n  m  2)   (n )
1 2    m
(n  m  1)  (n  m  2)   (n  m  i)
1 2    i
(n  m  1)  (n  m  2)   (n  m  i) n  m  i  1

1 2    i
i 1
14
‫را چاپ‬
N,M
n
 
 m
‫ را دریافت کند و‬m ‫ و‬n ‫عدد‬
‫نماید‬
C=1
Counter =1
Max=N-M
N-M>M
Max=M
C
Counter+Max<=N
C=C*(Max+Counter)/Couner
Counter++
15
N
M=0
M<=N
C=1
Counter =1
Max=N-M
N-M>M
Max=M
C
Counter+Max<=N
C=C*(Max+Counter)/Couner
Counter++
M++
16
‫کوئیز ‪ :0‬برنامه ای بنویسید که سه عدد را دریافت‬
‫کند و آنها را مرتب کند‪.‬‬
‫‪N,M,P‬‬
‫‪N>M‬‬
‫‪P,M,N‬‬
‫‪M>P‬‬
‫‪N>P‬‬
‫‪P,N,M‬‬
‫‪M,N,P‬‬
‫‪N>P‬‬
‫‪M>P‬‬
‫‪N,M,P‬‬
‫‪M,P,N‬‬
‫‪N,P,M‬‬
‫‪17‬‬
‫تمرین ‪ :0‬برنامه ای بنویسید که ‪ 4‬عدد را دریافت‬
‫کند و آنها را مرتب کند‪.‬‬
‫‪‬‬
‫بهترین پاسخ بهترین امتیاز را دارد‪.‬‬
‫‪18‬‬