logo

FOYDALANUVCHI INTERFESINI YARATISHDA VEZUAL TEXNALOGIYALARDAN FOYDALANISH

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

3953 KB
FOYDALANUVCHI INTERFESINI YARATISHDA VEZUAL TEXNALOGIYALARDAN
FOYDALANISH
MUNDARIJA
Kirish…………………………………………………………………………… 3
1 - §.  Foydalanuvchi interfeysi haqida umumiy ma’lumotlar ............................... . 6
1.1. Foydalanuvchi interfeyslari turlari va ularni ishlab chiqish 
bosqichlari............................................................................................................ 6
1.2. Insonning axborotni idroki, xotiralashi va qayta ishlashi bilan bog’liq 
psixofizik xususiyatlari............................................................................ 13
1.3 .  Interfeysining  f oydalanuvchi va dasturiy modeli…………….......... 17
1.4 .   Muloqotlarning turkumlanishi va ularni ishlab chiqishning umumiy 
tamoyillari ……………………………………………………………………… 21
2- §. Ilovalarda grafik interfeyslardan 
foydalanish……………………………... 28
2.1. Foydalanuvchining grafik interfeysining asosiy komponentalari....... 28
2.2. Grafik foydalanuvchi interfeyslarida muloqotlarni amalga oshirish.. 33
2.3.   To’g’ridan   –   to’g’ri   monipulyatsiyali   foydalanuvchi   interfeyslari   va
ularni loyihalash................................................................................................... 36
2.4.  Foydalanuvchilar interfeyslarining inte le ktual elementlari ……........ 42
3-§.   Delphi   muhitida   ilovalar   yaratish   va   unda   qulay   interfeysni
tashkillashtirish.............................................................................................. 46
3.1.   Delphi   muhiti   va   foydalanuvchi   bilan   muloqotni   tashkillashtirishda
qo’llaniladigan komponentlar………………………………………………….. 46
3.2. Delphi muhitida grafik interfeysni tashkil qilish va undan foydanish  49
Xulosa………………………………………………………………………….. 56
Ilovalar…………………………………………………………………………. 57
Foydalanilgan adabiyotlar……………………………………………………… 58 Kirish
Hisoblash   texnikasi   rivojlanishining   oldingi   bosqichlarida   foydalanuvchi
interfeysi   operatsion   tizim   bilan   insonning   muloqot   vositasi   sifatida   qaralgan   va
ular   yetarlicha   dastlabkisi   hisoblanadi.   U   asosan   buyruqni   bajarish,   yuklash,   ular
bilan   aniq   ma’lumotlarni   bog’lash   va   hisoblash   texnikasi   o’rnatishlarga   xizmat
qiladigan qandaydir protseduralarni bajarish imkonini bergan. Texnik vositalarning
mukammallashuvi   asosida   maxsus   foydalanuvchi   interfeysiga   ega   interaktiv
dasturiy ta’minot yaratish imkoniyati paydo bo’ldi [4]. 
Hozirgi vaqtda asosiy muammolardan biri murakkab dasturiy maxsulotlarga
professional   bo’lmagan   foydalanuvchilar   ishlatishiga   mo’ljallangan   interaktiv
interfeyslarni ishlab chiqish hisoblanadi.  Oxirgi yillarda foydalanuvchining bunday
interfeyslarini yaratish bo’yicha asosiy konsepsiyalar shakllandi va ularni yaratish
metodikalarining bir nechtasi taklif etildi. 
Mavzuning   dolzarbligi .   Hozirgi   asr   inson   faoliyatining   barcha   sohalarini
avtomatlashtirish asridir. Shuning uchun ham zamonaviy axborot texnologiyalariga
va avtomatlashtirishning asosini tashkil etadigan yuqori sifatli dasturiy mahsulotlar
yaratishga   katta   e’tibor   berilmoqda.   Dunyodagi   ko’pgina   yetakchi   davlatlarning
tajribalari   shuni   ko’rsatmoqdaki,   dasturiy   mahsulot   yaratishdagi   arzimagan
xatoliklar   ham   oxir   oqibatda   ishlab   chiqarishdagi   uzilishlarga     va   boshqa
kutilmagan vaziyatlarga olib kelishi mumkin.
Shuning   uchun   ham   dasturiy   mahsulotlar   yaratish,   ularni   sozlash,
masalaning barcha holatlarini o’z ichiga olgan test masalalar yaratish va ular uchun
yaratilgan   dasturiy   mahsulotlarning   ishonchliligini   tekshirish   ishlab   chiqarish
jarayonlarini avtomatlashtirishda, qaralayotgan fizik jarayonlarning xususiyatlarini
to’liq   ochishda   ishlab   chiqaruvchi   va   foydalanuvchiga   yaratilgan   qulayliklari
hisobiga katta iqtisodiy foyda keltirishi mumkin.
Masalaning   qo’yilishi.   Ushbu   bitiruv   malakaviy   ishida   foydalanuvchi
uchun   mo’ljallangan   grafik   interfeys   elementlar,   qulayliklarni   zamonaviy programmalash   texnologiyasi   asosida   tashkillashtirish   masalasi   muhokama
qilinadi.   Interfeysning   elementlarini(forma,   boshqaruv   elementlar   va   h.k)   tashkil
etishning   texnologik   jarayoni   namoyish   etiladi.   Aniq   masalalarni   yechish
jarayonida   interfeysni   tashkillashtirish   bosqichlari   dasturiy   hal   etiladi.   Ish
natijalarini dasturiy tizimlarini loyihalash va o’qitishda qo’llash mumkin.
Ishning   maqsadi.   Ushbu   bitiruv   malakaviy   ishida   foydalanuvchi   uchun
mo’ljallangan grafik interfeys elementlar,   qulayliklarni zamonaviy programmalash
texnologiyasi asosida tashkillashtirish masalasi muhokama qilinadi.
Interfeysning   elementlari(forma,   boshqaruv   elementlar   va   h.k) ni   tashkil
etishning texnologik jarayoni namoyish etiladi.  
Aniq masalalarni yechish jarayonida interfeysni tashkillashtirish bosqichlari
dasturiy hal etiladi. 
Ishning vazifalari.  Bitiruv malakviy   ishda   quyidagi vazifalar hal etilgan:
-dasturiy   maxsulotlarga   professional   bo’lmagan   foydalanuvchilar
ishlatishiga mo’ljallangan interaktiv interfeyslarni ishlab chiqish;
-foydalanuvchi   interfeyslarini   yaratishning   asosiy   konsepsiyalari   va   ularni
yaratish metodikalarini o’rganish;
-foydalanuvchi   interfeyslarining   turlari   va   ularni   ishlab   chiqish   bosqichlari
tadqiq qilish;
- interfeysni  loyihalashda inson psixofiziologik xususiyatlarini hisobga olish
prinsiplariga e’tibor qilish.
-dasturiy vositani yaratish.
Ishning   ilmiy   va   amaliy   ahamiyati.   Mazkur   ish   foydalanuvchi   grafik
interfeysini ishlab chiqish va amaliy dasturiy ta’minotini yaratish nuqtai nazaridan
amaliy   va   tеxnologik   ahamiyatga   ega.   Unda   dasturlashning   vizual   muhitlari   va
qulayliklaridan   foydalanib   foydalanuvchining   grafik   interfeysli   ilovalar   yaratish
usul   va   mеxanizmlari   yoritilgan.   Shuningdеk,   ishni   o’quv-uslubiy   ahamiyatli
jihatlari   ham   mavjud   bo’lib,   undan   Windows   uchun   ilovalar   yaratishda   uslubiy
ko’rsatma sifatida ham foydalanish mumkin.  Qo’llanilgan   mеtod   va   tеxnologiyalar.   Ishni   bajarish   jarayonida
foydalanuvchi   interfeysini   tashkil   qilish   usullari,   bunda   ranglarni   to’g’ri   tanlash,
forma   elementlarini   joylashtirish,   menyularni   shakllantirish   prinsiplariga   rioya
qilish,   amaliy   dasturlar   bilan   ishlash   va   yuqori   darajali   tillarda   dasturlash
xususiyatlarini e’tibor olindi va foydalanildi.
Bitiruv   malakaviy   ish   uchta   paragraf,   xulosa,   adabiyotlar   ro’yxati   va
ilovalardan tuzilgan.
Birinchi   paragrafda   foydalanuvchi   interfeyslari   turlari   va   ularni   ishlab
chiqish bosqichlari, insonning axborotni idrok etishi, xotiralashi  va qayta ishlashi
bilan   bog’liq   psixofizik   xususiyatlari,   interfeysining   f oydalanuvchi     va   dasturiy
modeli,   m uloqotlarning   turkumlanishi   va   ularni   ishlab   chiqishning   umumiy
tamoyillari   to’g’risida   tushunchalar   kеltirilgan.   Ikkinchi   paragrafda
foydalanuvchining   grafik   interfeysining   asosiy   komponentalari,   grafik
foydalanuvchi   interfeyslarida   muloqotlarni   amalga   oshirish,   to’g’ridan   –   to’g’ri
monipulyatsiyali foydalanuvchi interfeyslari va ularni loyihalash, foydalanuvchilar
interfeyslarining   intelektual   elementlarini   yaratish   muhokama   qilingan.   Uchinchi
paragrafda   d elphi   muhiti   va   foydalanuvchi   bilan   muloqotni   tashkillashtirishda
qo’llaniladigan   komponentlar,   d elphi   muhitida   grafik   interfeysni   tashkil   qilish   va
undan foydanish dastur  ilovasi  va interfeysi  yaratilgan. Xulosada asosiy  natijalar,
adabiyotlar ro’yhatida ishlatilgan asosiy adabiyotlar va manbalar, oxiri ilovada esa
ishlab chiqilgan dasturning matnlari kеltirilgan. 1-§. Foydalanuvchi interfeysi haqida umumiy ma’lumotlar
1.1.  Foydalanuvchi interfeyslari turlari va ularni ishlab chiqish bosqichlari
Foydalanuvchi   interfeysi- kompyuter   bilan   foydalanuvchining   o’zaro
hamkorlikini   ta’minlovchi   dasturiy   va   apparat   vositalar   majmuasidan   iborat.
Bunday o’zaro hamkorlikning asosini muloqot tashkil etadi.   Ushbu holda muloqat
vaqtning   real   masshtabida   amalga   oshiriladigan   va   aniq   masalani   birgalikda
yechishga   yo’naltirilgan   inson   hamda   kompyuter   o’rtasida   axborotlarni
belgilangan   tartibda   almashish:   axborotlar   almashinish   va   harakatlarni   o’zaro
muvofiqlashtirish   tushuniladi[35].   Har   bir   muloqot   foydalanvchi   va   kompyuter
aloqasini   fizik   ta’minlaydigan   alohida   kiritish–chiqarish   jarayonlaridan   iborat   [1-
3]. 
Axborotlarni   almashinish   –   xabarlarni   uzatish   va   signallarni   boshqarish
orqali   amalga   oshiriladi.   Xabar   –   muloqotda   axborotlarni   almashinishda   ishtirok
etadigan axborotning bir bo’lagi. Xabarlar quyidagi turlarga ajratiladi:
–   kiritish   xabarlari,   bu   kiritish   vositalari:   klaviatura,   sichqoncha   va   h.k
yordamida inson tomonidan amalga oshiriladi.
–   chiqish   xabarlari,   bu   matn,   ovozli   signallar   yoki   tasvirlar   ko’rinishda
kompyuter   tomonidan   beriladi,   foydalanuvchiga   monitor   ekraniga   yoki
axborotlarni chop etish va boshqa qurilmalariga chiqariladi(1.1-rasm).
    Foydalanuvchi          Terminal          Kompyuter
Ovoz va      chiquvchi
   rasm       xabarlar
    Blokirovka
         Harakat        Kiruvchi 
        xabarlar
1.1-rasm.  Foydalanuvchi va kompyuter o’rtasidagi muloqotni tashkil qilish
Foydalanuvchi  asosan  quyidagi  turdagi  xabarlarni  amalga  oshiradi, axborot
so’rovi,   yordam   so’rovi,     amal   yoki   funksiya   so’rovi,   axborotlarni   kiritish   yoki Bajarilgan 
xabar
Ishlov berish
So’rovlar 
tahlili“ Eho”
chiqishi
       Ekran
Klaviatura va 
sichqonchaXabarlar 
tahlili
Qabul qilingan 
qaror
So’rovlar 
amalga oshishi o’zgartirish,   kadrlar   maydonini   tanlash   va   h.k.   U   javobda   quyidagilarni   oladi:
javob   talab   qilmaydigan   ko’rsatma   yoki   spravka,   informatsion   xabar,   harakatni
talab etuvchi  buyruqlar, javob harakatini    talab etuvchi  hatolar  haqidagi  xabarlar,
kadr formatini o’zgartirish va h. k.
Quyida   kiritish   chiqarish   amallarini   amalga   oshirishni   ta’minlovchi   asosiy
qurilmalar keltirilgan.
Xabarlarni chiqarish uchun: 
- Monoxrom   va   rangli   monitorlar   –   tezkor   matnli   va   grafik   ma’lmotlarni
chiqarish;
- Printerlar – matnli va grafik axborotlarni “qattiq nusxasini olish” 
- Grofopostroiteli  – grafik axborotlarni qattiq nusxasini olish;
- Nutq sentizatorlari – ovozli chiqarish;
- Tovush generatorlari – musiqa va shu kabilarni chiqarish.
Kiritish xabarlari uchun:
- Klaviatura – matnni kiritish;
- Planshetlar – grafikli kiritish;
- Skaner – grafikli kiritish;
- Manipulyator,   nurli   qalam,   boshqariluvchi   oyna   –   ekranda   axborotlarni
joylashtirish va tanlash.
Interfeyslarning   turlari.   Dasturlashtirishga   protsedurali   va   obyektli
yondashuvga   o’xshash   interfeyslarni   ishlab   chiqishda   protseduraga   yo’naltirilgan
va obyektga yo’naltirilgan yondashuvlar farqlanadi(1.2-rasm).
Foydalanuvchi
  interfeysi
Protseduraga 
yo’naltirilgan
Menyu Erkin navigatsiyali
Primitivli To’g’ridan-to’g’ri 
manupulyatorli Obyektga 
yo’naltirilgan 1.2-rasm.  Interfeys turlari
Protseduraga   yo’naltirilgan   interfeyslarda   “protsedura   va   harakat”
tushunchalariga   asoslangan   foydalanuvchi   bilan   o’zaro   hamkorlikning   an’anaviy
modeli   ishlatiladi.   Bu   model   doirasida   dasturiy   ta’minot   foydalanuvchiga   mos
ma’lumotlarni   aniqlash   uchun   qandaydir   harakatlarni   bajarish   imkoniyatini   va
natijada istagan natijalarni olish imkoniyatini beradi [5-8]. 
Obyektga yo’naltirilgan interfeyslarda predmet sohaning obyektlariga ishlov
berishga mo’ljallangan foydalanuvchi bilan o’zarohamkorlikning an’anaviy modeli
ishlatiladi.  Foydalanuvchiga  bu  model  doirasida  har  bir  obyekt  bilan  to’g’ridan  –
to’g’ri o’zarohamkorlik qilish imkoniyatini taqdim etadi va bir qancha obyektlarga
o’zaro   hamkorlik   qilish   jarayonida   amallarni   bajarish   amalga   oshiriladi(1.1   –
jadval). 
1.1 –jadval. Interfeys turlari va asosiy farqlari
Protseduraga yo’naltirilgan
foydalanuvchi interfeysi Obyektga yo’naltirilgan foydalanuvchi
interfaysi
Foydalanuvchiga   masalani   bajarish
uchun   zaruriy   funksyalar   bilan
ta ’ minlaydi .
Masalaga   e ’ tibor   qaratiladi
Piktogrammalar   ilova ,   oyna   yoki
amallarni   ifodalaydi .
Papka   va   spravochniklarning   tarkibi
jadval   va   ro ’ yhatlar   yordamida   aks
ettiriladi . Foydalanuvchilarga   obyektlar   bilan
o ’ zaro   hamkorlik   qilish   imkoniyatini
ta ’ minlaydi
Kirish   ma ’ lumotlariga   va   natijalariga
e ’ tibor   qaratiladi   beriladi
Piktogrammalar   obyektlarni   ifodalaydi
Papka   va   spravochniklar   ob ’ ektlarning
vizual   konteyneri   bo ’ ladi
Protseduraga   mo’ljallangan   interfeyslar   3   turga   ajratiladi:   “Primitivli”,
menyu va erkin navigatsiyali. 
Primitivli   interfeys   deb   –   foydalanuvchi   bilan   konsol   rejimda   o ’ zaro
hamkorlik   tashkillashtiriladigan   interfeysga   aytiladi .   Odatda   bunday   interfeys
dasturiy   ta ’ minot   ishlashining   aniq   senariysida   amalga   oshiriladi ,   masalan : ma ’ lumotlarni   kiritish   –   masalani   yechish   –   natijani   chop   etish   (1.3 a – rasm ).
Bunday   interfeys   ta ’ minlaydigan   ketma   –   ket   jarayondan   bir   qancha   ma ’ lumotlar
majmui   bilan   ishlash   uchun   sikllarni   tashkillashtirish   uchun   yagona   chetga   chiqish
sodir   bo ’ ladi (1.3 b – rasm ). 
1.3 – rasm.  Foydalanuvchi interfeysi dastur algoritmining tipik strukturasi:
a) chiziqli;    b)  takrorlanishga asoslangan
Hozirgi   paytda   bunday   interfeyslar   dasturlashni   o’rgatish   jarayonida   yoki
butun dastur bitta funksiyani masalan ayrim tizimli utilitlarda ishlatiladi. 
Menyuli   interfeys   primitivli   interfeyslardan   foydalanuvchiga   dastur
tomonidan   taqdim   etiladigan   maxsus   ro’yhatdan   zaruriy   amallarni   tanlash
imkoniyatini   berish   bilan   farq   qiladi.   Bu   interfeys   foydalanuvchi   tomonidan Yo’qHa Boshlash
Ma’lumotlarni 
kiritish
Hisoblash
Natijalar 
chiqishi
Tamomlash Yana 
ma’lumot
?
b)Boshlash
Ma’lumotlarni 
kiritish
Hisoblash
Natijalar 
chiqishi
Tamomlash
a) aniqlanadigan   ishlash   senariylar   to’plamini   va   amallar   ketma   –   ketligini   amalga
oshirishni taqdim etadi. 
Bir   pog’onali   va   iyerarxik   menyular   farqlanadi.   Birinchi   ko’p   bo’lmagan
hollarda (5-7 gacha) hisoblash jarayonlarini boshqarish uchun ishlatiladi va ular bir
xil  tipdagi   amallarni   o’z  ichiga  oladi. Masalan,  yaratish,  ochish,  saqlash,    va  h.k.
Ikkinchi   –   ko’p   sonli   hollar   va   ularning   turli-tumanligi   bilan   farqlanib   turadi,
masalan,     fayllar   ustida   amallar,   bu   fayllarda   saqlangan   ma’lumotlar   ustida
amallar. 
Bu tipdagi interfeyslar dasturlashga strukturali yondashuvli doirasida amalga
oshirish   murakkab   emas.   1.4-rasmda   bir   darajali   menyuni   tashkillashtirish   dastur
algoritmining tipik strukturasi keltirilgan. 
K=K
3K=K
2K=K
1 Boshlash
Tarmoqlanuvchi 
menyu
K ni kiritish
Harakat 2Harakat 1 Harakat 3K≠”Tamo
m”
         K≠?
