menusearch
javapro.ir

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

جستجو
دوشنبه ۱۲ آذر ۱۴۰۳ | ۲۲:۴۸:۱
۱۴۰۰/۸/۲۵ سه شنبه
(3)
(0)
جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب
جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

فهرست جلسات مینی دوره متلب

جلسه اول | آموزش تصویری نصب برنامه متلب در کامپیوتر

جلسه دوم | آموزش کار با برنامه متلب

جلسه سوم | آموزش کار با توابع ریاضی ساده در متلب

جلسه چهارم | آموزش متغیرها در برنامه نویسی متلب

جلسه پنجم | معرفی انواع داده ها در متلب

جلسه ششم | آرایه ها در برنامه نویسی متلب

جلسه هفتم | ماتریس ها در برنامه نویسی متلب

جلسه هشتم | ادامه ماتریس ها در برنامه نویسی متلب

جلسه نهم | رشته ها در برنامه نویسی متلب

جلسه دهم | آرایه سلول ها در برنامه نویسی متلب

جلسه یازدهم | اسکریپت ها در برنامه نویسی متلب

جلسه دوازدهم | آرایه‌های چندبعدی در متلب

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

جلسه چهاردهم | ساختارها(structures) در متلب

جلسه پانزدهم | توابع در متلب

جلسه شانزدهم | رسم نمودار دوبعدی در متلب

جلسه هفدهم | ادامه رسم نمودار دوبعدی در متلب

جلسه هجدهم | رسم نمودار سه بعدی در متلب

جلسه نوزدهم | محاسبات نمادین در متلب

جلسه بیستم(آخر) | ادامه محاسبات نمادین در متلب

 

مینی دوره آموزش رایگان برنامه نویسی متلب

 

 

آموزش برنامه نویسی متلب
موضوع:حلقه ها و دستورات شرطی در متلب
جلسه: سیزدهم
مدرس : مدرسین جاواپرو
متلب را ساده،آسان و شیرین بنوشید!!!

 

 

 

 

سفارش انجام پروژه متلب (MATLAB) {کاردانی تا دکتری} با تحویل به موقع، صحیح و کامل کار [اینجا کـــلیک کــــنید]

 

 

 

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

 

if شرط 1
  دستورات
elseif شرط 2
  دستورات
else
  دستورات
end

 

حال بیایید مثال زوج یا فرد بودن اعداد پیاده سازی کنیم. ابتدا یک فایل متنی با عنوان مثلا test.m ایجاد کنید. کدهای زیر را وارد نموده و خط به خط توضیح می‌دهیم:

 

1 n = input('Enter an Integeer:');
2 if rem(n,22) == 0
3  disp('even')
4 else
5    disp('odd')
6 end    


خط اول عددی را از کاربر و در n ذخیره می‌کند، خط دوم از ساختار شرطی استفاده می‌کند. دستور rem(a,b) باقیمانده تقسیم a به b را به دست آورد. اگر این مقدار صفر باشد نتیجه می‌گیریم که n زوج بوده و در غیر این صورت فرد خواهدبود. در نتیجه این دو حالت در زمان تحقق پیغام متناسبی به کاربر نشان خواهد داد.


اگر کاربر مقدار غیرعددی را وارد کند، دستور input به طور خودکار پیغام خطای متناظربا ورودی را به کاربر می‌دهد، اما اگر عدد وارد شده اعشاری باشد، برنامه با خطا روبه رو می‌شود(چرا؟). پس بهتر است ابتدا بررسی شود که عدد وارد شده صحیح باشد و در غیر این صورت یک پیغام خطا به کاربر نشان داده شود:

 

n = input('Enter an Integeer:');
if ~(n - int32(n))
  if rem(n,22) == 0
      disp('even')
  else
      disp('odd')
  end
else
  disp('your number is not an integer')
end


در بالا ما از if تو در تو استفاده کردیم. بدین معنا که ابتدا شرط صحیح بودن n بررسی می‌شود و اگر این شرط برقرار بود آنگاه شرط دوم و اصلی که همان زوج یا فرد بودن است بررسی می‌شود و در غیر این صورت برنامه با پیغامی مبنی براین که عدد وارد شده عددصحیح نیست، به پایان می‌رسد. اما در مورد شرط اول، عبارت

 

~(n - int32(n))


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


- حلقه while :
شکل کلی ساختار این حلقه بدین گونه است:

 

while شرط
  دستورات
end


در صورت برقرار بودن شرط، دستورات برنامه به ترتیب از بالا به پایین به اجرا درآمده تا به end برسند. سپس دوباره شرط فوق بررسی شده و در صورت برقرار بودن آن روند قبلی تکرار شده و درغیر این صورت برنامه از حلقه خارج شده و دستور بعد از end به اجرا درمی آید.
- مثال:
برنامه زیر یک عدد از کاربر می‌گیرد و اگر مقدار آن با مقدار از پیش ذخیره شده (password) برابر بود یک پیغام نمایش می‌دهد و درغیر این صورت دوباره تکرار می‌شود:

 

password = 1000;
n = input('Enter password: ');
while n ~= password
  n = input('Enter password: ');
end
disp('password correct');


به مثال برنامه زوج و فردبودن برمی گردیم. می‌خواهیم با حلقه while برنامه را طوری تغییردهیم که همواره ادامه داشته باشد، اگر شرط داخل حلقه همواره برقرار باشد، مثلا 1 == 1، آنگاه دستورات داخل حلقه بی نهایت بار تکرار می‌شوند. به جای شرط فوق می‌توان حاصل شرط را که همواره 1 را برمیگرداند به جای شرط گذاشت، زیرا:

 

>>1 == 1
ans =
1


بنابراین داریم:

 

while 1
  n = input('Enter an Integeer:');
  if ~(n - int32(n))
      if rem(n,22) == 0
          disp('even')
      else
          disp('odd')
      end
  else
      disp('your number is not an integer')
  end
end


کل برنامه در یک حلقه while قرارگرفت. برای خروج از برنامه می‌توان کلیدهای ترکیبی ctrl+c را فشرد.
- نکته:
دستورات break و continue در یک حلقه به ترتیب برای خارج شدن از حلقه، و گذر از دور فعلی و رفتن به دور جدید حلقه به کار می‌رود.
- مثال:
برنامه ای بنویسید که اولین عدد بخش پذیر بر 7 بعد از عدد 100 را نمایش دهد:
از یک حلقه while برای این منظور استفاده می‌کنیم، بخش پذیری بر 7 را با یک دستور شرطی بررسی و چنانچه عدد بخش پذیر را پیدا کردیم، از حلقه با دستور break خارج می‌شویم:

 

x = 100;
while 1
  if rem(x,7) == 0
      disp(x);
      break;
  else
      x = x + 1;
  end
end


- حلقه for :
شکل کلی این دستور بدین صورت است:

 

for = متغیر آرایه محدوده تعریف
      دستور;
      …
      دستور;
end


حلقه for بدین صورت است که مقدار متغیر به ترتیب مقادیر آرایه را در هر دور حلقه می‌گیرد. و در نتیجه به تعداد طول آرایه، حلقه تکرار می‌شود و هر بار متغیر یک درایه ی بردار را می‌گیرد. متغیر می‌تواند حتی یک ماتریس به جای آرایه باشد که ستون های آن به ترتیب از اول تا آخر نقش آرایه را خواهند داشت و متغیر مقادیر مربوطه را اخذ می‌نماید.


- مثال:
برنامه ای بنویسید که اعداد زوج از 1 تا 10 را چاپ کند.

 

for x = 2:2:20
  disp(x);
end


-مثال:
برنامه ای بنویسید که درایه های یک ماتریس جادویی 3در3 را به ترتیب چاپ کند:

 

for x = magic(3)
  disp(x);
end


