0% found this document useful (0 votes)
12 views15 pages

UOK CP Practical2

Department of Byusystem mechanic

Uploaded by

mohammadsia17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views15 pages

UOK CP Practical2

Department of Byusystem mechanic

Uploaded by

mohammadsia17
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

‫داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬

‫داﻧﺸﮑﺪه ﮐﺸﺎورزي‬
‫ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ‬

‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ‬


‫‪Computer Programming‬‬

‫ﺑﺨﺶ ﻋﻤﻠﯽ ‪:2‬‬


‫ﻧﻮﯾﺴﯽ در ‪MATLAB‬‬ ‫ﺑﺮﻧﺎﻣﻪ‬

‫ﻣﺪرس‪:‬‬
‫دﮐﺘﺮ ﮐﺎوه ﻣﻼزاده‬

‫ﻣﻘﺪﻣﻪ‬

‫‪ o‬دﺳﺘﻮرات ‪ MATLAB‬در ﭘﻨﺠﺮه ي دﺳﺘﻮر ﺑﻪ ﻃﻮر ﻋﺎدي ﺑﻪ ﺗﺮﺗﯿﺒﯽ ﮐﻪ ﻧﻮﺷﺘﻪ ﺷﺪه اﻧﺪ اﺟﺮا ﻣﯽ ﺷﻮﻧﺪ‪.‬‬
‫اﻣﺎ در ﻣﻮارد ﺑﺴﯿﺎري اﺟﺮاي دﺳﺘﻮرات ﻧﯿﺎز ﺑﻪ اﻧﺸﻌﺎب ﺑﻪ ﻣﺴﯿﺮﻫﺎي ﻣﺨﺘﻠﻒ ﯾﺎ اﺟﺮاي ﻣﮑﺮر ﻣﺠﻤﻮﻋﻪ‬
‫اي از دﺳﺘﻮرات دارد‪ .‬ﻋﻼوه ﺑﺮ اﯾﻦ‪ ،‬اﻧﺸﻌﺎب و ﺗﮑﺮار ﻣﻤﮑﻦ اﺳﺖ ﺑﺴﺘﮕﯽ ﺑﻪ ﺷﺮاﯾﻄﯽ ﻣﺎﻧﻨﺪ ﻣﻘﺪار‬
‫داده ﻫﺎي ورودي داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در ﯾﮏ زﺑﺎن ﺳﺎﺧﺘﺎر ﯾﺎﻓﺘﻪ‪ ،‬ﻣﯽﺗﻮان روي اﺟﺮا ﯾﮏ ﯾﺎ ﭼﻨﺪ دﺳﺘﻮر و‬
‫ﻫﻤﭽﻨﯿﻦ ﺗﻘﺪم و ﺗﺎﺧﺮ آﻧﻬﺎ ﮐﻨﺘﺮل داﺷﺖ‪ .‬ﺣﻠﻘﻪ ﻫﺎ و ﺷﺮط ﻫﺎ از ﻣﺒﺎﻧﯽ ﻫﺮ زﺑﺎن ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ ﻫﺴﺘﻨﺪ‬
‫ﮐﻪ ﺑﺮاي ﮐﻨﺘﺮل روﻧﺪ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﻪ ﮐﺎر ﻣﯽ روﻧﺪ‪.‬‬

‫‪1‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﺳﺎﺧﺘﺎرﻫﺎي ‪ MATLAB‬ﺑﺮاي ﮐﻨﺘﺮل ﺑﺮﻧﺎﻣﻪ‬

‫ﺳﺎﺧﺘﺎرﻫﺎي ﺗﺼﻤﯿﻢ‬
‫‪if-else-end‬‬

‫‪switch-case-otherwise-end‬‬

‫‪for-end‬‬
‫ﺣﻠﻘﻪ ﻫﺎي ﺗﮑﺮار‬
‫‪while-end‬‬

‫‪break‬‬

