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



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

Goto операторы шартсыз көшу қадамын орындайды. Программада goto операторы кездессе, келесі болып осы оператор көрсететін жол орындалады. Оны бұл күндері программалауда пайдаланбауға тырысады. Дегенмен, кей кездерді ол if операторымен бірге тиімді код құрастыруға мүмкіндік береді. Goto шартсыз өту операторының форматы:
goto белгі;
белгі: оператор;
Goto операторының орындалуы үшін белгіқоснүктемен аяқталатын идентификатор қажет. Белгі goto операторынан кейін көрсетіледі және келесі орындалатын жол алдында тұруы керек.
Келесі берілген мысалда 1-ден 20-ға дейінгі сандарды қосқанда қай санға келгенде қосынды 50-ге тең немесe 50-ден үлкен санға жететінін, және сол санға дейінгі қосындының қанша болатынын goto операторы арқылы табылған.
class Program
{
static void Main(string[] args)
{
int x = 1, s = 0;
while (s <= 50)
{
s = s+x;
if (x < 20) goto a;
a: x++ ; }
Console.WriteLine("x={0} bolganda kosyndy 50-ge ten nemese 50-den ulken sanga jetedi", x);
Console.WriteLine("Jane bul {0}-ge deingi sandardyn kosyndys {1} shygady.",x,s);
}
}

Программаның нәтижесі:



Бұл мысалда While циклы х айнымалысының мәні 1-ден бастап қосындысы 50-ге тең болғанша жалғасады. Goto операторы бойынша циклдің қадамы анықталады. Бұл жерде циклдің тоқтауы екі шарттың бірі қанағатанбағанда орындалады. Бірінші қосынды s айнымалысының мәні 50-ге жеткенде, не болмаса х айнымалысының мәні 20-ға жеткенде циклдің қадамы ары қарай артпайды. Бұл мысалда s айнымалысының мәні 50-ден асқанда цикл тоқтады. Оған дейін циклдің қадамы Goto операторы арқылы артып отырды.
Бұған қоса, goto операторы switch операторының case немесе default тармағына көшу үшін де қолданылуы мүмкін. Switch операторындағы case және default сөздері оның ішкі белгілер ретінде қолданылады. Бірақ ондағы goto операторы сол switch операторының ішінде тұруы тиіс. Бұл сырттан switch операторының ішіне кіруге мүмкіндік бермейді.
Келесі роботты басқару программасында goto операторын switch операторында қолдануды жүзеге асырады.
using System;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int i;
Console.Write("Robot turgan nukte: ");
i = int.Parse(Console.ReadLine());

{
switch (i)


{
case 1:
Console.Write("aldyga juriniz-"); goto case 2;
case 2:
Console.Write("solga juriniz-"); goto case 3;
case 3:
Console.Write("artga juriniz-"); goto case 4;
case 4:
Console.Write("onga juriniz-"); goto case 5;
case 5 :
Console.Write("toqtanyz."); break;
default:
Console.Write("oryn anyqtalmady"); break;
}
Console.WriteLine();
}
}
}

}


Программаның нәтижесі:



Бұл мысалда goto операторын switch операторындағы case тармақтарына көшіп отыру үшін қолданылған. Робот жолының 4 бағытына келесі бағыттарға өту үшін goto операторы қолданылып, switch операторының келесі тармақтарына көшіп отырған. Мұнда break операторы case 5 және default тармағында ғана қолданылған, қалған бөліктеріне goto операторы қолданылады. Соның нәтижесінде сіз роботтың орнын 1- орында тұр десеңіз, робот сағат тілінің бағыты бойынша төртбұрышты бір айналып 1-нүктеге келеді. 2- нүктеде десеңіз солға-артқа, оңға қарай жүру бағытына көшу арқылы қалған 3 нүктені жүріп өтеді.


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




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

    Басты бет