«amaliy matematika va informatika» kafedrasi «Kompyuter grafikasi» fanidan kurs ishi


II BOB. DASTURLASH TILLARINING GRAFIK IMKONIYATLARI



Download 3.2 Mb.
bet5/12
Sana29.08.2021
Hajmi3.2 Mb.
1   2   3   4   5   6   7   8   9   ...   12
II BOB. DASTURLASH TILLARINING GRAFIK IMKONIYATLARI

2.1 C++ dasturlash tilining grafik kutubxonasidan foydalanish

Kompyuter dunyosida ko'plab dasturlash tillari mavjud bo'lib, dasturlash va unga qiziquvchilar soni ortib bormoqda. Bir xil turdagi ishni bajaradigan dasturlarni Basic, Pascal, Ci va boshqa tillarda yozish mumkin. Pascal, Fortran va Kobol tillari universal tillar hisoblanadi, Ci va Assembler tillari mashina 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.



Odatda dasturlash yuqori saviyali dasturlash tillari (Delphi, Java, C++, Python) vositasida amalga oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi tufayli dastur tuzish jarayoni ancha oson kechadi. Biz hozir biladigan va ishlatadigan tillarning barchasi shu guruhga mansub. Ular insonga "tushunarli" tilda yoziladi.

Hozirda, amaliy dasturlar, asosan, Visual C++, C#, Borland Delphi, Borland C++, Java, Phyhon kabi tillarda tuziladi. O`zbekistonda ko`pchilik Delphi dan foydalanadi. Buning asosiy sababi: soddaligi, komponentlarning ko`pligi, interfeysining tushunarliligi va h.k. Delphida birinchi ishlagan odam ham qanaqadir dastur tuzishi oson kechadi. Lekin, Windows da dasturning asosiy ishlash mohiyatini ancha keyin biladi(komponentlarning ko`pligi va API funksiyalari dasturda ko`rsatilmasligi uchun). Yana bir tarafi, Delphi(Pascal) operativ xotirani tejashga kelganda ancha oqsaydi. Unda o`zgaruvchilarni oldindan e'lon qilib qo`yish evaziga ishlatilmaydigan o`zgaruvchilar va massivlar ham joy olib turadi.

Eng keng tarqalgan dasturlash tili(Windows OS ida) Microsoft Visual C++ tilidir. Ko`pchilik dasturlar hozirda shu tilda tuziladi. Umuman olganda, C ga o`xshash(C-подобный) tillar hozirda dasturlashda yetakchi. Deyarli hamma zamonaviy tillarning asosida C yotadi. Bundan tashqari, Turli komputer o'yinlari tuzishda yoki kichik hajmdagi dasturlar tayyorlashda LUA script yoki JavaScript tillari ham keng ishlatilmoqda.

Vaqt o`tgan sari mantiqiy masalalarning murakkablashuvi va texnologiyalarning rivojlanishi, dasturlash tillarining yanada takomillashishiga, imkoniyatlarining ortishiga ehtiyoj tug`dirmoqda.