‫‪return,keyboard‬‬
‫ﺗﻮﻗﻒ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ‬
‫)‪pause, pause(n‬‬
‫‪waitforbuttonpress‬‬

‫‪2‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﺳﺎﺧﺘﺎر ‪if-end‬‬

‫‪ o‬دﺳﺘﻮرات ﺷﺮﻃﯽ در ﻣﺘﻠﺐ ﺑﺎ ‪ if‬ﺷﺮوع ﻣﯽ ﺷﻮﻧﺪ و ﺑﺎ ‪ end‬ﺧﺎﺗﻤﻪ ﻣﯽ ﯾﺎﺑﻨﺪ‪ .‬ﺑﺪﯾﻦ ﻣﻌﻨﯽ ﮐﻪ در‬
‫ﺻﻮرت درﺳﺖ ﺑﻮدن ﺷﺮط ﯾﺎ ﺷﺮاﯾﻄﯽ ﺧﺎص ﺑﺎﯾﺪ ﭼﻨﺪ دﺳﺘﻮر اﺟﺮا ﺷﻮد‪ .‬ﮔﺮاﻣﺮ آن ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ‪:‬‬

‫)‪if (logical expression‬‬


‫)‪exec-statement(s‬‬
‫‪end‬‬

‫‪3‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﺳﺎﺧﺘﺎر ‪if-else-end‬‬

‫‪ o‬ﻫﺮﮔﺎه ﺑﺨﻮاﻫﯿﻢ ﺑﺮﻧﺎﻣﻪ در ﺻﻮرت ﺑﺮﻗﺮار ﺑﻮدن ﯾﺎ ﺑﺮﻗﺮار ﻧﺒﻮدن ﺷﺮط ﺧﺎﺻﯽ ﯾﮏ ﯾﺎ ﭼﻨﺪ دﺳﺘﻮر ﺧﺎص را‬
‫اﺟﺮا ﻧﻤﺎﯾﺪ‪ ،‬از ﺑﻠﻮك ‪ if-else-end‬اﺳﺘﻔﺎده ﻣﯽﮐﻨﯿﻢ‪ .‬ﺷﮑﻞ ﮐﻠﯽ اﺳﺘﻔﺎده از اﯾﻦ دﺳﺘﻮر ﺑﻪ ﺻﻮرت زﯾﺮ‬
‫اﺳﺖ‪:‬‬

‫)‪if (logical expression‬‬


‫‪exec-statement(s)_1‬‬
‫‪else‬‬
‫‪exec-statement(s)_2‬‬
‫‪end‬‬

‫‪4‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﯾﮏ ﻋﺪد را ﺑﻪ ﻋﻨﻮان ورودي ﺑﮕﯿﺮد و ﺗﻌﯿﯿﻦ ﮐﻨﺪ ﻓﺮد اﺳﺖ ﯾﺎ زوج؟‬

‫)' ‪n=input('Enter n:‬‬

‫‪if rem(n,2)==0‬‬

‫)'‪disp(' n is even‬‬

‫‪else‬‬

‫)'‪disp(' n is odd‬‬

‫‪end‬‬

‫‪5‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﺷﺮط ﻫﺎي ﺗﻮدرﺗﻮ‬

‫‪ o‬اﮔﺮ ﺗﻌﺪاد ‪ if‬ﻫﺎي ﺗﻮ در ﺗﻮ زﯾﺎد ﺑﺎﺷﺪ‪ ،‬ﻣﯽﺗﻮان از ﮔﺮاﻣﺮ زﯾﺮ اﺳﺘﻔﺎده ﻧﻤﻮد‪:‬‬

‫)‪if (logical expression_1‬‬


‫‪Block_1‬‬
‫)‪elseif (logical expression_2‬‬
‫‪Block_2‬‬
‫)‪elseif (logical expression_3‬‬
‫‪Block_3‬‬
‫‪else‬‬
‫‪Block_4‬‬
‫‪end‬‬

‫‪6‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ ﺗﺎﺑﻊ ﻋﻼﻣﺖ )‪ sign(x‬را ﺑﻨﻮﯾﺴﯿﺪ؟‬

‫;)'‪x=input('Enter x :‬‬
‫‪if x>0‬‬
‫;‪y=1‬‬
‫‪elseif x<0‬‬
‫;‪y=-1‬‬
‫‪else‬‬
‫;‪y=0‬‬
‫;‪end‬‬
‫)‪disp(y‬‬

‫‪7‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﮐﻪ رﯾﺸﻪ ﻫﺎي ﻣﻌﺎدﻟﻪ درﺟﻪ دو را ﺑﺪﺳﺖ آورد؟‬

‫;)' ‪a=input('Enter a in ax^2+bx+c=0:‬‬


‫;)' ‪b=input('Enter b in ax^2+bx+c=0:‬‬
‫;)' ‪c=input('Enter c in ax^2+bx+c=0:‬‬
‫;‪delta=b^2-4*a*c‬‬
‫‪if delta>0‬‬
‫;)‪x1=(-b+sqrt(delta))/(2*a‬‬
‫;)‪x2=(-b-sqrt(delta))/(2*a‬‬
‫)' = ‪disp('x1‬‬
‫)‪disp(x1‬‬
‫)' = ‪disp('x2‬‬
‫)‪disp(x2‬‬
‫‪elseif delta==0‬‬
‫;)‪x=-b/(2*a‬‬
‫)' = ‪disp('x‬‬
‫)‪disp(x‬‬
‫‪else‬‬
‫)'‪disp(‘No root‬‬
‫‪end‬‬

‫‪8‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﺳﺎﺧﺘﺎر ‪switch-case-otherwise-end‬‬

‫‪ o‬وﻗﺘﯽ ﺗﻌﺪاد ﺷﺎﺧﻪﻫﺎي ﺷﺮط زﯾﺎد ﺑﺎﺷﺪ‪ ،‬ﻣﯽﺗﻮان از اﯾﻦ ﺳﺎﺧﺘﺎري اﺳﺘﻔﺎده ﻧﻤﻮد‪ .‬از اﯾﻦ ﺳﺎﺧﺘﺎر ﺑﺮاي‬
‫ﺗﺼﻤﯿﻢ ﮔﯿﺮي ﭼﻨﺪﮔﺎﻧﻪ ﺑﺮاﺳﺎس ﻣﻘﺎدﯾﺮ ﻣﺨﺘﻠﻒ ﯾﮏ ﻣﺘﻐﯿﺮ اﺳﺘﻔﺎده ﻣﯽ ﺷﻮد‪ .‬ﮔﺮاﻣﺮ آن ﺑﻪ ﺻﻮرت زﯾﺮ‬
‫اﺳﺖ ﮐﻪ در آن ‪ selector‬ﯾﮏ ﻋﺒﺎرت ﺟﺒﺮي ﯾﺎ ﻣﻨﻄﻘﯽ ﻣﯽ ﺗﻮاﻧﺪ ﺑﺎﺷﺪ‪:‬‬

‫)‪switch (selector‬‬
‫)‪case (value_1‬‬
‫‪statements_1‬‬ ‫‪ o‬ﻧﮑﺘﻪ‪ :‬ﺑﻌﺪ از اﺟﺮاي ﻫﺮ ﯾﮏ از دﺳﺘﻮرات‪ ،‬روﻧﺪ‬
‫)‪case (value_2‬‬
‫‪statements_2‬‬ ‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﻪ ﺑﻌﺪ از ‪ end‬ﻣﻨﺘﻘﻞ ﻣﯽ ﺷﻮد و‬
‫‪...........................‬‬ ‫ﺳﺎﯾﺮ ‪case‬ﻫﺎ ﮐﻨﺘﺮل ﻧﻤﯽ ﺷﻮﻧﺪ‪ .‬اﺳﺘﻔﺎده از‬
‫‪............................‬‬
‫)‪case (value_n‬‬ ‫‪ otherwise‬ﻧﯿﺰ اﺧﺘﯿﺎري اﺳﺖ‪.‬‬
‫‪statements_n‬‬
‫‪otherwise statements default‬‬
‫‪end‬‬

‫‪9‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﯾﮏ ﻋﺪد را ﺑﻪ ﻋﻨﻮان ورودي ﺑﮕﯿﺮد و ﺗﻌﯿﯿﻦ ﮐﻨﺪ ﭼﻪ راﺑﻄﻪ اي ﺑﺎ ﻣﻀﺮب ‪4‬‬
‫دارد؟‬

‫;)' ‪n=input('enter an integer number:‬‬


‫)‪switch rem(n,4‬‬
‫‪case 0‬‬
‫)'‪disp('n is 4k‬‬
‫‪case 1‬‬
‫)'‪disp('n is 4k+1‬‬
‫‪case 2‬‬
‫)'‪disp('n is 4k+2‬‬
‫‪case 3‬‬
‫)'‪disp('n is 4k+3‬‬
‫‪otherwise‬‬
‫)'‪disp('n is not an integer number‬‬
‫‪end‬‬

‫‪10‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ اﻋﺪاد ﺑﯿﻦ ‪ 0‬و ‪ 9‬را ﺑﻪ ﺻﻮرت ﺗﺼﺎدﻓﯽ ﺑﮕﯿﺮد و زوج‪ ،‬ﻓﺮد و ﺻﻔﺮ ﺑﻮدن آن را‬
‫ﻣﺸﺨﺺ ﻧﻤﺎﯾﺪ‪.‬‬

‫)‪d=floor(10*rand‬‬
‫‪switch d‬‬
‫}‪case {2, 4, 6, 8‬‬
‫;)'‪disp('even‬‬
‫}‪case {1, 3, 5, 7, 9‬‬
‫;)'‪disp('odd‬‬
‫‪otherwise‬‬
‫;)'‪disp('zero‬‬
‫‪end‬‬

‫‪11‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﺣﻠﻘﻪ ﻫﺎ‬