Tarmoqlanuvchi 
menyu
K ni kiritish
Tamom 1.4 – rasm.   Bir darajali menyu dastur algoritmining tipik tuzilishi
Ko’p   pog’onali   menyuli   dasturining   algoritmi,   odatda,   darajalar   bo’yicha
tashkil   qilinadi.   Bunda   har   bir   darajaning   buyruqlarini   tanlash   bir   darajali
menyudagidek amalga oshiriladi. 
Menyuli interfeysida dastur yo menyu darajasi holatida yo amallarni bajarish
holatida   joylashgan   bo’ladi.   Menyu   darajasi   holatida   menyuning   mos   darajasini
bajarish va menyuning buyruqlarini tanlash amalga oshiriladi. Bajarish holatida esa
tanlangan   amal   senariysi   amalga   oshiriladi.   Foydalanuvchiga   senariyni   yoki
dasturni   bajarishga  bog’liq  bo’lmagan  holda   amallarni  yakunlashni,   masalan,   Esc
tugmasi bosganda taqdim etishi kerak. 
Daraxt   ko’rinishidagi   menyu   tashkillashtirishda   qat’iy   cheklash   nazarda
tutiladi:   daraxt   ildizi   bo’yicha     yuqoriga   o’tish   yoki   tanlangan   tarmoq   bo’yicha
pastga o’tish. Iyerarxik menyuning har bir pog’onasi ushbu darajaning bandlaridan
iborat   o’z   mos   oynasiga   ega.   Bunda   menyuni   amalga   oshirishda   ikki   xil   variant
mavjud:   menyuning   har   bir   oynasi   to’liq   ekranni   egallashi   yoki   ekranda
menyuning   bir   nechta   pog’onalari   bir   vaqtda   mavjud   bo’lishi   mumkin.   Ikkinchi
holatda tegishli yuqori pog’onadagi menyu bandlarini tanlash imkoniyatini beradi.
Navigatsiyalarni   cheklash   holatlarida   variantlarga   bog’liq   bo’lmagan   holda   ikki
pog’onali   men-   yudan   yuqori   kerakli   bandni   topishni   amalga   oshirish   yetarlicha
murakkab hisoblanadi.
Menyu   interfeys   hozirgi   kunda   kamdan   –  kam,   nisbatan   sodda   dasturlarda,
strukturali   texnologiya   va   maxsus   kutubxonalardan   foydalanish   zarur   bo’lmagan
holatlarda qo’llaniladi yoki ishlatiladi.
Erkin   navigatsiyali   interfeys   foydalanuvchi   interfeysi   yoki   WYSIWYG
(What   you   See   Is   What   You   Get   –nimani   ko’rsangiz   shuni   olasiz,   ya’ni
foydalanuvchi   ekranda   nimani   ko’rgan   bo’lsa   chop   etishda   shu   narsaga   ega
bo’ladi).   Bu   nomlanish   shuni   bildiradiki,   bunday   tipdagi   interfeyslar   ekranning
yuqori darajadagi grafik rejimidan foydalanishga mo’ljallangan.   Grafik interfeyslar foydalanuvchi bilan vizual teskari aloqani amalga oshirib
va   ekrandagi   ob’ektlar   va   informatsiyalarni   to’g’ridan   -   to’g’ri   manipulyatsiya
qilish   imkoniyatini   amalga   oshiradi,   dasturiy   ta’minot   bilan   interaktiv   o’zaro
hamkorlik   konsepsiyasini   qo’llaydi.   Bundan   tashqari   bunday   tipdagi   interfeys
dasturlar,   ular   orasida   axborotni   ko’chirish   imkoniyatini   qo’llagan   holda   o’zaro
moslik konsepsiyasini qo’llab quvvatlaydi (masalan: OLE texnologiya).
Menyu   interfeysdan   erkin   navigatsiyali   interfeys   farqli   ravshda   amal   aniq
holatidagi     har   qanday   ruxsat   etilganlarini   amalga   oshirish   imkoniyatini,   turli
interfeys   komponentlar   orqali   kirish   imkonini   ta’minlaydi.   Masalan,   Windows
interfeysni amalga oshiruvchi dastur oynasi odatda quyidagilardan tuziladi: 
– turli turdagi interfeyslar: qalquvchi, tugmali, kontekstli;
– ma’lumotlarni kiritishning turli xil ko’rinishdagi komponentalari.
Bunda   menyuning   tanlangan   amali   sichqoncha   bilan   ham,   klaviatura   bilan
ham amalga oshiriladi.
Bunday   turdagi   interfeyslarning   muhim   xususiyati   aniq   vaziyatda   ma’noga
ega   amallarni   tanlashni   taklif   etib,   foydalanuvchi   bilan   o’zaro   hamkorlik
jarayonida   o’zgarishga   qodirligi   xususiyatiga   ega(biron   matnni   belgilamasdan
o’zgartirib   bo’lmasligi).   Erkin   navigatsiyali   interfeysni   hosil   qilish   dasturiy
ta’minotning   hodisaviy   dasturlash   va   obyektga   yo’naltirilgan   kutubxonalardan
foydalanish  bilan  amalga  oshiriladi.  Obyektga   yo’naltirilgan  interfeyslar  hozircha
to’g’ridan –to’gri manipulyatsiyali interfeys bilan taqdim etilmoqda. Interfeysning
bu   tipi   foydalanuvchi   dasturiy   ta’minot   bilan   predmet   soha   obyektlariga   mos
piktogrammalarni   tanlash   va   siljitish   vositalari   bilan   amalga   oshirilisini   nazarda
tutadi.   Shuningdek,   bunday   interfeyslarni   amalga   oshirish   uchun   hodisaviy
dasturlash va obyektga yo’naltirilgan kutubxonalar ishlatiladi.
Bir   hujjatli   (SDI–Single   Document   Interfase)   va   ko’p   hujjatli   (MDI–
Multiple   Document   Interfase)   interfeyslar   ham   mavjud.   Bir   hujjatli   yoki   „bir
oynali“ interfeyslar nomidan aytilgandek, faqat bir hujjat bilan, masalan matn yoki
rasm bilan ishlashni tashkillashtiradi. Boshqa matnni ko’rish uchun ilovaning yana bitta nusxasini  ishga tushirish  zarur  bo’ladi, bu faqatgina  multidasturli  operatsion
tizimlarda   mumkin.   Shuning   uchun   bunday   interfeyslar   bir   vaqtda   bir   nechta
hujjatlar bilan ishlash ehtimoli kam bo’lganda foydalaniladi[1-3].
Ko’p   hujjatli   yoki   „ko’p   oynali“   interfeys   foydalanuvchi   bir   vaqtda   bir
nechta   hujjatlar   bilan   ishlash   ehtimoli   yuqori   holatlarda   tashkillashtiriladi.   Bu
interfeyslarni amalga oshirish yetarlicha murakkab. 
Foydalanuvchi interfeyslarini ishlab chiqish bosqichlari.     Foydalanuvchi
interfeysini   ishlab   chiqish   dasturiy   ta’minotni   ishlab   chiqishning   asosiy
bosqichlarini o’z ichiga oladi:
–   masalaning   qo’yilishi–   interfeys   tipi   va   unga   qo’yiladigan   talablarni
aniqlash;
–   talablarni   tahlili   va   spesifikatsiyalarni   aniqlash–interfeys   foydalanish
senariyasi va foydalanuvchi modelini aniqlash;
–   loyihalash–muloqotlarni   loyihalash   va   ularni   kiritish-chiqarish   shaklida
amalga oshirish;
– amalga oshirish – interfeysli jarayonlarni dasturlashtirish va testlash.  
Primitiv   interfeysda   yagona   ssenary:   kiritish-ishlov   berish-chiqarish
ishlatiladi. Bu foydalanish uchun qulay emas. 
1.2. Insonning axborotni idroki, xotiralashi va qayta ishlashi bilan
bog’liq psixofizik xususiyatlari
Foydalanuvchi interfeyslarini loyihalashda insonning axborotni idrok etishi,
xotiralashi  va  qayta  ishlashi  bilan  bog’liq  psixofizik xususiyatlarini  hisobga  olish
zarur. 
Inson   miyasi   ishlash   tamoyillarini   tadqiq   etish   bilan   kognittiv     psixologiya
shug’ullanadi.   Bu   soha   mutaxassislari   1.5-rasmda   keltirilgan   miyaning
soddalashgan axborot-protsessual modelini taklif etadilar.
Bizning miyamizga tashqi dunyo haqidagi ma’lumotni katta miqdorda qabul
qilinadi.   Miyaning   shartli   ravishda   “qabul   qilish   prosessori”   deb   atalgan   qismi
ongning ishtirokisiz doimo uni qayta ishlaydi, oldingi tajriba bilan taqqoslaydi va oldingi   saqlanadigan   joyga   ko’rish,   tovush   va   boshqa   obrazlar   ko’rinishida
joylashtiriladi.
1.5 –rasm.  Miyyaning soddalashgan axborot-protsessual modeli.
Biz   uchun   qandaydir   to’satdan   yoki   ahamiyatli   atrofdagi   o’zgarishlar
bizning   diqqatimizni   tortadi   va   unda   bizni   qiziqtiruvchi   axborot   qisqa   muddatli
xotiraga   qabul   qilinadi.   Agar   bizning   diqqatimiz   jalb   etilmasa,   u   holda
saqlanadigan joydagi axborot keyingi qismlari bilan bosilib yo’qoladi. Har bir vaqt
momentida diqqat fokusi bitta nuqtada bo’lishi mumkin. Shuning uchun,  agar “bir
vaqtda”   bir   nechta   vaziyatlarni   kuzatish   zarur   bo’lsa,   u   holda   fokus   bitta
kuzatilayotgan   elementdan   ikkinchisiga   o’tadi.   Unda   diqqat   “tarqoqlanadi”   va
qandaydir   detallari   yo’qolishi   mumkin.   Masalan,   Windows   oynasi   chiziqli
o’tkazgichdan   foydalanib   matn   yoki   rasmni   o’tkazilganda,   bir   vaqtning   o’zida
qayerda   to’xtashini   aniqlash   uchun   matnga   va   o’tkazgich   strelkachasiga   qarash
kerak   bo’ladi.   Matn   muhimroq   bo’lgani   uchun   diqqat   sichqonchaga   o’tadi   va   u
chiziqli o’tkazgich strelkasidan yo’qoladi. Takrorlanish va 
muhimlilik filtiriBilish 
protsessori
Harakat 
protsessori Doimiy xotira
Kesh xotira (t<30 s)
Saqlash
Saqlash joyi Filtrlashni boshlash
Tashqi muhitdagi axborotlarni 
idrok etish    Idrok qilish porotsessori  bilan qayta ishlash biror  vaqtni talab etadi, agarda
qayta ishlov vaqtidan kam vaqt davomida berilsa u holda bizning miya uni qabul
qilmaydi. 
Idrok   ko’p   hollarda   motivasiyaga   asoslanadi.   Masalan,   agar   inson   och
bo’lsa,   u   birinchi   navbatda   barcha   yeydigan   narsalarga   e’tibor   beradi,   agar
charchasa-xonaga kirib, birinchi navbatda divan yoki kerovatni ko’radi. 
Axborotni   qayta   ishlash   jarayonida   qabul   qilinayotgan   ma’lumotlarni   miya
oldingilari bilan taqqoslashini ham hisobga olish zarur. Agar insonga 
A,   B,   C   simvollar   ketma-ketligi   ko’rsatilsa,   u   B   ni     13   deb   qabul   qilish
mumkin. 
Kadr almashganda miya biroz vaqt to’xtaydi: u eng muhim detallarni ajratib
yangi   rasmni   o’zlashtiradi.   Demak,   agar   foydalanuvchining   tez   reaksiyasi   zarur
bo’lsa, rasmni tez o’zgartirish maqsadga muvofiq emas. 
Qisqa   muddatli   xotira-insonning   “axborotlarga   ishlov   berish”   eng   tor   joyi.
Uning   hajmi   taqriban   7±2   bog’liq   bo’lmagan   obyektlar   soniga   teng.   Qisqa
muddatli   xitira   o’z   jinsiga   ko’ra   miyaning   operativ   xotirasi   hisoblanadi,   u   bilan
bilish   possesori   ishlaydi,   lekin   talab   etilmagan   ma’lumot   unda   30   s   dan   ortiq
saqlanmaydi. Bizga zarur bo’lgan qandaydir ma’lumotni esdan chiqarmaslik uchun
uni “ichimizda” takrorlaymiz. Uni qisqa muddat “xotirada” yangilaymiz. Shunday
qilib, interfeyslarni loyihalashda ko’pchilik odamlarga, masalan, 5(7-2) dan ziyod
raqamli   son   yoki   harflarning   biror   guruhini   eslab   qolish   va   boshqa   ekranga
chiqarish murakkab. 
Odamlar   har   bir   faoliyatga   u   qanday   bajarilishi   haqida   o’z   tushunchasini
kiritadi.   Bu   tushuncha   -faoliyat   modeli   –insonning   oldingi   tajribasiga   asoslanadi.
Bunday modellarning to’plami insonning uzoq muddatli xotirasida saqlanadi. 
Uzoq   muddat   xotiraga   doimo   takrorlanuvchi   yoki   kuchli   ehtiroslar   bilan
bog’liq   axborotlar   yoziladi.   Uzoq   muddatli   xotira   hajmi   va   chegaralanmagan
axborot   saqlanadigan   joy.   Lekin   bu   axborotga   kirish   oson   emas:   xotiradan
axborotni   chiqarib   olish   mexanizmlari   ossistativ   xarakterga   ega.   Axborotni   eslab qolishning   maxsus   metodikasi   (mnemonika)   xotiraning   xossasidan   foydalanadi:
axborotni   eslab   qolish   uchun   uni   xotirada   saqlangan   va   oson   chiqarib   olish
mumkin bo’lgan m’lumotlar bilan bog’lanadi[9-10].
Uzoq   muddatli   xotiraga   kirish   qiyin   bo’lgani   uchun   foydalanuvchi   zarur
axborotni eslashga emas u uni tanishga erishish lozim. Shuning  uchun ham menyu
tipidagi interfeys juda ko’p qo’llaniladi. 
Rangni   qabul   qilish   xususiyatlari.   Rang   inson   ongida   emotsional   fon   bilan
assaotsionalanadi.   Ma’lumki,   issiq   ranglar   qizil,   malla,   sariq   insonni   qo’zg’atadi,
sovuq   ranglar   ko’k,   binafsha,   kulrang   tinchlantiruvchi.   Rang   inson   uchun   kuchli
qo’zgatuvchidir,   shuning   uchun   interfeysda   rangni   qo’llashga   ehtiyotkorlik   bilan
munosabatda bo’lish kerak. 
Chiziqlarning   ko’pligi   diqqatni   jalb   etadi,   lekin   tez   charchatadi.   Shuning
uchun foydalanuvchi uzoq ishlaydigan xona oynalarini yorqin bo’lish kerak emas.
Insonning   rangni   qabul   qilish   individual   xususiyat   ekanligini   ham   hisobga   olish
zarur,   har   10   kishidan   biri   qandaydir   ranglarni   yamon   farqlaydi.   Shuning   uchun
ma’suliyatli  hollarda foydalanuvchiga ranglarni  zozlashiga imkon berishi lozim. 
Tovush qabul qilish xususiyatlari.   Interfeyslarda tovush turli maqsadlarda
foydalanadi.   Diqqatni   jalb   etish   uchun,   foydalanuvchi   biror   holatini   ta’minlovchi
fon,   qo’shimcha   malumot   manbai   va   hakozolar   maqsadida   tovushni   qo’llaniladi.
Ko’pgina   inson   tovush   signallariga   sezgirligini   hisobga   olish   zarur,  ayniqsa,   agar
ular   xato   borligini   ko’rsatsa,   shuning   uchun   tovushli   hamrohlikni   yaratishda
o’chirish imkoniyati ko’zda tutish lozim.
Vaqtni   subektiv   qabul   qilish.   Insonga   vaqtni   subektiv   qabul   qilish   xos.
Ichki   vaqt   qayta   ishlanayotgan   va   qabul   qilayotgan   axborot   tezlik   miqdoriga
bog’liq. Band kishi agarda vaqtni sezmaydi.  Kutish vaqtida vaqt ho’ziladi, bu esa
bu vaqtda miya axborot bo’shlig’ida bo’lganligidadir, bu holatda charchashga ham
olib keladi.
Aytish   kerakki,   foydalanuvchi   1–2   s.   ziyod   kutganda   chalg’iydi,   fikrini
yo’qotish   mumkin,   bu   esa   ish   natijalariga   salbiy   ta’sir   ko’rsatadi   va   charchoqni oshiradi,   chunki   kutishdan   so’ng   har   marta   ishga   kirishish   uchun   ko’p   aql
sarflanadi.   Kutish   vaqtini   qisqartirish   mumkin,   foydalanuvchi   ishiga   loqayt
bo’lmaslik   bilan   masalan,   uni   o’ylash   uchun   qandaydir   ma’lumotni   berish
mumkin.   Imkoni   boricha   foydalanuvchi   oraliq   natijalarini   chiqarib   berish   lozim:
Birinchidan,     u   o’ylash   bilan   band   bo’ladi,     ikkinchidan,   ular   bo’yicha   u   kelgusi
natijalarni baholaydi, agar ular qanoatlantirmasa amalni bekor qiladi.
Foydalanuvchi   “ko’ngilini   olish   uchun”   animatsiyalardan   foydalanishga
urinish mumkin, masalan, Windowsda fayllarni nusxalashda ular varaqchalar bilan
oraliq  ko’rsatiladi.  Lekin qandaydir  animatsiyani   birinchi   marta  ko’rsak  bu  qiziq,
yarim soat davomida  varaqlar qanday “uchishini” kuzatish charchatadi. 
Zo’riqishni kamaytirish uchun quyidagi asosiy qoidalarga rioya qilish lozim:
foydalanuvchiga   u   buyurtma   bergan   amallar   bajarilishiga   qancha   vaqtini   talab
etishidan   xabar     berishi   lozim.   Odatda   buning   uchun   qolgan   vaqt   indikatorlari,
internetdagi animatsiyalangan obyektlar va subektiga, shuningdek qumli soatlarga
almashtirilgan   holda   berish.   Tizim   qolgan   ishini   davom   ettirish   momentini   aniq
baholash   muhim.   Buning   uchun,   odatda,   ekran   boshqa   qurilmalar   jiddiy
o’zgarishlaridan foydalaniladi. Natijada foydalanuvchi va interfeysni o’zaro ta’siri
nafaqat   turli   gaplarda   berilgan   axborot   qabul   qilish,   qayta   ishlash   va   tejab   qolish
bo’yicha   fizik   imkoniyatlari   va   xususiyatlari   bilan   bog’liq   interfeysning
foydalanish modeli bilan aniqlanadi.
1.3 .   Interfeysining  f oydalanuvchi  va dasturiy modeli
Foydalanuvchi interfeysining uchta bir - biridan   farqlanuvchi modeli mavjud:
dasturchining   modeli,   foydalanuvchining   modeli   va   dasturiy   model.   Dasturchi
foydalanuvchi  interfeysi  ishlab  chiqishda  foydalanuvchi  interfeysida unga  qanaqa
amallarni   boshqarishni   ro’yobga   chiqish   zaruriyligidan   chetga   chiqib,   balki   buni
kompyuterning mavjud resurslarini ham, o’z kuchini va vaqtini ham kam  sarf etib
qanday   yuzaga   chiqarishni   asos   qilib   oladi.   Uni   dasturiy   ta’minotning
funksionalligi, samaradorligi, texnologligi, ichki mukammaligi va foydalanuvchiga
qulaylik   bilan   bog’liq   bo’lmagan   xususiyatlar   qiziqtiradi.     Aynan   shuning   uchun dasturlarda   mavjud   ko’pgina   interfeyslar   foydalanuvchilar   jiddiy   e’tirozlariga
sabab bo’ladi [1].
To’g’ri   fikr   yuritish   nuqtai   nazaridan   yaxshi   interfeys   deb   hisoblash
mumkin, foydalanuvchi ishlash jarayonida aynan u kutgan interfeysga ega bo’lsa.
Foydalanuvchining     interfeys   funksiyalari   haqidagi     tasavvurini   interfeysning
foydalanuvchi modeli ko’rinishida ta’riflash mumkin. 
  Interfeysning   foydalanuvchi   modeli   –   bu   alohida   foydalanuvchi   yoki   bir
