ممکن است شرایطی پیش بیاید که نیاز داشته باشید یک بلوک کد را چندین بار اجرا کنید. بهطور معمول، دستورات به ترتیب اجرا میشوند؛ ابتدا دستور اول یک تابع اجرا شده و سپس دستور دوم و به همین ترتیب ادامه مییابد. در ادامه دستورات حلقه در زبان R را بررسی می کنیم.
زبانهای برنامه نویسی ساختارهای کنترلی متنوعی ارائه میدهند که امکان مسیرهای اجرایی پیچیدهتر را فراهم میکنند.
یک دستور حلقه (loop) به ما اجازه میدهد یک دستور یا مجموعهای از دستورات را چندین بار اجرا کنیم. فرم کلی یک دستور حلقه در بیشتر زبانهای برنامه نویسی به شکل زیر است:
زبان برنامه نویسی R انواع حلقههای زیر را برای مدیریت نیازهای حلقهای ارائه میدهد:
ردیف | نوع حلقه و توضیح |
---|---|
1 | repeat loop: یک دنباله از دستورات را چندین بار اجرا میکند و کد مدیریت متغیر حلقه را کوتاه میکند. |
2 | while loop: یک دستور یا مجموعه دستورات را تا زمانی که شرط مشخصی برقرار است، تکرار میکند. شرط قبل از اجرای بدنه حلقه بررسی میشود. |
3 | for loop: مشابه while است، با این تفاوت که شرط در پایان بدنه حلقه بررسی میشود. |
دستورات کنترل حلقه در زبان R
دستورات کنترل حلقه ترتیب اجرای دستورات را تغییر میدهند. وقتی اجرای کد از یک محدوده خارج میشود، همه اشیاء خودکار ایجاد شده در آن محدوده حذف میشوند.
زبان R از دستورات کنترل زیر پشتیبانی میکند:
ردیف | دستور کنترل و توضیح |
---|---|
1 | break statement: اجرای حلقه را متوقف کرده و اجرای برنامه را به دستور بعد از حلقه منتقل میکند. |
2 | next statement: رفتار مشابه switch در R را شبیهسازی میکند. |
مثال: چاپ عناصر یک وکتور با استفاده از حلقه repeat
1 2 3 4 5 6 7 8 9 10 |
v <- LETTERS[1:4] i <- 0 repeat { print(v[i]) i<- i+1 if(i> 4) { break } } |
1 2 3 4 |
[1] "A" [1] "B" [1] "C" [1] "D" |
مثال: چاپ عناصر یک وکتور با استفاده از حلقه while
1 2 3 4 5 6 |
v <- LETTERS[1:4] i <- 0 while(i < 5) { print(v[i]) i<- i+1 } |
1 2 3 4 |
character(0) [1] "A" [1] "B" [1] "C" |
مثال: تکرار عناصر یک لیست با استفاده از حلقه for
1 2 3 4 |
list1 <- list(a = 1:3, b = "hello", c = TRUE) for (item in list1) { print(item) } |
1 2 3 |
[1] 1 2 3 [1] "hello" [1] TRUE |
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- انتشار: ۱۶ شهریور ۱۴۰۴
دسته بندی موضوعات
- آموزش ارز دیجیتال
- آموزش برنامه نویسی
- آموزش متنی برنامه نویسی
- اطلاعیه و سایر مطالب
- پروژه برنامه نویسی
- دوره های تخصصی برنامه نویسی
- رپورتاژ
- فیلم های آموزشی
- ++C
- ADO.NET
- Adobe Flash
- Ajax
- AngularJS
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- AVR
- Bootstrap
- CCNA
- CCNP
- CMD
- CSS
- Dreameaver
- EntityFramework
- HTML
- IOS
- jquery
- Linq
- Mysql
- Oracle
- PHP
- PHPMyAdmin
- Rational Rose
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- WPF
- Xml
- آموزش های پروژه محور
- اتوکد
- الگوریتم تقریبی
- امنیت
- اندروید
- اندروید استودیو
- بک ترک
- بیسیک فور اندروید
- پایتون
- جاوا
- جاوا اسکریپت
- جوملا
- دلفی
- دوره آموزش Go
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کانستراکت
- کریستال ریپورت
- لاراول
- معماری کامپیوتر
- مهندسی اینترنت
- هوش مصنوعی
- یونیتی
- کتاب های آموزشی
- Android
- ASP.NET
- AVR
- LINQ
- php
- Workflow
- اچ تی ام ال
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- پاسکال
- پایان نامه
- پایتون
- جاوا
- جاوا اسکریپت
- جی کوئری
- داده کاوی
- دلفی
- رباتیک
- سئو
- سایر کتاب ها
- سخت افزار
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- طراحی الگوریتم
- فتوشاپ
- مقاله
- مهندسی نرم افزار
- هک و امنیت
- هوش مصنوعی
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس