ساختار های حلقه ها در زبان ++C :

 

در زبان ++C سه نوع ساختار حلقه (گردش) وجود دارد :

for 1-

do while 2-

while 3-

 

در ادامه به بررسی هر سه حلقه خواهيم پرداخت .

 

ساختار حلقه ی for :

 

ساختار کلی حلقه ی for به صورت زیر است :

( مقدار تغيير متغير ;مقدار نهایی ;مقدار اوليه )for

{

دستور یا دستورات

}

توجه : در صورت مجموعه دستورات شما فقط شامل یک دستور باشد می توانيد از آکولاد ها صرف نظر کنيد .

 

 

 

مسئله 9 : برنامه ای بنویسيد که تا اعداد طبيعی کوچکتر از 100 را چاپ کند .

#include <iostream.h>

int main()

{

cout<<“figures which are less than 100 : \n”;

for(int i=0; i<100; i++)

{

cout<<i<<endl;

}

return 0;

}

مسئله ی 10 : برنامه ای بنویسيد که مجموع اعداد 1 تا 99 را بنویسد .

#include <iostream.h>

int main()

{

int s;

cout<<“majmo is : “;

for(int i=0; i<100; i++)

{

s=s+i;//http://sim-power.ir

}

cout<<s;

return 0;

}

 

مسئله ی 11 : برنامه ای بنویسيد که اعداد زوج بين 100 و 1000 را چاپ کند .

 

#include <iostream.h>

int main()

{

int s,k;

cout<<“even numbers between 100 and 1000 are : “;

for(int i=100; i<1001; i++)

{

k=i%2;

if (k==0)

cout<<i<<” “;//http://sim-power.ir

}

return 0;

}

 

مسئله 12 : برنامه ای بنویسيد که حاصلضرب اعداد 5 تا 10 را در خروجی چاپ کند .

 

#include <iostream.h>

int main()

{

long int p;

p=1;

for(int i=5; i<10; i++)

{

p=p*i;

}

cout<<” zarbe adade 5 ta 10 : ” <<p;//http://sim-power.ir

return 0;

}

 

 

 

ساختار حلقه ی while :

( شرط اجرای حلقه )while

{

دستورات برنامه

}

سئله ی 13 :برنامه ای بنویسيد که دنباله ی زیر را تا عدد 9999 چاپ کند :

30 10 90 70 50 …

 

#include <iostream.h>

int main()

{

long int a;

a=10;

while (a<9999){

cout<<a<<” “;//http://sim-power.ir

a+=20;

}

return 0;

}

 

 

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

طرف کاربر خواهد بود ) .

 

#include <iostream.h>

int main()

{

long int s,a;

cout<<“enter your numbers : “<<endl;//http://sim-power.ir

cin>>a;

s=a;

while (a>0){

cin>>a;

s+=a;

}

cout<<“Sum is “<<s;

return 0;

}

 

 

 

ساختار حلقه ی do while:

 

 

do{

دستورات برنامه

( شرط اجرای کد حلقه )while{

فرق اساس حلقه ی do while با while در این است که در حلقه ی فوق ، دستورات برای یک بار بدون توجه به شرط برنامه اجرا می

شوند .

رای مثال مسئله 14 را یکبار دیگر با حلقه ی do while می نویسيم :

 

#include <iostream.h>

int main()

{

int s,a;

cout<<“enter your numbers : “<<endl;//http://sim-power.ir

s=0;

do{

cin>>a;

s=a+s;

} while (a>0);

cout<<“Sum is “<<s;

return 0;

}

 

مسئله ی 15 : برنامه ای بنویسيد که تعدادی عدد مثبت را از ورودی گرفته و بزرگترین و کوچکترین آنها را تعيين کند . (شرط پایان کار وارد

کردن عدد صفر است )

#include <iostream.h>

int main()

{

int s,max,min,a;

cout<<“enter your numbers : “<<endl;

cin>>a;

max=a; min=a;

while (a>0){

if (a>max)

max=a;//http://sim-power.ir

if (a<min)

min=a;

cin>>a;

}

cout<<“max is “<<max;

cout<<“min is “<<min;

return 0;

}

 

 

 

تمرینات :

 

-1 (مسئله ی 16): برنامه ای بنویسيد که دستور فاکتوریل را انجام دهد . یعنی اینکه عددی را از ورودی گرفته و فاکتوریل آنرا را حساب کند .

راهنمایی :

0!=1 و a!= 1*2*3*…*a

2 (مسئله ی 17):برنامه ای بنویسيد که 10 عدد از ورودی گرفته و بزرگترین آنها را مشخص کند .

 

-3 (مسئله ی 18 ): برنامه ای بنویسيد که عددی را گرفته و مشخص کند که آیا عدد اول است یا نه .

 

-4 (مسئله ی 19 ): برنامه ای بنویسيد که عددی را از ورودی گرفته و مشخص کند که عدد گرفته شده تام است یا نه .

(راهنمایی : عدد تام عددی است که مجموع مقسوم عليه های کوچکتر از خودش ، برابر خودش باشد )

-5 (مسئله ی 20 ): برنامه ای بنویسيد که اعداد اول 1 تا 5000 را چاپ کند .

-6 (مسئله ی 21 ):برنامه ای بنویسيد که عددی را گرفته و مقسوم عليه های آنرا چاپ کند . (می توانيد برنامه را گسترش دهيد تا تعداد و

مجموع مقسوم عليه ها را هم چاپ کند . )

-7 (مسئله ی 22):برنامه ای بنویسيد که مجموع مضارب 5 را بين 1 و 100 چاپ کند .

-8 (مسئله ی 23 ):برنامه ای بنویسيد که دو عدد را از ورودی بگيرد و اعداد بين آنها را چاپ کند .

-9 (مسئله ی 24 ):برنامه ای بنویسيد که تعداد مضارب 7 و 5 را در بازه ی بين 1 تا 10000 چاپ کند .

(توضيح : اعداد مورد نظر هم باید مضرب 7 باشد و هم مضرب 5 )

10 (- مسئله ی 25 ):برنامه ای بنویسيد که 10 عدد را گرفته و ميانگين و حاصلجمع آنها ر ا به ما بدهد .

 

11- (مسئله ی 26 ):دنباله ی فيبوناچی به صورت زیر است :

1,1,2,3,5,8,13,21…

این دنباله به صورت زیر تعریف می شود :

 

 

 

Fn برنامه ای بنویسيد که با دریافت مقدار صحيح n ، مقدار را برای دنباله ی فيبوناچی چاپ کند .

12 – ( مسئله ی 27) : برنامه ای بنویسيد که تعدادی عدد گرفته و مجموع مربعات آن را حساب کند

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *