Algoritmlash, algoritmlar, til va dasturlar. Algoritmlar va dasturlar Katlama algoritmlarini ishlab chiqish usullari

Burakov P.V., Kosovtseva T.R. Kompyuter fanlari. Algoritmlar va dasturlash. Navchalny pos_bnik.-SPb NDU ITMO, 2013. - 83 p.

Gumanitar fanlar fakulteti “Informatika” fanini o‘rganuvchi 080100 “Iqtisodiyot” iqtisod mutaxassisliklari talabalari uchun birlamchi topshiriqlar darsligi. Qo'llanma Turbo Paskaldan foydalangan holda haftalik algoritmlar va dasturlash bo'yicha kirish kursidir. Pos_bnik ko'p dumbalardan o'ch olish uchun. Amaliy algoritmlarning nazariy jihatlari va dasturlash asoslari keltirilgan. Dastlabki yordamchining yana bir qismi laboratoriya mashg'ulotlarini o'tkazishdir.

2009 yilda Universitet boy bosqichli tanlov g'olibi bo'ldi, natijada Rossiyaning 12 ta etakchi universitetlari tanlab olindi, ularga "Milliy Pre-So'nggi Universitet" toifasi berildi. Rossiya Federatsiyasi Ta'lim va fan vazirligi 2009-2018 yillarga mo'ljallangan "Sankt-Peterburg davlat axborot texnologiyalari, Fur Niki va optika universiteti" oliy kasbiy ta'lim davlat ta'lim muassasasini rivojlantirish dasturini tasdiqladi.

© Sankt-Peterburg Axborot texnologiyalari, mexanika va optika milliy tadqiqot universiteti, 2013 © P.V. Burakov, T.R. Kosovtseva

Muammo bayoni................................................. ...... ................................................ ............ .................................

Matematik modelni ishlab chiqish................................................. ....... .................................................

Raqamli yechish usulini tanlash................................................. ....... ................................................. ....

Algoritm va ma'lumotlar tuzilishini tushunish...................................................... ........ ...................................

Algoritmni dastur sifatida amalga oshirish...................................... ....... ................................................

Dasturni o'rnatish va sinovdan o'tkazish ................................................... ........ ................................................ ..............

Kompyuterda vazifalarni yechish................................................ ....... .... ................................................. ................. .... ...

MUAMMONI YECHISH ALGORITMMINI ISHLAB CHIQISH...................................... ...................................................................... ......

Algoritm tavsifi................................................. ...................... ................................................. ................................................

Algoritm sxemasi.............................................. ...... ................................................ ............ .........................

Algoritmlarning tuzilgan sxemalari...................................... ................................................

ALGORITMNI AMALGA OLISH XUSUSIYATLARI....................................................... ........ ................................................ .

Kino dasturini tanlash mezonlari...................................... ........ ...................................

DASTUR TUZILISHI VA ELEMENTLARI................................................... ................................................

Dasturlashning asosiy elementlari................................................. ................................................

Alifbo va lug'at TurboPaskal (TPaskal)................................................. ........ ...................................

Dastur tuzilishi................................................. ... ................................................... ......... ..............

MA'LUMOT TURLARI................................................. .... ................................................. ...................... ...................................

Skaler ma'lumotlar turlari................................................. ...... ................................................ ............ ............

Strukturaviy ma'lumotlar turlari................................................. ...... ................................................ ............

KIRISH-VISNOK MA'LUMOTLARI...................................................... ...... ................................................... ............ ................................

Induksiya jarayonlari................................................. ................................................................ .......................... .........................

Operatorlar................................................. .. ................................................. ........ ...................................................

Sahna ortidagi ma'lumotlar................................................. ................................................................ .......................... ................................. .

Operatorlarni kechiring................................................. ... ................................................... ......... ...................

Strukturaviy operatorlar................................................. ... ................................................... ......... .........

Aqlli operatorlar................................................. ... ................................................... ......... .............

Loop operatorlari................................................. ......... ................................................... ............... .................................

MASSIVI................................................. .. ................................................. ........ ................................................ .

Díí̈ massivlar ustida................................................. ...... ................................................ ............ ............

Massiv elementlari ustidagi Dii...................................... ......... ................................................... ...............

Matritsalar bilan amallar................................................. ...... ................................................ ............ ...............

TARTIBLAR VA FUNKSIYALAR...................................................... ...... ................................................ ............ ...............

Dasturlashda strukturaga bo'lgan ehtiyoj...................................... ...................... ..............

Movi TPascal uchun quyi dasturlar................................................. ...... ................................................... ............ ..

Jarayonlar.................................................. ....... ................................................. ............. ...................................

Funktsiyalar................................................. ........ ................................................ ................................................................

Parametrlarni uzatish mexanizmi................................................. ...... ................................................... .........

FAYLLAR............................................. .... ................................................................ .. ................................................. .........

Sahna ortidagi ma'lumotlar................................................. ................................................................ .......................... ................................. .

Fayl turi tavsifi................................................. ...... ................................................... ............ .........

Fayllarni qayta ishlash xususiyatlari................................................. ...... ................................................... ............ ......

Matn fayllari...................................... ........ ................................................ ...............................................

LABORATORIYA AMALIYATI...................................................... ................ ................................. ....................... ........

Laboratoriya roboti 1.

Chiziqli dasturlash

kuyovlarni echish

hisoblash jarayonlari................................................. ... ................................................... ......... .........

Laboratoriya roboti № 2.

Tsikllik hisoblash jarayonlari................................................. ......

3-sonli laboratoriya roboti.

Massivlar bilan amallar................................................. ...... ...................

Laboratoriya roboti № 4.

Fayl operatsiyalari................................................. ................................ ......................

Laboratoriya roboti 5. Protseduralar va vazifalar...................................................... ......... ...........................

Bibliografiya.............................................. ................................ ................. ...................................................

KOMPYUTERDA AMALIY TEXNOLOGIYANI ISHLAB CHIQISH Elementlari

Shaxsiy kompyuterning hozirgi ishlab chiqarilishi quyidagi asosiy bosqichlarni o'z ichiga oladi.

1. Muammoning bayonoti.

2. Matematik modelni ishlab chiqish.

3. Rozrahunkov topshiriqlari uchun sonli yechish usulini tanlang.

4. Ma'lumotlar strukturasini ochish algoritmini muhokama qilish.

5. Algoritmni dastur sifatida amalga oshirish.

6. Dasturlarni o'rnatish va sinovdan o'tkazish.

7. Kompyuterda masalalar yechish, sonli tajribalar va natijalarni tahlil qilish.

Muammoning bayonoti

Yangi virusni, texnologik jarayonni yoki iste'molchi ehtiyojlari uchun ko'proq amaliy yechimni loyihalashtirgan mutaxassis uchun ilm-fan va sir birlashadi.

Oxirgi sumka bilan siz mos yechim topasiz va uni amaliy quritish uchun qo'lda ko'rinish bilan ta'minlaysiz. Qarorning samaradorligi ko'p jihatdan zaruratni aniq tushunishga va mo'ljallangan maqsadga (yoki bir qator maqsadlarga) bo'lgan ehtiyojni aniq og'zaki shakllantirishga bog'liq. Shundan so'ng, o'rganilayotgan mavzu sohasida yakuniy belgiga erishishga ta'sir qiluvchi omillar, bu omillarning o'zaro bog'liqligi, muammoning turli tomonlari bilan bog'liq bo'lgan o'zaro bog'liqlik, nimalarga e'tibor berish kerakligi haqida ma'lumotlar yig'iladi. Shunday qilib, dunyo xazinalari va aqllarining eng katta og'zaki tavsifi yaratiladi.

O'zgaruvchan suyuqlik bilan yiqilib tushadigan tanadan o'tish uchun oxirgi qadamni hisoblash kerak. Tananing dastlabki suyuqligi 0 ga teng bo'lib qoladi. Ishonchlilikning keyingi darajasida tezlikni teng ravishda tezlashtirish mumkin. Standart dasturlarning Vikoristan paketlari o'tkazilmaydi.

Hozirgi vaqtda vazifalarning eng samarali kombinatsiyasi turli xil matematik modellarga asoslangan. Matematik modellarning turg'unligi butun bir sinf muammolarining echimini yo'q qilish imkoniyatidan tashqari, turli xil ishlanmalarni amalga oshirishni, fikrning o'zgarishiga tez moslashishni va eng yaxshi echimlarni izlashni ta'minlaydi.

Matematik modelni ishlab chiqish

Vazifani og'zaki shakllantirish asosida o'sish jarayonida ishtirok etish uchun o'zgarishlar tanlanadi, ularning o'zgarish doirasi aniqlanadi, bu o'zgarishlar va almashinish o'rtasidagi bog'liqlik matematik tarzda tavsiflanadi. Bu parametrlar sifatida ushbu o'zaro aloqada ishtirok etadigan mansabdor shaxslar paydo bo'ladi va rasmiy ravishda tavsiflanadi. Natijada, muhandislik vazifasi rasmiylashtirilgan matematik model ko'rinishini oladi.

1-ilovada tuzilgan topshiriqning matematik modeli formuladan iborat: S = 0,5 a t 2, bu erda asosiy o'zgaruvchi tezlashuv parametri bilan soat t hisoblanadi. Formula uzoq yo'l orasidagi konlarni ko'rsatadi va mexanika qonuniga mos keladi.

Shuni ta'kidlash kerakki, konlarning matematik tavsifidan turli darajadagi tafsilotlarni va matematik tavsifning turli shakllarini farqlash mumkin. Shunday qilib, o'zgaruvchan likvidli Rossiyada zagalnym holatda, raqamning dovzhina integral bilan belgilanadi.

S = ∫ V (t) dt ,

Bunda V(t) suyuqlikning vaqt o’tishi bilan o’zgarish qonuni murakkablashishi mumkin va integralning qiymatini analitik tarzda hisoblab bo’lmaydi. Shuning uchun, yechimning yaqinlashib kelayotgan usullarini to'liq ta'kidlash amaliydir.

Matematik modelning adekvatligiga alohida e'tibor qaratiladi, bir tomondan aqlning ongini to'liq chiqarish tavsifi. Bir vaqtning o'zida keraksiz kuch va xarajatlarga olib kelishi asossizdir. Boshqa tomondan, matematik tavsifning aniqligi yo'qligi (modelning qo'polligi) yechimdagi katta muvaffaqiyatsizliklarga, shuningdek, kechirimli xulosalarga olib kelishi mumkin.

Raqamli yechim usulini tanlang

Murakkab masala uchun ajratilgan masalani arifmetik va mantiqiy amallar ketma-ketligiga kamaytiradigan sonli ajratish usulini tanlash kerak. Bunday usullarni ishlab chiqish va ishlab chiqish matematikaning raqamli tahlil deb ataladigan bo'limi tomonidan amalga oshiriladi. Integral integrallarni hisoblashning raqamli usuliga misol sifatida siz to'rtburchaklar usulidan foydalanishingiz mumkin. Qaysi usulda integral oxirgi sumka bilan almashtiriladi

∫ f (x) dx ≈ ∆ x ∑ f (x i) , bu yerda ∆x - integrallash vaqti (const), ∆x=(b-a)/n,

x i+1 =xi +∆ x, x1 =a, xn+1 =b

Ushbu usul yordamida integral integralning eng yaqin qiymatini hisoblash integral funktsiya qiymatini ketma-ket kengaytirishga qisqartiriladi, bu integrallash vaqti qiymatiga ko'paytiriladi.

Usulni tanlashda siz vazifani o'rnatish uchun zarur bo'lgan imkoniyatlarni va uni kompyuterda amalga oshirishning maqsadga muvofiqligini hisobga olishingiz kerak: yechimning to'g'riligi, natijaning to'g'riligi, NYni tejash uchun RAMning zaruriy sarflanishi. chiqish va oraliq ma'lumotlar va natijalar (katta marosim vazifasi uchun) , dasturiy ta'minotni amalga oshirishning murakkabligi, dasturni tayyorlash va vazifani hal qilishda qiyinchilik.

Algoritm va ma'lumotlar tuzilishini tushunish

Eng muhim vazifa uchun ariza standart kutubxona kichik dasturi shaklida amalga oshirishning raqamli usulini o'z ichiga olganligi sababli, algoritm chiqish ma'lumotlarini kiritish, standart kichik dasturni kiritish va ekranni ko'rsatish tavsifiga qisqartirilishi kerak. natijalar ekranda yoki boshqa joyda. Agar standart pastki dasturlar vazifaning biron bir qismidan mahrum bo'lsa, ko'proq xarakterli nosozliklar mavjud.

Vazifaning aniq tuzilishi, vazifalarni ketma-ket topshiriqlarga bo'linishi, vazifalarni alohida modullarda amalga oshirish, algoritm mantiqini bosqichma-bosqich tafsilotlash, oqilona yo'l bilan ruxsat etilgan tipik mantiqiy tuzilmalarni tanlash Va keyin murakkab vazifalarni bajarish uchun amaliy dasturlar yaratish.

Muhim omborni rivojlantirish algoritmi - bu omborni tanlash va ma'lumotlarni tashkil qilish usullari (tuzilmalari): chiqish, oraliq va yakuniy natijalar. Kino dasturlash raqamli va ramziy konstantalar, o'zgaruvchilar, ma'lumotlar massivlari (vektorlar va matritsalar) bilan ishlash imkonini beradi. Shunday qilib, Turbo Paskal murakkab ma'lumotlar tuzilmalarini, raqamli bo'lmagan ma'lumotlarni, masalan, matnlarni qo'lda qayta ishlashni, ilg'or kombinatsion vazifalarni va simulyatsiya modelini yaratishga imkon beradi. Shuning uchun ma'lumotlar turlarini, ma'lumotlar turlarini va tuzilmalarini tanlash algoritmni va boshqa kirishlarni amalga oshirishning o'ziga xos xususiyatlariga muvofiq amalga oshirilishi kerak. Dasturchi turli xil algoritmik tillar bilan dasturlashtirilganligi sababli, vazifaning ma'lumotlar tuzilishiga eng mos keladigan tilni tanlash mumkin.

Algoritmni ishlab chiqish grafik diagramma shaklida yoki psevdokod deb ataladigan maxsus dizayn dasturining qo'shimcha belgilarini yozish bilan yakunlanadi. Algoritmga mantiqni taqdim etishning boshqa usullari o'rganiladi: diagrammalar, echimlar jadvallari, diagrammalar.

Algoritmni dastur sifatida amalga oshirish

Dastur tugallangach, sizga ushbu dasturni amalga oshirish xususiyatlarining tavsifi beriladi. Bundan buyon kompyuterda dasturlash va amaliy ko'rsatmalar tugaguniga qadar butun dunyo bo'ylab mavjud funktsiyalar doirasini kengaytirib, asosiy konstruktsiyalar va ma'lumotlar turlariga yopishib olish tavsiya etiladi.

Algoritmlarni ishlab chiqish va amalga oshirishda tezlik kodi, xotira va ma'lumotlar bilan qo'lda ishlov berish orqasida turgan dasturlarni olib tashlashdan tortinmang. Murakkab algoritmni ishlab chiqish, dasturlash va nozik sozlash uchun sarflangan qo'shimcha soatlar uning turg'unligidan natijalar berishi mumkin, hidning bo'laklari juda kech bosqichda olib tashlanadi.

Asl dasturni avvalroq yo'q qilish muhim, bu bilan algoritmning murakkabligi, ixchamligi va ba'zan hisoblash samaradorligini qurbon qilish kerak. Dasturni takomillashtirish, agar vazifani belgilashni aniqlashtirish, turg'unlik doirasini aniqlashtirish uchun tajribalar o'tkazilsa, keyingi soatgacha yakunlanishi mumkin.

chiqish ma'lumotlarini kiritish va natijalarni qayta ishlash qulayligi uchun dasturlar. Shu nuqtai nazardan, algoritmni ishlab chiqishda modullik tamoyilini ta'kidlash ham qiziq, chunki modullardan tashkil topgan dastur fragmentlarini modernizatsiya qilish osonroq. Ma'lumotlarni kiritish, xususiyatlarni ajratish va natijalarni ko'rsatish uchun dastur modullarini ko'rish sizga teri moduli ichidagi dasturdagi joriy o'zgarishlarni lokalizatsiya qilish, shuningdek, yangi vazifalar uchun "kelajak" bloklarini tayyorlash uchun ularning harakatlarini tahlil qilish imkonini beradi.

Dasturlarni o'rnatish va sinovdan o'tkazish

Klaviaturadan dasturlash va ma'lumotlarni kiritishda xatolarga yo'l qo'yilishi mumkin. Ularni aniqlash, mahalliylashtirish va identifikatsiya qilish dasturni ishlab chiqish va sinovdan o'tkazish bosqichida yakunlanadi.

Dasturchilarning professional mahoratining mezonlaridan biri bu ularning quvvat muammolarini aniqlash va tuzatish qobiliyatidir: dastlabki bosqich dasturlari ko'p ish qila olmaydi va bu, ayniqsa, ilg'or dasturlar uchun qiyin U hali ham qichqirmaydi. Dasturlardagi afv etish hamma narsani to'xtatadi.

Turli mualliflarning fikriga ko'ra, dasturlarni ishlab chiqish va sinovdan o'tkazish bosqichi dastur yaratish va qaror qabul qilishning barcha bosqichlariga sarflangan vaqtning 50 dan 70% gacha vaqtni oladi. Rivojlanish bosqichining ahamiyati va qiyinligi bilan bog'liq holda, barcha kundalik dasturlash tizimlari xatolarni aniqlash va bartaraf etishga yordam beradigan maxsus xususiyatlarga ega. Algoritm ishlab chiqish bosqichida, dasturga kiritilgan eng oddiy boshqaruv funktsiyalarini uzatishi kerak, ular quyidagilarga bo'linadi: boshqa kiritilgan ma'lumotlar ular mashina xotirasiga o'qilgandan so'ng darhol (luna-druk) va boshqalar. asosiy nuqtalarda oraliq natijalar. Bundan tashqari, dastur strukturasini imkon qadar ko'proq tushunish kerak, uni pastki dasturlar yoki protseduralar shaklida amalga oshiriladigan modullarga bo'lish usuli, shuningdek, eng sodda va tilning tuzilishini tushunish kerak. dasturchi tomonidan o'zlashtirilgan.

Kompyuterda vazifalarni hal qilish

Ushbu bosqichda kompyuter barcha o'tkazmalarni hisoblash dasturiga saqlaydi va natijalarni ekranda yoki boshqasida ko'rsatadi. Natijalarni keyingi qayta ishlashni osonlashtirish uchun dasturni ishlab chiqish vaqtida natijalarni tushuntirishlar bilan etkazish kerak. Ko'rsatiladigan natijalar raqamlari va jadvallari sarlavhalari berilishi kerak, ba'zi ma'lumotlar guruhlari boshqa qatorlardan qo'llab-quvvatlanishi kerak. Funktsiyani jadvalga kiritishda argumentlarning qiymatlarini va qaysi funktsiya parametrlarga kiritilganligini ko'rsatishni unutmang; funktsiya qiymatini kiritishdan oldin parametrlarning qiymatlarini kiriting.

Agar dasturlashning dalillari etarli bo'lmasa, natijalarni taqdim etish shakli bo'g'ilib qoladi, ammo vaqti-vaqti bilan siz bu oziq-ovqatlarga iz qo'shishingiz kerak, bu esa qoldiqlarni oxirgi sumkada qoldirib, ma'lumotlarni keyingi qayta ishlash qiyinligini kamaytiradi. . Natijalarni ekranda tahlil qilish orqali dasturni sinovdan o'tkazish orqali ma'lumotlarni taqdim etish shaklini ishlab chiqish muhimdir.

Oziq-ovqatlarni nazorat qilish

1. Kompyuter dasturlash samaradorligiga qanday omillar ta'sir qiladi?

2. Kompyuteringizda vazifalarni hal qilish bosqichlarini qayta tashkil qiling.

3. Muammoning matematik modelining asosiy afzalliklari nimada?

4. Algoritmlarning asosiy parametrlarini ayting.

5. Kompyuterda dasturlarni ishlab chiqishda qanday xususiyatlarni hisobga olish kerak?

6. Algoritmni ishlab chiqish qanday yakunlanadi?

VAZIFANI QALOR QILISh ALGORITMMINI QO'YISH

Algoritmning tavsifi

Algoritm muayyan vazifalarni hal qilish uchun aniq tuzilgan qoidalarning yakuniy ketma-ketligini bildiradi. Algoritm quyidagi kuchga ega:

Muhimligi. Bajarilishi kerak bo'lgan barcha harakatlar qat'iy ko'rsatilgan.

Aqllilik. Bajarilishi kerak bo'lgan barcha harakatlar, albatta, algoritm terisi tomonidan tushuniladi. Bu kuchni algoritmning bir ma'noliligi sifatida talqin qilish mumkin, ya'ni Viconian harakat qoidalarining birligini va ularning viconnation tartibini anglatadi.

Yakuniylik. Algoritmni o'rnatadigan teri jarayonini yakunlashning viskozitesi va algoritmni maqsad bilan yakunlash.

Hosildorlik. Agar algoritm vazifaning oxirigacha turg'un bo'lsa, unda soatlar soni tugagandan so'ng natija rad etilishi mumkin.

Massivlik. Muammoning umumiy shakllantirilishiga qarab, bu algoritmni eng yuqori sinf vazifalariga qo'llash mumkin.

To'g'rilik. Algoritmning berilgan topshiriqlar asosida to'g'ri natijalarni berish qobiliyati.

Har bir qoida algoritmga buyruq taklifi sifatida yoziladi, buni Vikonian algoritmga Vikonga buyruq sifatida tushunadi.

Keling, bir qator buyurtmalarni chiqarish algoritmlarini ko'rib chiqaylik. Zavdannya 1. Formuladan foydalanib x ni hisoblash algoritmini tuzing

x = a (r - q) 2, bu erda p ≠ -12.

p+12

1. boshoq;

2. b ni hisoblang: = p + 12;

3. c:= r – q ni hisoblang;

4. d ni hisoblang: = c;

5. Hisoblang e: = ad;

6. X:= e/b ni hisoblang;

7. Natijani yozing: x;

1-topshiriqni hal qilish algoritmiga kirishda topshiriq xati kiritilgan.

- Zminni. Shunday qilib, b orqali biz p + 12 ni c orqali - r - q orasidagi farqni belgilaymiz. Yozib olish

b:= p+12, dastlab p ning oldingi qiymati uchun p + 12 yig'indisi topiladi va keyin bu qiymat b o'zgaruvchiga beriladi.

a, p, q, r turli qiymatlarga ega ekanligini hisobga olsak, farqni x hisobi bilan hisoblashimiz mumkin. Shuning uchun, algoritm faqat bitta emas, balki butun vazifalar sinfini tanlash imkonini beradi. Algoritmning bu xususiyati massa algoritmi deb ataladi. Bir nechta vazifaga bog'liq bo'lgan algoritmlar mumkin.

a, p, q, r, 12 qiymatlari algoritm uchun chiqish ma'lumotlarini qo'shadi, 12

- doimiy ombor ma'lumotlari, a, p, q, r - o'zgaruvchan ombor ma'lumotlari. b, c, d, e qiymatlari qo'shimcha o'zgaruvchilar, x - algoritm natijasi.

Algoritm chiziqli deb ataladi, chunki uning barcha buyruqlari ularni yo'naltirish tartibini buzmasdan, ketma-ket yoziladi. 1-masalani yechish algoritmi chiziqli.

Shuni ta'kidlash kerakki, formulaning o'zi algoritm emas, chunki u operatsiyalarning aniq tartibini ko'rsatmaydi.

Zavdannya 2. Formulaning orqasida

x = − b ± b 2 − 4 ac kvadrat tenglamani ochish algoritmini katlama

ax2 + bx + c = 0 (a ≠ 0).

1. boshoq;

2. p: = 2a;

3. D:= b 2 - 4ac;

4. Agar D ≥ 0 bo'lsa, 5-bosqichga yoki 10-bosqichga o'ting;

5. d: = D;

6. x 1 : = - b - d; p

7. x 2 : = - b + d; p

8. Natijani yozing: x 1, x2;

9. 11-bosqichga o‘ting;

10. Natijani yozing: faol ildizlarning darajasi muhim emas;

11. Kinets.

Kelajakda algoritm butunlay buyruqqa bog'liq, shuning uchun 2-masalalarni yechish algoritmi endi chiziqli emas. Arifmetik operatsiyalar va kvadrat ildiz operatsiyalariga qo'shimcha ravishda, hisoblash jarayoni 4-qoidani aqlni teskari aylantirish operatsiyasi bilan almashtiradi: tanlangan aqlga (sic) yoki nomsiz aql (lar) ga qarab ikkita mumkin bo'lgan davomlardan biri tanlanadi. Bunday algoritm shifrlash deb ataladi. Algoritmdagi qoidalar ketma-ketligini o'zgartirishi mumkin bo'lgan operatsiya keruvanniy operator deb ataladi.

Amallar tartibini bildiruvchi buyruqlar ikki turga bo'linadi: buyruqlar ruhiy o'tish bu buyruq aqldan ozgan o'tish. Aqliy o'tish buyruqlaridan oldin, masalan, 2-topshiriqni hal qilish algoritmiga 4-qoida qo'llaniladi. 9-qoida: Uzluksiz o'tish uchun qasos oling.

Aqliy o'tish buyruqlari psixik tip uchun majburiy va mantiqiydir: agar a ◊ b bo'lsa, u holda ... (bu erda ◊ > , ≥ , operatorlaridan biri.< , ≤ , = , ≠ ).

Algoritm sxemasi

Algoritm diagrammasi - o'zaro bog'langan bloklarning qo'shimcha tuzilishi bilan algoritmning grafik tasviri. Teri bloki qo'shiqchi figura sifatida tasvirlangan. Devrenning bloklari yoylar bilan bog'langan. Yoylar algoritmga muvofiq bloklarni to'g'rilash tartibini ko'rsatadi. Bloklarning turlari Malyunka 1da keltirilgan.

1-rasm. Blok turlari

To'g'ridan-to'g'ri to'sar S deb nomlangan hisoblashning yangi bosqichiga joylashtiriladi funktsional blok, yoki jarayon (1-rasm, a). Yangi ongga joylashtirilgan romb P deb ataladi miya inversiya birligi, yoki qarorlar (1-rasm b). U algoritm diagrammasidagi bloklar tartibini nazorat qilish uchun ishlatiladi. Funktsional blokdan bitta strelka va lavaboni inversiya blokidan ikkita strelka chiqadi. Aqlni tekshirish uchun vikonik buyruq natijasida yo vikonik (sic) yoki vikonik bo'lmagan (no) ko'rsatilgan aql P olib tashlanadi, deb tushuntirish kerak. Axborot bloki(1-rasm, c) kiritish va olib tashlash uchun ishlatiladi A. Bloklar (1-rasm, d) va (1-rasm, e) kobga o'xshash va terminal deb ataladi. Vazifa sxemasi oxirgi blokdan boshlanadi va oxirgi blokda tugaydi.

Muammoni hal qilish algoritmi oldingi blokdan oxirgi blokgacha yoylar bilan aniqlangan to'g'ri chiziq bo'ylab sxema bo'yicha amalga oshiriladi. Axborot bloklari belgida ko'rsatilgan parametrlarning qiymatlarini va kiritilgan parametrlarning qiymatlarini ko'rsatadi. Funktsional va mantiqiy bloklarda o'zgarmaydigan operatorlar qayd etilgan.

Funktsional bloklar soni ular uchun harakatlar yozib olinmaguncha davom ettiriladi. Mantiqiy bloklar uchun tahlil natijasida ikkita mumkin bo'lgan yoylardan birini tanlash mumkin "shunday" yoki "yo'q" va boshqaruvni yoy ko'rsatilgan blokga o'tkazish mumkin. Shuning uchun, algoritmni amalga oshirish bilan oldingi blokdan oxirgi blokgacha faqat bitta yo'l mavjud.

Algoritm sxemalari shakllantirilganda, bloklarda qayd etilgan o'zgaruvchan operatsiyalarning ma'nolari allaqachon aniqlanganligi asosida vazifa chiqariladi. Algoritmlarning rivojlanishi tufayli maxsus qo'shimchalar zarur, bu o'zgarishlarning ahamiyatidan dalolat beradi.

Kichkintoylar 2 va 3 n - sonlar yig'indisini topish masalasini hal qilish algoritmlari diagrammalarini ko'rsatadi: a1, a2, a3, a4,.., an.

Annotatsiya: Fanning predmeti dasturlashdir. Algoritm kuchining ustuni. Dasturlash paradigmalari (direktiv, ob'ektga yo'naltirilgan va funktsional-mantiqiy dasturlash).

Kurs boshlanadigan ushbu bo'lim ikkita asosiy maqsadga xizmat qiladi:

  • axborotni qayta ishlashning turli usullaridan foydalangan holda keyingi rivojlanish uchun zarur nazariy asoslarni tayyorlash, kichik usullarda dasturlash va to'g'ri, samarali dasturlar yaratish;
  • Ma'lumotlar Java tili haqida amaliy dasturlash bilimlari va kichik standart dasturlarni yaratish uchun minimal darajada zarurdir.

Nazariy materialni o'rganish jarayonida bo'limlar amaliyot ehtiyojlarining xilma-xilligi - Java-dagi aniq vazifalarning ko'p qirraliligi tufayli muvaffaqiyatsiz bo'lishi mumkin. Boshqa tomondan, dasturlash uchun eng yuqori vazifa, to'g'ri va samarali dastur yozish birinchi qarashda ko'rinadigan darajada oddiy emasligini tushunishga olib kelishi mumkin.

Kerakli nazariy asoslarni bilish boshqa bo'limdan dasturlarni ularning to'g'riligini isbotlashga undash usullarini ishlab chiqishga o'tishga imkon beradi - bu haqda o'rganish bilan parallel ravishda dasturlarni amaliy yozish uchun asos bo'ladigan nazariyalar. Shu tariqa, bu ikki o‘quv materialining bir oqimi bilan mutlaqo bog‘lanmagan ko‘rinadi – nazariy va amaliy, keyingi bo‘limda biriga birlashadi. Bu orada o‘quvchi o‘zi bilgan narsaga ishona olmay qoladi. hamma narsa Birinchi bo'limning materialida emlashning boshlanishiga muvaffaqiyatli o'tish uchun zaruriy fikrlash mavjud.

Va bu hurmatli bo'lib qoladi - bu ko'proq texnologik. Java tilini o'rganishning birinchi bosqichida uning ob'ektga yo'naltirilganligini unutib, algoritmni to'g'ri amalga oshirishning mahalliy muammolariga e'tibor qaratish foydalidir. Biroq, buni qilish unchalik oson emas - ORP ning asosiy tushunchalarini tushunmasdan, eng oddiy dasturlarda yangi asosda yozilgan. Ushbu muammoning alohida muammosi uchun ijodlar ushbu sinf uchun maxsus yaratilgan Xterm, bu Ajam dasturchini haqiqiy dunyo Java tilining murakkabligidan himoya qiladi.

Dasturlash fanining predmeti

Uzoq vaqt davomida odamlar qo'shiqning maqsadiga erishish uchun zarur bo'lgan harakatlar ketma-ketligining inventarlarini yaratishga muvaffaq bo'lishdi. Bunday inventarlarni odamlar yoki avtomatik qurilmalar qayta ishlashlari mumkin. Odamlar uchun yozilgan matnlar, qoida tariqasida, ma'lum darajada ahamiyatsiz va norasmiylikka ega. Butt haqida pazandalik retseptidan ibora bo'lishi mumkin dribtsi tuzlar Faqatgina odamlar ushbu tavsiyaga muvofiq o'tlarni to'g'ri tuzlashlari mumkinligini allaqachon tasdiqlashgan.

Ushbu misol nima uchun avtomatik qurilma uchun zarur bo'lgan harakatlar ketma-ketligi tavsifi bir ma'noli bo'lishi va har qanday rasmiy ma'no tizimiga tayinlanishi kerakligini to'liq tushuntiradi. Ko'pincha bunday tavsiflarni yaratish muhim texnik va muhim qiyinchiliklar bilan bog'liq. Wiki tadqiqotida tez-tez ishlatiladigan elektron hisoblash mashinalarining (ECM) keng assortimenti tufayli bu muammo juda dolzarb bo'lib qoldi.

Harakatlar ketma-ketligining tavsifi, qo'shiqni boshqa har qanday avtomatik qurilmaga ulash uchun to'ldiring. algoritm. Ushbu ketma-ketlikni ma'lum rasmiy ma'nolarga qo'shimcha ravishda yozib qo'yish (kodlash) uchun buyurtma bering. Bunday holda, algoritmlarni yozish uchun mo'ljallangan rasmiy tizim deyiladi mening algoritmim, matnning o'zi algoritmga - dastur, va uni yaratish jarayoni - dasturlashtirilgan.

Kompyuter fanlari algoritmlarning kuchini tekshirish va dasturlarni taklif qilish usullarini ishlab chiqish bilan shug'ullanadi. Uning kelib chiqishi va usullari ortida amaliy matematika sohasiga tegishli. Har bir inson dasturga texnik intizom nuqtai nazaridan yondashishni sinab ko'rdi va sanoat ishlab chiqarishi dasturini yaratishdan oldin, ular doimo muvaffaqiyatsizlikka uchradi.

Hurmat bilan, algoritm uchun ko'proq "muhim" suvni tez-tez to'ldirishdir va, aslida, buni amalga oshirish uchun mo'ljallanmagan. Matematika bir-biriga ekvivalent bo'lgan juda aniq algoritm qiymatlariga ega va ularning aksariyatini tushunish qiyin emas. Biroq, bu hidlarning barchasi matematikaning qo'shiq galoziyasini puxta bilishni talab qiladi va shuning uchun biz algoritmni to'liq tushunish uchun zarur bo'lgan (hatto muhim) tafsilotlarga kirmaymiz. Shuning uchun biz algoritmni ko'rib chiqamiz va keyin algoritm aybdor bo'lgan asosiy kuchlarni bekor qilamiz.

Keling, agar siz qo'shiqni faol vikorist qilish uchun etarlicha aniq tushunchaga ega bo'lmasangiz, ilm-fan yanada xarakterlidir. Masalan, natural va haqiqiy sonlarning aniq ma’nolari nafaqat o‘rta maktabda, balki ko‘pchilik o‘rta maktab o‘quvchilarida ham tushunilmaydi. Qolaversa, qirqayoq oyoqlarini qanday tartibga solish haqida o'ylarkan, qanday yurishni unutganga o'xshaydi.

Algoritmning kuchi

Birdan katta natural sonning eng kichik tub hosilasini topish masalasini hal qilaylik. Bilasizmi meni kechiring Raqam shunday nomlanadi, chunki uning o'ziga teng bo'lgan raqamlari bor va bittasi tub sonlar birligiga kirmaydi. Ushbu kitobning o'qi quyidagicha:

Zavdannya 1.1. Shu sonning eng kichik tub qismini topish uchun birdan katta natural sondan foydalanadigan algoritmni o‘ylab toping.

Muammoni hal qilish algoritmi.

Algoritm P:

P1: Butun sonni teng ikkiga joylashtiring va P2 bosqichiga o'ting.

P2: ga toʻliq boʻlsangiz, natijani koʻrib, algoritmni bajaring; Aks holda, croc P3 ga o'ting.

P3: Qiymatni bittaga oshiring va P2 masshtabiga o'ting.

Ushbu algoritmni tushunish uchun siz kompyuter sifatida harakat qilishingiz kerak (yoki boshqa universal jamoa rahbari), Men ma'lum kichik qiymatlar uchun yangi harakatlar ketma-ketligini qo'lda kiritaman. Teri krokus algoritmidan keyin qiymatning qiymatini yozamiz.

k = 3 k = 4 k = 2
P1: i = 2 P1: i = 2 P1: i = 2
P2: i = 2 P2: i = 2 P2: i = 2
P3: i = 3
P2: i = 3

Bunday tadqiqotlar ishni tugatgandan so'ng, algoritm chiqish sonining eng kichik tub omilini samarali ravishda topishini muhim qiladi. Bu holatni shu darajaga yetkazish qiyin emas. Uni olish uchun Obov'yazkovo.

Asosiy hokimiyat organlari har qanday algoritm - uning tugashi, ahamiyati, kiritish (kirish), chiqishi (yangilash) va samaradorligi. Keling, ularning hisobotlarini birma-bir ko'rib chiqaylik.

Kintsivka. Algoritm oxirgi soatlar tugaganidan keyin tugash uchun javobgardir. P algoritmi bu fikrni qondiradi, chunki namunaning qiymati kamroq, uning qiymati P2 ning teri qiymatiga bir marta ortadi va algoritm P2 ga tub son bo'lsa yoki u birja raqami bo'lsa, avvalroq tayinlanadi. .

Muhimligi. Teri lezyonlarida amalga oshirilishi kerak bo'lgan harakatlar toshma uchun aybdor va teri lezyonlarida noaniq. Bunday holda, tizim qo'shiqni to'ldirish uchun o'rnatiladi, garchi butunlay rasmiy qadriyatlar tizimi mavjud. Ko'pincha, algoritmlar ko'proq rasmiy algoritmik tilni yozadi, ular ham deyiladi movami dasturlash, unda terining qattiqligi o'z o'rnini egallaydi.

Nina minglab dasturlarga ega, ularning o'nlablari faol g'alaba qozonmoqda. Bunday ko'p faktlar turg'unlik sohalarining xilma-xilligi, dasturlarni yozadigan uskunalarning farqi va ularni yozadigan odamlarning tayyorgarlik darajasi, shuningdek, ushbu dasturlarni yozadigan ko'plab faktlar bilan bog'liq. (deb ataladi dasturlash paradigmalari).

Kiritish. Algoritm har kuni (ba'zan nolga teng) bir qator kirish ma'lumotlarini hosil qiladi, masalan, robotga uzatiladigan miqdorlar. Masalan, P algoritmida bitta kirish qiymati birdan katta butun sondir. Kirish ma'lumotlarining bo'sh to'plamini oladigan algoritmga misol qilib, oddiy sonni 1000 ni hisoblaydigan algoritm bo'lishi mumkin.

Chiqish. Algoritm har doim bir yoki bir nechta chiqish qiymatlarida aybdor. P algoritmi uchun bunday qiymat sondir. Chiqish ma'lumotlarini ishlab chiqaruvchi algoritmlar amaliy va biz ulardan foydalanishimiz mumkin.

Samaradorlik. Algoritm samarali bo'lishi kerak. Bu shuni anglatadiki, algoritmda bajarilishi kerak bo'lgan barcha operatsiyalar sodda bo'lishi kerak, shunda ular printsipial jihatdan to'g'ri va oxirida mos asbob va qog'oz yordamida bajarilishi mumkin. Algoritm P quyidagi amallarni bajaradi: ikkita butun son teng, bitta musbat son boshqasiga bo'linadi, ikkita butun sonning qiymati o'zgaruvchi sifatida beriladi va uning qiymati bittaga oshiriladi.

Bu operatsiyalarning barchasi yuqori ma'no uchun samaralidir, chunki butun sonlar qog'ozga oxirgi tartibda yozilishi mumkin va ikkita butun sonni bo'lish va qo'shishning bir usuli yordamida tan olinishi mumkin. Agar operatsiyalarning o'zi samarali bo'lmasa, xuddi ular algoritmda paydo bo'ladigan miqdorlarning qiymatlaridek, ular hisoblanmagan o'nlab kasrlarda ifodalangan juda faol raqamlar bo'lar edi, bunday miqdorlarning bo'laklarini qog'ozga yozib bo'lmaydi. oxirgi soatda

Aytgancha, EOM bilan nima amaliy haqiqiy sonlar bilan ishlash qiyin, Nima, ehtimol, sizga aql bovar qilmaydigan tuyulishi mumkin. Bu haqiqat, bu haqiqat. Bundan tashqari, kompyuterda mos yozuvlar butun sonlari bilan yozish tez-tez bajarilmaydi. Bir nechta tamsayılar va haqiqiy sonlarni ularning o'rnini bosuvchilar bilan almashtirishni rag'batlantiring

Algoritmni tushunish kompyuter fanining asosiy tushunchasidan oldin tushunilishi kerak. Algoritmning asosiy tushunchalarini ko'rib chiqamiz.

Algoritm haqida gapirganda, biz doimo algoritm tegishli bo'lgan qo'shiqchi Vikonavianning sharafini hurmat qilishimiz kerak.

Vikonavets - harakatlarni yakuniy terishni bekor qilishi mumkin bo'lgan shaxs yoki avtomatik mashina (masalan, kompyuter).

Atribut - belgilangan yakuniy to'plamdan g'alabali harakatning tartibi.

Buyurtma tizimi - ruxsat etilgan jazolar yig'indisi.

Dastur - ularni bajarishning belgilangan tartibida buyurtmaning yakuniy ketma-ketligi.

Agar Wikonavian kompyuterga ega bo'lsa, hisob chaqiriladi jamoa , va tartib tizimi chaqiriladi kompyuter buyruq tizimi . p align="justify"> Turli xil kompyuterlar qurilmalariga asoslangan turli xil buyruq tizimlariga ega bo'lishi mumkin.

Dasturlash - Belgilangan vazifani bajarish uchun zarur bo'lgan buyruqlar ketma-ketligi ishlab chiqilgan.

Dasturning tarkibi algoritmga o'tkaziladi.

Algoritm - aniqroq va oqilona, ​​siz harakatlarning yakuniy ketma-ketligini, belgilangan maqsadga erishish va vazifani hal qilish uchun hissa qo'shishingiz kerak bo'ladi.

Qaysi algoritm bunday kuchga ega bo'lishidan qat'i nazar:

  • 1. Diskretlik. Algoritm elementar jarayonlar - jarayonlar ketma-ketligiga bo'linadi. Teri harakati Viconavian tomonidan yakunlanishi mumkin, avval pastdan biz Viconan boshlanishiga o'tamiz. Terining harakati buyruq deb ataladigan algoritmga kirishda maxsus qo'shimcha bilan ko'rsatiladi.
  • 2. Aniqlik va determinizm. Algoritmni yozib olish shunday amalga oshirilishi kerakki, u shaytonning buyrug'ini bergan bo'lib, buyruqni haqoratli tarzda bajarish kerakligini aniq bilib oladi.
  • 3. Oqilonalik. Teri algoritmi muayyan foydalanuvchi uchun ishlab chiqiladi, u algoritmga uning turiga qarab teri buyrug'ini belgilash imkoniyatiga ega bo'ladi.
  • 4. Hosildorlik. Algoritm bo'yicha barcha ko'rsatmalarning aniq bajarilishi bilan jarayon oxirgi daqiqalar sonida bajarilishi kerak va bu holda vazifani bajarish yo'qolishi mumkin. Mumkin bo'lgan echimlardan biri vazifani hal qilib bo'lmasligini aniqlash bo'lishi mumkin
  • 5. Masovist. Xuddi shu algoritm yordamida bir xil turdagi vazifalarni bajarish va ularni bir necha marta bajarish mumkin. Massalarning kuchi algoritmlarning amaliy qiymatini sezilarli darajada oshiradi.

p align="justify"> Algoritmlarning katta qiymati shundaki, ular ustida ishlayotgan narsaning joyiga borish shart emas va shu bilan birga ular Viconaviandan tashqari ko'proq bilimga bo'lgan ehtiyojni yo'q qiladi.

Vazifani echish jarayonini o'z ichiga olgan eng oddiy operatsiyalar ketma-ketlikdagi topshiriqlarda algoritmga ma'lum buyruqlar berish uchun maxsus mo'ljallangan avtomatik qurilmani amalga oshirishi mumkin. Berilgan vazifani hal qilish algoritmini chiqarish mumkin bo'lgandan so'ng, uning faoliyatini avtomatlashtiradigan mashinani yaratish mumkin bo'ladi.

Teri algoritmi ma'lum chiqish ma'lumotlarining ko'rinishini uzatadi. Masalan, tibbiy retsept (algoritm) uchun chiqish ma'lumotlari dori-darmon bo'lib, natijada tayyorlangan dori-darmonlar shishasi olinadi. Algoritm uchun chiqish ma'lumotlari bir juft qo'shimchalar bo'lib, natija ularning yig'indisidir. Teri algoritmi uchun chiqish ma'lumotlari sifatida qabul qilinadigan ob'ektlar sinfi mavjud. Ba'zi chiqish ma'lumotlari moddiy ob'ektlar yoki raqamlardir.

Algoritm xuddi shu qoidadir, chunki u mening ishim bilan tuzilgan. Chiqarish ma'lumotlari va qidirilgan natijalar, shuningdek, mening faoliyatimning tavsifi bilan bog'liq, ehtimol bo'ysunuvchi tarzda, masalan, algoritm tavsifi.

Shuningdek, algoritm ikki so'z bilan bog'langan: formulalarning o'zi, ikkinchisining takliflari va chiqish ma'lumotlarining boshqa maqbul variantlari.

Masalani yechish algoritmini ishlab chiqish algoritmlash deyiladi. Algoritmlash jarayonida vazifalar ketma-ket tartibga solingan izchil bosqichlar ketma-ketligiga qisqartiriladi.

Algoritmlar va dasturlar o'rtasida aniq farq yo'q. Dastur vazifani echish, uni kompyuterda yozib olish va g'olibona til dasturlashning qo'shimcha takliflari yordamida yozib olish algoritmi deb ataladi.

Algoritmik tuzilma Bu odatiy harakatlar ketma-ketligi shakllanmaguncha algoritmning qo'shni bosqichlarini ulashning standart usuli.

Algoritmlar nazariyasi shuni ko'rsatadiki, har qanday algoritm uchta algoritmik tuzilmaning kombinatsiyasi sifatida ifodalanishi mumkin: to'g'ri chiziqlar, vilkalar va tsikllar.

Bu harakatlar ketma-ketligidir (12-rasm).

Kichik 12.

Mantiqiy aqlning haqiqatiga qarab, bu boshqa narsani engish kerak bo'lgan paytlarda qiyin bo'ladi (13-rasm).


Kichik 13.

1 va 2 amallar o'ziga xos tarzda boshqa algoritmik tuzilmalarni o'z ichiga olishi mumkin.

Velosiped . Harakatlarni bir necha marta bekor qilish kerak bo'lganda, u tiqilib qoladi. Tsiklning ikki turi mavjud.

Agar ba'zi operatsiyalarni Milkova misolida bo'lgani kabi takrorlash kerak bo'lsa, qiyinlashadi (14-rasm).

Kichik 14. Velosiped Oldin.

Kob tayinlari ostida, chiqish qiymatlari tsikldagi kabi o'zgaruvchan qiymatlarga tayinlangan operatsiyalar mavjud. Tez-tez takrorlanadigan harakatlar ketma-ketligi tsiklning tanasi deb ataladi.

Agar ma'lum operatsiyalar aqlning harakati to'g'ri bo'lgunga qadar takrorlashni talab qilsa, qiyinlashadi (15-rasm).

Kichik 15. Velosiped Boo.

2.4.1. Asosiy algoritmlarni tushunish

2.4.2. Chiziqli tuzilish algoritmlari

2.4.3. Loyihalashtirilgan tuzilmalarning asosiy algoritmlari va ularni dasturlashning qo'llanilishi

2.4.4. Muntazam siklik tuzilmalarning asosiy algoritmlari va ularni dasturlashning qo‘llanilishi

2.4.5. Takrorlanuvchi siklik tuzilmalarning asosiy algoritmlari va ularni dasturlashning qo‘llanilishi

2.4.6. Bir o'lchovli massivlarni qayta ishlashning asosiy algoritmlari

2.4.7. Ikki o'lchovli massivlarni qayta ishlashning asosiy algoritmlari

2.4.8. "Asosiy algoritmlar va ularni amalga oshirishning qo'llanilishi" mavzusidagi test taqdimoti

2.4.9. "Asosiy algoritmlar va ularni amalga oshirishning qo'llanilishi" mavzusidagi testlar

2.4.1. Asosiy algoritmlarni tushunish

Ma'lumotlarni qayta ishlashning asosiy algoritmlari o'nlab yillar davomida olib borilgan tadqiqotlar va ishlanmalar natijasidir. Ale hidi, avvalgidek, kengayib borayotgan turg'un hisoblash jarayonlarida muhim rol o'ynashda davom etadi.

Imperativ dasturlashning asosiy algoritmlariga quyidagilar kiradi:

    Eng oddiy algoritmlar asosiy algoritmik tuzilmalarni amalga oshirish.

    Algoritmlar Ma'lumotlar tuzilmalariga ega robotlar. Ular algoritmlarni amalga oshirish, tahlil qilish va moslashtirish uchun ishlatiladigan asosiy tamoyillar va metodologiyani ko'rsatadi. Ma'lumotlarni taqdim etish usullari va usullari to'g'risidagi bayonotlarni rad etishga ruxsat beriladi. Bunday tuzilmalarga bog'lovchi ro'yxatlar, qatorlar, daraxtlar, mavhum ma'lumotlar turlari, masalan, steklar va tortmalar kiradi.

    Algoritmlar saralash xonasi, massivlar va fayllarni buyurtma qilish uchun mo'ljallangan, alohida ahamiyatga ega bo'lishi mumkin. Saralash uchun algoritmlar bog'langan, zokrema, chergi ustuvorlik, tanlash va yomonlik bilan.

    Algoritmlar shunchaki hazil Elementlarning katta to'plamlarida aniq elementlarni qidirish uchun mo'ljallangan. Bularga raqamli kalit daraxtlarini qidirishning asosiy va kengaytirilgan usullari, jumladan raqamli qidiruv daraxtlari, muvozanatli daraxtlar, xeshlash, shuningdek, juda katta fayllar bilan ishlash uchun mos usullar kiradi.

    Grafiklar bo'yicha algoritmlar balandliklar, past katlama va muhim buyurtmalar bilan jigarrang. Grafiklar bo'yicha izlashning dastlabki strategiyasi parchalanib ketgan va izchillikning asosiy muammolariga, shu jumladan eng qisqa yo'lni topish muammosiga, minimal cho'tka daraxtini yaratishga, chegaralardagi oqimlar muammosiga va bug 'hosil qilish muammosiga to'xtab qolgan. Ushbu algoritmlarga yondashuvning unifikatsiyasi shuni ko'rsatadiki, ular bir xil protseduraga asoslanadi va bu protsedura ustuvorlik bilan chizmaning asosiy mavhum ma'lumotlar turiga asoslanadi.

    Algoritmlar qatorlarni kesish(uzoq) ketma-ket belgilar uchun past ishlov berish usullarini yoqing. Hazilni standart darajasiga ko'tarish kerak, bu o'ziga xos tarzda sintaktik tahlilga olib keladi. Vazifani qaysi sinfga yangilash mumkin va fayllarni siqish texnologiyalari.

2.4.2. Chiziqli tuzilish algoritmlari

Butt 2.4.2-1.

de x = -1,4; y = 0,8; o'zgaruvchanlar - butun tip, boshqa o'zgarishlar - nutq turi; [n] - n sonining butun qismi.

QBasic, Pascal, C++ algoritmi va dasturlari diagrammasi rasmda keltirilgan. 2.4.2-1.

Bekorlarga hurmat ko'rsating k yaxlitlangan qiymatlar n, lekin hamma narsa o'zgaruvchan m- qo'shimcha funktsiya uchun kesilgan FIX() qiymatning butun qismiga qadar n.

Butt 2.4.2-2. Hisoblang va joriy miqdorlarning qiymatlarini ekranda ko'rsating:

de x = 2,9512; y = 0,098633; o'zgaruvchan - butun tur; Boshqa o'zgarishlar moddiy turdagi.

Dasturning algoritmi va kodining diagrammasi rasmda keltirilgan. 3.2.1-2.

Kichik 2.4.2-2.

Chiqish ma'lumotlariga yuqori qiymatlarni belgilashda dastur natijalari quyidagicha ko'rinadi:

Butt 2.4.2-3. Birinchi kosmik suyuqlikning qiymatlarini hisoblang va ekranda ko'rsating.

Keling, rasmiylashtirishni amalga oshiraylik. Minimal suyuqlik, buning uchun kosmik kema Yerning tortishish maydonida sun'iy yo'ldoshga aylanishi mumkin,

de – tortishish kuchiga aylandi; M - Yerning massasi;
- Yerning markaziga kosmik kemaga boring.

Dasturning algoritmi va kodining diagrammasi rasmda keltirilgan. 3.2.1-3.

Kichik 2.4.2-3.

Chiqish ma'lumotlariga yuqori qiymatlarni belgilashda dastur natijalari shunday ko'rinishi mumkin.

1. Algoritm haqida tushuncha

Algoritm - topshiriqda ishtirok etadigan harakatlar ketma-ketligini bajarish uchun yakuniy vazifani aniqroq va oqilona tartibga solish. Ism " algoritm O'rta Osiyo matematigi al-Xorazm nomining lotincha shakliga o'xshaydi - Algoritmi.

Vikonavets algoritmi- bu algoritm tomonidan amalga oshiriladigan vykonati dii tomonidan yaratilgan mavhum yoki haqiqiy (texnik, biologik yoki biotexnika) tizim. Vikonavtsy xarakterlidir: o'rta zamin, elementar g'oyalar, buyruq tizimi, donolik. Sereda(yoki muhit) - bu Vikonavianning "yashash joyi" . Kozhen vikonovets berilgan ro'yxatdagi buyruqlarni vikonovati qilishi mumkin - buyruq tizimlari Vikonaviyalik. Teri buyrug'i uchun aqlning turg'unligini o'rnatish kerak (o'rtadagi ba'zi shtatlarda vikonan buyrug'i bo'lishi mumkin) va viconn buyrug'ining natijalarini tavsiflash. Buyruqni bosgandan so'ng, siz endi kundalik faoliyatni davom ettirasiz elementar harakat. Vidmovi Vikonavtsya aybdor, chunki buyruq o'rtada, buning uchun qabul qilib bo'lmaydigan holatda chaqiriladi.

Axborot texnologiyalarida algoritmlar uchun universal kompyuter mavjud.

2. Algoritmlarning kuchi

Bularni ko'rishingiz mumkin Algoritmlarning asosiy vakolatlari:

1) Aqllilik Viconavian uchun - tobto. Vikonavets algoritmi yogo vikonuvati kabi zodagonlar uchun aybdor.

2) Diskretlik(o'zgartirish, ajratish) - bu shunday. Algoritm muammoni hal qilish jarayonini oddiy va oldingi vazifalar ketma-ketligi sifatida ko'rsatishi kerak.

3) Muhimligi- tobto. Algoritm uchun har bir qoida aniq, aniq bo'lishi va diversifikatsiya qilish uchun joy qoldirmasligi kerak.

4) Hosildorlik(yoki tugatish). Bu kuch algoritm vazifani bir necha daqiqada bajarish uchun mas'ul ekanligidadir.

5) Masovist- masalani yechish algoritmi tashqi ko'rinishdan parchalanganligini bildiradi, keyin. Ushbu ish sinfi uchun turg'unlik bo'lishi mumkin, bu esa chiqish ma'lumotlari bilan cheklangan. Bunday holda, chiqish ma'lumotlari chaqirilgan qo'shiq maydonidan tanlanishi mumkin algoritm maydoni.

3. Algoritmlarni taqdim etish shakli

Eng keng algoritmlarni taqdim etish shakllariê: og'zaki, grafik, psevdokod va dastur.

1) Og'zaki shakl Yozuv - bu tabiiy tilda (masalan, rus tilida) ma'lumotlarni qayta ishlashning keyingi bosqichlarining tavsifi.

dumba. Ikki natural sonning eng katta kengaytiruvchisini (NDD) topish algoritmini yozing.

Algoritm: 1) ikkita raqamni o'rnatish; 2) agar raqamlar teng bo'lsa, ulardan bittasini ma'lumotnoma sifatida oling va umumlashtiring, aks holda algoritm bilan davom eting; 3) ko'proq raqamlarni hisoblash; 4) katta sonni katta va kichik sonning farqiga almashtiring; 5) 2-bosqichdan boshlab algoritmni takrorlang.

Algoritmning tavsiflari har qanday natural sonlar bilan cheklangan va oxirgi soatlarda vazifani bajarishga olib kelishi mumkin.

Og'zaki usul keng doiraga ega emas, faqat quyidagi tavsiflar mavjud:

a) qat'iy rasmiylashtirilmagan;

b) rekordlar boyligidan aziyat chekadi;

v) ma'lum buyruqlarni chalkashtirishda noaniqlikka yo'l qo'yish.

2) Grafik usul Algoritmlarning ifodasi ixchamroq va og'zaki ifodalarga o'xshaydi. Grafik diagramma yordamida algoritm har biri bir xil faoliyatga mos keladigan o'zaro bog'langan funktsional bloklar ketma-ketligi sifatida ko'rsatiladi. Bunday grafik ko'rinishga algoritm diagrammasi yoki deyiladi blok diagrammasi . Blok diagrammasida teri turi chaqirilgan geometrik shakl bilan ko'rsatilgan blokirovka belgisi. Blok belgilari ulangan o'tish chiziqlari, Vikonnining yovuzligi nimani anglatadi?

Quyida narx haqida xabar bering...

3) Psevdokod Bu algoritmlarni yozib olish uchun mo'ljallangan qiymatlar va qoidalar tizimi. Vin tabiiy va rasmiy til o'rtasida oraliq o'rinni egallaydi.

Bir tomondan, u tabiiy tilga yaqin, shuning uchun algoritmlarni tabiiy matn kabi yozish va o'qish mumkin. Boshqa tomondan, psevdokod vikorizatsiyalangan xizmat so'zlari algoritm rekordini rasmiy qabul qilingan matematik yozuvga yaqinlashtiradigan matematik simvolizm. Xizmat so'zlari qo'lda yozilgan matnda qalin shriftda ko'rsatiladi va boshqa matnda ko'rish uchun qo'lda yozilgan matnda ta'kidlanadi.

dumba. 1) ikkita x va y sonini bering; 2) YAKSHCHO x=y, KEYIN XUDO=x í KINETLAR; 3) AGAR x>y bo'lsa, THEN x=x-y, aks holda y=y-x; 4) 2-bandga o'ting.

4) Dastur shakliê turli dasturlash tillarida yozilgan dasturlarning matnlari.

Blok-sxemalardagi grafik belgilar quyida ko'rsatilgan.

"Dotrimannya" tuzilishi

Povna vilkalar

Nepovna Rozvilka

Fikrni o'zgartirish bilan aylanish

(POKI sikli)

Postumovadan tsikl (DN tsikli)

Parametr bilan aylanish

Diagrammalarda SERIES bir yoki bir nechta operatorlarni anglatadi; UMOVA - mantiqiy ifoda (LV) (agar uning qiymati TRUE bo'lsa, o'tish SO ga muvofiq, aks holda - NO ga muvofiq amalga oshiriladi). Vikoriston parametrli sikl diagrammasida quyidagi ma’nolar berilgan: PT – sikl parametri, NC – sikl parametrining boshlang’ich qiymati, KZ – sikl parametrining yakuniy qiymati, Sh – sikl parametrini o’zgartirish vaqt chegarasi.

Oqim diagrammalarida algoritmning boshi va oxiri oval bilan ko'rsatiladi, u kiritiladi va o'zgarishlar parallelogrammalarda qayd etiladi.

Printerlar