qancha foydalanuvchilar guruhining dasturlar yoki dasturlar tizimi ishlash vaqtida
yuz beradigan jarayonlar haqidagi umumlashgan tasavvurlar majmuasi.  Bu model
quyidagilar   bilan   xarakterlanadigan   alohida   foydalanuvchining   tajriba
xususiyatlariga  asoslanadi:
– dasturiy ta’minoti ishlab chiqilayotgan predmet sohaga doir ma’lumotlilik
darajasi;
– kompyuterdan foydalanish sohasidagi malaka darajasi;
– kompyuter bilan ishlash stereotipiyaga chidamliligi.
Foydalanuvchi   modelini   yaratish   uchun   dasturiy   ta’minot   mo’ljallangan
foydalanuvchilar   tajribasi   yuqorida   ko’rsatilgan   xususiyatlarini   o’rganish   zarur.
Shu   maqsadda   so’rovlar,   testlar   foydalaniladi   va   hatto   ayrim   amallarni   bajarish
jarayonida   amalga   oshiriladigan   harakatlar   ketma–ketligi   plyonkaga   yozib
qo’yiladi.
Foydalanuvchi   va   dasturchi   modellar   mosligi   hamda   ular   asosida
interfeysning   dasturiy   modelni   qurish   keltirilgan   ( 1.6 –rasm).   Murakkab
avtomatlashtiriladigan   predmet   sohaga   qaraganda   foydalanuvchi   modeli
xususiyatlarini   hisobga   olib   va   ishlab   chiqishda   ham   ishlash   vaqtida   ham   katta
mehnat   sarfini   talab   yetmaydigan     interfeysning   dasturiy   modelini   qurish
murakkabligini   namoyon   qiladi.   Shu   nuqtai   nazardan   obyektli   interfeyslar
istiqbolliroq   ekan,   chunki   ular   asosida   foydalanuvchi   ish   ko’rayotgan   predmet
soha obyektlarini aks etishi yotadi. Hozirgi vaqtda ularni amalga yetarlicha mehnat
sarfini talab etadi [11-12] .  Interfeysning   dasturiy   modelini   yaratishda   shuningdek,   foydalanuvchi
modelini  o’zgartirish  oson  emasligini   nazarda  tutishi  zarur. Foydalanuvchilarning
kasbiy darajasi va  ularning kompyuterdan foydalanish sohasidagi bilimlari oshishi
dasturiy   ta’minot   yaratuvchilar   kompetensiyasiga   kirmasa   ham,   ko’pincha   sodir
bo’ladigan   jarayonlar   mohiyatini   mos   aks   etiradigan   talab   darajasida   yaratilagan
interfeys foydalanuvchi malakasini o’sishiga yordam beradi.
Predmet   sohadagi   amallarni   bajarishning   intuitiv   modeli   interfeyslarni
yaratuvchilar   uchun   muhim   bo’lib   qolishi   kerak,     shunda   ko’p   hollarda   ularni
o’zgartirmasdan,   mukammallashtirish   zarur.   Aynan     amallar   bajarilishini   intuitiv
model bilan ish ko’rishni istamaslik yoki imkon yo’qligi  foydalanuvchi tomonidan
salbiy qabul qilinadigan sun’iy yasama interfeyslarning yaralishiga olib keladi.  
Ba’zida   o’zgarish   uchun   qulay   bo’lgan   yagona   element   –   kompyuter   bilan
ishlashning turg’un bo’lib qolgan qolipi hisoblanadi, lekin keskin o’zgartirishlar –
ta’sirli   jarayondir.   Agar   biror   inqilobiy   o’zgarish   foydalanuvchining
imkoniyatlarini   kengaytirsa   yoki   uning   ishini   osonlashtirsa,   masalan,   Windows
interfeyslarga   o’tish   juda   ko’p   sondagi   professional   bo’lmagan
foydalanuvchilarning   kompyuter   bilan   ishlashini   juda   ham   soddalashtirdi,   bunga
harakat   qilsa   arziydi.   Qoliplarni   mayda   narsalar   bo’yicha   yoki   qabul   qilingan
g’oyaga   noto’g’ri   rioya   qilib   buzish   ishlab   chiquvchi   qanday   jarayon   ro’y
berayotganligini   tushunmaydigan   foydalanuvchilardan   xalos   bo’lish   xavfiga   ega
bo’ladi.   Misol   sifatida,   ishchi   stolidagi   piktogramma   bo’yicha   o’ng   tugmani   ikki
marta   bosish   bilan   yoki   agar   piktogramma   Quik   Launch   Windows   panelga
chiqarilgan bo’lsa, bir marta bosish bilan dasturlarni chaqirishda chalkashlikka yo’l
qo’yish mumkinligini eslatib o’tamiz.
Foydalanuvchilar   tomonidan   interfeysni   baholash   mezonlar.   Dasturiy
ta’minotni ishlab chiqish bo’yicha yetakchi firmalar tomonidan olib borilgan ko’p
sonli   so’rovlar   va   tadqiqotlar   ko’rsatishicha   foydalanuvchilar   tomonidan
interfeyslarni baholash mezonlar quyidagilar hisoblanadi: –tizimni o’zlashtirish va amallarni yodda saqlash soddaligi – muayyan holda
o’zlashtirishga sarflangan vaqt va xotirada axborotni saqlash davom etish muddati
baholanadi;
– tizimdan foydalanganda natijalarga erishish tezligi–buyruq va sozlashlarni
sichqoncha bilan kiritish yoki tanlashlar soni bilan aniqlanadi;
– tizim faoliyatidan subyektiv qoniqish (ishlash qulayligi,  toliqish va h.).
1.6 – rasm.  Foydanalanuvchi interfeysini loyihalash jarayoni
Aynan bitta paketda doyimiy ishlovchi professional foydalanuvchilar uchun
ikkinchi   va   uchinchi   mezonlar   birinchi   o’rinda   tursa,   davriy   va   nisbatan   qiyin
bo’lmagan   masalani   bajaruvchi   dasturiy   ta’minot   bilan   ishlovchi     professional Dasturiy ta’minotning predmet sohasi
Dasturchi modeli:
platforma;
operatsion tizim(OT);
mutaxasis yondashuvi;
mutaxasis usuli;
mutaxasis muhiti va tili
spesifikatsiya va h. k. Foydalanuvchi modeli:
intuitive model;
formalniy model;
masala;
jarayon;
asboblar;
natija va h. k.
Dastur modeli
Dasturchi modeli;
Foydalanuvchi modeli;
Interfeys turi;
Metaformalar;
Belgilar va h. k. bo’lmagan   foydalanuvchilar   uchun   esa   birinchi   va   uchinchi   mezon   muhim
hisoblanadi.   Shu   nuqtai   nazardan   bugungi   kunda   professional   foydalanuvchilar
uchun erkin navigasiyaga ega interfeys, professional    bo’lmagan foydalanuvchilar
uchun   to’g’ridan–to’g’ri   manipulyasiya   qiladigan   interfeys   eng   yaxshi
xarakteristkalar bo’ladi.
1.4.  Muloqotlarning turkumlanishi va ularni ishlab chiqishning umumiy
tamoyillari
Muloqot   turi.   Muloqotnin g   turi   axborot   almashinish   jarayonini
“suhbatdoshlarning” qaysi biri boshqarishini aniqlaydi. Mos ravishda muloqot ikki
turini   ajratiladi:   dastur   tomonidan     boshqariladigan   va   foydalanuvchi   tomonidan
boshqariladigan.  
Dastur tomonidan   boshqariladigan muloqot dasturiy ta’minotda o’rnatilgan
muloqot   ssenariyasi   qat’iylik,   chiziqlilik   yoki   daraxt   shaklilik,   ya’ni   mumkin
bo’lgan   muqobil   variantlar   kiritilganlik   borligi   ko’zda   tutiladi.   Bunday   muloqot
odatda   har   bir   qadamda   qanaqa   axborotni   kiritish   zarurligi     oydinlashtiradigan
katta miqdordagi yo’l ko’rsatuvchi ma’lumotlar bilan davom etadi.  
Foydalanuvchi   tomonidan   boshqariladigan   muloqot   tizimga   uning   bajarishi
zarur   bo’lgan   amallar   uchun   qo’llaydigan   muloqot   ssenariyasi   foydalanuvchidan
bog’liqligi  nazarda tutiladi. Bunda tizim foydalanuvchining turli xil ssenariyalarini
amalga oshirish imkoniyatlarini ta’minlaydi [4-7].
Muloqotning   shakli.   Agar   “suhbatdoshlarga”   tushunadigan   til   mavjud
bo’lmasa hech qanday muloqot amalga oshmaydi. Muloqot  olib borilayotgan tilni
tavsiflashga   uning   sinta ks isini–   tilning   bo’lishi   mumkin   bo’lgan   konstruksiyalar
(so’zlar,   gaplar)   aniqlovchi   qoida   yoki   uni   shaklini   hamda   semannikani   –tilning
konkret   konstruksiyasi   sintaksis   ma’nosi   aniqlovchi   qoida   yoki   uning   mazmunini
aniqlash   kiradi.   Sintaksis   va   semantikaning   konkret   holatdagi   foydalanilayotgan
turiga bog’liq ravishda muloqotning uch shakli farqlanadi:
– frazali (jumlali);
– direktivali (ko’rsatmali); – jadvalli.
Frazali   shakl   foydalanuvchi   bilan   “aloqa”   tabiiy   til   yoki   uning   qismiy
to’plamida   bo’ladi.   Ushbu   shakldagi   muloqot   tarkibi   so’roq,   darak   va   undov
gaplardan  hamda   savollarga   javoblardan  tuziladi.   Aloqa   erkin   shaklda   (formatda)
amalga   oshirilish,   ammo   alohida   frazalarning  qayd   etilishi   ham   bo’lishi   mumkin.
Tabiiy tilda muloqotni tashkillashtirish bu zamon darajasidagi –masala hal etilgani
yo’q,   chunki   tabiiy   til   nihoyatda   murakkab   va   hozircha   uning   sintaksisi   va
semantikasi yetarli darajada formallashtirgan emas.
Ko’pincha lo’nda javobga mo’ljallangan muloqotdan foydalaniladi, masalan:
Dastur: Yoshingizni kiriting:
Foydalanuvchi: 40.
Bu   holda   dastur   ishlatilayotgan   cheklangan–tabiiy   tilining   sintaksisi   ham,
semantikasi   ham   cheklovlar   tavsifiga   ega   bo’ladi.   Ushbu   misolda   “butun   musbat
son” tushunchasi sistaksisini aniqlash va son qiymatiga cheklov qo’yish yetarli.
Ammo,    asosan   intellektual  tizimlar  uchun  tabiiy til  gaplarning  cheklangan
qismiy   to’plami   asosida   interfeyslar   yaratish   bo’yicha   ayri m   tajribalar   mavjud.
Bunday  interfeyslarda  amalga  oshiriladigan muloqot   tili   sintaksisi   va semantikasi
yetarlicha murakkab.
Bunday holatlardagi frazalarga ishlov berishda so’z shakli tushunchasi bilan
ish   ko’riladi.   So’z   shakli–   ikkita   qo’shnilar   orasida   probellar   yoki   tinish   belgilar
bo’lgan   matnning   bo’lagi.   Ma’nosini   e’tibor   bermasdan   so’z   shakllariga   ishlov
berish  morfologik tahlil  deyiladi. 
Morfologik tahlilning ikki usuli ajratiladi:
–   deklarativ   –   lug’atda   har   bir   so’zning   barcha   mumkin   bo’lgan   so’z
shakllari topilishi nazarda tutiladi, u holda tahlil lug’atdagi so’z shaklini izlashdan
iborat bo’ladi. Ushbu   usul lotin, krill yoki bosh alfavitlar katta va kichik harflari
i xtiyoriy   kombinasiyasidan   tuzilgan   xabarlarga   ishlov   berish   imkoniyayatini
ta’minlaydi. –   prosedurali   –joriy   so’z   shaklining   keyin   identifikasi yalanadigan   negizini
ajratish ko’zda tutiladi. 
So’z   shakli   aniqlangandan   so’ng   xabarlarning   sintaksis   tahlili   amalga
oshiriladi,   natijada   ularning   sintaksis   tuzilishi   aniqlanadi,   ya’ni   gapning   tahlili
bajariladi.
Keyin   semantik   tahlil   bajariladi,   ya’ni   so’z   shakllari   orasidagi     ma’noviy
aloqalar   aniqlanadi.   Bunda   gapning   ma’nosini   aniqlaydigan   asosiy   predikatlar
ajratiladi. 
Shunday qilib, muloqotning frazali  shaklini  amalga oshiradigan  interfeysda
xabarlarni tabiiy til shaklidan ichki tasvirlanish shakligan va aksincha almashtirish,
foydalanuvchi xabarini tahlil va sintezini bajarish shart.    
Tabiiy   tilning   qismiy   to’plamidan   foydalanishda   frazali   shaklning   asosiy
kamchiliklari  quyidagilar hisoblanadi:
–   resurslarning katta sarf ettilishi;
–  formulirovkani bir ma’noli talqin qilishning kafolati mavjudmasligi;
– uzun grammatik to’g’ri frazalari kiritish zarurligi.
Frazali   shaklning   asosiy   afzalligi   tizim   bilan   nisbatan   erkin   muloqot
qilishdan iborat.
Direktiv   shakl   maxsus   ishlab   chiqilgan   formal   tilning   buyruqlaridan
(direktivlaridan)   foydalanish   nazar   tutiladi.   Bu   holatda   kombinatsiyalangan
ma’lumotlarni   tavsiflovchi   buyruqlar   shu   tilning   gaplari   deb   ataladi,   bunda
bo’layotgan   jarayonning   identifikatorini,   zaruryat   bo’lganda   uning   uchun
ma’lumotlarni ham qamrab oladi.      
Buyruqlarni quyidagicha kiritish mumkin:
– maxsus  ishlab chiqilgan formatdagi matnning satri ko’rinishida, masalan,
buyruqlar satrida kiritiladigan MS DOS buyruqlari;
–   klaviatura   klavishlari   ayrim   kombinasiyalarini   bosish   bilan,   masalan,
zamonaviy Windows- ilovalarining “tezkor murojaat” kombinasiyalari; – sichqonchani   manipulasiya   qilish   vositasi   bilan,   masalan,
piktogrammalarni “ko’chirish bilan”;
– ikkinchi va uchinchi usullar kombinasiyalari bilan.
Direktiv shaklning asosiy afzalliklari ushbulardan iborat:
– kiritiladigan axborot larning nisbatan katta bo’lmasligi;
–   moslashuvchanligi–bu   holda   faqat   mumkin   bo’lgan   buyruqlar   to’plami
bilan chegaralangan amallarni tanlash imkoniyati;
– muloqotda foydalanuvchi tomonidan boshqaruviga mo’ljallanganligi;
–   ekrannning   minimal   sohasidan   foydalanish   yoki   undan   umuman
foydalanmaslik;
– boshqa shakllar bilan birlashtirish mikoniyati.   
Direktiv shaklning kamchiliklari:
–   ekranda   ko’rsatmalar   umumman   mavjudmasligi,   bunda   kiritiladigan
buyruqlarni va ularning sintaksisini yodda saqlash talab etiladi;
–   bo’layotgan   jarayonning   holati   haqidagi   teskari   aloqa   deyarli   to’liq
bo’lmasligi;
–   matnli   axborotni   kiritish   yoki   sichqonchani   manipulasiya   qilish   bo’yicha
ko’nikma zarurligi;
– foydalanuvchi tomonidan sozlashlar bajarishning imkoniyati yo’qligi.
Tadqiqotlar   shuni   ko’rsatadiki,   direktiv   shakl   odatda   ko’p   foydalaniladigan
buyruqlar   sintaksisi   yoki   klavishlar   kombinasiyasini   tez   yodda   saqlab   qoladigan
professional   foydalanuvchilar   uchun   qulay   hisoblanadi.   Shaklning   asosiy
afzaliklari   (moslashuvchanlik   va   yaxshi   vaqtli   xusussiyatlar)   bu   holda   ayniqsa
yorqin ko’rinadi[1-4].
Jadvalli   shakl     foydalanuvchi   dastur   tomonidan   taklif   etilganidan   javob
tanlanilishi nazarda tutiladi. Jadvalli shakl uchun muloqot tili soddaroq sintaksis va
yetarlicha   oson   amalga   oshiriladigan   bir   qiymatli   semantikaga   ega   bo’ladi.   Bu
shakl foydalanuvchi uchun qulay, chunki hamisha yodga keltirishdan ko’ra tanlash
osonroq,   ayniqsa   professional   bo’lmagan   foydalanuvchi   yoki   konkret   dasturiy ta’minot   kam   foydalanadigan   foydalanuvchilar   uchun     muhim.   Ammo,   jadvalli
shaklni   hamisha   ham   qo’llash   imkoni   mavjud   emas:   uni   konkret   savolga   faqat
mumkin   bo’lgan   javoblar   to’plami   chekli   bo’lsa   foydalanish   mumkin.   Agar
mumkin   bo’lgan   javoblar   miqdori   ko’p   (   20   dan   ortiq)   bo’lsa,   jadvalli   shaklni
qo’llash maqsadga muvofiq bo’lmaydi.
Jadvalli shaklning afzalliklar:
–     ko’rsatmalar   mavjudligi,   bu   foydalanuvchi   xotirasiga   bo’ladigan
zo’riqishni kamaytiradi, chunki ushbu shakl yodda saqlashga emas, balki tanishga
mo’ljallangan;
–   kiritishdagi   xatolar   miqdorining   qisqarishi:   foydalanuvchi   axborot
kiritmaydi, balki unga ko’rsatadi;
– foydalanuvchini o’rgatish vaqtining qisqarishi;
– boshqa shakllar bilan birlashtirish imkoniyati;
– ayrim hollarda foydalanuvchi tomonidan sozlashlar bajarish imkoniyati.
Uning kamchiliklariga quyidagilar kiradi:
– ekran bo’ylab navigasiya ko’nikmalariga ega bo’lish zaruriyati;
–vizual   komponentlarni   tasvirlash   uchun   ekranning   nisbatan   katta
maydonidan foydalanish;
–   ekrandagi   axborotni   doimo   yangilash   zaruriyati   bilan   bog’liq   ravishda
kompyuter resurslarilardan intensiv foydalanish.
Ta’kidlash   kerakki,   muloqot   turi   va   shakli   bir   –biridan   mustaqil   tanlanadi:
har bir shakl muloqotning ikkala turi uchun qo’llanilishi mumkin (1.7 –rasm).
1.7 –rasm.  Muloqot turi va uning shakllari mosligiMuloqot turi Foydalanuvchi
boshqaradigan
Tizim boshqaradigan Direktiv 
Frazali
Jadvalli Muloqot shakli Ammo,   foydalanuvchi   tomonidan   boshqariladigan   muloqotdagi   frazali
shakl,   odatda,   muloqot   tilining   murakkabroq   sintaksis   va   semantikani   bo’lishini
taqoza etadi, chunki dastur foydalanuvchini “tushinishi” kerak. 
Murakkab   dasturiy   ta’minot,   odatda,   foydalanuvchi   bilan   yechilayotngan
masalaga   bog’liq   ravishda   turli   xil   turdagi   va   shakldagi   muloqot   vositalari   bilan
o’zaro   hamkorlik   qiladi.   Dasturiy   ta’minotning   normal   ishlashi   jarayonida   sodir
bo’ladigan   sinxronli   deb nomlanadigan muloqotdan tashqari, tizimning tashabbusi
bo’yicha   yoki   foydalanuvchining   normal   jarayon   ssenariyasini   buzganda   sodir
bo’ladigan   muloqotlar   ham   nazarda   tutiladi.   Bunday   muloqotlar   asinxronli   deb
ataladi.   Odatda,   ular   tizim   yoki   foydalanuvchidan     kutilmagan   xabarlarni   olish
uchun ishlatiladi.
Muloqotlarni   ishlab   chiqish.   Muloqotlarni   loyihalash   va   amalg   oshirishni
quyidagi bosqichlarga bo’lish mumkin: 
–   zaruriy   muloqotlar,   ularning   asosiy   xabarlari   va   mumkin   bo’lgan
ssenariyalar to’plamini aniqqlash –  abstrakt muloqotlarni  loyihalash;
–   har   bir   muloqot   turi   va   shaklini,   shuningdek,   foydalananiladigan   tillar
sinaksis va semantikasini aniqlash –  konkret muloqotlarni   loyihalash;
-   asosiy   va   qo’shimcha   qurilmalarni   tanlash   va   har   bir   muloqot   uchun
kiritish-chiqarish   jarayonlarini   loyihalash   hamda   uzatiladigan   xabarlar
aniqlashtirish - texnik muloqotni loyihalash.
Abstrakt   muloqotlarning   asosini   dasturiy   mahsulotga   belgilangan
avtomatlashtirish   uchun   texnologik   jarayon   ideologiyasi   yotadi.   Aynan
avtomatlashtililayotgan   texnologik   jarayonning   tuzilishi   tahlil   qilinib,   ishlab
chiquvchi   dasturiy   ta’minotda   nazarda   tutilish   zarur   bo’lgan   muloqot
ssenariyalarini aniqlaydi.
Ssenariyalardan   tashqari,   abstrakt   muloqotlarni   loyihalashda   interfeyslar
holatlari diagrammasi yoki muloqot graflari ishlatiladi. 
Muloqot   grafi   -har   bir   uchi   ekranda   konkret   kartinka   ( kadr )   yoki
foydalanuvchiga   ruxsat   berilgan   amallar   to’plami   bilan   xarakterlanadigan muloqotning   ma’lum   holati     mos   qo’yilgan   yo’naltilgan   muallaq     graf.   Uchidan
chiquvchi yoylar foydalanuvchi tomonidan ko’rsatilgan amalni bajarishda holatlari
mumkin   bo’lgan   o’zgarishlarni   ko’rsatib   turadi.   Yoylar   vazni   sifatida   holatdan
holatga o’tishlarda shartlarni va o’tish vaqtida bajariladigan amallarni  ko ’ rsatadi. 2- §. Ilovalarda grafik   interfeyslardan foydalanish
2.1. Foydalanuvchining grafik interfeysining asosiy komponentalari
Foydalanuvchining   grafik   interfeysi     Windows,   Apple   Macintosh,   OS/2   va
h.k.  operasion   tizimlar   qo’llab  quvvatlaydi.   Bunday   interfeyslar   uchun   keltirilgan
opera t sion   tizimlar   doirasida   foydalanuvchi   bilan   o’zarohamkorlik   qiluvchi
standart   komponent a lar   to’plami   ishlab   chiqilgan.   Bu   to’plam   turli   opera t sion
tizimlarda   interfeyslar   bilan   ishlash   asosiy   yo’llari     bir   xil   emas.   Ko’pgina
zamonaviy dasturlarda foydalanuvchi  interfeysi  WIMP: W - Windows (oyna), I -
Icons   (piktogrammalar),   M   -   Mouse   (sichqoncha),   P   -   Pop-up   (qalqib   chiquvchi
menyu)   texnologiyasi   asosida   quriladi.     Shu   tarzda,   foydalanuvchining   grafik
interfeysi   asosiy   elementlari   quyidagilar   hisoblanadi:   oyna,   piktogrammalar,
kiritish–chiqarish   komponentlari,   ekrandagi   obyektlarni   ko’rsatuvchi   qurilma   va
to’g’ridan–to’g’ri   manipulyatsiya   qiladigan   qurilma   sifatida   foydalaniladigan
sichqoncha.
Oyna.   Oyna–odatdagi   to’g’ri   to’rtburchak,   fizik   ekranning   ramka   bilan
chegaralangan   sohasi.   Oyna   ekran   doirasida   o’lchamini   va   joylashish   o’rnini
o’zgartirishi mumkin. Barcha oynalar 5 toifaga ajratiladi:
– asosiy oyna (ilovalar oynasi);
– sho’ba yoki tobe oyna;
– muloqot oynasi;
– informa t sion oyna;
– menyu oynasi. 
Windows   ilovalar   oynasi   ( 2.1 –rasm)   odatda   quyidagilardan   tuziladi:
oynaning ishchi  sohasini  chegaralovchi  ramka, tizimli  menyu knopkali  va oynani
ko’rinishini   tanlash   chiqish   knopkalariga   ega   sarlavha   satri,   menyu   satri,
piktografik   menyu(asboblar   paneli),   gorizontal   va   vertikal   o’tkazish   chiziqlar   va
holatlar satri.
Windows   sho’ba   oynasi   ( 2.2 a–rasm)   bir   vaqtda   bir   necha   hujjatlar   bilan
ishlash   ko’zda   tutilgan   dasturiy   ta’minotdagi   ko’p   hujjatli   dasturiy   interfeyslarda foydalaniladi.   Ilovalar   oynasidan   farqli   ravishda   sho’ba   oynasida   menyu
bo’lmaydi. Sarlavha satrida– hujjat yoki fayl bog’liq maxsus nom bo’ladi. Barcha
sho’ba oynalarda piktogrammalar bir xil. 
Windows   muloqot   oynasi   ( 2.2 b–rasm)   turli   xil   ishlash   tartibini,   zaruriy
parametrlarni   yoki   boshqa   axborotlarni   ko’rish   va   berish   uchun   ishlatiladi.   U
quyidagilardan tuzilishi mumkin:
– tizimli menyu knopkali sarlavha satri;
–   foydalanuvchiga   javobni   kiritish   yoki   tanlash   imkoniyatini   beruvchi
komponentlar;
–   ko’rsatma   berishni   ta’minovchi   yordamchi   komponentlar,   masalan,
dastlabki ko’rish maydoni yoki ma’lumotnomaga murojaat qiluvchi knopka.
2.1 –rasm.  Ilova oynasi va uning elementlari
Odatda,   muloqot   oynaning   o’lchami   o’zgarmaydigan   bo’ladi,   ammo   uni
ekran bo’ylab siljitish mumkin  [1-3] . Ramka Oynani 
yopishOynaning ko’rinishini tanlovchi tugmalar
Asboblar
paneliMenyu Tizimli 
menyu Sarlavha
Ishchi
oyna Informasion   oyna   ikki   turda   bo’ladi:   xabarlar   oynasi   va   yordam   oynasi.
Xabarlar oynasi   ( 2.2 d–rasm ) tizim menyu knopkali sarlavhadan tashqari xabarlar
matnni   va   bir   yoki   bir   nechta   foydalanuvchiga   beriladigan   knopka,   masalan,   Yes
va No knopkalar yoki  Yes, No va Cancel knopkalar bo’ladi.   
Yordam  oynasi   murakkabroq  strukturaga  ega:  u  menyu,  o’tkazgich  chizig’i
va   informatsion   soha,   ya’ni   ilovaning   oynasiga   o’xshash,   ammo   farqlanish
ma’lumotnomali   axborotda   harakatni   ta’minlaydigan   maxsus   vazifasiga   ega,
tuzilish mumkin.  
Windows menyu oynasi iyerarxik menyuning ochiluvchi paneli sifatida yoki
alohida  kontekst   menyu   sifatida   foydalaniladi.     Menyu   oynasining   har   bir   satrida
quyidagilarga biri bo’lishi mumkin:
– buyruq;
– strelka bilan belgilanuvchi menyuning keyingi darajasi;
– uchta nuqta bilan belgilanuvchi muloqot oyna.
Bundan   tashqari,   ayrim   satrlarda   tez   chaqirishni   klavishlar   ko’rsatish   qo’shilishi
mumkin.
Piktogrammalar. Piktogramma u bog’langan bufer mazmunini aks ettiruvchi
katta   bo’lmagan   grafik   tasvirli   oynani   ifodalaydi.   Ularning   quyidagi   turlari
farqlanadi:
– dasturiy piktogrammalar;
– sho’ba oynalar piktogrammalar;
– asboblar paneli piktogrammalar;
– obyektlar piktogrammalari.
Dasturiy   piktogrammalar   operasion   tizim   boshqaradigan   mos   dastur   bilan
bog’langan.   Shunday     ilova   oynasini   Windows   masalalar   paneli   piktogrammaga
“yig’ish” yoki uni aksincha “ishchi stoliga yoyish” mumkin. A b
D e
2.2 –rasm.  Windows yordamchi oynalarining ko’rinishlari:
a) –sho’ba oynasi, b) –muloqot oynasi, d) –xabarlar oynasi, e) –menyu
oynasi(moslashuvchan)
  Asboblar   paneli   piktogrammalari   odatda   menyuning   ularga   tezkor
