با عرض سلام خدمت کاربران محترم سایت پی وی لرن.
در این جلسه قصد داریم به آموزش کار با حلقه های تکرار در ++C از جمله حلقه for در ++C و حلقه do while در ++C و حلقه while در ++C بپردازیم.
از حلقه های تکرار (Loop) برای اجرای چندین بار یک قطعه کد استفاده می شود.
ساختار دستور:
1 2 3 | for(initializationStatement; testExpression; updateStatement) { // codes } |
توضیحات:
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> using namespace std; int main() { int i, n, factorial = 1; cout << "Enter a positive integer: "; cin >> n; for (i = 1; i <= n; ++i) { factorial *= i; // factorial = factorial * i; } cout<< "Factorial of "<<n<<" = "<<factorial; return 0; } |
خروجی:
1 2 | Enter a positive integer: 5 Factorial of 5 = 120 |
متغیر i در مثال بالا با هر بار اجرای حلقه یک واحد افزایش می یابد و فقط در داخل حلقه در دسترس است و بیرون از حلقه نمی توان از آن استفاده کرد. مگر اینکه این متغیر را قبل از حلقه تعریف کنیم.
این حلقه نیز یک قطعه کد تا وقتی شرط برقرار باشد اجرا می کند.
ساختار دستور:
1 2 3 4 | while (عبارت شرطی) { // codes } |
عبارت شرطی هر بار س از اجرای (تکرار) حلقه بررسی می شود.
در این نوع حلقه شمارنده ای نداریم بنابراین باید متغیر مورد استفاده در شرط را در داخل حلقه تغییر دهیم.
با انجام این کار از تکرار بی نهایت حلقه جلوگیری خواهیم کرد.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> using namespace std; int main() { int number, i = 1, factorial = 1; cout << "Enter a positive integer: "; cin >> number; while ( i <= number) { factorial *= i; //factorial = factorial * i; ++i; } cout<<"Factorial of "<< number <<" = "<< factorial; return 0; } |
خروجی به شکل زیر می باشد:
1 2 | Enter a positive integer: 4 Factorial of 4 = 24 |
این نوع حلقه مانند حلقه while می باشد با این تفاوت که شرط در انتهای حلقع بررسی می شود و کد درون حلقه ابتدا یک بار اجرا خواهد شد.
سختار دستور:
1 2 3 4 | do { // codes; } while (عبارت شرطی); |
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> using namespace std; int main() { float number, sum = 0.0; do { cout<<"Enter a number: "; cin>>number; sum += number; } while(number != 0.0); cout<<"Total sum = "<<sum; return 0; } |
خروجی مثال بالا به شکل زیر می باشد:
1 2 3 4 5 6 7 8 | Enter a number: 2 Enter a number: 3 Enter a number: 4 Enter a number: -4 Enter a number: 2 Enter a number: 4.4 Enter a number: 2 Enter a number: 0 |
از این دستور برای خروج از حلقه استفاده می شود.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream> using namespace std; int main() { float number, sum = 0.0; // test expression is always true while (true) { cout << "Enter a number: "; cin >> number; if (number != 0.0) { sum += number; } else { // terminates the loop if number equals 0.0 break; } } cout << "Sum = " << sum; return 0; } |
خروجی:
1 2 3 4 5 6 | Enter a number: 4 Enter a number: 3.4 Enter a number: 6.7 Enter a number: -4.5 Enter a number: 0 Sum = 9.6 |
از این دستور برای رفتن به ابتدای حلقه استفاده می شود.
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <iostream> using namespace std; int main() { for (int i = 1; i <= 10; ++i) { if ( i == 6 || i == 9) { continue; } cout << i << "\t"; } return 0; } |
خروجی به شکل زیر می باشد:
1 | 1 2 3 4 5 7 8 10 |
جلسه آموزش حلقه های تکرار در ++C نیز به پایان رسید.
جلسه بعد به مبحث توابع در ++C خواهیم پرداخت. با ما همراه باشید
امیر
سلام میخواستم بپرسم چه جوری میشه تو حلقه for به تعداد حلقه
یه داده رو cin کرد؟؟؟؟؟