2 сабақ: Шарттар (if-else)

Сабақтар
Қайырлы күн!

Менің бірінші сабағым өтті(Ұнаған шығар деген үміттемін :))
Бұл сабақта Шарттар тақырыбын өткен болатынбыз.

Жазылу әдісі:

if(шарт)
{
    //шартымыз орындалса, осы жердегі операциялар іске асады
}
else
{
    //егер шарт орындалмаса, осы жердегі операциялар іске асады
}


Мысалы:
if(x > y)
{
    Console.WriteLine(x + " үлкен");
}
else
{
    Console.WriteLine(y + " үлкен");
}


Негізі біз else функциясын жазбай тек қана жалғыз if-ті қолдансақ та болады, ондай жағдайда шарт орындалмаса ештеңе жасамай өтіп кете береді.

Бұл мысалда бір шарт қана жаздық. Ал егер бірнеше шарт жазғымыз келсе else if функциясы көмекке келеді:

if(шарт-1)
{
    //1-ші шарт орындалса
}
else if(шарт-2)
{
    //2-ші шарт орындалса
}
.
.
.
else if(шарт-n)
{
    //n-ші шарт орындалса
}
else
{
    //егер шарттардың ешқайсысы орындалмаса, осы жердегі операциялар іске асады
}


Мысалы:
if(x > y)
{
    Console.WriteLine(x + " үлкен");
}
else if(y > x)
{
    Console.WriteLine(y + " үлкен");
}
else
{
    Console.WriteLine("Екеуі тең");
}


Сонымен қатар else if қолданбай да бірнеше шарт жаза аламыз, ол үшін &&(және), ||(немесе) логикалық операторларды қолданамыз

Мысалы:

if(x > y && x > z)
{
    // бұл жерде 2 шарт та орындалуы тиіс
}

if(x > y || x > z)
{
    // бұл жерде 2 шарттың біреуі орындалса жеткілікті
}

Қысқаша айта кетсек осы.
Үй жұмысы: «Условный переход» тақырыбындағы есептердің барлығын шығарып келу(жеңіл есептерді тастамай).
Іске сәт!

20 пікір

avatar
Көрнекі бейнеде және түсінікті жазылған))
Бір сұрақ: ең бірінші мысалға қатысты айтылған ба: «негізі else операторын жазбай өтіп кете берсек болады» деген сөздер?
avatar
Бұл жерде жалпы айтып кеткенім, мысалға қатысты емес, кей жағдайларда шарт орындалса орындалу керек, ал орындалмаса еш нарсе жасамау керек болған кезде else-ті қолданбай тек қана if-ті жазып кетсе болады
avatar
Осы логоны қоятыныңа күмәнданбап едім)) Керемет!
avatar
Шарт деген жақсы ғо :) Менің ежелгі Индус кодтарымның арасында мынадай шарт бар :) Ия регулярка білмесең өмір қиын
if(
        (
            fs($d, f($s, $q, 1)) !== false
            &&
            fs($d, f($s, $q-1, 1)) !== false
        )
        ||
        (
            fs($d, f($s, $q, 1)) !== false
            &&
            fs($u, f($s, $q-1, 1)) !== false
            &&
            (
                $q >= $e
                ||
                $q >= $e-1
            )
            &&
            $q-1 != 0
            &&
            fs($d, f($s, $q-2, 1)) === false
        )
    ){
	    //Келесі шарт :)
    }
avatar
fs(), f() — функциялар болып тұр ғо, $-дан басталатындар айнымалылар php тілінде, қателеспесем.
avatar
ия функция, ия php
avatar
Осындай да шарт өмірде кездеседі :)
if(true) {

}
elseif(false) {

}else {
   
}
avatar
Кім тексермей қайсы блок орындалатынын, және неге орындалатынын түсіндіре алады?
avatar
Бірінші блок пастаянны орындалу керек, егер ғайыптан тайып тру тру емес болса екінші блок орындалады, бірақ ешқашан үшінші блок орындалмайды. деп ойлаймын
avatar
Неге true орындалады, бұл жерде нені тексеріп тұр сонда?
avatar
Себебі true әрқашан тру. Ештеңені тексермейті, тек ақиқат дегенді білдіреді. Шарт былай дейді, егер ақиқат ақиқат болса (егер ақиат) яғни тру, ощм тру тру. if(1) деген сияқты ғо.
avatar
Ммм… Онда мынау индус кодтың атасы болды онда)) Түкке қажеті жоқ шарт.
avatar
Екінші блок та ешқашан орындалмайтын сияқты. Тебебі false әрқашан жалған
avatar
Иә, ешқашан орындалмайды. Компилятор қуып кетпесе)
avatar
Абылайдың айтқанына кішкене қоса кетейін,
if(айнымалы){...}
Мына өрнекпен пара-пар
if(айнымалы==true){...}
Жоғарыдағы мысалда if(true==true) деп тексеріп жатқан секілді да. Сол үшін әрқашан орындалады. if(false==true) ешқашан мүмкін емес, сондықтан if(false) ешқашан орындалмайды.
avatar
Barligina salem! Surak: Mende 3 ainimali bar misali: int x,y,z; osi ainimalilarga kezdeisok mandi kalai beruge boladi? Otinem C# -tagi kodin aniktap jazip jiberinderwi!
avatar
мысалы егер 100ге дейінгі кездейсоқ мән керек болса:

            Random random = new Random();
            int x, y, z;
            x = random.Next(100);
            y = random.Next(100);
            z = random.Next(100);
avatar
оо thanks a lot!!! Esep wikti
avatar
u're welcome)
Тек қана тіркелген және авторизациядан өткен қолданушылар пікір қалдыра алады.