murojaatni ta’minlab mos funksiyasiga kirishni takrorlaydi.
Obyektlar   piktogrammalari   ushbu   obyektlar   bilan   to’g’ridan–to’g’ri
manipulyasiya   qilish   uchun   foydalaniladi.   Odatda,   barcha   piktogrammalarni
sichqoncha   bilan   siljitish   mumkin.   Bundan   tashqari,   piktogrammalar   bilan
ishlashni   osonlashtirish   uchun   foydalanuvchi   asboblar   paneli   piktogrammalar
ustida sichqonchani  bir qancha vaqt ushlab turganda paydo bo’ladigan “namoyon
bo’ladigan” ko’rsatmadan foydalaniladi.  
Tasvirlar   bilan   to’g’ridan–to’g’ri   manipul ya siya   qilish.   Tasvirlar   bilan
to’g’ridan–to’g’ri   manipulasiya   qilish   –bu   qanadaydir   obyektga   ta’sir   ko’rsatish
buyruqni interfeysdagi sichqoncha yordamida amalga oshiriladigan fizik harakatga almashtirish   imkoniyati.   Bunda   ekranning   ixtiyoriy   sohasi   sichqoncha   kursori
harakati   va   tugmasi   bosganda   faollashishi   mumkin   bo’lgan   oluvchi   (adresat)
sifatida qaraladi.
Ta’sir ko’rsatish reaksiyasi bo’yicha quyidagi turdagi adresatlar farqlanadi:
–   ko’rsatish va tanlash (piktogrammani yoyish, faol oynani aniqlash va h.k.);
– tortish va “rezinali ip” (obyekt yoki uning chegarasini ko’chirish);
– ekranli knopka va “sirpanuvchi” to’siq.
Grafik   interfeyslarda   ekrandagi   tasvirni   o’zgarishini   o’zida   ifodalaydigan
dinamik   vizual   signal   bilan   so’ngi   bo’lmagan   ahamiyatiga   qo’yilmaydi.   Bu
signallarning asosiy maqsadi foydalanuvchiga qo’shimcha axborotni taqdim etishi
bo’ladi.  
Kiritish–chiqarish   komponentlari.   Yuqorida   aytilganidek,   ilova
oynalaridan   axborotni   kiritish–chiqarish   uchun   ishlatiladigan   maxsus
komponentlar   joylashtirilishi   mumkin.   Har   qanday   zamonaviy   dasturiy
ta’minotning   interfeysi   bir   qancha   menyu   kiritiladi:   asosiy   menyu   yoki   “qalqib
chiquvchi”   iyerarxik   menyu,   piktografik   menyu   (asboblar   paneli)   va   turli
holatlardagi   kontekst   menyu.   Ko’rsatilgan   menyularning   ixtiyoriysi   jadvalli
shaklda   foydalanib,   foydalanuvchi   bilan   muloqotni   amalga   oshiruvchi     kiritish–
chiqarish komponentdan tuziladi. Iyerarxik menyu   dasturiy bajariladigan amallar
ta’minlash   bilan   agar   ularning   soni   5–8   dan   oshmasa   tashkillashtirish   uchun
ishlatiladi .
Asboblar   paneli   va   kontekst   menyu   ko’p   ishlatiladigan   buyruqlarni
ta’minlash   uchun   va   foydalanuvchiga   nisbatan   erkin   harakat   qilish   imkoniyatini
berish.   Bundan   tashqari,   interfeyslarda   ularda   qanday   muloqot   shakli   amalga
oshirishiga   mos   ravishda   uch   guruhga   ajratiladigan   boshqa   kiritish–chiqarish
komponentlari ham foydalaniladi.      2.2. Grafik foydalanuvchi interfeyslarida muloqotlarni amalga oshirish
Odatda ,   rivojlangan   foydalanuvchi   interfeysiga   ega   dasturiy   ta ’ minot   ikkala
tipdagi   foydalanuvchi   boshqaradigan   va   tizim   boshaqaradigan   muloqotlardan
foydalanadi . 
Foydalanuvchi tomonidan boshqaruvchi  muloqotlarni  amalga oshirish.
Foydalanuvchi   tomonidan   boshqaradigan   muloqotni   amalga   oshirish   uchun   turli
ko’rinishdagi   menyular   qo’llaniladi:   asosiy,   asboblar   paneli,   kontekstli   va
tugmachali, ya’ni alohida tugmachalardan iborat. Menyuga muqobil sifatida asosiy
buyruqlarga tugmachalarning ma’lum kombinatsiyalarini mos qo’yib muloqotning
diriktev   shaklidan   foydalanish   maqsadga   muvofiqdir.   Bundan   tashqari,   menyuni
klaviatura bilan boshqarish imkoniyatini ko’zda tutish maqsadga muvofiq. Bu esa
tizim   bilan   ishlashning   ko’p   vaqtida   foydalanuvchi   matni   yoki   ma’lumotlarni
kiritsa, ya’ni klaviatura bilan ishlashda juda muhimdir. 
Menyu.   Menyu   ishlab   chiqilayotgan   dasturiy   ta’minot   muloqotlar   grafigi
yordamida   loyihalanadi.   Bunda,   agar   amallar   soni   beshdan   oshmasa,   u   holda
odatda tugmachalardan foydalanadi. Agar amallar soni 5-10 dan oshmasa, u holda
–   bir   darajali   menyu   va   nihoyat   agar   amalga   oshiriladigan   amallar   soni   10   dan
oshsa, u holda „pastga tushuvchi” ikki darajali iyerarxik menyudan foydalaniladi. 
Pastga   tushuvchi   menyu.   Iyerarxik   menyuning   birinchi   darajasi   amallar
asosiy   guruhlari   nomlarini   o’z   ichiga   olishi   lozim.   An’ana   bo’yicha   birinchi   fayl
ikkinchisi   –   tahrirlash,   uchinchi   –ko’rinish,   oxirgisi   –   ma’lumot   bo’ladi.
Bandlarning   bunday   taqsimlash   fayllarida,   masalan,   matn   va   grafik   muarrirlarda
joylashgan   ma’lumotlarni   qayta   ishlash   dasturlari   uchun   xos.   Keyingi   paytda
bandlarning   bunday   joylashishi   bilan   muammolar   paydo   bo’lmoqda.   Ko’pgina
dasturlar bu an’anaviy usul bilan ishlamaydi. 2.1-jadval. Interfeysda ishlatiladigan komponentlar
Komponent Ko’rinishi Amalga
oshirish
shakli Foydalanish xususiyati
Label – belgi Frazali Odatda,   ishlash   jarayonida
o’zgartirilmaydigan
х abarlarni chiqarish
Edit –birsatrli redaktor Frazali Uzun   bo’lmagan   xabarlarni
kiritish– chiqarish: so’z, son,
va h. k.
  Memo–   ko’p   satrli
redactor Frazali Matnli ma’lumotlarni kiritish
– chiqarish
Button – tugma Jadvalli Harakatni amalga oshirish
CheckButton-   tanlash
elementi  Jadvalli Parametrni   tanlash   yoki
inkor etish 
RadioGroup   –
radiotugmalar guruhi Jadvalli Bir   yoki   bir   nechta
variantlardan   birini   tanlash
(ularning   soni   6   -10   dan
oshmagan hollarda)
ListBox – ro’yhat Jadvalli Bir   yoki   bir   nechta
variantlardan birini tanlash
TrackBar – ko’rsatkich Jadvalli Belgilangan   oraliqdan   sonni
tanlash
TabControl, 
PageControl – zakladka Jadvalli Ko’p   parametrlarda
harakatni yahshilash DBNavigator – 
navigator Jadvalli  Jadvaldagi   harakatni   tashkil
etish
ComboBox   –element
qo’shish   imkoniyatli
ro’yhat Kombina
siyali Ro’yxatdan   tanlash   yoki
qiymat kiritish
SpinEdit–qiymatni
oshirish   va   kamaytirish
imkoniyatiga   ega   bir
satrli redaktori Kombina
siyali Qiymat   kiritish   yoki
o’zgartirish
Agar amallar soni 70-80 dan oshsa u holda bunday katta sonli amallarga ega
ko’rgazmali   menyuni   hosil   qilish   muammosi   paydo   bo’ladi.   MS   Word   ishlab
chiqaruvchilari   qiziq   yechimni   taklif   etishgan.   Ular   moslashuvchan   iyerarxik
menyuni   amalga   oshirishdi,   unda   ikkinchi   darajali   menyu   oynalari   doimiy
o’zgaradi,   faqat   foydalanuvchi   ishlayotgan   amallarnigina   aks   ettiradi.   Agar
foydalanuvchi   zarur   amalni   topmasa,   u   holda   bir   necha   sekunddan   so’ng   yoki
Wordning maxsus tugmachasini bosganda menyu oynasi to’liq namoyish etadi. 
Asboblar   paneli.   Asboblar   paneliga   ko’p   foydalaniladigan   amallar
piktogrammadan   foydalaniladi.   Agar   bunday   amallar   to’plami   ishlab
chiqarilayotgan   ta’minoti   bilan   bajariladigan   ishlar   xususiyatiga   bog’liq   bo’lsa,   u
holda foydala–      nuvchi asboblar panelini o’zining ixtiyoriga ko’ra shakllantirish
imkoniyati   bilan   bilan   ta’minlanish   maqsadga   muvofiq.   Misol   sifatida,   Microsoft
Word   sozlash   (Servis/sozlash)   amali   shunday   yo’lga   qo’yilganligini   qarash
mumkin. 
Kontekstli   menyu.   Kontekstli   menyu   ilovalar   oynasi   berilgan   sohasidan
murojaat qilish ehtimoli bilan ishlab chiqaruvchi nuqtai nazaridan tashkil bo’lgan
amallarini   o’z   ichiga   oladi.   “Foydalanish   qulayligi”   testlashtirish   jarayonida
kontekstli   menyuning   mazmuni   aniqlashtirish   mumkin.   Asosiy   menyu   holidagi kabi   bu   menyuning   amallar   soni   6-8   dan   oshishi   yaxshi   emas.   Foydalanuvchiga
zarur amalni izlashni yengillashtirish uchun konteksli menyu amallarini gorizontal
chiziqlar bilan guruhlarga ajratish maqsadga muvofiq. 
Tizim tomonidan boshqariladigan muloqotlarni amalga oshirish.   Tizim
bilan   boshqariladigan   muloqotlarni   amalga   oshirish   uchun   odatda   muloqot
oynalaridan  foydalaniladi.  Agar  muloqot  jarayonida  sozlanadigan   elementlar   soni
ko’p bo’lmasa va muloqotga ketma –ket ssenariy mos kelsa, u holda barcha zarur
komponentalarni   o’z   ichiga   oluvchi   bitta   muloqot   ostiga   loyihalanadi.   Bunday
oyna ko’pincha forma deb ataladi. Agar muloqot keyingi savol olingan javoblarga
bog’liq bo’lgan kuchli tarmoqlangan tuzilmaga ega bo’lsa yoki muloqot jarayonida
sozlanadigan   elementlar   soni   ko’p   bo’lsa,   u   holda   muloqotning   har   bir   qadami
uchun   o’zining   muloqot   oynasi   loyihalanadi.   Formalarni   loyihalash   interfeysning
zarur  komponentlarini  tanlash va ularni  muloqot  oynasida joylashtirishdan iborat.
Agar   komponentalar   soni   4-5   dan   ko’p   bo’lsa,   u   holda   ularning   ramkalardan
foydalanib vizual bo’lishi maqsadga muvofiq. 
Muloqot   oynalarni   ketma   –   ketligini   loyihalash.   Yuqorida   eslatib
o’tilganidek,   tizim   bilan   boshqariladigan   muloqotlar   asosida   qat’iy   yoki   qat’iy
bo’lmagan   holda   berilgan   ssenariy   yotadi.   Bu   ssenariy   oynasida   ketma   –   ketligi
bilan   amalga   oshiriladi.   Ssenariyning   qat’iylik   darajasiga   bog’liq   bo’lmasdan
bunday   ketma   –   ketlikni   oldingi   qadamga   qaytish   imkoniyatini   nazarda   tutish
zarur.
Muloqotlarni   amalga   oshirish   natijasida   olingan   interfeys   to’liqligicha
tekshiriladi,   so’ngra   foydalanuvchiga   qo’llanish   qulayligini   testlash   uchun   taklif
etadi.   Shubha   bo’lganda   bir   necha   variant   taklif   etish   mumkin.   Interfeys
ma’qullanganidan so’ng tegishli protseduralar kodlanib, amalga oshiriladi. 
2.3. To’g’ridan – to’g’ri monipulyatsiyali foydalanuvchi interfeyslari va
ularni loyihalash WIMP interfeyslarida ko’zda tutilgan to’g’ridan – to’g’ri manipulyatsiyalash
imkoniyati   ilovalar   uchun   to’g’ridan   –   to’g’ri   manipulyatsiyali   obyektga
yo’naltirilgan interfeyslarni yaratishga imkon beradi. 
Bu   tipdagi   interfeyslar   tashqi   darajadagi   muloqotning   direktivali   shaklidan
foydalanadi:   buyruqni   kiritish   obyekt   piktogrammasi   bilan   ma’lum   amallarni
sichqoncha   bilan   bajarishda   amalga   oshiriladi.   Bu   interfeyslarning   asosiy
elementlari:   metafora,   obyektlarni   taqdim   etishning   Drag   and   Drop
texnologiyasi(“ko’chirib olib berding va tashlading”).
Metaforalar .   Metafora   –   bir   obyektni   xossa   yoki   belgilarini   boshqasiga
fikran   ko’chirish.   Interfeyslarda   metaforalardan   foydalanish,   foydalanuvchida
mavjud tajribani (kundalik hayotda yoki ish joyida o’xshash amallarni bajarishning
mental modellarini) faollashtirishni nazarda tutadi. 
To’g’ridan   –   to’g’ri   manipulyatsiyalash   interfeysi   foydalanuvchiga   kasb
faoliyatida va turmushda ko’p marta uchragan unga tanish elementlarni o’z ichiga
olgan muhitni ta’minlashi va unga alohida obyektlar bilan ishlay olish imkoniyatini
berishi   lozim.   Metaforalarning   borligi   foydalanuvchi   uchun   interfeysni
o’zlashtirish   jarayonini   soddalashtiradi.   Masalan,     fayllarni   o’chirish   uchun
Windows   foydalanadigan   “chiqindini   tashlash”   metaforasi   foydalanuvchiga   bu
amalni o’zlashtirishini osonlashtiradi. 
Metaforalardan   juda   ehtiyotlik   bilan   foydalanish   kerak,   chunki   bundagi
ma’no   interfeysning   barcha   elementlariga   beriladi,   masalan,   o’xshash   elementlar
o’zlarini o’xshash tarzda bo’lishlari, bitta rang bilan ajratilgan elementlar bir – biri
bilan ma’lum bog’lanishda bo’lishi lozim. Interfeys elementlari orasidagi simantik
moslikning   bo’lmasligi   ulardan   nima   kutilayotgan   va   haqiqatda   nimani
bajarayotganligi foydalanuvchiga noqulayliklar tug’diradi.
Shuni   ham   e’tiborga   olish   kerakki,   to’liq   moslik   foydalanuvchini   aldashi
mumkin,   chunki   u   real   predmetlar   bilan   emas,   ularning   modellari   bilan   ish
ko’ryapti.   Demak,   uning   imkoniyatlari   chegaralangan,   bu   haqida   eslatib   o’tish
zarur. Shuning uchun tasvirlarni juda ham haqiqiylashtirish kerak emas. Metaforalar   va   animatsiyalar.   Metaforalarni   amalga   oshirishda
multimediya   vositalariga   asosan   animatsiyaga   ko’proq   e’tibor   qaratilmoqda
yuqorida aytilganidek, harakat e’tiborini jalb etadi, kadrlarning tez almashishi  esa
oldingisi   bilan   ushbu   kadrning   bog’liqligini   aniqlashga   va   bu   kadrni   o’rganishga
ma’lum   vaqtni   talab   etadi.   Demak,   multiplikatsiyadan   foydalanib   nafaqat
foydalanuvchini zeriktirmaslik, balki o’zgargan vaziyatga moslashish uchun vaqtni
qisqartirib   uni   kadr   almashishiga   tayyorlash   mumkin.   Masalan,   uzun   ro’yhatni
cheksizlikka   ketuvchi   devor   ko’rinishida   ko’rsatish   mumkin.   U   holda,   bu   devor
bo’yicha,   nomlarni   tabiiy   yiriklashtirish   bilan   qo’shib   olib   boriladigan   harakat
rasmni   jiddiy   o’zgarmasdan   zarur   ma’lumotni   izlab   ro’yhatni   qarashga   imkon
beradi.   Bunda   inson   ongida   Obyektlarning   bir   xilligi   saqlanadi,   shuning   uchun   u
ular bilan o’zaro hamkorlikka doimiy tayyor turadi. 
Lekin insonning idroki xususiyatlari bilan bog’liq muammolarni hal eta turib
animatsion   inetrfeyslar   ishlab   chiquvchi   va   dasturchilar   uchun   qo’yilgan
qo’shimcha   muammolarni   tug’dirdi.   Dasturning   odatdagi   funksional   va   interfeys
darajasiga   yana   vizual   daraja   ham   qo’shiladi.   Bunday   interfeysni   amalga
oshiruvchi   dastur   hech   vaqt   to’xtamaydi,   chunki   foydalanuvchi   tomonidan
buyruqning   kiritilishini   kutish   vaqtida   u   tegishli   kadrlarni   aks   ettirishni   davom
ettiradi.  Bunday   dasturlarning  asosida   vaqtli   dasturlash   g’oyasi   yotadi.  Tizimdagi
tashqi   va   ichki   hodisalar   bilan   ekrandagi     tasvirni   bog’lash   imkonini   beradigan
hodisaviy   dasturlashdan   farqli   ravishda   vaqtli   dasturlash   modellashtirilayotgan
jarayonlar   holati   va   foydalanuvchi   harakatlariga   bog’liq   ravishda
proeksiyalanayotgan kadrlar ketma – ketligi o’zgarishini ta’minlaydi. 
To’g’ridan-to’g’ri manipulyatsiyali interfeysdagi Obyektlar va ularning
ko’rinishlari .   To’g’ridan-to’g’ri     manipulyatsiya   interfeysi   Obyektlarining   uchta
asosiy   tipi   mavjud:   Obyektlar   –   ma’lumotlar,   Obyektlar   –   konteynerlar   va
Obyektlar   –   asboblar.   Obyektlar   –   ma’lumotlar   foydalanuvchini   axborot   bilan
ta’minlaydi.   Bu   matnlar,   tasvirlar,   elektron   jadvallar,   musiqa,   video   va   h.   k.   lar
hamda   ularning   ixtiyoriy   kombinatsiyasi   bo’lishi   mumkin.   Operatsion   tizim doirasida bunday Obyektlarga Obyektni ochishda ishga tushiriladigan ilovalar mos
keladi. Ilova masshtabida Obyektga bitta yoki bir nechta forma mos keladi, ularda
Obyektning   mazmuni   turli   ko’rinishlarda   tasvirlanadi.   Obyekt   o’z   ichiga   olgan
amallar formaning hodisalarni qayta ishlovchilari bilan amalga oshiriladi. 
Obyekt   –   konteynerlar   o’z   ichki   obyektlari   bilan,   jumladan   boshqa
konteynerlari bilan, masalan, ularni nusxalash yoki  ixtiyoriy tartibda saralash kabi
manipulyatsiyalarni bajarilishi mumkin. Tipik konteynerlarga papkalar, savatlar va
h. k. lar  kiradi. Konteyner ochilganda u saqlayotgan  komponentalar   ko’rinadi  va
ular bilan ishlash imkoniyati paydo bo’ladi. Bunda komponentalar piktogrammalar
bilan belgilanishi yoki jadval ko’rinishida tasvirlanishi mumkin. 
Obyekt   –   qurilmalar   ko’pincha   real   dunyodagi   mavjud   qurilmalarni
tasvirlaydi:   telefonlar,   fakslar,   printerlar   va   h.   k.,   ulardan   interfeysning   abstrakt
olamida   bu   qurilmalarni   ifodalashda   foydalaniladi.   Bunday   obyektni   ochilganda
odatda uning sozlanishini ko’rish mumkin. 
Demak, har bir obyektga hech bo’lmaganda bitta oyna mos keladi. Dastlabki
holatda bu oyna piktogramma bilan tasvirlangan, lekin zarurat paytida uni ochish
va   talab   qilingan   amallarni   bajarish,   masalan,   obyektni   sozlash   mumkin.   Obyekt
oynasi ochiq holatda menyu va asboblar panelini o’z ichiga oladi. Piktogrammaga
esa obyekt ustidagi amallar ro’yhatini o’z ichiga olgan kontekst menyu mos kelishi
lozim.
Piktogramma nomi  o’zicha har  bir  obyekt  tipi  uchun shakllanadi.  Obyekt  -
ma’lumotlar   piktogrammasi   saqlanayotgan   ma’lumotlarning   nomlariga   mos
nomlarni   beradi,   ma’lumotlar   tipi   esa   piktogrammaning   o’zi   bilan   kodlanadi.
Piktogramma   konteyner   yoki   piktogramma   qurilma   nomini   obyektning   o’zi
belgilaydi. Shuning uchun uning ichidagilariga, bog’liq emas.
Obyektlar   tiplari   orasidagi   farqlar   shartli,   chunki   bitta   Obyekt   turli
vaziyatlarda   Obyekt   –   ma’lumot,   obyekt   –   qurilma,   obyekt   –   konteyner   sifatida
bo’lishi   mumkin.   Masalan,   printer   odatda   obyekt   –     qurilma   sifatida   qaraladi,
ammo     u   obyekt   –   konteyner   sifatlariga   ham   ega   bo’lishi   mumkin,   chunki   chop etish   navbati   turganlik   obyekt   –   ma’lumotlarni   o’z   ichiga   olishi   mumkin.   Mos
ravishda Windowsda printer chop etishga navbat oynasi(2.3a– rasm) va sozlashlar
oynasi   (2.3b-rasm).   Bu   holda   ko’rinish   nomini   obyekt   oynasi   sarlavhasida
ko’rsatish maqsadga muvofiq.
a)
b)
2.3-rasm.  Printer obyekti
Drag   and   Drop   texnologiyasi .   Drag   and   Drop   texnologiyasi(“o’tkazdi   va
tashladi”)   IBM   (CUA   –   Common   User   Access)   firmasining   foydalanuvchi
interfeyslarini   ishlab   chiqish   bo’yicha   qo’llanmada   tasvirlangan   to’g’ri
manipulyatsiyalarning  asosiy prinsiplarini aniqlaydi. 
– obyektni siljitish natijasi foydalanuvchi kutishiga mos kelishi lozim:
– foydalanuvchilar to’satdan axborotni yo’qotmasliklari lozim; –   foydalanuvchi   noto’g’ri   harakatni   bekor   qilish   imkoniyatiga   ega   bo’lishi
lozim.
Bu   texnologiya   to’g’ri   manipulyatsiyalash   amalini   vizuallashtirish   asosiy
prinsiplarini ham aniqlaydi. 
–   dastlabki   belgilash   -   obyekt   qamrab   olinganligini   xabar   berishi   uchun
foydalanuvchiga   teskari   aloqa   sifatida   foydalaniladi,   Windowsda   bu   maqsadda
rang bilan ajratish foydalaniladi;
–   ko’chirishni   vizuallashtirish   -   bajarilayotgan   amalni   identifikatsiyalash
usuli foydalaniladi;
–   maqsadli   ajratish   –   mo’ljallangan   manzilni   identifikatsiyalash   uchun
foydalaniladi, bu bilan agar obyektni joriy vaqt momentida qo’yib yuborsa qayerga
tushishini ko’rsatadi;
– harakatni  vizuallashtirish – amalni yakunlanishini kutish vaqtini belgilash
uchun ishlatiladi, odatda, bu maqsadda animatsiya yoki kursorning “qumli soat”ga
o’zgarishi qo’llaniladi. 
Aytish   kerakki,   ikkita   mo’ljallangan   manzili   mavjud:   bittasi   obyektni,
ikkinchisi uning nusxasini  qabul qiladi. Masalan, agar foydalanuvchi hujjati savat
(Karzina)ga   tashlansa,   ekrandan   yo’qoladigan   obyektning   o’zi   ham   yo’q   bo’ladi.
Agar   o’sha   hujjat   printerga   tashlansa   u   holda   printerga   hujjat   nusxasi   yuboriladi.
Hujjat piktogrammasi qoladi.
Windowsda   mos   harakatlarning   hujjat   nusxasi   berilayotgan   asbob
piktogrammasi   ustida   harakatlanadigan   paytda   “+”   paydo   bo’lishi   bilan
identifisirlanadi.   Agar   qurilmalar   uchun   ikki   turdagi   amalning   imkoni   bo’lsa   u
holda   amal   turini   aniqlashtirishni   ko’zda   tutishi   lozim.   Windows   bu   holatda   Ctrl
tugmasini bosganda nusxalashni va aks holda ko’chirishni bajaradi. 
To’g’ridan–to’g’ri   manipulyatsiya   interfeyslarini   loyihalash.   To’g’ridan
–   to’g’ri   manipulyatsiya   interfeyslarini   loyihalash   dasturiy   ta’minot   uchun
ishlatiladigan   muloqot   graflari   asosida   bajariladi   va   quyidagi   proseduralarni   o’z
ichiga oladi: –   ekranda   tasvirlanishi   lozim   bo’lgan   predmet   soha   obyektlar   to’plamini
shakllantirish,   bu   holda   asos   sifatida   foydalanish   variantlari   emas,   predmet
sohaning konseptual modelidan foydalaniladi;
– obyektlarni tahlil qilish, ularning tiplari va tavsiflarini, hamda bu obyektlar
bilan bajariladigan amallar  ro’yhatni aniqlash;
–   obyektlar   o’zarohamkorligini   aniqlashtirish   va   to’g’ridan–to’g’ri
manipilyatsiyalash matritsasini tuzish;
– obyektlarning  vizual tasvirlarini aniqlash;
– obyektlar oynalari menyusi va kontekst menyularini ishlab chiqish;
– interfeys protiplarini yaratish;
– foydalanuvchiga qulayligini testlash.
2.4.  Foydalanuvchilar interfeyslarining inte le ktual elementlari
Keyingi   yillarda   asosan   interfeysga   sun’iy   intelekt   elementlari   kiritilgan
foydalanuvchi interfeyslarining ko’pgina yangi istiqbolli elementlari paydo bo’ldi,
bu   ularning   nomlarida   ham   namayon   bo’lmoqda:   Master,   Maslahatchi,   Agent.
Ijtimoiylashgan   foydalanuvchi interfeyslarini yaratishga ko’pgina urinishlar bo’ldi.
Bunday interfeysning asosida jonlantirish, ya’ni “shahsiga ega” interfeysni yaratish
g’oyasi   yotadi.   Ko’ngil   ochar   dasturlar   masalan,   uy   hayvonlarning   turli
holatlardagi  yetarlicha  murakkab harakterini  amalga oshiruvchi  Cats  (Mushuklar)
va Dogs (Itlar), dasturlari shuni ko’rsatadiki, bu texnik jihatdan bajarilishi mumkin
bo’lgan  masala.  Ammo  bu sohada   psixologik muammolar  mavjud.  Misol  sifatida
quyida   qaralgan   Microsoft   Offise   ning   “beozor”   Maslahatchisi   ham   ko’p
foydalanuvchilarda   qattiq   salbiy   ta’sirlanish   uyg’otmoqda.   Hozirgacha   bunday
“shaxsni” yaratishga bo’lgan urinishlar natij a  bergani yo’q.
Maslahatchilar .   Maslahatchilar   ko’rsatma   shaklida   bo’ladi.   Odatda   ularni
Справка   menyusidan,   oynaning   buyruqlar   satri   yoki   qalqib   chiquvchi   menyu
yordami   bilan   murojat   qilish   mumkin.   Maslahatchilar   foydalanuvchilarga   aniq
masalalarni   bajarishda   yordam   beradi,   lekin   faqat   agar   foydalanuvchi   unga   nima
qilish   kerakligni   taklif   etsa.   Masalan,   Microsoft   Word   da   ishlayotgan foydalanuvchi   hujjatga   rasm   qo’ymoqchi   bo’lsa,   lekin   uni   qanday   qo’yishni
bilmasa, u Yordamchi–Skripkani faollashtiradi va maxsus maydonga savol kiritadi
( 2.4 a–rasm).  Ma’lumotnomali tizim savolni tahlil qiladi va foydalanuvchining o’zi
zarur   ma’lumotni   tanlashini   hisobga   olib,   foydalanuvchini   qiziqtiruvchti   savol
bilan bevosia bog’liq mavzular ro’yhatini shakllantiradi ( 2.4 b–rasm). 
      
2.4  –rasm.  Microsoft Word 2010 ning Yordamchi–Skripkasi.
a–so’rov, b–mavzular ro’yxati
Ustalar.   Usta   dasturi   keng   tarqalgan,   lekin   dasturlarni   yoki   qurilmalarni
o’rnatish   kabi   alohida   foydalanuvchi   tomonidan     bajariladigan     masalalarni
bajarish   uchun   foydalaniladi.     Bunga   o’xshash   amallarni   bajarish
foydalanuvchidan   ketma–ketlikni   dastur–usta   talab   qiladgan   murakkab   o’zaro
bog’liq   qarorlarni   qabul   qilishni   taqazo   etadi.   Intelektual   Usta   har   bir   qadamda
ko’rish   oynasida   oldingi   savollarga   foydalanuvchi   javoblari   natijalarini   namoyish
etib, unga vaziyatda  qanday yo’l tutishiga yordam beradi. 
Usta   muloqotning   ketma–ket   yoki   daraxt   shaklidagi   senariyni   amalga
oshiradi,   shuning   uchun   undan   yaxshi   strukturalangan,   ketma–ket   hal   etiladigan
masalalarni yechish uchun foydalanish maqsadga muvofiq ( 2.5 –rasm). Bunda: a) b) – foydalanuvchiga oldingi qadamga qaytish imkonyatini berishi; 
– Usta ishini bekor qilish imkoniyatini ko’zda tutish;
– qadamlarni raqamlash va agar bunday qadamlar soni uchtadan ko’p bo’lsa,
Ustaning qadamlar sonini foydalanuvchiga yetkazish;
– foydalanuvchiga har bir qadamni tushuntirib borish; 
–   iloji   boricha   har   bir   qadamda   bajarilgan   amallar     natijalarini   namoyish
etish. 
2.5 –rasm.  Windows 2010  da Printerni o’rnatish ustasining birinchi oynasi
Dasturiy   agentlar.   Hozirgi   paytda   katta   ishni   bajarish   uchun
foydalaniladigan   dasturiy   agentlar   katt   qiziqish   uyg’otadi.   Bunday   dasturiy   agent
foydalanuvchi   o’z   vazifalarining   bir   qismini   berishi   mumkin   bo’lgan   dasturiy
ta’minot   elementi   hisoblanadi.   “Agent–Yordamchilar”   ning   asosiy   funksiyalari:
kuzatish, izlash va boshqarishdan iborat. Quyidagilar farqlanadi:
– ko’rsatilgan masalalarni bajarish uchun sozlanadigan agent–dasturlar;
–   o’rganishga   qodir,   masalan,   foydalanuvchi   harakatlarini   qayd   etish
(magnitofon tipidagi) agent–dasturlar.     Oxirgi   tipdagi   agentlarni   yaratish,   masalan,   Microsoft   Offise   makroslar
mexanizmi orqali mumkin.   3-§.   Delphi   muhitida   ilovalar   yaratish   va   unda   qulay   interfeysni
tashkillashtirish
3.1. Delphi muhiti va foydalanuvchi bilan muloqotni tashkillashtirishda
qo’llaniladigan komponentlar
DELPHI   muhiti   manitor   ekranida   bir   vaqtda   ochilgan   bir   necha   oynalar
ko’rinishida   bo’ladi.   Oynalar   soni,   joylashuvi,   o’lchami   va   ko’rinishi   zaruriyatga
qarab foydalanuvchi tamonidan o’zgartirilishi mumkin, bu esa ish samarodorligini
oshirishga   xizmat   qiladi.   DELPHI   yuklangach   3.1–rasmda   keltirilgan   rasmga
o’xshash ko’rinishni ko’rasiz.
  Bosh   oyna   ekranda   doimo   mavjud   va   dastur   tuzish   jarayonini   boshqarish
uchun   mo’ljallangan.   Asosiy   menyu   loyihani   boshqarish   uchun   barcha   zarur
vositalarga   ega.   Piktogrammalar   asosiy   menyuning   eng   ko’p   qo’llaniladigan
buyruqlarni bajarishni osonlashtiradi. 
Endi   ilovaning   interfeysini   tashkilashtirishda   ishlatiladigan3
6
4
5
3.1–rasm .  Bosh   oyna ;  2  –  asosiy   menyu ;  3  –  asosiy   menyu  
piktogrammalari ;  4  –  obyektlar   inspektori   oynasi ;  5  – programma   teksti  
oynasi ;
6-  asosiy forma oynasi ; 7 – komponentlar menyusi1
2 7 kopmonentlarning ayrimlarini keltiramiz:
   TMainMenu   –   o’z   dasturingizga   bosh   menyu   qo’shish
imkonini   beradi.   TmainMenu ni   formaga   qo’ygan   vaqtda   u   kichkina   belgi
ko’rinishini oladi; bunday belgilarni "ko’rinmas komponent" deb ataydilar, chunki,
dastur   bajarilash   vaqtida   ular   ekranda   ko’rinmaydi.   Menyuni   yaratish   uch
qadamdan iborat: (1) TMainMenu formaga o’rnatish, (2) obyektlar inspektorining
Items xususiyati  yordamida Menyu dizaynerini chaqirish, (3) Menyu Dizaynerida
menyu qismlarini kiritish. 
     TPopupMenu   yordamchi   menyuni   yaratish.   Bu   menyu
sichqonchaning o’ng tugmasi bosilganda ko’rinadi.
     TLabel   matnlarni   ekranda   namoyish   qilish   uchun   qo’llanadi.
Agar   siz   obyektlar   inspektorining   Font   xususiyatiga   sichkonchani   ikki   marta
bossangiz,   Label ning   shrifti,   rangi,   harflar   rangi   va   o’lchamlarini   o’zgartishingiz
mukin.
     TEdit   –   Windowsdagi   standart   ma’lumot   kiritish   oynasi.   U
qisqa matnlarni namoyish qilishi va dastur bajarilish vaqtida foydalanuvchiga o’z
ma’lumotlarini kiritish imkonini beradi.
     TMemo –   TEditning boshqacha ko’rinishi. Katta mantlar bilan
ishlashni   ko’zda   tutadi.   TMemo   matn   qismlarini   qatordan   qatorga   ko’chirishi,
buferda saqlashi, oxirgi amallardan voz kechishi, umuman olganda oddiy muxarrir
amallarini   bajara   oladi.   TMemo   32Kb   matn   hajmi   bilan   chegaralanadi,   bu
taxminan 10-20 sahifa matnga tengdir.
     TButton   dastur bajarilash vaqtida tugma bosilishi  bilan biror
amal  bajarilishini   ko’zda  tutadi.  Delphida hamma  narsa  oddiy. TButtonni   formga
ko’yib,   unga   ikki   marta   sichqon   tugmasini   bossak,   biz   dastur   matni   muharririda tugma   bosilish   holatiga   dastur   tuzishimiz   mumkin   bo’lgan   oynaga   o’tamiz.   Endi
dastur matnini bajariladigan buyruqlar kodi bilan to’ldirish kerak.  
   T CheckBox   c hap   tomonida   kichkina   darchasi   bo’lgan   matn
satrini   akslantiradi.   Darchaga   u ning   belgilanganligini   bildiruvchi   belgi   quyish
m umkin. Masalan,  Worddagi  Pechat  muloq ot  oynasining  Pechat   v fayl   bo’limida
aynan shu obyekt ishlatilgan. 
     TRadioButton   bir   nechta   holatlardan   birini   tanlash   imkonini
beradi.   Masalan,   Worddagi   Pechat   muloqot   oynasining   chop   qilinishi   kerak
bo’lgan sahifalar oralag’ini tanlash bo’limida aynan shu obyekt ishlatilgan.
     TListBox   ro’yxatli   ma’lumotlarni   namoyish   qilishga
mo’ljallangan masalan Worddagi Otkrыt buyrug’i yordamida ochiladigan muloqot
oynasidagi fayllar va kataloglar ro’yxati aynan shu obyektga joylashtirilgan.
     TComboBox   tashqi   ko’rinishidan   ListBoxga   o’xshab   ketadi,
ular  orasidagi   farq  ComboBoxning   yuqorisida   ma’lumot  kiritish   mumkin  bo’lgan
maydoni ham bor. ComboBoxning ko’plab turlari mavjud, ko’p ishlatiladigani esa,
ro’yxati pastga ochiladigan (drop-down combo box)dir.
     TScrollbar –  o’tkazish yo’lakchasi. Ko’pincha tahrirlanadigan
yoki   ko’rinadigan   ma’lumotlar   ekran   chegaralaridan   chiqib   ketganda   paydo
bo’ladi.
     TGroupBox   Windowsga   formadagi   obyektlarning   qanday
joylashganligini bildirish uchun qullash mumkin.
     TPanel  – TGroupBoxga o’xshash obyekt bo’lib, bezash uchun
ishlatiladi.  3.2. Delphi muhitida grafik interfeysni tashkil qilish va undan foydalanish
Delphi   muhitida   foydalanuvchining   grafik   interfeysini   tashkillashtirish
uslublarini konkret masalalar misolida qarab chiqamiz.
Ma’lumki, dasturlashtirishning vizual muhitida ilovalar yaratish 2 bosqichga
ajratiladi.   Bular   foydalanuvchi   interfeys   yaratish   bosqichi   va   kodlashtirish
bosqichlari hisoblanadi. 
Masala sifatida quyidagilarni qaraymiz:
- funksiya grafigini chizishni vizuallashtirish;
- matritsalar ustida amallar;
- algebraik tenglamalarni yechish;
- chiziqli tenglamalar sistemasini yechish.
1-masala   uchun   foydalanuvchi   uchun   interfeysni   amalga   oshirishda
quyidagilar   e’tiborga   olindi   (3.2-rasm):   foydalanuvchi   funksiyaning   ko’rinishini
tanlashi,   funksiyaning   parametrlariga   qiymatlar   berishi,   grafikni   chizish   rangini
ko’rsatishi, chizish suratini aniqlashi va hokazo.
3.2-rasm. F unksiya grafigini hosil qilish interfeysi Bunda grafikni aks ettirish uchun TImage, funksiyaning turini tanlash uchun
TCombobox,   funksiya   parametrlarinin   kiritish   uchun   TSpinEdit,   chizish   suratini
tanlash   uchun   TRadioGroup,   chizishni   tashkillashtirish   uchun   TButton,
shuningdek o’zgarmas matnlarni kiritish uchun TLabel komponentlari ishlatildi.
Agar   foydalanuvchi   y=ax 2
+bx+c   funksiyani   tanlab,   parametrlar   uchun   a=1,
b=0,   c=0       qiymatlarni   berib,   “grafik   chizish”   tugmasi   bosilsa   y=x 2  
funksiyaning
grafigi hosil bo’ladi (3.3-rasm).
3.3-rasm.  y=x 2
 funksiya grafigi
2-masala interfeysiga foydalanuvchi ilova taqdim etadigan menyu yoki mos
tasvir   aks   etgan   piktogramma   orqali   o’tishi   mumkin.   Bunda   matritsalar   ustida
bajariladigan   amallar   (matsilarni   qo’shish   va   ayirish,   ko’paytirish,   matritsani skalyarga   ko’paytirish,   matritsalarning   determinanti   va   teskarisini   topish)
keltirilgan (3.4-rasm).
3.4-rasm.  Matritsalar ustida amallar bajarish interfeysi
Bunda matritsa elementlarini vizual aks ettirish uchun TStringgrid, 
matritsalar   o’lchamlarini   va   o’zgarmas   sonni   kiritish   uchun   TEdit,   matritsalar
ustida   bajariladigan   amallarni   tanlash   uchun   TCombobox,   tanlangan   amalni
bajarish   uchun   TButton,     shuningdek   o’zgarmas   matnlarni   kiritish   uchun   TLabel
komponentlari ishlatildi.
Matritsalarni qo’shish masalasini qaraylik. Mos ravishda A va B matritsalar
uchun satrlar va ustunlar soni TEdit kiritish maydoniga qiymatlar beriladi. So’ngra
“Matritsani   qurish”   tugmasi   bosiladi.   Natijada   kerakli   satr   va   ustunga   ega TStringgrid     komponentasi   hosil   bo’ladi.   Bunga   matritsa   elementlari   qiymatlarini
kiritamiz (3.5-rasm).
3.5-rasm.  Matritsalarni qo’shish uchun dastlabki qiymatlarni kiritish
Bunda   “A   matritsa   bilan   B   matritsaning   yig’indisi”   amalini   tanlab,
“Bajarish” tugmasi bosilsa, natijaviy D matritsa hosil bo’ladi (3.6-rasm). 3.6-rasm.  Hosil qilingan D matritsa
A   matritsaning   determinatini   hisoblash   uchun   mos   amal   tanlanib,   bajarish
tugmasi bosiladi. Natija xabar oynasiga chiqariadi (3.7-rasm).
3.7-rasm.  A   matritsa determinantini aks ettiruvchi xabar oynasi
A va B matritsalar ko’paytmasini hisoblash uchun qiymatlar kiritilib, matritsalarni
ko’paytirish   amali   tanlanadi   va   “Bajarish”   tugmasi   bosiladi.   Natijada   matritsalar
ko’paytmasi  hosil bo’ladi (3.8-rasm).
3.8-rasm.  A va B matritsalar ko’paytmasi
Xuddi shuningdek, matritsani skalyarga ko’paytirish amalini bajarish uchun
A   matritsa   tashkillashtiriladi   va   C   o’zgarmas   son   kiritilib,   “A   matritsani   songa
ko’paytirish”   amali   tanlanadi.   “Bajarish”   tugmasi   bosilgandan   so’ng   natija
boshlang’ich matritsa o’rnida hosil bo’ladi.
3-masalada   tenglamalar   ildizlarini   topish   uchun   mo’ljallangan   ищэдшиб
interfeys ham shunga mos tashkillashtirilgan. Avvalo forma 3 ta mantiqiy qismga TGroupbox   komponentlari   bilan   ajratilgan.   Bu   komponentalarning   Caption
xossasiga tenglamalar umumiy ko’rinishi izoh sifatida keltirilgan (3.9-rasm).
3.9-rasm.  Tenglamalar ildizlarini topish interfeysi
Kvadrat   tenglama   koefitsentlari   uchun   a=1,   b=4,   c=-5   qiymatlar   kiritilib
“ildizlarni   topish”   tugmasi   bosilgach   mos   TEdit   satrlarida   natijalar   hosil   bo’ladi
(3.10-rasm). 3.10-rasm.  Kvadrat tenglama ildizlarini topish
Keyingi masala  sifatida chiziqli  tenglamalar sistemasining  ildizlarini topish
qaralgan va unga mos interfeys tashkillashtirilgan (3.11-rasm).
3.11-rasm.  Chiziqli tenglamalar sistemasini yechish interfeysi
Bunda   tenglamalar   soni   kiritilib   “OK”   tugmasi   bosilgach,   TStringrid
komponentida   barcha   koeffitsentlar   kiritiladi   va   “yechish”   tugmasi   bosiladi.
Natijada tenglamalar sistemasining ildizlari o’ng qismida aks etadi (3.12-rasm). 3.12-rasm.  Tenglamalar sistemasining ildizlarini topish
Xulosa
B itiruv malakaviy ishida foydalanuvchi uchun mo’ljallangan grafik interfeys
elementlar ini   va   qulayliklar i ni   zamonaviy   programmalash   texnologiya lar i   asosida
tashkillashtirish masalasi  muhokama qilingan va quyidagi natijalarga erishildi: 
- tanlab   olingan   masalalar   ilovalaridan   foydalanuvchilar   ishlatishiga
mo’ljallangan interaktiv interfeyslar ishlab chiqildi;
- foydalanuvchi  interfeyslarini  yaratishning asosiy konsepsiyalari  va ularni
yaratish metodikasi bo’yicha tavsiyalar berildi;
- foydalanuvchi interfeyslarining turlari va ularni ishlab chiqish bosqichlari
tadqiq qilindi va amaliy qo’llanildi;
- interfeysni   loyihalashda   inson   psixofiziologik   xususiyatlarini   hisobga
olish prinsiplariga e’tibor berildi.
Hal qilingan konkret masalalar guruhiga quyidagilar kiradi:
- funksiya grafigini chizish jarayonini vizuallashtirish;
- matritsalar ustida amallar bajarishni vizuallashtirish;
- algebraik tenglamalarni yechish bosqichlarini namoyish etish;
- chiziqli tenglamalar sistemasini hal etish qadamlarini vizuallashtirish.   Natijada   dasturiy   ta’minot   yaratilib,   uning   ishlash   bosqichlari   namoyish
etildi. 
Taklif   qilingan   usullar   va   texnologik   yechimlarni   ixtiyoriy   sohadagi
masalalarni   yechishda   foydalanuvchi   interfeysini   qulay   turlarini   yaratish   va
masalalarni   yechish   jarayonlarini   vizuallashtirish   uchun   qo’llash   maqsadga
muvofiqdir. Foydalanilgan   a dabiyotlar
1.   Агабеков   Л.   Е.,   Иванова   Г.   С.   Программирование   на   C++.   Ч.   2.
Средства   объектно-ориентированного   программирования:   Учеб.   пособие.   -
М.: Изд-во МГТУ им. Баумана, 1996.
2.   Агабеков   Л.   К.,   Иванова   Г.   С.   Программирование   на   C++.   Ч.   1.
Средства   процедурного   программирования:   Учеб.   пособие.   -   М.:   Изд-во
МГТУ им. Баумана, 1999.
3.   Иванова   Г.С .   Основы   программирования   .   Учебник   для   вузов.   М.:
Изд-во МТТУ им. Н.Э.Баумана, 2001.
4. Иванова Г.С . Технология программирования.   М.: Изд-во МТТУ им.
Н.Э.Баумана, 2002.    
5.   Кватрани   Т .   Rational   Rose   2000     и   UML   .   Визуальное
моделированиеп. М.ДМК Пресс, 2001. 
6. Липаев В.В . Надежность программных средств. М.: «Синтег»,1998.
7.   Мандел   Т .   Разработка   пользовательского   интерфейса .   М .:   ДМК
Пресс , 2001. 
8.  Новоженов Ю.В.  Объектно-ориентированные технологии 
разработки сложных программных систем. - М.: ДМК Пресс, 1996.
9.   Овчинников В.А.   Алгоритмизация комбинаторно-оптимизационных
задач   при   проектировании   ЭВМ   или   систем:   Учеб.   для   вузов.   -   М.:   Изд-во
МГТУ им. Баумана, 2001.
10. Программные системы /   Бахманн П., Френцель М., Ханцшманн К.
и др.  — М.: Мир, 1988.
11. Тассел   Д.   Ван.   Стиль,   разработка,   эффективность,   отладка   и
испытание программ. - М.: Мир,1985.
12. Тейер   Т.,   Липов   М.,   Нельсон   Э.   Надежность   программного
обеспечения. - М.: Мир, 1981. Ilova
unit Unit1;
interface
uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, 
Controls, Forms,
   Dialogs, ImgList, ComCtrls, ToolWin, Menus, OleCtnrs, 
ExtCtrls, jpeg,
   StdCtrls, Grids, Buttons, Spin;
type
   mas=array [1..100,1..100] of real;
   TForm1 = class(TForm)
     MainMenu1: TMainMenu;
     Fayl1: TMenuItem;
     Hisoblash1: TMenuItem;
     Yordam1: TMenuItem;
     ToolBar1: TToolBar;
     ImageList1: TImageList;
     Panel1: TPanel;
     Notebook1: TNotebook;
     Image1: TImage;
     GroupBox1: TGroupBox;
     Label1: TLabel;
     Label2: TLabel;
     Edit1: TEdit;
     Edit2: TEdit;
     BitBtn1: TBitBtn;
     BitBtn2: TBitBtn;
     GroupBox2: TGroupBox;
     Label3: TLabel;
     Label4: TLabel;
     Edit3: TEdit;
     Edit4: TEdit;
     BitBtn3: TBitBtn;
     BitBtn4: TBitBtn;
     Stg1: TStringGrid;
     Stg2: TStringGrid;
     GroupBox3: TGroupBox;
     Label5: TLabel;
     BitBtn5: TBitBtn;
     ComboBox1: TComboBox;
     Edit5: TEdit;
     Dasturhaqida1: TMenuItem;
     Matritsalarustidaamallar1: TMenuItem;
     StatusBar1: TStatusBar;
     Image2: TImage;
     GroupBox4: TGroupBox;
     GroupBox5: TGroupBox;
     GroupBox6: TGroupBox;
     Label6: TLabel;      le1: TLabeledEdit;
     le2: TLabeledEdit;
     le3: TLabeledEdit;
     BitBtn6: TBitBtn;
     BitBtn7: TBitBtn;
     le4: TLabeledEdit;
     le5: TLabeledEdit;
     le6: TLabeledEdit;
     le7: TLabeledEdit;
     le8: TLabeledEdit;
     Label7: TLabel;
     le9: TLabeledEdit;
     BitBtn8: TBitBtn;
     BitBtn9: TBitBtn;
     le10: TLabeledEdit;
     le11: TLabeledEdit;
     le12: TLabeledEdit;
     Label8: TLabel;
     le13: TLabeledEdit;
     le14: TLabeledEdit;
     le15: TLabeledEdit;
     le16: TLabeledEdit;
     le17: TLabeledEdit;
     BitBtn10: TBitBtn;
     BitBtn11: TBitBtn;
     le18: TLabeledEdit;
     le19: TLabeledEdit;
     le20: TLabeledEdit;
     le21: TLabeledEdit;
     GroupBox7: TGroupBox;
     Image3: TImage;
     labe1: TLabeledEdit;
     BitBtn12: TBitBtn;
     stg4: TStringGrid;
     stg5: TStringGrid;
     BitBtn13: TBitBtn;
     BitBtn14: TBitBtn;
     BitBtn15: TBitBtn;
     SpeedButton1: TSpeedButton;
     SpeedButton2: TSpeedButton;
     SpeedButton3: TSpeedButton;
     Image4: TImage;
     Label9: TLabel;
     GroupBox8: TGroupBox;
     Label10: TLabel;
     SpinEdit1: TSpinEdit;
     SpinEdit2: TSpinEdit;
     Label11: TLabel;
     Label12: TLabel;
     SpinEdit3: TSpinEdit;
     GroupBox10: TGroupBox;      ComboBox2: TComboBox;
     BitBtn16: TBitBtn;
     SpeedButton4: TSpeedButton;
     RadioGroup1: TRadioGroup;
     procedure FormActivate(Sender: TObject);
     procedure BitBtn1Click(Sender: TObject);
     procedure BitBtn3Click(Sender: TObject);
     procedure BitBtn5Click(Sender: TObject);
     procedure BitBtn6Click(Sender: TObject);
     procedure BitBtn7Click(Sender: TObject);
     procedure BitBtn10Click(Sender: TObject);
     procedure BitBtn8Click(Sender: TObject);
     procedure BitBtn9Click(Sender: TObject);
     procedure BitBtn11Click(Sender: TObject);
     procedure BitBtn12Click(Sender: TObject);
     procedure BitBtn13Click(Sender: TObject);
     procedure stg4KeyPress(Sender: TObject; var Key: Char);
     procedure SpeedButton1Click(Sender: TObject);
     procedure SpeedButton2Click(Sender: TObject);
     procedure SpeedButton3Click(Sender: TObject);
     procedure SpeedButton4Click(Sender: TObject);
     procedure BitBtn16Click(Sender: TObject);
   private
     { Private declarations }
   public
     { Public declarations }
   end;
var
   Form1: TForm1;
   a,b,d:mas;
   i,j,m1,n1,m2,n2,ax,ay,k,n:integer;
   p,tmp,del:real;
   a1,a2,a3,a4,y:real;
implementation
uses Unit2;
function kvadrat(a,b,c,x:real):real;
  begin
y:=a*x*x+b*x+c;
end;
function sinus(a,b,c,x:real):real;
begin
y:=a*sin(b*x)+c;
end;
function kubik(a,b,c,x:real):real;
begin
y:=x*x*x*A+b+c;
end;
{$R *.dfm}
procedure TForm1.FormActivate(Sender: TObject);
var m,kw,kh,i,k:integer;
     s:string[2]; begin
//Graf oynasi
notebook1.ActivePage:='asosiy';
   m:=25;
   kw:=image4.Width div m;
   kh:=image4.Height div m;
   {---- ???????? ?????---------}
   with image4.Canvas do
          for i:=1 to kh   do begin
            MoveTo(m,m*i);
            LineTo(image4.Width  -m,m*i);
           end;
   {---- ???????? ????? ?????-----}
   {---- ?????????? ?????---------}
    with image4.Canvas do
          for i:=1 to kw  do begin
            MoveTo(m*i,m);
            LineTo(m*i,image4.Height -m);
           end;
    {---- ?????????? ????? ?????-----}
      with image4.Canvas do
         begin
         Font.Size := 12;
         Font.Color :=clred;
          for i:=1 to kw div 2 do
               begin
               TextOut(50*i-2,image4.Height div 2-10,'|');
                end;
         Font.Size := 12;
         Font.Color :=clred;
          for i:=1 to kh div 2 do
         TextOut(image4.Width  div 2-10,50*i-10,'----');
             k:=-4;
          for i:=1 to kw div 2  -1 do
               begin
                s:=IntToStr(k);
                TextOut(50*i-15,image4.Height div 2+5,s);
                k:=k+1;
               end;
              k:=-3;
          for i:=1 to kh div 2  -1 do
               begin
                s:=IntToStr(k);
                if k<> 0 then TextOut(image4.Width  div 2-
15,50*i+2,s);
                k:=k+1;
              end;
          end;
          with image4.Canvas do          begin
           pen.color:=clred;
           pen.Width :=2;
           MoveTo(20, image4.Height div 2);
           LineTo(image4.Width -20,  image4.Height div 2 );
           MoveTo(image4.Width  div 2, 20);
           LineTo(image4.Width  div 2,  image4.Height -20 );
         end;
end;
///////////////////////////////////
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if edit1.Text<>'' then
   if edit2.Text<>'' then
   begin
     m1:=strtoint(edit1.Text);
     n1:=strtoint(edit2.Text);
     stg1.RowCount:=strtoint(edit1.Text);
     stg1.ColCount:=strtoint(edit2.Text);
   end;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
  if edit3.Text<>'' then
   if edit4.Text<>'' then
   begin
     m2:=strtoint(edit3.Text);
     n2:=strtoint(edit4.Text);
     stg2.RowCount:=strtoint(edit3.Text);
     stg2.ColCount:=strtoint(edit4.Text);
   end;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
