Referat bajardi: 1-kurs talabasi Bosimov Bekmurod Baxrom o`g`li Tekshirdi: Yusupov Dilmurod Tasbaltayevich Toshkent 2022



Download 32,49 Kb.
Sana09.12.2022
Hajmi32,49 Kb.
#882441
TuriReferat
Bog'liq
Dasturlash 2-amaliy topshiriq




Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalar universiteti Nurafshon filiali
REFERAT
Bajardi: 1-kurs talabasi Bosimov Bekmurod Baxrom o`g`li

Tekshirdi: Yusupov Dilmurod Tasbaltayevich


Toshkent 2022


Mavzu:Tarmoqlanuvchi jarayonni tashkil etish(Algoritm va Dastur)
Reja:
1) Algoritm o‘zi nima?
2) Tarmoqlanuvchi jarayonlar Algoritmlarini yaratish
3) Algoritm tushunchasi C++ dasturlash tilida

Algoritm so‘zi buyuk matematik Al-Xorazmiyning nomi bilan bog‘liq bo‘lib, u birinchi bo‘lib arab raqamlaridan foydalangan holda arifmetik amallarni bajarish qoidasini bayon etdi.Har qanday qo‘yilgan masalani kompyuterda echish uchun oldin uning echish usulini tanlab, keyin uning algoritmini ishlab chiqish kerak bo‘ladi. Demak, hech bir masala yo‘qki uning echilish yo‘llarini bilmasdan va algoritmini tasavvur qilmasdan turib uni kompyuterda echib bo‘lmaydi.


2.Algoritm va uning xossalariElektron hisoblash mashinalarining vujudga kelishiga qadar algoritmga har xil ta’rif berib kelindi. Lekin ularning barchasi ma’no jihatdan bir-biriga juda yaqin bo‘lib, bu ta’rif hozirgi kunda quyidagicha talqin qilinadi.
Ta’rif. Algoritm deb, qo‘yilgan masalani echish uchun ma’lum qoidaga binoan bajariladigan amallarning chekli qadamlar ketma-ketligiga aytiladi.
Har qanday algoritm ma’lum ko‘rsatmalarga binoan bajariladi va bu ko‘rsatmalarga buyruq deyiladi.
Algoritm quyidagi muhim xossalarga ega:
Aniqlik va tushunarlilik - deganda algoritmda ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda bo‘lishi tushuniladi.
Ommaviylik - deganda har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun ham o‘rinli bo‘lishi tushuniladi.
Natijaviylik - deganda algoritmda chekli qadamlardan so‘ng albatta natija bo‘lishi tushuniladi.
Diskretlik - deganda algoritmlarni chekli qadamlardan tashkil qilib bo‘laklash imkoniyati tushuniladi.
3.Algoritm turlari
Algoritmning uchta turi bor: chiziqli, tarmoqlanuvchi va takrorlanuvchi.
CHiziqli algoritm - deb hech qanday shartsiz faqat ketma-ket bajariladigan jarayonlarga aytiladi.

Tarmoqlanuvchi algoritm - deb ma’lum shartlarga muvofiq bajariladigan ko‘rsatmalardan tuzilgan algoritmga aytiladi.


Takrorlanuvchi algoritm - deb biron bir shart tekshirilishi yoki biron parametrning har xil qiymatlari asosida algoritmda takrorlanish yuz beradigan jarayonlarga aytiladi.
Algoritmlarni turli usullarda tasvirlash mumkin. Masalan: so‘z bilan ifodalash; formulalarda berish; blok-sxemalarda tasvirlash; dastur shaklida ifodalash va boshqalar.
Algoritmlarni blok-sxema ko‘rinishda tasvirlash qulay va tushunarli bo‘lgani uchun ko‘p ishlatiladi. Bunda algoritmdagi har bir ko‘rsatma o‘z shakliga ega. Masalan: parallelogramm ko‘rinishdagi belgi ma’lumotlarni kiritish va chiqarish; to‘g‘ri to‘rtburchak belgisi hisoblash jarayonini; romb belgisi shartlarning tekshirilishini bildiradi.
TAKRORLANUVCHI JARAYONLAR ALGORITMLARINI YARATISH.
Hozirgi paytda o’nlik sanoq tizimida arifmetik amallarni bajarish usullari hisoblash algoritmlariga soddagina misol bo’la oladi xolos. Hozirgi zamon nuqtai nazaridan algoritm tushunchasi nimani ifodalaydi? Ma’lumki, inson kundalik turmushida turli-tuman ishlarni bajaradi. Har bir ishni bajarishda esa bir qancha elementar (mayda) ishlarni ketma-ket amalga oshirishga to’g’ri keladi. Mana shu ketma-ketlikning o’zi bajariladigan ishning algoritmidir. Ammo bu ketma-ketlikka e’tibor bersak, biz ijro etayotgan elementar ishlar ma’lum qoida bo’yicha bajarilishi kerak bo’lgan ketma-ketlikdan iborat ekanligini ko’ramiz. Agar bu ketma-ketlikdagi qoidani buzsak, maqsadga erishmasligimiz mumkin.
Masalan, shaxmat o’yinini boshlashda shohni yura olmaymiz, chunki bu o’yin algoritmida yurishni boshqa bir shaxmat donalaridan boshlash kerak yoki palov pishirish algoritmida birinchi navbatda qozonga suv solib ko’ringchi, osh qanday bo’lar ekan. Berilgan matematik ifodani soddalashtirishda amallarning bajarilish ketma-ketligiga e’tibor bermaslik noto’g’ri natijaga olib kelishi barchaga ma’lum.
Demak ishni, ya’ni qo’yilgan masalani bajarishga mayda elementar ishlarni muayyan ketma-ketlikda ijro etish orqali erishiladi. Bundan ko’rinib turibdiki, har bir ish qandaydir algoritmning bajarilishidan iboratdir. Algoritmni bajaruvchi algoritm ijrochisidir. Algoritmning ijrochisi masalaning qanday qo’yilishiga e’tibor bermagan holda natijaga erishishi mumkin. Buning uchun u faqat avvaldan ma’lum qoida va ko’rsatmalarni qat’iy bajarishi shart. Bu esa algoritmning juda muhim xususiyatlaridan biridir.

