"Dasturlash I" fanidan yakuniy nazorat savollari


Download 372.68 Kb.
bet1/4
Sana05.06.2020
Hajmi372.68 Kb.
#114940
  1   2   3   4
Bog'liq
Dasturlash I fanidan yakuniy nazorat savollari


“Dasturlash I” fanidan yakuniy nazorat savollari


  1. Kompyuter haqida asosiy tushunchalar (hardware, software).Protsessor (CPU).

Kompyuter – ma’lumotlarni saqlovchi va qayta ishlovchi elektron qurilma.Kompyuter apparat (hardware) va dasturiy (software) ta’minotlardan tashkil topgan.Apparat ta’minotini kompyuterning fizik elementlari tashkil qilsa, dasturiy ta’minotini fizik elementlar faoliyatini amalga oshiruvchi va topshiriqlarning bajarilishini nazorat qiluvchi dasturlar to`plami tashkil etadi. Kompyuterning markaziy protsessor bloki (CPU) uning bosh miyasi hisoblanadi, xotiradan yuborilgan masalalar unda bajariladi.

  1. Ichki va tashqi xotira qurilmalari(RAM, saqlash qurilmalari).Bitlar va baytlar.

Dastur xotirada yaxshi yozilishi va xotiradagi ma’lumotlar bilan yaxshi ishlashi uchun kompyuter xotirasida baytlar tartiblangan ketma-ketliklarda joylashtiriladi. Xotirani kompyuterning dasturni ishga tushirishi uchun ishchi maydon sifatida qarash mumkin. Bitta bayt xotirada o`zining unikal (yagona, alohida) manziliga ega. Manzillar ma’lumotlarni yozish va qaytarish uchun baytlarni bog`lashda ishlatiladi. Shu o`rinda baytlar xotirada ixtiyoriy tartib raqamni egallashi mumkin, o`z navbatida xotira ham turli tartibli xotira (Random Access Memory, RAM) ko`rinishida namoyon bo`ladi. Kompyuter xotirasi ishlatilayotgn ma’lumotlarni vaqtinchalik ular saqlangan joydan oladi va tizim ishi tugatilganda u xotiradan o`chirib yuboriladi. Dasturlar va ma’lumotlar saqlash qurilmalarida doimiy saqlanadi va kompyuter ulardan foydalanishni faollashtirganda saqlash qurilmalariga qaraganda tezroq ishlovchi xotira qurilmasiga vaqtincha ko`chiriladi.Saqlash qurilmalarining uchta asosiy turlari mavjud: disk qurilmalari,optic disk qurilmalari (CD va DVD),USB xotira qurilmalariюQattiq disklar ma’lumotlar va dasturlarni doimiy saqlash uchun ishlatiladi.CD qurilmalarining ikki turi mavjud: CD-R va CD-RW. CD-R lar faqat ma’lumotni yozish uchun ishlatiladi. Unda bir marta yozilgan ma’lumotni o`zgartirish, o`chirish yoki unga qaytadan ma’lumot yozish imkonsiz. CD-RW dan qattiq disk kabi foydalanish mumkin, ya’ni unga yozilgan ma’lumotni o`zgartirish yoki unga qaytadan ma’lumot yozish mumkin bo`ladi.DVD – (Digital Versatile Disc) raqamli ko`pmuhitli disk yoki (Digital Video Disk) raqamli video disk ma’nolarida keladi. CD va DVD o`zaro juda o`xshash bo`lib, har ikkalasidan ham ma’lumot saqlashda foydalaniladi. DVD CDga qaraganda ko`proq ma’lumot saqlay oladi. USB (Universal Serial Bus – universal seriyali tashish) bog`lovchilari turli xildagi periferiya qurilmalarini kompyuterga bog`lash imkonini beradi. USBli bog`lash orqali printer, raqamli kamera, sichqoncha, tashqi qattiq disk kabi qurilmalarni kompyuterga ulash mumkin.Kompyuterda yoziladigan eng kichik bo`lak – bayt deb ataladi. Bir bayt 8 bitdan iborat. Mayda raqamlar, masalan 3 raqami kompyuterda bir bayt bo`lib yoziladi. Lekin kompyuterda faqat bitta bayt bilan ma’lumot yozilmaydi, balki, bir vaqtda bir nechta baytlar bilan ishlaydi. Raqamlar va belgilar kabi turli xildagi ma’lumot turlari baytlar seriyasi ko`rinishida shifrlanadi.