for i:=1 to m1 do
for j:=1 to n1 do a[i,j]:=strtofloat(stg1.cells[j-1,i-1]);
for i:=1 to m2 do
for j:=1 to n2 do b[i,j]:=strtofloat(stg2.cells[j-1,i-1]);
  case combobox1.ItemIndex of
   0: begin //matritsalarni qo'shish
       if (m1=m2) and (n1=n2) then
        for i:=1 to m1 do         for j:=1 to n1 do D[i,j]:=A[i,j]+B[i,j];
        ax:=m1; ay:=n1;
        form2.ShowModal;
         end;
   1: begin  //A-B matritsa
       if (m1=m2) and (n1=n2) then
        for i:=1 to m1 do
        for j:=1 to n1 do D[i,j]:=A[i,j]-B[i,j];
        ax:=m1; ay:=n1;
        form2.ShowModal;
   end;
   2: begin  //B-A matritsa
       if (m1=m2) and (n1=n2) then
        for i:=1 to m1 do
        for j:=1 to n1 do D[i,j]:=B[i,j]-A[i,j];
        ax:=m1; ay:=n1;
        form2.ShowModal;
   end;
   3: begin  //A*B matritsa
       if n1=m2 then
        for i:=1 to m1 do
        for j:=1 to n1 do
        begin
         D[i,j]:=0;
         for k:=1 to n1 do
          D[i,j]:=D[i,j]+A[i,k]*B[k,j];
        end;
       ax:=m1; ay:=n1;
        form2.ShowModal;
   end;
   4: begin
       if n2=m1 then
        for i:=1 to m2 do
        for j:=1 to n2 do
        begin
         D[i,j]:=0;
         for k:=1 to n2 do
          D[i,j]:=D[i,j]+B[i,k]*A[k,j];
        end;
       ax:=m2; ay:=n2;
        form2.ShowModal;
   end;
   5: begin
       for i:=1 to m1 do
       for j:=1 to n1 do
       stg1.cells[j-1,i-
1]:=floattostr(strtofloat(edit5.Text)*a[i,j]);
   end;
   6: begin
       for i:=1 to m2 do        for j:=1 to n2 do
       stg1.cells[j-1,i-
1]:=floattostr(strtofloat(edit5.Text)*b[i,j]);
   end;
   7: begin del:=1;
       for k:=1 to m1-1 do
       for i:=k+1 to m1 do
       begin   tmp:=a[i,k];
         if tmp <>0 then
         begin
          for j:=k to m1 do
            a[i,j]:=a[i,j]*a[k,k]/tmp-a[k,j];
         del:=del*tmp/a[k,k];
         end;
       end;
       p:=1;
       for i:=1 to m1 do p:=p*a[i,i];
       showmessage('A matritsa determinanti = 
'+floattostr(del*p));
   end;
   8: begin del:=1;
       for k:=1 to m2-1 do
       for i:=k+1 to m2 do
       begin   tmp:=b[i,k];
         if tmp <>0 then
         begin
          for j:=k to m2 do
            b[i,j]:=b[i,j]*b[k,k]/tmp-b[k,j];
         del:=del*tmp/b[k,k];
         end;
       end;
       p:=1;
       for i:=1 to m1 do p:=p*b[i,i];
       showmessage('A matritsa determinanti = 
'+floattostr(del*p));
   end;
   9: begin
       for i:=1 to m1 do
       for j:=1 to n1 do stg1.Cells[i-1,j-1]:=floattostr(a[i,j]);
   end;
   10: begin
        for i:=1 to m2 do
       for j:=1 to n2 do stg1.Cells[i-1,j-1]:=floattostr(b[i,j]);
   end;
   11: begin end;
   12: begin end;
  end;
end;
procedure TForm1.BitBtn6Click(Sender: TObject);
var a,b,c,x1,x2,d:real; begin
a:=strtofloat(le1.Text);
b:=strtofloat(le2.Text);
c:=strtofloat(le3.Text);
d:=b*b-4*a*c;
if d>=0 then begin
  x1:=(-b+sqrt(d))/(2*a);
  x2:=(-b-sqrt(d))/(2*a);
  le4.Text:=floattostr(x1);
  le5.Text:=floattostr(x2);
end else
  showmessage('Tenglama haqiqiy ildizga ega emas');
end;
procedure TForm1.BitBtn7Click(Sender: TObject);
begin
le1.Clear;
le2.Clear;
le3.Clear;
le4.Clear;
le5.Clear;
end;
Function F(x1:real): real;
   Begin
    F:=sqr(sqr(x1))+a1*sqr(x1)*x1+a2*sqr(x1)+a3*x1+a4;
   end;
procedure TForm1.BitBtn10Click(Sender: TObject);
var eps:real;
a,x: array [0..100] of real;
i,j,n:integer;
begin
n:=4; Eps:=0.001;
a1:=strtofloat(le14.Text);  a2:=strtofloat(le15.Text);
a3:=strtofloat(le16.Text); a4:=strtofloat(le17.Text);
       a[1]:=-4; a[2]:=-2; a[3]:=-1; a[4]:=0; a[5]:=5;
       For j:=1 to n do BEGIN
            if F(a[j])<0 then Begin
              x[0]:=a[j]; i:=0;
               Repeat
                 x[i+1]:=x[i]-(F(x[i])/(F(a[j+1])-
F(x[i])))*(a[j+1]-x[i]);
                 i:=i+1;
               until Abs(x[i]-x[i-1])>Eps; End
            else Begin                  x[0]:=a[j+1]; i:=0;
               Repeat
                 x[i+1]:=x[i]-(F(x[i])/(F(x[i])-F(a[j])))*(x[i]-
a[j]);
                 i:=i+1;
               until Abs(x[i]-x[i-1])>Eps; End;
              case j of
              1: le18.Text:=floattostr(x[i]);
              2: le19.Text:=floattostr(x[i]);
              3: le20.Text:=floattostr(x[i]);
              4: le21.Text:=floattostr(x[i]);
              end;
              end;
end;
procedure TForm1.BitBtn8Click(Sender: TObject);
var eps:real;
a,x: array [0..100] of real;
i,j,n:integer;
begin
n:=3; Eps:=0.001;
a1:=strtofloat(le6.Text);  a2:=strtofloat(le7.Text);
a3:=strtofloat(le8.Text); a4:=strtofloat(le9.Text);
       a[1]:=-4; a[2]:=-2; a[3]:=-1; a[4]:=0;
       For j:=1 to n do BEGIN
            if F(a[j])<0 then Begin
              x[0]:=a[j]; i:=0;
               Repeat
                 x[i+1]:=x[i]-(F(x[i])/(F(a[j+1])-
F(x[i])))*(a[j+1]-x[i]);
                 i:=i+1;
               until Abs(x[i]-x[i-1])>Eps; End
            else Begin
                 x[0]:=a[j+1]; i:=0;
               Repeat
                 x[i+1]:=x[i]-(F(x[i])/(F(x[i])-F(a[j])))*(x[i]-
a[j]);
                 i:=i+1;
               until Abs(x[i]-x[i-1])>Eps; End;
              case j of
              1: le10.Text:=floattostr(x[i]);
              2: le11.Text:=floattostr(x[i]);
              3: le12.Text:=floattostr(x[i]);
              end;
              end;
end; procedure TForm1.BitBtn9Click(Sender: TObject);
begin
le6.Clear;
le7.Clear;
le8.Clear;
le9.Clear;
le10.Clear;
le11.Clear;
le12.Clear;
end;
procedure TForm1.BitBtn11Click(Sender: TObject);
begin
le13.Clear;
le14.Clear;
le15.Clear;
le16.Clear;
le17.Clear;
le18.Clear;
le19.Clear;
le20.Clear;
le21.Clear;
end;
procedure TForm1.BitBtn12Click(Sender: TObject);
begin
n:=strtoint(labe1.Text);
stg4.ColCount:=n+2;
stg4.RowCount:=n+1;
for i:=1 to n do begin
stg4.Cells[i,0]:='k'+inttostr(i);
stg4.Cells[0,i]:=inttostr(i);
end;
stg4.Cells[n+1,0]:='Bn';
end;
procedure TForm1.BitBtn13Click(Sender: TObject);
var mm,m1,i1,m                : integer;
      tr,tp,x              : real;
      bb:mas;
begin
  for i:=1 to n do
  for j:=1 to n+1 do
    bb[i,j]:=strtofloat(stg4.cells[j,i]);
           m:=n;
           mm:=m-1; m1:=m+1;        for i:=1 to mm do
       begin
          j:=i;  x:=bb[i,i];
            for k:=i+1 to m do
            begin
               if (abs(x)<abs(bb[k,i])) then begin
                 x:=bb[k,i];  j:=k;        end;
            end;
             for k:=1 to m1 do
              begin
                 x:=bb[i,k];  bb[i,k]:=bb[j,k]; bb[j,k]:=x;
              end;
           tr:=bb[i,i];
            for k:=i to m1 do bb[i,k]:=bb[i,k]/tr;
            tp:=1.0;
                for k:=i+1 to m do
                Begin
                  if (bb[k,i]<>0) then
                    begin
                      tp:=bb[k,i];
                      for i1:=i to m1 do  bb[k,i1]:=bb[k,i1]/tp-
bb[i,i1];
                    end;
                end;
              end;
         bb[m,m1]:=bb[m,m1]/bb[m,m];
         for i:=1 to mm do
         begin
            j:=m-i; k:=j+1;
            for i1:=k to m do bb[j,m1]:=bb[j,m1]-
bb[i1,m1]*bb[j,i1];
         end;
            stg5.RowCount:=n;
            for i:=1 to n do
            begin stg5.Cells[0,i-1]:='X'+inttostr(i);
                   stg5.Cells[1,i-1]:=floattostr(bb[i,n+1]);
            end
end;
procedure TForm1.stg4KeyPress(Sender: TObject; var Key: Char);
begin
   case key of
     #8,'0'..'9':;
     #13: if stg4.Col<stg4.ColCount-1
           then stg4.Col:=stg4.Col+1;
     '.',',': begin                if key<>decimalseparator then
                 key:=decimalseparator;
               if 
pos(stg4.Cells[stg4.Col,stg4.row],decimalseparator)<>0
                 then key:=chr(0);
              end;
     '-': if length(stg4.Cells[stg4.Col,stg4.row])<>0
           then key:=chr(0);
   else key:=chr(0);
   end;
end;
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
notebook1.ActivePage:='matritsa';
end;
procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
notebook1.ActivePage:='kvadrat';
end;
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
notebook1.ActivePage:='teng_sys';
end;
procedure TForm1.SpeedButton4Click(Sender: TObject);
begin
notebook1.ActivePage:='asosiy';
end;
procedure TForm1.BitBtn16Click(Sender: TObject);
var x0,y0,m:integer;
  x:real;
  a,b,c,d:integer;
begin
case radiogroup1.ItemIndex of
0: d:=1;
1: d:=5;
2: d:=10;
end;
a:=spinedit1.Value;
b:=spinedit2.Value;
c:=spinedit3.Value;
x0:=image4.Width div 2;
y0:=image4.Height div 2;
m:=25;
  x:=-3;
   with image4.Canvas do   begin
   pen.Color:= clRed;
   repeat
   case combobox2.ItemIndex of
    0:kvadrat(a,b,c,x);
    1:sinus(a,b,c,x);
    end;
     Pixels [x0+trunc(x*m), y0-trunc(y*m)]:=clred;
     x:=x+0.01 ;
Application.ProcessMessages;
sleep(d);
  until  (x>=3);
end;
end;
end.

FOYDALANUVCHI INTERFESINI YARATISHDA VEZUAL TEXNALOGIYALARDAN FOYDALANISH MUNDARIJA Kirish…………………………………………………………………………… 3 1 - §. Foydalanuvchi interfeysi haqida umumiy ma’lumotlar ............................... . 6 1.1. Foydalanuvchi interfeyslari turlari va ularni ishlab chiqish bosqichlari............................................................................................................ 6 1.2. Insonning axborotni idroki, xotiralashi va qayta ishlashi bilan bog’liq psixofizik xususiyatlari............................................................................ 13 1.3 . Interfeysining f oydalanuvchi va dasturiy modeli…………….......... 17 1.4 . Muloqotlarning turkumlanishi va ularni ishlab chiqishning umumiy tamoyillari ……………………………………………………………………… 21 2- §. Ilovalarda grafik interfeyslardan foydalanish……………………………... 28 2.1. Foydalanuvchining grafik interfeysining asosiy komponentalari....... 28 2.2. Grafik foydalanuvchi interfeyslarida muloqotlarni amalga oshirish.. 33 2.3. To’g’ridan – to’g’ri monipulyatsiyali foydalanuvchi interfeyslari va ularni loyihalash................................................................................................... 36 2.4. Foydalanuvchilar interfeyslarining inte le ktual elementlari ……........ 42 3-§. Delphi muhitida ilovalar yaratish va unda qulay interfeysni tashkillashtirish.............................................................................................. 46 3.1. Delphi muhiti va foydalanuvchi bilan muloqotni tashkillashtirishda qo’llaniladigan komponentlar………………………………………………….. 46 3.2. Delphi muhitida grafik interfeysni tashkil qilish va undan foydanish 49 Xulosa………………………………………………………………………….. 56 Ilovalar…………………………………………………………………………. 57 Foydalanilgan adabiyotlar……………………………………………………… 58

Kirish Hisoblash texnikasi rivojlanishining oldingi bosqichlarida foydalanuvchi interfeysi operatsion tizim bilan insonning muloqot vositasi sifatida qaralgan va ular yetarlicha dastlabkisi hisoblanadi. U asosan buyruqni bajarish, yuklash, ular bilan aniq ma’lumotlarni bog’lash va hisoblash texnikasi o’rnatishlarga xizmat qiladigan qandaydir protseduralarni bajarish imkonini bergan. Texnik vositalarning mukammallashuvi asosida maxsus foydalanuvchi interfeysiga ega interaktiv dasturiy ta’minot yaratish imkoniyati paydo bo’ldi [4]. Hozirgi vaqtda asosiy muammolardan biri murakkab dasturiy maxsulotlarga professional bo’lmagan foydalanuvchilar ishlatishiga mo’ljallangan interaktiv interfeyslarni ishlab chiqish hisoblanadi. Oxirgi yillarda foydalanuvchining bunday interfeyslarini yaratish bo’yicha asosiy konsepsiyalar shakllandi va ularni yaratish metodikalarining bir nechtasi taklif etildi. Mavzuning dolzarbligi . Hozirgi asr inson faoliyatining barcha sohalarini avtomatlashtirish asridir. Shuning uchun ham zamonaviy axborot texnologiyalariga va avtomatlashtirishning asosini tashkil etadigan yuqori sifatli dasturiy mahsulotlar yaratishga katta e’tibor berilmoqda. Dunyodagi ko’pgina yetakchi davlatlarning tajribalari shuni ko’rsatmoqdaki, dasturiy mahsulot yaratishdagi arzimagan xatoliklar ham oxir oqibatda ishlab chiqarishdagi uzilishlarga va boshqa kutilmagan vaziyatlarga olib kelishi mumkin. Shuning uchun ham dasturiy mahsulotlar yaratish, ularni sozlash, masalaning barcha holatlarini o’z ichiga olgan test masalalar yaratish va ular uchun yaratilgan dasturiy mahsulotlarning ishonchliligini tekshirish ishlab chiqarish jarayonlarini avtomatlashtirishda, qaralayotgan fizik jarayonlarning xususiyatlarini to’liq ochishda ishlab chiqaruvchi va foydalanuvchiga yaratilgan qulayliklari hisobiga katta iqtisodiy foyda keltirishi mumkin. Masalaning qo’yilishi. Ushbu bitiruv malakaviy ishida foydalanuvchi uchun mo’ljallangan grafik interfeys elementlar, qulayliklarni zamonaviy

programmalash texnologiyasi asosida tashkillashtirish masalasi muhokama qilinadi. Interfeysning elementlarini(forma, boshqaruv elementlar va h.k) tashkil etishning texnologik jarayoni namoyish etiladi. Aniq masalalarni yechish jarayonida interfeysni tashkillashtirish bosqichlari dasturiy hal etiladi. Ish natijalarini dasturiy tizimlarini loyihalash va o’qitishda qo’llash mumkin. Ishning maqsadi. Ushbu bitiruv malakaviy ishida foydalanuvchi uchun mo’ljallangan grafik interfeys elementlar, qulayliklarni zamonaviy programmalash texnologiyasi asosida tashkillashtirish masalasi muhokama qilinadi. Interfeysning elementlari(forma, boshqaruv elementlar va h.k) ni tashkil etishning texnologik jarayoni namoyish etiladi. Aniq masalalarni yechish jarayonida interfeysni tashkillashtirish bosqichlari dasturiy hal etiladi. Ishning vazifalari. Bitiruv malakviy ishda quyidagi vazifalar hal etilgan: -dasturiy maxsulotlarga professional bo’lmagan foydalanuvchilar ishlatishiga mo’ljallangan interaktiv interfeyslarni ishlab chiqish; -foydalanuvchi interfeyslarini yaratishning asosiy konsepsiyalari va ularni yaratish metodikalarini o’rganish; -foydalanuvchi interfeyslarining turlari va ularni ishlab chiqish bosqichlari tadqiq qilish; - interfeysni loyihalashda inson psixofiziologik xususiyatlarini hisobga olish prinsiplariga e’tibor qilish. -dasturiy vositani yaratish. Ishning ilmiy va amaliy ahamiyati. Mazkur ish foydalanuvchi grafik interfeysini ishlab chiqish va amaliy dasturiy ta’minotini yaratish nuqtai nazaridan amaliy va tеxnologik ahamiyatga ega. Unda dasturlashning vizual muhitlari va qulayliklaridan foydalanib foydalanuvchining grafik interfeysli ilovalar yaratish usul va mеxanizmlari yoritilgan. Shuningdеk, ishni o’quv-uslubiy ahamiyatli jihatlari ham mavjud bo’lib, undan Windows uchun ilovalar yaratishda uslubiy ko’rsatma sifatida ham foydalanish mumkin.

Qo’llanilgan mеtod va tеxnologiyalar. Ishni bajarish jarayonida foydalanuvchi interfeysini tashkil qilish usullari, bunda ranglarni to’g’ri tanlash, forma elementlarini joylashtirish, menyularni shakllantirish prinsiplariga rioya qilish, amaliy dasturlar bilan ishlash va yuqori darajali tillarda dasturlash xususiyatlarini e’tibor olindi va foydalanildi. Bitiruv malakaviy ish uchta paragraf, xulosa, adabiyotlar ro’yxati va ilovalardan tuzilgan. Birinchi paragrafda foydalanuvchi interfeyslari turlari va ularni ishlab chiqish bosqichlari, insonning axborotni idrok etishi, xotiralashi va qayta ishlashi bilan bog’liq psixofizik xususiyatlari, interfeysining f oydalanuvchi va dasturiy modeli, m uloqotlarning turkumlanishi va ularni ishlab chiqishning umumiy tamoyillari to’g’risida tushunchalar kеltirilgan. Ikkinchi paragrafda foydalanuvchining grafik interfeysining asosiy komponentalari, grafik foydalanuvchi interfeyslarida muloqotlarni amalga oshirish, to’g’ridan – to’g’ri monipulyatsiyali foydalanuvchi interfeyslari va ularni loyihalash, foydalanuvchilar interfeyslarining intelektual elementlarini yaratish muhokama qilingan. Uchinchi paragrafda d elphi muhiti va foydalanuvchi bilan muloqotni tashkillashtirishda qo’llaniladigan komponentlar, d elphi muhitida grafik interfeysni tashkil qilish va undan foydanish dastur ilovasi va interfeysi yaratilgan. Xulosada asosiy natijalar, adabiyotlar ro’yhatida ishlatilgan asosiy adabiyotlar va manbalar, oxiri ilovada esa ishlab chiqilgan dasturning matnlari kеltirilgan.

1-§. Foydalanuvchi interfeysi haqida umumiy ma’lumotlar 1.1. Foydalanuvchi interfeyslari turlari va ularni ishlab chiqish bosqichlari Foydalanuvchi interfeysi- kompyuter bilan foydalanuvchining o’zaro hamkorlikini ta’minlovchi dasturiy va apparat vositalar majmuasidan iborat. Bunday o’zaro hamkorlikning asosini muloqot tashkil etadi. Ushbu holda muloqat vaqtning real masshtabida amalga oshiriladigan va aniq masalani birgalikda yechishga yo’naltirilgan inson hamda kompyuter o’rtasida axborotlarni belgilangan tartibda almashish: axborotlar almashinish va harakatlarni o’zaro muvofiqlashtirish tushuniladi[35]. Har bir muloqot foydalanvchi va kompyuter aloqasini fizik ta’minlaydigan alohida kiritish–chiqarish jarayonlaridan iborat [1- 3]. Axborotlarni almashinish – xabarlarni uzatish va signallarni boshqarish orqali amalga oshiriladi. Xabar – muloqotda axborotlarni almashinishda ishtirok etadigan axborotning bir bo’lagi. Xabarlar quyidagi turlarga ajratiladi: – kiritish xabarlari, bu kiritish vositalari: klaviatura, sichqoncha va h.k yordamida inson tomonidan amalga oshiriladi. – chiqish xabarlari, bu matn, ovozli signallar yoki tasvirlar ko’rinishda kompyuter tomonidan beriladi, foydalanuvchiga monitor ekraniga yoki axborotlarni chop etish va boshqa qurilmalariga chiqariladi(1.1-rasm). Foydalanuvchi Terminal Kompyuter Ovoz va chiquvchi rasm xabarlar Blokirovka Harakat Kiruvchi xabarlar 1.1-rasm. Foydalanuvchi va kompyuter o’rtasidagi muloqotni tashkil qilish Foydalanuvchi asosan quyidagi turdagi xabarlarni amalga oshiradi, axborot so’rovi, yordam so’rovi, amal yoki funksiya so’rovi, axborotlarni kiritish yoki Bajarilgan xabar Ishlov berish So’rovlar tahlili“ Eho” chiqishi Ekran Klaviatura va sichqonchaXabarlar tahlili Qabul qilingan qaror So’rovlar amalga oshishi