1. Dasturlash paradigmalarini asosiy tushunchalari Imperativ protsedurali dasturlash



Download 28,06 Kb.
Sana16.03.2022
Hajmi28,06 Kb.
#495794
Bog'liq
Paragdima javob


1. Dasturlash paradigmalarini asosiy tushunchalari
2. Imperativ protsedurali dasturlash
3. Mantiqiy dasturlash
4. Malumotlar tarkibi
5. Parallel algoritmlar

1. Dasturlash tili – bu kompyuter dasturlarini yozish uchun rasmiy til xisoplanadi.. Dasturlash tili dasturning koʻrinishini va ijrochi (odatda EHM) tomonidan boshqariladigan harakatlarni belgilaydigan leksik, sintaktik va semantik qoidalar toʻplamini belgilaydi.


Dastlabki dasturlashtiriladigan mashinalar yaratilganidan beri, insoniyat sakkiz mingdan ortiq dasturlash tillarini (shu jumladan ezoterik, vizual va oʻyinchoqlarni) ishlab chiqdi. Ularning soni yil sayin ortib bormoqda. Baʼzi tillar oʻzlarining ishlab chiqaruvchilarining oz soniga maʼlum, boshqalari millionlab odamlarga maʼlum boʻlib qolishadi. Professional dasturchilar oʻnlab yoki undan koʻp turli xil dasturlash tillarini bilishlari mumkin.
Dasturlash tili kompyuter dasturlarini yozish uchun moʻljallangan boʻlib, bu kompyuterga maʼlum bir hisoblash jarayonini amalga oshirishga imkon beradigan, turli xil obyektlarni boshqarishni tashqil etadigan va hokazo qoidalar toʻplamidir. Dasturlash tili tabiiy tillardan farq qiladi, chunki u kompyuterni boshqarish uchun moʻljallangan. Aksariyat dasturlash tillari maʼlumotlar konstruksiyalarini aniqlash va boshqarish va hisoblash jarayonini boshqarish uchun maxsus konstruksiyalardan foydalanadi.
Kompyuterda dasturlash bu – kompyuter mikroprotsessori uchun turli buyruqlar berish, qachon, qayerda nimani oʻzgartirish va nimalarni kiritish yoki chiqarish haqida buyruqlar berishdir. Kompyuter dunyosida koʻplab dasturlash tillari mavjud boʻlib, dasturlash va unga qiziquvchilar soni ortib bormoqda. Bir xil turdagi ishni bajaradigan dasturlarni Basic, Pascal, C va boshqa tillarda yozish mumkin. Pascal, Fortran va Kobol tillari universal tillar hisoblanadi, C va Assembler tillari mashi tiliga ancha yaqin tillar boʻlib, quyi yoki oʻrta darajali tillardir. Algoritmik til inson tillariga qanchalik yaqin boʻlsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir. Mashina tili bu sonlardan iboratdir, Masalan: 010110100010101.
Dasturlash tillari 2 ta katta guruhlarga boʻlinadi, quyi va yuqori darajali dasturlash tili. Quyi darajali dasturlash tili ancha murakkab boʻlib ular juda maxsus sohalarda ishlatiladi va ularning mutaxassislari ham juda kam. Chunki quyi dasturlash tillari (masalan: assembler) koʻpincha miktoprotsessorlar bilan ishlashda kerak boʻlishi mumkin. Odatda turli dasturlash ishlari uchun yuqori darajali dasturlash tilidan keng foydalaniladi. EHM (Elektron Hisoblash Mashinasi) endi yuzaga kelgan paytda dastur toʻzishda, faqat mashina tillarida, yaʼni sonlar yordamida EHM bajarishi kerak boʻlgan amallarning kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 lik, 8 lik sanoq sistemalari boʻlgan. Programma mazkur sanoq sistemasidagi sonlar vositasida kiritilgan. Yuqori darajali dasturlashda, 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. Odatda dasturlash yuqori saviyali dasturlash tillari (Delphi, Java, C++, Python) vositasida amalga oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi tufayli dastur toʻzish jarayoni ancha oson kechadi.

2. Standart imperativ protseduali dasturlash maʼlumotlarni qayta ishlash jarayonini xotira holatidagi oʻzgarishlarning yakuniy ketma-ketligi sifatida koʻrib chiqadi. Imperativ-protsessual dasturlash kompilyatsiya paytida maʼlumotlar turlarini boshqarish va dasturlarni optimallashtirishning statik usullarini hisobga olgan holda “dastur” va “maʼlumotlar” tushunchalarini aniq ajratish bilan tavsiflanadi. Standart dasturni interpritatsiyasining umumiy mexanizmini qiymatlari oʻzgarishi mumkin boʻlgan oʻzgaruvchilar uchun va taʼriflari oʻzgarmaydigan yorliqlar va protseduralar uchun alohida nomlar jadvallari boʻlgan avtomat sifatida tasavvur qilish tabiiydir.


Dastur translyatsiyasi, odatda maʼlumotlar turiga qarab oʻzgaruvchan qiymatlar uchun xotirani taqsimlashni, shu jumladan lokal maʼlumotlarni stekka joylashtirishni rejalashtiradi.
Oʻzgaruvchanlarga kirishning qisman nazorati hamda operatsiyalar va operandlarning konstant ifodalar qiymatlarini (konstantlar, oʻzgaruvchilar, maʼlumotlar tuzilmalari elementlari, operatsiyalar natijalari va funksiyalarni chaqirish) hisoblash bilan operatsiyalar va operandlarning muvofiqligi amalga oshiriladi, hisob-kitoblarni boshqarish uchun manipulyatsiyalarni optimallashtirish mumkin:
SP = (Tekst → {Kod | Adres}): Pam [Peremennaya] → Pam
3. Keng maʼnoda, mantiqiy dasturlash bu deklarativ shaklda berilgan bilimlarni boshqarish uchun mantiqiy xulosa usullaridan foydalanadigan xolda masalalarni yechish usullarining toʻplamidir.
Tadqiqot va rivojlantirish ishlari odatda amaliy yechim topish bosqichidan oʻtadi. Ushbu bosqichni qoʻllab-quvvatlash uchun mantiqiy dasturlash kichik dasturlarni(“podprograma”), protseduralarni va funksiyalarni aniqlash konsepsiyasidan chetga chiqishni taklif qiladi. Harakatlarning kengaytirilgan taʼrifi sifatida “soʻzlar” deb nomlangan cheklangan toʻplamdan teng ravishda tanlangan variantlarga ruxsat beriladi. Muammoni oʻrganayotganda ushbu toʻplam har qanday tartibda toʻldirilishi mumkin. Aynan shu gʻoya mustaqil paradigma sifatida paydo boʻlgan mantiqiy dasturlashning jozibali xususiyatlaridan birini tashkil etadi. Tenglik faqat oʻlik vaziyatga taalluqli emas, agar taklif qilingan variantlardan hech biri maqsadli natijaga olib kelmasa.
Mantiqiy dasturlash paradigmasi berilgan faktlar va qoidalar asosida maʼlumotlarni avtomatik ravishda namoyish etish gʻoyasidan foydalanadi. Mantiqiy dasturlash rasmiy mantiq nazariyasi va apparati asosida amalga oshiriladi. Rasmiy mantiq boʻyicha yozilgan dastur – bu maʼlum bir mavzu sohasiga oid faktlar va qoidalarni aks ettiruvchi mantiqiy shakllar toʻplamidir. Prolog, asosiy mantiqiy dasturlash tili sifatida tan olingan, ammo boshqalar maʼlum – Planner, ASP i Datalog. Bunday tillarning barchasida qoidalar bandlar shaklida boʻladi:
H :- B11, …, BNn,
mantiqiy oqibat sifatida tushuniladi

if (B11 and … and BN) then H yoki B11 & … & BN → H


H – qoida boshligʻi deb nomlangan, B11, …, BN – esa tanasi qoida deb nomlangan


