O‘zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi mirzo Ulug‘bek nomidagi O‘zbekiston milliy universiteti Jizzax filiali Informatika va axborot texnalogiyalari 103-19 gurux talabasi Jo’raboyev Haydarning mustaqil ishi



Yüklə 0,6 Mb.
səhifə1/4
tarix06.02.2022
ölçüsü0,6 Mb.
#52163
  1   2   3   4
Tizmli dasturlashdan mustaqil ishim


O‘ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS

TA’LIM VAZIRLIGI

Mirzo Ulug‘bek nomidagi O‘zbekiston milliy universiteti Jizzax

filiali

Informatika va axborot texnalogiyalari 103-19 gurux talabasi

Jo’raboyev Haydarning

MUSTAQIL ISHI

Fan: Tizmli dasturlash

Tekshirdi: Jomurodov D

Jizzax-2021



Mavzu: Formal til grammatikasi. Leksik va sintaksis tahlil. Dasturning mashinaga bog`liq va bog`liq bo`lmagan optimizatsiyasi.

Reja:


1.Dasturlarni ichki tasvirlash usullari.

2. Assembler kodi va mashina komandalari.

3. Postfiks yozuv.

4.Semantik taxlil bosqichlari.



5. Amaliy yechish uchun masalalar

Kirish

Hisob-kitoblar hajmining oshishi bilan birinchi hisoblash portativ vositasi - "Hisob-kitoblar" paydo bo'ldi. 17-asrning boshlarida murakkab hisob-kitoblarga ehtiyoj paydo bo'ldi. katta miqdordagi hisob-kitoblarni yuqori aniqlik bilan amalga oshirishga qodir hisob-kitob moslamalari. 1642 yilda frantsuz matematikasi Paskal birinchi Paskalin mexanik hisoblash mashinasini yaratdi. 1830 yilda ingliz olimi Babidj birinchi dasturlashtiriladigan hisoblash mashinasi ("analitik mashina") g'oyasini taklif qildi. Uni bug 'bilan quvvatlantirish kerak edi va dasturlar perfokartalarda kodlangan edi. Ushbu g'oyani amalga oshirish mumkin emas edi, chunki mashinaning ayrim qismlarini yasashning iloji yo'q edi. Hollerith punch-kartalari g'oyasini birinchi bo'lib amalga oshirgan. U aholini ro'yxatga olish natijalarini qayta ishlash mashinasini ixtiro qildi. Mashinasida u birinchi navbatda elektr energiyasini hisoblash uchun ishlatgan. 1930 yilda amerikalik olim Bush differentsial analizator - dunyodagi birinchi kompyuterni ixtiro qildi. Ikkinchi jahon urushi kompyuter texnologiyalarining rivojlanishiga katta turtki berdi. Harbiylarga kompyuter kerak edi, u 1944 yilda professor Eyknam tomonidan ixtiro qilingan dunyodagi birinchi raqamli kompyuter bo'lgan Mark-1ga aylandi. Bunda elektr signallari va mexanik drayvlar kombinatsiyasi ishlatilgan. Olchamlari: 15 X 2,5 m., 750 000 dona. Men 23 sonli ikkita sonni 4 soniyada ko'paytira oldim. 1946 yilda AQSh harbiy departamenti buyurtmasiga binoan bir guruh muhandislar birinchi elektron Eniak kompyuterini yaratdilar. Ishlash: soniyada 5000 ta qo'shish operatsiyasi va 300 ta ko'paytirish operatsiyasi. Olchamlari: uzunligi 30 m, hajmi - 85 m3, vazni - 30 tonna. Ishlatilgan 18000 elektron pochta. lampalar. Xronikali dasturga ega birinchi mashina - "Edsak" 1949 yilda, 1951 yilda esa mashina yaratildi " Univac ”- xronika dasturiga ega bo'lgan birinchi seriyali kompyuter. Ushbu mashina magnit lentani birinchi bo'lib ma'lumotlarni yozib olish va saqlash uchun ishlatgan. Dasturlash tili nima uchun kerak? Kompyuterlar bizning dunyoda uzoq vaqt oldin paydo bo'lgan, ammo yaqinda ular inson hayotining ko'plab sohalarida juda jadal foydalanila boshlandi. O'n yil oldin biron bir shaxsiy kompyuterni kamdan-kam uchratish mumkin edi - ular juda qimmat edi va hatto har bir kompaniyaning ofisida kompyuter bo'lishi mumkin emas edi. Endi esa? Endi har uchinchi uyda kompyuter mavjud bo'lib, u uy aholisi hayotiga allaqachon kirib kelgan. Sun'iy aqlni yaratish g'oyasi uzoq vaqt oldin paydo bo'lgan, ammo faqat 20-asrda u amalda qo'llanila boshlandi. Avvaliga ulkan kompyuterlar paydo bo'ldi, ular ko'pincha ulkan uyning kattaligi edi. Siz tasavvur qilganingizdek, bunday mashinalardan foydalanish juda qulay emas edi. Lekin nima qila olasiz? Ammo dunyo evolyutsion rivojlanishning bir joyida turmadi - odamlar o'zgardi, ularning yashash joylari o'zgardi va shu bilan birga texnologiyalarning o'zlari ham tobora takomillashib bordi. Va kompyuterlar to hozirgi kunga qadar tobora kichrayib boraverdi. Ammo odamga qandaydir tarzda mashina bilan aloqa qilish kerak - axir, nazoratsiz avtomobil kimga kerak? Dastlab odamlar perforatorlardan foydalangan holda kompyuterlar bilan aloqa qilishgan. Perforatorlar - qatorlari raqamlari bosilgan kichik kartalar. Kompyuterda "disketka" mavjud bo'lib, unga kartalarning o'zi kiritildi va kichik ignalar yordamida raqamlarga teshiklar qo'ydi. Bunday muloqot juda kam odamga yoqardi - axir, bir marta ishlatilgandan keyin uni tashlab yuborish kerak bo'lgan musht kartalarini siz bilan olib yurish unchalik qulay emas. Ammo, boshqa texnologiyalar singari, insonning sun'iy intellekt bilan aloqa qilish jarayoni ham ba'zi o'zgarishlarga duch keldi. Endi odam suhbatni klaviatura va sichqoncha yordamida kompyuter bilan olib boradi. Bu odam uchun juda qulay va ba'zan hatto yoqimli. Zamonaviy kompyuterlar inson tafakkurining eng muhim yutuqlaridan biri bo'lib, uning ilmiy-texnik taraqqiyotga ta'sirini baholab bo'lmaydi. Kompyuterlarni qo'llash sohalari doimiy ravishda kengayib bormoqda. Bunga asosan shaxsiy kompyuterlar va ayniqsa mikrokompyuterlarning tarqalishi yordam beradi. 1950-yillardan boshlab, raqamli kompyuter "sehrli", ammo qimmat, noyob va haddan tashqari qizib ketgan vakuum naychalari, simlar va magnit yadrolardan kichik mashina - shaxsiy kompyuterga aylanib, millionlab mayda yarimo'tkazgich qurilmalaridan iborat bo'lib rivojlandi. kichik plastik qutilarga qadoqlangan. Ushbu o'zgarish natijasida kompyuterlar hamma joyda mavjud bo'lib qoldi. Ular kassa apparatlari ishini nazorat qiladilar, avtomashinalarni yoqish tizimlarining ishlashini nazorat qiladilar, oilaviy byudjetni hisobga oladilar yoki shunchaki ko'ngilochar majmua sifatida foydalanadilar ... Ammo bu zamonaviy kompyuterlarning imkoniyatlarining ozgina qismi. Bundan tashqari, hisoblash texnologiyasining asosi bo'lgan yarimo'tkazgichli mikroelektronikaning jadal rivojlanishi shundan dalolat beradiki, har ikkala kompyuterning o'zlari va ularni qo'llash sohalarining hozirgi darajasi kelajakda nima bo'lishiga zaif o'xshashlikdir. Kompyuterlar har kimning hayotiga ta'sir qila boshlaydi. Agar siz kasal bo'lib qolsangiz va sizni kasalxonaga yuborishsa, u erga etib borganingizdan so'ng, siz o'zingizni odamlar hayoti kompyuterlarga bog'liq bo'lgan dunyoda topasiz (zamonaviy shifoxonalarning bir qismida siz hatto bemorlarning o'ziga qaraganda ko'proq kompyuterlarni topasiz va bu nisbat vaqt o'tishi bilan oshib boradi) bemorlarning soni). Asta-sekin ular kompyuter texnologiyalarini o'rganishni majburiy fan sifatida maktab o'quv dasturlariga kiritishga harakat qilmoqdalar, shunda bola allaqachon yoshligidan kompyuterlarning tuzilishi va imkoniyatlarini bilishi mumkin. Va maktablarning o'zida (asosan G'arb va Amerikada) kompyuterlar ko'p yillar davomida o'quv hujjatlarini yuritish uchun ishlatilgan va endi ular kompyuter bilan bevosita bog'liq bo'lmagan ko'plab o'quv fanlarini o'rganishda qo'llaniladi. Boshlang'ich maktabda ham kompyuterlar boshlang'ich matematika va fizika kurslarini o'rganish uchun joriy etilmoqda. Mikroprotsessorlarning o'zi ham kompyuterlar singari keng tarqalib ketdi - ular ovqat pishirish uchun pechka, idish-tovoq mashinasi va hattoki soatlarga o'rnatilgan. Mikroprotsessorlarga asoslangan o'yinlar juda keng tarqaldi. Bugungi kunda o'yin sanoati bozorning juda katta qismini egallab, boshqa bolalar o'yin-kulgilarini undan asta-sekin chetlashtirmoqda. Ammo bolaning tanasi uchun monitorda soatlab o'tirish va tugmachalarni umidsiz bosib o'tirish juda zararli, chunki bolada xastalik paydo bo'lishi mumkin - agar ongida faqat bitta narsa bo'lsa - kompyuter va boshqa hech narsa yo'q. Bunday kasallikka chalingan bolalar, agar o'ynashni cheklashsa, odatda tajovuzkor bo'lishadi. Bunday bolalar zudlik bilan kompyuter bilan bog'liq bo'lmagan va ularga qiziqmaydigan narsalarni qilish istagini yo'qotadi - shuning uchun ular o'qishdan voz kechishni boshlaydilar, bu juda yaxshi oqibatlarga olib kelmaydi. Hozirda kompyuterlar har xil iboralarni, iboralarni aniq talaffuz qilishlari, musiqa ijro etishi va h.k. Endi kompyuter ba'zi bir so'zlarni, jumlalarni va hattoki musiqiy asarlarni o'z kompyuterida yozib olishi mumkin, shunda keyinchalik kompyuter ularni istalgan vaqtda ijro etishi mumkin. Kompyuterlar og'zaki tilni signal sifatida ham qabul qilishlari mumkin, ammo agar aloqa shakli qat'iy o'rnatilmagan bo'lsa, ular eshitgan narsalarini ochish uchun juda ko'p ish qilishlari kerak. Axir, xuddi shu buyruqni bir kishi bir necha xil tarzda talaffuz qilishi mumkin va bu buyruq har doim boshqacha eshitiladi; va butun dunyoda milliardlab odamlar bor va hamma bir xil buyruqni bir necha xil yo'l bilan aytadilar. Shuning uchun, hozirgi paytda, inson ovozi yordamida boshqariladigan kompyuterni yaratish juda qiyin. Ko'pgina firmalar ushbu muammolarni hal qilishga urinmoqdalar. Ba'zi firmalar ushbu maqsad sari kichik qadamlar tashlashadi, ammo baribir bu qadamlar deyarli sezilmaydi. Ammo nutqni aniqlash muammosi naqshni aniqlash deb ataladigan kengroq muammolarning bir qismidir. Agar kompyuterlar tasvirlarni yaxshi taniy olsalar, ular rentgenografiya va barmoq izlarini tahlil qilishlari, shuningdek boshqa ko'plab foydali funktsiyalarni bajarishlari mumkin (ular allaqachon harflarni saralash bilan shug'ullanishgan). Shuni ta'kidlash kerakki, inson miyasi har xil shovqinlar va buzilishlar mavjud bo'lganda ham naqshlarni tanib olishda juda yaxshi ishlaydi va bu sohada kompyuterning mos imkoniyatlarini odamnikiga mos keltirishga qaratilgan tadqiqotlar juda istiqbolli bo'lib tuyuladi. Agar kompyuterlar nutqni etarlicha sifatli taniy olsalar va unga og'zaki shaklda javob bersa, unda ularga dasturlar va ma'lumotlarni ushbu shaklda kiritish mumkin bo'ladi. Bu kompyuterga tom ma'noda nima qilish kerakligini aytib berishga va bu borada uning fikrini tinglashga imkon beradi, albatta, agar unga berilgan ko'rsatmalar aniq bo'lsa, qarama-qarshiliklar bo'lmasa va hokazo. Kompyuterlar bilan og'zaki muloqot uning dasturlashini soddalashtiradi, ammo u bilan qaysi tildan foydalanish kerakligi masalasida hal qilinmagan muammo mavjud. Ko'p odamlar ushbu maqsadlar uchun ingliz tilini taklif qilishadi, ammo u kompyuter va unda bajarilgan dasturlar nuqtai nazaridan talab qilinadigan aniqlik va o'ziga xoslikka ega emas. Bu sohada allaqachon ko'p ishlar qilingan, ammo hali qilinadigan ishlar ko'p. Biz ko'pincha boshqa odamlar bizni tushunmayotganidan shikoyat qilamiz; ammo hozircha shaxsiy kompyuterlarning o'zi bizni to'liq tushunishga yoki bir qarashda nima demoqchi ekanimizni tushunishga qodir emas. Va bir muncha vaqt uchun biz shunchaki bizning ko'rsatmalarimizga amal qiladigan, ularni "millimetr aniqligi bilan" bajaradigan mashinalardan qoniqishimiz kerak bo'ladi. Kompyuterlar bilan aloqa qilish uchun, hatto perfor-kartalar davrida ham o'sha paytdagi dasturchilar zamonaviy Assemblerga juda o'xshash dasturlash tilidan foydalanganlar. Bu kompyuterga kelgan barcha buyruqlar maxsus so'zlar va piktogrammalar yordamida batafsil yoziladigan til (?). Hozirgi kunda yuqori darajadagi dasturlash tillari qo'llanilmoqda, bu Assembler bilan ishlash ancha oson, chunki ularda bitta so'z bir vaqtning o'zida bir nechta buyruqlarni almashtirishi mumkin. Bundan tashqari, kompyuter bilan aloqa qilishda foydalaniladigan buyruqlar nomidagi yuqori darajadagi dasturlash tillarining aksariyati ingliz tilida nomlangan ekvivalentlardan foydalanadi, bu tabiiy ravishda dasturlashni osonlashtiradi. Assembler singari tillar bilan taqqoslaganda ularning birgina kamchiliklari bor - Assemblerda dasturdan olingan barcha buyruqlar kompyuter xotirasida aniq joylashadi va bo'sh joy egallaydi va shu bilan tezlikni sezilarli darajada oshiradi; va yuqori darajadagi tillar buni qanday amalga oshirishni bilishmaydi, navbati bilan dasturning bajarilish tezligidan mahrum bo'lishadi. Va bizning bugungi dunyomizda hamma buni biladi: "Vaqt bu pul". Garchi, kompyuter ijodiy faoliyati jihatidan odamdan pastroq bo'lsa-da, chunki mashinada hali unga inson o'zi xotirasiga kiritilmagan yangi narsalarni yaratishda yordam beradigan bunday fazilatlar berilmagan. Ko'pchilik "hisoblash" va "hisoblash" atamalari sinonim deb o'ylashadi va ularni mikroprotsessor, displey, disklar, printerlar va boshqa qurilmalar kabi jismoniy jihozlar bilan bog'lashadi, chunki odam ko'rganda odamlar e'tiborini jalb qiladi. kompyuter. Ushbu qurilmalar muhim bo'lsa-da, ular faqat "aysbergning uchi" dir. Zamonaviy kompyuterdan foydalanishning dastlabki bosqichida biz kompyuterning o'zi bilan emas, balki kompyuter bajarishi kerak bo'lgan harakatlarni ko'rsatadigan dasturlash tillari deb nomlangan qoidalar to'plami bilan shug'ullanmoqdamiz. Dasturlash tilining ahamiyati shundaki, hisoblash mashinasining o'zi ma'lum bir til uchun apparat tarjimoni sifatida qaralishi mumkin, bu mashina tili deb ataladi. Mashinaning samarali ishlashini ta'minlash uchun odamlar uchun ma'lum bo'lgan qiyinchiliklarni keltirib chiqaradigan mashina tillari ishlab chiqilgan. Aksariyat foydalanuvchilar ushbu noqulayliklarni odam-mashina aloqasini yaxshilashga mo'ljallangan bir yoki bir nechta tillar mavjudligi sababli sezmaydilar. Kompyuterning egiluvchanligi uning dasturlarni foydalanuvchiga yo'naltirilgan tillardan mashina tili dasturlariga aylantirish uchun tarjimon dasturlarini (umuman, ular kompilyator yoki tarjimon deyiladi) bajarishi bilan namoyon bo'ladi. (O'z navbatida, hatto dasturlarning o'zi, o'yinlar, tizim chig'anoqlari shunchaki oddiy tarjimon dasturidan boshqa narsa emas, u ishlayotganda yoki o'ynayotganda buyruqlari bilan "kompyuterning ichki va tashqi tomonlariga" murojaat qiladi, buyruqlarini mashina tillariga tarjima qiladi. Va bularning barchasi real vaqtda sodir bo'ladi.) Mashina tillari, montaj tillari va yuqori darajadagi tillar Dasturchilar dasturlarni turli xil dasturlash tillarida yozadilar, ularning ba'zilari to'g'ridan-to'g'ri kompyuter uchun tushunarli, boshqalari tarjimaning oraliq bosqichini talab qiladi. Mavjud yuzlab tillarni uchta umumiy turga bo'lish mumkin: 1. Mashina tillari 2. Assembler tillari 3. Yuqori darajadagi tillar. Har bir kompyuter faqat o'ziga xos kompyuter tilini tushunishi mumkin, bu ma'lum bir kompyuterning tabiiy tili hisoblanadi. Bu uning apparati bilan chambarchas bog'liq. Mashina tillari odatda bitta elementar amallarni bajarish uchun ko'rsatmalar bo'lgan raqamlar ketma-ketligidan (odatda nol va bitta) iborat. Mashina tillari mashinaga bog'liq, ya'ni. ma'lum bir mashina tilidan faqat ma'lum bir turdagi kompyuterlar bilan foydalanish mumkin. Mashina tillari odamni idrok etish uchun noqulay. Kompyuterlarning tarqalishi bilan mashina tillarida dasturlash kompyuter texnikasi rivojlanishini sekinlashtirishi, juda sekin va aksariyat dasturchilar uchun juda katta vazifa ekanligi aniq bo'ldi. Kompyuter tomonidan bevosita tushunarli bo'lgan raqamlar ketma-ketligi o'rniga dasturchilar ingliz tilidagi qisqartmalardan foydalanib, elementar operatsiyalarni namoyish qilishdi, bu esa assambleya tillarining asosini tashkil etdi. Bunday tillarda yozilgan dasturlarni mashina tiliga aylantirish uchun tarjimon dasturlari ishlab chiqilgan, chaqirilgan montajchilar... O'tkazish kompyuterning tezligiga teng tezlikda sodir bo'ldi. Assambleya tillari paydo bo'lishi bilan kompyuterlardan foydalanish sezilarli darajada kengaydi, ammo baribir eng oddiy muammolarni hal qilish uchun ham ko'p sonli ko'rsatmalar yozishni talab qildi. Dasturlash jarayonini tezlashtirish uchun murakkab amallarni bajarish uchun bitta operator yozish kifoya qiladigan yuqori darajadagi tillar ishlab chiqilgan. Yuqori darajadagi tilda gaplar ketma-ketligini mashina tiliga aylantirish dasturlari kompilyator deb ataladi. Yuqori darajadagi tillarda dasturchilar tomonidan yozilgan ko'rsatmalar ko'pincha oddiy matematik belgilar yordamida ingliz tilida oddiy matn bo'lib ko'rinadi.


Yüklə 0,6 Mb.

Dostları ilə paylaş:
  1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin