بخشی از پاورپوینت

اسلاید 1 :

برنامه نویسی رایانه
Computer Programming

اسلاید 2 :

مقدمه
دستورات MATLAB در پنجره ی دستور به طور عادی به ترتیبی که نوشته شده اند اجرا می شوند. اما در موارد بسیاری اجرای دستورات نیاز به انشعاب به مسیرهای مختلف یا اجرای مکرر مجموعه ای از دستورات دارد. علاوه بر این، انشعاب و تکرار ممکن است بستگی به شرایطی مانند مقدار داده های ورودی داشته باشد. در یک زبان ساختار یافته، میتوان روی اجرا یک یا چند دستور و همچنین تقدم و تاخر آنها کنترل داشت. حلقه ها و شرط ها از مبانی هر زبان برنامه نویسی هستند که برای کنترل روند اجرای برنامه ها به کار می روند.

اسلاید 3 :

ساختارهای MATLAB برای کنترل برنامه

اسلاید 4 :

ساختار if-end
دستورات شرطی در متلب با if شروع می شوند و باend خاتمه می یابند. بدین معنی که در صورت درست بودن شرط یا شرایطی خاص باید چند دستور اجرا شود. گرامر آن به صورت زیر است:
if (logical expression)
exec-statement(s)
end

اسلاید 5 :

ساختار if-else-end
هرگاه بخواهيم برنامه در صورت برقرار بودن یا برقرار نبودن شرط خاصي یک یا چند دستور خاص را اجرا نماید، از بلوک if-else-end استفاده ميکنيم. شکل کلي استفاده از اين دستور به صورت زير است:
if (logical expression)
exec-statement(s)_1
else
exec-statement(s)_2
end

اسلاید 6 :

مثال
برنامه ای بنویسید که یک عدد را به عنوان ورودی بگیرد و تعیین کند فرد است یا زوج؟
n=input('Enter n: ')
if rem(n,2)==0
disp(' n is even')
else
disp(' n is odd')
end

اسلاید 7 :

شرط های تودرتو
اگر تعداد ifهای تو در تو زیاد باشد، میتوان از گرامر زیر استفاده نمود:
if (logical expression_1)
Block_1
elseif (logical expression_2)
Block_2
elseif (logical expression_3)
Block_3
else
Block_4
end

اسلاید 8 :

مثال
برنامه تابع علامت sign(x) را بنویسید؟
x=input('Enter x :');
if x>0
y=1;
elseif x<0
y=-1;
else
y=0;
end;
disp(y)

اسلاید 9 :

مثال
برنامه ای که ریشه های معادله درجه دو را بدست آورد؟
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

اسلاید 10 :

ساختار switch-case-otherwise-end
وقتی تعداد شاخههای شرط زیاد باشد، میتوان از این ساختاری استفاده نمود. از اين ساختار براي تصميم گيري چندگانه براساس مقادير مختلف يك متغير استفاده مي شود. گرامر آن به صورت زیر است که در آنselector یک عبارت جبری یا منطقی می تواند باشد:
switch (selector)
case (value_1)
statements_1
case (value_2)
statements_2
.
..
case (value_n)
statements_n
otherwise statements default
end
نكته: بعد از اجراي هر يك از دستورات، روند اجراي برنامه به بعد از end منتقل مي شود و ساير caseها كنترل نمي شوند. استفاده از otherwise نيز اختياري است.

اسلاید 11 :

مثال
برنامه ای بنویسید که یک عدد را به عنوان ورودی بگیرد و تعیین کند چه رابطه ای با مضرب 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

اسلاید 12 :

مثال
برنامه ای بنویسید که اعداد بین 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

اسلاید 13 :

حلقه ها
بزرگترین امکان کامپیوترها که بیش از همه برای انسان مفید است، قابلیت انجام کارهای تکراری به دفعات فراوان بوده است. به منظور انجام مکرر یک سری از عملیات جبری، ماتریسی، منطقی و سیمبولیک به تعداد مشخص در MATLAB دو ساختار وجود دارد که عبارتند از:

A) حلقه تکرار معین (for)

B ) حلقه تکرار نامعین (while)

اسلاید 14 :

حلقه for (ساختار for-end)
این حلقه این امکان را به وجود می آورد که تعدادی از دستورات به تعداد دفعات از قبل تعیین شده تکرار شوند. شکل کلي حلقه for بصورت زير است:
for variable = array
statements end
هر چند که در حالت کلی array می تواند یک آرایه دو بعدی باشد، ولی معمولا به صورت یک بردار سطری مورد استفاده قرار می گیرد که در هر بار تکرار حلقه یک مقدارarray در variable قرار می گیرد. به این ترتیب حلقه به تعداد درایه های array تکرار می شود.
for variable = initial_value : increment : final_value
statements
end

اسلاید 15 :

مثال
برنامه ای بنویسید که مجموع اعداد بین 50 تا 3000 را حساب کند؟
s=0;
for i=50:1:3000;
s=s+i;
end
disp('the sum of numbers between 50 and 3000 is: ')
disp(s)

اسلاید 16 :

مثال
برنامه ای بنویسید که مجموع اعداد زوج و فرد بین 100 تا 3000 را حساب کند؟
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)

اسلاید 17 :

حلقه های متداخل (تو در تو)
در داخل حلقه های for می توان به تعداد دلخواه حلقه های for دیگری نوشت که به آن حلقه های تو در تو می گویند. در حلقه های متداخل، حلقه داخلی باید به طور کامل درون حلقه بیرونی قرار گیرد.
for i= i1: increment1:i2
statement 1
for j=j1:increment2:j2
statement 2
end
statement 3
end
توجه1: در حلقه های تو در تو، هر حلقه بایستی متغیر شمارنده ی متمایزی داشته باشد.
توجه2: در داخل حلقه for مجاز به تغییر متغیر شمارنده حلقه نیستیم.

اسلاید 18 :

مثال
برنامه ای بنویسید که ماتریسی مربعی 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)

اسلاید 19 :

حلقه while (ساختار while-end)
این حلقه به منظور تکرار اجرای مجموعه ای از دستورات تا زمان برقرار بودن شرایطی خاص به کار می رود. این حلقه به تعداد دفعات نامحدود تکرار می شود. شکل کلي حلقه while به صورت زير است:
while (logical expression)
statements end

اسلاید 20 :

مثال
برنامه ای بنویسید که مربع اعداد طبیعی را به شرطی که مربع شان کمتر از 50 باشد، نمایش دهد؟
i = 1;
while i^2 <= 50
disp(i^2)
i = i + 1;
end

در متن اصلی پاورپوینت به هم ریختگی وجود ندارد. برای مطالعه بیشتر پاورپوینت آن را خریداری کنید