Научная статья на тему 'C++ TILIDA SATRLAR BILAN ISHLASH'

C++ TILIDA SATRLAR BILAN ISHLASH Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
609
217
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
algoritm / Simvolli konstantalar / inisializasiya / Haqiqiy toifali sonlar / eksponensional / standart funksiya / inkrement operatsiyasi / algorithm / Symbolic constants / initialization / Real class numbers / exponential / standard function / increment operation.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Yusupova Minavvarxon Maxmudjanovna

Hozirgi vaqtda kompyuter texnologiyalarisiz biror bir ishni bajarish mushkul bo’lib bormoqda. Ushbu malumotlarga asoslanib maqolada C++ tilida satrlar bilan ishlash, ular bilan tanishish hamda foydali qulayliklari keng yoritib berilgan

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

WORKING WITH STRINGS IN C++

Nowadays, it is becoming difficult to do something without computer technologies. Based on this information, the article describes working with strings in C++, getting to know them, and their advantages.

Текст научной работы на тему «C++ TILIDA SATRLAR BILAN ISHLASH»

Oriental Renaissance: Innovative, (E)ISSN:2181-1784

educational, natural and social sciences www.oriens.uz

SJIF 2023 = 6.131 / ASI Factor = 1.7 3(9), September, 2023

C++ TILIDA SATRLAR BILAN ISHLASH

Yusupova Minavvarxon Maxmudjanovna

Andijon davlat universiteti Axborot texnologiyalari va kompyuter injineringi fakulteti Informatika o'qitish metodikasi yo'nalishi talabasi

ANNOTATSIYA

Hozirgi vaqtda kompyuter texnologiyalarisiz biror bir ishni bajarish mushkul bo'lib bormoqda. Ushbu malumotlarga asoslanib maqolada C++ tilida satrlar bilan ishlash, ular bilan tanishish hamda foydali qulayliklari keng yoritib berilgan.

Kalit so'zlar: algoritm, Simvolli konstantalar, inisializasiya, Haqiqiy toifali sonlar, eksponensional, standart funksiya, inkrement operatsiyasi.

РАБОТА СО СТРОКАМИ В C++ АННОТАЦИЯ

В наше время становится сложно что-то делать без компьютерных технологий. На основе этой информации в статье описывается работа со строками в C++, знакомство с ними и их преимущества.

Ключевые слова: алгоритм, символьные константы, инициализация, вещественные числа классов, экспонента, стандартная функция, операция приращения.

WORKING WITH STRINGS IN C++ ABSTRACT

Nowadays, it is becoming difficult to do something without computer technologies. Based on this information, the article describes working with strings in C++, getting to know them, and their advantages.

Keywords: algorithm, Symbolic constants, initialization, Real class numbers, exponential, standard function, increment operation.

C++ tili Byarn Straustrup tomonidan 1980 yil boshlarida ishlab chiqilgan. C++ tilida yaxshi dastur tuzish uchun "aql, farosat va sabr" kerak bo'ladi. Bu til asosan tizim sathida dasturlovchilar uchun yaratilgan. C/C++ algoritmik tilining alifbosi:

1. 26 ta lotin va 32 ta kirill harflari (katta va kichik),

2. 0 dan 9 gacha bo'lgan arab raqamlari,

3. Maxsus belgilar: - + * / : ; . , % ? ! = "" № < > { } [ ] ( ) $ # & л va h.k.

SJIF 2023 = 6.131 / ASI Factor = 1.7

3(9), September, 2023

