while

Бағдарламалау
1) While операторы озіне тиесілі шарт орындалып тұрғанынша, өз денесіндегі кодтарды қайталап орындай береді.
2) Сонымен қатар break, goto, return немесе throw операторлары while( ){денесінің} сыртына сілтеп жіберсе де жеткілікті , while(шарты) орындалып тұрғанына қарамастан компилятор оның денесінен шығып, әрі қарай өз міндетін жалғастырады.

Компилятор while циклын кезіктіргенде әуелі оның шартын тексереді, шарт орындалған жағдайда ғана денесіне енеді, шарты орындалмаса денесіне енбей келесі кодтарға ауысып кетеді.

Бірінші анықтаманы мынадай мысалмен түсіндірсек болады:
double x = -5;
            while (x < 6)
            {
                Console.WriteLine(x);
                x++;
            }
            Console.ReadKey();

Түпкі мақсатымыз теріс таңбалы бес санынан оң таңбалы бес санына дейінгі сандарды бір бағанға тізіп шығу болатын.
Бұл жерде while-ды жеңілдік мақсатында және қателеспес үшін қолдансақ болады.(1000-ға дейінгі сандарды тізіп шығу керек болса, масқара ғой, циклсыз, қолмен теріп шығу))

2-ші анықтамаға тоқталайық.break операторы
double x = -6;
double y = 0;
            while (x < 6)
            {
                x++;
                if (x == 0)   //х нөлге теңескен сәтте if(шарты) орындалып
                    break;    // break операторы жұмысына кіріседі
                y = x / 10;
                Console.WriteLine(x + "/10 = " + y);
            }
            Console.ReadKey();

Бұл мысалда x айнымалысының мәні нөлге теңескен сәтте break операторы орындалады да циклден шығып кетеміз, компилятор циклымыздың шарты орындалып тұр ма, жоқ па тіпті тексеріп те жатпайды.
Нәтижесінде -5-тен 5-ке дейін емес,-1-ге дейінгі сандардың 10-ға бөлінгенін тамашалай аламыз.
Әзірге осы, while туралы қысқаша негізгі тұстарын түртіп өттім деп ойлаймын.

goto, return,throw операторларының ықпалымен қалай циклдерден шығуға болатынын нақты мысалмен айтып жатқан артық болар, әйтеуір, while(шартының) бұзылғанын күтпей-ақ, циклден шығу мүмкіндіктері бар екенін білгейсіз.

Циклдер тақырыбын түсіндіріп жатқанда, continue операторын да айтып кеткен орынды.

Айтылмай кеткен, толықтыруға болатын тұстары жайлы сөз етсем сілтемесін көрсете жатармын осында.

0 пікір

Тек қана тіркелген және авторизациядан өткен қолданушылар пікір қалдыра алады.