‫‪ o‬ﺑﺰرﮔﺘﺮﯾﻦ اﻣﮑﺎن ﮐﺎﻣﭙﯿﻮﺗﺮﻫﺎ ﮐﻪ ﺑﯿﺶ از ﻫﻤﻪ ﺑﺮاي اﻧﺴﺎن ﻣﻔﯿﺪ اﺳﺖ‪ ،‬ﻗﺎﺑﻠﯿﺖ اﻧﺠﺎم ﮐﺎرﻫﺎي‬
‫ﺗﮑﺮاري ﺑﻪ دﻓﻌﺎت ﻓﺮاوان ﺑﻮده اﺳﺖ‪ .‬ﺑﻪ ﻣﻨﻈﻮر اﻧﺠﺎم ﻣﮑﺮر ﯾﮏ ﺳﺮي از ﻋﻤﻠﯿﺎت ﺟﺒﺮي‪ ،‬ﻣﺎﺗﺮﯾﺴﯽ‪،‬‬
‫ﻣﻨﻄﻘﯽ و ﺳﯿﻤﺒﻮﻟﯿﮏ ﺑﻪ ﺗﻌﺪاد ﻣﺸﺨﺺ در ‪ MATLAB‬دو ﺳﺎﺧﺘﺎر وﺟﻮد دارد ﮐﻪ ﻋﺒﺎرﺗﻨﺪ از‪:‬‬

‫‪ (A‬ﺣﻠﻘﻪ ﺗﮑﺮار ﻣﻌﯿﻦ )‪(for‬‬

‫‪ (B‬ﺣﻠﻘﻪ ﺗﮑﺮار ﻧﺎﻣﻌﯿﻦ )‪(while‬‬

‫‪12‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﺣﻠﻘﻪ ‪) for‬ﺳﺎﺧﺘﺎر ‪(for-end‬‬

‫‪ o‬اﯾﻦ ﺣﻠﻘﻪ اﯾﻦ اﻣﮑﺎن را ﺑﻪ وﺟﻮد ﻣﯽ آورد ﮐﻪ ﺗﻌﺪادي از دﺳﺘﻮرات ﺑﻪ ﺗﻌﺪاد دﻓﻌﺎت از ﻗﺒﻞ ﺗﻌﯿﯿﻦ‬
‫ﺷﺪه ﺗﮑﺮار ﺷﻮﻧﺪ‪ .‬ﺷﮑﻞ ﮐﻠﯽ ﺣﻠﻘﻪ ‪ for‬ﺑﺼﻮرت زﯾﺮ اﺳﺖ‪:‬‬
‫‪for variable = array‬‬

‫‪statements‬‬ ‫‪end‬‬

‫‪ o‬ﻫﺮ ﭼﻨﺪ ﮐﻪ در ﺣﺎﻟﺖ ﮐﻠﯽ ‪ array‬ﻣﯽ ﺗﻮاﻧﺪ ﯾﮏ آراﯾﻪ دو ﺑﻌﺪي ﺑﺎﺷﺪ‪ ،‬وﻟﯽ ﻣﻌﻤﻮﻻ ﺑﻪ ﺻﻮرت ﯾﮏ ﺑﺮدار‬
‫ﺳﻄﺮي ﻣﻮرد اﺳﺘﻔﺎده ﻗﺮار ﻣﯽ ﮔﯿﺮد ﮐﻪ در ﻫﺮ ﺑﺎر ﺗﮑﺮار ﺣﻠﻘﻪ ﯾﮏ ﻣﻘﺪار ‪ array‬در ‪ variable‬ﻗﺮار ﻣﯽ‬
‫ﮔﯿﺮد‪ .‬ﺑﻪ اﯾﻦ ﺗﺮﺗﯿﺐ ﺣﻠﻘﻪ ﺑﻪ ﺗﻌﺪاد دراﯾﻪ ﻫﺎي ‪ array‬ﺗﮑﺮار ﻣﯽ ﺷﻮد‪.‬‬

‫‪for variable = initial_value : increment : final_value‬‬


‫‪statements‬‬
‫‪end‬‬

‫‪13‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﻣﺜﺎل‬

‫ را ﺣﺴﺎب ﮐﻨﺪ؟‬3000 ‫ ﺗﺎ‬50 ‫ ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻣﺠﻤﻮع اﻋﺪاد ﺑﯿﻦ‬o

s=0;
for i=50:1:3000;
s=s+i;
end
disp('the sum of numbers between 50 and 3000 is: ')
disp(s)

14
‫ ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬- ‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ‬
http://agri.uok.ac.ir/kmollazade

‫ﻣﺜﺎل‬

‫ را ﺣﺴﺎب ﮐﻨﺪ؟‬3000 ‫ ﺗﺎ‬100 ‫ ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻣﺠﻤﻮع اﻋﺪاد زوج و ﻓﺮد ﺑﯿﻦ‬o

s1=0; %s1 for odd numbers


s2=0; %s2 for even numbers
for i=100:3000
if rem(i,2)==1
s1=s1+i;
elseif rem(i,2)==0
s2=s2+i;
end
end
disp('Summation of odd numbers is: ')
disp(s1)
disp('Summation of even numbers is: ')
disp(s2)

15
‫ ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬- ‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ‬
http://agri.uok.ac.ir/kmollazade
‫ﺣﻠﻘﻪ ﻫﺎي ﻣﺘﺪاﺧﻞ )ﺗﻮ در ﺗﻮ(‬

‫‪ o‬در داﺧﻞ ﺣﻠﻘﻪ ﻫﺎي ‪ for‬ﻣﯽ ﺗﻮان ﺑﻪ ﺗﻌﺪاد دﻟﺨﻮاه ﺣﻠﻘﻪ ﻫﺎي ‪ for‬دﯾﮕﺮي ﻧﻮﺷﺖ ﮐﻪ ﺑﻪ آن ﺣﻠﻘﻪ ﻫﺎي‬
‫ﺗﻮ در ﺗﻮ ﻣﯽ ﮔﻮﯾﻨﺪ‪ .‬در ﺣﻠﻘﻪ ﻫﺎي ﻣﺘﺪاﺧﻞ‪ ،‬ﺣﻠﻘﻪ داﺧﻠﯽ ﺑﺎﯾﺪ ﺑﻪ ﻃﻮر ﮐﺎﻣﻞ درون ﺣﻠﻘﻪ ﺑﯿﺮوﻧﯽ ﻗﺮار ﮔﯿﺮد‪.‬‬

‫‪for i= i1: increment1:i2‬‬


‫‪statement 1‬‬
‫‪for j=j1:increment2:j2‬‬
‫‪statement 2‬‬
‫‪end‬‬
‫‪statement 3‬‬
‫‪end‬‬

‫‪ o‬ﺗﻮﺟﻪ‪ :1‬در ﺣﻠﻘﻪ ﻫﺎي ﺗﻮ در ﺗﻮ‪ ،‬ﻫﺮ ﺣﻠﻘﻪ ﺑﺎﯾﺴﺘﯽ ﻣﺘﻐﯿﺮ ﺷﻤﺎرﻧﺪه ي ﻣﺘﻤﺎﯾﺰي داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪ o‬ﺗﻮﺟﻪ‪ :2‬در داﺧﻞ ﺣﻠﻘﻪ ‪ for‬ﻣﺠﺎز ﺑﻪ ﺗﻐﯿﯿﺮ ﻣﺘﻐﯿﺮ ﺷﻤﺎرﻧﺪه ﺣﻠﻘﻪ ﻧﯿﺴﺘﯿﻢ‪.‬‬

‫‪16‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻣﺎﺗﺮﯾﺴﯽ ﻣﺮﺑﻌﯽ ‪ 5×5‬ﺑﺴﺎزد ﮐﻪ ﻣﻘﺪار ﻫﺮ دراﯾﻪ آن ﺑﺮاﺑﺮ ﻣﺠﻤﻮع ﺷﻤﺎره‬
‫ﺳﻄﺮ و ﺳﺘﻮن آن ﺑﺎﺷﺪ؟‬

‫‪clear,clc‬‬
‫;)‪a=zeros(5,5‬‬
‫‪for m=1:5‬‬
‫‪for n=1:5‬‬
‫;‪a(m,n)=m+n‬‬
‫‪end‬‬
‫‪end‬‬
‫)‪disp(a‬‬

‫‪17‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﺣﻠﻘﻪ ‪) while‬ﺳﺎﺧﺘﺎر ‪(while-end‬‬

‫‪ o‬اﯾﻦ ﺣﻠﻘﻪ ﺑﻪ ﻣﻨﻈﻮر ﺗﮑﺮار اﺟﺮاي ﻣﺠﻤﻮﻋﻪ اي از دﺳﺘﻮرات ﺗﺎ زﻣﺎن ﺑﺮﻗﺮار ﺑﻮدن ﺷﺮاﯾﻄﯽ ﺧﺎص ﺑﻪ ﮐﺎر‬

‫ﻣﯽ رود‪ .‬اﯾﻦ ﺣﻠﻘﻪ ﺑﻪ ﺗﻌﺪاد دﻓﻌﺎت ﻧﺎﻣﺤﺪود ﺗﮑﺮار ﻣﯽ ﺷﻮد‪ .‬ﺷﮑﻞ ﮐﻠﯽ ﺣﻠﻘﻪ ‪ while‬ﺑﻪ ﺻﻮرت زﯾﺮ‬

‫اﺳﺖ‪:‬‬

‫)‪while (logical expression‬‬

‫‪statements‬‬ ‫‪end‬‬

‫‪18‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻣﺮﺑﻊ اﻋﺪاد ﻃﺒﯿﻌﯽ را ﺑﻪ ﺷﺮﻃﯽ ﮐﻪ ﻣﺮﺑﻊ ﺷﺎن ﮐﻤﺘﺮ از ‪ 50‬ﺑﺎﺷﺪ‪ ،‬ﻧﻤﺎﯾﺶ‬
‫دﻫﺪ؟‬

‫;‪i = 1‬‬

‫‪while i^2 <= 50‬‬

‫)‪disp(i^2‬‬

‫;‪i = i + 1‬‬

‫‪end‬‬

‫‪19‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﺟﺬرﻫﺎي ﻣﺘﻮاﻟﯽ ‪ x= 10000‬را ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ )‪ (x-1‬ﺑﺰرﮔﺘﺮ ﻣﺴﺎوي ‪ 1‬ﺑﺎﺷﺪ‪ ،‬ﺣﺴﺎب‬
‫ﮐﻨﺪ؟‬

‫;‪x=10000‬‬

‫‪while (x-1)>=1‬‬

‫;)‪x=sqrt(x‬‬

‫)‪disp(x‬‬

‫‪end‬‬

‫‪20‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﺣﻠﻘﻪ ﻻﯾﺘﻨﺎﻫﯽ )‪(Infinite loop‬‬

‫‪ o‬ﻣﺜﺎل‪ :‬ﺑﺮﻧﺎﻣﻪ اي ﮐﻪ ﻟﮕﺎرﯾﺘﻢ اﻋﺪاد ﺑﺰرﮔﺘﺮ از دو را ﺣﺴﺎب ﮐﻨﺪ؟‬

‫;‪i=1‬‬
‫‪while i>=0‬‬
‫;‪i=i+1‬‬
‫;)‪y=log10(i‬‬
‫)‪disp(y‬‬
‫‪end‬‬

‫‪ o‬ﺗﻮﺟﻪ‪ :‬ﺑﺮاي ﻣﺘﻮﻗﻒ ﮐﺮدن ﻧﺘﯿﺠﻪ اﯾﻦ ﻧﻮع ﺑﺮﻧﺎﻣﻪ ﻫﺎ ﺑﺎﯾﺪ ‪ ctrl‬و ‪ c‬را ﻫﻢ زﻣﺎن ﻓﺸﺎر دﻫﯿﻢ‪.‬‬

‫‪21‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫دﺳﺘﻮر ‪break‬‬

‫‪ o‬ﺑﺎ دﺳﺘﻮر ‪ break‬ﻣﯽﺗﻮان ﯾﮏ ﺣﻠﻘﻪ ‪ while‬ﯾﺎ ‪ for‬را ﺷﮑﺴﺖ‪ .‬در اﯾﻨﺼﻮرت اﺟﺮاي ﺑﺮﻧﺎﻣﻪ از ﻧﺨﺴﺘﯿﻦ‬
‫دﺳﺘﻮر ﺑﻌﺪ از ﺣﻠﻘﻪ اداﻣﻪ ﺧﻮاﻫﺪ ﯾﺎﻓﺖ‪.‬‬

‫‪ o‬ﻣﺜﺎل‪ :‬ﺑﺮﻧﺎﻣﻪ اي ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻣﺠﻤﻮع اﻋﺪاد از ‪ 1‬ﺗﺎ ‪ 10000‬را ﺗﺎ زﻣﺎﻧﯽ ﮐﻪ ﻣﺠﻤﻮع ﮐﻤﺘﺮ از ‪ 20000‬را‬
‫ﺣﺴﺎب ﮐﻨﺪ و ﻣﻌﻠﻮم ﮐﻨﺪ اﯾﻦ ﻣﺠﻤﻮع از ﯾﮏ ﺗﺎ ﭼﻪ ﻋﺪدي اﺳﺖ؟‬

‫;‪s=0‬‬
‫‪for m=1:10000‬‬
‫;‪s=s+m‬‬
‫‪if s>20000‬‬
‫;‪break‬‬
‫‪end‬‬
‫‪end‬‬
‫)‪disp(s),disp(m‬‬

‫‪22‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫دﺳﺘﻮر ‪ pause‬و )‪pause(n‬‬

‫‪ o‬ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﺑﺮﻧﺎﻣﻪ در ﺣﯿﻦ اﺟﺮا ﺑﻪ دﺳﺘﻮر ‪ pause‬ﺑﺮﺳﺪ ﻣﺘﻮﻗﻒ ﻣﯽ ﻣﺎﻧﺪ ﺗﺎ اﯾﻨﮑﻪ ﺷﻤﺎ ﺻﻔﺤﻪ ﮐﻠﯿﺪ را ﻓﺸﺎر دﻫﯿﺪ‬
‫و ﺳﭙﺲ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ از دﺳﺘﻮر ﺑﻌﺪ از ‪ pause‬اداﻣﻪ ﻣﯽ ﯾﺎﺑﺪ‪ pause(n) .‬ﺗﻮﻗﻒ ﺑﻪ ﻣﺪت ‪ n‬ﺛﺎﻧﯿﻪ اﺳﺖ‪.‬‬

‫‪ o‬ﻣﺜﺎل‪ :‬در ﺑﺮﻧﺎﻣﻪ زﯾﺮ‪ ،‬ﻫﺮ ﺑﺎر ﭘﺲ از ﻧﻤﺎﯾﺶ ﻣﻘﺎدﯾﺮ ‪ x‬و ‪ ،y‬ﺑﺮﻧﺎﻣﻪ ﻣﺘﻮﻗﻒ ﻣﯽ ﺷﻮد ﺗﺎ اﯾﻨﮑﻪ ﮐﻠﯿﺪي روي ﺻﻔﺤﻪ‬
‫ﮐﻠﯿﺪ ﻓﺸﺮده ﺷﻮد‪ .‬دﺳﺘﻮر ‪ break‬ﻧﯿﺰ ﺑﺎﻋﺚ ﺧﺎرج ﺷﺪن از ﺣﻠﻘﻪ ‪ for‬ﺷﺪه و ﺑﺮﻧﺎﻣﻪ ﭘﺎﯾﺎن ﻣﯽ ﯾﺎﺑﺪ‪.‬‬

‫;‪k=0‬‬
‫‪for x=0:0.2:1‬‬
‫‪if k>=5‬‬
‫‪disp('k>=5'); break‬‬
‫‪end‬‬
‫;‪k=k+1‬‬
‫;)‪y=exp(-x‬‬
‫)‪disp('k= '), disp(k), disp('y='), disp(y‬‬
‫‪pause‬‬
‫‪end‬‬

‫‪23‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫ﺳﺎﺧﺖ ﻓﺎﯾﻞ ﺗﺎﺑﻌﯽ )‪(function file‬‬

‫‪ o‬ﮔﺎﻫﯽ اوﻗﺎت ﻣﻤﮑﻦ اﺳﺖ ﻧﯿﺎز ﺑﻪ ﺗﻮاﺑﻌﯽ ﺑﺎ ﮐﺎرﺑﺮدي ﺧﺎص داﺷﺘﻪ ﺑﺎﺷﯿﻢ ﮐﻪ در ﻣﺘﻠﺐ ﺗﻌﺮﯾﻒ‬
‫ﻧﺸﺪه اﻧﺪ و ﻧﯿﺎز اﺳﺖ ﮐﻪ اﯾﻦ ﺗﻮاﺑﻊ را ﺗﻌﺮﯾﻒ ﮐﻨﯿﻢ و ﯾﺎ ﻫﻨﮕﺎﻣﯽ ﮐﻪ ﻗﺼﺪ اﺳﺘﻔﺎده از زﯾﺮاﻟﮕﻮرﯾﺘﻢ را‬
‫دارﯾﻢ‪ ،‬ﺑﺎﯾﺪ زﯾﺮاﻟﮕﻮرﯾﺘﻢ ﻫﺎ را ﺑﻪ ﺻﻮرت ‪ function file‬ﺗﺒﺪﯾﻞ ﻧﻤﺎﯾﯿﻢ‪.‬‬

‫‪ o‬ﯾﮏ ﻓﺎﯾﻞ ﺗﺎﺑﻌﯽ ﻣﺎﻧﻨﺪ ﯾﮏ ‪ m-file‬اﺳﺖ ﺑﺎ اﯾﻦ ﺗﻔﺎوت ﮐﻪ ﺧﻂ اول آن ﺑﻪ ﺻﻮرت زﯾﺮ اﺳﺖ‪:‬‬

‫)‪function [outputs]=name(inputs‬‬

‫‪ o‬در اﯾﻦ ﺧﻂ ﻫﺮ ﯾﮏ از ﺧﺮوﺟﯽ ﻫﺎ و ورودي ﻫﺎ را در ﯾﮏ ﻣﺘﻐﯿﺮ ﺟﺪاﮔﺎﻧﻪ ﻗﺮار ﻣﯽ دﻫﯿﻢ‪ .‬در ﺻﻮرﺗﯽ ﮐﻪ‬
‫ﯾﮏ ﺧﺮوﺟﯽ داﺷﺘﻪ ﺑﺎﺷﯿﻢ‪ ،‬دﯾﮕﺮ ﻧﯿﺎزي ﺑﻪ ﺑﺮاﮐﺖ ﻧﯿﺴﺖ‪ name .‬ﻧﯿﺰ ﻧﺎم ﺗﺎﺑﻊ اﺳﺖ ﮐﻪ ﺑﻬﺘﺮ اﺳﺖ ﺑﯿﻦ‬
‫‪ 9‬ﺗﺎ ‪ 20‬ﮐﺎراﮐﺘﺮ ﺑﺎﺷﺪ و ﻧﺎم آن ﻫﺎ ﻧﺒﺎﯾﺪ ﻣﺸﺎﺑﻪ ﺗﻮاﺑﻊ ﻣﻮﺟﻮد در ﻣﺘﻠﺐ ﺑﺎﺷﺪ‪.‬‬

‫‪24‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي در ‪ MATLAB‬ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ دو ﻋﺪد ﻃﺒﯿﻌﯽ ‪ m‬و ‪ n‬را درﯾﺎﻓﺖ ﻧﻤﻮده و ﺗﺮﮐﯿﺐ آن دو را‬
‫ﻣﺤﺎﺳﺒﻪ ﻧﻤﺎﯾﺪ؟ از ﻣﻔﻬﻮم زﯾﺮاﻟﮕﻮرﯾﺘﻢ اﺳﺘﻔﺎده ﻧﻤﺎﯾﯿﺪ‪.‬‬

‫‪25‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫اداﻣﻪ ﻣﺜﺎل ﻗﺒﻞ‬

‫‪ o‬ﺗﺒﺪﯾﻞ ﺑﺮﻧﺎﻣﻪ زﯾﺮ اﻟﮕﻮرﯾﺘﻢ )‪ FACT(T,P‬ﺑﻪ ﯾﮏ ‪function file‬‬

‫)‪function [p]=FACT(T‬‬
‫;‪p=1‬‬
‫‪for I=1:1:T‬‬
‫;‪p=p*I‬‬
‫‪end‬‬
‫‪end‬‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اﺻﻠﯽ‬
‫;)' ‪m=input('Input m:‬‬
‫;)' ‪n=input ('Input n:‬‬
‫;)‪A=FACT(m‬‬
‫;)‪B=FACT(n‬‬
‫;)‪C=FACT(m-n‬‬
‫;)‪S=A/(B*C‬‬
‫)' ‪disp ('The answer is:‬‬
‫)‪disp (S‬‬

‫‪26‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬

‫ﻣﺜﺎل‬

‫‪ o‬ﺑﺮﻧﺎﻣﻪ اي در ‪ MATLAB‬ﺑﻨﻮﯾﺴﯿﺪ ﮐﻪ ﻋﺪد ﻃﺒﯿﻌﯽ ‪ N‬را ﺳﻮال ﻧﻤﻮده‪ N ،‬ﻋﺪد را ﯾﮑﯽ ﯾﮑﯽ درﯾﺎﻓﺖ و‬
‫ﻣﻌﯿﻦ ﮐﻨﺪ ﮐﺪاﻣﯿﮏ ﺗﺎم ﻫﺴﺘﻨﺪ؟ از ﻣﻔﻬﻮم زﯾﺮاﻟﮕﻮرﯾﺘﻢ اﺳﺘﻔﺎده ﻧﻤﺎﯾﯿﺪ‪.‬‬

‫‪ o‬اﻟﮕﻮرﯾﺘﻢ اﺻﻠﯽ‪:‬‬ ‫‪ o‬زﯾﺮ اﻟﮕﻮرﯾﺘﻢ‪:‬‬

‫‪27‬‬
‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ ‪ -‬ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬
‫‪http://agri.uok.ac.ir/kmollazade‬‬
‫اداﻣﻪ ﻣﺜﺎل ﻗﺒﻞ‬

function file ‫ ﺑﻪ ﯾﮏ‬TAM(A,S) ‫ ﺗﺒﺪﯾﻞ ﺑﺮﻧﺎﻣﻪ زﯾﺮ اﻟﮕﻮرﯾﺘﻢ‬o


function [S]=TAM(A)
S=0;
for J=1:1:A-1
if rem(A, J) ==0
S=S+J;
end
end
end

N=input('Input N: '); ‫ ﺑﺮﻧﺎﻣﻪ اﺻﻠﯽ‬o


for I=1:1:N
A=input('Input the number: ');
S=TAM(A);
if A==S
disp (A)
disp ('is TAM')
else
disp (A)
disp ('is not TAM')
end
end

28
‫ ﮔﺮوه ﻣﻬﻨﺪﺳﯽ ﺑﯿﻮﺳﯿﺴﺘﻢ– داﻧﺸﮕﺎه ﮐﺮدﺳﺘﺎن‬- ‫ﺑﺮﻧﺎﻣﻪ ﻧﻮﯾﺴﯽ راﯾﺎﻧﻪ‬
http://agri.uok.ac.ir/kmollazade

You might also like