C
2- دستورات ایجاد حلقه :برای تکرار یک یا چند دستور به کار می رود .
2-1 – حلقه با تکرار معین : اگر تعداد دفعات تکرار قبل از حلقه مشخص باشد از دستور زیر استفاده می کنیم :
for (متغییر شمارنده = مقداراولیه ; شرط اتمام حلقه ; گام حرکت )
دستور{ات} ;
مثال : (for (i =1 ; i <= 3 ; i++
printf (" \n %d " , i);
نکته : for(;;) یعنی حلقه بی نهایت و هیچ شرطی درونش نیست .
مثال 9 ) برنامه ای بنویسید که n نمره دانشجویی را خوانده و مشخص کند مشروط است یا نه ؟
# incloude <stdio.h>
# incloude <conio.h>
Main( )
{
Int n,c;
Float m,s,avg;
Printf("pleas enter mark num ");
Scanf("%d \n ",&n);
S=0;
For (c=0;c<n;c+ +)
{
Printf(" enter any mark :");
Scanf("%f \n ", &m);
S+ = m; s =s +m;
}
Avg = s/n ;
If (avg<12)
Printf("fail");
Else
Printf("suc");
Getch( );
Return(0);
}
مثال 10) برنامه ای بنویسید که فاکتوریل تعدادی از اعداد را چاپ کند . ( در آخر برنامه : reakb + ctrl استفاده می شود )
# include<stdio.h>
# include<conio.h>
Int main ( )
{
Long int fact ;
Inti , num ;
Clrscr ( );
For ( ; ; )
{
Printf(" \n type a number :");
Scanf(%d" , &num );
Fact=1;
For (i=1; i<=num ; i++)
Fact *=I ;
Printf( " fact is :%d", fact);
}
Getch ( );
Return (0);
}
}
مثال 11) برنامه ای بنویسید که مجموع سری زیر را حساب کند .
1+1/2+1/4+1/8+….
# include <stdio.h>
# include<conio.h>
Int main( )
{
Int count;
Float sum , x;
Clrscr ( );
For ( sum=0 , x=1 , count=1;count<=num; count++,x*=2)
{
Sum +=1/x;
Printf(" sum=%7.4 f , when count =%d \n" ,sum , count );
}
Return (0);
}
2-2 – حلقه با تکرار معین ونا معین : اگر تعداد دفعات تکرار از قبل معین نباشد حلقه های نوع زیر به کار می روند.
2-2-1 – حلقه while : شکل کلی آن به صورت زیر است :
while (شرط(ها)) i = 1 ;
دستور{ات} ; while (i <= 3)
{ printf (" %d " , i) ;
i ++ ; }
مثال 12 ) برنامه ای بنویسید که تعدادی عدد را خوانده و مجموع مربعات آنها را محاسبه کند و به همراه تعدادی عدد به خروجی ببرد .
# include<stdio.h>
# include<conio.h>
Main( )
{
Intx , sum = 0,n = 0;
Char ans= "y";
Clrscr( );
While ( ans = = "y")
{
Printf(" \n enter a number:");
Scanf("%d",&x);
Sum+ = x*x;
N++ ;
Printf("\n do you want to cuntiniue?(y/n):");
Ans=getch( );
} // end of while
Printf("\n you entered %d num", n );
Printf("\n sum of square is : %d", sum);
Getch( );
Return(0);
}
