For-Loop-logo

در جلسه‌ی قبل با حلقه‌های تکرار For-in آشنا شدید،در این جلسه میخواهیم نوع سنتی تری از For ها را که در بیشتر زبان‌های برنامه نویسی کاربرد دارند را یاد بگیریم.در ادامه همراه باشید

اگر به خاطر داشته باشید ویژگی این حلقه‌ها، تکرار "رویدادی" را تا رسیدن به "شرطی" خاص بود،اجازه دهید ابتدا با ساختار حلقه های for آشنا شویم:

(برای مشاهده تصویر در اندازه واقعی روی آن کلیک کنید)

for-Loop-structure

 



 

 

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

for var index = 0; index < 3; ++index {

    print("index is \(index)")
}

نکته:برخلاف نوع For-in که در جلسه‌ی قبل آموختید،در این حلقه‌ها باید شمارنده را به صورت متغیری جدا تعریف کنید،پس به کار بردن کلیدواژه‌ی var قبل از عبارت index ضروری میباشد.

در این مثال شمارنده‌ی index را برابر با صفر قرار دادیم و پس از علامت سمی‌کالن (;) شرط پایان حلقه را مینویسیم،این شرط به ما میگوید زمانی تکرار دستورات خاتمه یابد که شمارنده مقداری کمتر از ۳ داشته باشد،پس با توجه به عدد شروع شمارنده میدانیم حلقه ۳ بار تکرار میشود(از ۰ تا ۲)،سپس با درج دستور index++ میزان قدمهای شمارنده را تعیین میکنیم،که اشاره به قدمهای یکی یکی و به ترتیب دارد،و در نهایت دستوری که درون این حلقه قرار میگیرد متد ()print میباشد.

نکته: عبارت (index++) برابر است با  (1 + index = index)

برای دیدن خروجی دستور در محیط playground باید ابتدا گزینه‌ی + را در کنار مقدار خروجی زده،مطابق تصویر:

playground-view

سپس برای مشاهده‌ی جزئیات خروجی بر روی این علامت کلیک کنید،مطابق تصویر:

playground-outPut-View

نکته: برای مشاهده‌ی خروجی به صورتی که توضیح داده شد،باید شما نسخه‌ی ۶.۳.۱ از Xcode را نصب داشته باشید،نسخه‌های قدیمی‌تر کمی متفاوت هستند.

خروجی مثال قبل به صورت زیر نمایش میابد:

(برای مشاهده تصویر در اندازه واقعی روی آن کلیک کنید)

outPut-After-Cjange

به مثال زیر توجه کنید :

٭ تمامی کدها و مثال ها را می توانید در بخش playground تست کنید.

let base = 3
let power = 10
var answer = 1

for var index = 0 ; index == power ; ++index {
    answer *= base
}
print("\(base) to the power of \(power) is \(answer)")
در این مثال ابتدا دو ثابت با مقادیر ۳ و ۱۰ ساخته ،سپس یک متغیر که حاوی مقدار عددی ۱ میباشد را نیز به کدها اضافه کردیم(تعریف نکردن نوع داده ها بلامانع است).حال میخواهیم از ۰ تا مقدار ثابت power که برابر با عدد ۱۰ است, حلقه را تکرار کنیم.و هر بار مضربی از عدد ۳ را در هم ضرب کنیم،و پس از پایان حلقه‌ی تکرار، خروجی نهایی را در قالب یک دستور ()print چاپ میکنیم،توجه کنید که دستورات خارج از حلقه for (بعد از بسته شدن کروشه) تنها ۱ بار اجرا میشوند و شامل تکرار حلقه نمیشوند.
خروجی حلقه for به صورت زیر میباشد:
OutPut-for

خروجی بالا را میتوانید به حالت نموداری نیز مشاهده کنید :

OutPut-Graph

در جلسات بعد مثالهایی بیشتر از حلقه‌ها را تمرین میکنیم.

چالش: مثال آخر را به صورت For-in نوشته و تست کنید.

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