5- зертханалық сабақ. Циклдерді басқару операторлары



бет1/3
Дата16.10.2023
өлшемі68,18 Kb.
#185852
түріСабақ
  1   2   3
Байланысты:
5- зертханалық сабақ


5- Зертханалық сабақ. Циклдерді басқару операторлары
Кей жағдайларда циклдердің орындалу реттілігін өзгертуге, соңына жетпей күшпен тоқтатуға, кейбір қадамдарынан аттап өтуге тура келеді. Мұндай жағдайларда циклдерді басқару операторлары қолданады. С# тілінде циклдерді басқарудың 3 түрлі операторы бар. Олар:

Goto шартсыз көшу операторы, программада goto операторы циклдерде және switch операторында көрсетілген операторды орындауды жүзеге асырады.
Break циклдан шығу операторы циклдің соңына жетпей циклді тоқтату және switch операторынан шығуды қамтамасыз етеді.
Continue циклдың келесі итерациясына көшу операторы. Цикл денесінің аяғына дейінгі операторларды бос жіберіп, басқаруды келесі итерацияға береді.
Циклден шығаратын break операторы. Циклдің шартын тексеруді айналып өтіп, одан бірден шығып кету үшін break операторы қолданылады. Break операторы кездескенде цикл аяқталады да, цикл сыртындағы программа бөлігі орындала бастайды. Мысал қарастырайық.
// Циклден шығу үшін break операторын қолдану
using System;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
for (int i = -10; i <= 10; i++)
{
if (i > 0) break; // i >0 болса, break операторын қолдану
Console.Write(i + " ");
}
Console.WriteLine("Cikl bitti!");
}
}
}
Программаның нәтижесі:
Бұл мысалда -10-нан 10-ға дейінгі сандарды қадамын 1-ге арттыра отырып экранға шығару циклі құрылған. Бірақ break операторын қолдану арқылы сан 0-ден үлкен болған кезде цикл тоқтап, циклдің сыртындағы "Cikl bitti!” деген мәтінді шығаратын WriteLine әдісі орындалады.
Егер break операторы бірнеше қабаттасқан циклдерде қолданылса, ол тек ең ішкі циклді аяқтайды. Мысал ретінде келесі программаны қарастырайық.
// break операторын қабаттасқан циклдерде қолдану
using System;
namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
for (int i = 0; i < 3; i++)
{
Console.WriteLine("Syrtqy cik sany: " + i);
Console.Write(" ishki cikl sany: ");
int t = 0;
while (t < 100)
{
if (t == 10) break; // егер t=10 болса, аяқтау
Console.Write(t + " "); t++;
}
Console.WriteLine();
}
Console.WriteLine("Cikl aiaqtaldy");

}
}

Программаның нәтижесі:
Бұл мысалда сыртқы цикл бойынша i 0-ден 3-ке дейін құрылып, әр циклде 1-ден 100-ге дейінгі сандарды экранға шығаратын ішкі цикл құрылған. Ал ішкі циклде break операторы қолданылып, циклдік t айнымалысының мәні 10-ға тең болғанда ішкі цикл тоқтайды. Соның нәтижесінде әр сыртқы цикл орындалғанда 1-ден 100-ге дейінгі емес 1-ден 10-ға дейінгі сандар шығады.
Continue операторын қолдану. Continue операторы программаның қалған бөлігін орындамай, циклдің келесі қадамына мәжбүрлі түрде өтуді орындайды. Циклдің қандай қадамдарын орындамай кететіні іf шартты операторы өрнегі арқылы беріледі. Шарттан кейін continue түйінді сөзі жазылып нүктелі үтір қойылады. Соның нәтижесінде шарттағы көрсетілген қадамдардан аттап өтіп, цикл денесіндегі операторлар орындалады. Келесі мысалда 3 пен 5-ке қалдықсыз бөлінетін 1-ден 30-ға дейінгі сандардың көбейтіндісін табатын программа алынды.
class Program
{
static void Main(string[] args)
{ int i, f;
f = 1;
for (i = 1; i <= 30; i++)
{
if (((i % 5) != 0) || ((i % 3) !=0)) continue; // келесі қадамға өту
f = f * i;
}
Console.WriteLine("f=" +f);
}
}
Программаның нәтижесі:
Бұл мысалда цикл бойынша 1-ден 30-ға дейін 1 қадаммен артқанымен шарт бойынша 5-ке немесе 3-ке қалдықсыз бөлінбейтін қадамдарына continue операторы қолданылып, ондай мәнге ие қадамдардан аттап өтеді. Сол арқылы циклде 3 пен 5-ке қалдықсыз бөлінетін қадамдар ғана орындалады.



Достарыңызбен бөлісу:
  1   2   3




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет