• 1.6 Dastur ijro strukturalari
  • C/C++ tilida dasturlash




    Download 1,39 Mb.
    Pdf ko'rish
    bet11/18
    Sana18.01.2024
    Hajmi1,39 Mb.
    #140543
    1   ...   7   8   9   10   11   12   13   14   ...   18
    Bog'liq
    c kurs ishii

     
     


    19 
    1.5. Mantiqiy solishtirish operatorlari 
    C++ bir necha solishtirish operatorlariga ega. Algebraik ifoda C++ dagi 
    operator C++ dagi ifoda Algebraik ma'nosi tenglik guruhi 
    “== “ x == y x tengdir y ga teng emas “!=“ x!=y x teng emas y ga 
    solishtirish guruhi 
    katta “>“ x > y x katta y dan 
    kichik “<“ x < y x kichkina y dan 
    katta-teng “>=“ x >= y x katta yoki teng y ga 
    kichik-teng “<=“ x <= y x kichik yoki teng y ga 
    ==, !=, >= va <= operatorlarni yozganda oraga bo'sh joy qo'yib ketish sintaksis 
    xatodir. Yani kompilyator dasturdagi hatoni ko'rsatib beradi va uni tuzatilishini talab 
    qiladi. Ushbu ikki belgili operatorlarning belgilarining joyini almashtirish, masalan 
    <= ni =< qilib yozish ko'p hollarda sintaksis hatolarga olib keladi. Gohida esa != ni 
    =! deb yozganda sintaksis hato vujudga ham, bu mantiqiy hato bo'ladi. Mantiqiy 
    hatolarni kompilyator topa olmaydi. Lekin ular programma ishlash mantig'ini 
    o'zgartirib yuboradi. Bu kabi hatolarni topish esa ancha mashaqqatli ishdir (! 
    operatori mantiqiy inkordir). Yana boshqa hatolardan biri tenglik operatori (==) va 
    tenglashtirish, qiymat berish operatorlarini (=) bir-biri bilan almashtirib qo'yishdir. 
    Bu ham judaayanchli oqibatlarga olib keladi, chunki ushbu hato aksariyat hollarda 
    mantiq hatolariga olib keladi.


    20 
    1.6 Dastur ijro strukturalari 
    Asosan dasturdagi ifodalar ketma-ket, navbatiga ko'ra ijro etiladi. Gohidabir 
    shart bajarilishiga ko'ra, ijro boshqa bir ifodaga o'tadi. Navbatdagi emas, dasturning 
    boshqa yerida joylashgan ifoda bajariladi. Yani sakrash yoki ijro ko'chishi vujudga 
    keladi. 60-chi yillarga kelib, dasturlardagi ko'pchilik hatolar aynan shu ijro 
    ko'chishlarining rejasiz ishlatilishidan kelib chiqishi ma'lum bo'ldi. Bunda eng katta 
    aybdor deb bu ko'shishlarni amalga oshiruvchi goto (...ga bor) ifodasi belgilandi. 
    goto dastur ijrosini deyarli istalgan yerga ko'chirib yuborishi mumkin. Bu esa 
    programmani o'qishni va uning strukturasini murakkablashtirib yuboradi. Shu 
    sababli "strukturali dasturlash" atamasi "goto ni yo'q qilish" bilan tenglashtirilardi. 
    Shuni aytib o'tish kerakki, goto kabi shartsiz sakrash amallarini bajaruvchi ifodalar 
    boshqa dasturlash tillarida ham bor. Tadqiqotlar shuni ko'rsatdiki, istalgan 
    programma goto siz yozilishi mumkin ekan. goto siz yozish uslubi strukturali 
    dasturlash deb nom oldi. Va bunday dastur yozish metodi katta iqtisodiy samara 
    beradi. Strukturali dasturlash asosi shundan iboratki, har bir programma faqatgina 
    uch hil boshqaruv strukturalaridan iboratdir.Bular ifodalarni ketma-ket ijro etish 
    strukturasi (sequence structure), tanlash strukturasi (selection structure) va amalni 
    qayta ijro etish strukturasidir (repetition structure). Ifodalarni ketma-ket ijro etish 
    strukturasi C++ tomonidan ta'minlanadi. Normal sharoitda C++ ifodalari dasturdagi 
    navbatiga ko'ra bajariladi. Tanlash buyruqlari uchtadir. Bular if, if/else va switch dir. 
    Qayta ijro etish buyruqlari gurugiga ham uchta a'zo bor, bular while, do/while va 
    for. Bularni har birini keyinroq tahlil qilib chiqamiz. Yuqoridagi buyruqlar nomlari 
    C++ dasturlash tilining mahsus so'zlaridir. Dasturchi bu so'zlarni o'zgaruvchi yoki 
    funksiyalar nomi sifatida qo'llashi ta'qiqlanadi. Quyida C++ ning ajratilgan 
    so'zlarining to'liq ro'yhati berilgan. 
    C# va C ga tegishli: 
    auto do goto signed unsigned 
    break double if sizeof void
    case else int static volatile 
    char enum long struct while 


    21 
    const extern register switch
    continue float return typedef 
    default for short union
    Faqat C++ ga qarashli: 
    asm explicit operator this virtual
    bool false private throw wchar_t
    catch friend protected true 
    class inline public try 
    const_cast mutable reinterpret_cast typeid
    delete namespace static_cast typename 
    dynamic_cast new template using 
    C++ dagi yetita boshqaruv strukturasini aytib o'tdik. Ular bittagina boshlanish 
    nuqtasiga va bittagina chiqish nuqtasiga egadirlar. Demak biz bu dastur bo'laklarini 
    ketma-ket ulab ketishimiz mumkin. Boshqaruv strukturalarining bu kabi ulanishini 
    devorning g'ishtlarini ustma-ust qalashga ham taqqoslasak bo'ladi. Yoki biz bu 
    bloklarni bir-birining ichigajoylashtirishimiz mumkin. Bu kabi qo'llashish ikkinchi 
    uslub bo'ladi. Mana shu ikki yo'l bilan bog'langan yetita blok yordamida biz istalgan 
    dasturimizni yoza olamiz. 

    Download 1,39 Mb.
    1   ...   7   8   9   10   11   12   13   14   ...   18




    Download 1,39 Mb.
    Pdf ko'rish