Umuman, ajgoritmlarni ikki guruhga ajratish mumkin. Birinchi guruh algoritmning ijrochisi faqat inson bo’lishi mumkin ( masalan palovni faqat inson pishira oladi), ikkinchi guruh algoritmlarning ijrochisi ham inson, ham EHM bo’lishi mumkin (faqat aqliy mehnat bilan bog’liq bo’lgan masalalar). Ikkinchi guruh algorimtlarning ijrochisini EHM zimmasiga yuklash mumkin. Buning uchun algoritmni EHM tushunadigan biror tilda yozib, uni mashina xotirasiga kiritish kifoya.

Shunday qilib, biz algoritm deganda, berilgan masalani yechish uchun ma’lum tartib bilan bajarilishi kerak bo’lgan chekli sondagi buyruqlar ketma-ketligini tushunamiz.
Biror sohaga tegishli masalani yechish algoritmini tuzish algoritm tuzuvchidan shu sohani mukammal bilgan holda, qo’yilgan masalani chuqur tahlil qilishni talab qiladi. Bunda masalani yechish uchun kerak bo’lgan ishlarning rejasini tuza bilish muhim ahamiyatga ega. Shuningdek, masalani yechishda ishtirok etadigan ob’ektlarning qaysilari boshlang’ich ma’lumot va qaysilari natijaligini aniqlash, ular o’rtasidagi o’zaro bog’lanishni aniq va to’la ko’rsata bilish, yoki dastur (programma) tuzuvchilar tili bilan aytganda, masalaning ma’lumotlar modelini berish lozim.
Berilgan masala algoritmini yozishning turli usullari mavjud bo’lib, ular qatoriga so’z bilan, bloktarh (bloksxema) shaklida, formulalar, operatorlar yordamida, algoritmik yoki dasturlash tillarida yozish va hokazolarni kiritish mumkin.
Endi biror usulda tuzilgan algoritmning ayrim xossalari va algoritmga qo’yilgan ba’zi bir talablarni ko’rib chiqaylik.
1. Algoritm har doim to’liq bir qiymatlidir, ya’ni uni bir xil boshlang’ich qiymatlar bilan ko’p marta qo’llash har doim bir xil natija beradi.
2. Algoritm birgina masalani yechish qoidasi bo’lib qolmay, balki turli-tuman boshlang’ich shartlar asosida ma’lum turdagi masalalar to’plamini yechish yo’lidir.
3. Algoritmni qo’llash natijasida chekli qadamdan keyin natijaga erishamiz yoki masalaning yechimga ega emasligi haqidagi ma’lumotga ega bo’lamiz.

Yuqorida keltirilgan xossalarni har bir ijrochi o’zi tuzgan biror masalaning algoritmidan foydalanib tekshirib ko’rishi mumkin. Masalan:


ax2 + bx + с = 0
kvadrat tenglamani yechish algoritmi uchun yuqorida sanab o’tilgan algoritmning xossalarini quyidagicha tekshirib ko’rish mumkin.
Agar kvadrat tenglamani yechish algoritmi biror usulda yaratilgan bo’lsa, biz ijrochiga bu algoritm qaysi masalani yechish algoritmi ekanligini aytmasdan a, b, с larning aniq qiymatlari uchun bajarishni topshirsak, u natijaga erishadi va bu natija kvadrat tenglamaning yechimi bo’ladi. Demak, algoritmni ijro etish algoritm yaratuvchisiga bog’liq emas.
Xuddi shuningdek a, b, с larga har doim bir xil qiymatlar bersak, algoritm har doim bir xil natija beradi, ya’ni to’liqdir.
Yaratilgan bu algoritm faqatgina bitta kvadrat tenglamani yechish algoritmi bo’lib qolmay, balki a,b,c larning mumkin bo’lgan barcha qiymatlari uchun natija hosil qiladi, binobarin u shu turdagi barcha kvadrat tenglamalarning yechish algoritmi bo’ladi.
Algoritmning oxirgi xossasi o’z-o’zidan bajariladi, ya’ni kvadrat tenglamani yechish albatta chekli qadamda amalga oshiriladi.
Dastur tuzuvchi uchun EHMning ikkita asosiy parametri o’ta muhimdir: hisoblash mashinasi xotirasining hajmi va mashinaning tezkorligi. Shuningdek, algoritm tuzuvchidan ikki narsa talab qilinadi. Birinchidan, u tuzgan dastur mashina xotirasida eng kam joy talab etsin, ikkinchidan, eng kam amallar bajarib masalaning natijasiga erishsin. Umuman olganda, bu ikki talab bir-biriga qarama-qarshidir, ya’ni algoritmning ishlash tezligini oshirish algoritm uchun kerakli xotirani oshirishga olib kelishi mumkin. Bu xol, ayniqsa murakkab masalalarni yechish algoritmini tuzishda yaqqol seziladi. Shuning uchun ham bu ikki parametming eng maqbul holatini topishga harakat qilish kerak.
Ushbu maqolalar toplami dasturchilikning eng muhim boginlaridan bolmish, algoritmlashga bagishlanadi. Birinchi maqolamiz algoritmlashning nima ekanligi, uning asosiy turlari, va ularning qollanilish joylariga bagishlanadi. Demak, ketdik…
Algoritm sozi barchamizga malum bolganidek, vatandoshimiz Muhammad ibn Muso al-Xorazmiyning ismini yevropacha talaffuzidan kelib chiqqan. Demak, hozirda keng foydalanilayotgan algoritmlashning asosi bizning Vatanimizdan boshlangan.
Maktab informatika kursidan malumki, algoritm bu – malum masalani hal qilish uchun bajarish kerak bolgan amallar ketma-ketligi. Osha mashhur choy damlash algoritmidan chekingan holda hayotiy misol keltiramiz. Hayotda eng kop boladigan holatimiz bu uyqu. Kopchilik rejim bilan uxlaydi , yani uxlashga malum bir vaqtni belgilagan. Misol uchun siz uxlashga yotish uchun 22:00ni tanladingiz. Har safar soatga qaraganingizda uxlash vaqti bolgan yoki bolmaganini tekshirasiz. Miyangizda esa quyidagi jarayon boladi:
Bu oddiy uyquga yotish algoritmi edi. Hayotda ozimiz bilmagan holatda algoritmlardan foydalanamiz. Miyamiz juda tez ishlagani sabab qadamlar ketma-ketligi haqida oylab kormaymiz.
Endi maqolamizning asosiy qismi, dasturlashda algoritmlashga otamiz. Dasturlashda algoritm bu – masalani yechish uchun bajarilishi kerak bolgan amallar ketma-ketligini kodga ogirilgan varianti. Bunda masalani yechish uchun miyamizda kechayotgan jarayonni kompyuter tushunadigan qilib yozish talab etiladi.
Algoritmlashning asosi matematika hisoblanadi. Bunda fikrlash muhim rol oynaydi. Sozimni quyidagicha isbot qilaman. Dasturlash sanoatida gigant korporatsiya hisoblangan Microsoftning asoschisi Bill Geytsning shunday sozlari dasturchilar orasidda mashhur:”Qoshish va ayirishni biladigan har qanday inson dasturchi bola oladi”. Bu sozlarni magzini chaqish uchun sizlarni boshlangich sinflarga qaytishga taklif etaman. Har birimiz boshlangich sinflarda qoshish va ayirish amallarini organgan edik. Kopchilik buni barmoqlari orqali bajargan. Chunki barmoqlar 10ta va raqamlarni qoshish va ayirishda qol keladi. Keyinchalik matematik evolutsiyamiz sonlar bilan qoshish va ayirish amallarini bajarish bosqichiga yetib keladi. Bu rivojlanish jarayoni yangi amallar bilan boyidi va endi bir xil raqamlarni bir necha marta qoshishni osonlashtirish uchun kopaytirish jadvalini organdik. Etibor bering, kopaytirish algoritmi qoshish algoritmining asosiga qurilgan. Rivojlanishimiz davom etib, endilikda qoldiqli bolish va shu kabi murakkabroq amallarga otamiz. Maktabni bitirish vaqtida esa juda murakkab amallarni ham bajara oladigan darajada bolamiz. Ana kordingizmi, hamma murakkab amallarning asosi qoshish va ayirishdan boshlanadi. U yogi esa fikrlash doirangiz kengligiga bogliq. Demak, dasturlashdagi asosiy masalalar matematik fikrlashga bog`liq.

Algoritmlashning asosiy shartlaridan biri bu – dasturning ishlash tezligi. Kod qanchalik optimal bolsa, dastur shuncha tez ishlaydi. Dastur tezligini pasaytiruvchi omillar bu – loop , yani takrorlanishlar. Sikl ichida sikl ochish yoki sikl ichida shart tekshirish dastur tezligini malum darajada pasaytiradi. Hayotiy misol keltiraman: 7ta 45ni bir biriga qoshing. Har birini alohida qoshib chiqish uchun vaqt talab etiladi. Yani 7 marta bir xil amalni bajarish kerak. Xuddi shuni kopaytirish amali orqali kamroq vaqt sarflab amalga oshirish mumkin. Har birimiz arifmetik progressiya haqida tushunchaga egamiz. Hadlari bir biridan malum d songa farq qiladigan sonli ketma-ketlik. Shuni nta hadi yigindisini toppish uchun n marta har safar yangi hadni topish va uni oldingi sonlar yigindisiga qoshish talab etiladi. Bu esa juda kop vaqt talab qiladi. Aynan shu muammo matematikada oddiy formula orqali hal etilgan. Bu muammoni hal etish formulasi esa albatta tafakkur mahsuli hisoblanadi. Siz ham yuqori darajali masalalarni yechishda ana shunday ixtirolar qilasiz yoki boshqa ixtirolardan foydalanasiz.


Dasturlashda algoritmlashning asosan 4 turi mavjud:
Saralash
Qidirish
Grafiklar
Stringlar
Ularning har biriga keyingi maqolalarimizda alohida toxtalib otishga harakat qilamiz. Hozir esa oddiy algoritmlaning kodga ogirilish jarayonini korib chiqamiz. Biz bu misollarni Ozbekistonda anchagina mashhur bolgan Java dasturlash tili negizida korib chiqamiz.
Misol: a sonini qiymatini b soniga, b sonini qiymatini a soniga ozlashtirish dasturini tuzing.
Misol uchun a = 2 , b = 7;
Dastur Java dasturlash tilida quyidagicha bo`ladi:
Algoritm so‘zi buyuk matematik Al-Xorazmiyning nomi bilan bog‘liq bo‘lib, u birinchi bo‘lib arab raqamlaridan foydalangan holda arifmetik amallarni bajarish qoidasini bayon etdi.
Har qanday qo‘yilgan masalani kompyuterda echish uchun oldin uning echish usulini tanlab, keyin uning algoritmini ishlab chiqish kerak bo‘ladi. Demak, hech bir masala yo‘qki uning echilish yo‘llarini bilmasdan va algoritmini tasavvur qilmasdan turib uni kompyuterda echib bo‘lmaydi.
2.Algoritm va uning xossalari
Elektron hisoblash mashinalarining vujudga kelishiga qadar algoritmga har xil ta’rif berib kelindi. Lekin ularning barchasi ma’no jihatdan bir-biriga juda yaqin bo‘lib, bu ta’rif hozirgi kunda quyidagicha talqin qilinadi.
Ta’rif. Algoritm deb, qo‘yilgan masalani echish uchun ma’lum qoidaga binoan bajariladigan amallarning chekli qadamlar ketma-ketligiga aytiladi.
Har qanday algoritm ma’lum ko‘rsatmalarga binoan bajariladi va bu ko‘rsatmalarga buyruq deyiladi.
Algoritm quyidagi muhim xossalarga ega:
Aniqlik va tushunarlilik - deganda algoritmda ijrochiga berilayotgan ko‘rsatmalar aniq mazmunda bo‘lishi tushuniladi.
Ommaviylik - deganda har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun ham o‘rinli bo‘lishi tushuniladi.
Natijaviylik - deganda algoritmda chekli qadamlardan so‘ng albatta natija bo‘lishi tushuniladi.
Diskretlik - deganda algoritmlarni chekli qadamlardan tashkil qilib bo‘laklash imkoniyati tushuniladi.
3.Algoritm turlari
Algoritmning uchta turi bor: chiziqli, tarmoqlanuvchi va takrorlanuvchi.
Chiziqli algoritm - deb hech qanday shartsiz faqat ketma-ket bajariladigan jarayonlarga aytiladi.
Tarmoqlanuvchi algoritm - deb ma’lum shartlarga muvofiq bajariladigan ko‘rsatmalardan tuzilgan algoritmga aytiladi.
Takrorlanuvchi algoritm - deb biron bir shart tekshirilishi yoki biron parametrning har xil qiymatlari asosida algoritmda takrorlanish yuz beradigan jarayonlarga aytiladi.
Algoritmlarni turli usullarda tasvirlash mumkin. Masalan: so‘z bilan ifodalash; formulalarda berish; blok-sxemalarda tasvirlash; dastur shaklida ifodalash va boshqalar.
Algoritmlarni blok-sxema ko‘rinishda tasvirlash qulay va tushunarli bo‘lgani uchun ko‘p ishlatiladi. Bunda algoritmdagi har bir ko‘rsatma o‘z shakliga ega. Masalan: parallelogramm ko‘rinishdagi belgi ma’lumotlarni kiritish va chiqarish; to‘g‘ri to‘rtburchak belgisi hisoblash jarayonini; romb belgisi shartlarning tekshirilishini bildiradi.
Hayotimizda algoritmlarni turli sohalarda ba’zan bilgan holda ba’zan esa bilmagan holda ishlatamiz. Algoritmlar faqat matematik xarakterga ega bo‘lmasdan ularni oddiy hayotiy turmushimizda ham ko‘p qo‘llaymiz. Masalan, ovqat tayyorlash, choy damlash, biror berilgan ishni bajarish va boshqa. Bu ishlarni bajarishda ma’lum bo‘lgan aniq ko‘rsatmalarni ketma ket bajaramiz. Agar bu ko‘rsatmalar aniq bir ketma ketlik tartibida bajarilmasa kerakli natijani olaolmaymiz. Misol tariqasida matematik xarakterga ega bo‘lmagan butelbrod tayyorlash algoritmini ko‘rib chiqaylik. Bunda boshlang‘ich berilganlar: non, kolbasa va pishloq. Natija: butelbrod. Butelbrod tayyorlash algoritmi:
1. non bo‘lagini kesib olish;
2. kolbasa va pishloq bo‘lagini kesib olish;
3. kolbasa va pishloq bo‘lagini non bo‘lagi orasiga qo‘yish.
Agar bu jarayonning ketma ketlik o‘rinlari almashsa yoki biror bir bosqich amalga oshirilmasa natija bo‘lmaydi.
Algoritmik tillar
Masalani echish algoritmi ishlab chiqilgandan so‘ng dastur tuziladi. Dastur - bu berilgan algoritmga asoslangan biror bir algoritmik tilda yozilgan ko‘rsatmalar, ya’ni buyruqlar yoki operatorlar to‘plamidir. Dasturlash - esa bu dastur tuzish jarayoni bo‘lib, u quyidagi bosqichlardan iboratdir:
1.dasturga bo‘lgan talablar;
2.qo‘yilgan masala algoritmini tanlash yoki ishlab chiqish;
3.dastur kodlarini (matnlari, buyruqlarni) yozish;
4.dasturni to‘g‘rilash va test o‘tkazish.
Hozirgi kunda juda ko‘plab algoritmik tillar mavjud. Ularga dasturlash tillari deb ataymiz. Algoritmik til - algoritmlarni bir xil va aniq yozish uchun ishlatiladigan belgilashlar va qoidalar tizimidir. Algoritmik til oddiy tilga yaqin bo‘lib u matematik belgilarni o‘z ichiga oladi. Tuzilgan algoritmlarni to‘g‘ridan-to‘g‘ri mashinaga berib bo‘lmaydi, shu sababli yozilgan algoritmni biror bir algoritmik tilga o‘tkazish zarur. Har qanday algoritmik til o‘z qo‘llanilish sohasiga ega. Masalan, muxandislik hisob ishlarini bajarishda Paskal, Beysik va Fortran. Iqtisod masalalarini echishda Paskal va Kobol. Mantiqiy dasturlash uchun Prolog va boshqalar. O‘quv jarayonlari uchun Beysik, Paskal va boshqalar.
Paskal, Fortran va Kobol tillari universal tillardan hisoblanadi. Assembler tili mashina tiliga ancha yaqin til bo‘lib o‘rta darajadagi tildir. Algoritmik til inson tillariga qancha yaqin bo‘lsa, u tilga yuqori darajali til deyiladi. Mashina tili esa eng pastki darajali tildir.
Masalalarni echish bosqichlari
Kompyuterda masalani echish bosqichlari quyidagilar:
1.Masalani qo‘yish va uning matematik modelini ishlab chiqish. Ushbu bosqichda boshlang‘ich malumotlar tarkibi aniqlanadi. Masalani qo‘yish odatda echiladigan masalaning asosiy xususiyatlarini og‘zaki tavsiflash bilan tugallanadi va so‘ngra, masala matematik modeli yoziladi.
2.Echish usulini tanlash. Masala matematik ifodalanib bo‘lgandan so‘ng uni echish usuli tanlanadi. Bunda izlanayotgan natijalarning boshlang‘ich ma’lumotlarga bog‘liqligini aniqlaydi. Hozirgi zamon hisoblash matematikasi fan va texnikaga oid turli masalalarni echish uchun ko‘plab sonli usullarga ega.
3.Masalani echish algoritmini ishlab chiqish. Bu bosqichda kompьyuterda masalani echish uchun bajariladigan amallar (buyruqlar) ketma-ketligi tavsiflanadi. Biz buni algoritmlash deb ataymiz.
4.Dasturlash. Bunda algoritm biror algoritmik tilga ko‘chiriladi.
5.Dasturni kiritish va xatolarini tuzatish.
6.Masalani bevosita kompьyuterda echish va natijalarni tahlil qilish. Bunda dasturda kerakli boshlang‘ich qiymatlar berilib kompьyuterda natija olinadi va tahlil qilinadi. Bu bosqichda agar kerak bo‘lsa algoritm va dastur modernizatsiya qilinishi ham mumkin. YAngi olingan ma’lumotlar asosida kerakli xulosalar ishlab chiqiladi. Bu ma’lumotlar qo‘yilgan masalani turlicha tahlil qilishga, murakkab jarayonlarni tushunishga, olamshumul yangiliklarning ochilishiga, yangi nazariyalarning, texnika mo‘‘jizalarining yaratilishiga xizmat qiladi. Umuman olganda «Model-algoritm-dastur» uchligi modellashtirishning intelektual mag‘zini tashkil etadi, bunday uchliksiz kompyuterda murakkab masalalarni echishda muvaffaqiyatga erishib bo‘lmaydi.
C esa o'z navbatida B va BCPL tillaridan kelib chiqqan. BCPL 1967 yilda Martin Richards tomonidan tuzilgan va operatsion sistemalarni yozish uchun mo'ljallangan edi. C tilini Dennis Ritchie B dan keltirib chiqardi va uni 1972 yili ilk bor Bell Laboratories da, DEC PDP-11 kompyuterida qo'lladi. 1983 yilda, C tili keng tarqalganligi sababli, uni standartlash harakati boshlandi. Buning uchun Amerika Milliy Standartlar Komiteti (ANSI) qoshida X3J11 tehnik komitet tuzildi. 1989 yilda ushbu standart qabul qilindi. Standartni dunyo bo'yicha keng tarqatish maqsadida 1990 yilda ANSI va Dunyo Standartlar Tashkiloti (ISO) hamkorlikda C ning ANSI/ISO 9899:1990 standartini qabul qilishdi. Shu sababli C da yozilgan dasturlar kam miqdordagi o'zgarishlar yoki umuman o'zgarishlarsiz juda ko'p kompyuter platformalarida ishlaydi. C++ 1980 yillar boshida Bjarne Stroustrup tomonidan C ga asoslangan tarzda tuzildi. C++ juda ko'p qo'shimchalarni o'z ichiga olgan, lekin eng asosiysi u ob'ektlar bilan dasturlashga imkon beradi. Dasturlarni tez va sifatli yozish hozirgi kunda katta ahamiyat kasb etmoda. Buni ta'minlash uchun ob'ektli dasturlash g'oyasi ilgari surildi. Huddi 70-chi yillar boshida strukturali dasturlash kabi, dasturlarni hayotdagi jismlarni modellashtiruvchi ob'ektlat orqali tuzish dasturlash sohasida inqilob qildi.C++ dan tashqari boshqa ko'p ob'ektli dasturlshga yo'naltirilgan tillar paydo bo'ldi. Shulardan eng ko'zga tashlanadigani Xerox ning Palo Altoda joylashgan ilmiy-qidiruv markazida (PARC) tuzilgan Smalltalk dasturlash tilidir. Smalltalk da hamma narsa ob'ektlarga asoslangan. C++ esa gibrid tildir. Unda C ga o'hshab strukturali dasturlash yoki yangicha, ob'ektlar bilan dasturlash mumkin.
C++ algoritmik tilining alifbosi quyidagilardan iborat:
1. katta va kichik lotin harflari;
2. 0 dan 9 gacha raqamlari;
3. maxsus belgilar (+,-,*,/,=,>,<,{,},[,],') ni o'z ichiga oladi.
C++ tilida so'z deb bir nechta belgilar ketma – ketligi tushuniladi. Xizmatchi so'z deb C++ tilidagi standart nom tushuniladi. Bu nom maxsus ma'noni anglatadi va uni ma'lumotlarga berib bo'lmaydi. Masalan: int, float, for, while va hokazo.
C++ tilida ma'lumotlarning elementlari bo'lib o'zgaruvchilar, o'zgarmaslar, izohlar xizmat qiladi.
O'zgaruvchi. Xotiraning nomlangan qismi bolib, o'zida ma'lum bir toifadagi qiymatlarni saqlaydi. O'zgaruvchining nomi va qiymati bo'ladi. O'zgaruvchining nomi orqali qiymat saqlanayotgan xotira qismiga murojaat qilinadi. Dastur ishlashi jarayonida o'zgaruvchining qiymatini o'zgartirish mumkin. Har qanday o'zgaruvchini ishlatishdan oldin, uni e'lon qilish lozim.
Quyida butun sonlardan foydalanish uchun b, haqiqiy sonlardan foydalanish uchun h o'zgaruvchisi e'lon qilingan:
int b;
float h;
O'zgarmaslar (const)
Hisoblash jarayonida qiymatini o'zgartirmaydigan kattaliklarga aytiladi.
float const g = 9.81;
Izohlar. Dasturning ma'lum qismini tavsiflash uchun ishlatiladi va bu qatorda hech qanday amal bajarilmaydi, ya'ni dasturning biror qismini yaxshiroq tushuntirish uchun xizmat qiladi. Izoh "/*" va "*/" simvollari orasida beriladi.
/* Bu yerga izoh yoziladi. */
Bundan tashqari bir satrli izohlardan ham foydalanish mumkin. Buning uchun izoh boshiga "//" belgisi qo'yiladi.
Operator. Tilning yakunlangan jumlasi hisoblanadi va ma'lumolar taxlilining tugallangan bosqichini ifodalaydi. Operatorlar nuqtali vergul “;” bilan ajratiladi. Ya'ni “;” operatorning tugallanganligini bildiradi. C++ da operatorlar progammada keltirilgan ketma - ketlikda bajariladi.
Identifikator. Dasturchi tomonidan dastur elementlari (funksiya, o'zgaruvchilar, o'zgarmaslar …) uchun ixtiyoriy tanlangan nom. Identifikator tanlaganda quyidagilarga ahamiyat berish kerak:
Identifikator lotin harflaridan boshlanishi shart;
Ikkinchi simvoldan boshlab raqamlardan foydalanish mumkin;
C++ da katta kichik harflar farq qiladi. Ya'ni quyidagilarning har biri alohida
identifikator hisoblanadi: KATTA, katta, KaTTa, kAttA, Katta, KattA, ...
Probel C++ da so'zlarni ajratish uchun ishlatilad i. Shuning uchun
identifikatorda probeldan foydalanib bo'lmaydi;
Xizmatchi (int, float, for, while kabi) so'zlardan identifikator sifatida
foydalanib bo'lmaydi;
C++ tilining kalit so'zlariga quyidagilar kiradi:
asm, auto, break, case, catch, char, class, const, continue, default, delete, do, double,else, enum, explicit, extern, float, for, friend, goto, if, inline, int, long, mutable, new, operator, private, protected, public, register, return, short, signed, sizeof, static, struct, swith, template, this, throw, try, typedef, typename, union, unsigned, virtual, void, volatile, while.
Protsessor registrlarini belgilash uchun quyidagi so'zlar ishlariladi:
_AH, _AL, _AX, _EAX, _BH, _BL, _BX, _EBX, _CL, _CH, _CX, _ECX, _DH,
_DL, _DX, _EDX, _CS, _ESP, _EBP, _FS, _GS, _DI, _EDI, _SI, _ESI, _BP, _SP,_DS, _ES, _SS, _FLAGS.
Eslatma. Identifikator tanlashda birinchi belgi sifatida "_" belgisidan foydalanmaslik tavsiya etiladi.
C++ da dastur funksiya yoki funksiyalardan tashkil topadi. Agar dastur bir nechta funksiyadan iborat bo'lsa, bir funksiyaning nomi main bo'lishi shart.
Dastur aynan main funksiyasining birinchi operatoridan boshlab bajariladi.
Funksiyaning aniqlashishi quyidagicha bo'ladi:
qaytariluvchi_qiymat_toifas i funksiya_nomi ( [parametrlar] )
{
funksiya tanasini tashkil qiluvchi operatorlar
}
Qoida bo'yicha funksiya qandaydir bir qiymatni hisoblash uchun ishlatiladi. Shuning uchun funksiya nomi oldidan, funksiya qaytaradigan qiymat toifasi yoziladi. Agar funksiya hech qanday qiymat qaytarmaydigan bo'lsa, void toifasi yoziladi. Agar funksiya qaytaradigan qiymat toifasi yozilmagan bo'lsa, int ( butun ) toifali qiymat qaytariladi deb qabul qilinadi.
Funksiyalar bilan keyingi mavzularda batafsil tanishamiz.
C++da oddiy matnni ekranga chiqaruvchi dasturni ko'rib chiqamiz
Misol: Matnni ekranga chiqaruvchi dastur
#include
int main ()
{
cout<<"ekranga ma'lumot chiqarish uchun";
system ("Pause");
return 0;
}
Har bir satrni o'rganib chiqamiz:
// - satrlar izoh hisoblanadi. Malakali dasturchilar har qanday dastur
muallif, dasturning tuzilish sanasi va maqsadini ifodalovchi izoh bilan boshlanishini maslahat berishadi.
#include - satrlar bo'sh satrlar hisoblanadi. Bosh satrlar dastur qismlarini bir - biridan ajratib qo'yish uchun ishlatiladi. Dastur qismlarining bir - biridan ajralib turishi, dastur o'qilishini osonlashtiradi.
inputoutput - satrda, klaviaturadan ma'lumotlarni kiritish va ekranga chiqarish uchun sarlavha fayli dasturga qo'shilyapti. Bu satr klaviatura orqali ma'lumot kirituvchi va ekranga nimadir chiqaruvchi har qanday dasturda bo'lishi shart. Aks xolda xato sodir bo'ladi.
Agar sizning kompilyatoringiz eski bo'lsa, unda yozishingiz lozim bo'ladi.
"// ekranga ma'lumot chiqarish uchun" yozuvi bir satrli izoh hisoblanadi.
int main() - satrda butun toifadagi qiymat qaytaruvchi main funksiyasi berilgan. int xizmatchi so'zi butun toifadagi ma'lumotlarni e'lon qilishi uchun ishlatiladi.
{ - satrdagi ochuvchi figurali { funksiya tanasining boshlanganini bildiradi.
} - satrdagi yopuvchi figurali } funksiya tanasining tugaganini bildiradi.
cout - satrda cout << orqali ma'lumotlar ekranga chiqariladi. Qo'shtirnoq ( "_" )
orasida yozilgan ma'lumotlar satr deyiladi. Qo'shtirnoq orasida nima yozilsa, hech qanday o'zgarishsiz ekranga chiqariladi.

; - satr oxiridagi nuqtali vergul ( ; ) cout operatori tugallanganligini bildiradi. ;


operatorlarni bir - biridan ajratish uchun xizmat qiladi. Ya'ni operator tugallanganligini bildiradi. ; - satrdagi kabi preprotsessor amalidan keyin ; qo'yilmaydi. satrdagi return xizmatchi so'zi orqali funksiya 0 qiymat qaytaradi va dastur muvoffaqiyatli yakunlanadi.
O'zgaruvchilarni e'lon qilish. Dasturda ishlatilgan barcha o'zgaruvchilarni qaysi toifaga tegishli ekanligini e'lon qilish kerak. Ma'lulotlarni e'lon qilishning umumiy ko'rinishi quyidagicha: toifa_nomi o'zgaruvchi;
Agar bir nechta o'zgaruvchi bir toifaga mansub bo'lsa, ularni vergul bilan ajratib berish mumkin.
Butun sonlarni ifodalash uchun int va haqiqiy sonlarni ifodalash uchun float xizmatchi so'zlaridan foydalaniladi. Bu ma'ruzada shu 2 tasini bilish bizga kifoya qiladi. Keyingi mavzuda butun va haqiqiy sonlar haqida batafsil gaplashamiz.
int x,y; // butun toifadagi o'zgaruvchilarni e'lon qilish
float a,b,c; // haqiaiy toifadagi o'zgaruvchilar e'lon qilish
Kiritish va chiqarish operatorlari. Dasturda klaviatura orqali ma'lumot kiritish va ekranga chiqarish uchun preprotsessor direktivasini, ya'ni #include ni dasturga qo'shish shart. Ma'lumotlarni kiritish cin >>, ma'lumotlarni chiqarish cout << operatori orqali amalga oshiriladi. cin >> a;
Bu operator bajarilganda ekranda kursor paydo bo'ladi. Kerakli ma'lumot klaviatura orqali kiritilgandan so'ng Enter tugmasi bosiladi. cout orqali ekranga ixtiyoriy ma'lumotni chiqarish mumkin. Satrli ma'lumotlarni ekranga chiqarish uchun, ularni qo'shtirnoq orasida yozish kerak.
Quyidagi a va b sonlarining yig'indisini chiqaruvchi dastur berilgan:
#include
int main ()
{
int a,b,c;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
c=a+b;
cout<system ("Pause");
return 0;
}

Ba'zi matematik funksiyalar: Matemetik funksiyalardan dasturda foydalanish uchun math.h faylini progarmmaga qo'shish kerak.


#include
Funksiyaning C++ da ifodalanishi Funksiyaning matematik ifodalanishi
abs(x) - butun sonlar uchun /x/
fabs(x) - haqiqiy sonlar uchun
Pow(x,y)-xy
sqrt(X)-ildiz

Matematik funksiyalardan foydalanish kerak



#include
#include
int main ()
{
float a;
cout<<"a=";cin>>a;
a=sqrt(a);
cout<system ("Pause");
return 0;
Download 32,49 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish