Shartli ifoda.
Shartli ifoda bulib xoxlagan for siklni boshkaradigan uzgaruvchisi buladi, bool tipining natiyjasini kelitiradigan. Masalan keyingi dasturda sikl done uzgaruvchisi Bilan boshkariladi.
G’G’ bool tipindagi xoxlagan ifoda siklning sharti bulishi mumkin;
Using System;
class for Demo {
public static void Main( ) {
int I,j bool done q false;
for ( iq0, jq100 ; done I Q Q , j - ) {
if ( i*i >q j ) done q true ;
Console. WriteLine ( “ I, j: “ Q i Q “ “ Q j “ );
}
}} Bu dasturning natiyjalari
I, j: 0 100
I, j: 1 99
I, j: 2 98
I, j: 3 97
I, j: 4 96
I, j: 5 95
I, j: 6 94
I, j: 7 93
I, j: 8 92
I, j: 9 91
I, j: 10 90
Bu misolda for sikli takrorlanadi kachongacha bool uzgaruvchisining ma’nosi true bulmagancha. Bu uzgaruvchisiga true kuyiladi, agarda i uzgaruvchisining kvadrat ma’nosi j uzgaruvchining ma’nosidan katta yoki teng bulsa.
Sikldi aniklashda elementlarning yuk bulishi.
C# da sikl nomida xoxlagan elementni koldirishga buladi ( initsializatsiya-shart- iteratsiya) yoki birdan xammasi. Siklni aniklashda ba’zi bir elementlarning yuk bulishi kizikarli natiyjani berishi mumkin. Keiyngi dasturni kurib utamiz:
G’G’ For siklning kismlarini tashkil etadigan
kismi bush bulishi mumkin.
Using System;
class Emptyl { public
static void Main( ) {
int i;
for ( i-0; I < 10; ) {
Console. WriteLine ( “Utish № “ Q i );
iQ Q;G’G’ Siklni boshkaradigan uzgaruvchini inkrementirlaymiz} } }
Bu yerda for siklning iteratsiya ifodasi yuk. Uning urniga I boshkaruvchi uzgaruvchisi bilan inkrementirlanadi, sikl ichida bor bulgan. Bu deganimiz siklning xar bir takrorlanishida bir amal bajariladi : I uzgaruvchisining ma’nosi 10 soni bilan solishtiriladi. I uzgaruvchisining ma’nosi sikl ichida ikrementirlangani uchun, u u normal funksiyalanadi kuyidagi natiyjalarni kursatib.
Utish № 0
Utish № 1
Utish № 2
Utish № 3
Utish № 4
Utish № 5
Utish № 6
Utish № 7
Utish № 8
Utish № 9
Keyngi misolda for siklidan uzgaruvchini boshkaradigan initsializatsiyalash kismi olib tashlangan.
G’G’ For siklini aniklash bitta shartdan iborat.
Using System;
class Emptyl {
public static void Main( ) {
int i;
iq0; G’G’ Sikldan initsializatsiyalash bulimini olib tashlaymiz
for (; i < 10; ) {
Console. WriteLine ( “Utish № “ Q i );
iQ Q;G’G’ Siklni boshkaradigan uzgaruvchini inkrementirlaymiz} } }
bu versiyada i uzgaruvchisi for sikliga kirmasdan oldin initsializatsiyalanadi, a uning nomlanishida emas. Kupincha dasturchilar boshkarush uzgaruvchilarni for sikli ichida initsializatsiyalaydi. Sikldan tashkari initsializatsiyalanadi fakat boshidagi ma’no murakkab protsess bilan almashtirilsa, va uni sikl aniklashida kuyilishi kulaysizliklarni tugdiradi.
Do'stlaringiz bilan baham: |