Dastur bajarilishi jarayonida o'z qiymatini o'zgartira oladigan kattaliklar o'zgaruvchilar deyiladi. O'zgaruvchilarning nomlari harfdan boshlanuvchi xarf va raqamlardan iborat bo'lishi mumkin. O'zguruvchilarni belgilashda katta va kichik harflarning farqlari bor. (A va a harflari 2 ta o'zgaruvchini bildiradi) Har bir o'zgaruvchi o'z nomiga, toifasiga, xotiradan egallagan joyiga va son qiymatiga ega bo'lishi kerak. O'zgaruvchiga murojaat qilish uning ismi orqali bo'ladi. O'zgaruvchi uchun xotiradan ajratilgan joyning tartib raqami uning adresi hisoblanadi. O'zgaruvchi ishlatilishidan oldin u aniqlangan bo'lishi lozim [1].

Butun toifali o'nlik sanoq tizimida: ular faqat butun sondan iborat bo'ladilar. Masalan- 5; 76; -674 va h.k. Sakkizlik sanoq tizimidagi sonlar: 0 (nol) dan boshlanib, 0 dan 7 gacha bo'lgan raqamlardan tashkil topadi. Masalan: x=0453217; s=077,

O'n oltilik sanoq tizimidagi sonlar- 0 (nol) dan boshlanadi va undan keyin x yoki X harfi keladi, so'ngra 0-9 raqamlari va a-f yoki A-F harflaridan iborat ketma-ketliklar bo'ladi. Masalan- 10 s.s.dagi 22 soni 8 s.s. da 026, 16 s.s.da 0x16 shaklida bo'ladi.

Haqiqiy toifali sonlar: ular butun va kasr qismlardan iborat bo'ladilar. Masalan-8,1, -12,59 va x.k. Haqiqiy toifali sonlarning bu ko'rinishi oddiy ko'rinish deyiladi. Juda katta yoki juda kichik haqiqiy toifali sonlarni darajali (eksponensional) formada yozish qulay. Masalan: 7,204-1012 yoki 3,567*10-11 kabi sonlar 7.204e+12 va 3.567e-11 ko'rinishda yoziladi.

Simvolli konstantalar Ular qatoriga dastur bajarilishi'' ichida qabul qilinadigan simvollar kiradi. C/C++ tilida har qanday o'zgaruvchi ishlatilishidan oldin e'lon qilinishi kerak. E'lon qilish degani ularning toifalarini aniqlab qo'yish demakdir [2].

C++ tilida quyidagi toifali o'zgaruvchilar ishlatiladi: Butun toifali kichik sonlar yoki simvollar uchun- char uning o'zgarish intervali -128 dan +127 gacha yoki apostrof ichidagi ixtiyoriy 1ta simvol. Xotiradan 1 bayt joy oladi. Simvollar ASCII kodlariga mos keladi. ( ASCII - American Standart Code for Information Interchange )

Butun toifali o'zgaruvchilar- int. Masalan: int a, i, j ; Bu yerda dasturda ishlatilayotgan a, i, j o'zgaruvchilarining toifasi butun ekanligi ko'rsatildi. Bu toifadagi o'zgaruvchilar 2 bayt joy egallaydi. Ularning o'zgarish intervali: -32768 dan +32767 gacha; (Hozirgi 32 razryadli kompyuterlarda 4 bayt joy oladi va oralig'i 2 marta oshgan).

Butun toifali katta (uzun) o'zgaruvchilar: long. Masalan: long s, s2, aa34; Bu toifadagi o'zgaruvchilar 4 bayt joy egallaydi. Ular -2147483648 dan +2147483647 oraliqdagi sonlarni qabul qilishi mumkin.

SJIF 2023 = 6.131 / ASI Factor = 1.7

3(9), September, 2023

Ishorasiz butun o'zgaruvchilar: unsigned short - 2 bayt joy oladi, o'zgarish intervali 0 dan 65535 gacha; unsigned long - 4 bayt joy oladi, o'zgarish intervali: 0 dan 4294967295 gacha; unsigned char - 1 bayt joy oladi, o'zgarish chegarasi 0 dan 255 gacha. Haqiqiy toifadagi o'zgaruvchilar, float. Masalan: float a, b: Bu yerda dasturda ishlatilayotgan a, b o'zgaruvchilarining toifasi haqiqiy ekanligi ko'rsatilgan. Bu toifadagi o'zgaruvchilar 4 bayt joy egallaydi va qabul qilish chegarasi 10-38 dan 10+38 gacha. Katta yoki kichik qiymatli o'zgaruvchilarni ifoda etishda double toifasi ishlatiladi. Ular uchun 8 bayt joy ajratiladi va qabul qilish chegarasi 10-304 dan 10+304 gacha. Juda katta yoki juda kichik qiymatli o'zgaruvchilar uchun long double toifasi ishlatiladi, u 10 bayt joy oladi va qabul qilish chegarasi 3.4*10-4932 dan 1.1*10-4932 gacha [3].