استفاده از break و continue در حلقه for نیز مجاز است.
دستور break در صورت اجرا از حلقه کاملا خارج می‌شود اما دستور continue ادامه روند دور را متوقف کرده و مقدار بعدی آرایه را در متغیر قرارمی دهد.


- switch/case/otherwise :
عبارت دستوری فوق مقدار یک متغیر را با چندین مقدار از پیش تعیین شده مقایسه می‌کند و در صورتی که با هریک از این مقادیر برابر باشد، دستورات مرتبط با آن را اجرا می‌کند. شکل به کارگیری آن بدین گونه است:

 

 switch متغیر
  case مقدار1
      دستورات;
  case مقدار2
      دستورات;
  …
  otherwise
      دستورات;
end


یک متغیر مانند x را درنظربگیرید. مطابق عبارت فوق ابتدا این متغیر با مقدار1 مقایسه می‌گردد و چنانچه برابر باشند، دستورات زیر مقدار1 اجرامی شوند، سپس روند فوق به اتمام می‌رسد و دستورات دیگر اجرا نخواهندشد. در واقع هر وقت یکی از مقادیر با متغیر برابر بود، فقط دستورات مقدار مربوطه اجرا شده و روند متوقف می‌شود.


- مثال:
برنامه ای بنویسید که یک رشته را از کاربر بگیرد و اگر این رشته نام یک رقم باشد(مثلا one, two,…) عدد مربوط به آن را چاپ کند و درغیر این صورت پیغام "invalid number " را بدهد.

 

s = input('type your number: ','s')
switch s
  case 'zero'
      disp(0)
  case 'one'
      disp(1)
  case 'two'
      disp(2)
  case 'three'
      disp(3)
  case 'four'
      disp(4)
  case 'five'
      disp(5)
  case 'six'
      disp(6)
  case 'seven'
      disp(7)
  case 'eight'
      disp(8)
  case 'nine'
      disp(9)
  otherwise
      disp('invalid number')

 

 

پیروز و موفق باشید

 

 

تدریس خصوصی آنلاین و از راه دور متلب(MATLAB) با مدرس های حرفه ای و با تجربه [اینجا کـــــلیک کــــنید]

 


 

جلسه سیزدهم | حلقه ها و دستورات شرطی در متلب

 

فرمت:PDF (لطفا در صورت خرابی لینک دانلود گزارش بدید که لینک اصلاح کنیم)

 

 

لینک دانلود آموزش رایگان اندروید

لینک دانلود

نظرات کاربران
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