Faktlar tanasiz qoidalardir. Atom va birikma gaplar mavjud. Tanani tashkil etuvchi predikatlar obraziga mos uslubda ifodalanishi mumkin. Muhim mexanizm – bu monotonik boʻlmagan mantiqqa olib keladigan negativ moddalarni tanasida ishlatishdir. Maqsadlarni hisoblashda dastur mantigʻi protsessual uslubdan foydalanishi mumkin:
to solve H, solve B1, and ... and solve Bn.
Dasturlarni tushunishga deklarativ yondashuv dasturchidan muntazam ravishda toʻgʻriligini tekshirishni talab qiladi. Bundan tashqari, mantiqiy dasturlarni yanada samarali ekvivalentlariga aylantirish qoʻllaniladi, bu esa MANTIQIY dasturlashni makrotexnologiyaga yaqinlashtiradi. Dasturlar samaradorligini oshirish uchun dasturchi hisoblash mexanizmi xatti-harakatlarining oʻziga xos xususiyatlarini va ishlatilgan iboralarning hisoblash chegaralarini bilishi kerak.

4. Ma'lumotlar tuzilmalari odatda a qobiliyatiga asoslanadi kompyuter a tomonidan ko'rsatilgan xotirani istalgan joyidan olish va saqlash uchun ko'rsatgich- a ni ifodalovchi bit ip xotira manzili, o'zi xotirada saqlanishi va dastur tomonidan boshqarilishi mumkin. Shunday qilib, qator va yozuv ma'lumotlar tuzilmalari ma'lumotlar elementlari manzillarini hisoblash bilan asoslanadi arifmetik amallar, esa bog'langan ma'lumotlar tuzilmalari ma'lumotlar tarkibidagi manzillarni strukturaning o'zida saqlashga asoslangan.


Ma'lumotlar strukturasini amalga oshirish odatda to'plamini yozishni talab qiladi protseduralar ushbu tuzilmaning misollarini yaratadigan va boshqaradigan. Ma'lumotlar strukturasining samaradorligini ushbu operatsiyalardan alohida tahlil qilish mumkin emas. Ushbu kuzatish an nazariy tushunchasini rag'batlantiradi mavhum ma'lumotlar turi, bilvosita unda bajarilishi mumkin bo'lgan operatsiyalar bilan aniqlanadigan ma'lumotlar tuzilishi va ushbu operatsiyalarning matematik xususiyatlari (ularning maydoni va vaqt xarajatlari bilan birga).

An qator - bu ma'lum bir tartibdagi bir qator elementlar, odatda barchasi bir xil (tilga qarab, alohida elementlar yoki barchasi bir xil turga majburlanishi mumkin yoki deyarli har qanday turdagi bo'lishi mumkin). Elementlarga qaysi element zarurligini ko'rsatish uchun butun sonli indeks yordamida kirish mumkin. Oddiy dasturlar massiv elementlari uchun tutashgan xotira so'zlarini ajratadi (lekin bu har doim ham zarurat emas). Massivlar sobit uzunlikda yoki o'lchamlarini o'zgartirishi mumkin.


A bog'langan ro'yxat (shuningdek, faqat chaqirilgan ro'yxat) - bu har qanday tugunning o'zi qiymatga ega bo'lgan va bog'langan ro'yxatdagi keyingi tugunga ishora qiluvchi har qanday turdagi ma'lumotlar elementlarining chiziqli to'plamidir. Bog'langan ro'yxatning massivdan asosiy ustunligi shundaki, qiymatlar har doim samarali tarzda kiritilishi va ro'yxatning qolgan qismini boshqa joyga ko'chirmasdan olib tashlanishi mumkin. Kabi ba'zi boshqa operatsiyalar tasodifiy kirish ma'lum bir elementga nisbatan, ammo ro'yxatlarda massivlarga qaraganda sekinroq.
A yozuv (shuningdek, deyiladi panjara yoki tuzilmaviy) an yig'ilgan ma'lumotlar tuzilishi. Yozuv - bu boshqa qiymatlarni o'z ichiga olgan qiymat, odatda belgilangan son va ketma-ketlikda va odatda nomlar bilan indekslanadi. Yozuvlarning elementlari odatda chaqiriladi dalalar yoki a'zolar.
A birlashma bir qator ruxsat berilgan ibtidoiy turlardan qaysi biri o'z misolida saqlanishi mumkinligini aniqlaydigan ma'lumotlar tuzilmasi, masalan. suzmoq yoki uzun tamsayı. A bilan qarama-qarshi yozuv, unda suzuvchi bo'lishi mumkin va butun son; holbuki birlashmada bir vaqtning o'zida bitta qiymat mavjud. Eng keng a'zoning ma'lumot turini saqlash uchun etarli joy ajratilgan.
A belgilangan birlashma (shuningdek, deyiladi variant, variantli yozuv, kamsitilgan birlashma, yoki uyushmagan birlashma) kengaytirilgan turdagi xavfsizlik uchun uning joriy turini ko'rsatadigan qo'shimcha maydonni o'z ichiga oladi.
An ob'ekt bu ma'lumotlar maydonlarini o'z ichiga olgan ma'lumotlar tuzilmasi, masalan, yozuvlar kabi, har xil usullari ma'lumotlar tarkibida ishlaydigan. Ob'ekt bu taksonomiyadan sinfning xotiradagi nusxasi. Kontekstida ob'ektga yo'naltirilgan dasturlash, yozuvlar sifatida tanilgan oddiy eski ma'lumotlar tuzilmalari ularni narsalardan farqlash.
5. Arxitekturani takomillashtirish bilan bir qatorda parallel kompyuterlarning dasturiy ta'minoti ham rivojlanib bormoqda. Amaliyot shuni ko'rsatdiki, parallel hisoblash tizimlari apparat va dasturiy ta'minot qismlarining rivojlanishini birbiridan alohida-alohida ko'rib bo'lmaydi. Qismlarning biridagi yangilik, ikkinchisidagi o'zgarishga olib keladi. Hozirda bizni avvalo parallel dasturlash texnologiyalari sohasidagi o'zgarishlar qiziqtiradi. Albatta, zamonaviy dasturiy ta'minot ishlab chiqish ixtiyorida nafaqat Fortran yoki assembler bor, balki ko'p boshqa tizimlar va dasturlash tillari yaratildi. Shu bilan birga, ayni paytda, samarali parallel dasturiy ta'minot ishlab chiqish muammosi umumiy parallel hisoblashning asosiy muammosiga aylandi.
Ta’kidlash joizki, mahsus izohlardan foydalanish nafaqat parallel bajarish imkoniyatini beradi, balki dasturning asl versiyasini to’liq saqlab qoladi. Amalda, u juda qulay - kompilyator parallelizm haqida hech narsa bilmasa, barcha mahsus izohlarni semantik ketma ketlikni saqlab qolgan holda o’tkazib yuboradi.
Parallel dasturlar tuzish uchun izohlardan foydalanishdan tashqari, tez-tez. mavjud dasturlash tillari kengaytirishni qo’llashadi. Qu’shimcha operatorlar va foydalanuvchiga dasturning parallel tuzilmasini aniq belgilash va ayrim hollarda parallel dasturni bajarishni boshqarish imkonini beruvchi o’zgaruvchilarni ifodalovchi yangi elementlar kiritiladi. Shunday qilib, High Performance Fortran (HPF) til, an'anaviy FORTRAN operatorlari va mahsus izohlar tizimiga qo'shimcha ravishda, dasturning parallel sikllarini ifodalash uchun kiritilgan yangi forall operatorini o`z ichiga oladi.
Agar parallel tizimlar arxitekturasi o’ziga hosliligini, yoki ayrim mavzu doirasining ba’zi bir vazifa turining hususiyatlarini aniq ifodalash kerak bo’lsa, unda parallel dasturlashning mahsus tillaridan foydalaniladi.. Transputer tizimlarini dasturlash uchun Occam tili tashkil etilgan, Konveyer mashinalarini dasturlash uchun, birlamchi belgilash tili Sisal loyihalashtirilgan.
Massiv parallel kompyuterlar kelishi bilan parallel jarayonlarni o'zaro qo'llab-quvvatlash kutubxonalar va interfeyslarni keng tarqalib kelmoqda. Ushbu yo’nalishning tipik vakili Message Passing Interface (MPI) interfeysidir, va uning amalga oshirilishi deyarli har bir parallel platformada, vector-konveyerli superEVM dan boshlab shahsiy komuterlarning klasterlari vs tizimlarigacha mavjud. Dasturlovchi dasturning qaysi joyida ilovaning qanday parallel jarayonlari, qaysi jarayonlar bilan ma’lumot almashish yoki o’z ishini sinhronizatsiyalashi kerakligini o'zi aniq belgilaydi.
Parallel hisoblash tizimi (HT) deb ko’pgina apparat (hardware), oraliq dastur (middleware) va amaliy dastur (software) o’zaro nabo-rom aloqali ta’minotining elementlari tushuniladi. Ushbu elementlar yuqori samarali parallel hisoblashlarni o’tkazish maqsadida birlashgan.
HT da elementlarning o’zaro aloqasi quyidagichadir: apparat ta’minlash elementlari bilan oraliq DT elementlari o’zaro aloqa qiladi, bunda ular EVM arhitekturasining barcha hususiyatlarini hisobga olgan holda, HT boshqarilishining (HT dasturiy modeli) umumiy dasturiy vositalarni taqdim etadi. Amaliy dasturlar software dasturlar orqali modelini, middleware bilan ta’minlangan, ushbu HT ning maqsadi bo’lgan, mahsus vazifalarni bajarish uchun u yoki bu algoritmlarni amalga oshiradi.
Oraliq dasturiy ta’minot atamasi juda turg’un hisoblanadi, shu bilan birga undan turli tushunchalarni ta’minlashda foydalaniladi. Umuman olganda, PPO dasturiy ta’minotning turi hisoblanadi, bunda uni ilovalar va resurslar o’rtasidagi (Amaliy dasturlash interfeysi) API deb atash mumkin, va u dasturning to’g’ri ishlashi uchun zarurdir. Bundan kelib chiqadiki, ilovalarning bir-biri bilan yoki resurslar bilan o’zaro jarayonini soddalshtirish imkonini beradigan har qanday dasturiy ta’minot oraliq deb atalishi mumkin.
Parallel hisoblash tizimida bir yoki bir necha hisoblash tugunlarida bir yoki bir nechta dasturiy komponentlari bo'lishi mumkin. Tizim bir kompyuter tizimi sifatida paydo bulishi uchun, bu qismlar o'zaro aloqalarni qo'llab-quvvatlashi kerak. Oraliq dasturiy ta’minotning asosiy roli shundaki, ushbu vazifalarni soddalashtirish va parallel taqsimlangan hisoblash-tizimlari komponentlarini o'zaro ta’sirini qurilishida amaliy dasturchilar tomonidan qo’llaniladigan abstrakstiyalarni ta’minlashdir.
PPO ikki asosiy vazifani bajaradi. Birinchi - resurslarga ilovalarning etishishini engillashtirish. Bu xususiyatlar ayniqsa, Ishlab chiquvchilar uchun muhim ahamiyatga ega, chunki ularga ko’proq vaqtni resurslarga ega bo’lish mehanizmini ishlab chiqarishga emas, balki mantiqga ajratishga imkon beradi. PPO ning ikkinchi vazifasi – o’zaro harakat jarayonlarining jadallashuvi. Albatta, dasturiy ta'minot o’zaro harakatlarni ta’minlash uchun mahsus loyihalashtirilgan bo’lib, odatda, ishlab chiqaruvchilar tomonidan yaratilgan maxsus bo`lmagan echimlarga nisbatan yaxshiroq unumdorlikka ega.
Oraliq dasturiy ta’minotni (PPO) amaliy dasturiy ta’minotning mahsus darajasi deb aniqlaymiz, bunda u ilovaning parallel hisoblash qismi bilan operatsion tizimning kommunikastion darajasi orasida joylashgan va ilovalarni tizimiy bayonotlar va operastion tizimning instrumentlari bilan bog’laydi. Oraliq dasturiy ta’minot apparat-dasturiy platformalarninig farqini tekislaydi.
Download 28,06 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish