«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.
#158666
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
Anvarjonova Dilafruz. Kompyuter grafikasidan kurs ishi

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 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