Axborotlashtirish va telekommunikatsiya texnologiyalari davlat komiteti toshkent axborot texnologiyalari universiteti
Download 0.6 Mb. Pdf ko'rish
|
c tilida katta sonlar bilan ishlash
- Bu sahifa navigatsiya:
- Ishorali va ishorasiz tiplar.
- O‘zgaruvchiga qiymat berish.
- Literal o‘zgarmaslar.
- 4-misol.
- Internet saytlari. www.google.ru www.ziyonet.uz http://dasturim.uz
Funksiyalarning qo‘llanilishi. Funksiyalar yo void tipidagi, yo boshqa biror bir tipdagi qiymat qaytaradi. Ikkita butun sonni qo‘shib, ularning yig‘indisini qaytaradigan funksiya butun qiymat qaytaruvchi deyiladi. Faqatgina qandaydir amallarni bajarib, hech qanday qiymat qaytarmaydigan funksiyaning qaytaruvchi tipi void deb e’lon qilinadi. Funksiya sarlavha va tanadan iboratdir. Funksiya sarlavhasida uning qaytaradigan tipi, nomi va parametrlari aniqlanadi. Parametrlar funksiyaga qiymat uzatish uchun ishlatiladi. Masalan: Funksiyani chaqirilishiga misol. 1: # include < iostream > 2: //namoyish funksiyasi ekranga 3: // axboro tma’lumot chiqaradi. 4: void namoyish funksiyasi () 5: { 6: cout<< “\nnamoyish funksiyasi chaqirildi\ n; 7: } 8: //main() funksiyasi oldin axborot chiqaradi va 9: // namoyish funksiyasini chaqiradi 10: // Keyin yana namoyish funksiyasini chaqiradi 11: int main() 12: { 13: cout << “\ n Bu main() funksiyasi \ n”; 14: namoyish funksiyasi (); 15: cout << “main() funksiyasiga qaytildi\n”; 16: return 0; 17: } NATIJA: Bu main() funksiyasi namoyish funksiyasi chaqirildi va so‘ng main() funksiyasiga qaytildi. Parametr-bu funksiyaga uzatiladigan qiymat tipini e’lon qilishdir. Funksiya chaqirilganda unga uzatiladigan qiymat argument deb aytiladi. Ko‘pchilik dasturchilar bu ikkala tushunchani sinonim sifatida qarashadi. Ba’zilar esa bu terminlarni aralashtirishni noprofessionallik deb hisoblaydi. Mavzularda ikkala termini bir xil ma’noda kelgan. Funksiya tanasi ochiluvchi figurali qavs bilan boshlanadi va u bir necha qatordan iborat bo‘lishi mumkin. (Funksiya tanasida hech qanday satr bo‘lmasligi ham mumkin). Satrlardan keyin esa yopiluvchi figurali qavs keladi. Funksiyaning vazifasi uning satrlarida berilgan dasturiy kodlar bilan aniqlanadi. Funksiya dasturga return operatori orqali qiymat qaytaradi. Bu operator funksiyadan chiqish ma’nosini ham anglatadi. Agarda funksiyaga chiqish operatorini (return) qo‘ymasak funksiya satrlarini tugashi bilan u avtomatik void tipidagi qiymatni qaytaradi. Funksiya qaytaradigan tip uning sarlavhasida ko‘rsatilgan tip bilan bir xil bo‘lishi lozim. Bundan tashqari bizga uchburchakning ma’lum parametrlariga ko‘ra noma’lum parametrlarini topish kerak bo‘lsin. Masalan: Ixtiyoriy uchburchakning 3 ta (a,b,c) tomonlari berilgan bo‘lsin, qolgan 7 ta noma’lum parametrlarini aniqlash dasturini tuzing. Dasturi:
va ishorasiz bo‘lishi mumkin. Ba’zan o‘zgaruvchi uchun faqatgina musbat sonni qo‘llash foydali bo‘ladi. Unsingned kalitli so‘zsiz keltirilgan butun sonli tiplar (short va long) ishorali hisoblanadi. Ishorali butun sonlar manfiy va musbat bo‘lishi mumkin. Ishorasiz sonlar esa doimo musbat bo‘ladi.
O‘zgaruvchilarning tayanch toifalari. C/C++ tilida boshqa berilganlar toifalari ham qaralgan. Ular butun sonli, haqiqiy va belgili bo‘lishi mumkin. Haqiqiy o‘zgaruvchilar kasr ko‘rinishda ifodalanuvchi qiymatlarni ham o‘zida saqlaydi. Belgili o‘zgaruvchilar bir bayt joy egallaydi va 266 ta belgi hamda ASCII belgilarni saqlash uchun ishlatiladi.
ASCII belgilari deganda kompyuterlarda qo‘llaniladigan standart belgilar to‘plami tushuniladi. ASCII – bu American Standard Code for Information Interchange ( Amerikaning axborot almashinishi uchun standart kodi) degan ma’noni anglatadi. Kalit so‘zlar. C/C++ tilida ayrim so‘zlar oldindan zahiralanadi. Bular kalitli so‘zlar deb aytiladi. Bunday so‘zlarni o‘zgaruvchilarni nomlashda ishlatish mumkin emas. Ularga if, while, for va main kabi so‘zlar kiradi. Kompilyatorning texnik hujjatlarida barcha zahiralangan so‘zlarning ro‘yxati turadi. O‘zgaruvchiga qiymat berish. O‘zgaruvchilarga qiymat berish uchun o‘zlashtirish operatori qo‘llaniladi. Masalan, Width o‘zgaruvchisiga 5 qiymatni berish uchun quyidagilarni yozish lozim:
Bu ikkala satrni Width o‘zgaruvchisini aniqlash jarayonida birgalikda yozish mumkin.
unsigned short Wigth = 5; Bir necha o‘zgaruvchilarni aniqlash vaqtida ham ularga qiymat berish mumkin: long widt h=5, length=7; Bu misolda long tipidagi width o‘zgaruvchisi 5 qiymatni, shu tipdagi length o‘zgaruvchisi esa 7 qiymatni qabul qildi. Quyidagi dasturda o‘zgaruvchilarni aniqlashga oid misolni qaraymiz. O‘zgaruvchilarning qo‘llanishi.
typedef kalitli so‘zi unsigned short int kabi kalit so‘zlarni ko‘p martalab dasturda yozilishi zerikarli va diqqatvozlik keltirishi sababli C/C++ tilida bunday tiplarni typedef kalitli so‘zi yordamida psevdonimini (taxallusini) tuzish imkoniyati berilgan. typedef so‘zi toifani aniqlash ma’nosini bildiradi. Psevdonim tuzishda toifaning nomi yangi tuziladigan toifa nomidan farqli bo‘lishi lozim. Bunda birinchi typedef kalitli so‘zi, keyin mavjud toifa nomi, undan so‘ng esa yangi nom yoziladi. Masalan: typedef unsigned short int ushort Bu satrdan so‘ng u short nomli yangi toifa hosil bo‘ladi va u qayerda unsigned short int tipidagi o‘zgaruvchini aniqlash lozim bo‘lsa, shu joyda ishlatiladi. Ushbu dasturda typedef operatori orqali toifalarning aniqlanishi keltirilgan. #include
int main() { ushort Bo‘yi = 5; ushort Eni = 10; ushort Yuzasi = Bo‘yi* Eni; cout << “Yuzasi:” << Yuzasi << endl; } NATIJA: Yuzasi: 50 Belgili o‘zgaruvchilar odatda bir bayt joyni egallaydi va bu 256 xil belgini saqlash uchun yetarlidir. Char tipi qiymatlarini 0..255 sonlar to‘plamiga yoki ASCII belgilar to‘plamiga interpretatsiya qilish mumkin.
belgilardan tashkil topgan. Ulardan eng ko‘p tarqalgani (3- jadvalda keltirilgan). Bu belgilarni dasturda ishlatishda «teskari slesh»dan foydalanamiz. Teskari sleshdan keyin boshqaruvchi belgi yoziladi. Masalan, tabulyatsiya belgisini dasturga qo‘yish uchun quyidagi yozuvni yozish kerak:
Bu misoldagi char tipidagi o‘zgaruvchi \t qiymatini qabul qiladi. Maxsus belgilar axborotlarni ekranga, faylga va boshqa chiqarish qurilmalariga chiqarishda formatlash uchun qo‘llaniladi.
3-jadval. Belgilar Qiymati
\n\t\b \”
\’ \?
\\ Yangi satrga o‘tish.Tabulyatsiya.Bitta pozitsiyaga o‘tish Ikkitalik qavscha Bittalik qavscha So‘roq belgisi Teskari slesh
uchun mo‘ljallangan xotira yacheykalarini o‘zida ifodalaydi. O‘zgaruvchilardan farqli ravishda ular dasturni bajarilishi jarayonida qiymati o‘zgarmaydi. O‘zgarmas e’lon qilinishi bilan unga qiymat berish lozim, keyinchalik bu qiymatni o‘zgartirib bo‘lmaydi. C/C++ tilida ikki turdagi, literal va belgili o‘zgarmaslar aniqlangan.
Masalan: int myAge =39; Bu ifodada MyAge inttoifadagi o‘zgaruvchi, 39 soni esa literal o‘zgarmasdir. Belgili o‘zgarmaslar. Belgili o‘zgarmas – bu nomga ega bo‘lgan o‘zgarmasdir. C/C++ tilida belgili o‘zgarmasni aniqlashning ikki usuli mavjud: # define direktivasi yordamida o‘zgarmasni aniqlash. const kalitli so‘zi orqali o‘zgarmasni aniqlash. Xulosa. Kurs ishi 3 ta qismdan iborat bo’lib. Ular: Kirish, asosiy qism va xulosa. Daslap kirish qismida C++ tilining kelip chiqishi va uning asosini solubchilar haqida aytip o’tganman. C++ tilining eng ason bo’lgan taraplari haqida ham jozdim va misollar bilan ko’rsatim. 2- qismi, asosiy qism bo’lip, bu qismda C++ tilining asosiy tiplarini, amallari, funktsiyalar, o’zgaruvshilar va o’zgarmaslar haqida umumiy tushuncha kiritim. Xulosa o’rnida shuni atap o’tadigan bo’lsam. Man bu kurs ishimning mavzusida o’zimga kerak bo’lgan va asosiysi zarur bo’lgan tushunchalarga ega bo’ldim. C++ tilining ahamiyatini, uning qo’llanilish usullari, unda foydalaniladigan tushunchalar haqida umumiy tushunchaga ega bo’ldim. C++ tilida qo’llaniladigan butun va katta sonlarding qay joylarda qo’llanilishi, ulardan foydalanilish usullari va yozilishga ham ahamiyat qaratish kerakligi haqida bildim.
Man bu kurs ishimning davomi sifatida C++ tilida katta sonlar ustida ishlashga oid bir necha misollar keltirip o’tgan. Bu misollarni Code Blocksda ishlap shiqtim. Amaliy mashg’ulotlar. 1-misol.Ushbu dasturda cout ob’ektini qo‘llanilishi keltirilgan. Natija:
2-misol.Tayanch toifalar uchun kompyuter xotirasidan ajratiladigan baytlarni aniqlash.
Natija:
3-misol.Yuqoridagi solishtirish operatorlarini ishlatadigan bir dasturni ko'raylik.
Natija:
4-misol. Ikki butun musbat son M va N larning eng katta umumiy bo’luvchisi (EKUB) ni aniqlang.
Borland C++ Builder da dasturu:
//--------------------------------------------------------------------------- // Valieva Aziza 2-a Kasbiy talim. #include #pragma hdrstop
#include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { int m,n,x,y; m=StrToInt(Edit1->Text); n=StrToInt(Edit2->Text); x=m; y=n; A:
if(x=y)goto B; if(x>y) x=x-y; if(x goto A;
}
//---------------------------------------------------------------------------
Foydalanilgan adabiyotlar. 1.
К .Паппас, У. Мюррей “Программирование на С и С++”, Киев ,2000. 2.
Атымтаева Л.Б. “Объектге бағытталған программалау негиздери”. А: «Қазақ университети», 2005 3. Климова Л.М. “С++ Практическое программирование”. Москва, 2001г Франка П. “С++ учебный курс”. Санкт-Петербург: ЗАО «Издательство Питер», 1999 4. Бьярн Страуструп. “Язык программирования С++”. Киев: Диасофт, 1993- 1,2 часть. 5. Павловская Т.А. “С/С++ программирование на языке высокого уровня”. Санкт-Петербург, 2002г. 6.
П. Лукас. “С++ под рукой”. – Киев: НПИФ «ДиаСофт», 1993.
Internet saytlari. www.google.ru www.ziyonet.uz http://dasturim.uz http://uzmaster.ru/topic571 Download 0.6 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling