1-mavzu: Kirish Reja


Download 49.67 Kb.
bet2/2
Sana19.10.2023
Hajmi49.67 Kb.
#1709837
1   2
Bog'liq
1-ma\'ruza

Dasturlash tillari haqida umumiy ma’lumot

Til

Yaratilgan
yili

Mualliflar

Tashkilot, firma

Ada

1979-80

Jean Ichbian

Cii-Honeywell (Fransiya)

ARL

1961-1962

Kenneth Iverson, Adin Falkoff

IBM

DELPHI

1995

Chak (Chuck) va Denni (Danny)

Borland

BASIC

1964-1965

JohnKemeny, Thomas Kurtz

Dartmouth Colleje

C

1972-1973

Dennis Ritchie

Bell Laboratories

C++

1980

Bjarne Strostrup

Bell Laboratories

FORTRAN

1950-1958

John Backus

IBM

HTML

1989

Tim Berners-Li

CERN, Jeneva

LOGO

1968-70

Seymour Papert

MassachusetS Institute of Techn.

Pascal

1967-1971

Niklaus Wirth

Federal Institute of Technology (Shveytsariya)

SIMULA

1967

Ole-Yoxan Dal, Kristen Nigaard

Norvegiya XM

Java

1995

Djeyms Gosling

Sun Microsystems



2. Dasturlash paradigmasi
Paradigma – (yunoncha paradigma - “namuna”, “o’rnak” ma’nolarini anglatadi) - ilmiy muammolarni hal etish na’munasi sifatida qabul qilingan nazariya. Masalan, Al –Xorazmiyning sonlar nazariyasida buyuk inqilob (0 –nol sonini arab raqamlariga (1,2,3,4,5,6,7,8,9) qo’shib pozitsion sanoq sistemasini kashf qilganligi) yasaganligi, ayniqsa - algoritm terminining fanga kiritilishi, V.Q.Qobilovning algoritmlash nazariyasi va shu kabi ta‘limotlar ham paradigmaga misol bo’la oladi. Demak, paradigma – ilmiy faoliyatning muayyan bir bosqichida aniq ilmiy tadqiqotni olib borishda foydalanish uchun nazariy metodologik asosdan iboratdir.
Dasturlash paradigmasi - bu kompyuter dasturlarini yozish uslubini aniqlovchi fikr yoki tushunchalar tizimi, shuningdek dasturchinig fikr yuritish obrazi.
Dasturlash paradigmasi - bu dasturlash yo’lini belgilab beruvchi g’oyalar va tushunchalar to’plami.
Paradigma “dasturchi yozishi kerak bo’lgan dasturlash uslubi” kabi ta’riflanadi. Bryus Shrayver (Bruce Shriver) paradigmani “muammo yechimiga model va yondashuv” kabi ta’riflaydi, Linda Friedman — “dasturlash muammosi yechimiga yondashuv” kabi aniqlaydi. Pamela Zave paradigmani “kompyuter sistemalari haqida fikrlash usuli” kabi ta’riflashni beradi.
Paradigma ta’riflanadi:

  • Hisoblash modellari asosida

  • Bazaviy dasturiy birliklar asosida

  • Abstraksiyalarga bo’lish metodlari asosida

Quyidagicha asosiy hisoblash modellari mavjud:

  • Tyuring mashinasi(imperativ dasturlash)

  • λ-hisoblashlar (funksional dasturlash)

  • Xarnovskiy dezyunktasiga asoslangan rezolyutsiyalar (mantiqiy dasturlash)

Eng keng tarqalgan paradigmalar quyidagilar:

  • Imperativ dasturlash

  • Strukturaviy dasturlash

  • Funksional dasturlash

  • Mantiqiy dasturlash

  • Obyektga yo’naltirilgan dasturlash

  • Aspektga yo’naltirilgan dasturlash

  • Dasturlash tiliga yo’naltirilgan metadasturlash.

Amaliy jihatdan olganda ko’pgina dasturlash tillari imperative va deklarativ paradigmali dasturlash tillariga bo’linadi.

Paradigmalarni qo’llanilishiga misol. Aytaylik, bizda quyidagicha elementlarga ega massiv berilgan bo’lsin:
5, 1, 3, 9, 12, 583, 998, 7538, 72, 53, 71, 85, 7, 2, 9
Mazkur massivdan 3 dan katta va 100 dan kichik sonlarni ajratib olish talab qilingan bo’lsin.
1. Deklarativ uslub. Deklarativ dasturlashda buni dasturchi quyidagicha yozadi:
3 dan katta va 100 dan kichik sonlarni massivdan ajratib ol.
Bunda dasturchi berilgan shartga ko’ra sonlar qanday ajratib olinishi kerak ekanligini yozmaydi, balki unga qanaqa natija kerak ekanligini yozadi.
2. Imperativ uslub. Imperativ dasturlashda esa massivdagi barcha sonlarni berilgan shartga tekshirib chiqish buyruqlarini yoziladi va shartni qanoatlantirganlarni ajratiladi:
N ta elementdan iborat massiv yaratiladi.
i o’zgarovchini 0 qiymat bilan e’lon qilinadi.
siklni boshi:
i nomerdagi massivning qiymati 3 dan katta va 100 dan kichik bo’lsa uni ekranga chiqar.
i ga 1 ni qo’shib uni 1 taga oshir.
Takrorla toki i ning qiymati N dan kichik ekan.
Sikl tugadi;
Yuqoridagi misollardan ko’rinadiki, demak, deklarativ dasturlashda dasturchi NIMA kerak ekanligini yozadi, imperative dasturlashda esa QANDAY olish kerak ekanligini yozadi.
Bu real dasturlash tillarida quyidagicha bo’ladi:

C# (imperativ)

SQL (deklarativ)

int[] N = new int[] { 5, 1, 3, 9, 12, 583, 998, 7538, 72, 53, 71, 85, 7, 2, 9 };

List nums = new List();

for(int i = 0; i < N.Length; i++)

{

if(N[i] > 3 && N[i] < 100)



{

nums.Add(N[i]);

}

}

int[] N2 = nums.ToArray();



SELECT num FROM N WHERE num > 3 AND num < 100;

Har bir paradigma o’zining qo’llanilish sohasi bo’yicha samarali hisoblanadi: imperativ paradigma animatsiyalar, grafik interfeyslar, skriptlar, o’yinlar va boshqa ko’plab sohalar uchun ishlatiladi, deklarativ paradigmalar esa hisoblashlar va ma’lumotlarga ishlov berish uchun ishlatiladi. Shu o’rinda qaysi paradigma yaxshi degan savolni berish to’g’ri bo’lmaydi.Ularning barchasi yaxshi, agar har biri o’zining vazifasida to’g’ri qo’llanilasagina.




3. Dasturlash uslublari
Dasturlash uslubi tushunchasi asosida dasturning manitiqiy va algoritmik kabi umumiy fundamental o’ziga xosliklarga ega bo’lgan bazaviy konstruksiyalari va ularni kompozitsiyalash usullarining umumiy va ichki mosligi yotadi.
Dasturlash uslubi shuningdek, dasturga aloqador bo’lgan bazaviy konsepsiyalarning mosligini o’z ichiga oladi.
Dasturlash uslubi dasturlash metodologiyasi orqali amalga oshiriladi.
Dasturlash uslublari tabiiy ravishda 3 ta koordinata bo’yicha sinflanadi: birinchi darajali va yuqori darajali, harakat va holatning globalligi va lokalligi.
Mavjud xarakteristikalar asosida dasturlash uslublari to’rtta birinchi darajali uslublarga ajraladi.
1. Tuzilmaviy dasturlash (harakat va shartlar lokal)
2. Holatga bog’liq dasturlash (harakat global, shartlar lokal)
3. Hodisalarga bog’liq dasturlash (harakat lokal, shartlar global).
4. Sentinsial dasturlash (harakat va shartlar global).


Nazorat savollari
1. Dasturlash tillarining rivojlanish bosqichlarini bayon qiling.
2. Dasturlash paradigmasi nima?
3. Qanday dasturlash paradigmalari mavjud?
Download 49.67 Kb.

Do'stlaringiz bilan baham:
1   2




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