Nusxa olish , ko‘chirish ta‘qiqlanadi! FarDU, Amaliy M.I yo‘nalishi talabasi
O`ZBEKISTON RESPUBLIKASI OLIY VA
O`RTA MAXSUS TA`LIM VAZIRLIGI
FAR`ONA DAVLAT UNIVERSITETI
AMALIY MATEMATIKA VA INFORMATIKA
KAFEDRASI
Dasturlash asoslari fanidan
KURS ISHI
Mavzu:Geometrik masalalarni yechishda dasturlashdan foydalanish
Bajardi: Amaliy matematika va informatika yo`nalishi 19.08A guruh talabasi X.Rahmonov
Rahbar: Sh.Ulikov
Farg`ona-2021
Mundarija:
Kirish...................................................................................................................................3
ASOSIY QISM
1. C# dasturlash tili haqida..................................................................................................9
2. C# dasturlash tilining strukturasi.Consol rejimi............................................................13
3. C# tilida literallar turlari................................................................................................17
4. C# dasturlash tilida malumotlar turlari..........................................................................18
4.1. O`zgaruvchilar
.19
4.2. O`zgaruvchilarni aniqlash
20
DASTURIY QISM
C# dasturlash tilida geometric masalalar ishlash
5. C# dasturlash tilida to`g`ri burchakli uchburchakning yuzini hisoblash
.…22
6. C# dasturida kubning qirrasi, yuzasi va hajmini aniqlash
..25
7. C# dasturida aylanaga tashqi chizilgan muntazam n-burchakning perimetrini topish...26 8.1. C# dasturida teng yonli trapetsiyaning balandligini topish....................................................28
8.2. C# dasturida trapetsiyaning yuzini topish dasturini tuzish.........................................30
Xulosa.................................................................................................................................33
Foydalanilgan adabiyotlar..................................................................................................34
Elektron saytlar..................................................................................................................35
Ilovalar...............................................................................................................................36
KIRISH
hech qaysi sohada bo`sh kelmaydigan insonlar bo`lib kamol topishi , mustaqil fikrlaydigan, yuksak intellektual va baxtli bo`lishi uchun davlatimizning va jamiyatimizning bor kuch va imkoniyatlarini safarbar etamiz
Sh.M.Mirziyoyev
O`zbekiston Respublikasi Prezidenti.
Mamlakatda zamonaviy axborot texnologiyalari va kommunikatsiyalarini rivojlantirish, elektron davlat xizmatlarini korsatishning yaxlit tizimini yaratish, davlat organlarining aholi bilan muloqot qilishining yangi mexanizmlarini joriy etish maqsadida 2018 yil 19 fevralida O’zbekiston Respublikasi Prezidentining ―Axborot texnologiyalari va kommunikatsiyalari sohasini yanada takomillashtirish chora- tadbirlari to’g’risida‖ gi PF-5349-sonli farmoni qabul qilindi.
Ushbu farmonda, Ozbekiston Respublikasi Oliy va orta maxsus talim vazirligi bilan kelishgan holda oquv jarayonining axborot-kommunikatsiya texnologiyalarini rivojlantirish suratlari bilan uzluksiz aloqasini taminlashni hisobga olgan holda mustaqil ravishda oquv rejalar va dasturlar, bitiruvchilar uchun malaka talablarini ishlab chiqish va tasdiqlash, hamda professor oqituvchilar tarkibi mehnatini oqitishning kredit tizimi shartlaridan kelib chiqib faqat talimga xos tadbirlar asosida ish vaqti hisobga olinishiga asoslangan holda mustaqil normalashni amalga oshirish, shuningdek, pedagog xodimlar tomonidan ilmiy-uslubiy, ilmiy- tadqiqot, tashkiliy-uslubiy, manaviy-marifiy va tarbiyaviy ishlarning bajarilishini ragbatlantirish huquqi berish togrisida takidlab otilgan..
Ushbu farmonga kora kadrlar tayyorlash sohasini takomillashtirish orqali mamlakatning intellektual salohiyatini oshirish Ozbekistonda demokratik davlat, bozor iqtisodiyotiga asoslangan kuchli fuqarolik jamiyat qurishning muhim shartlaridan biri sifatida belgilanadi.
Kundalik turmushda turli korinishdagi axborotlar masalan, matnli, grafikli, jadvalli, ovozli (audio), rasmli, video va boshqa axborotlar bilan ishlashga togri keladi. Har bir turdagi axborot bilan ishlash (yigish, saqlash va h.k.) uchun turli tex- nik xarakteristikalarga ega bolgan axborot qurilmalari kerak boladi.
Hozirgi kunda talim sohasida oqitishni kompyuterlashtirishga katta
e`tibor berilmoqda, chunki zamonaviy oqitish texnologiyalaridan foydalanish juda katta ijobiy natijalar, yutuqlar,malakali kadrlarni ko`payishiga imkon beradi, (axborotlashtirish) yoki axborot texnologiyalaridan foydalanishdasturiga quyidagilarni kiritish mumkin:
talim tizimining barcha pogonalarida axborotlashtirishni yetakchi boginligini taminlash;
barcha sohalar boyicha bilim berishda axborotlashtirishni rivojlantirishni loyihalash va yaratish (monitoring);
axborotlashtirish sohalarida meyoriy bazalarni yaratish (ilmiy-metodik birlashmalar va h.k.);
texnik taminot kompyuterlar, axborot texnologiyasining boshqa qurilmalari, ularga xizmat korsatish uchun kerakli materiallarni yaratish;
telekommunikatsiya tarmoqlari;
taminot resurslari (dasturiy taminot, internetdagi axborotlar majmui, malumotnomalar va h. k.).
Axborot texnologiyasidan foydalanish va uni biror-bir sohaga tatbiq etish oz ichiga qator vazifalarni oladi. Quyida axborotlashgan faoliyat obektlari haqida soz yuritamiz.
Bunday obektlarga sonlar (olchash va modellashtirish natijalari), matnlar, tasviriy axborotning statistik va dinamik ifodalari, rasmlar, chizmalar va animatsiyalar, ovozli obrazlar (yozilgan ovoz, musiqa) va boshqalar kiradi.
Foydalanuvchining mustaqil va ongli ravishda olib boradigan faoliyatiga faoliyatiga axborot obektlarini yaratish, zarur axborot obektlarini izlash, axborotlarni yigish, tahlil qilish va ajratib olish, tashkillashtirish, kerakli korinishda tasvirlash, axborot obektlarini (matn, suhbat, rasm, oyin va boshqa korinishda) uzatish, modellashtirish, loyihalash, obektlarni rejalashtirish va boshqalar kiradi.
Axborot texnologiyasi modellari muayyan amallarni ongli va rejali amalga oshirishda ozlashtiriladi. Bu jarayon quyidagilarni oz ichiga oladi:
kompyuter, shuningdek, printer, modem, mikrofon va ovoz eshittirish qurilmasi, skaner, raqamli videokamera, multimedia proektori, chizish plansheti, musiqali klaviatura kabilar hamda ularning dasturiy taminoti;
uskunaviy dasturiy taminot; virtual matn konstruktorlari, multiplikatsiyalar, musiqalar, fizik modellar, geografik xaritalar va h.k.;
axborotlar majmui malumotnomalar, entsiklopediyalar, virtual muzeylar va h.k.;
texnik konikmalar trenajyorlari (tugmachalar majmuidan tugmachalarga qaramasdan malumot kiritish, dasturiy vositalarni dastlabki ozlashtirish va
h. k.).
Taraqqiy etgan xorijiy davlatlar va respublikamizdagi yetakchi talim muassasalarida kompyuter texnologiyalari asosida oqitish dasturlari tahlili sifat jihatidan yangi oqitish vositalari bolib, ular ananaviy oqitish metodlaridan tubdan farq qilishini korsatmoqda. Bunday yondashishning asosiy vositalaridan biri sifatida, kompyuterda modellashtirish nazariyasini korsatish mumkin.
Multimedia vositalari asosida oqitish jarayonida aniq fanlarni kompyuter asosida toliq oqitish, maruza matnlarini tahrir qilish, talabalar topshirgan nazorat natijalarining tahlili asosida maruza matnlarini bayon qilish uslubini yaxshilash, oquvchi-talabalar axborot texnologiyalarini multimedia vositalari asosida animatsiya elementlarini dars jarayonida korishi, eshitishi va mulohaza qilish imkoniyatlariga ega boladi.
Axborot texnologiyalarining multimedia vositalari bilan ishlaydigan oqituvchilar quyidagi vazifalarni amalga oshirishlari kerak:
maruza matnlari, amaliyot bilan bogliq topshiriqlarni tayyorlash;
uslubiy korsatmalarni, nazorat savollarini, togri javoblar variantini tuzish;
ishchi dastur va texnologik xaritani tuzish;
bilimni nazorat qilish natijasini tahlil etish;
ma’ruza matnlarini tahrir qilish;
har bir mavzu boyicha dinamik korinishda aks etuvchi jarayonlarning animatsiyalarini tasavvur etish;
mustaqil ishlar boyicha oquvchilarga nazariy va amaliy savollar yuzasidan maslahatlar berishni tashkil qilish;
ozlashtirilishi murakkab bolgan mavzular boyicha oquvchilar bilan murakkab darajadagi amallar bilan ham foydalaniladi.
.
Axborot texnologiyalarining multimedia vositalari oquv jarayonida quyidagi eng muhim jihatlari bilan alohida ahamiyatga egadir:
differentsial va individual oqitish jarayonini tashkil etilishi;
oquv jarayonini baholash, teskari aloqa boglashi;
ozini ozi nazorat qilish va tuzatib borishi;
organilayotgan fanlarni namoyish etishi va ularning dinamik jarayonini korsatishi;
fan mavzularida animatsiya, grafika, multiplikatsiya, ovoz kabi kompyuter va axborot texnologiyalaridan foydalanishi;
oquvchi-talabalarga fanni ozlashtirish uchun muhim konikmalar hosil qilishi va hokazo.
Shuningdek, multimedia vositalarining amaliy tomoni, ulardan oquv jarayonida foydalanish va kelgusida talim tizimida oquv jarayoni uchun
malumotlar bazasini va animatsion taqdimotlar yaratishdek muhim vazifani amalga oshirishga zamin hozirlaydi.
O`zbekistonning iqtisodiy va siyosiy sohalariga qaratilgan hamda hozirgi paytdagi ijtimoiy sohalarda yuqori natijalarga erishishi, jahon iqtisodiy tizimida to`laqonli sheriklik o`rnini egallay borishi, inson faoliyatining barcha jabhalarida zamonaviy axborot texnologiyalaridan yuqori darajada foydalanishning ko`lamlari qanday bo`lishiga hamda bu texnologiyalar ijtimoiy mehnat samaradorligini oshishida qanday rol o`ynashiga bog`liq. Keyingi yillarda mamlakatimiz ilm - fani ham axborotlashtirishning nazariy asoslariga katta hissa qo`shib kelmoqda, shu bilan birgalikda, hodisalar, jarayonlarni yagona axborot asosida tadqiq etishning ilmiy yo`nalishlarini tahlil va sintez qilish natijasi bo`lgan fan-informatikaning vujudga kelishiga boshlang`ich nuqta qo`yildi. Axborot, energiya, vazn, bo`shliq va vaqtni bir butun holda batafsil o`rganish hozirgi vaqtda inson hayotining barcha jabhalarida muhim axamiyatga ega bo`lib qolmoqda.
Kompyuter tillari oʻz-oʻzidan emas, balki oʻzaro bir-biriga bogʻliqlikda mavjud boʻladi. Har qanday yangi til u yoki bu shaklda oldingi yaratilgan tillarning xossalarini oʻziga meros qilib oladi, yaʼni ketma - ketlik prinsipi amalga oshiriladi. Natijada bitta tilning imkoniyatlari boshqalari tomonidan foydalaniladi (masalan, Yangi xususiyatlar mavjud kontekstga birlashtiriladi, tilning eski tuzilishlari esa oʻchirib yuboriladi) . Kompyuter tillarining evolyutsiyasi shunday tarzda roʻy beradi va dasturlash mahorati takomillashtiriladi.XX asrga kelib insoniyat qo’l mehnatinigina emas, balki aqliy mehnatni ham engillashtirish ustida anchagina izlanishlar olib bordi. Bu yo’lda ko’plab texnik qurilmalar yaratildi va amaliyotga tadbiq etildi. Xuddi shunday texnik qurilmalardan biri kompter-elektron hisoblash mashinalari (EHM)lar kiradi.
Kompyuterni joriy qilinishi xalq xojaligining turli sohalarida juda ko`p ishlab chiqarish texnologiyalarining tubdan ozgarishini tobora orttirib, odamlarning ish sharoitlarini oshirishga olib kelmoqda. Ayni paytda, faol faoliyat korsatish jarayonida insonda bir yola koplab sohalarga oid axborot va malumotlarni yigish , hisoblash jarayonlarini tezlatish zaruriy extiyoji tugildi. EHMlar ana shunday juda katta aniqlikda qaror qabul qilish imkoniyatini beradi. Qolaversa, EHM larning juda uzun qoli bor. Hozir, masalan kompyuterdan kosmik operatsiyalarni bajarishda foydalanilayotganini hamma biladi. Kompyuterning sabr- toqatiga qoyil qolmay ilojimiz yoq. Kompyuter bir xil turdagi zerikarli hisoblarni xatosiz bajaradi, istalgancha takrorlay oladi.
Matematikada tipik matematik masalalarning echimlarini etarlicha aniqlikda hisoblash imkoniyatini beruvchi usullar yaratishga va shu maqsadda xozirgi zamon hisoblash vositalaridan foydalanish yollarini ishlab chiqishga bagishlangan soxa hisoblash matematikasi deyiladi. Xozirgi zamon hisoblash matematikasi jadal rivojlanib bormoqda. Hisoblash matematikasi qamragan masalalar turi esa juda kop. Tabiiyki bu masalalarni yechish usullari ham xilma-xildir. Xozirgi davrda fan-texnika, iqtisodiyot, tibbiyot, maorif, maishiy xizmat hamda inson faoliyatining boshqa sohalarida masalalarni yechishni EHM yordamida amalga oshirish imkoniyati yaratilgan. Albatta bu hollarni yaratish uchun avval har bir masalalar uchun uning matematik modelini qurish, songra uni yechish togrisidabosh qotirish zarur.
Har qanday amaliy masalalarni yechishni bir necha taqribiy usullari mavjuddir. Taqribiy usullarni echimini baholash, sodda hollardagi aniq echimlar bilan taqqoslanadi. Taqqoslash natijasida murakkab amaliy masalalar yechimlariga xulosa chiqariladi.
Kurs ishining maqsadi va vazifasi. Hozirgi kunda dasturlash tillari ko`paymoqda. Dasturlash tillarining qulayligi shundan iboratki, masalan, murakkab hisoblanadigan misol va masalalarni ishlashda ham dasturlash tillaridan foydalanish mumkin. Ushbu Kurs ishida C# dasturida geometrik masalalarni ishlashdan iborat. Bu dasturda masalani qisqa vaqtlarda ishlash mumkin. Undan tashqari geomatrik masalalarni ishlash bilan birga C# dasturini yanada chuqurroq o`rganib oladi.
Mavzuning predmeti. Talabalarning mustaqil talimini tashkil etishda ularning individual qobiliyatlarini va orgatuvchi elektron dasturiy mahsulot hususiyatlarini etiborga olgan holda oquv uslubiy materiallardan foydalanish boyicha usullar hamda tavsiyalar ishlab chiqish, ularni amalda qollashdan iborat.
Kurs ishining nazariy va amaliy ahamiyati shundaki olingan malumotlar, xulosa va amaliy tavsiyalardan murakkab masalalarni ishlashda ancha bilim va malaka oshirilishi bilan birga dasturni amliy jihatdan ham, nazariy jihatdan ham, ya`ni dastur tuzish jarayonida C# dasturini kalit so`zlarini ham , mukammal o`rganib oladi va dasturlash tilini strukturalarini bilib olish mumkin.
Kurs ishining tuzilishi va hajmi. Kurs ishi kirish,asosiy qism, dasturiy qism, xulosa, ilova va foydalanilgan adabiyotlardan royxatidan iborat.
ASOSIY QISM
1.C# dasturlash tili haqida
C# dasturi 90 yillarning oxirida ishlab chiqilib Microsoft .NET ning bir
qismiga aylandi. Al`fa versiya sifatida 2000 yildan boshlab ishlatila boshladi .C #
bosh arxitektori butun dunyo dasturchilari ichida birinchilar qatorida turgan va
butun dunyo tomonidan tan olingan Anders Hejlsberg bo`ldi. Uning 1980 yillarda
chiqarilgan Turbo Paskal dasturi orqali ham tanishimiz mumkin.
C# bevosita C, C++ va Java bilan bog`liq. Chunki bu uchta til dasturlash
olamida eng mashhur tillardir. Bundan tashqari profisanal dasturchilar C va C++ ni
va juda ko`pchilik Java tilida ish yuritadi С# tili 1972 yilda Nyu-Djersi shtatining Myurrey-xill shahrida Bell Laboratoriya kompaniyasining tizimli dastur tuzuvchisi Dennis Richie tomonidan yaratilgan. Bu til o‘zini shunchalik yaxshi ko‘rsatdiki, oxir oqibatda unda Unixoperatsion tizimlarining 90% yadro kodlari yozildi. (oldin quyi assamberlarda
yozilgan). C# ning vujudga kelishidan oldinroq yaratilgan tillardan yetarli darajada
foydalanilgan.
C# tili dasturlashning zamonaviy davri boshlanishini belgilab berdi.
1960-yillarda dasturlash texnologiyalaridagi struktaraviy dasturlashning paydo
bolishiga olib kelib kelgan inqilobiy ozgarishlar C# tilining yaratilishiga asosiy
imkonyatlarni belgilab berdi.C# tili kuch, elegantik va manodorlikni ozida
muvaffiqiyatli birlashtirgan birinchi strukturaviy til boldi. Uning bolishi mumkin
bolgan xatolar masulyatini tilga emas dastur tuzuvchi zimmasiga yuklaydigan
prinsiplar bilan inobatga olgan holda sintaksisdan foydalanishdagi qisqalik va
osonlik kabi xususiyatlaribilan juda tezda koplab tarafdorlarni va shu kabilarni topdi C#.Kompilyator-har bir dasturlash tili uchun alohida bo'ladigan kompilyator mavjud. Bas, asosiy VB.Net til, alohida bo'ladi VB.Net kompilyator. Xuddi shunday, C # uchun siz boshqa kompilyatorga ega bo'lasiz.Common Language Interpreter-bu har qanday dasturlash tilida ishlab chiqilgan.net dasturini ishlatish uchun ishlatiladi. Net yakuniy qatlam hisoblanadi. Shunday qilib, keyingi kompilyator. Net dasturini ishga tushirish uchun dasturni CLI qatlamiga yuboradi.
.
Hozirgi kunda C# dasturlash tili yuqori bosqichli dasturlash tillari ichida
eng samarali dasturlash tillaridan hisoblanadi. C# dasturlash tilida dastur tuzish
uchun Visual Studio .NET muhitidan foydalanamiz. C# dasturlash tili obektga
moljallanga ndasturlash tili hisoblanadi. C# dasturlash tili va uning operatorlari haqida
malumotlar keltirilgan. Bilamizki malumotlarni oqish va yozish turli xil
oqimlar orqali amalga oshiriladi. Malumotlarni fayl oqimlari orqali oqish va
yozish juda katta ahamiyatga ega. Sababi agar bir malumotlarni ekran orqali
oqisak va yozsak unda har safar dasturni ishga tushurganda malumotlarni
qaytadan kiritishga togri keladi bu esa ancha qiyinchiliklar tugdiradi. Bundan
tashqali natijalarni tahlil qilishda, ularni solishtirishda ham fayl oqimi bilan
ishlash juda kop qulayliklarni olib keladi. Birinchi bobda konsol rejimda
malumotlarni ekran orqali kiritish va chiqarish amallari korib chiqilgan. C#
tilining sintaksisi, malumotlar tiplari haqida malumotlar keltirilgan. Har bir
operatorning funksional imkoniyatlari misollar orqali tushuntirib berilgan. C#
tilida ifoda, intruksiya va operatorlar haqida malumotlar keltirilgan.
Tarmoqlash, takrorlash operatorlari va ularni har xil variantlari misollar orqali
tushuntirib berilgan. Bundan tashqari har bir operatorning funksional
imkoniyatlari misollar orqali tushuntirib berilgan.obyektga moljallangan
dasturlash tillarining asosini sinf tashkil qiladi.
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. Bu til to`liq ob`ektga yo`naltirilgan
dasturlash tili bo`lib, xatolarga bardoshli va chidamli dasturlarni tuzish
imkoniyatin iberadi. 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.
1.C# tili turli tipdagi dasturlarni yaratish uchun kuchli va qulay dasturlash
tilihisoblanadi.
2.Kompyuter tarmoqlari, Internet va multimediya kurslari doirasida web
dasturlarini yaratish uchun C# dasturlash tilini ishlatish.
Dasturlash tillarini o`qitishning bunday yondashuvi mutaxassislarni yangi
darajaga chiqaradi. Microsoft Visual Studio 2010 muhitida C# dasturlash tili yordamida fayllar bilan ishlash,ular ustida bajariladigan amallarga bagishlangan. Bunda fayl va kataloglar royxati ustida bajariladigan barcha metodlar organib chiqilgan. Bunda fayl va kataloglar ustida
bajariladigan metodlar organilib misollar orqali tushuntirib berilgan.
Malumotlarni faylda yozish va oqish oqimlari boyicha mavjud metodlar
organilib misollar orqali tushuntirib berilgan. Har bir operatorning funksional
imkoniyatlari misollar orqali tushuntirib berilgan.
Visual Studio.NET sistemasida dasturni kompilyatsiya qilish va
bajarishning bir necha usuli bor. Kop hollarda dasturchilar dasturni alohida
kompilyatsiya qilib bir nechta klavishalar kombinatsiyalari orqali ishlatishga
organishgan.
Hozirgi kunda C# dasturlash tili yuqori bosqichli dasturlash tillari ichida
eng samarali dasturlash tillaridan hisoblanadi. C# dasturlash tilida dastur tuzish
uchun Visual Studio .NET muhitidan foydalanamiz. C# dasturlash tili obektga
moljallangan dasturlash tili hisoblanadi.
Dasturlash tillarida buyruqlar va amallar malum kodlar (raqamlar) bilan
ifodalangan bolib, ular ShK qurilmalari adreslari bilan bevosita ishlashga
moljallangan va mashina tili deb ham yuritiladi. Dasturlash tillarida korsatmalar
inson tiliga yaqin bolgan sozlar va dastur tuzish uchun juda qulay.
Dasturlashda ozgaruvchilardan foydalanmasdan dastur ishlash mumkin
emas. Ozgaruvchilar ozida qiymatlarni saqlaydi, bu qiymatlar vaqtinchalik
operativ xotirada saqlanib turadi. Ozgaruvchilarning nomlari boladi, nomlar lotin
alifbosining a dan z gacha bolgan oraliqdagi harflar bilan belgilanadi. Bundan
tashqari ozgaruvchi nomlarini faqat bitta harf emas bir necha harflar ketma-ketligi
bilan yani sozlar bilan belgilash mumkin.
2. Console rejimi. C# tilining sintaksisi
Visual Studio.NET sistemasida dasturni kompilyatsiya qilish va bajarishning bir necha usuli bor. Kop hollarda dasturchilar dasturni alohida kompilyatsiya qilib bir nechta klavishalar kombinatsiyalari orqali ishlatishga organishgan.
F 5 tugmasini bosish orqali yoki menyuning Debug qismini tanlab u yerdagi Run tugmasi orqali dasturni kompilyatsiya qilish mumkin.
using System;
namespace Mening_dasturim
{
classProgram
{
publicstaticvoidMain(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadKey(true);
}
}
}
C# tilida yozilgan dasturni ishlatish uchun
1. Kodni fayllar sistemasida biror nom bilan saqlash lozim(hello.cs)
2. Kommandalar satrida csc /debug hello.cs buyrugini bajarish lozim.
Ushbu buyruq bajarilgach, natijaviy *.exe kengaytmali fayl hosil boladi. Agar kompilyatsiya jarayonida xatolik yuzaga kelsa, malumot chiqariladi. /debug parametri bajariluvchi faylga maxsus simvollarni joylashtiradi. Natijada *.exe faylni qayta ishlovchi dasturda taxlil qilinayotganda stekni kuzatib borishlari mumkin.
3. Dasturni ishlatish natijasida, ekranga natija namoyon bo`ladi.
C# dasturlash tilida Consol rejimda dastur tuzish uchun yangi loyiha yaratamiz (File/New Project/Visual C#/ Console Application). Ushbu loyihamizning nomini masalan Mening dasturim deb nomlaymiz. Bizga C# kodini yozish uchun yangi oyna ochiladi.
Consol rejimida ishlash uchun .NET da Console sinfi ishlatiladi. Bu sinfning afzalligi 2 ta qismdan iborat bolib, uning barcha metodlari ozgarmas, sanoqli boladi. Uni ishlatish uchun nusxalash shart emas. U kiritish, chiqarish va xatoliklarni chiqarishni oz ichiga oladi. Odatda kiritish, chiqarish standart Consol-da amalga oshiriladi (agar u bolmasa, masalan oynali masalalarda chiqarish amalga oshirilmaydi), lekin kiritish va chiqarish oqimlarini ozgartirish mumkin. Consol bilan ishlashda asosan 3 metod ishlatiladi: ReadLine, Write, WriteLine, birinchisi kiritish, qolgani chiqarish metodlari hisoblanadi.
ReadLine metodi. ReadLine metodi kiritish qurilmalaridan matnning satrini qabul qiladi (uning qiymati keyingi satrga otish belgisi bilan tugaydi ). U string tipidagi qiymat yoki nol (agar kiritish amalga oshmagan bolsa) qiymatini qaytaradi. Masalan:
using System;
namespace Mening_dasturim
{
classProgram
7
{
publicstaticvoidMain(string[] args)
{
string s=Console.ReadLine();
Console.WriteLine("kiritilgan satr:"+s);
Console.ReadKey(true);
}
}
}
Dastur ishlatilganda ekranda hosil bolgan natija:
Write va WriteLine metodlari. Write metodi unga yuborilgan ozgaruvchi qiymatini ekranga chiqarish vazifasini bajaradi. U string tipini qabul qiladi. U barcha bazali tiplar uchun ishlaydi. Shuning uchun uni parametr sifatida chaqirish mumkin.
Writeline metodining farqi shundaki, u keyingi (yangi) satrdan boshlab oziga yuborilgan ozgaruvchi qiymatini ekranga chiqarib beradi.
C# dasturlash tilining alfaviti quyidagilardan iborat. Alfavit (yoki lite-rallar yigindisi) C# tilida ASCII kodlar jadvali bilan birgalikda quyidagi belgilarni oz ichiga oladi:
- Lotin harflari;
- 0 dan 9 gacha raqamlar;
- _ belgisi (harf sifatida ham ishlatiladi);
- maxsus belgilar toplami : {}, 1 [] + - % / \ ; : ^ ? = ! & # ~ *;
- boshqa belgilar.
C# alfaviti sozlarni tuzishda xizmat qiladi, yani leksemalarni tuzishda. Leksemalarning 5 turi bor:
- Identifikator
- Kalit soz
- Amallar belgilari
- Literallar
- Ajratuvchilar
Kalit sozlar va nomlar. Quyidagi royxatda C# tilining kalit sozlari va nomlari berilgan bolib, dastur tuzilishi paytida ularni boshqa maqsadda ishlatish (masalan ozgaruvchi nomini inisializatsiya qilishda) mumkin emas.
1.1-jadval.Kalit sozlar va nomlar.
Abstract | Do | in | protected | true |
As | double | int | public | try |
Base | else | interface | readonly | typeof |
Bool | enum | internal | ref | uint |
Break | event | is | return | ulong |
Byte | explicit | lock | sbyte | unchecked |
Case | extern | long | sealed | unsafe |
Catch | false | namespace | short | ushort |
9
Char | finally | new | sizeof | using |
Checked | fixed | null | stackalloc | virtual |
Class | float | object | static | void |
Const | for | operator | string | volatile |
Continue | foreach | out | struct | while |
Decimal | goto | override | switch | |
Default | if | params | this | |
Delegate | implicit | private | throw | |
C# tilida boshqa tillarda bolgani kabi dasturning har bir qismiga izoh yozish mumkin. Bu izohlar dastur kompilatsiyasida ishtirok etmaydi va dastur ishiga hech qanday tasir korsatmaydi. C# da izoh yozish uchun /*
*/, // belgilaridan foydalanish mumkin. // belgisi shu belgidan keyin to shu satr oxirigacha bolgan barcha belgilarni izoh sifatida qabul qiladi. /*… */ bu orqali istalgan qismni izohga olish mumkin.
3. C# dasturlash tilida Literallar.
C# tilida 5 xil literal mavjud ;
- Butun tipli literal
- Haqiqiy tipli literal
- Belgili literal
- Satr tipli literal
- Mantiqiy tipli literal
Literallar bu tilning maxsus tushunchasidir. Har bir literallar toplami uchun alohida yozilish qoidasi mavjud.
Masalan:
- Haqiqiy tipli literallar: 3.6, -56.8, 0.9
- Belgili literallar: a, b, ?,
- Satr tipli literallar: salom, aka, abcd
- Mantiqiy tipli literallar: true, false.
4.1.C# tilida malumotlar turlari.
C# tili juda tiplashgan til hisoblanadi. Uni ishlatish paytida har bir ozgaruv-chi obyektning tipini alohida elon qilish kerak (masalan, butun son, satr, oyna, tugma va h.z). Huddi C++ va Java tillari kabi C# tilida ham 2 xil malumotlar tipi mavjud:
- aniqlangan va xotirada til tomonidan avtomatik joylashtirilgan;
- dasturchi foydalanuvchi tomonidan malumotlarni xotirada joylashtirishidir.
Olchamli tip ozining aniq qiymatini stekka yozib qoyadi, yonalishli tip esa bu stekka faqat qaysidir (ozi aniqlaydigan) obyekt manzilini yozib qoyadi, obyektning ozi esa Heap(Heap-bu malumotlarni uyumi yoki uyum shaklida saqlash)da saqlanadi. Heapdastur saqlanadigan asosiy xotira bolib, unga murojaat qilish dastur tezligini biroz pasaytiradi. Lekin agar siz juda katta obyektlar bilan ishlayotgan bolsangiz, unda bu
obyektni heapda saqlashning bir muncha afzallik tomonlari bor.
Nomi | Qiymat oraligi | Olchami |
Sbyte | -127 dan 128 gacha | Belgili 8 bit |
Byte | 0 dan 255 gacha | Belgili 8bit |
Char | U+0000 dan U+0000gacha | 16 bitli Unicod |
Bool | True yoki false | 1 bayt |
Short | -32768 dan 32767 gacha | Belgili 16 bit butun |
Ushort | 0 dan 65535 gacha | Belgisiz 16 bit butun |
Int | -2147483648 dan 2747483647 gacha | Belgili 32 bit butun |
Uint | 0 dan 4294967295 gacha | Belgisiz 32 bit butun |
Long | -9223372036854775808 dan 9223372036854775807 gacha | Belgili 32 bit butun |
Ulong | 0 dan 18446744073709551615 gacha | Belgisiz 32 bit butun |
Float | -3,4*1038 dan 3,4*1038 gacha | 4 bayt, aniqlik - 7razryad |
Double | | 8 bayt, aniqlik 16 razryad |
Decimal | | 12 bayt, aniqlik 28 razryad |
4.2.Ozgaruvchilar.
Ozgaruvchi xotiraning malum bir qismini biror bir tipli axborot uchun ajratishdir. Quyida elon qilingan x va y lar ozgaruvchilardir. Ozgaruvchilar inisializatsiya paytida (qiymat qabul qilish paytida) yoki dastur yordamida ozgartirilishi mumkin.
Short x;
Int y;
x=(short) y; // tola
4.3. Ozgaruvchilar qiymatini aniqlash.
Ozgaruvchini hosil qilish uchun siz ozgaruvchining tipini, keyin esa uning nomini berishingiz kerak.Uning qiymatini elon qilish paytida yoki dastur davomida berishingiz mumkin. Masalan: a va b sonlarning yigindisini c ga ozlashtirish dasturini koramiz.
using System;
namespace Ozgaruvchi
{
classProgram
{
publicstaticvoidMain(string[] args)
{
Console.Write("a sonni kiriting: a=");
int a,b,c;
a=int.Parse(Console.ReadLine());
Console.Write("b sonni kiriting: b=");
b=int.Parse(Console.ReadLine());
c=a+b;
Console.Write("Natija: c="+c);
Console.ReadKey(true);
}
}
}
Dasturning ekranda hosil qilgan natijasi:
DASTURIY QISM
C# tilida geometrik masalalar ishlash
5. C# dasturlash tilida to`g`ri burchakli uchburchakni yuzini hisoblash
Uchburchak deb, fazoda ixtiyoriy 3 ta nuqtaning kesishmasidan hosil bo`lgan shaklga aytiladi.
.
. .
To`g`ri burchakli uchbukchak deb bir burchagi 900 ni tashkil etgan uchburchakka aytiladi.
a
b
b
S= ½(a*b)
C2=a2+b2, ya`ni, to`g`ri burchakli uchburchakning katetlarining kvadratlarini yig`indisi gipotenuzasining kvadratiga teng.
Uchburchakning yuzini h balandligi orqali topish mumkin .
S=1/2*(c*h)
Yuzasini bilgan holda endi shu yuzani hisoblaydigan dasturni tuzib chiqamiz. Dastur tuzishda biz Visual studio 2013 dasturida ishlaymiz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication25
{
class Program
{
static void Main(string[] args)
{
Double a, b, c, S;
Console.WriteLine("a katet");
a = double.Parse(Console.ReadLine());
Console.WriteLine("b katet");
b = double.Parse(Console.ReadLine());
c=Math.Sqrt(Math.Pow(a,2)+Math.Pow(b,2));
S=(a*b)/2;
Console.WriteLine("Gipotenuzasi"+c+"Yuzasi"+S);
Console.ReadKey();
}
}
Natija
Dasturni tuzib oldik , endi esa qiymat berib natijasini ekranga chiqaramiz.
6.C# dasturi asosida kubning qirrasi, yuzasi va hajmini topish.
Hamma qirralari teng bo`lgan to`g`ri burchakli parallelopiped kub deyiladi. Kubning hamma yoqlari teng kvadratlardan iborat. Kub 9 ta simmetrik tekisligiga ega.
a=b=c, Sasos=a2 , Kub sirtining yuzi S=6a2
Vhajm=a3
a
Kubning ta`riflaridan foydalanib , yuzasi va hajmini topish dasturini tuzamiz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication25
{
class Program
{
static void Main(string[] args)
{
double a, S, V;
Console.WriteLine("Kubni qirrasi");
a = double.Parse(Console.ReadLine());
S = 4 * (Math.Pow(a, 2));
V = Math.Pow(a, 3);
Console.WriteLine("Yuza" + S + "Hajm" + V);
Console.ReadKey();
}
}
}
Natija
7. C# dasturida aylanaga tashqi chizilgan muntazam n-burchakning perimetrini topish.
Bu masalada aylanaga tashqi chizilgan muntazam qandaydir n burchakning perimetrini topish dasturi tuziladi. Perimetrini topish P= n*a formula orqali topiladi. Bu yerda a- muntazam n-burchakning tomonini uzunligi, n- esa burchakning soni.
Endi esa perimetrini qanday topishni bilib oldik, va dasturini tuzamiz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication27
{
class Program
{
static void Main(string[] args)
{
double r, n, P;
Console.WriteLine("radiusi:");
r = double.Parse(Console.ReadLine());
Console.WriteLine("tomoni:");
n = double.Parse(Console.ReadLine());
P = 2 * n * r * Math.Tan(Math.PI / n);
Console.WriteLine("Perimetri:" +P);
Console.ReadKey();
}
}
}
Natija
Natijada esa n bilan a ga qiymat berib, perimetri topiladi.
8.1. C# dasturida teng yonli trapetsiyaning balandligini topish.
İkki tomoni parallel, qolgan ikki tomoni parallel bo`lmagan to`rtburchak trapetsiya deb ataladi.
Yon tomonlari teng bo`lgan trapetsiya teng yonli trapetsiya deyiladi.
B C
c
A D
DC, ya`ni teng yonli trapetsiya
C=(a+b)/2, S=c*h - teng yonli trapetsiyani yuzini topish formulasi
H =(a2-b2)/2 - trapetsiyaning balandligini topish formulasi
Balandini topish formulasidan foydalanib, balandlikni topish dasturini tuzamiz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication29
{
class Program
{
static void Main(string[] args)
{
double a, b, h;
Console.WriteLine("a asos:");
a = double.Parse(Console.ReadLine());
Console.WriteLine("b asosi:");
b = double.Parse(Console.ReadLine());
h = Math.Sqrt((Math.Pow(a, 2)) - (Math.Pow(b, 2))) / 2;
Console.WriteLine("Balandligi:" + h);
Console.ReadKey();
}
}
}
Natija
8.2. C# dasturida trapetsiyaning yuzini topish dasturini tuzish
Bunda endi bizga trapetsiyaning tomonlari va balandligi berilgan bo`lsin. Ya`ni, a va b tomonlari, h balandlik berilgan bo`lsin.
b
S = (a+b)/2*h trapetsiyaning yuzini topish formulasi .
Bundan foydalanib biz yuzani topish dasturini tuzamiz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication29
{
class Program
{
static void Main(string[] args)
{
double a, b, h, S;
Console.WriteLine("a asos:");
a = double.Parse(Console.ReadLine());
Console.WriteLine("b asos:");
b = double.Parse(Console.ReadLine());
Console.WriteLine("h balandlik:");
h = double.Parse(Console.ReadLine());
S = ((a + b) / 2 * h);
Console.WriteLine("Yuzasi:" + S);
Console.ReadKey();
}
}
}
Natija
Xulosa
Xulosa qilib shuni aytish kerakki, ushbu kurs ishida , hozirgi kunda kompyuter texnologiyalariga bo`lgan e`tibor va ehtiyoj yuqori bo`lganligi uchun hozirgi kunda dasturlash tillari borgan sari ko`paymoqda va yanada mukammallashmoqda. Dasturlash tillarining hozirgi kundagi axamiyati shundan iboratki, masalan, dasturlar ham ko`p sohalarga mujjassamlashgan. Shunday dasturlash tillaridan biri C# dasturi hisoblanadi. Uning tarixi, kelib chiqishi haqida ham qisqacha toxtalib otilgan.
C# dasturlash tili ham C lar oilasiga mansub bolib, ishlash prinsiplari juda ham oxshash. Birinchi EHM lar uchun dasturlarni dasturchilar mashina kodi tilida yozilgan. Bu juda qiyin va uzoq vaqt talab etadigan jarayon edi. Dastur tuzishni boshlash va ishlatib ko’rish orasida ancha vaqt o’tar edi. Bunday muammolarni yеchish faqatgina dasturlash jarayonini rivojlantirish, optimizatsiya qilish orqaligina bajarilishi mumkin edi. Dasturchilar mеhnatini iqtisod qiluvchi bunday “jixoz” o’rnini qism dasturlari egalladi. Kurs ishimda ham C# dasturlash tili haqida kengroq ma’lumotlar asosiy qismda keltirib otilgan.
Ushbu kurs ishida Geometrik masalalarni dasturlash asosida ishlash (C#dasturi asosida) mavzusida yozilganligi uchun, murakkab va oson masalalarni dasturlash tilida ishlash bilan birga ancha bilim va malaka oshirdim, undan tashqari C# dasturlash tili haqida nazariy va amaliy jihatlariga ham e`tibor qaratib , kalit so`zlari, Console strukturalari, C# dasturlash tili kompilyatorlari haqida yanada mukammalroq darajada o`zlashtirdim. Geometrik masalalarni ishlash jarayonida, ya`ni dasturda ishlash jarayonida etiborli bolish juda zarur, chunki kichik bir xato ham yaratayotgan dasturimizni ishlash jarayonida xatolik yuz berishiga olib kelishi mumkin. SHuning uchun xushyorlikni oshirish kerak. Buyruqlarni to`g`ri kiritish kerak bo`ladi. Har bir qilayotgan yani tuzayotgan dasturimizni mukammal organib, malumotlardan togri va oqilona foydalanib , dasturimiz sifat darajasida qoyilgan talablar darajasiga toliq javob beradigan boladi deb oylayman.
Foydalanilgan adabiyotlar
Oʻzbekiston Respublikasi Prezidentining 2017 yildagi ―Zamonaviy axborot- kommunikatsiya texnologiyalarini yanada joriy etish va rivojlantirish chora- tadbirlari toʻgʻrisida‖gi PQ-1730 sonli qarori.
Erkin va farovon, demokratik O`zbekiston davlatini birgalikda barpo etamiz. O`zbekiston Respublikasi Prezidenti lavozimiga kirishish tantanali marosimiga bag`ishlangan Oliy Majlis palatalarining qo`shma majlisidagi nutq / SH.M. Mirziyoev. Toshkent : O`zbekiston, 2016. - 56 b.
Qonun ustuvorligi va inson manfaatlarini ta`minlash yurt taraqqiyoti va xalq farovonligining garovi. O`zbekiston Respublikasi Konstitusiyasi qabul qilinganining 24 yilligiga bag`ishlangan tantanali marosimdagi ma`ruza. 2016 yil 7 dekabr /SH.M.Mirziyoev. Toshkent: ―O`zbekiston‖, 2017. – 48 b.
Oʻzbekiston Respublikasi Prezidentining 2018-yil 4 oktyabrdagi ―Saylov jarayoniga zamonaviy axborot-kommunikatsiya texnologiyalarini joriy etish chora-tadbirlari toʻgʻrisida‖gi PQ-3961-son qarori.
Aripov M.M Informatika va hisoblash texnikasi asoslari:-Toshkent: O’zbekiston,2001y,-180b.
Aripov M.M Informatika va hisoblash texnikasi asoslari: Toshkent,O’zbekiston,2001y,-100b.
Qosimov S.S Axborot Texnologiyalari, Toshkent, Aloqachi,2006; 369 b.
Секунов Н.Ю. Самоучитель C#. – SPb.: BXV-Peterburg, 2001. -576с Karli Watson, Jacob Vibe Hammer, John D. Reid, Morgan Skinner, Daniel
Kemper, Christian Nagel. Beginning Visual C#® 2012 Programming.
Павел Агуров. C# Сборник рецептов: -Москва: Санкт-Петербург,
2008г. - 432 с.
. Дейтел Х, Дейтел П, Листфилд Дж. C# Наиболее полное руководство
В Подлиннике: -Москва: Санкт-Петербург, 2006г. -1056 с.
Elektron saytlar
https://www.csharp.com
https://www.referat.ru
https://www.referat.uz
https://www.ziyonet.uz
https://www.intuit.ru
Kurs ishi muallifi telegrami (linkni faqat elektron shaklda ochish mumkin)
Ilovalar
(C# dasturlash tilida tuzilgan dasturlar va ularning
natijalari)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication29
{
class Program
{
static void Main(string[] args)
{
double a, b, h, S;
Console.WriteLine("a asos:");
a = double.Parse(Console.ReadLine());
Console.WriteLine("b asos:");
b = double.Parse(Console.ReadLine());
Console.WriteLine("h balandlik:");
h = double.Parse(Console.ReadLine());
S = ((a + b) / 2 * h);
Console.WriteLine("Yuzasi:" + S);
Console.ReadKey();
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication29
{
class Program
{
static void Main(string[] args)
{
double a, b, h;
Console.WriteLine("a asos:");
a = double.Parse(Console.ReadLine());
Console.WriteLine("b asosi:");
b = double.Parse(Console.ReadLine());
h = Math.Sqrt((Math.Pow(a, 2)) - (Math.Pow(b, 2))) / 2;
Console.WriteLine("Balandligi:" + h);
Console.ReadKey();
}
using System;
namespace Mening_dasturim
{
classProgram
{
publicstaticvoidMain(string[] args)
{
Console.WriteLine("Hello World!");
Console.ReadKey(true);
using System;
namespace Mening_dasturim
{
classProgram
7
{
publicstaticvoidMain(string[] args)
{
string s=Console.ReadLine();
Console.WriteLine("kiritilgan satr:"+s);
Console.ReadKey(true);
}
}
}
26