Kirish Roʻyxatdan oʻtish

Docx

  • Referatlar
  • Diplom ishlar
  • Boshqa
    • Slaydlar
    • Referatlar
    • Kurs ishlari
    • Diplom ishlar
    • Dissertatsiyalar
    • Dars ishlanmalar
    • Infografika
    • Kitoblar
    • Testlar

Dokument ma'lumotlari

Narxi 25000UZS
Hajmi 2.2MB
Xaridlar 0
Yuklab olingan sana 18 Mart 2025
Kengaytma docx
Bo'lim Kurs ishlari
Fan Informatika va AT

Sotuvchi

G'ayrat Ziyayev

Ro'yxatga olish sanasi 14 Fevral 2025

80 Sotish

C# dasturlash tilida Chiziqsiz tenglamalarni yechishga doir dastur yaratish

Sotib olish
                                   Mundarija:
Kirish .
           1- § .Dasturlash tillari , ularning turlari va asoslari.………….…..3
          2- § .   C# dasturlash tili va uning imkoniyatlari  …………...……..8
Asosiy qism.
            3- § . Windows Formsga kirish..………….………………….….12
            4- § . TabControl , Label va Textbox elementi bilan ishlash..…..16
            5 - § .   C# dasturlash tilida matematik hisoblar….. ………………20
            6- § . Chiziqsiz tenglamalarni C# dasrurlash tilida yechish...…..26
Xulosa ....……………………..….…………………………………… 40
Foydalanilgan adabiyotlar ro’yxati.……………….……………….. 41
                              
                  
                                    
1                                     Kirish:
               1- § .  Dasturlash tillari , ularning turlari va asoslari
Kompyuterda dasturlash bu – kompyuter mikroprotsessori uchun turli buyruqlar berish, 
qachon, qayerda nimani o'zgartirish va nimalarni kiritish yoki chiqarish haqida 
buyruqlar berishdir.  Ushbu maqolada, qanday dasturlash tillari borligi, eng keng 
tarqalgan dasturlash tillari va ularning farqi. Hamda, Dasturlashni o'rganish yo'llari 
haqida suhbatlashamiz Kompyuter dunyosida ko'plab dasturlash tillari mavjud bo'lib, 
dasturlash va unga qiziquvchilar soni ortib bormoqda. Bir xil turdagi ishni bajaradigan 
dasturlarni Basic, Pascal, Ci va boshqa tillarda yozish mumkin. Pascal, Fortran va 
Kobol tillari universal tillar hisoblanadi, Ci va Assembler tillari mashi tiliga ancha yaqin
tillar bo'lib, quyi yoki o'rta darajali tillardir. Algoritmik til inson tillariga qanchalik 
yaqin bo'lsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir.
Mashina tili bu sonlardan iboratdir, Masalan: 010110100010101 Dasturlash tillari 2 ta 
katta guruhlarga bo'linadi, Quyi va Yuqori darajali dasturlash tili. Quyi darajali 
dasturlash tili ancha murakkab bo'lib ular juda maxsus sohalarda ishlatiladi va ularning 
mutaxassislari ham juda kam. Chunki quyi dasturlash tillari (masalan: assembler) 
ko'pincha miktoprotsessorlar bilan ishlashda kerak bo'lishi mumkin. Odatda turli 
dasturlash ishlari uchun yuqori darajali dasturlash tilidan keng foydalaniladi. EHM 
(Elektron Hisoblash Mashinasi) endi yuzaga kelgan paytda programma tuzishda, faqat 
mashina tillarida, ya'ni sonlar yordamida EHM bajarishi kerak bo'lgan amallarning 
kodlarida kiritilgan. Bu holda mashina uchun tushinarli sanoq, sistemasi sifatida 2 lik, 6 
lik, 8 lik sanoq sistemalari bo'lgan. Programma mazkur sanoq sistemasidagi sonlar 
vositasida kiritilgan. Yuqori darajali dasturlashda, mashina tillariga qaraganda 
mashinaga moslashgan (yo'naltirilgan) belgili kodlardagi tillar hisoblanadi. Belgilar 
kodlashtirilgan tillarning asosiy tamoyillari shundaki, unda mashina kodlari ularga mos 
belgilar bilan belgilanadi, hamda xotirani avtomatik taqsimlash va xatolarni tashhis 
qilish kiritilgan. Bunday mashina moslashgan til - ASSEMBLER tili nomini oldi. 
Odatda dasturlash yuqori saviyali dasturlash tillari (Delphi, Java, C++, Python) 
vositasida amalga oshiriladi. Bu dasturlash tillarining semantikasi odam tiliga yaqinligi 
2 tufayli dastur tuzish jarayoni ancha oson kechadi. Ko'p ishlatiladigan dasturlash tillari. 
Biz hozir biladigan va ishlatadigan tillarning barchasi shu guruhga mansub. Ular 
insonga "tushunarli" tilda yoziladi. Ingliz tilini yaxshi biluvchilar programma kodini 
qiynalmasdan tushunishlari mumkin.
  Bu guruhga Fortran, Algol, C, Pascal, Cobol va h.k. tillar kiradi(ko`pchiligi hozirda 
deyarli qo`llanilmaydi). Eng birinchi paydo bo`lgan tillardan to hozirgi zamonaviy 
tillargacha ishlatish mumkin. Lekin, hozirgi web texnologiya orqali ishlaydigan 
tillarda(PHP, ASP.NET, JSP) bunday dasturlar tuzilmaydi. Chunki bunday 
dasturlarning ishlashi uchun yana bir amaliy dastur ishlab turishi kerak. Hozirda, amaliy
dasturlar, asosan, Visual C++, C#, Borland Delphi, Borland C++, Java, Phyhon kabi 
tillarda tuziladi. O`zbekistonda ko`pchilik Delphi dan foydalanadi. Buning asosiy 
sababi: soddaligi, komponentlarning ko`pligi, interfeysining tushunarliligi va h.k. 
Delphida birinchi ishlagan odam ham qanaqadir dastur tuzishi oson kechadi. Lekin, 
Windows da dasturning asosiy ishlash mohiyatini ancha keyin biladi(komponentlarning 
ko`pligi va API funksiyalari dasturda ko`rsatilmasligi uchun). Yana bir tarafi, 
Delphi(Pascal) operativ xotirani tejashga kelganda ancha oqsaydi. Unda 
o`zgaruvchilarni oldindan e'lon qilib qo`yish evaziga ishlatilmaydigan o`zgaruvchilar va
massivlar ham joy olib turadi. Eng keng tarqalgan dasturlash tili(Windows OS ida) 
Microsoft Visual C++ tilidir. Ko`pchilik dasturlar hozirda shu tilda tuziladi. Umuman 
olganda, C ga o`xshash(C- подобный ) tillar hozirda dasturlashda yetakchi. Deyarli 
hamma zamonaviy tillarning asosida C yotadi. Bundan tashqari, Turli komputer 
3 o'yinlari tuzishda yoki kichik hajmdagi dasturlar tayyorlashda LUA script yoki 
JavaScript tillari ham keng ishlatilmoqda. Biz sizga xozirgi kunda keng tarqalgan 
desktop dasturlashda ishlatiladigan dasturlash tillaridan bazilari haqida aytib o'tamiz: 
Delphi (talaff. délfi) — dasturlash tillaridan biri. Borland firmasi tomonidan ishlab 
chiqarilgan. Delphi dasturlash tili ishlatiladi va avvaldan Borland Delphi paketi 
tarkibiga kiritilgan. Shu bilan bir qatorda 2003-yildan hozirgacha qo llanilayotgan shu ʻ
nomga ega bulgan. Object Pascal — Pascal tilidan bir qancha kengaytirishlar va 
to ldirishlar orqali kelib chiqqan bo lib, u ob'yektga yo naltirilgan dasturlash tili 	
ʻ ʻ ʻ
hisoblanadi. Avvaldan ushbu dasturlash muhiti faqatgina Microsoft Windows amaliyot 
tizimi uchun dasturlar yaratishga mo'ljallangan, keyinchalik esa GNU/Linux hamda 
Kylix tizimlari uchun moslashtirildi, lekin 2002-yilgi Kylix 3 sonidan so'ng ishlab 
chiqarish to'xtatildi, ko'p o'tmay esa Microsoft.NET tizimini qo'llab quvvatlashi 
to'g'risida e'lon qilindi. Lazarus proekti amaliyotidagi (Free Pascal) dasturlash tili 
Delphi dasturlash muhitida GNU/Linux, Mac OS X va Windows CE platformalari 
uchun dasturlar yaratishga imkoniyat beradi. Visual Basic (talaffuzi: "Vijual Beysik") – 
Microsoft korporatsiydan dasturlash tili va uning uchun dasturlash muhitdir. U 
BASICdan ko`p tushunchalar oldi va tez rasmli interfeys bilan dasturlar taraqqiyot 
ta`minlaydi. Oxirgi versiya 6.0 1998 yilda reliz kelishdi. Microsoftdan voris Visual 
Basic .NET 2002 yilda paydo bo`ldi. Java dasturlash tili - eng yaxshi dasturlash 
tillaridan biri bo'lib unda korporativ darajadagi mahsulotlarni(dasturlarni) yaratish 
mumkin.Bu dasturlash tili Oak dasturlash tili asosida paydo bo'ldi. Oak dasturlash tili 
90-yillarning boshida Sun Microsystems tomonidan platformaga(Operatsion tizimga) 
bog'liq bo'lmagan holda ishlovchi yangi avlod aqlli qurilmalarini yaratishni maqsad 
qilib harakat boshlagan edi. Bunga erishish uchun Sun hodimlari C++ ni ishlatishni 
rejalashtirdilar, lekin ba'zi sabablarga ko'ra bu fikridan voz kechishdi.Oak 
muvofaqiyatsiz chiqdi va 1995-yilda Sun uning nomini Java ga almashtirdi, va uni 
WWW rivojlanishiga hizmat qilishi uchun ma'lum o'zgarishlar qilishdi. Java Obyektga 
Yo'naltirilgan Dasturlash(OOP-object oriented programming) tili va u C++ ga ancha 
o'xshash.Eng ko'p yo'l qo'yildigan xatolarga sabab bo'luvchi qismalari olib tashlanib, 
Java dasturlash tili ancha soddalashtirildi. Java kod yozilgan fayllar(*.java bilan 
4 nihoyalanuvchi) kompilatsiyadan keyin bayt kod(bytecode) ga o'tadi va bu bayt kod 
interpretator tomonidan o'qib yurgizdiriladi. C++ (talaffuzi: si plyus plyus) — turli 
maqsadlar uchun mo ljallangan dasturlash tili. 1979-yili Bell Labsda Biyarne Stroustrupʻ
tomonidan C dasturlash tilining imkoniyatlarini kengaytirish va OOP(object Oriented 
Programming) xususiyatini kiritish maqsadida ishlab chiqarilgan. Boshida „C with 
Classes" deb atalgan, 1983-yili hozirgi nom bilan ya ni C++ deb o zgartirilgan. C++ C 	
ʼ ʻ
da yozilgan dasturlarni kompilyatsiya qila oladi, ammo C kompilyatori bu xususiyatga 
ega emas. C++ tili operatsiyon tizimlarga aloqador qisimlarni, klient-server dasturlarni, 
EHM o yinlarini, kundalik ehtiyojda qo llaniladigan dasturlarni va shu kabi turli 	
ʻ ʻ
maqsadlarda ishlatiladigan dasturlarni ishlab chiqarishda qo llaniladi. Quyidagi 	
ʻ
jadvalda programmalash tillari haqida ma'lumotlar keltirilgan. Internet. Web Server. 
Web dasturlash vositalari (tillari) Ma`lumki, yuqori darajadagi dasturlash tillarida 
yozilgan dasturlarni kompyuterga tushuntirish uchun kompilyator degan qo'shimcha 
dastur kerak bo'ladi. Web dasturlashda ham huddi shunday jarayon sodir bo'ladi. Siz 
internetdagi saytlarni ko'rishlik uchun ishlatadiganingiz Brauzerlar - web dasturlash 
tillarining bazilarini kompilyatori hisoblanadi. Web dasturlashda yana shunday tillar 
ham borki ularni brouzer kompyuterga tarjima qilib tushuntirib bera olmaydi, lekin 
bunday tillar web saytni asosini tashkil etadi.   Ana shunday tillarni brouzer tushunadigan
qilib berish uchun ham Web server ga o'xshagan dasturlar (kompilyator yoki 
interpretatorlar) to'plami kerak bo'ladi.
5 Bunday dasturlar esa sayt joylashgan serverlarda turadi, qachonki unga so'rov 
yuborganingizda (istalgan biror ssilkani bosganingizda, birinchi marta saytni 
ochganingizda va hokazo...) shu sayt joylashgan serverdagi Web server dasturlari 
6 sizning brauzeringizga saytni brauzer tushunmaydigan tillarda yozilgan joylarini tarjima
qilib jo'natadi. 
                  2- § .   C# dasturlah tili va uning imkoniyatlari.
C# universal dasturlash tili bo’lib, xar xil darajadagi masalalar uchun yechim topish 
mumkin. C# tilining asosiy tushunchalaridan biri bu klasslardir. Klass bu –
foydalanuvchi tomonidan yaratilgan (ifodalangan) til. C# dasturlash TILIDA C va C++ 
tillarning deyarli barcha imkoniyatlari saqlangan. C va C++ tillarda tayyor xoldagi 
dasturlarga qayta o’zgarish kiritganda ham C# kompilyatori dastur matnidan xatoliklar 
topmaydi. Ya’ni dasturni xar ikkala tilda xam foydalanib tuzish mumkin.Dinamik web 
saxifalarni yaratish uchun JavaScript yoki PHP singari tsenariyli tillarni ishlatish zarur. 
Bu tillarni sintaksisi ko`pincha C dasturlash tiliga o`xhsab ketadi. Til juda boy 
imkoniyatlarga ega bo`lsada web serverlar uchun dasturlar tuzishga mo`ljallanmagan 
hamda ob`ektga mo`ljallangan dasturlash tili bo`lishiga qaramasdan visual xarakterdagi 
dasturlarni yaratish uchun maxsus tizimiga ega emas.Net platformasi imkoniyatlari 
dasturlari yaratish bo`yicha talaba va professor-o`qituvchilarni ishini keskin oshiradi. 
Net platformasining asosiy tamoyili quyidagicha talaffuzlanadi: “Ixtiyoriy qismni 
ixtiyoriy joydan o`zgartirishingiz mumkin”. Net platformasi Windows dasturlarini 
yaratish uchun yangi model hisoblanadi.Net platformasini yutuqlarini sanab bersak.
-To`liq va absolyut tillararo o`zaro ta`sirchanlik:
7 -ixtiyoriy Net dasturlarini qaysi dasturlash tillida yozilishidan qat`iy nazar umumiy 
bajarilish muhiti. Eng muhimi barcha tillar uchun tiplar to`plami ishlatiladi;
-dasturni tarqatilishini soddalashtirilgan jarayoni. Net platformasida tiplarni tizimli 
reestrga qayd etish zaruriyati yo`q. Bundan tashqari .Net platformasi bir modulning bir 
necha DLL versiyalarini bir biriga xalaqit bermasdan tizimda hayot kechirishi 
mumkin.Net platformasi uchun maxsus C# dasturlash tili yaratildi. C# dasturlash 
tilining konstruktsiyasi nafaqat C++, Java tilidan olingan balki Visual Basic tilidan ham 
olingan. Tilning asosiy xususiyatlarini sanab o`tsak:
-xotirani avtomatik boshqarish;
-sanaladigan, strukturali va sinf xususiyatlari bilan ishlash uchun quyilgan sintaksis 
konstruktsiyalar;
-operatorlarni qayta yuklashni C++ tiliga qaraganda oson amalga oshirish;
-dasturiy interfeyslarni ishlatishni to`liq qo`llab   quvvatlash ;
-sohaga yo`naltirilgan dasturiy texnologiyalarni qo`llab quvvatlash.
C# dasturlash tili .Net platformasining qadrdon tili hosoblanadi. Tilni yaratishning 
asosiy maqsadi uni .Net platformasiga integrallashuvi hisoblanadi. Net platformasiga 
turli dasturlash tilida dasturlash mumkin bo`lsada eng yaxshisi C# dasturlash tilida 
dastur tuzishni maslaxat beramiz, chunki bu til muhitni barcha imkoniyatlarini 
maksimal ishlatadi. Shunday ekan C# tili imkoniyatlarini bilish orqali muhit 
imkoniyatlarini ham bilib olamiz.
8  Bu til to`liq ob`ektga yo`naltirilgan dasturlash tili bo`lib, xatolarga bardoshli va 
chidamli dasturlarni tuzish imkoniyatini beradi.C# dasturlash tili o`zining soddaligi, 
barqarorligi va mantiqiyligi bilan faqr qiladi. Unda xatolarni toppish noqulay 
ko`rinmaydi. C# tili tiplarga nisbatan xavfsiz hisoblanadi. U initsializatsiyalanmagan 
o`zgaruvchilarni ishlatishdan, tiplarni xavfsiz bo`lmagan o`tkazishdan va boshqa ko`p 
tarqalgan xatoliklardan himoyalaydi.C# dasturlash tilida dastur tuzish vaqt va moddiy 
sarf jihatdan yutuqli hisoblanadi. Nihoyat C# .Net platformasining barcha imkoniyatlari 
xususan umumiy va maxsus masalalarni yyechish uchun ko`pgina kutubxonalarni 
ishlatadi.Net platformasining ikkita asosiy tashkil etuvchisi umumiy tildagi bajarilish 
muhiti (CLR-Common Language Runtime) va sinflar kutubxonasi (FCLFramework 
Class Library). Umumiy tildagi bajarilish muhiti dasturni ishlashi vaqtida kodni 
boshqarishni bajaradi va xotirani boshqarish, oqimlarni boshqarish hamda uzoqlashgan 
o`zarota`sir singari asosiy xizmatlarni ko`rsatadi. Bunda qattiqqo`l tiplashtirish va kod 
mavjudliligi tekshiruvlarini   amalaga oshiradi , qaysiki bu xavfsizlik va barqarorlikni 
ta`minlaydi. Net platformasining boshqa tashkil etuvchisi – sinflar kutubxonasi bo`lib, 
kop` holatda ishlatiladigan tiplar kollektsiyasiga ob`ektga yo`naltirilgan murojaatni 
taqdim etadi, bu esa turli darajadagi dasturlarni oson yaratish imkoniyatini beradi to 
oddiy buyruqli interfeysdan tortib toki Net platformasining eng katta yutuqlarini 
ishlatishgacha masalan: XML web xizmatlar, ASP.Net imkoniyatlari va hokazo.Net 
platformasini qisqa ko`rib chiqgandan keyin ham C# dasturlash tili to`g`risida 
quyidagilarni xulosa qilish mumkin. Xulosa qilib shuni aytish kerakki dasturlash 
tillarini quyidagi ketma-ketlikda o`rganishni maslahat berar edik:Dasturlash tili 
boshlang`ich tushunchalarini o`rganish uchun C dasturlash tilini o`rganish: til sintaksisi,
algoritmlari,   konstruktsiyalar , konsol dasturlarini yaratish.
class Program
{
public static void Main(string[] args)
{
double s = 0;
9 Console.WriteLine(" Введите   размерность   системы ");
int n = int.Parse(Console.ReadLine());
double[,] a = new double[n, n];
double[] b = new double[n];
double[] x = new double[n];
for (int i = 0; i < n; i++)
x[i] = 0;
Console.WriteLine(" Введите   построчно   коэффициенты   системы ");
for (int i = 0; i < n; i++)
for (int j = 0; j < n; j++)
{
a[i, j] = double.Parse(Console.ReadLine());
}
Console.WriteLine(" Введите   свободные   коэффициенты ");
for (int i = 0; i < n; i++)
b[i] = double.Parse(Console.ReadLine());
Obyektga yo’naltirilgan dasturlash tillarining enga katta yutug’i 
(C/C++/C#/Java/J#/VB)- shundan iboratki, siz o’zingiz mustaqil ravishda maxsus 
metodlarni aniqlashingiz mumkin. Bu metodlar sinflarning nusxasi olinganda chaqirish 
uchun qo’llaniladi. Bu metodlar konstruktorlar deb ataladi. Qachon foydalanuvchi 
obyekt nusxasini chaqirganda, uning konstruktori chaqiriladi va u foydalanuvchining 
shu obyekt ustida boshqa amal bajargunicha unga boshqaruvni qaytarishi kerak. Lekin 
konstruktor nomini qanday qo’yish kerak? Bu muammoni C# mualliflari quyidagicha 
hal etishdi : C# konstruktorlarining nomi sinf nomi bilan nir xil bo’lishi kerak.C# 
mualliflari tomonidan shunday mexanizm qo’yilganki, bu mexanizm bir nechta Main 
metodini aniqlay oladi. Bu nima uchun kerak dersiz. Sabablardan biri bu – sizning 
dasturingizga test kodini kiritishdir. Keyin almashtirish kaliti bilan /main;, kerakli sinf 
nomi beriladi va komplyator uni ishga tushiradi.   Maydon. Bu o’zgaruvchi o’zida bir 
necha qiymatni saqlaydi. Obyektga yo’naltirilgan dasturlash tillarida bu o’zgaruvchilar 
obyekt ma’lumotlari deb ham yuritiladi
10                                              
                                      Asosiy qism.                                 
                    3- § . Windows Formsga kirish .
C# Windows Forms shakllari
  C#   dasturchilari   foydalanuvchi   interfeyslarini   yaratish   uchun   shakllardan   keng
foydalanishgan.   Har   safar   Windows   ilovasini   yaratganingizda,   Visual   Studio   standart
bo'sh   shaklni   ko'rsatadi,   uning   ustiga   siz   boshqaruv   elementlarini   ilovalaringizning
asosiy shakliga sudrab, ularning o'lchami va joylashishini sozlashingiz mumkin.
       Birinchi qadam - yangi loyihani boshlash va shakl yaratish.   Visual Studio-ni oching
va   Fayl->Yangi   loyiha-ni   tanlang   va   yangi   loyiha   dialog   oynasidan   Boshqa   tillar-
>Visual C#-ni tanlang va Windows Forms Application-ni tanlang.   Muloqot oynasining
pastki qismida loyiha nomini kiriting va OK tugmasini bosing.   Quyidagi rasmda Visual
Studio'da yangi forma yaratish ko'rsatilgan.
11 Yangi loyiha muloqot oynasidan Windows Forms ilovasini tanlang.
Windows Forms Application ni tanlaganingizdan so'ng siz yangi C# loyihangizda
standart   shaklni   (Form1)   ko'rishingiz   mumkin.   Dizayner   ko'rinishida   siz   ko'rgan
Windows   Formasi   ilovangiz   ochilganda   ochiladigan   oynaning   vizual   ko'rinishidir.   Siz
istalgan   vaqtda   dizayn   yuzasi   yoki   kod   oynasiga   sichqonchaning   o‘ng   tugmachasini
bosib,   so‘ng   kodni   ko‘rish   yoki   Dizaynerni   ko‘rish   tugmalarini   bosish   orqali   istalgan
vaqtda   ushbu   ko‘rinish   va   Kod   ko‘rinishi   o‘rtasida   o‘tishingiz   mumkin.   Quyidagi
rasmda standart shakl (Form1) qanday ko'rinishi ko'rsatilgan.
12 Shaklning   yuqori   qismida   shakllar   sarlavhasini   ko'rsatadigan   sarlavha   satri
mavjud.   Form1   standart   nom   bo'lib,   siz   o'zingizning   qulayligingiz   uchun   nomni
o'zgartirishingiz   mumkin.   Sarlavha   satrida   kichiklashtirish,   kattalashtirish   va   yopish
tugmalari joylashgan boshqaruv oynasi ham mavjud.
Shaklning biron bir xususiyatlarini o'rnatmoqchi bo'lsangiz, uni o'zgartirish uchun
Visual   Studio   Property   oynasidan   foydalanishingiz   mumkin.   Xususiyatlar   oynasini
ko'rmasangiz,   Ko'rish   menyusida   Xususiyatlar   oynasini   bosing.   Ushbu   oynada   hozirda
tanlangan Windows formasi yoki boshqaruvi xususiyatlari ro'yxati keltirilgan va bu erda
siz mavjud qiymatlarni o'zgartirishingiz mumkin.
13 Masalan, formalar sarlavhasini Form1 dan MyForm ga o'zgartirish uchun Form1
ni bosing va Xususiyatlar oynasining o'ng tomoniga o'ting, Matn xususiyatini MyForm
ga   o'rnating.   Keyin   shakl   sarlavhasi   o'zgartirilganligini   ko'rishingiz   mumkin.   Xuddi
shunday,   Xususiyatlar   oynasi   orqali   formaning   istalgan   xususiyatlarini   o'rnatishingiz
mumkin.
Form1 xususiyatlarini kodlash orqali ham o'rnatishingiz mumkin.   Kodlash uchun
siz dizayn yuzasi  yoki kod oynasini  sichqonchaning o'ng tugmasi  bilan bosishingiz  va
keyin Kodni ko'rish-ni bosishingiz kerak.
14 Formani sichqonchaning o'ng tugmasi bilan bossangiz, oyna orqasida kod olasiz,
u erda kodingizni yozishingiz mumkin
                4- § . TabControl , Label va Textbox elementlari bilan ishlash .
TabControl.
TabPage TabPages xususiyati tomonidan qo'shilgan ob'ektlar bilan ifodalanadigan tab-
sahifalarning TabControl-ni o'z ichiga oladi. Ushbu to'plamdagi yorliq sahifalarining 
tartibi boshqaruvdagi yorliqlarni ko'rsatish tartibini aks ettiradi.Foydalanuvchi 
boshqaruvdagi yorliqlardan birini bosish orqali joriy TabPage boshqaruvini o'zgartirishi 
mumkin. Quyidagi TabControl xususiyatlaridan biri yordamida joriy TabPage qiymatini
dasturiy ravishda o‘zgartirishingiz mumkin:
Tanlangan indeks
Tanlangan yorliq
.NET Framework 2.0 da siz quyidagi usullardan birini ham ishlatishingiz mumkin:
Tabni tanlang
Tabni tanlashni bekor qiling.  .NET Framework 2.0 da siz joriy yorliqdagi o'zgarishlarga
quyidagi hodisalardan birini boshqarish orqali javob berishingiz mumkin:
Tanlov bekor qilinmoqda Tanlov bekor qilindi  Tanlash  Tanlangan
15 TabControl-dagi yorliqlar TabControl-ning bir qismidir, lekin TabPage-ning individual 
boshqaruv elementlarining bir qismi emas. ForeColor xususiyati kabi TabPage Class 
a'zolari yorliqlarga emas, balki faqat yorliq sahifasining mijoz to'rtburchagiga ta'sir 
qiladi. Bundan tashqari, TabPage ning Hide usuli o'zini yashirmaydi. Yorliqni yashirish 
uchun TabControl.TabPages to'plamidan TabPage boshqaruvini olib tashlashingiz 
kerak.
using  System.Windows.Forms;
public   class   Form1  :  Form
{
     private  TabControl tabControl1;
     private  TabPage tabPage1;
     public   void   MyTabs ()
    {
         // Invokes the TabControl() constructor to create the tabControl1 object.
         this .tabControl1 =  new  System.Windows.Forms.TabControl();
         // Creates a new tab page and adds it to the tab control
         this .tabPage1 =  new  TabPage();
                
         this .tabControl1.TabPages.Add(tabPage1);
         // Adds the tab control to the form
         this .Controls.Add(tabControl1);
    }
     public   Form1 ()
    {
        MyTabs();
16     }
     static   void   Main () 
    {
        Application.Run( new  Form1());
    }
}
Label.
Label Yozuv (label komponenti) yorliqni ifodalaydi va ko`pincha o`zining Text 
xususiyatiga ega bo`lmagan boshqa boshqaruv elementlarining sarlavasi sifatida 
ishlatiladi. Ko`pincha yozuvlarni tasvirlash uchun nishon deb nomlanadigan Label 
kompanenti  ishlatiladi.U dastur bajarilish vaqti foydalanuvchi tahrirlashi mumkin
bo`lgan oddiy matnni tasvirlash uchun   ishlatiladi.Visual Studio   dasturida   Label 
kompanentasini ishlatish uchun  ― Панель   элементов  oynasida Label nomli ‖
kompanenta tanlanadi.Xususiyatlari.
BorderStyle   — bu xususiyat orqali Label komponentasini   chegara sohasini
o`zgartirish mumkin.Chegara sohasining 3xil ko`rinishi mavjud: none, (bir chiziqli) 
окантовка   одной   линией  ,  окантовка   под   трехмерное   пространство (uch o`lchovli);
Text   — xususiyatida Label komponentiga kiritiladigan matn yoziladi. AutoSize	
   Nishon
Matniga bog`liq ravishda Label kompanenti o`lchamlarini avtomatik rostlashni 
boshqarish uchun   Boolean turidagi AutoSize  x ususiyati xizmat qiladi. Agar xususiyat 
(odatdagidek) True qiymatga ega bo`lsa,Label kompanenti Caption xususiyatidagi 
matnga ko`ra o`lchamlarini o`zgartiradi. TextAlign   — yozilgan matnning Label 
chegarasi bo`ylab qanday joylashishini belgilash. Label kompanenti ichida 
matnni   rostlash uchun quyidagi   qiymatlarni qabul qiluvchi TAlignment turidagi 
Alignment xususiyati qo`llaniladi: - TopLeft– chap yon bo`ylab rostlash;- TopCenter 
–   matnni markazlashtirish ;- TopRight – o`ng yon bo`ylab rostlash.Nishonning shaffof
yoki bo`yalganligi Boolean turidagi Transporent xususiyati belgilaydi.Bo`yoq  rangi 
Color xususiyati yordamida o`rnatiladi.Odatda, Transporent xususiyati False qiymatiga 
17 ega va nishon noshaffof bo`ladi.Shaffof Label kompanenti nishon rasm ustida 
joylashtirilganda va tasvirni yopmasligi zarur bo`lgan hollarda kerak bo`lishi mumkin. 
TextBox.
TextBox elementi WPF da tuzi lgan dasturlarda asosiy kiritish elementi hisoblanadi. 
Ya’ni TextBox elementi bilan foydalanuvchiga matnlar kiritish, o’zgartirish, o’chirish 
va boshqa ko’p qulayliklarni yaratib beruvchi element hisoblanadi.
Avvalo oddiy misoldan boshlaymiz.
<Window x:Class="WpfApp1.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
Title="MainWindow" Height="150" Width="300">
<Grid>
<TextBox Height="25" FontSize="15" Width="200"/>
</Grid>
</Window>
   
Shu ko’rinishda bo’ladi.TextBox lardan juda ko’p xollarda foydalangansiz 
‘foydalanuvchi’ sifatida. Masalan qayerda? Biror bir saytga tashrif buyurganingizda 
albatta login va parol yozishingiz kerak bo’ladi, shu xollarda loginni kiritish uchun 
TextBox lar ishlatilgan. Nomi HTML kodida boshqa nomad bo’lishi mumkin lekin 
18 ma’nosi bir, Foydalanuvchi tomonidan matn ko’rinishidagi ma’lumotni olish uchun 
xizmat qiladi.
Agar siz TextBox ochilgan holatida unda qandaydir matn bo’lishini hohlasangiz uning 
Text  Property siga o’zingiz kiritmoqchi bo’lgan matnni berib yuborasiz.
Ya’ni:
<TextBox Text="Salom!" Height="25" FontSize="15" Width="200"/>
Va oyna ochilganda TextBox elementida siz kiritgan matn hosil bo’ladi. 
                          
                  5- § .  C# dasturlash tilida matematik hisoblar   .
 C# (si sharp) dasturlash tilida standart matematik funksiyalar bilan ishlashda Math 
sinfidan foydalaniladi. Bu sinf statistik sinf hisoblanadi. Shu sabab undagi barcha 
metodlar  static  tipiga tegishli bo’ladi. Quyida biz bu sinfga tegishli funksiyalarni ko’rib 
chiqamiz:
1)  Sqrt(double a)  metodi (funksiyasi). Vazifasi :  a sonning kvadrat ildizini qaytaradi.
Aniqlanish   sohasi :  haqiqiy(float, double, decimal) va butun (short, int, long). Qiymatlar  
sohasi :  haqiqiy(float, double, decimal). Ishlatilishi :  b=Math.Sqrt(a);
using  System;
namespace  Math_sinfi
{
class  Program
{
public static void  Main( string [] args)
{
Console.Write( "a=" );
double  a =  double .Parse(Console.ReadLine());
double  c = Math.Sqrt(a);
Console.WriteLine( "Math.Sqrt({0})={1}" ,a,c);
19 Console.ReadKey( true );
    } 
  } 
}
    
2)  BigMul(int x, int y)  metodi (funksiyasi). Vazifasi :  x va y o’zgaruvchilar 
ko’paytmasini qaytaradi. Aniqlanish   sohasi :  butun (int, long). Qiymatlar   sohasi :  butun 
(int, long) va haqiqiy(float, double, decimal). Ishlatilishi :  y=Math.BigMul(x,y);
3)  DivRem(int a, int b, out int result) metodi (funksiyasi). Vazifasi :  a sonni b songa 
bo’lgandagi butun qismni qaytaradi. Bunda qoldiqni result o’zgaruvchi orqali olishni 
ham ta’minlaydi. Aniqlanish   sohasi :  butun (int). Qiymatlar sohasi :  butun (int). 
Ishlatilishi :  int d=Math.DivRem(a,b,out c);
4)  Floor(decimal a)  metodi (funksiyasi). Vazifasi :  berilgan a sondan katta bo’lmagan 
eng katta butun sonni qaytaradi, ya’ni sonning butun qismini hisoblaydi. Aniqlanish  
sohasi :  haqiqiy(float, double, decimal). Qiymatlar   sohasi :  haqiqiy(float, double, 
decimal). Ishlatilishi :  b=Math.Floor(a)
using  System;
namespace  Math_sinfi
{ class   Program
{
public   static   void   Main ( string [] args)
{
Console . Write ( "a=" );
decimal  a =  decimal . Parse ( Console . ReadLine ());
20 decimal  b =  Math . Floor (a);  
Console . WriteLine ( "Natija: " +b);
Console . ReadKey ( true );
       }
    }
}
Natija:
5)  Round(double a)  metodi (funksiyasi). Vazifasi :  berilgan a sonni yaxlitlaydi. 
Aniqlanish   sohasi :  haqiqiy(float, double, decimal). Qiymatlar   sohasi :  haqiqiy(float, 
double, decimal). Ishlatilishi :  b=Math.Round(a);
6)  Pow(double a, double b)  metodi (funksiyasi). Vazifasi :  a sonning b-darajasini 
qaytaradi. Aniqlanish   sohasi :  haqiqiy(float, double, decimal) va butun (short, int, long).
Qiymatlar   sohasi :  haqiqiy(float, double, decimal). Ishlatilishi :  c=Math.Pow(a,b);
public static void  Main( string [] args)
{
Console.Write( "a=" );
double  a =  double .Parse(Console.ReadLine());
Console.Write( "b=" );
double  b =  double .Parse(Console.ReadLine());
double  c = Math.Pow(a,b);
Console.WriteLine( "Math.Pow({0};{1})={2}" ,a,b,c);
21 Console.ReadKey( true );
}
Natija:
7). Abs(double value)  metodi (funksiyasi). Vazifasi :  berilgan sonning absolyut 
qiymati(moduli)ni qaytaradi.  Aniqlanish sohasi :  haqiqiy (float, double, decimal) va 
butun (short, int, long). Qiymatlar sohasi :  haqiqiy(float, double, decimal) va butun 
(short, int, long).  Ishlatilishi :  y=Math.Abs(x);
     Chiziqsiz tenglamalarni hisoblashga doir ma’lumotlar:
Ko`pincha   matematik   masalalarni   sonli   yechishda   biz   doimo   aniq  yechimga   ega   bo`la
olmasdan, balki, yechimni u yoki bu darajadagi aniqlikda topamiz. Demak, aniq yechim
bilan taqribiy yechim orasidagi xatolik qanday qilib kelib qoladi degan savol tug`ilishi
tabiiydir.   Bu   savolga   javob   berish   uchun   xatoliklarning   hosil   bo`lish   sabablarini
o`rganish   lozim.   Aniq   yechim   bilan   taqribiy   yechim   orasidagi   farq   xato   deyiladi.
Dastlabki   ma’lumotlarning   noaniqligi   natijasida   hosil   bo`lgan   xato   yo`qotilmas   xato
deyiladi. Bu xato masalani yechayotgan matematikga bog`liq bo`lmasdan, unga berilgan
ma’lumotlarning   aniqligiga   bog`liqdir.   Lekin   matematik   dastlabki   ma’lumotlar
xatosining kattaligini bilishi va shunga qarab natijaning yo`qotilmas xatosini baholashi
kerak.   Agar   dastlabki   ma’lumotlarning   aniqligi   katta   bo`lmasa,   aniqligi   juda   katta
bo`lgan   metodni   qo`llash   o`rinsizdir.   Chunki   aniqligi   katta   bo`lgan   metod   ko`p
mehnatni (hisoblashni)   talab qiladi , lekin natijaning xatosi  baribir  yo`qotilmas xatodan
kam   bo`lmaydi.   Ba’zi   matematik   ifodalar   tabiat   hodisasining   ozmi   -   ko`pmi
ideallashtirilgan   modelini   tasvirlaydi.   Shuning   uchun   tabiat   hodisalarining   aniq,
22 matematik ifodasini (formulasini, tenglamasini) berib bo`lmaydi, buning natijasida xato
kelib chiqadi. Yoki biror masala aniq, matematik formulada yozilgan bo`lsa va uni shu
ko`rinishda   yechish   mumkin   bo`lmasa,   bunday   holda   bu   masala   unga   yaqinroq   va
yechish   mumkin   bo`lgan   masalaga   almashtirilishi   kerak.   Buning   natijasida   kelib
chiqadigan   xato   metod   xatosi   deyiladi.   Biz   doimo   π ,   e,   ln2   va   shunga   o`xshash
irratsional   sonlarning   taqribiy   qiymatlarini   olamiz ,   bundan   tashqari,   hisoblash
jarayonida   oraliq  natijalarda   ko`p   xonali   sonlar   hosil   bo`ladi,   bularni   yaxlitlab  olishga
to`g`ri   keladi.   Ya’ni   masalalarni   yechishda   hisoblashni   aniq   olib   bormaganligimiz
natijasida ham xatoga yo`l qo`yamiz, bu xato hisoblash xatosi deyiladi. Shunday qilib,
to`liq  xato  yuqorida  aytilgan  yo`qotilmas   xato,  metod  xatosi  va   hisoblash   xatolarining
yig`indisidan   iboratdir.   Ravshanki ,   biror   konkret   masalani   yechayotganda   yuqorida
aytilgan   xatolarning   ayrimlari   qatnashmasligi   yoki   uning   ta’siri   deyarli   bo`lmasligi
mumkin.   Lekin,   umuman   olganda,   xato   to`liq,   analiz   qilinishi   uchun   bu   xatolarning
hammasi   hisobga   olinishi   kerak.   Odatda   tenglamalarni   ularda   qatnashayotgan
noma’lumlarning   qayerda   joylashganligiga   qarab   turli   sinflarga   ajratiladi;      chiziqli
tenglamalar ;      kvadrat   tenglamalar;      kubik   va   yuqori   darajali   tenglamalar;   
trigonometrik   ko’rsatgichli,   irratsional ,   logarifmik,   darajali   tenglamalar;      vax.z.
Chiziqli   tenglamadan   tashqari   barcha   sinflarga   tegishli   tenglamalarni   qisqacha   qilib
chiziqsiz   tenglamalar   deb   ataladi.   Chiziqsiz   tenglamalarni   yechishning   umumlashgan
usuli   mavjud   emas.   Har   bir   sinfga   tegishli   tenglamalar   o`ziga   xos   usullar   bilan
yechiladi.   Hatto   ba’zi   bir   o`ta   chiziqsiz   tenglamalarning   yechimlarini   analitik   usulda
aniqlash   imkoniyati   bo’lmasligi   mumkin.   Hozirgi   paytda   chiziqsiz   tenglamalarni
yechish   uchun   oldingi   o`ringa   sonlitaqribiy   usullar   chiqib   oldi.   Bu   usullar
o`zlarining   umumlashgani , tenglamani yetarli aniqlikda yecha olishi bilan ajralib turadi.
Shuning uchun chiziqsiz tenglamalarni yechishning sonli-taqribiy usullari uchun dastur
ta’minotlarini yaratilishi muhim va aktual masala hisoblanadi. Chiziqsiz tenglamalardan
na’munalar: 1. 8x3-7x2 +3x-6=0 2. 11x2 -sin x =0 3. ln |7x|-cos 6x=0 4.e8x-13x=0 2.
Chiziqsiz tenglamalarni yechishning geometrik ma’nosi. Chiziqsiz tenglamalarni sonli-
taqribiy   usullar   bilan   yechishni   tashkil   qilish   uchun   tenglamaning   nechta   yechimi
mavjud   ekanligi   yoki   umuman   yechimi   yo’qligi   haqida   ma’lumotga   ega   bo’lishimiz
23 kerak. Bundan tashqari, tenglamaning yagona yechimi yotgan oraliqni ham aniqlashga
to’g’ri   keladi.   Buning   uchun   berilgan   tenglamani   yechishning   grafik   usulidan
foydalanamiz.   Bizga   quyidagi   umumiy   holda   yozilgan   chiziqsiz   tenglama   berilgan
bo’lsin:  Tenglama ildizini vatarlar usulida hisoblash
Aytaylik berilgan f(x)=0 tenglamadagi f(x) funksiya [a,b] oraliqda hamma shartlarini bajarsin. Bundan
tashqari f(x) funksiya [a,b] oraliqda  ikkinchi  tartibli  f''(x) uzluksiz hosilaga  ega bo`lib, bu hosila  shu
oraliqda o`z   ishorasini saqlasin , ya’ni quyidagi teorema o`rinli bo`lsin.
1-teorema. Agar [a,b] da
1) f(x), f ' (x) funksiyalar uzluksiz;
2) f(a) f(v)< 0, yani f(x) funksiya kesmaning chetlarida har xil ishoraga ega bo`lsa;
3) f'(x), f''(x) hosilalar [a,v] kesmada uz ishorasini saklasa f(x)=0 tenglama ildizini aniqlaydigai ketma-
ketlik ildizga ya=inlashuvchi bo`ladi.
Bu teoremaning mazmuninni quyidagi shakllarda ko`rish mumkin.
        6- § . Chiziqsiz tenglamalarni C# dasrurlash tilida yechish.
Men kurs ishimni tayyorlash mobaynida C# dasturlash tilining Windows 
Forms bo’limidan foydalandim. Windows Formsning:
 TabControl—  daftardagi ajratgichlar yoki fayl kabinetidagi papkalar 
to'plamidagi teglarga o'xshash bir nechta yorliqlarni ko'rsatish uchun 
ishlatiladi.
 Label  — Formaga matn kiritish imkoniyatini beradi.
 TextBox—bu matn kiritishda ishlatiladi.
 Button — bu element tugma vazifasini bajaradi. Buni bosganimizda qandaydir 
amal bajariladi.
Quyidagi elementlaridan foydalandim.
                             LABEL
24                      
Kod yoziladigan	 qismi:
void   Label1Click ( object  sender,  EventArgs  e)         
{                 
      //Bu elementni shu joyiga u bajaradigan vazifani kodlarini yozishimiz 
mumkin.                
       }
 	
                                                Button
 	
          
Kod	
 yoziladigan	 qismi:
void   Button1Click ( object  sender,  EventArgs  e)         
{
                      //Bu elementni shu joyiga u bajaradigan vazifani kodlarini 
yozishimiz mumkin.                
         }
25                                                     TabControl.
 	
             
Kod	
 yoziladigan	 qismi:
      void   TabPage3Click ( object  sender,  EventArgs  e)
                     {
                              //Bu elementni shu joyiga u bajaradigan vazifani kodlarini 
yozishimiz mumkin.                
                              }
Mavzuyimning birinchi tabPage qismining dastur qismi:
using  System;
using  System.Collections.Generic;
using  System.Drawing;
using  System.Windows.Forms;
namespace  Hayitboyeva_Kurs_ishi
{
        ///   < summary >
        ///  Description of MainForm.
        ///   < /summary >
        public   partial   class   MainForm  :  Form
26         {
                public   MainForm ()
                {
                        InitializeComponent ();
                       
                        tabPage1 .Text= "Iteratsiya usilida hisoblash." ;
                        tabPage1 .BackgroundImage= Image . FromFile ( @"d:\m4.jpg" );                              
                }
                void   Button1Click ( object  sender,  EventArgs  e)
                {
                        double  a,b,c,d,dy;
                        a = double . Parse ( textBox1 .Text);
                        b = double . Parse ( textBox2 .Text);
                        c = double . Parse ( textBox3 .Text);
                       
                       
                        double  y=a+ Math . Sin (a)-c;
                        double  z=b+ Math . Sin (b)-c;
                        double  n=y*z;
                        if (n< 0 )
                        {
                                for ( int  i= 1 ;;i++)
                                {
                                        d=(b+a)/ 2 ;
                                        dy=d+ Math . Sin (d)-c;
                                        if  ((dy< 0 ))
                                        {
                                                if  (y> 0 )
                                                {
27                                                         b=d;
                                                        z=dy;
                                                } else
                                                {
                                                        a=d;
                                                        y=dy;        
                                                }
                                        } else
                                        {
                                                if  (y< 0 )
                                                {
                                                        b=d;
                                                        z=dy;
                                                } else
                                                {
                                                        a=d;
                                                        y=dy;        
                                                }
                                        }
                                        if ( Math . Abs (b-a)< 0.001 )
                                        {
                                                textBox4 .Text= Convert . ToString (d);
                                                break ;
                                        }
                                }
                        }
                        else
                        {
                                MessageBox . Show ( "Funksiya [a,b] da yechimga ega emas" );
28                         }
                }
          }
      }
Bu dastur x+sin(x)=c tenglamani [a,b] kesmada 0.001 aniqlikda hisoblab beradi. Bu 
tenglamamiz chiziqsiz tenglamalar turkumiga mansub bo’lgani boiz tenglamani  
Iteratsiya usuli dan foydalanib hisoblash dasturini tuzdim.Bu usul oraliqni teng ikkiga 
bo'lish usuli deb ham nomlanadi.  a,b va c ga ixtiyoriy son kiritamiz. Yuqoridagi dastur 
tenglamamizni  a va b oraliqda yechimga ega yoki ega emasligini aniqlaydi. Agar bu 
oraliqda  qandaydur yechimga ega bo’lsa uni 0,001 aniqlikda hisoblab beradi(Natija 1). 
Agar bu oraliqda yechimi mavjud bo’lmasa “Funksiya [a,b] oraliqda yechimga ega 
emas” yozuvini chiqarib beradi.(Natija 2)
Yuqoridagi kodlarni ishlatishdan chiqqan natija:
Natija 1. 
.
29 Natija 2.
Mavzuyimning Ikkinchi tabPage qismining dastur qismi:
using  System;
using  System.Collections.Generic;
using  System.Drawing;
using  System.Windows.Forms;
namespace  Hayitboyeva_Kurs_ishi
{
        ///   < summary >
        ///  Description of MainForm.
        ///   < /summary >
        public   partial   class   MainForm  :  Form
        {
                public   MainForm ()
                {
30                         InitializeComponent ();
                       
                        tabPage1 .Text= "Iteratsiya usilida hisoblash." ;
                        tabPage1 .BackgroundImage= Image . FromFile ( @"d:\m4.jpg" );                              
            tabPage2 .Text= "Iteratsiya usulida hisoblash." ;
                        tabPage2 .BackgroundImage= Image . FromFile ( @"d:\m1.jpg" );        
                        tabPage3 .Text= "Iteratsiya usulida hisoblash." ;
                        tabPage3 .BackgroundImage= Image . FromFile ( @"d:\m5.jpg" );                                    
                }
void   Button2Click ( object  sender,  EventArgs  e)
                {
                        double  a,b,c,d,dy;
                        a = double . Parse ( textBox5 .Text);
                        b = double . Parse ( textBox6 .Text);
                        c = double . Parse ( textBox7 .Text);
                       
                       
                        double  y= Math . Pow (a, 4 )- Math . Pow (a, 3 )- 2 * Math . Pow (a, 2 )+ 3 *a-c;
                        double  z= Math . Pow (b, 4 )- Math . Pow (b, 3 )- 2 * Math . Pow (b, 2 )+ 3 *b-c;
                        double  n=y*z;
                        if (n< 0 )
                        {
                                for ( int  i= 1 ;;i++)
                                {
                                        d=(b+a)/ 2 ;
                                        dy= Math . Pow (d, 4 )- Math . Pow (d, 3 )- 2 * Math . Pow (d, 2 )+ 3 *d-c;
                                        if  ((dy< 0 ))
                                        {
                                                if  (y> 0 )
31                                                 {
                                                        b=d;
                                                        z=dy;
                                                } else
                                                {
                                                        a=d;
                                                        y=dy;        
                                                }
                                        } else
                                        {
                                                if  (y< 0 )
                                                {
                                                        b=d;
                                                        z=dy;
                                                } else
                                                {
                                                        a=d;
                                                        y=dy;        
                                                }
                                        }
                                        if ( Math . Abs (b-a)< 0.01 )
                                        {
                                                textBox8 .Text= Convert . ToString (d);
                                                break ;
                                        }
                                }
                        }
                        else
                        {
                                MessageBox . Show ( "Funksiya [a,b] da yechimga ega emas" );
32                         }
                }
        }
}
Bu dastur 
x 4
− x 3
− 2 x 2
+ 3 x = c  tenglamani [a,b] kesmada 0.01 aniqlikda hisoblab beradi. 
Bu tenglamamiz chiziqsiz tenglamalar turkumiga mansub bo’lgani boiz tenglamani  
Iteratsiya usuli dan foydalanib hisoblash dasturini tuzdim.Bu usul oraliqni teng ikkiga 
bo'lish usuli deb ham nomlanadi.  Yuqoridagi dastur tenglamamizni  a va b oraliqda 
yechimga ega yoki ega emasligini aniqlaydi. Agar bu oraliqda  qandaydur yechimga ega
bo’lsa uni 0,01 aniqlikda hisoblab beradi(Natija 1). Agar bu oraliqda yechimi mavjud 
bo’lmasa “Funksiya [a,b] oraliqda yechimga ega emas” yozuvini chiqarib beradi.(Natija
2)
Yuqoridagi kodlarni ishlatishdan chiqqan natija:
Natija 1.
Natija 2.
33 Mavzuyimning uchinchi tabPage qismining dastur qismi:  
                       
using  System;
using  System.Collections.Generic;
using  System.Drawing;
using  System.Windows.Forms;
namespace  Hayitboyeva_Kurs_ishi
{
        ///   < summary >
        ///  Description of MainForm.
        ///   < /summary >
        public   partial   class   MainForm  :  Form
        {
                public   MainForm ()
                {
                        InitializeComponent ();
                       
34                         tabPage1 .Text= "Iteratsiya usilida hisoblash." ;
                        tabPage1 .BackgroundImage= Image . FromFile ( @"d:\m4.jpg" );                              
            tabPage2 .Text= "Iteratsiya usulida hisoblash." ;
                        tabPage2 .BackgroundImage= Image . FromFile ( @"d:\m1.jpg" );        
                        tabPage3 .Text= "Iteratsiya usulida hisoblash." ;
                        tabPage3 .BackgroundImage= Image . FromFile ( @"d:\m5.jpg" );                                    
                }
void   Button3Click ( object  sender,  EventArgs  e)
                {
                        double  a,b,c,d,dy;
                        a = double . Parse ( textBox9 .Text);
                        b = double . Parse ( textBox10 .Text);
                        c = double . Parse ( textBox11 .Text);
                       
                       
                        double  y= Math . Log ( 10 ,a*a+ 2 )- 8 *a-c;
                        double  z= Math . Log ( 10 ,b*b+ 2 )- 8 *b-c;
                        double  n=y*z;
                        if (n< 0 )
                        {
                                for ( int  i= 1 ;;i++)
                                {
                                        d=(b+a)/ 2 ;
                                        dy= Math . Log ( 10 ,d*d+ 2 )- 8 *d-c;
                                        if  ((dy< 0 ))
                                        {
                                                if  (y> 0 )
                                                {
                                                        b=d;
35                                                         z=dy;
                                                } else
                                                {
                                                        a=d;
                                                        y=dy;        
                                                }
                                        } else
                                        {
                                                if  (y< 0 )
                                                {
                                                        b=d;
                                                        z=dy;
                                                } else
                                                {
                                                        a=d;
                                                        y=dy;        
                                                }
                                        }
                                        if ( Math . Abs (b-a)< 0.1 )
                                        {
                                                textBox12 .Text= Convert . ToString (d);
                                                break ;
                                        }
                                }
                        }
else
                        {
                                MessageBox . Show ( "Funksiya [a,b] da yechimga ega emas" );
                        }
                }                                
36         }
}
Bu  dastur lg	(x2+2)−8x =c  tenglamani [a,b] kesmada 0.1 aniqlikda hisoblab beradi. Bu 
tenglamamiz chiziqsiz tenglamalar turkumiga mansub bo’lgani boiz tenglamani  
Iteratsiya usuli dan foydalanib hisoblash dasturini tuzdim.Bu usul oraliqni teng ikkiga 
bo'lish usuli deb ham nomlanadi.  Yuqoridagi dastur tenglamamizni  a va b oraliqda 
yechimga ega yoki ega emasligini aniqlaydi. Agar bu oraliqda  qandaydur yechimga ega
bo’lsa uni 0,01 aniqlikda hisoblab beradi(Natija 1). Agar bu oraliqda yechimi mavjud 
bo’lmasa “Funksiya [a,b] oraliqda yechimga ega emas” yozuvini chiqarib beradi.(Natija
2)
Yuqoridagi kodlarni ishlatishdan chiqqan natija:
Natija 1.
37 Natija 2.
                                              Xulosa.
Men kurs ishini bajarish mobaynida Windows Formsda  TabControl elementidan 
foydalandim u  to'plamdagi yorliq sahifalarining tartibi boshqaruvdagi yorliqlarni 
ko'rsatish tartibini aks ettirar ekan .Men  yana Label va TextBox dan ham 
38 foydalandim.Mavzuyim chiziqsiz tenglamalarni hisoblash bo’lgani uchun menga 
matematik hisoblashlar kerak bo’ldi Bu mavzuni oldin ham o’tgan edik lekin kurs 
ishimi tayorlash davomida men uni yanayam chuqurroq o’zlashtirdim.Albatta yana men
Windows bilan ishlashdi o’rgandim .Undagi har xil xossalarrni ulkan qiziqish bilan 
o’raganib chiqdim va kur ishimda ulardan iloji boricha ko’proq foydalanishga harakat 
qildim.Kurs ishimi dizaynini chiroyli qilib yaratishimda judayam foyda berdi.Kurs 
ishini berilishi biz talabalar uchun foydasi judayam kotta bo’ldi.Biz judayam ko’p 
izlandik ancha mashaqqat chekdik va albatta bu biz uchun foydali bo’ldi.Men kurs 
ishimi tayorlash davomida qo’llagan narsalarimi hech qachan yodimdan chiqarmasam 
kerak.Bu topshiriq menga yoqdi bajarish jarayodi judayam qiziq tarzda bo’lib o’tti . Bu 
topshiriq menimcha barchamiz uchun ,  harakat qilgan inson hamma narsaga erisha 
olishini yaqqol isboti bo’ldi.
                      
                        Foydalanilgan adabiyotlar ro’yxati . 
1.  Uilyams-Microsoft ASP.NET 2.0 C# 2005-da professionallar uchun misollar bilan, 
Moskva, 2006.  
2.   Carlie Watson-C#,  " Lori" Nashriyoti, Moskva, 2005 .
3.   Matthew MacDonald - Beginning ASP.NET 3.5 in C# 2008: From Novice to 
Professional,   Second Edition, 2007
  I nternet saytlari:
http:// metanit.com 
http://www.citforum.ru 
39 http://csharp.net-informations.com
http://www.codenet.ru 
http://www.microsoft.com
40
Sotib olish
  • O'xshash dokumentlar

  • Access dasturi yordamida “dorixona” ma‘lumotlar bazasini yaratish
  • Agile va Scrum metodologiyalari dasturiy ta'minot ishlab chiqish
  • Tashkilot miqyosida masofadan muloqot qilish.
  • Talabalar haqida ma'lumot saqlovchi tizim
  • HTML tili, uning asosiy elementlari. Jadval va rasm hosil qilish. Gipermatn va freymlar joylashtirish

Xaridni tasdiqlang

Ha Yo'q

© Copyright 2019-2025. Created by Foreach.Soft

  • Balansdan chiqarish bo'yicha ko'rsatmalar
  • Biz bilan aloqa
  • Saytdan foydalanish yuriqnomasi
  • Fayl yuklash yuriqnomasi
  • Русский