KompyuterlarDasturlash

Dasturlash. Asosiy algoritmik inshootlar

Har qanday dasturni yaratish uchun asosiy algoritmik konstruktsiyalar talab qilinadi. Quyidagi muammolarni hal qilishning eng oddiy yo'li. Misol uchun, bu kabi misollar bilan ishlash uchun foydalanish mumkin. Boshqa turlar mavjud: dallanma va pastadir. Ushbu maqolada ular haqida xabar beriladi. Lekin birinchi navbatda algoritm nima haqida ekanligini tushunishingiz kerak.

Algoritm

"Algoritm" so'zi lotin algoritmidan kelib chiqqan. Bu nimani anglatadi? Xurmatli so'z 9-asrda ishlangan matematikning nomi bilan atalgan. Al-Xorazmiyning risolasi tufayli insoniyat algoritmik qurilishning asosiy turini va umuman olganda umumiy tushunchaga ega bo'ldi.

Ilgari "algoritm" so'zini yozish shakli qabul qilindi. Hozir esa faqat ayrim hollarda qo'llaniladi.

Algoritm - bu alohida usul bo'lib, kirish ma'lumotlarini o'zgartirishni anglatadi. Ushbu kontseptsiya bilan, har bir kishi hayotda, kim bo'lsa ham, duch keladi. Algoritmlarni choy yoki oziq-ovqat mahsulotlarini tayyorlash, ko'paytirish yoki qo'shib qo'yish, tenglamalarni hal qilish va hokazo deb atash mumkin. Ish jarayonlari avtomatlashtirilgan barcha turdagi maishiy texnika protsessor xotirasida ko'rsatilgan aniq qadamlar hisobidan amalga oshiriladi. Bunday algoritmlarni uy xo'jaligi algoritmlari deb atashadi. Boshqa turlari ham mavjud. Ularni ko'rib chiqaylik.

Algoritm turlari

Asosiy algoritmik inshootlar bir nechta turlarga bo'linadi va ushbu subparagraphda muhokama qilinadi. Ular nimaga o'xshash?

  1. Axborot. Bunday algoritmlar juda ko'p ma'lumotlar bilan ishlaydi, lekin ularni qayta ishlash jarayoni juda kichik va murakkab emas.
  2. Menejerlar. Bunday algoritmlarning ishi bir yoki boshqa manbadan olingan ma'lumotlarga bog'liq. Uni olgandan so'ng, qurilmalarning ishlashini ta'minlash uchun maxsus signallar yuboriladi.
  3. Hisoblash. Informatsion algoritmlardan farqli o'laroq, kichik hajmdagi ma'lumotlar bilan ishlaydigan ish, ammo katta ish jarayoni.

Aslida, algoritm eng kichik detallarga aniqdir. Ammo, bunday ma'lumotlarning hammasi tavsiflangan kontseptsiya emas. Buyruqning algoritmini tushunish uchun, u ba'zi xususiyatlar uchun tekshirilishi kerak.

Algoritmlarning xususiyatlari

Barcha asosiy algoritmik inshootlar ularga bo'ysunadigan harakatlarga ega bo'lishi kerak. Keling, bu masalani batafsil ko'rib chiqaylik.

Agar siz algoritmlarni va ularning xususiyatlarini butunlay kuzatib boradigan bo'lsangiz, ularning tarkibiy qismlarini tushunishning zaruriyati yo'qligini ko'rishingiz mumkin, ular rejaga mos keladigan aniq. To'g'ri natija, hatto zaruriy harakatlarga mexanik ravishda amal qilish bo'lsa ham. Shundan kelib chiqadigan xulosaga kelsak, xatti-harakatlarning xabardorligida ma'no yo'qligi tufayli algoritmni kompyuterni amalga oshirishga ajratish mumkin. Boshqacha aytganda, avtomatlashtirilgan qurilmalar uchun bu jarayon zarur.

Asosiy algoritmik konstruktsiyalar qanday xususiyatlarga ega bo'lishi kerak?

  1. Ochiqlik. Har bir buyruq bajarilgan ob'ektga imkon qadar aniq bo'lishi kerak. Masalan, markazda nuqta chizishdan ko'ra hech narsa oson emas, lekin sizda harakatni amalga oshirishga imkon beradigan buyruqlar mavjud bo'lmaguncha, buni qila olmaysiz.
  2. Faoliyat. Bu mulk nimani anglatadi? Kerakli natija. Algoritm hech qanday javob bera olmaydi. Xato sababli, siz istagan noto'g'ri natija olishingiz mumkin, lekin bu hali hammasi bo'ladi. Bundan tashqari, muayyan sonli qadamlardan keyin javob olinishi kerak.
  3. Massa. Har qanday algoritm ba'zi vazifalar sinfiga nisbatan qo'llanilishi kerak. Ularning orasidagi ma'lumotlar asl ma'lumotlardan farq qilishi mumkin.
  4. Shubhasiz. Har bir ishda faqat bitta qiymat bo'lishi kerak va lotin parolini bekor qilishga ruxsat berilmaydi. Ideal holda, dastur qanchalik katta bo'lmasin, natija har doim bir xil bo'lishi kerak.
  5. Diskratsizlik. Algoritm - navbatdagi bosqichlar. Har bir qadam buyruqdir, siz atlay olmaysiz va yangisini qo'sha olmaysiz.
  6. To'g'ri. Har qanday vazifa uchun qo'llaniladigan har qanday algoritm hamma uchun to'g'ri bo'lishi kerak. Dasturlarda ko'pincha muammolar yozma qadamlar emas, ko'pincha ko'p vaqt talab qilmaydi, balki turli xil savollar uchun ularni bajaradi. Shuning uchun muhim qadam algoritmni disk raskadrovka qiladi. Bunga yordam berishi mumkin va asosiy algoritmik dizayn, takrorlash yaxshi natijalarga erishish mumkin.

Algoritmlarning tavsifi

Agar algoritmlarni yozish usullari haqida gapiradigan bo'lsak, quyidagilarni ajratib olishimiz kerak:

  • Og'zaki. Boshqacha qilib aytadigan bo'lsak, tarkibiy qismni ifodalash uchun qulay bo'lgan tilda.
  • Tabulyatsion. Mantiqan, algoritm jadvalga yozilgan va qoida tariqasida yordamchi element sifatida ishlatiladi.
  • Rasmiy og'zaki. Og'zaki tushuntirish usulining asoslari olinadi, ammo bunday harakatlarda matematik formulalar yoki belgilar ham qayd etiladi.
  • Grafika. Bunday algoritm blok diagrammalarining maxsus tilida yozilgan.

Oxirgi nuqta aniqlanishi kerak. Blok diagrammasi nima? Bu bosqichlar maxsus bloklar yordamida qayd etilgan chiziqli yoki chiziqli bo'lmagan algoritmdir. Ularning o'z konfiguratsiyasi, maqsadi va vazifasi bor. Bunday tavsiflangan holatda algoritm chiziqlar bilan bir-biriga bog'langan blok diagrammalarida yoziladi. Ularda qo'shimcha ravishda xatti-harakatlar (qadam) yozish kerak.

Algoritmik inshootlar

Ba'zilari algoritmlarning 3 turga ega emasligini da'vo qiladilar, lekin 4. Asosiy algoritmik konstruktsiyalar: chiziqli, chambarak, tsiklik. Ushbu noto'g'ri tushunchaning sababi noma'lum. Ammo murakkab muammolarning oddiy echimini topish uchun kompyuter uchta katta guruhning algoritmlarini qo'llaydi. Ularni ko'rib chiqaylik.

  1. Lineer. Bunday hisoblash jarayoni barcha noma'qul ishlarni amalga oshirilganligi sababli ushbu nomni oldi, chunki har bir qadam bir martadan ortiq bajarilmayapti. Muammoning sxemasini hisobga olsak, undagi bloklar vazifaning navbatdagi soniga qarab bir-birining ostiga joylashtiriladi. Lineer algoritmlar ishlarning yo'nalishi va ma'nosi dastlabki ma'lumotlardan farq qilmaydigan darajada ishlaydi. Bunday yechish usuli sum yoki farqni, raqam yoki uning atrofini hisoblash uchun mos keladi va hokazo. Algoritmik qurilishning asosiy turi.
  2. Filial. Ushbu hisoblash jarayoni mantiqiy ifodani (LV) va holatni tanlashni ("yolg'on" va "haqiqat" bo'limi) mavjudligini nazarda tutadi. Har bir holatda, ikkita yoki undan ortiq guruhdan faqat bittasi amalga oshiriladi. Boshqa variantlar bajarilishi uchun hech qanday vazifa yo'q va mavjud emas. Agar algoritmda ikkita filial mavjud bo'lsa, unda ikkita filialning ko'pligi murakkab bo'lsa. Va oxirgi jarayon osonlik bilan hisoblashadi. Algoritmik qurilishning asosiy turi ham birinchi, ham ikkinchisidir. Quyidagi turlar ushbu ro'yxatga kiritilgan.
  3. Tiklanish. Bunday algoritmda, albatta, ko'p marta takrorlanadigan element bo'lib, turli xil dastlabki ma'lumotlar ishlatiladi. Boshqacha qilib aytadigan bo'lsak, bunday jarayonga aylanish jarayoni deyiladi.

Shuni ta'kidlash kerakki, barcha asosiy algoritmik konstruktsiyalar (ta'qiblar, filiallar, tsikllar) bir-birlari bilan bir-biriga bog'liq bo'lib, ular alohida-alohida ishlatilishi mumkin.

Ko'chadan yaratish va ularning turlari

Loop yaratish uchun nima kerak?

  • Ko'chadan hisoblagich. Bu boshlang'ich qiymatni belgilaydigan o'zgaruvchi va harakat takrorlanganda o'zgaradi. Bu, albatta, algoritmning bir qismi bo'lishi kerak. Uslubiy turdagi asosiy algoritmik inshootlar ishlamaydi.
  • Yangi davrni takrorlashdan oldin yuqoridagi ma'lumotlarni indikatorini o'zgartiring.
  • Kompyuterning tsiklni yoki yana ko'plarni "orqaga qaytarish" kerakligiga qaror qabul qilish shart emasligini tekshirish kerak emas.

Tsikllar deterministik va yineleyici bo'lishi mumkin. Birinchisi, takroriy takroriy sonlar bilan harakatlarni takrorlashni ifodalaydi. Yuridar aylanish jarayoni shartsiz yoki noto'g'ri bo'lmaguncha noma'lum miqdordagi soni takrorlaydi.

Asosiy algoritm

Asosiy algoritm asosiy algoritmik inshootlarga taalluqli emasligini unutmaslik kerak. U nima o'zi? Ushbu kontseptsiya zamonaviy adabiyotda uzoq vaqtdan beri mavjud emas, ammo bu uning mavjud bo'lmaganligini anglatmaydi. Muammolarni hal qilishda bir nechta shoxlar yoki takrorlashlar bo'lishi mumkinligini hisobga olib, quyidagi xulosalarni ajratib ko'rsatish mumkin. Asosiy algoritmik konstruktsiyalar (chiziqli, chiziqli, tsiklik) asosiy hisoblanadi. Aslida ular har bir so'zlashuvning "tarkibiy birligi" ni ifodalaydi.

Lineer algoritmlar

Yuqorida aytib o'tilganidek, algoritmlar doğrusal va doğrusal bo'lmagan. Birinchi variantni ko'rib chiqaylik. Nima uchun bu deyiladi? Hamma narsa juda oddiy. Aslida, algoritmda qayta ishlangan barcha harakatlar aniq ketma-ketlikda amalga oshiriladi, barcha qadamlar qat'iy bir-biridan keyin amalga oshiriladi. Odatda bunday vazifalar kichik va murakkabligi past darajada.

Lineer algoritmning namunasi choyni tayyorlash jarayoni bo'lishi mumkin:

  1. Suvni chovgumga to'kib tashlang.
  2. Chovgumni pechka ustiga qaynatib oling.
  3. Kassani oling.
  4. Choyni chashka tushiring.
  5. Shakar qo'shing.
  6. Qaynayotganidan keyin kosaga qaynoq suv soling.
  7. Qoshiq oling.
  8. Shakni aralashtiring.

Asosiy algoritmik konstruktsiyalarni dasturlash juda murakkab masala, lekin chiziqli algoritmlarga kelganda, ularni amalga oshirish juda oson.

Dallanadigan algoritmlar

Algoritm dallanayotganini qanday tushunish mumkin? Shartning bajarilishiga qarab, ikki yoki undan ortiq variantni tanlash imkoniyati etarli. Har bir yo'nalishga filial deyiladi.

Dallanma algoritmining asosiy xususiyati shartli filialning mavjudligi. Bu ifoda haqiqiy yoki noto'g'ri tekshirilganda sodir bo'ladi.

Odatda, mantiqiy ifodalar kattaroq, kattaroq, kattaroq yoki teng, kattaroq yoki unga teng, teng yoki teng emas. Ba'zida vaziyat va (yoki) va (yoki) buyruqlar yordamida bir-biriga bog'liq bo'lgan variantlar mavjud.

Bunday algoritmning namunasi quyidagi muammolar echimi bo'lishi mumkin: agar ((x + 3) / 1) ifodasi musbat songa teng bo'lsa, natijada ekranga natijani chiqarsin, agar salbiy bo'lsa, foydalanuvchiga xatolik haqida xabar bering.

Asosiy algoritmik inshootlarni amalda qo'llash juda oson. Dallanma eng keng tarqalgan echimlardan biridir.

Deterministik tsikl yoki taymer bilan tsikl

Hisoblagichli pastadir - qiymatni ma'lum bir qadam bilan o'zgartiradigan o'zgaruvchini o'z ichiga olgan pastadir. Ushbu qadam foydalanuvchi tomonidan belgilanadi yoki ta'minotchining yozma kafolati yozilganligi bilan belgilanadi. Ushbu loopning ko'p tillari ifodani ishlatadi.

Dasturda ikki qatorni 4 marta aks ettirish uchun:

  1. "Ishlaringiz qalay?"
  2. "Yaxshi raxmat!"
  3. "Ishlaringiz qalay?"
  4. "Yaxshi raxmat!"

Deterministik tsiklni yaratish kerak. Bu qanday ko'rinishga ega? Dizayni yaxshiroq his qilish uchun "Paskal" tilidan foydalanamiz.

1. i uchun: = 1 dan 2gacha:

- i loop hisoblagichi, loopdagi takroriy sonlarni aniqlaydi.

2. Boshlang (operator tasniflari har ikkala ibora ham loopning tanasi bo'lishi uchun ochiladi va birgalikda takrorlanadi).

3. «Yozuv» («Qanday qilib?»):

- "yozuvchi" so'zi bitta tirnoqli jumlaga kiradi.

4. Yozuvlar ("Yaxshi, rahmat").

5. Oxiri.

6. i: = i + 1.

Ko'rib turganingizdek, asosiy algoritmik inshootlardan foydalanish juda oson va hatto qiziqarli. Asosiy algoritmlar juda keng tarqalgan bo'lib, ularsiz dasturlarni yozish mumkin emas.

Vaqtni kechiktirish bilan

Postcondition bilan devor operator zımbaları yoki aralash so'zlarni ularga qo'shilmasdan harakatlarning aniqlanmagan sonini qaytarishi mumkin. Bu kamida bir marta amalga oshiriladi. Ixlos shart holatga kelguncha ishlaydi. Ko'rsatkichlar to'g'ri bo'lganda to'xtaydi. Algoritm bunga bog'liq. Bu turdagi asosiy algoritmik inshootlar bu sur'atda ishlaydi.

Ushbu tsiklni amalga oshirish uchun B-dan qurilishni takrorlash kerak, chunki u "takrorlanuvchi harakatlar" holatiga to'g'ri keladi. Shunga ko'ra, qayta takrorlash jarayoni A orqali ifodalanadi va natijada B orqali ma'lumotlar to'g'ri qiymatga ega bo'lishi kerak.

Old shart bilan aylana

Postcondition bilan devor har qanday holatda kamida bir marta qatl qilinadigan tarzda quriladi. Shu bilan birga, muayyan shart sharoitida tsikl zarur bo'lgan holatlar mavjud va takrorlanmasa, bunday bo'lmasligi kerak. Aks holda, natija noto'g'ri bo'ladi. Bu holda oldingi shartlarga ega bo'lgan pastadir qo'llaniladi. Uni yaratish uchun sizga "A B" qurilishida kerak. Birinchi buyruq ma'nosini "bye" deb tarjima qilingan. A shart va B - takrorlanadigan ish. Butun dizayn: "shart to'g'ri bo'lsa, ishlarni bajaring" degan ma'noni anglatadi.

Barcha asosiy algoritmik inshootlar faqat ma'lum hollarda ishlaydi. Protsessual sharoitlarda ular nima? Biror ishni takrorlash kerak bo'lmasa, lekin bir nechta kompozit operatorlardan yoki maxsus qavslardan foydalanish kerak. Vaziyat kirib bo'lmaganda, tsikl bajarilmaydi. Shunga ko'ra, harakatlar to'g'ri bo'lsa, takrorlanadi.

Yordamchi algoritm

Yordamchi algoritm boshqa jarayonlarda faqat nomini ko'rsatib ishlatiladi. Bu asosiy algoritmik inshootlarga taalluqli emas. Dasturlash tillarida bu jarayon jarayoni subroutin deb ataladi. Kod bilan ishlashni osonlashtirish va undan keyin oddiyroq muammoni hal qilish uchun har bir ish yordamchi algoritm bo'lgan bitta blokga birlashtiriladi. Ularning har biriga bir necha bor murojaat qilishingiz mumkin bo'lgan ism berilishi mumkin.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.birmiss.com. Theme powered by WordPress.