Главная страница
Навигация по странице:

  • 1.2. Шартсыз өту операторы

  • 2 Зерханалық жұмыс. 2 Зерханалы жмыс С программалау тілінде шартты жне шартсыз операторлары


    Скачать 152.88 Kb.
    Название2 Зерханалы жмыс С программалау тілінде шартты жне шартсыз операторлары
    Дата12.12.2022
    Размер152.88 Kb.
    Формат файлаdocx
    Имя файла2 Зерханалық жұмыс.docx
    ТипПрограмма
    #841654

    2 Зерханалық жұмыс

    «С++ программалау тілінде шартты және шартсыз операторлары»
    Жұмыс мақсаты: Шартты оператордың және шарсыз оператордың жұмысымен танысу. Нұсқаны таңдау операторын зерттеу.Программаны құру кезінде соларды қолдануды үйрену.


    1. Теориялық мәліметтер

    1.1 if шартты операторы

    Қарастырылып отырған операторлар тобы программаның бұтақтануын ұйымдастыруға мүмкіндік береді. Жиі нәтижеге байланысты операторлар тобын іске асыру керек. С++ тілінде осы мақсатта if (егер) – else (болмаса), switch и goto операторлары қолданылады.

    Егер жақша ішіндегі шарт шын мәнді қабылдаса, онда инструкция 1 онындалады, ал егер жалған мәнді қабылдаса, онда инструкция 2 орындалады.

    Мысалы:

    if (a>b)

    z=a;

    else

    z=b;

    z=a-дан кейінгі нүктелі үтірге назар аудару керек.Бұл жерде ол міндетті түрде қойылу керек,себебі if-тан кейін үнемі нүктелі үтірмен аяқталатын инструкция жазылады. If операторында else сөзі болмауы мүмкін. Бұл кезде, егер жақша ішіндегі шарт шын мәнді қабылдаса, онда инструкция 1 орындалады, ал жалған болса, онда инструкция 1 өткізіліп жіберіледі және басқару программаның мәтіні бойынша келесі операторға беріледі. Мысалы:

    if (num>10) num=2*num;

    сout<<”num=”<
    Шығару операторы әрқашан орындалады, ал меншіктеу операторы шарт шын болған кезде ғана орындалады.

    Салыстыру операциялары 1 кестеде берілген
    1 кесте

    Операция

    Мағынасы

    <

    Кіші

    <=

    Кіші немесе тең

    = =

    Тең

    >=

    Үлкен немесе тең

    >

    Үлкен

    !=

    Тең емес


    Меншіктеу операторымен «=» қатынас операциясынан «==» шатастырмау керек.

    Қарапайым программаны қарап көрейік.

    #include

    int main( )

    {

    int a,b;

    cout<<“a= мәнін енгізіңіз”;

    cin>>a;

    cout<<“b= мәнін енгізіңіз ”;

    cin>>b;

    if (a>b) cout<<“a үлкен b”;

    else cout<<“ a кіші немесе тең b”; /* if – else операторының демонстрациясы*/

    if (a==b) cout<<“ a равно b ”; /* if оператордың else сөзісіз демонстрациясы*/

    return 0;

    }

    Егер программа орындалуы үшін 5 және 3 сандарын енгізсек, онда экранға а үлкен b деген қатар шығады.

    5 және 5 сандарын енгізсек, экранға мынадай екі қатар шығады:

    a кіші немесе тең b

    a тең b

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

    Мысалы

    if (n>0)

    if (a>b)

    z=a;

    else

    z=b;

    else ішкі if-ке қатысты,бұл шегіністермен көрсетілген.Егер басқа интерпретация қажет болса,онда фигуралық жақшаларды дұрыс қою керек:

    if (n>0)

    {

    if (a>b)

    z=a;

    }

    else

    z=b;

    Бұл мысалда else ішкі if-ке қатысты.

    Құрамында if және else көп болатын күрделі конструкцияларда қабаттасқан if-терді фигуралық жақшаларға алу керек.

    if – else қабаттасқан конструкцияларының орнына шартты тексеру үшін күрделі өрнектерді қолдануға болады. Күрделі өрнектер бірнеше жай қатынастарды логикалық операциялардың көмегімен біріктіру жолымен алынады.С++ тілінде 3 логикалық операция бар,олар 2 кестеде көрсетілген:
    2 кесте

    Операция

    Мағынасы

    &&

    Және

    ||

    Немесе

    !

    емес


    ! операциясының артықшылығы көбейтуден жоғары және тек жай жақшалардың ғана артықшылығы одан жоғары болып табылады. && операциясының артықшылығы || операциясының артықшылығынан жоғары және екеуінің де артықшылығы қатынас операциясының артықшылығынан әлде қайда төмен.

    a>b&&b>c||b>d

    былай интерпретацияланады:

    ((a>b)&&(b>c))||(b>d),

    яғни b a мен c-ның аралығында жатады немесе b d-дан үлкен.

    Мысал:


    int main ( )

    { float x, y;

    cin>> x;

    if (x > 0)

    y = x*x + 1;

    else

    y = x + 4;

    cout<<”x=”<
    return 0;

    }

    1.2. Шартсыз өту операторы

    Оны келесі түрде жариялауға болады.

    goto белгі;

    Белгі – бұл кез - келген идентификатор.

    Мысалы:

    goto a2;

    goto операторы одан кейін жазылған инструкциядан бастап программаның жалғасуы керектігін көрсетеді.Программада міндетті түрде белгісі,одан кейін қойылған қос нүкте және өткел орындалуы тиіс инструкциясы бар жол болуы керек.

    Мысалы:

    a2: k=5;

    Программада белгілерді қарастыру қажет емес. С++ тілінде шартсыз көшу операторын қолдану міндетті емес,себебі ол программаның құрылымдық түрін құртады.

    1.3. switch таңдау операторы

    Switch операторы бірнеше баламалардың ішінен біреуін таңдауға мүмкіндік береді. Және ол келесі түрде жазылады:

    switch (өрнек)

    {case константа1: вариант 1; break;

    . . .

    case константа n: вариант n; break;

    default: вариант : break;}

    2-суретте сәйкес иллюстрация көрсетілген:

    Switch операторында бүтін өрнек жақша ішінде есептелінеді (оны селектор деп атайды), және оның мәні барлық константалармен салыстырылады.Сәйкестік болған жағдайда керекті нұсқа орындалады (бір немесе бірнеше инструкциялар ).Оператордың жазылуындағы барлық константалар әртүрлі болуы қажет. default (басқалар) өзекті сөзі бар нұсқа басқа бірде-бірі сәйкес келмегенде орындалады (Егер default сөзі болмаса және салыстыру нәтижелері теріс болса,онда бірде-бір нұсқа орындалмайды).Қандай да бір нұсқаның таңдалуынан кейін келесі тексерулерді тоқтату үшін switch операторынан шығуды қамтамасыз ететін break операторы қолданылады.

    Мысалы:

    #include

    int main( )

    {

    char y;

    cin>>y;

    switch(y)

    {

    case ‘1’: cout<<“1 бұтақ”<<’\n’; break;

    case ‘2’: cout<<“1 бұтақ”<<’\n’; break;

    case ‘3’: cout<<“1 бұтақ”<<’\n’; break;

    default:

    cout<<“1,2,3 бұтақтары жұмыс істемейді”<<’\n’;break;

    }

    return 0;

    }

    Cin оперторы у айнымалысын енгізеді. Оның мәні switch операторында case операторының барлық константаларымен салыстырылады. Егер ‘1’ символын берсек, экран бетіне мына қатар шығады:

    1 бұтақ

    Break операторы бойынша switch ауыстырып қосқышынан шығу орындалады және программа өзінің жұмысын тоқтатады.Егер ‘2’ немесе ‘3’ символдарын енгізсек, онда экран бетіне мына қатар шығады :

    2 бұтақ

    немесе

    3 бұтақ

    Басқа кезкелген символды енгізгенде басқару default өзекті сөзіне көшеді және экранда мына жол пайда болады:

    1,2,3 бұтақтары жұмыс істемейді.

    2. Тапсырма

    2.1. 3 кестеден вариант бойынша тапсырманы алып, шартты операторды қолданып программа жазу.

    2.2. 4 кестеден вариант бойынша тапсырманы алып, таңдау операторды қолданып программа жазу.4-бұтақты таңдау үшін default өзекті сөзі бар нұсқаны қолдану керек.
    3 кесте

    Вариант

    Мазмұны


    Мәндері





    a=2

    b=1,5

    c=1

    d=3

    e=0,5





    c=-2

    a=1,5

    d=2

    x=3





    a=5

    b=1,2

    y= 0,6





    d=2

    a=3,5

    x=3

    i=2,3





    =1

    x=2,5

    a=4

    b=0,4





    a=0,5

    b=2

    h=4

    R=1,4





    p=0,6

    l=2

    h=5

    R=4





    x=0,63

    c=1,5

    d=2

    a=0,37





    y=2,6

    x=1,6

    a=0,4





    a=1,5

    b=2

    x=0,5





    x=0,5

    a=4,3

    y=2,6

    d=0,3





    a=3

    y=2,7

    i=2

    x=1





    x=0,73

    y=0,4

    t=2,6





    a=2

    x=0,54

    c=2,3

    b=1,8

    R=3





    x=0,4

    a=0,88

    c=3,6





    a= -1

    b=0,8

    x=1

    c= -0,7





    x=2

    y=3,5

    a=0,1

    b=4





    x=0,8

    y=0,2

    a=4

    b=5

    t=1





    y=2

    a=0,5

    x=1,8

    b=0,6





    x=1,8

    y=2

    t=4

    a=1,5

    R=4,6

    b=0,3


    4 кесте

    Вариант №

    Мазмұны

    Мәндері

    1





    2





    3






    4





    5





    6






    7





    8






    9







    10






    11





    12





    13





    14





    15





    16





    17






    18





    19





    20






    написать администратору сайта