Qator toifasidagi o'zgaruvchilar uchun ham char toifasi belgilangan. Ular ham 1 bayt joy oladi va 0 dan 256 tagacha bo'lgan simvollar ketma-ketligidan iborat bo'lishi mumkin. Satr toifasidagi o'zgaruvchilar qo'shtirnoq (") ichida yoziladi. C++ tilida o'zgaruvchilarni inisializasiya qilish degan tushuncha ham mavjud. Inisializasiya qilish degani o'zgaruvchini e'lon qilish barobarida unga boshlang'ich qiymatini ham berish demakdir. Masalan: int a=5, b, s=-100; - a, b, s o'zgaruvchilari butun toifali ekanligi ko'rsatildi va a o'zgaruvchisiga 5 (a=5), s o'zgaruvchisiga esa -100 (s=-100) boshlang'ich qiymatlar berildi. Dastur bajarilishi jarayonida o'z qiymatini o'zgartira olmaydigan kattaliklar o'zgarmaslar deyiladi. Masalan: x=1; bo'lsa keyinchalik x=x+5 deb yozib bo'lmaydi. O'zgarmaslarni const so'zi bilan ko'rsatiladi. Maslan: const int x=95; float y=9.17; ( const lar simvol yoki nol (NULL) bo'lishi xam mumkin.) C++ tilida standart funksiyalarning yozilishi:

Direktivalar - #include <file.h> direktiva - instruksiya degan ma'noni beradi. C++ tilida dasturning tuzilishiga, ya'ni ehtiyojiga qarab, kerakli direktivalar ishlatiladi. Ular < > belgisi orasida keltiriladi. Umuman olganda quyidagi direktivalar mavjud (jami 32 ta):

#include <stdio.h> - C da oddiy kiritish/chiqarish dasturi uchun. Bu yerda std -standart, i - input, o - output degani.

#include <iostream.h> - C++ da kiritish/chiqarish uchun, oddiy amallar bajarilsa.

#include <math.h> - standart funksiyalarni ishlatish uchun. #include <conio.h> - dasturning tashqi ko'rinishini shakllantirish uchun. #include <string.h> - satr toifasidagi o'zgaruvchilar ustida amallar bajarish uchun.

#include <stdlib.h> - standart kutubxona fayllarini chaqirish uchun. #include <time.h> - kompyuter ichidagi soat qiymatlaridan foydalanish uchun.

SJIF 2023 = 6.131 / ASI Factor = 1.7

3(9), September, 2023

#include <graphics.h> - C++ tilining grafik imkoniyatlaridan foydalanish uchun. Bu fayllar maxsus kutubxona e'lon fayllari hisoblanadilar va ular alohida INCLUDE deb nomlanadigan papkada saqlanadi. Hozirda C++ kutubxonasini yangilandi va undagi fayllarning nomlaridan .h (head - bosh ma'nosida) kengaytmasi olib tashlandi va oldiga c harfi qo'shildi (C dan qolgan 18 tasiga). Bu fayllarda funksiya prototoifalari, toifalari, o'zgaruvchilar, o'zgarmaslar ta'riflari yozilgan bo'ladi [4].

Direktivalar dasturni uni kompilyasiya qilinishidan oldin tekshirib chiqadi. Makroslar - # define makro qiymati. Masalan:

#define y sin(x+25) - u = sin(x+25) qiymati berildi;

#define pi 3.1415 - pi = 3.1415

#define s(x) x*x - s(x) = x*x (; belgisi qo'yilmaydi)

Global o'zgaruvchilarni e'lon qilish. Asosiy funksiya ichida e'lon qilingan o'zgaruvchilar lokal, funksiyadan tashqarida e'lon qilinganlari esa global o'zgaruvchilar deyiladi. Global o'zgaruvchilar dastur davomida ishlaydi va xotiradan ma'lum joyni egallaydi. O'zgaruvchini bevosita ishlatishdan oldin e'lon qilsa ham bo'ladi, u holda o'z lokal bo'ladi. Global o'zgaruvchilar nomi lokal o'zgaruvchilar nomi bilan bir xil bo'lishi ham mumkin. Bunday holatda lokal o'zgaruvchining qiymati joriy funksiya ichidagini qiymatini o'zgartiradi, funksiyadan chiqishi bilan global o'zgaruvchilar ishlaydi [5].

Asosiy funksiya - main ( ) hisoblanadi. Bu funksiya dasturda bo'lishi shart. Umuman olganda C++ dagi dastur funksiyalardan iborat deb qaraladi. main ( ) funksiyasi { boshlanadi va dastur oxirida berkitilishi shart } . main - asosiy degan ma'noni beradi. Bu funksiya oldida uning toifasi ko'rsatiladi. Agar main ( ) funksiyasi beradigan (qaytaradigan) javob oddiy so'z yoki gaplardan iborat bo'lsa, hech qanday natija qaytarmasa, void so'zi keltiriladi. main ( ) funksiyasi dastur tomonidan emas, balki OS tomonidan chaqiriladi. OSga qiymat qaytarish shart emas, chunki u bu qiymatdan foydalanmaydi. Shuning uchun main ( ) funksiyasining turini void deb ko'rsatganimiz ma'qul. Har bir funksiyaning o'z argumenti bo'ladi, shuning uchun main funksiya ( ) lari ichiga uning parametri keltiriladi. Ba'zan u bo'sh bo'lishi ham mumkin. Bu funksiyadan chiqish uchun odatda return operatori ishlatiladi. 0 (nol) qiymatining qaytarilishi operasion tizimga ushbu dastur normal bajarilib turganini bildiradi. return orqali qaytadigan qiymat toifasi funksiya e'lonidagi qaytish toifasi bilan bir xil bo'lishi kerak [5].

Masalan int main ( ) va 0 (nol) qiymat butun toifalidir. Bu funksiyadan so'ng lokal o'zgaruvchilar, qism dasturlar, ularning haqiqiy parametrlar e'lon qilinadi. So'ngra dasturning asosiy operatorlari (kiritish/chiqarish, hisoblash va h.k.) yoziladi.

SJIF 2023 = 6.131 / ASI Factor = 1.7

3(9), September, 2023

Agar bu operatorlar murakkab toifali bo'lsalar, ularni alohida {} qavslarga olinadi. C++ tilida dastur kichik harflarda yoziladi. Ba'zi operatorlar katta harflar bilan kelishi mumkin, bunday xollarda ular alohida aytib o'tiladi. Operatorlar oxiriga ; belgisi qo'yiladi. Operatorlar bir qatorga ketma-ket yozilishi mumkin. Dasturda izohlar xam kelishi mumkin, ular /* ....*/ belgisi orasiga olinadi. Agar izoh bir qatorda tugasa, uni // belgisidan keyin yoziladi. Masalan: main ( ) // C++ tilining asosiy funksiyasi

Tilda quyidagi amallardan foydalanish mumkin:

Arifmetik amallar: +, -, /, *, %. Barcha amallar odatdagidek bajariladi, faqat bo'lish amali butunga bo'lish bajariladi, ya'ni agar butun sonlar ustida bajarilayotgan bo'lsa, natija doim butun bo'ladi, ya'ni kasr qism tashlab yuboriladi (9/5=1; vaxolanki 1,8 bo'lishi kerak). Shuning uchun surat yoki maxrajiga nuqta (.) qo'yilsa, natija ham xaqiqiy bo'ladi (9./5=1.8). % belgisi (modul operatori) esa butun sonni butun songa bo'lgandan hosil bo'ladigan qoldiqni bildiradi. Masalan: 9 % 5=4 Taqqoslash amallari: = = (tengmi?); != (teng emas); < ; > ; >=; <= Mantiqiy amallar: && (and) mantiqiy ko'paytirish; || (or) mantiqiy qo'shish; ! (not) mantiqiy inkor. Mantiqiy amallarni ixtiyoriy sonlar ustida bajarish mumkin. Agar javob rost bo'lsa, natija 1 bo'ladi, agar javob yolg'on bo'lsa, natija 0 bo'ladi. Umuman olganda 0 (nol) dan farqli javob rost deb qabul qilinadi. Masalan: i>50 && j==24 yoki s1 < s2 && (s3>50 || s4<=20); Yoki 6 < x < 10 yozuvini x>=6 && x<=10 deb yoziladi Qiymat berish amallari: a. a=5; b = 2*c; x = y = z =1; a = (b = c)*d // 3=5 deb yozib bo'lmaydi

b. qabul qildim va almashtirdim deb nomalandigan amallar: + = : a+=b ^ a = a + b; - = : a-=b ^ a = a - b; * = : a*=b ^ a = a * b; / = : a/=b ^ a = a / b; % = : a%=b ^ a = a % b;

Inkrement operatsiyasi (++) ikki ma'noda ishlatiladi- o'zgaruvchiga murojaat qilinganidan keyin uning qiymati 1 ga oshadi (a++ postfiks ko'rinishi) va o'zgaruvchining qiymati uning murojaat qilishdan oldin 1 ga oshadi (++a prefix ko'rinishi); dekrement operatsiyasi (--), xuddi inkrement operatsiyasi kabi, faqat kamaytirish uchun ishlatiladi. Masalan: s = a + b++ (a ga b ni qo'shib keyin b ning qiymatini 1 ga oshiradi), s = a+(--b) (b ning qiymatini 1 ga kamaytirib, keyin a ga qo'shadi). Yuqoridagi standart funksiyalardan tashqari yana quyidagi funksiyalar ham ishlatiladi: ceil (x) - x ni x dan katta yoki unga teng bo'lgan eng kichik butun

SJIF 2023 = 6.131 / ASI Factor = 1.7

3(9), September, 2023

songacha yaxlitlash. Masalan: ceil (12.6) = 13.0; ceil (-2.4) = -2.0, floor (x) - x ni x dan kichik bo'lgan eng katta butun songacha yaxlitlash. Masalan: floor (4.8) = 4.0; floor (-15.9) = -16.0, floor(12.1) = 12, floor(-12.1)=-13; fmod (x,y) - x / y ning qoldig'ini kasr son ko'rinishida berish. Masalan: fmod(7.3, 1.7) = 0.5;

C++ tili paydo bo'lgandan beri, o'qitish, ilmiy izlanish, tijorat dasturiy ta'minotlarini yaratish bo'yicha amaliy til sifatida tobora ko'proq e'tiborga ega bo'lmoqda. Mazkur davr mobaynida C++ tili yangi imkoniyatlar bilan boyib bormoqda, ular yangi kiritilgan funksiyalar(shablonlar va istisnolarga ishlov berish) hisobiga amalga oshirildi. Albatta, dasturlash kabi murakkab jarayonni ko'rsatmalar ko'rinishidagi qo'llanma sifatida rasmiylashtirish mumkin emas. Sunga qaramay, dasturlashni qadammaqadam tasvirlovchi qo'llanma hamma vaqt ham foydali bo'ladi. Albatta, talabalar turli dasturlarni yoza olish imkoniyatiga ega bo'lishi kerak, ammo bunda ular yaxshi ko'rsatgichlarga ega bo'la olishlari bo'ycha ishonch zarur bo'ladi [6]. C++ tiliga kirish sifatida talqin etilishi mumkin. Ushbu kurs ishi C++ tilida dasturlash bilan birgalikda, o'z imkoniyatlaridan to'g'ri foydalanishni hamda ob'yektga yo'naltirilgan dasturlash asoslarini ham kengroq yoritib bera oladi . C++ dasturlash tili, C++ Satrlar, Satrlar va ularga ishlov berish, Satrlarni ulash, satrlar yordamida fayllar bilan bog'lanish, Satrlarni solishtirish, Satrni teskari tartiblash kabi muxum algaritmlar bizga juda ko'p imkoniyatlarni yaratib beradi. Ushbu kurs ishining xar bir qismida ma'lumotlar qisqa va lo'nda holda keltirilishiga harakat qilingan. Shuni qayd etish lozimki, keltirilgan misollar, ushbu kurs ishida da talqin etilgan nazariy bilimlarni amaliyotda qo'llash imkoniyatini yaratadi.

FOYDALANILGAN ADABIYOTLAR (REFERENCES)

1. Karimov I.A. Xavfsizlik va barqarorlik yo'lida. 6-jild. Toshkent "O'zbekiston". 1998. 409 b.

2. Horstman C.S. C++ for Everyone, 2 edition-2011, 562 p

3. Herb Sutter. More Exceptional C++. 2007- 304 p.

4. Nazirov Sh.A., Qobulov R.V., Bobojanov M.R., Raxmanov Q.S. C va C++ tili. "Voris-nashriyot" MCHJ, Toshkent 2013, 488 b

5. Aripov M., Begalov B., Begimqulov U., Mamarajabov M. Axborot texnologiyalari. Toshkent: Noshir, 2009. -368 s.

6. Deitel P.J., Deitel H.M. C++. How to Program, 9 th Edition-2011.-1070

i Надоели баннеры? Вы всегда можете отключить рекламу.