Int x,y;
Main ()
Int i;
Main ()
Getch();
X=x0;
Clrscr();
Main ()
Getch();
P*=i;
Clrscr();
Int n;
Main ()
Getch();
S+=i;
Clrscr();
Main ()
. . .
FOR цикл операторы
For операторы айнымалы ретінде берілген цикл параметрінің алғашқы, соңғы мәні мен өзгеру қадамы белгілі болғанда, соған сәйкес бір немесе бірнеше операторларды қайталап орындау кезінде қолданылады. Бұл оператор параметрлі цикл операторы немесе арифметикалық цикл деп аталады.
Параметрлі циклдің орындалу схемасы:
For цикл операторының жалпы жазылу түрі:
for (x=x0; x<=xk; x=x+dx)
{
<1-оператор>;
<2-оператор>;
<n-оператор>;
}
Мұнда x=x0– цикл айнымалысының бастапқы мәні, x<=xk– циклдің орындалу шарты, x=x+dx– цикл айнымалысының қадамы. x=x0цикл операторы орындаларда бір рет есептеледі, x<=xkақиқат болса немесе 0-ге тең болмаса, цикл тұлғасы ретіндегі операторлар атқарылады. Содан соң x=x+dxесептеледі және x<=xkмәні қайта анықталады. x<=xkмәні жалған болса немесе жалпы жағдайда ол 0-ге тең болса, forоператорының жұмысы аяқталады. Сонымен цикл тұлғасының келесі орындалуы немесе орындалмауы оның атқарылуы алдында анықталады.
1-мысал.
/* 1-ден 100-ге дейінгі сандар қосындысын анықтау */
#include <stdio.h>
#include <conio.h>
{ int s=0,i;
printf("1-ден 100-ге
дейінгі сандар қосындысы:");
for (i=1;i<=100;i++)
printf("s=%d",s);
printf("\nАяқтау үшін Enter
басыңыз\n");
}
2-мысал. Бүтін сандардың көбейтіндісін өрнектейтін n! мәнін, яғни n!=1*2*... n табу қажет.
Бұл алгоритмді құру барысында for операторының кері қарай есептейтін мүмкіндігін пайдаланайық (4.3-сурет).
#include <stdio.h>
#include <conio.h>
{ int p=1,i;
printf("n санын енгізіңіз
де, Enter басыңыз:");
scanf("%d",&n);
printf("1-ден n-ге дейінгі
сандар көбейтіндісі:");
for (i=n;i>1;i--)
printf(" %d",p);
}
3-мысал.
/* х айнымалысы берілген алғашқы мәннен (х0) соңғы мәнге (хk) дейін тұрақты қадаммен (dx) өзгеріп отырғанда, у функциясының мәндерін анықтау */
#include <stdio.h>
#include <conio.h>
{ float x,y,x0,xk,dx;
printf("х-тің алғашқы,соңғы мәндері : ");
scanf("%f%f",&x0,&xk);
printf("х-тің өзгеру қадамы dх: ");
scanf("%f",&dx);
printf("----------------------\n");
printf(" x | y\n");
printf("----------------------\n");
for (x=x0;x<=xk;x+=dx)
{ y=-2.4*x*x+5*x-3; /* функция */
printf("%6.2f | %6.2f\n",x,y);
}
printf("----------------------\n");
printf("\nАяқтау үшін Enter басыңыз");
}
4-мысал. қосындысын анықтау керек.
#include <stdio.h>
#define n 10
{
float s=0;
for(i=1,i<=n;i++)
s+=i*i/2;
printf(“нәтиже= %f\n”,s);
}
For цикл операторындағы жақша ішіндегі соңғы өрнек ретінде жалпы дұрыс жазылған кез келген өрнекті пайдалануға болады. Мысалы:
for (d=0.1; d<50; d*=5)
printf(“%f”,d);
For цикл операторындағы жақша ішіндегі бір немесе бірнеше өрнектерді жазбауға да болады, бірақ мұндайда ; символын міндетті түрде өз орындарына жазып отыру керек, мысалы:
x=2; for(n=4; x<=100;)
x=x*n;
For цикл операторында құрама өрнектерді « , » операциясы арқылы жазуға да болады.
« , » операциясы – құрама өрнекті ұйымдастыру үшін қолданылады. Осы операцияны қолданғанда, үтір арқылы бөлектенген өрнектер сол жақтан оң жаққа қарай есептеледі. « , » операциясы цикл операторының тиімді болуы үшін жиі пайдаланылады. Мысалы:
{
for (x=1,y=9;x<=10; x++,y--)
printf(“%d%d\n”, x,y);
}
Мұнда алғашқы ; белгісіне дейін және соңғы өрнек арқылы осы цикл операторында екі параметр мәні беріліп (x=1,y=9;), олар x,y айнымалыларын өзгерту үшін қолданылып отыр.
Дәріс№6
Орындалу саны алдын ала белгісіз болатын циклдер құру кезінде шарттары алдын ала немесе соңынан тексерілетін екі цикл түрі бар. Шарты алдын ала тексерілетін цикл операторының орындалу схемасы
Оның жазылуы:
while (шарт-өрнек)