Dars rejasi : kontseptsiya va u bilan bog'liq tushunchalar; turli xil talqinlar; Dasturlashning asosiy modellari


Download 0.78 Mb.
Sana29.11.2020
Hajmi0.78 Mb.
#154888
Bog'liq
1 лекция

Dasturlash usullari va paradigmalari Ma'ruza 1. Dasturlash paradigmalarining asosiy tushunchalari

Dars rejasi :

kontseptsiya va u bilan bog'liq tushunchalar;

turli xil talqinlar;

Dasturlashning asosiy modellari

Ba'zi dasturlash paradigmalarining tarixi Tillar va paradigmalar

Kontseptsiya va u bilan bog'liq tushunchalar

  • Paradigma (yunoncha karάδεiάδεmadan olingan "namuna, model, namuna") - ilmiy jamoatchilik tomonidan qabul qilingan va birgalikda foydalaniladigan va uning ko'pchilik a'zolarini birlashtirgan fundamental ilmiy qarashlar, tushunchalar va atamalar to'plamidir. Ilm-fan va ilmiy ijodiyotning rivojlanishining uzluksizligini ta'minlaydi.
  • "Paradigma deganda, men hamma tan olgan ilmiy yutuqlarni nazarda tutayapman, bu ma'lum vaqt ichida ilmiy jamoatchilikka muammolarni qo'yish va ularni hal qilish uchun namuna beradi". (Томас Сэмюэл Кун, 1962)

Kontseptsiya va u bilan bog'liq tushunchalar

Dasturlash paradigmasi bu kompyuter dasturlarini yozish uslubini belgilaydigan g'oyalar va tushunchalar to'plamidir. Bu hisoblashni tashkil qilishni va kompyuter bajaradigan ishni tuzilishini belgilaydigan kontseptsiya usuli.

"Agar umuman dasturlash san'atining taraqqiyoti paradigmalar doimiy ravishda ixtiro qilishni va takomillashtirishni talab qilsa, u holda individual dasturchi san'atini takomillashtirish uning paradigmalar repertuarini kengaytirishini talab qiladi".

(Robert V Floyd, 1978)

  • yangi paradigma avvalgisini bekor qilmaydi;
  • paradigmalar birlashtirilishi mumkin.

Turli xil qarashlar

"" Paradigma "so'zi dasturlashda dasturni amalga oshirishning umumiy usuli (metodikasi) bilan ajralib turadigan belgilash (belgi) turkumini aniqlash uchun ishlatiladi" (Diomides Spinellis)

"Dasturlash uslubi dasturchi niyatlarining tavsifi sifatida" (Daniel Bobrov)

"Muammoni hal qilish uchun model yoki yondashuv" (Bryus Shriver)

"Dasturlash muammolarini hal qilish yondashuvi" (Linda Fridman)

"Kompyuter tizimlari haqida fikr yuritish usuli" (Pamela Zave)

"Dasturlash tillarini sinovdan o'tkazilishi mumkin bo'lgan ba'zi shartlarga ko'ra tasniflash qoidalari" (Piter Vagner)

Dasturlash paradigmasi nima?

Qisqacha aytganda, bu kod yaratish printsiplari va texnikasi to'plamidir. Ular dasturni soddalashtirish va uni bir xil paradigmada ishlaydigan boshqa dasturchilar uchun tizimli, qulay va tushunarli qilish uchun kerak. Hisoblash mashinasi uchun dastur aniq, tez va aniq bajarilishi uchun tayyorlangan bo'lishi muhimdir.

Dasturlash paradigmasi nima uchun kerak?

  • dastur kodining tuzilishini tushunish
  • kod sifatini baholash tajribasi
  • to'g'ri rivojlanish yondashuvini tanlash tajribasi

Dasturlashning asosiy modellari

  • Imperativ dasturlash
  • Deklarativ dasturlash
  • Tarkibiy dasturlash
  • Funktsional dasturlash
  • Mantiqiy dasturlash
  • Ob'ektga yo'naltirilgan dasturlash

Imperativ dasturlash

bu quyidagilar bilan tavsiflangan dasturiy paradigma:

ko'rsatmalar (buyruqlar) dasturning manba kodida yozilgan;

ko'rsatmalar ketma-ket bajarilishi kerak;

oldingi ko'rsatmalarni bajarish paytida olingan ma'lumotlarni xotiradan keyingi ko'rsatmalar bilan o'qish mumkin;

ko'rsatmani bajarish natijasida olingan ma'lumotlar xotiraga yozilishi mumkin.

Xotira holati bilan ishlaydi. Bayonotlarni bajarish holatni o'zgartiradi.

Deklarativ dasturlash

  • muammoni hal qilishning spetsifikatsiyasi o'rnatiladigan dasturiy paradigma, ya'ni muammo nima ekanligini va kutilgan natijani tavsiflaydi. Deklarativ dasturlashning teskari tomoni - bu majburiy dasturlash bo'lib, u qandaydir tafsilotlarda muammoni qanday hal qilish va natijani taqdim etishni tavsiflaydi. Natijada, deklarativ dasturlarda davlat tushunchasi ishlatilmaydi, xususan, ular o'zgaruvchilar va tayinlash operatorlarini o'z ichiga olmaydi va ma'lumotlarning shaffofligi ta'minlanadi.

Strukturaviy dasturlash

dasturning ierarxik blok tuzilishi shaklida taqdimotiga asoslangan dasturlash paradigmasi.

quyidagilar bilan tavsiflanadi:

- shartli va shartsiz sakrashlardan cheklangan foydalanish

- pastki dasturlardan va boshqa boshqaruv tuzilmalaridan (ilmoqlar, filiallar va boshqalar) keng foydalanish

-blok tuzilishi

Funktsional dasturlash

Asosiy tushunchalar:

- noaniq yon ta'sirlarning etishmasligi

- ma'lumotlarning shaffofligi

- yashirin holat yo'q

- ma'lumotlar va funktsiyalar kontseptual jihatdan bir xil

Lambda hisobiga asoslanadi

Mantiqiy dasturlash

  • — berilgan faktlar va xulosalar qoidalari asosida xulosa chiqarish mexanizmlaridan foydalangan holda avtomatik teoremani isbotlashga asoslangan dasturiy paradigma.

Obyektga yo’naltirilgan dasturlash

  • (OYD) — dasturni har biri ma'lum bir sinfning namunasi bo'lgan ob'ektlar to'plami sifatida namoyish etishga asoslangan dasturlash metodologiyasi va sinflar meros ierarxiyasini tashkil qiladi

История некоторых парадигм программирования

Tillar va paradigmalar

  • Процедурные:
  • Ada
  • Алгол 60
  • Алгол 68
  • Basic (до Visual Basic)
  • Си
  • C++
  • КОБОЛ
  • Фортран
  • Модула-2
  • HAL/S
  • Pascal
  • PureBasic
  • Go
  • nim
  • Функциональные:
  • Лисп
  • Scheme
  • Clojure
  • Common Lisp
  • Erlang
  • Elixir
  • APL
  • ML
  • F#
  • Scala
  • Miranda
  • Nemerle
  • XSLT
  • XQuery
  • Haskell
  • Объектно-ориентированные
  • Ada
  • C#
  • C++
  • Delphi
  • F#
  • Java
  • JavaScript
  • JScript .NET
  • Object Pascal
  • Objective-C
  • Perl
  • PHP
  • Python
  • Ruby
  • Swift

Tillar va paradigmalar

  • Структурное
  • Basic
  • Cg
  • JOVIAL
  • Pascal
  • PL/M
  • QBASIC
  • REXX
  • Активный Оберон
  • Алгол 68
  • Алгол
  • sh
  • Модула
  • Оберон
  • ПЛ/1
  • Логические
  • Mercury
  • Prolog
  • Curry
  • Мультипарадигмальные
  • C++
  • Kotlin
  • PHP
  • Curry
  • Delphi (язык программирования)
  • Erlang
  • Mathematica
  • Mozart
  • Nemerle
  • Python
  • Rust
  • Scala
  • Swift
  • Zonnon
  • Активный Оберон
  • Компонентный Паскаль (Component Pascal)
  • Модула-3

Tillar va paradigmalar


Tillar

Paradigmalar

Python

funktsional, protsessual, ob'ektga yo'naltirilgan

JavaScript

funktsional, protsessual, ob'ektga yo'naltirilgan

PHP

funktsional, protsessual, ob'ektga yo'naltirilgan

C++

umumlashtirilgan, protsessual, ob'ektga yo'naltirilgan

Java

ob'ektga yo'naltirilgan, umumlashtirilgan, protsessual, aspektga yo'naltirilgan, raqobatdosh

C#

ob'ektga yo'naltirilgan, umumlashtirilgan, protsessual, funktsional, hodisaga asoslangan, refleksiv

R

vektorli, ob'ektga yo'naltirilgan, protsessual, funktsional, aks ettiruvchi
  • Paradigmalar dasturlash. Dasturlash tamoyillari abstraktsiya mexanizmlarining murakkabligi va kengligi darajasi oshgani sayin ierarxik tarzda ko'rsatiladi

E'tiboringiz uchun rahmat!


Download 0.78 Mb.

Do'stlaringiz bilan baham:




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