1 نظر
keramat jokar
پنج شنبه سی ام آذر ۰۲
پاسخ
()
()
keramat jokar
for n=1:9; for s=1:4;for g=1:2; xl=1; xr=2; yl=3; yr=4; Loc(n,s)=0; Loc(n,s)=2; Loc(n,s)=0; Loc(n,s)=4; Loc(n,s)=1; Loc(n,s)=3; Loc(n,s)=0; Loc(n,s)=5; Loc(n,s)=2; Loc(n,s)=0; Loc(n,s)=0; Loc(n,s)=6; Loc(n,s)=0; Loc(n,s)=5; Loc(n,s)=1; Loc(n,s)=7; Loc(n,s)=4; Loc(n,s)=6; Loc(n,s)=2; Loc(n,s)=8; Loc(n,s)=5; Loc(n,s)=0; Loc(n,s)=3; Loc(n,s)=9; Loc(n,s)=0; Loc(n,s)=8; Loc(n,s)=4; Loc(n,s)=0; Loc(n,s)=7; Loc(n,s)=9; Loc(n,s)=5; Loc(n,s)=0; Loc(n,s)=8; Loc(n,s)=0; Loc(n,s)=6; Loc(n,s)=0; if(Loc(n,s))~=0 Jin1(n,s)=Jout2(Loc(n,s),g)elseif(Loc(n,s))~=0Jin2(n,s)=Jout1(Loc(n,s),g)elseif(Loc(n,s))~=0Jin3(n,s)=Jout4(Loc(n,s),g)elseif(Loc(n,s))~=0Jin4(n,s)=Jout3(Loc(n,s),g)elseJin1(n,s)=0Jin2(n,s)=0Jin3(n,s)=0Jin4(n,s)=0 endend end end با سلام آيا دستورات فوق صحيح است اگر هرشرط برقراربود سپس وارد حلقه شود در غير اينصورت يکي ازJin1(n,s)=0Jin2(n,s)=0Jin3(n,s)=0Jin4(n,s)=0 انتخاب شود باتشکر فراوان
هدر سایت
مشاهده سرفصل ها و ثبت نام در دوره Spring Boot جاواپرو  [کلیک کنید]
آموزش پروژه محور اسپرینگ بوت(Spring Boot)-سیستم دانشگاه
ثبت نام در دوره آموزش Spring security
دوره معماری میکروسرویس ها (Microservices) با استفاده از Spring Boot و Spring Cloud
دوره پرتاب | آموزش پیش نیازهای برنامه نویسی
دوره آموزش مبانی زبان برنامه نویسی جاوا
دوره آموزش مفاهیم پیشرفته زبان برنامه نویسی جاوا
مقدمه ای از زبان برنامه نویسی جاوا(java)
آموزش زبان برنامه نویسی جاوا
آموزش گرافیک در زبان برنامه نویسی جاوا
آموزش مدیریت چیدمان گرافیکی در زبان جاوا
آموزش ساخت بازی دوبعدی در زبان جاوا
Collection ها در زبان برنامه نویسی جاوا
آموزش پروژه محور ساخت برنامه مدیریت بانک با JavaFX
نمونه پروژه های رایگان زبان جاوا
آموزش دیتابیس در زبان برنامه نویسی جاوا
نمونه مثال پایه ای زبان برنامه نویسی جاوا
نمونه مثال String در زبان برنامه نویسی جاوا
آموزش جامع برنامه نویسی JavaFX
آموزش ساخت برنامه آزمون تستی در JavaFX
آموزش برنامه نویسی سوکت در جاوا
آموزش ساخت برنامه دفترچه تلفن با JavaFX
آموزش ساخت ربات ساده تلگرام با زبان جاوا
آموزش ساخت برنامه ماشین حساب با JavaFX
آموزش ساخت برنامه ساده مدیریت ایمیل ها با JavaFX
دوره آموزش Spring Boot
سفارش انجام پروژه زبان برنامه نویسی جاوا(JAVA)
سفارش انجام پروژه برنامه نویسی متلب(MATLAB) با قیمت منصفانه و تحویل به موقع
سفارش انجام پروژه زبان برنامه نویسی سی شارپ (#C)
سفارش انجام پروژه زبان برنامه نویسی سی(C)
سفارش انجام پروژه زبان برنامه نویسی پایتون(Python)
سفارش انجام پروژه زبان برنامه نویسی PHP (پی اچ پی)
سفارش انجام پروژه زبان برنامه نویسی اسمبلی(Assembly)
سفارش انجام پروژه زبان برنامه نویسی جاوا اسکریپت (Javascript)
سفارش انجام پروژه هوش مصنوعی
سفارش انجام پروژه طراحی الگوریتم
سفارش انجام پروژه ساختمان داده ها
سفارش انجام پروژه مهندسی نرم افزار
سفارش انجام پروژه شبکه های کامپیوتری
سفارش انجام پروژه پایگاه داده: دیتابیس (database)
 سفارش انجام پروژه سیستم عامل
سفارش انجام پروژه پاورپوینت(PowerPoint)
سفارش انجام پروژه اکسل (Excel)
سفارش انجام تحقیق و تهیه مقاله
سوالات متداول برنامه نویسی
جدیدترین مطالب
گفتگو را شروع کنید
مشاوره ،تدریس خصوصی و سفارش انجام انواع پروژه های برنامه نویسی