|
Dasturlash uslublari va paradigmalar
|
bet | 22/30 | Sana | 27.01.2024 | Hajmi | 0,99 Mb. | | #146980 |
Bog'liq PARADIGMA YN29.Tuzilmali dasturlash
Dastur yagona tuzilma sifatida tuzilgan dasturlash yondashuvi sifatida belgilanishi mumkin. Bu shuni anglatadiki, kod ko'rsatmalarni ketma-ket ko'rsatma bilan bajaradi. U GOTO va boshqalar kabi har qanday bayonot yordamida bir buyruqdan boshqasiga o'tish imkoniyatini qo'llab-quvvatlamaydi. Shuning uchun bu yondashuvdagi ko'rsatmalar ketma-ket va tuzilgan tarzda bajariladi. Strukturaviy dasturlash yondashuvini qo'llab-quvvatlaydigan tillar:
C ; C++; Java; C#… va boshqalar
Tuzilmali dasturlash yondashuvining afzalliklari:
O'qish va tushunish osonroq
Foydalanish uchun qulay
Saqlash osonroq
Mashinaga asoslangan bo'lish o'rniga asosan muammoga asoslangan
Rivojlanish osonroq, chunki u kamroq kuch va vaqt talab qiladi
Nosozliklarni tuzatish osonroq
Mashinadan mustaqil, asosan.
Tuzilmali dasturlash usulining kamchiliklari:
Mashinadan mustaqil bo'lganligi sababli, mashina kodiga aylantirish uchun vaqt kerak bo'ladi.
O'zgartirilgan mashina kodi montaj tili bilan bir xil emas.
Dastur ma'lumotlar turlari kabi o'zgaruvchan omillarga bog'liq. Shuning uchun uni yo'lda zarurat bilan yangilash kerak.
Odatda bu yondashuvning rivojlanishi tilga bog'liq bo'lgani uchun ko'proq vaqt talab etadi. Assembler tili bo'lsa, ishlab chiqish kamroq vaqt talab etadi, chunki u mashinaga o'rnatiladi.
Quyidagi bir necha tuzilmalar misollarini ko'rsataman:
Ro'yxat (List): Ma'lumotlar ro'yxati. Misol: Python-da list, C++-da std::vector.
Qator (Queue): Ma'lumotlarni o'rin-o'riniga qabul qilib, birinchi kelgan ma'lumot birinchi chiqadi. Misol: Python-da queue.Queue, Java-da Queue.
Stek (Stack): Ma'lumotlarni o'zaro qabul qilib, birinchi kelgan ma'lumot birinchi chiqadi. Misol: Python-da list (stekning funksiyalari bilan), C++-da std::stack.
Bog’langan Ro'yxat (Linked List): Ma'lumotlarning to'plamasi, har bir ma'lumot o'zidan keyingi ma'lumotni ko'rsatadi. Misol: Python-da va C++-da o'zgaruvchilar orqali (Node lar orqali) yaratilgan linked list.
Hash Ro'yxati (Hash Table): Ma'lumotlarni boshqarish uchun boshqaruv (hash) funksiyalari orqali yaratilgan ro'yxat. Misol: Python-da dict, Java-da HashMap.
Derevo (Tree): Hierarchik tuzilgan ma'lumotlarni saqlash uchun ishlatiladi. Misol: Java-da TreeMap, Python-da binary tree implementatsiyalari.
|
| |