Bəzən müəyyən əməliyyatın neçə dəfə yerinə yetirilməsi haqqında heç bir şey məlum deyil, lakin hansı şərt əsasında o yerinə yetirilməlidir - bu şərti təyin etmək olur. “while” sözü “hələ ki” kimi tərcümə olunur, yəni hələ ki şərt doğrudur, bu operatoru yerinə yetir. Belə işləyən dövr “while” dövr operatoru adlanır.
Misal. Tam ədədi daxil edərək onun tərkibində olan rəqəmlərin sayını təyin edin.
Bu məsələni həll etmək üçün aşağıdakı alqoritmdən istifadə etmək lazımdır.
Ədəd, ardıcıl olaraq, 10-a bölünür və qalıq nəzərə alınmır. Bu əməliyyat bölmə nəticəsi sıfır alınana kimi davam etdirilir. Xüsusi dəyişənin (sayğacın) köməyi ilə bölmələrin sayını (ədəddə olan rəqəmlərin sayını) hesablayırıq. Aydındır ki, bu məsələnin həllində for dövr operatorundan istifadə etmək olmaz, çünki dövrlərin sayı məlum deyil. Ona görə də məsələnin həlli üçün while dövr operatorundan istifadə olunmalıdır.
#include #include main ()
{
intN; // daxil edilmişədəd
intcount=0; // sayğac tiplidəyişən
printf ( “\nEdedi daxil edin: “ ); // daxiletmə üçün göstəriş
scanf (“%d”,&N); // klaviaturadan N ədədinoxunması
while ( N >0) // dövrün başlığı (hələ ki N>0)
{ // dövrünbaşlanğıcı
N/=10; // axırıncı rəqəmin aradangötürülməsi
count++; // sayğacın 1vahidartırılması
} // dövrünsonu
printf ( “Bu ededin %d reqemi var\n”, count ) ; getch ();
}
while dövr operatoru o vaxt istifadə edilir ki, nə vaxt dövrdəki addımların sayı məlum deyil və ya hesablanabilməz.
while dövrü başlıqdan və gövdədənibarətdir
Başlıqda while sözündən sonra mötərizədə dövrü davam etdirmək üçün şərt yazılır. Şərt yalan olanda, dövr öz işinidayandırır.
Şərtdə müqayisə və məntiqi operatorlardan istifadə etməkolar:
<,> böyük, kiçik
<=,>= kiçik bərabər, böyükbərabər
== bərabər
!= bərabərdeyil
Əgər dövr başlayanda şərt artıq yalandırsa, onda dövr yerinəyetirilmir.
Əgər şərt heç vaxt yalan olmursa, onda dövr sonsuz davam edir. Bu ciddi məntiqi səhvdir.
C dilində sıfıra bərabər olmayan istənilən ədəd doğru, sıfır isə - yalan şərt deməkdir.
while ( 1 ) {… } // sonsuz dövr
while ( 0 ) {… } // dövr heç bir dəfə də yerinəyetirilməyəcəkdir
Dövrün gövdəsi fiqur mötərizələr içində yazılır. Əgər gövdədə bir operator varsa, onda mötərizələr lazımdeyil.
Dövrün gövdəsində digər operatorlar, həmçinin dövrlər də olabilər.
Proqramı asanlıqla başa düşmək üçün dövrün gövdəsi mötərizələrlə birlikdə 2-3 simvol sağasürüşdürülür.
Dostları ilə paylaş: |