3.Dasturlash tillari(mashina tili, assembler tili, yuqori darajali tillar).

Yuqori darajali tillar. 1950-yilga kelib yuqori darajali tillar nomi bilan nom qozongan dasturlash tillari yaratildi. Ular dastur yozish uchun mustaqil muhitga ega bo`lib, ularda turlicha toifadagi mashinalar uchun dastur yozish imkoniyati mavjud bo`lgan. Dasturlash tillari ingliz tili asosida ishlab chiqilgan bo`lib, o`rganishga va foydalanishga qulay hisoblanadi.Yuqori darajali dasturlash tillarida yozilgan dastur dastur kodi deb yuritiladi. Chunki, dastur kodini kompyuter to`g`ridan-tog`ri ishlata olmaydi. Buning uchun dastur kodi mashina kodiga o`girilishi lozim. Dastur kodining o`girilishi boshqa bir dasturiy vosita yordamida amalga oshirilishi mumkin. Bunday dasturiy vosita interpretator yoki kompilyator deb ataladi.

Mashina tili.Hozirgi kunda kompyuterlarning juda ko`p turlari mavjud, ammo, ular yagona tilni tushunishadi – mashina tilini. Mashina tili dasturlash tillariga qaraganda soddalashtirilgan ko`rsatmalardan iborat bo`ladi. Ya’ni undagi barcha ko`rsatmalar ikkilik kodda yoziladi. Misol uchun, agar kompyuterga ikkita sonni kiritmoqchi bo`lsak, unga quyidagicha ikkilik kodni yozish lozim bo`ladi:

1101101010011010

Yuqori bosqichli programmalashda, mashina tillariga qaraganda mashinaga moslashgan (yo‘naltirilgan) belgili kodlardagi tillar hisoblanadi. Belgilar kodlashtirilgan tillarning asosiy tamoyillari shundaki, unda mashina kodlari ularga mos belgilar bilan belgilanadi, hamda xotirani avtomatik taqsimlash va xatolarni tashhis qilish kiritilgan. Bunday mashina moslashgan til - ASSEMBLER tili nomini oldi.EHM faqat mashina tilini-buyruqlar, operand va sonlarning ikkilik sanoq, sistemasidagi ko‘rinishini «tushinadi». Shu sababliAssembler tilida yozilgan programmalar uchun ularni mashina tiliga o‘tkazuvchi «tarjimon» kerak bo‘ladi.
Assembler tilidagi programmani mashina tiliga o‘tkazuvchi maxsus programma translyator deyiladi, ayrim hollarda uni Assembler deb ham atashadi.


  1. C++ tarixi(BCPL, B, C, C++).

C, C++, Java va C# o`zaro bog`liq tillar. C++ C dan olingan. Java C++ dan keyin ishlab chiqilgan. C# C++ ning ichki tizimini o`zlashtirgan holda, Javaning ba’zi imkoniyatlarini o`zida mujassamlashtirgan. Agar mazkur tillarning bittasi o`rganilsa, qolganlarini o`rganish qiyin bo`lmaydi.

