Ташкент на ушах: одинокая мамаша подняла куш за 3 неделиРазыгрываем
|
RoboForex ALGORITM TURLARI, XOSSALARI, BERILISH USULLARI. TURLI SANOQ SISTEMALARINING TARIXDA QO'LLANISHI VA ULARNING ISHLASH ASOSLARINI AYTIB BERING. PASCAL DASTURLASH TILI. PASCALDA CHIZIQLI DASTUR. PASCALDA TARMOQLANUVCHI DASTURLAR. PASCALDA QISM DASTURLAR. SATRIY KATTALIKLAR BILAN ISHLASH. Har bir inson xayotida sodda yoki murakkab bo’lgan ko’plab masalalar uchrab turadi. Bu masalalarni ma’lum qoida va instruktsiyalarga asoslangan xolda echish mumkin. Ko’pgina masalalarni echishni inson texnik qurilmalar-avtomatlar, exm, robotlarga topshirishi mumkin.Ikkala xolda ham qo’yilgan masalani echish uchun, avval uning algoritmini tuzish zarur.A l g o r i t m deb, qo’yilgan masalani echishga karatilgan amallar ketma-ketligini bajarish uchun tushunarli va aniq ko’rsatmalarni berishga aytiladi. Algoritm so’zi, arifmetik amallarni bajarish qoidalarini bayon kilgan, IX asrning buyuk matematigi Al-Xorazmiy nomining lotincha shaklidan kelib chikkan. Dastavval algoritmlar deganda ko’p xonali sonlar bilan turt arifmetik amal bajariladigan qoidalar tushinilar edi. Keyinchalik bu tushuncha qo’yilgan masalani echishga olib keladigan qoida va amallar ketma-ketligini belgilash uchun qo’llanila boshladi. Algoritm quyidagi xossalarga ega : uzluklilik, aniqlik, natijaviylik va ommaviylik.Uzluklilik : Dastlabki berilgan ma’lumotlarni natijaga aylantirish jarayoni uzluksiz ravishda amalga oshiriladiki bunda vaqtning har bir keyingi keladigan uzluksiz ravishda amalga oshiriladiki bunda vaqtning har bir keyingi keladigan bo’lgan mikdorlar qiymatidan ma’lum bir qoidalar buyicha olinadi. Aniqlik : Algoritmning har bir qoidasi aniq va bir qiymatli bo’lishi zarurki bunda vaqtning biror daqiqasida olingan mikdorlar qiymati vaqtning shundan oldingi daqiqasida olingan mikdorlar qiymati bilan bir qiymatli aniqlangan bo’ladi.Natijaviylik . Algoritm masalaning echilishiga chekli soniga qadamlar ichida olib kelishi yoki masalani echib bo’lmaydi degan xabar bilan bilan tugashi kerak.Ommaviylik . Masalaning echish algoritmi shunday yaratilishi kerakki uni faqat boshlangich ma’lumotlar bilan farqlanadigan masalalarni echish uchun ham qo’llanilishi kerak. Bunda boshlangich ma’lumotlar algoritmni qo’llash soxasi deb ataladigan birorta soxadan olinadi. Algoritmni ishlab chiqishda uni bir necha xil usul bilan ifodalab bersa bo’ladi. Shulardan uchtasi keng tarkalgan bo’lar : 1. Algoritmni oddiy tilda tavsiflash 2. Algoritmni tizim ko’rinishida ifodalash 3. Algoritmni maxsus (algoritmik) tilda yozish. 2.1 Algoritmni oddiy tilda tavsiflash. Algoritmlarni ifodalashning eng keng tarkalgan shakli bu oddiy tilda so’zlar bilan bayon qilishdir. Bu nafaqat xisoblash algoritmlarda balki xayotiy turmishdagi algoritmlarga ham tegishlidir. Masalan biror bir taom yoki kandolat maxsulotini tayyorlashning retsepti ham oddiy tilda tavsiflangan algoritmdir. Shaharlararo telefon avtomat orqali aloka o’rnatishning o’ziga xos algoritmidan foydalanasiz. Dukondan yangi kir yuvish mashinasi yoki magnitafon sotib olinsa ishni foydalanishning algoritmi bilan tanishishdan boshlaymiz. Masalani EXM da echishda ham ko’pincha matematika tilini ham uz ichiga olgan tabiiy tildan foydalanish mumkin. Algoritmning bunday tildagi yozuvi izlanayotgan natijaga olib keladigan amallar ketma- ketligi ko’rinishida bo’lib odam tomonidan bir ma’noli idrok etilishi kerak. So’zlar bilan ifodalangan har bir amal algoritmning qadami deb ataladi. Qadamlar tartib nomeriga ega bo’ladi. Algoritm ketma- ket qadam baqadam bajarilishi kerak. Agar algoritm matnida N-sonli qadamga utilsin deb yozilgan bo’lsa bu algoritmning bajarilishi ko’rsatilgan N- nchi qadamdan davom etishini bildiradi.Algoritmni oddiy tilda ifodalash qulay bo’lgani bilan murakkab algoritmlarda kurgazmalikni yaxshi ta’minlay olmaydi. Bundan tashqari algoritmning so’zdagi tavsifi xisoblash mashinasiga kiritish uchun yaramaydi. Buning uchun algoritmning mashina tilida shunday bayon qilish kerakki, masalan EXM da echish jarayonida bu algoritm ishni avtomatik boshqarib turadigan bulsin. Mashina tushunadigan shaklda yozilgan algoritm masalani echish dasturidir. Algoritmni oddiy tilda yozishda turt xil amaldan ; xisoblash, N- qadamga o’tish, shartni tekshirish, xisoblashning oxiri, shuningdek kiritish va chiqarish amallaridan foydalanilgan ma’kul. Bo’lar ichida eng ko’p foydalaniladigan xisoblash amalidir. 3 Algoritm tizim ko’rinishda ifodalash.Nisbatan murakkab masalalarni echishda algoritmdan muayyan EXM tilidagi dasturga o’tish juda kiyin Bunday bevosita o’tishda algoritmning aloxida qismlari orasidagi bog’lanish yuqoladi, algoritm tarkibining asosiy va muxim bo’lmagan qismlarini farqlash kiyin bo’lib qoladi. Bunday sharoitda keyinchalik aniqlash va to’g’rilash ancha vaqt talab qiladigan xatolarga osongina yul qo’yish mumkin. Odatda algoritm bir necha marta ishlab chiqiladi, ba’zan xatolarni to’g’rilash algoritm tarkibini aniqlashtirish va tekshirish uchun bir necha marta orqaga qaytishga to’g’ri keladi. Algoritm ishlab chiqishning birinchi bochqichida algoritmni yozishning eng qulay usuli algoritmni tuzim ko’rinishida ifodalashdir. Algoritm tuzimi bu berilgan algoritmni amalga oshirishdagi amallar ketma ketligining oddiy tildagi tasvirlash elementlari bilan tuldirilgan grafik tasviridir . Algoritmni har bir qadami tizimida biror bir geometrik shakl blok bilan aks etiriladi. Bunda bajariladigan amallar turiga ko’ra turlicha bo’lgan bloklarga GOST buyicha tasvirlanadigan turli xil geometrik shakllar to’g’ri turtburchak, romb, parallelogramm, doira, ovval va xakazolar mos keladi.Algoritm tuzimlarini ko’rish qoidalari GOST 19.002 80 da (xalkaro standart ISO 2636 –73 ga mos keladi.) kat’iy belgilab qo’yilgan . GOST 19.003-80 (ISO 1028-73 ga mos ) algoritm va dasturlar tuzimlarida qo’llaniladigan simvollar ro’yxatini, bu simvollarning shakli va o’lchamlarining shuningdek ular bilan tasvirlanadigan funktsiyalarni (amallarni) belgilaydi. Quyidagi jadvalda algoritmlar tuzimini ifodalashda ko’p qo’llaniladigan blok (simvol) lari keltirilgan va ularga tushintirishlar berilgan.Tuzim blok (simvol) lari ichida xisoblashlarning tegishli bochqichlari ko’rsatiladi. Shu erda har bir simval batafsil tushintiriladi. Har bir simvol (blok) uz raqamiga ega bo’ladi. U tepadagi chap burchakka chizikni uzib yozib qo’yiladi. Tuzimdagi grafik simvollar xisoblash jarayonining rivojlanish yo’nalishining ko’rsatuvchi chiziklar bilan birlashtiriladi. Ba’zan chiziklar oldida ushbu yo’nalish qanday sharoitda tanlanganligi yozib qo’yiladi . Axborat okimining asosiy yo’nalishi tepadan pastga va chap dan o’ngga ketadi. Bu xollarda chiziklarni ko’rsatmasi ham bo’ladi. Boshqa xollarda albatta chiziklarni qo’llash majburiydir. Blokka nisbatan okim chizigi (potok linii ) kiruvchi yoki chikuvchi bo’lishi mumkin. Blok uchun kiruvchi chiziklar soni chegaralanmagan. Chikuvchi chizik esa mantiqiy bloklardan boshqa xollarda faqat bitta bo’ladi. Mantiqiy bloklar ikki va undan ortik okim chizigiga ega bo’ladi. Ulardan har biri mantiqiy shart tekshirishning mumkin bo’lgan natijalarga mos keladi. O’zaro kesiladigan chiziklar soni ko’p bo’lganda chiziklar soni xaddan tashqari ko’p bo’lsa va yo’nalishlari ko’p o’zgaraversa tuzimdagi kurgazmalik yuqoladi. Bunday xollarda axborat okimi chizigi uzishga yul qo’yiladi, uzilgan chizik uchlariga birlashtiruvchi belgisi qo’yiladi.Agar uzilish bitta saxifa ichida bo’lsa O belgisi ishlatilib ichiga ikki tarafga ham bir xil harf raqam belgisi qo’yiladi. Agar tuzim bir necha saxifaga joylansa bir soxifadan boshqasiga o’tish “ saxifalararo bog’lanish” belgisi ishlatiladi. Bunda axborat uzatilayotgan blokli saxifaga kaysi saxifa va blokka borishi yoziladi, qabul qilinayotgan saxifada esa kaysi saxifa va blokldan kelishi yoziladi. qabul qilinayotgan saxifada esa kaysi saxifa va blokldan kelishi yoziladi. Algoritm tizimlarini ko’rishda quyidagi qoidalarga rioya qilish kerak. Parallel chiziklar orasidagi masofa 3 mm dan kam bo’lmasligi boshqa simvollar orasidagi masofa 5 mm dan kam bo’lmasligi kerak. Bloklarda quyidagi o’lchamlar qabulqilingan : a 10,15,20, v 1,5 a. Agar tuzim kattalashtiriladigan bo’lsa a ni 5 ga karrali kilib oshiriladi. Bu talablar asosan 10- bochqichda dasturga yuriknoma yozishda rioya qilinadi.Algoritmni mayda mayda bo’laklarga ajratishda xech qanday chegaralanishlar qo’yilmagan, bu dastur tuzuvchini o’ziga bog’liq. Lekin juda ham umumiy tuzilgan tizim kam axborat berib noqulaylik tug’dirsa juda ham maydalashtirib yuborilgani kurgazmallikka putur etkazadi. Shuning uchun murakkab va katta algoritmlarda har xil darajadagi bir necha tuzim ishlab chiqiladi.Misol : Y= (A * X+3)/(B * X - 4) 5 Algoritmning asosiy turlari.Masala echimining algoritmi ishlab chikilayotgan davrda asosan uch xil turdagi algoritmlardan foydalanib murakkab ko’rinishdagi algoritmlar yaratiladi. Algoritmning asosiy turlariga chizikli, tarmoqlanadigan va takrorlanadigan ko’rinishlari kiradi.Chizikli turdagi algoritmlarda bloklar biri ketidan boshqasi joylashgan bo’lib berilgan tartibda bajariladi. Bunday bajarilish tartibini tabiiy tartib deb ham yuritiladi. Yuqorida kurib utilgan misolimiz chizikli turdagi algoritmga misol bo’la oladi. Amalda hamma masalalar ham chizikli turdagi algoritmga keltirilib echib bo’lmaydi. Ko’p xollarda biron bir oraliq natijasiga bog’liq ravishda xisoblashlar yoki u yoki boshqa ifodaga ko’ra amalga oshirilishi mumkin ya’ni birorta mantiqiy shartni bajarilishiga bog’liq xolda xisoblashlar jarayoni u yoki bu tarmoq buyicha amalga oshirilishi mumkin. Bunday tuzilishdagi xisoblash jarayonini algoritmi tarmoqlanuvchi turdagi algoritm deb ataladi.Ko’pgina xollarda masalalarni echimini topishda bitta matematik bog’lanishga ko’ra o’nga kiruvchi kattaliklarni turli qiymatlariga mos keladigan qiymatlarni ko’p martalab xisoblashga to’g’ri keladi. Xisoblash jarayoning bunday ko’p martalab takrorlanadigan qismiga takrorlanishlar deb ataladi.Takrorlanishlarni uz ichiga olgan algoritmlar takrorlanuvchi turdagi algoritmlar deb ataladi.Algoritmning uch turini oddiy misollarda kurib chikaylik.Chizikli algoritmga misollar.1-misol.“x” ning har qanday qiymati uchun y=(Ax+V) (Sx-D) formula buyicha “y” ning qiymatlari xisoblansin. Bu masalani echish uchun quyidagi amallar ketma-ketligini, ya’ni shu masalaning algoritmini tuzamiz.1. A ni “x”ga ko’paytirib, natija RI bilan belgilansin. 2. RI ni V ga qo’shib, natija R2 bilan belgilansin. 3. S ni “x” ga ko’paytirib, natija R3 bilan belgilansin. 4. R3 dan D ni ayirib, natija R4 bilan belgilansin. 5. R2 ni R4 ga ko’paytirib, natija “y” ning qiymati deb xisoblansin. Bu algoritmni tuzishda ishtirok etgan so’zlarni faqat uzimiz tushinamiz, uni shu xolda mashinaga kiritib bo’lmaydi. EXM bu masalani bajara olishi uchun xolda mashinaga kiritib bo’lmaydi. EXM bu masalani bajara olishi uchun yuqoridagi algoritmni EXM ishlashi uchun tushunarli bo’lgan tilda yozish kerak. EXM da ishlash uchun tushunarli tarzda yozilgan algoritm - dasturlash tili yoki algoritmik til deb ataladi. Xozirgi kunda ko’pgina turli algoritmik tillar mavjud. Bo’lardan eng ko’p qo’llaniladigani “FORTRAN“, “ALGOL“, “PASKAL“, “BEYSIK“, “ADA“, “SI“, “LOGO“,” LISP“ lardir. Demak algoritm – qurilayotgan masalani echishga olib keladigan buyruqlar yoki komandalar ketma-ketligini uzimiz tushinadigan tilda aniq va to’g’ri tartibda tuzishdan iborat ekan. 2-misol. U=5x2 -(16x-4).(Bu misolning algoritmini studentlar mustaqil tuzsin).Tarmoqlangan algoritmga misollar.Agar algoritm buyruqlari tarkibida tarmoqlanish komandasi uchrasa bunday algoritm tarmoqlangan algoritm deyiladi.Tarmoqlanish komandasini yozilishi quyidagicha: Agar bo’lsa U xolda seriya 1 Aksxolda seriya2 Xal buldiAgar shart bajarilsa u xolda seriya1 bajariladi,aks xolda seriya2Bajariladi.Shartlarni ezishda munosabat belgilaridan foydalaniladi: <,<=,>,>=,=,<>.-misol. Ikkita “m“ va “p“ natural sonlari uchun eng katta umumiy buluvchi topilsin. Bu masalani echishning, m > p bo’lsa, m va p sonlarning eng kattaumumiy buluvchisi ( t-p ) va p sonlarnikidek bo’lishiga asoslangan algoritmini tuzamiz:1. Agar sonlar teng bo’lsa, ulardan istaganini javob o’rnida olinsin, aks xolda algoritmni bajarish davom ettirilsin .2. Sonlardan kattasi aniqlansin.3. Katta son, kattasining kichigidan farqi bilan almashtirilsin.4. Algoritm boshidan boshlansin.Tsiklik algoritmga misollar.Algoritm buyruqlari ichida takrorlash buyrugi kelsa bunday algoritm tsiklik algoritm deyiladi.Tsiklik algoritmlarni ezishdaParametrli takrorlash buyrugidan foydalaniladi.Bu buyruqni yozilishi quyidagicha: X=A dan V gacha N qadamTsB Seriyalar KTsBuerda takrorlash buyrugi ko’p marta bajariladi to X ni qiymati V dan oshgo’nga kadar.Har safar A ning qiymatiga N ni qiymati qo’shilib xisoblanadi.Agar N=+1 bo’lsa qadam yozilmaydi,boshqa xollarda qadam yoziladi.Agar N ning qiymati manfiy bo’lsa,tsikl kamayuvchi bo’ladi.1-misol. X ning –25,-24,...........24,25 qiymatlari uchun u=2*x2-1 funktsiyaning qiymatlar jadvalini tuzish algoritmini yozing.Algoritm: 1. X ga – 25 qiymat berilsin.1. U=2*x2-1 qiymat xisoblansin.2. U ning qiymati jadvalga yozilsin.3. X ning qiymati 1 ga orttirilsin ( qo’shilsin).4. Agar x 25 bo’lsa, u xolda 2punktga utilsin, aks xolda navbatdagi ko’rsatmaga utilsin.5. Jarayon to’xtatilsin . Algoritmning asosiy xossalari Algoritmning 5 ta asosiy xossasi bor. Diskretlilik (Cheklilik). Bu xossaning mazmuni algoritmlarni doimo chekli qadamlardan iborat qilib bo‘laklash imkoniyati mavjudligida. Ya’ni uni chekli sondagi oddiy ko‘rsatmalar ketma-ketligi shaklida ifodalash mumkin. Agar kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qo‘llay olmasak, uni algoritm deb bo‘lmaydi. Tushunarlilik. Biz kundalik hayotimizda berilgan algoritmlar bilan ishlayotgan elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik va mexanik qurilmalarni kuzatamiz. Ijrochiga tavsiya etilayotgan ko‘rsatmalar uning uchun tushinarli mazmunda bo‘lishi shart, aks holda, ijrochi oddiygina amalni ham bajara olmaydi. Bundan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin. Har bir ijrochining bajarishi mumkin bo‘lgan ko‘rsatmalar yoki buyruqlar majmuasi mavjud, u ijrochining ko‘rsatmalar tizimi (sistemasi) deyiladi. Demak, ijrochi uchun berilayotgan har bir ko‘rsatma ijrochining ko‘rsatmalar tizimiga mansub bo‘lishi lozim. Ko‘rsatmalarni ijrochining ko‘rsatmalar tizimiga tegishli bo‘ladigan qilib ifodalay olishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a’lochi o‘quvchisi "son kvadratga oshirilsin" degan ko‘rsatmani tushunmasligi natijasida bajara olmaydi, lekin "son o‘zini o‘ziga ko‘paytirilsin" shaklidagi ko‘rsatmani bemalol bajaradi, chunki u ko‘rsatma mazmunidan ko‘paytirish amalini bajarish kerakligini anglaydi. Aniqlik. Ijrochiga berilayotgan ko‘rsatmalar aniq va mazmunli bo‘lishi zarur. Chunki ko‘rsatmadagi noaniqliklar mo‘ljaldagi maqsadga erishishga olib kelmaydi. Inson uchun tushunarli bo‘lgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin", "1-2 qoshiq solinsin", "tenglamalardan biri echilsin" kabi noaniq ko‘rsatmalar kompyuterni qiyin ahvolga solib qo‘yadi. Bundan tashqari, ko‘rsatmalarning qaysi ketma-ketlikda bajarilishi ham muhim ahamiyatga ega. Demak, ko‘rsatmalar aniq berilishi va faqat algoritmda ko‘rsatilgan tartibda bajarilishi shart ekan. Ommaviylik. Har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun ham o‘rinli bo‘lishi kerak. Ya’ni masaladagi boshlang‘ich ma’lumotlar qanday bo‘lishidan qat’i nazar algoritm shu xildagi har qanday masalani yechishga yaroqli bo‘lishi kerak. Masalan, ikki oddiy kasrning umumiy maxrajini topish algoritmi, kasrlarni turlicha o‘zgartirib bersangiz ham ularning umumiy maxrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish algoritmi, uchburchakning qanday bo‘lishidan qat’i nazar, uning yuzasini hisoblab beraveradi. Natijaviylik. Har bir algoritm chekli sondagi qadamlardan so‘ng, albatta, natija berishi shart. Bajariladigan amallar ko‘p bo‘lsa ham baribir natijaga olib kelishi kerak. Chekli qadamdan so‘ng qo‘yilgan masalae chimga ega emasligini aniqlash ham natija hisoblanadi. Agar ko‘rilayotgan jarayon cheksiz davom etib natija bermasa, uni algoritm deb atay olmaymiz. 4. Algoritmni tasvirlash usullari Yuqorida ko‘rilgan misollarda, odatda, biz masalani yechish algoritmini so‘zlar va matematik formulalar orqali ifodaladik. Lekin algoritm boshqa ko‘rinishlarda ham berilishi mumkin. Biz endi algoritmlarning eng ko‘p uchraydigan turlari bilan tanishamiz. Algoritmning so‘zlar orqali ifodalanishi. Bu usulda ijrochi uchun beriladigan har bir ko‘rsatma jumlalar, so‘zlar orqali buyruq shaklida beriladi. Algoritmning formulalar bilan ifodalanish usulidan matematika, fizika, kimyo kabi aniq fanlardagi formulalarni o‘rganishda foydalaniladi. Bu usul ba’zan analitik ifodalash deyiladi. Algoritmlarning maxsus geometrik shakllar yordamida ifodalanishida masala yechish jarayoni aniq va ravon tasvirlanadi va bu ko‘rinish blok-sxema deyiladi. Algoritmning jadval ko‘rinishda berilishi. Algoritmning bunday ifodasidan ham ko‘p foydalanamiz. Masalan, maktabda qo‘llanib kelinayotgan to‘rt xonali matematik jadvallar yoki turli xil lotereyalar jadvali. Funksiyalarning grafiklarini chizishda ham algoritmlarning qiymatlari jadvali ko‘rinishlaridan foydalanamiz. Bu kabi jadvallardan foydalanish algoritmlari sodda bo‘lgani tufayli ularni o‘zlashtirib olish oson. Yuqorida ko‘rilgan algoritmlarni tasvirlash usullarining asosiy maqsadi, qo‘yilgan masalani yechish uchun zarur bo‘lgan amallar ketma-ketligining eng qulay holatini aniqlash va shu bilan inson tomonidan dastur yozishni yanada osonlashtirishdan iborat. Aslida, dastur ham algoritmning boshqa bir ko‘rinishi bo‘lib, u insonning kompyuter bilan muloqotini qulayroq amalga oshirish uchun mo‘ljallangan. Blok-sxemalarni tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat: Figura shakli Vazifasi oval, algoritmning boshlanishi yoki tugallanishini belgilaydi parallelogramm, ma’lumotlarni kiritish yoki chop etishni belgilaydi to‘g‘ri to‘rtburchak, amal bajarish jarayonini belgilaydi romb, shart bajarilishi tekshirilishini belgilaydi yordamchi algoritmga murojaatni belgilaydi oltiburchak, takrorlash operatorini ifodalashni belgilaydi strelka, amallar bajarilish ketma-ketligini aniqlaydi => (n) so‘zlar orqali ifodalangan algoritmda n - chi amalga o‘tishni ko‘rsatadi Blok-sxemalar bilan ishlashni yaxshi o‘zlashtirib olish zarur, chunki bu usul algoritmlarni ifodalashning eng qulay usullaridan biri bo‘lib, dastur tuzishni osonlashtiradi, dasturlash qobiliyatini mustahkamlaydi. Algoritmik tillarda blok - sxemaning asosiy strukturalariga maxsus operatorlar mos keladi. Shuni aytish kerakni, blok-sxemalardagi yozuvlar odatdagi yozuvlardan katta farq qilmaydi. Masalan, misol sifatida 1.2 punktda keltirilgan ax2+bx+c=0 kvadrat tenglamaning haqiqiy echimlarini hisoblash uchun quyidagi amallar ketma-ketligi zarur bo‘ladi: berilganlarni kiritish (a, b, c); D=b2-4ac diskriminantni hisoblash; agar D>0 bo‘lsa X12 = (−b± D)/ 2*( a); aks holda, D<0 bo‘lsa haqiqiy echimi yo‘q.Bu amallar ketma-ketligiga mos algoritm 1.3-rasmda blok-sxema ko‘rinishida keltirilgan. Turli sanoq sistemalari tarixda qo`llanishi va ularning asoslari SANOQ SISTEMALARI HAQIDA MA’LUMOT Barcha mavjud tillar kabi sonlar tili ham mavjud bo'lib, u ham o'z alifbosiga ega. Maskur alifbo hozir jahonda qo'llanilayotgan 0 dan 9 gacha bo'lgan o'nta arab raqamlaridir, ya’ni: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Bu tilda o'nta belgi (raqam) bo'lganligi uchun ham, bu til o'nlik sanoq sistemasi deb ataladi. Bizning kundalik hayotimizda qo'llanilayotgan o'nlik sanoq sistemasi hozirgidek yuqori ko'rsatkichni tez egallamagan. Turli davrlarda turli xalqlar bir biridan keskin farqlanuvchan sanoq sistemalaridan foydalanganlar. Biz asosan o'nlik sanoq sistemasidan foydalanamiz. Lekin, o'nlik sanoq sistemasidan kichik sanoq sistemalarida sonlarni belgilash uchun arab raqami belgilaridan foydalaniladi. Masalan, beshlik sanoq sistemasida 0, 1, 2, 3, 4 raqamlari, yettilik sanoq sistemasida esa 0, 1, 2, 3, 4, 5, 6 raqamlaridan foydalaniladi. Biz asosan o'nlik sanoq sistemasidan foydalanamiz. Lekin, o'nlik sanoq sistemasidan kichik sanoq sistemalarida sonlarni belgilash uchun arab raqami belgilaridan foydalaniladi. Masalan, beshlik sanoq sistemasida 0, 1, 2, 3, 4 raqamlari, yettilik sanoq sistemasida esa 0, 1, 2, 3, 4, 5, 6 raqamlaridan foydalaniladi. Hisoblash texnikasida va dasturlashda asosi 2, 8 va 16 ga teng bo'lgan sanoq sistemalari qo'llaniladi. O'n ikkilik, o'n oltilik sanoq sistemalarida qanday belgilardan foydalaniladi?- degan savolga javob aniq: raqamlardan keyin lotin alifbosidagi bosh harflardan foydalaniladi. Shunday qilib, o'n ikkilik sanoq sistemasida raqamlar 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B kabi; o'n oltilik sanoq sistemasida esa 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F kabi yoziladi. Shunday qilib, o'n ikkilik sanoq sistemasida raqamlar 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B kabi; o'n oltilik sanoq sistemasida esa 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F kabi yoziladi. Kompyuterlarda boshqa sanoq sistemalaridan quyidagi imkoniyatlari bilan farqlanuvchi ikkilik sanoq sistemasidan foydalaniladi uni ishlashini tashkil etish uchun ikki turg'un holatli qurilmalar zarur ( tok bor – tok yo'q, magnitlangan yoki magnitlanmagan); axborotni ikki holat orqali tasvirlash ishonchli va ta’sirlarga chidamli; ikkilikdagi arifmetika boshqalaridan sodda. Pozitsiyali va pozitsiyali bo‘lmagan sanoq sistemalari Sanoq sistemasi bu – sonlarni o‘qish va arifmetik amallarni bajarish uchun qulay ko‘rinishda yozish usuli. Qadimda hisob ishlarida ko‘proq barmoqlardan foydalanilgan. Shu sababli narsalarni 5 yoki 10 tadan taqsimlashgan. Keyinchalik o‘nta o‘nlik maxsus nom – yuzlik, o‘nta yuzlik – minglik nomini olgan va h.k. Yozuv qulay bo‘lishi uchun bu muhim sonlar maxsus belgilar bilan ifodalana boshlagan. Agar hisoblashda 2 ta yuzlik, 7 ta o‘nlik, yana 4 ta birlik bo‘lsa, u holda yuzlikning belgisini ikki marta, o‘nlik belgisini yetti marta, birlik belgisini to‘rt marta takrorlashgan. Bunday ko‘rinishda tuzilgan sanoq sistemalari pozitsiyali sanoq sistemalari deyiladi.Ma’lumki, sanoq sistemasidagi raqamlar tartiblangan bo‘ladi. Raqamni surish deganda uni sonlar alifbosida o‘zidan keyin kelgan raqamga almashtirsh tushuniladi. Masalan, 1ni surishda 2ga, 2ni surishda 3ga, va hokazo, almashtiriladi. Eng katta raqamni surih (masalan, o‘nlik sanoq sistemasidagi 9ni) deganda 0ga almashtirish tushuniladi. Ikkilik sanoq sistemasida 0ni surishda 1ga, 1ni surishda 0ga almashtiriladi Birlik, o‘nlik va yuzliklarning belgisi bir-biriga o‘xshash bo‘lmagan. Sonlarni bunday yozganda belgilarni ixtiyoriy tartibda joylashtirish mumkin bo‘lgan, chunki yozilgan sonning qiymati tartibga bog‘liq emas. Ikkilik sanoq sistemasida 2 ta raqam: 0 va 1 mavjud. O‘nlik, sakkizlik sanoq sistemasidagi sonlar ikkilik sanoq sistemasida quyidagicha ifodalanadi: Ikkilik sanoq sistemasidagi sonlar ustida turli arifmetik amallar bajarishga oid misollar 1-misol. 10011+ 11001 2-misol. 1101101,001+1000101,001 Yechish: + 10011
-----------------
Javob: 101100 Yechish: +1101101,001 1000101,001 ------------------------ 10110010,010 11111111 Javob: 10110010,010 Javob: 11111111 3-misol. 101010 – 10011 Yechish Yechish: 101,11 – 101010 11,01 10011 -------------- ----------------- 10111 10111 + 10111 Javob: 10111 10111 4-misol. 110011,01 – 10111,101 ------------- Yechish: 10010,1011 - 110011,010 Javob: 10010,1011 10111,101 ------------------- 11011,101 Javob: 11011,101 5-misol. 110011 101 6- misol. 101,11 11,01 Yechish: 110011
------------
110011
Axborot miqdorini o’lchash uchun 1928 yili amerikalik muxandis R.Hartli quyidagi formulani taklif kilgan uzatish tezligi 1 sekunda uzatiladigan bitlar soni bilan o’lchanadi (masalan 19200 bit / sek) Bir sekunda bajara oladigan amallar soni EXMning xisoblash tezligi deb ataladi (masalan 500000 amal./ sek) Ikkilik ma’lumotlardagi axborot mikdorini o’lchash uchun bit va baytlardan tashqari , quyidagi kattarok birliklardan ham foydalaniladi.
Pascal dasturlash tili yuqori darajali obyektga yo'naltirilgan dasturlash tili. Pascal dasturlash tili 1970-yilning boshida Niklaus Wirth tomonidan yaratilgan. Pascal dasturlash tili, dasturlashni tizimli, strukturaviy va protseduraviy o'rgatish uchun ishlab chiqilgan. Lekin Pascal dasturlash tilidan foydalanib ham yuqori darajali mukammal dasturlarni tuzish mumkin. Pascal dasturlash tilining asosi Algol tilidir. Pascal dasturlash tili juda ko'plab ma'lumotlar toifasiga ega til va dasturlarni strukturaviy dasturlashga juda qulay. Hozirgi Pascal kodlarini o'qisangiz xuddi ingliz tilida matn o'qiyotgandek bo'lasiz. Pascal dasturlash tili ko'plab mamlakatlarda hozirda ham qo'llanilayotganining sabablari : * O'rganish juda oson; * Strukturalashgan dasturlash tili; * Mustahkam, ishonchli dasturlar tuzish imkoni mavjudligi; * Juda ko'plab OTlarda kompilyatsiya qilishni imkoni borligi; * va boshqalar... Pascal dasturlash tilining eng zo'r imkoniyatlari : * Pascal kuchli tillardan biri; * Xatoliklarni juda aniqlikda tekshirilishi; * Juda ko'plab ma'lumotlar turlari borligi (massivlar, yozuvlar, fayllar va setlar); * Turli xil yo'nalishlarda dasturlash imkoniyati borligi; * Strukturaviy, funksiyaviy va protseduraviy dasturlash juda qulayligi; * OYD (OOP) ni qo'llay olganligi. Chiziqli dasturlar tuzish. Odatda, chiziqli algoritmlarning dastur shaklida yozilishi chiziqli dastur deb ataladi. Demak, chiziqli dasturdagi barcha operatorlar ketma-ket kelish tartibida bajariladi va hech qanday shart tekshirilmaydi. 1-misol: Radiusi R bo'lgan aylananing uzunligini dasturi tuzilsin va R=9 birlik qiymat uchun bajarilsin. Bu masala quyidagicha yechiladi. Aylananing uzunligini hisoblash formulasini esga olamiz: L=2пR. Paskal dasturlash tilida u L:=2*pi*R ko'rinishida yoziladi. Dasturda bitta o'zgarmas pi va ikkita o'zgaruvchi R va L qatnashadi. Masala shartiga ko'ra R=9, ya'ni butun son. Shu sababli R o'zgaruvchi turi Integer deb olinadi. Aylananing uzunligi L esa ko'paytmada п qatnashganligi uchun, albatta haqiqiy (Real) turli bo'ladi. Aytilganlarni hisobga olib quyidagi dastur tuziladi: Program aylana_uzunligi; Var R:Integer; L:Real; Begin r:= 9; L:=2*pi*R; WriteLn('L=',L,'birlik.') readln; End. Dastur ishga tushirilgach (Ctrl+F9 klavishlar juftligi bosilgach yoki Run menyusidan Run bandi tanlangach), ekranda quyidagi natija hosil bo'ladi: L= 5,6548667765E+01 birlik. Bu dastur yordamida ixtiyoriy butun radiusli aylananing uzunligini hisoblash mumkin. Faqat har safar dasturdagi R ning qiymatini o'zgartirib turish lozim. Dasturga har safar o'zgartirish kiritmaslik uchun R ning qiymati kiritish operatori yordamida beriladi. Radiusning qiymati doim butun son bo'lavermasligini hisobga olib, uni Real turdagi o'zgaruvchi sifatida tavsiflanadi. Bularni hisobga olib quyidagi dastur tuziladi: Program aylana_uzunligi; Var r,L:Real; Begin Write('Radiusni kiriting: '); ReadLn(r); L:=2*pi*r; WriteLn('L= ',L, 'birlik.'); Readln; End. Paskalda dastur ko'rinishi Dastur ishga tushgach quyidagi holatda bo'ladi. Radiusni 9 kiritamiz va javob quyidagicha chiqadi Bu dastur ishga tushirilgach, ekranga «Radiusni kiriting: » yozuvi chiqadi va yurgich shu satrda qoladi. ReadLn operatori dastur bajarilishini to'xtatib, R o'zgaruvchiga qiymat berilishini kutadi. Klaviatura orqali radiusning sonli qiymati 9 ni kiritib ENTER klavishi bosilsa, R o'zgaruvchining qiymati 9 ga teng deb olinib, dastur bajarilishda davom etadi. Natijada kompyuter ekranida izlangan natija hosil bo'ladi. Dasturni qayta- qayta ishlatib, turli radiusli aylananing uzunligini hisoblashni tashkil etish mumkin.CHiziqli dastur deganda masalaning algoritmiga mos keluvchi buyruqlar ketma-ketligi dasturda uchrash tartibiga mos ravishda bajariladigan dasturlarni tushuniladi. Demak, dasturni bajarish boshlanganda, dastlab 1-buyruq, keyin 2- buyruq va x.k. tarzida bajariladi. Bunda beginvaend larga alohida e'tibor beriladi. Ular operatorlar qavsi hisoblanadi va amallarni bajarish paytida ustunlikka ega bo'ladi.Dasturning bitta satrida bir nechta buyruqlar kelishi mumkin. Bunda ular bir- biridan «;» belgisi bilan ajratiladi. Shartsiz o’tish opеratori (goto) "...ga o’tish" dеgan ma'noni anglatadi va u biror opеrator bajarilgandan kеyin navbatdagi opеratorni bajarishga emas balki boshqa biror bеlgi yordamida bеlgilangan opеratorni bajarishda ishlatiladi. Eslatib o’tamiz, bеlgi raqam yoki harf simvolidan iborat bo’lishi mumkin. Мисол : GOTO 999; GOTO EndBlock; Goto opеratori ishlatilganda bеlgi ta'sir qiladigan joy bu faqat shu opеrator yozilgan blok bo’lishi mumkin. Boshqarishni boshqa blokka uzatish man etiladi. Shartli opеratorlar. Turbo Pascal tilida ikkita shartli opеratorlar mavjud : IF va CASE. IF shartli opеratori , opеratorlarning bajarilish jarayonining tabiiy holatini o’zgartiradigan eng ko’p vositalardan biri. U quyidagi ko’rinishlardan biriga ega bo’lishi mumkin: IF THEN ELSE ; IF THEN ; Birinchi holatda , agar ifoda qiymati haqiqat bo’lsa , bajariladi , agar haqiqat emas bo’lsa bajariladi. Ikkinchi holatda - agar ifoda natijasi True bulsa , bajariladi, agar False bo’lsa - IF opеratoridan kеyingi opеrator bajariladi. IF opеratorlari joylashtirilgan bo’lishi mumkin . Chiziqli strukturadagi dasturlarda xech qanday shart bulmaydi, shuning uchun ular algoritm bilan aniqlangan ketma-ketlikda bajariladilar. Chiziqli strukturadagi dasturlarni tashkil etish uchun uzlashtirish operatorlari, ma‘lumotlarni kiritish va ma‘lumotlarni kayta ishlash natijalarini chiqarish operatorlari kiradi. Bizga ma‘lumki dastur tuzishda operatorlar o’zaro “;” bilan ajratiladi. begin va else operatorlaridan sung bu belgi quyilmaydi. Dasturning izoxli qismida uzgaruvchilar tavsivlanadi. Dasturning bajariladigan qismida esa, yuqorida aytganimizdek fakat uzlashtirish, uzgaruvchilar kiymatlarini kiritish va uzgaruvchilar kiymatlarini kompyuter ekraniga chiqarish operatorlari ishlatiladi. Chiziqli strukturali algoritmlarni dasturlashga misol ko’rib utamiz. SHartsiz o’tish operatori. SHartsiz o’tish operatorini umumiy ko’rinishi goto n bu yerda goto operator n- metka (satrga quyilgan nomer, belgi) N metka label yordamchi so’zi bilan quyilishi kerak. Case operatori dasturda tarmoqlanishni tashkil etib, bir necha operatorlar orasidan birini tanlash imkonini beradi. Tarmoqlanuvchi strukturali algorimlarni dasturlashtirishda shatrsiz o’tish va shartli o’tish operatorlaridan foydalaniladi. Tarmoqlanuvchi strukturali algoritmlarda biror bir shartga ko’ra algoritmning keyingi kadamlari quyilgan shartga ko’ra tarmoqlarga bulinib bajariladi. Paskal da tarmoqlanuvchi algoritmlarga doir dasturlar tuzish. 2.1-masala. Tarmoqlanuvchi dasturlarga doir Paskal da kvadrat tenglamaning haqiqiy ildizlarini topish dasturi tuzilgan. Bu dasturga mos prosteduralarning ko’rinishi quyidagicha bo’ladi: Program kvadrat; var d,a,b,c,x1,x2:real; begin write('a=');read(a); write('b=');read(b); write('c=');read(c); d:=b*b-4*a*c; if d<0 then Write('xaqiqiy echimi yo`k') else begin x1:=(-b-sqrt(d))/(2*a); x2:=(-b+sqrt(d))/(2*a); Write(''x1= ,x1); Write(''x2= ,x2);; end; Paskalda qism dasturlar 1.Kirish
Paskalь tilida qism dastur protsedura yoki funksiya ko‘rinishida beriladi. Asosiy dastur bilan protsedura orasida o‘zgaruvchilar qiymat almashuvi formal va faktik parametrlar yordamida amalga oshiriladi. Protsedura ichida yana bir necha protsedura yoki funksiya ishlatilishi mumkin. Dasturda e’lon qilingan o‘zgaruvchilar, shu dasturdagi protsedura va funksiyalarga nisbatan global deyiladi. Protsedura va funksilar ichida e’lon qilingan o‘zgaruvchilar lokal deyiladi. Ularning ta’sir doirasi shu qism dastur ichida bo‘ladi. 2.Protseduralar Protseduralarni e’lon qilish quyidagicha bo‘ladi. Procedure ();
End; Formal parametrlarni shu protsedura bosh qismida yoki sarlavhada e’lon qilish mumkin. Masalan. Procedure AB (x,y: Real); Har qanday protsedurani kichik bir dastur deb qarash mumkin. Protsedura ham dasturga o‘xshab bosh va asosiy qismlardan toshkil topadi. Bosh qismda protsedura nomi va uning parametrlari e’lon qilinadi. Asosiy qism operatorlar ketma-ketligidan tashkil topgan bo‘lib, ular Begin - End ichiga olinadi. Protsedura nomi foydalanuvchi tamonidan beriladi. Misol. Procedure Dr(Var x,h1,h2,z1,z2 : Real); Var h,z: Real; Begin h:=h1/z1+h2/z2; z:=z1/z2; x:=(h+z)/2; End;
Belgi (char) va satr (string) turlari. Tupbo-Paskal tilining asosiy tashkil qiluvchi elementlari, ya`ni harflar, rahamlar va ajratuvchi belgilarning ikkita ` ` belgi ichida yozilishi (masalan, `A`, `4`, ``) belgi turidagi qiymat hisoblanadi. O`zgaruvchilapni belgi turida e`lon qilish uchun CHAR kalit so`zi ishlatiladi va ular xotiradan bir bayt joy egallaydi: VAR CH : CHAR; CH :`a`; Belgi turiga ma`lum bir to`plamdagi belgilar kiradi. Masalan, Turbo-Paskalda bu to`plam-256 elementdan iborat bo`lgan ASCII jadvali bo`lib, har bir kompyuter xotirasida doimiy ravishda bu jadvalga ega bo`ladi. Har bir belgi jadvaldagi tartib o`rnini aniqlovchi son (kodi) bilan aniqlanadi. Shu sababli belgi EHM xotirasida uning kodi ko`rinishida saqlanadi va u bir bayt (8 bit - ikkilik razryad) joy oladi. Belgi turida bo`lgan qiymatlar quyidagi qoidalarni qanoatlantiradi: 1) shu to`plamga 0 dan 9 gacha rahamlar kiradi, ular o`sib borish bo`yicha tartiblangan va ular to`plamda ketma-ket joylashgan; 2) ishlayotgan versiyada to`plamga kichkina lotin harflari kiritilgan bo`lsa, ular va ularning to`plamda tartib nomerlari o`sib borish tartibida bo`lishi shart; 3) ikkinchi qoida katta lotin harflari uchun ham o`rinli; 4) agar a va b - belgilar bo`lsa, va a>b bo`lsa, u holda ord(a)>ord(b), agar a Belgi o`zgarmaslarga quyidagi misol bo`ladi: `r`, `_`, `1`Belgilarning qo`shtirnoq ichiga olingan ketma-ketligi satr deyiladi (qo`shtirnoqning o`zi kirmaydi). Masalan, `ABV`, ` `, `adidas` ifodalar satr hisoblanadi. Download 363,76 Kb. 0>0> Download 65,41 Kb. Do'stlaringiz bilan baham: |