Hozirgi kunda C++ dasturlash tilining barcha imkoniyatlaridan foydalangan holda, zamon talablariga javob beradigan dastur va ilovalar yaratish imkoni mavjud. C++ dasturlash tili funksionalligi bilan bir qatorda, uning sintaksisi boshqa dasturlash tillariga o`xshaganligi sababli, C++ tilini bilgan dasturchi uchun boshqa dasturlash tillarini o`rganish qiyinchilik tug`dirmaydi.

Barcha grafik dasturlar tezkor ishlashni talab qiladi va xuddi veb-brauzerlar singari, bu erda C ++ ham kechikishni kamaytirishga yordam beradi. Kompyuterni ko'rish, raqamli tasvirni qayta ishlash, yuqori darajadagi grafik ishlov berishdan foydalanadigan dasturiy ta'minot - bularning barchasi C ++ dan orqa dasturlash tili sifatida foydalaniladi. Grafika og'ir bo'lgan mashhur o'yinlarda ham asosiy dasturlash tili sifatida C ++ ishlatiladi. Bunday vaziyatlarda C ++ tezligi ishlab chiquvchilarga maqsadli auditoriyani kengaytirishda yordam beradi, chunki optimallashtirilgan dastur yuqori hisoblash qobiliyatiga ega bo'lmagan past darajadagi qurilmalarda ham ishlashi mumkin.

Ko'pgina yuqori darajadagi kutubxonalar asosiy dasturlash tili sifatida C ++ dan foydalanadi. Masalan, bir nechta Machine Learning kutubxonalari tezligi sababli C ++ dan foydalanadi. Machine Learning kutubxonalarida eng ko'p qo'llaniladigan Tensorflow dasturlash tili sifatida C ++ dan foydalanadi. Bunday kutubxonalar yuqori samarali hisoblashlarni talab qilar edi, chunki ular Machine Learning modellarini o'qitish uchun ulkan matritsalarni ko'paytirishni o'z ichiga oladi. Natijada, ishlash juda muhimdir. Bunday kutubxonalarda C ++ yordamga keladi.

C ++ grafik dasturlashning umumiy funktsiyalari:

arc () - berilgan burchak va berilgan radiusning yoyini hosil qiladi.

bar () - koordinatalari berilgan satr hosil qiladi.

doira () - berilgan radius doirasini hosil qiladi.

closegraph () - bu grafik rejimni yopdi va ajratilgan xotira qismlari.

ellips () - berilgan katta va kichik o'qi bilan ellips hosil qiladi.

floodfill () - toshqinlarni to'ldirish koordinatalari berilgan ma'lum bir nuqtaga ma'lum bir rangni to'ldirish uchun ishlatiladi.

line () - berilgan boshlanish va tugash nuqtalarining qatorini hosil qiladi.

Rectangle () - koordinatalari berilgan to'rtburchak hosil qiladi.

Matnlarni kiritish-chiqarish kabi, dasturimizni soddalashtirish uchun,
kiritish-chiqarish qurilmalari, operasion tizimlar va shu kabilar o’rtasidagi farqlarni bartaraf etuvchi kutubxonadan foydalanamiz. Afsuski, C++ tilida, kiritish-chiqarish standart oqimi kutubxonasiga o’xshash grafik foydalanuvchi interfeysi standart kutubxonasiga ega emas, shuning uchun mavjud kutubxonalardan biridan foydalanamiz.

C ++ ning ba'zi qiziqarli xususiyatlari:

Ob'ektga yo'naltirilgan: C ++ - ob'ektga yo'naltirilgan dasturlash tili. Bu shuni anglatadiki, diqqat "ob'ektlar" ga va ushbu ob'ektlar atrofidagi manipulyatsiyalarga qaratilgan. Ushbu manipulyatsiyalar qanday ishlashi haqida ma'lumot ob'ektning iste'molchisidan olinadi.

Boy kutubxonani qo'llab-quvvatlash: C ++ standart shablonlari kutubxonasi (STL) orqali tezkor kod yozishda yordam beradigan ko'plab funktsiyalar mavjud. Masalan, to'plamlar, xaritalar, xash jadvallar va boshqalar kabi turli xil konteynerlar uchun standart kutubxonalar mavjud.

Ko'pgina yuqori darajadagi kutubxonalar asosiy dasturlash tili sifatida C ++ dan foydalanadi. Masalan, bir nechta Machine Learning kutubxonalari tezligi sababli C ++ dan foydalanadi. Machine Learning kutubxonalarida eng ko'p qo'llaniladigan Tensorflow dasturlash tili sifatida C ++ dan foydalanadi. Bunday kutubxonalar yuqori samarali hisoblashlarni talab qilar edi, chunki ular Machine Learning modellarini o'qitish uchun ulkan matritsalarni ko'paytirishni o'z ichiga oladi. Natijada, ishlash juda muhimdir. Bunday kutubxonalarda C ++ yordamga keladi.

Tezlik: C ++ - bu kechikish muhim o'lchov bo'lganida afzal qilingan tanlovdir. Kompilyatsiya, shuningdek C ++ dasturining bajarilish vaqti boshqa dasturiy tillarning ko'pchiligiga qaraganda ancha tezroq.

Tuzilgan: C ++ kodini avval past darajadagi kodga kompilyatsiya qilish kerak va keyin kompilyatsiya kerak bo'lmagan talqin qilingan dasturlash tillaridan farqli o'laroq bajarish kerak.

Pointerni qo'llab-quvvatlash: C ++ shuningdek dasturlashda keng qo'llaniladigan va ko'pincha bir nechta dasturlash tillarida mavjud bo'lmagan ko'rsatgichlarni qo'llab-quvvatlaydi.

Bu dasturlashning eng muhim tillaridan biri, chunki siz foydalanadigan deyarli barcha dasturlarda / tizimlarda C / C ++ da yozilgan kod bazasining ba'zi yoki boshqa qismlari mavjud. U bo'lsin Windows bo'lsin, fotosuratlarni tahrirlash dasturi bo'lsin, xohlagan sevimli o'yiningiz bo'lsin, xoh veb-brauzeringiz bo'lsin, C ++ biz foydalanadigan deyarli barcha dasturlarda ajralmas rol o'ynaydi.
Bizning interfeys sinflar taqdim etayotgan dasturlash modellari, odatiy instrumental vositalar to’plami taklif etayotganga nisbatan soddaroq. Masalan, bizning grafik vositalar va grafik foydalanuvchi interfeysi to’liq kutubxonasi C++ tilida 600 ga yaqin kod satridan tashkil topgan, shu vaqtning o’zida FLTK kutubxonasi 370 satrdan tashkil topgan bo’ladi.

Bizning grafik olam qismimizni quyidagi ko’rinishda tasvirlash mumkin.



Bizning interfeys sinflar, rang uchun qo’llab-quvvatlovchi ikki o’lchamli shakllarni yaratish uchun oddiy va kengaytirilgan asoslarni tashkil qiladi. Bu sinflarni boshqarish uchun, ekranda joylashgan qayta chaqirish funksiyalari, ishga tushiruvchi tugmachalar va boshqa boshqaruvchi elementlarni grafik foydalanuvchi interfeysining oddiy mexanizmidan foydalanishni taklif etamiz.




Download 3.2 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   12




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

    Bosh sahifa
davlat universiteti
ta’lim vazirligi
maxsus ta’lim
O’zbekiston respublikasi
zbekiston respublikasi
axborot texnologiyalari
o’rta maxsus
guruh talabasi
nomidagi toshkent
davlat pedagogika
texnologiyalari universiteti
xorazmiy nomidagi
toshkent axborot
pedagogika instituti
haqida tushuncha
rivojlantirish vazirligi
toshkent davlat
Toshkent davlat
vazirligi toshkent
tashkil etish
matematika fakulteti
ta’limi vazirligi
samarqand davlat
kommunikatsiyalarini rivojlantirish
bilan ishlash
pedagogika universiteti
vazirligi muhammad
fanining predmeti
Darsning maqsadi
o’rta ta’lim
navoiy nomidagi
haqida umumiy
Ishdan maqsad
fizika matematika
nomidagi samarqand
fanlar fakulteti
moliya instituti
sinflar uchun
maxsus ta'lim
Nizomiy nomidagi
ta'lim vazirligi
Ўзбекистон республикаси
universiteti fizika
umumiy o’rta
Referat mavzu
таълим вазирлиги
respublikasi axborot
Toshkent axborot
Alisher navoiy
махсус таълим
Buxoro davlat