C BCPL (Basic Combined Programming Language – Asosiy kombinatsiyalanuvchi dasturlash tili) asosida ishlab chiqilgan B tilida yaratilgan.C++ 1983-1985-yillar davomida “Bell Laboratories”da Bjarne Stroustrup tomonidan kengaytirilgan C ko`rinishida ishlab chiqilgan. Bunda C++ning eng muhim jixati shundan iboratki, u ob’yektga yo`naltirilgan dasturlashda sinf (class)lardan foydalanish imkonini beradi. Ob’yektga yo`naltirilgan dasturlash orqali dastur tuzish, uni qayta qo`llash va rivojlantirish mumkin. C++ C dasturlash tili bilan mustaxkam bog`liqlikda tuzilgan. C dastur kodini C++ kompilyatorida ham to`g`ridan-to`g`ri mashina tiliga o`girish mumkin. C++ dasturlash tilini o`rgangan dasturchi C tilini ham yaxshi tushuna oladi.



  1. C++ da eng sodda dastur (konsol, konsoldan kiritish, konsolga chiqarish, main funksiyasi, izohlar).

C++ da eng sodda dasturlar bu konsolga biror bir matnni chiqaruvchi dasturlar hisoblanadi.Konsol bu eski termin hisoblanib malumotlarni korsatuvchi oynadir.cin obyekti konsoldan kiritish uchun ishlatiladi.Konsolga chiqarish uchun esa cout obyektidan foydalaniladi.Hamma bajariladigan amallarimiz main funksiyasi ichida bajariladi.Izohlar bir satrli yoki ko`p satrli izohlarga bo`linadi. Bir satrli izohlarni // operatoridan so`ng yoziladi .Ko`p satrli izoh yozish uchun /* izoh */ shu operatordan foydalanamiz.

  1. Sintaktik xatoliklar(sintaksis xatolik, kompilyatsion xatolik).

Kompilyator tomonidan aniqlangan xatoliklar sintaksis xatoliklar yoki kompilyatsiya xatoliklari deyiladi. Sintaksis xatolik dastur kodini mashina kodiga kompilyatsiya qilish jarayonida kompilyator tomonidan aniqlanadi

  1. Dastur bajarilish vaqtidagi va mantiqiy xatoliklar(runtime error, logic error).

Bajarilishdagi xatolik dastur dasturlash va hisoblash qoidalariga nomutanosib ravishda tuzilganda sodir bo`ladi. Bunda, masala bajarilishi uchun kiritilgan qiymatlar turi natijaviy qiymat turiga mos kelmay qoladi va odatda, dasturning natijani chiqarish vaqtida bajarilish (Runtime)dagi xatolik yuz beradi.

Mantiqiy xatoliklar. Dasturda mantiqiyxatoliklar kutilgan natija olinmaganda sodir bo‘ladi.



Bajarilishdagi xatoliklar. Bajarilishdagi xatolik dastur dasturlash va hisoblash qoidalariga nomutanosib ravishda tuzilganda sodir bo‘ladi.

  1. Sodda dastur yozish (masalaning qo‘yilishi, algoritm, psevdokod). Klaviaturadan o‘qish (kiritish, foydalanuvchini undash).

Dastur yozish mos algoritmni loyihalash va uni dastur buyruqlari yoki kodlariga o`tkazishni talab etadi. Algoritm dastur tarkibidagi ko`rsatmalarning qanday harakatlanishi va bajarilish tartiblarini belgilash orqali masalani yechishni tavsiflaydi. Algoritm dasturchiga dasturlash tilida dastur yozishdan oldin uni rejalashtirishda yordam beradi. Algoritmlar tabiiy tilda yoki psevdokodlar (tabiiy tilning ba’zi dasturlash kodlari bilan kombinatsiyalangan ko`rinishi) orqali tasvirlanadi.Klaviaturadan ma’lumot kiritish vositasida dastur foydalanuvchisidan ma’lumot qabul qilib olinadi. Biz dasturga ma`lumotni klaviaturadan kiritish uchun cin obyektidan foydalanamiz. Foydalanuvchini ma`lumot kiritishga undash uchun (cout<<”Malumotni kiriting:”<

  1. Identifikatorlar(nomlash, nomlash qoidalari).O’zgaruvchilar(o‘zgaruvchini e’lon qilish, birdan ortiq so‘zlarni bog‘lab nomlash).

Identifikatorlar(Ismlar) – dasturning o`zgaruvchilar, funksiyalar va shu kabi bosha elementlarning nomlaridir.Barcha ismlar quyidagi qoidalarga binoan tuzilishi kerak.Ism – bu harflar, raqamlar va tag chiziq belgilarining ketma-ketligidir,ism harf yoki tag chiziq bilan boshlanishi mumkin, raqam bilan boshlanishi mumkin emas,ism maxsus vazifali so`z bo`lishi mumkin emas (C++ tilining maxsus vazifali so`zlar ro`yxati ilovada keltirilgan),ismlar ixtiyoriy uzunlikda bo`lishi mumkin; C++ kompilyator ularni dastlabki 31 tagacha belgi bilan farqlaydi.Dasturda o`zgaruvchan qiymatlarni tavsiflash uchun o`zgaruvchi tushunchasi shakllantiriladi. O`zgaruvchilar belgilangan tur bo`yicha qayta-qayta qiymatlar berish uchun qo`llaniladi. O`zgaruvchidan foydalanish uchun dasturga kiritilishi mumkin bo`lgan mos ma’lumot turi bo`yicha o`zgaruvchiga berilgan nom orqali kompilyator chaqiriladi. O`zgaruvchini e’lon qilishda - o`zgaruvchi unga belgilangan ma’lumot turiga mos miqdorda xotiradan joy olishi uchun kompilyator chaqiriladi.O`zgaruvchilarning nomlari birdan ortiq so`zlar bilan ifodalayotkan bo`lsa bu so`zlarni bog`lab nomlanadi.Agar bu nomlar bog`lab yozilmasa dastur kompilyatsion hatolik beradi.Chunki dastur bu nomlarni bir nechta o`zgaruvchi deb qaraydi. Odatda o`zgaruvchilar kichik harflar bilan beriladi. Agar o`zgaruvchilar bir nechta so`zlardan iborat bo`lsa, unda oraliq so`zlarning bosh harflari bosh harflarda beriladi. Masalan, radius va foydaMiqdori o`zgaruvchilari.

  1. Ta’minlash operatorlari va ta’minlash ifodalari(ta’minlash operatori, ifoda, ta’minlash qoidalari).Nomlangan konstantalar(o‘zgarmas, const kalit so‘zi, o‘zgarmaslarning afzalliklari).

С++ muhitida ta`minlash operatori sifatida ikkita tenglik belgisi ya`ni (==) belgisi ishlatiladi.Misol tariqasida a o`zgaruvchini b ga ta`minlamoqchi bo`lsak a==b ko`rinishida ta`minlaymiz. Taqqoslash jarayonida ikki tomonning tengligini tekshirish uchun ikkita tenglik belgisi (==)dan foydalanish zarur.

Nomli o`zgarmas (Named Constant) – o`zgarmas qiymatni ta’minlovchi identifikatordir. O`zgarmasni e’lon qilish tartibi quyidagicha:const [ma’lumot turi] [o`zgarmas nomi] = [qiymat]; O`zgarmas yagona ko`rsatma orqali e’lon qilinishi va yuklanishi lozim. const so`zi C++ ning kalit so`zi bo`lib, o`zgarmaslarni e’lon qilish uchun ishlatiladi Odatda o`zgarmaslar katta harflar bilan nomlanadi: Pi yoki pi emas.O`zgarmaslardan foydlanishning uchta afzallik tomoni bor: 1) dasturda bitta qiymat hadeb qaytadan yozilavermaydi; 2) Agar o`zgarmasning qiymatini o`zgartirmoqchi bo`lsangiz, uni dastur kodiga murojaat orqali amalga oshirish mumkin bo`ladi; 3) O`zgarmasni tavsiflovchi so`zlar dastur tomonidan qiymatni oson ta’minlanishi va o`qilishiga zamin yaratadi.



  1. Sonli ma’lumotlar turlari va ular ustida amallar(int, float, double).

Har bir ma’lumot turi qiymatlar sohasiga ega. Kompilyator har o`zgaruvchi va o`zgarmasga uning turiga qarab xotiradan joy ajratadi. C++ odatiy qoidalariga ko`ra raqamli qiymatlar, belgilar va mantiqiy qiymatlar bilan ishlaydi.C++ butun qiymatlarning 3ta turini qo`llaydi: short, int va long. Har bir butun tur ikki xil xususiyat bilan keladi: ishorali va ishorasiz. Butun qiymatli sonlarning yarmini manfiy ishorali, qolgan yarmini esa nomanfiy (musbat) ishorali sonlar tashkil etadi. Ishorasiz berilgan intlarning barchasi musbat ko`rinishda kiritiladi. C++ haqiqiy sonlarning uch turi bilan ishlaydi: float, double, va longdouble. double turi odatda float turidan ikki marta katta bo`ladi. Shuningdek, double ikkilik aniqlikda, float esa bir birlik aniqlikda hisoblanadi.Sonli ma`lumotlar ustida+, -, *, /, % shu amallarni bajarish mumkin.Bulardan tashqari ildiz,kvadratga oshirish ,log ifodalarni,trigonametrik ifodalarni qo`llash mumkin.

  1. Sonli literallar. Arifmetik amallarni bajaruvchi operatorlar(literallar,operatorlar, operandlar, butun bo‘lish, qoldiqli bo‘lish).

Raqamli literallar dastur qismlarida o`zgarmas qiymat sifatida keladi.Quyidagi ko`rsatmada 34 va 0.305 lar literallar:

inti = 34;doublefootToMeters = 0.305; Odatda butun turli literallar o`nli butun son ko`rinishda ifodalanadi. Sakkizlik butun literaldan foydalanish uchun 0 (nol)dan oldin yoziladi. Oltilik o`lchamdagi butun literalni yozish uchun esa 0x yoki 0X ifodalari qo`llaniladi. Haqiqiy turli literallar shakl ko‘rinishidagi ilmiy ifodalar yordamida yozilishi mumkin. Misol uchun, 123.456 uchun va 0.0123456 uchun shakllari o‘rinlidir. Buni dasturlash tillarida 1.23456E-[-2] kabi yozilishini dastur qiymat (natija) chiqarganda ko‘rish mumkin. Bu yerda E (yoki e) lar – eksponenta belgisi bo‘lib, katta yoki kichik harflarda yozilishi mumkin.Raqamli ma’lumot turlari uchun standart operatorlar tayinlangan: qo`shish (+), ayirish (-), ko`paytirish (*), bo`lish (/) va foiz(%).Qo`shish ikkita raqamli ma`lumot turini qo`shadi,ayirish ikkita ma`lumot tuini ayiradi,ko`paytirish ikkita ma`lumot turini ko`paytiradi,bo`lish ikkita raqamli ma`lumot turini bo`ladi,foiz ikkita raqamli ma`lumot turini bo`lib qoldiqni hisoblaydi.INT turida bo`lish amalini bajarilganda natija albatta butun turda chiqadi.O`nli kasr ko`rinishida qiymat olish uchun haqiqiy turdan foydalanish tafsiya etiladi . % operatori qoldiqni hisoblash operatori sifatida tanilgan va faqat butun turlar uchun ishlaydi. Unda sonning butun qismidan keying (ya’ni verguldan keyingi) qoldiq qismi olinadi.

  1. Darajaga ko‘tarish amallari(pow(a,b)).Arifmetik ifodalarda amallarning bajarilish tartibi(operator precedence rule (+,-,*,/,% amallari misolida)).

ni hisoblash uchun pow (a, b) funksiyasidan foydalaniladi. Pow ni cmath (yoki math.h) kutubxonasi darajaga ko‘tarish funksiyasi sifatida aniqlaydi. ko‘rinishidagi darajaga ko‘tarish funksiyasi orqali ifodani pow (2.0, 3) deb yoziladi. Bu yerda a va b lar pow funksiyasining parametrlari, 2.0 va 3 lar esa, pow funksiyasini qo‘llash uchun qiymatlar. Qavs ichidagi sonlar oralig‘idagi operator birinchi hisoblanadi. Qavslar ichma-ich bo‘lishi mumkin. Bunda eng ichki qavlardagi operatorlar birinchi bajariladi. Agar ifodada bir neha xil operatorlar bo‘lsa, ular quyidagicha qoidalarga asosan bajariladi.Qavslardan keyin ko‘paytirish, bo‘lish va qoldiqni hisoblash operatorlari ishlaydi. Agar ifodada bir nechta ko‘paytirish, bo‘lish va qoldiqni hisoblash operatorlari mavjud bo‘lsa, u holda ular chapdan – o‘ngga qoidasi bo‘yicha bajariladi.Qo‘shish va ayirish operatorlari oxirida bajariladi. Agar ifodada bir nechta qo‘shish va ayirish operatorlari bo‘lsa, ular ham chapdan – o‘ngga qoidasi bo‘yicha bajariladi.

  1. Inkrement va decrement operatorlari(++, --, postincrement, preincrement).Sonli ma’lumot turlarini o‘girish(raqamli turni o‘girish, static_cast operatori).

Inkrement (++) va dekrement (– –) operatorlari o‘zgaruvchini birlikka oshirish yoki kamaytirish uchun ishlatiladi. i++ operatori “i plyus plyus” deb, i—-operatori esa “i minus minus” - deb o‘qiladi. Bu operatorlar postfiks inkrement (postinkrement) va postfiks dekrement (postdekrement) nomlari bilan tanilgan. Chunki bunda operatorlar o‘zgaruvchidan keyin keladi. ++ii ni bittaga oshiradi, --jj ni bittaga kamaytiradi. Bu operatorlar prefiks inkrement (preinkrement) va prefiks dekrement (predekrement) deb nomlanadi.Ko‘rib turganimizdek, i++ va ++i yoki i-- va --i operatorlari bir xil vazifalarni bajarisadi. Ammo biz ulardan hisoblash jarayonidan foydalanganimizda ularning effektlar turlicha bo‘ladi.

Haqiqiy turli sonlar butun turga ochiq taqsimlash orqali o‘tkaziladi. C++ bir turdagi sonli qiymatni taqsimlash operatori (casting operator)dan foydalangan holda boshqa turdagi sonli qiymatga o`ztkazishga ruxsat beradi.Uning qo`llanilish qoidasi quyidagicha: static_cast(qiymat)

Bu yerda qiymat o`zgaruvchi, tur biz o`tkazmoqchi bo`lgan sonli tur.

Kichik hajmdagi turni kattaroq hajmdagisiga o`tkazish turni kengaytirish deb ataladi. Kattaroq hajmdagi turni kichik hajmdagisiga o`tkazish turni toraytirish deb ataladi. Turni toraytirish (masalan double dan int ga o`tkazish) aniqlikni kamaytirishi mumkin. Axborot qismining zararlanishi esa sifatsiz natija beradi. static_castdan foydalanib turni toraytirganingizda kompilyator sizni ogohlantiradi.



  1. Dasturni ishlab chiqishda talablarni aniqlash, tizimli tahlil va loyihalash bosqichlari(requirements specification, system analysis, system design).

Dasturiy ta’minotni ishlab chiqish jarayonining hayot sikli qo`yilgan talablar, tahlil qilish, loyihalash, amalda qo`llash, testlash, tayyorlash va tuzatishni qamranoluvchi ko`p bosqichli jarayon. . Dasturdagi xatoliklarni tuzatish yoki uning vazifalariga o`zgartirishlar kiritish uchun dasturiy ta’minotni ishlab chiqish jarayoni hayot siklining ixtiyoriy bosqichida orqaga – bitta avvalgi bosqichga qaytish imkoniyati mavjud.

Qo`yilgan talab bosqichi – dasturning aynan qanday vazifalarni bajarishi lozimligini ko`rsatuvchi hujjatlar asosida o`rganishga harakat qilinuvchi rasmiy jarayon. Tizimli tahlil ma’lumotlar oqimini tahlil qilishga va tizimning chiqish va kirish ma’lumotlarini aniqlash uchun qo`llaniladi. Amalda qo`llash deganda, tizim dizaynini dasturga o`girish tushuniladi. Har xil dasturlar ma’lum bir ichki komponenta uchun tuziladi va ular birgalikda ishlashlari uchun birlashtiriladi.

Testlash koddagi talab etilgan qoidalarni ko`rib chiqadi va chiqishdagi xatoliklarni yo`qotadi. Tayyorlash jarayoni dasturni foydalanishga tayyorgarligini ishlab chiqadi. Dasturni turini tayyorlash foydalanuvchi mashinasi yoki internetdagi server tizimga bog`liq bo`ladi. Tayyorlash jarayoni dasturni foydalanishga tayyorgarligini ishlab chiqadi. Dasturni turini tayyorlash foydalanuvchi mashinasi yoki internetdagi server tizimga bog`liq bo`ladi.

Tuzatish jarayoni dastur va uning bazasini yangilash va unga o`zgartirishlar kiritish bilan bog`liq. Dasturiy mahsulot doimiy ravishda shakllanib va o`sib borishi zarur. Bunday davriy yangilanish talablari dasturni yangicha muammolar va yangicha imkoniyatlarga yetaklaydi.


Download 372.68 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling