Professional Documents
Culture Documents
4 تکرار
4 تکرار
while
do while
for
2
دستور while
جهت تکرار دستور (دستورات) تا زمان برقراری شرط
)while (condition
شرط
;statement
دستوری که قرار
است تکرار شود حالت کلی
)while (conditions
{
;statements
}
خاتمه دادن به یک حلقه )1 :نقض شرط حلقه
3
دستور do while
مانند دستور whileبا حداقل اجرای یک بار دستور
do
;statement
;)while (condition حتماً انتهای دستور ; گذاشته شود
حالت کلی
do
{
;statements
}
;)while (conditions
4
دستور for
-مقداردهی اولیه متغیر کنترل حلقه
-اولین عبارت مورد ارزیابی
جهت تکرار تا زمان برقراری شرط
-اجرا تنها یک بار شرط حلقه
1 2 4
)for (initialization; condition; update
;statement -پیشبرد متغیر کنترل حلقه
دستوری که قرار 3 -ارزیابی پس از هربار اجرای دستور
است تکرار شود
زنجیره وقایع تکرار
(1ارزیابی عبارت initialization
(2بررسی conditionو اگر نادرست خاتمه حلقه
(3اجرای statement
(4ارزیابی عبارت update
(5تکرار گامهای 2تا 4
5
while مثال دستور
f1 f2 f3
2
0, 1 , 1, 2, 3, 5, 8, 13, …. تولید سری فیبوناچی:مثال
int main() 1
{ f1 f2 f3
int n, f1=0, f2=1, f3;
cout<<“Enter a positive integer(>1):”;
cin>> n;
cout<<“Fibonacci numbers< “<<n<<“: 0, 1”;
f3 = f1 + f2;
while (f3<n)
{ 6 :با فرض ورودی
cout<<“, ”<<f3; :خروجی
f1 = f2;
Enter a positive integer(>1): 6
f2 = f3;
Fibonacci numbers< 6: 0, 1, 1, 2, 3, 5
f3 = f1 + f2;
}
return 0;
}
6
do while مثال دستور
برنامه چاپ فاکتوریل تمام اعداد قبل از عدد ورودی:مثال
int main()
{
int n, fact = 1, i = 1;
cout<<“Enter a positive integer:”;
cin>>n;
cout<<“Factorial numbers < ”<<n<<“: ”;
do
{fact *= i;
cout<<fact<<“ ” ; 4 :با فرض ورودی
i++;} :خروجی
while (i<n); Enter a positive integer: 4
return 0; Factorial numbers < 4: 1 2 6
}
7
for مثال دستور
تعدادی عدد ورودی با عدد انتهایی صفرmax برنامه یافتن:مثال
int main()
{
int n, max;
cout<<“Enter some integers (0 to quit):”;
cin>>n; بدون قسمت مقداردهی و بروزرسانیfor حلقه
max = n; :با فرض ورودی
for ( ; n != 0; ) 2 1 -2 5 9 0
{if (n>max) :خروجی
{max = n;} Enter some integers (0 to quit): 2 1 -2 5 9 0
Max = 9
cin>>n;}
cout<<“Max = ” <<max<<endl;
return 0;
}
8
تودرتوfor مثال دستورات
برنامه چاپ جدول ضرب:مثال
#include <iomanip>
#include <iostream>
using namespace std;
int main() تودرتوfor حلقههای
{
:خروجی
for (int x = 1; x<=10; x++)
خارجیfor
{cout<<setw(4)<<x*y;}
cout<<endl;}
return 0;
}
9
دستورات breakو continue
دستور break
قابل استفاده در حلقه برای خاتمه حلقه
دستور continue
قابل استفاده در حلقه برای لغو چرخه فعلی و اجرای تکرار بعدی حلقه
دستورات پرش ()jump
انتقال برنامه به جایی غیر از روال طبیعی مانند دستور breakو continue
10
break باfor مثال دستور
برنامه محاسبه میانگین تعدادی عدد ورودی (صحیح و مثبت) با عدد انتهایی صفر:مثال
int main()
{ int n, count = 0, sum = 0;
float avg;
cout<<“Enter some positive integers (0 to quit):”;
for ( ; ; ) )forever( بینهایتfor حلقه
{cin>>n;
if (n<=0)
{break;} :با فرض ورودی
count++; 214590
sum += n;} :خروجی
if (count>0) Enter some positive integers (0 to quit): 2 1 4 5 9 0
{avg = float(sum)/count; The AVG is 4.2
cout<<“The AVG is ” <<avg<<endl;}
return 0;
} 11
مثال دستورات تکرار
)‘ در انتهای جمله.’ برنامه شمارش تعداد کاراکترهای جمله ورودی (با فرض:مثال
int main()
{
int count = 0;
اما فقط برای خواندن کاراکترcin مشابه دستور
char ch;
... نه برای اعداد و
cout<<“Enter a sentence: ”;
ch = cin.get(); :با فرض ورودی
while (ch != ‘.’) : خروجیHello students.
{count++; Enter a sentence: Hello students.
ch = cin.get(); The number of characters are: 14
}
cout<<“The number of characters are: ”<<count;
return 0;
}
12