R أثناء الحلقة مع أمثلة البرمجة

أثناء حلقة في برمجة R

حلقة while في برمجة R هي عبارة تستمر في العمل حتى يتم استيفاء الشرط بعد اكتمال الكتلة.

أثناء بناء جملة الحلقة في R

فيما يلي بناء الجملة لحلقة While في برمجة R:

while (condition) {
     Exp	
}

R أثناء مخطط انسيابي للحلقة

R أثناء مخطط انسيابي للحلقة
R أثناء مخطط انسيابي للحلقة

ملاحظات:تذكر أن تكتب شرط إغلاق في مرحلة ما وإلا ستستمر الحلقة إلى ما لا نهاية.

أثناء حلقة في أمثلة برمجة R

مثال 1

دعونا نذهب من خلال بسيط جدا برمجة آر مثال لفهم مفهوم أثناء الحلقة. ستقوم بإنشاء حلقة وبعد كل تشغيل أضف 1 إلى المتغير المخزن. أنت بحاجة إلى إغلاق الحلقة، لذلك نخبر R صراحةً أن يتوقف عن التكرار عندما يصل المتغير إلى 10.

ملاحظات: إذا كنت تريد رؤية قيمة الحلقة الحالية، فأنت بحاجة إلى تغليف المتغير داخل الدالة print().

#Create a variable with value 1
begin <- 1

#Create the loop
while (begin <= 10){

#See which we are  
cat('This is loop number',begin)

#add 1 to the variable begin after each loop
begin <- begin+1
print(begin)
}

الإخراج:

## This is loop number 1[1] 2
## This is loop number 2[1] 3
## This is loop number 3[1] 4
## This is loop number 4[1] 5
## This is loop number 5[1] 6
## This is loop number 6[1] 7
## This is loop number 7[1] 8
## This is loop number 8[1] 9
## This is loop number 9[1] 10
## This is loop number 10[1] 11

مثال 2

لقد اشتريت سهمًا بسعر 50 دولارًا. إذا انخفض السعر إلى أقل من 45، فإننا نريد بيعه على المكشوف. وإلا، فإننا نحتفظ به في محفظتنا. يمكن أن يتقلب السعر بين -10 إلى +10 حول 50 بعد كل حلقة. يمكنك كتابة الكود على النحو التالي:

set.seed(123)
# Set variable stock and price
stock <- 50
price <- 50

# Loop variable counts the number of loops 
loop <- 1

# Set the while statement
while (price > 45){

# Create a random price between 40 and 60
price <- stock + sample(-10:10, 1)

# Count the number of loop
loop = loop +1 

# Print the number of loop
print(loop)
}

الإخراج:

## [1] 2
## [1] 3
## [1] 4
## [1] 5
## [1] 6
## [1] 7
cat('it took',loop,'loop before we short the price. The lowest price is',price)

الإخراج:

## it took 7 loop before we short the price. The lowest price is 40