Algoritmlar blok diagrammasi misollari. Algoritmlar sxemalari - Vladimir Viktorovich Anisimovning o'quv va ilmiy faoliyati. hammasi - agar

Sxema - bu masalani yechish algoritmining grafik tasviri. Oqim diagrammasi hech qanday dasturlash tili bilan bog'lanmagan. Shunday qilib, sxema bloklaridagi barcha ifodalar oddiy matematika qoidalariga muvofiq yoziladi.

Blok diagrammalarda foydalana olmaydi dasturlash tilining elementlari.

Bloklarning maqsadi

Ism Belgilanish Funktsiya
Terminator Element tashqi muhitga chiqishni va tashqi muhitdan kirishni ko'rsatadi (eng keng tarqalgan foydalanish dasturning boshi va oxiri). Tegishli harakat rasm ichida yozilgan.
Jarayon Bir yoki bir nechta operatsiyalarni bajarish, har qanday turdagi ma'lumotlarni qayta ishlash (ma'lumotlarning qiymatini, taqdimot shaklini, joylashuvini o'zgartirish). Rasm ichida amallarning o'zi to'g'ridan-to'g'ri yoziladi, masalan, operatsiya: a:= 10 b + c
Yechim
(blok holati)
Bitta kirish va ikki yoki undan ortiq muqobil chiqishga ega bo'lgan kalit tipidagi qaror yoki funksiyani ko'rsatadi, ulardan faqat bittasini element ichida belgilangan shartlarni baholashdan keyin tanlash mumkin. Elementga kirish chiziq bilan ko'rsatiladi, odatda elementning yuqori cho'qqisiga kiradi. Ikki yoki uchta chiqish mavjud bo'lsa, odatda har bir chiqish qolgan tepaliklardan (yon va pastki) keladigan chiziq bilan ko'rsatiladi. Agar uchtadan ortiq chiqish mavjud bo'lsa, unda ular elementning yuqori qismidan (odatda pastdan) chiqadigan bitta chiziq sifatida ko'rsatilishi kerak, bu esa keyinchalik shoxlanadi. Tegishli hisoblash natijalari ushbu yo'llarni ifodalovchi satrlar yonida yozilishi mumkin.
Oldindan belgilangan jarayon Belgisi dasturning boshqa joyida (pastki dasturda, modulda) belgilangan bir yoki bir nechta amallardan iborat jarayonning bajarilishini aks ettiradi. Belgining ichida jarayonning nomi va unga uzatiladigan ma'lumotlar yoziladi. Masalan, dasturlashda - protsedura yoki funksiyani chaqirish.
Ma'lumotlar
(kirish chiqish)
Ma'lumotlarni qayta ishlash (kirish) yoki qayta ishlash (chiqarish) natijalarini ko'rsatish uchun mos shaklga aylantirish. Ushbu belgi saqlash muhitini aniqlamaydi (maxsus belgilar saqlash vositasi turini ko'rsatish uchun ishlatiladi).
Loop chegarasi Belgi ikki qismdan iborat - mos ravishda tsiklning boshi va oxiri - tsikl ichida bajariladigan operatsiyalar ular orasiga joylashtiriladi. Loop va o'sish shartlari tsiklni tashkil qilish turiga qarab, tsiklning boshlanishi yoki tugashi belgisi ichida yoziladi. Ko'pincha blok-sxemada tsiklni tasvirlash uchun bu belgi o'rniga undagi yechimni ko'rsatadigan shart belgisi ishlatiladi va chiqish chiziqlaridan biri blok diagrammada yuqoriroq yopiladi (tsikl operatsiyalaridan oldin).
Ulagich Belgi sxemaning bir qismiga kirishni va kontaktlarning zanglashiga olib keladigan boshqa qismidan chiqishni bildiradi. Chiziqni buzish va uni boshqa joyda davom ettirish uchun ishlatiladi (keraksiz kesishmalar yoki juda uzun chiziqlardan qochish uchun, shuningdek, agar diagramma bir necha sahifalardan iborat bo'lsa). Tegishli bog'lovchi belgilar bir xil (va noyob) belgiga ega bo'lishi kerak.
Izoh Bosqich, jarayon yoki jarayonlar guruhini batafsilroq tasvirlash uchun foydalaniladi. Ta'rif kvadrat qavsning yon tomoniga joylashtiriladi va uning butun balandligi bo'ylab qoplanadi. Nuqta chiziq tasvirlanayotgan elementga yoki elementlar guruhiga boradi (guruh yopiq nuqta chiziq bilan ajratiladi). Shuningdek, sharh belgisi ma'lum bir belgi (masalan, jarayon belgisi, ma'lumotlar belgisi va boshqalar) ichiga joylashtirilgan matn miqdori ushbu belgining o'lchamidan oshib ketgan hollarda qo'llanilishi kerak.

Boshqa elektron elementlarning tavsifini GOST 19.701 da topish mumkin (to'liq matnga havola chapdagi menyuda ko'rsatilgan).

Blok diagrammaga misol

Faraz qilaylik, keyingi qatorlar yig'indisini hisoblashimiz kerak

Dasturdagi qatorlar yig'indisini hisoblash uchun siz quyidagi amallarni bajarishingiz kerak:

  1. Yig'indining joriy qiymatini, halqa elementi hisoblagichining joriy qiymatini va yig'iladigan elementlarning umumiy sonini saqlash uchun foydalaniladigan o'zgaruvchilarni tavsiflang.
    Eslatma: bu harakat faqat algoritm talab qiladigan o'zgaruvchilar sonini aniqlash uchun zarur va shuning uchun bu harakatlar oqim sxemasida hech qanday tarzda hisobga olinmaydi.
  2. Foydalanuvchidan yig'ilishi kerak bo'lgan qator elementlari sonini oling, ya'ni ma'lumotlarni dasturga kiriting.
  3. Seriya yig'indisini saqlaydigan o'zgaruvchini nolga qo'ying.
  4. Loop hisoblagichini dastlabki qiymat bilan ishga tushiring.
  5. Joriy hisoblagich qiymatiga teng raqam bilan qator elementining qiymatini hisoblang va natijada olingan qiymatni summa o'zgaruvchisi qiymatiga qo'shing.
  6. hisoblagich qiymatini bittaga oshiring.
  7. Hisoblagich qiymati foydalanuvchi tomonidan belgilangan yig'ilgan elementlar sonidan kam bo'lsa, 5-bosqichga o'ting.
  8. Miqdorning qiymatini chop eting.

Bu algoritmning matnli yozuvi. Endi uni grafik diagramma (blok diagramma) shaklida amalga oshiramiz.

Agar siz oqim sxemalarini qanday yaratishni bilmasangiz, quyidagi maqolani o'qishni tavsiya qilamiz:

Oqim sxemalari - bu jarayonning bosqichlarini ko'rsatadigan diagrammalar. Oddiy oqim sxemalarini yaratish oson, shakllarning soddaligi va ravshanligi ularni tushunishni osonlashtiradi.

Eslatma. Shuningdek, Visio’dagi Data Visualizer yordamida ma’lumotlaringizdan oddiy oqim sxemasini avtomatik ravishda yaratishingiz mumkin. Qo'shimcha ma'lumot olish uchun Data Visualizer yordamida diagrammalar yaratishga qarang.

Visio-dagi oddiy oqim diagrammasi shablonida turli jarayonlarni vizual ko'rsatish uchun foydalanishingiz mumkin bo'lgan shakllar mavjud. Bu, ayniqsa, quyidagi rasmda ko'rsatilgan taklifni ishlab chiqish jarayoni kabi oddiy biznes jarayonlarini ko'rsatish uchun foydalidir.

Oddiy oqim diagrammasi shabloniga qo'shimcha ravishda, Visio ma'lumotlar oqimi diagrammalari, vaqt jadvallari va dasturiy ta'minot modellari kabi turli xil aniqroq diagramma shablonlarini taklif etadi.

Blok-sxema yaratish

    Visio ilovasini ishga tushiring.

    Belgini ikki marta bosing Oddiy blok diagrammasi.

    Oqim diagrammasi elementlarini ulash uchun sichqonchani birinchi shakl ustiga olib boring va ulanmoqchi bo'lgan shaklga ishora qiluvchi o'qni bosing. Agar ikkinchi shakl birinchisining yonida bo'lmasa, kichik o'qni ikkinchi shaklning o'rtasiga sudrab borish kerak.

    Ulagich o'qining yo'nalishini o'zgartirish uchun ulanishni tanlang, so'ngra guruhdagi yorliqda Shakl uslublari elementni bosing Chiziq Oklar va kerakli yo'nalish va o'q turini tanlang.

Avtomatik tekislash va masofa

    Sahifadagi barcha obyektlarni tanlash uchun CTRL+A tugmalarini bosing.

    Yorliqda uy guruhda Buyurtma berish tugmasini bosing Lavozim va tanlang Avtomatik tekislash va masofa.

Agar bu kerakli natijani bermasa, CTRL+Z tugmalarini bosib uni bekor qiling va boshqa tugma menyusi opsiyalarini sinab ko'ring Hizalama Va Lavozim.

Oqim sxemalari nimani ifodalaydi?

Shablonni ochganda Oddiy blok diagrammasi elementlar to'plami ochiladi Oddiy oqim diagrammasi shakllari. Ushbu to'plamdagi har bir raqam jarayonning u yoki bu bosqichini ifodalaydi. Ammo raqamlar universal ma'noga ega emas, ularning ma'nosi oqim sxemalarini yaratuvchilar va foydalanuvchilari tomonidan belgilanadi. Aksariyat oqim diagrammalarida uch yoki to'rt turdagi shakllardan foydalaniladi va bu diapazon faqat muayyan ehtiyojlar paydo bo'lganda kengaytiriladi.

Shu bilan birga, Visio-dagi shakllarning nomlari ulardan foydalanishni bildiradi. Eng keng tarqalgan shakllar quyida tavsiflanadi.

Oqim sxemalari nimani ifodalaydi?

Visio 2010-da siz oqim sxemasida foydalanishingiz mumkin bo'lgan boshqa ko'plab maxsus trafaretlar va shakllar to'plamlari mavjud. Boshqa shakllar haqida ko'proq ma'lumot olish uchun maqolaga qarang.

Eslatma: Siz izlayotgan shaklni topa olmayapsizmi? Boshqa shakllarni qanday topish haqida ko'proq ma'lumot olish uchun Shakllar oynasidan foydalanib shakllarni tashkil qilish va topish-ga qarang.

Blok-sxema yaratish

    Yorliqni oching Fayl.

    Tab Fayl ko'rsatilmagan

    Agar tab Fayl ko'rsatilmasa, protseduraning keyingi bosqichiga o'ting.

    Jamoa tanlang Yaratmoq va nuqta Blok diagrammasi va keyin ro'yxatda Mavjud shablonlar elementni tanlang Oddiy blok diagrammasi.

    Tugmasini bosing Yaratmoq.

    Siz hujjatlashtirayotgan jarayonning har bir bosqichi uchun tegishli sxema shaklini hujjatingizga torting.

    Eslatma: Jarayonning har bir bosqichini ifodalash uchun shakllardan foydalanish haqida ma'lumot olish uchun qarang.

    Avvalboshdan to'rtburchaklar

    To'g'ri konnektorlar

    Yorliqdagi normal tahrirlashga qaytish uchun uy guruhda Xizmat tugmasini bosing Pointer.

    Shakl yoki ulagichga matn qo'shish uchun uni tanlang va matnni kiriting. Matn kiritishni tugatganingizdan so'ng, sahifaning bo'sh joyini bosing.

    Ulagich o'qining yo'nalishini o'zgartirish uchun ulanishni tanlang va keyin guruhda yorliqning o'ng tomonidagi o'qni bosing. Chiziq, kursorni element ustiga olib boring Oklar va kerakli yo'nalishni tanlang.

Katta oqim sxemasini chop etish

Chop etishni boshlashdan oldin, Visio-da ko'rsatilgan chizilgan sahifada butun oqim sxemasi mavjudligiga ishonch hosil qilishingiz kerak. Visio-da sahifadan tashqariga chiqadigan har qanday shakllar chop etilmaydi.

Katta oqim sxemasini chop etish uchun quyidagilarni bajaring:

Oqim sxemalari nimani ifodalaydi?

Oddiy oqim diagrammasi shablonini ochganingizda, oddiy oqim diagrammasi shakllari trafareti ham ochiladi. Elementlar to'plamidagi har bir shakl jarayonning ma'lum bir bosqichiga mos keladi.

Simple Flowchart Shapes trafaretiga kiritilgan shakllardan faqat bir nechtasi keng qo'llaniladi. Bu raqamlar quyida tavsiflanadi. Boshqa shakllar haqida ko'proq ma'lumot olish uchun ushbu bo'lim oxiridagi havolaga (kamroq mashhur oqim sxemasi shakllari) qarang.

Kamroq mashhur oqim diagramma shakllari

    Dinamik ulanish liniyasi. Ushbu bog'lovchi chiziq o'z yo'lida yotgan raqamlarni chetlab o'tadi.

    Bu moslashtirilgan egrilikka ega bo'lgan bog'lovchi chiziq.

    Bu siz kiritgan matn miqdoriga qarab o'lchamini o'zgartiradigan chegarasi bo'lgan matn maydoni. Kenglikni shaklning yon tomonlarini sudrab o'rnatish mumkin. Bu raqam jarayondagi qadamni bildirmaydi, lekin oqim diagrammasini belgilash uchun foydalidir.

    Eslatma. Bu siz kiritgan matn miqdoriga qarab hajmi o'zgarib turadigan kvadrat qavs ichidagi quti. Kenglikni shaklning yon tomonlarini sudrab o'rnatish mumkin. Avtomatik balandlik maydoni kabi, bu raqam jarayondagi qadamni bildirmaydi. Undan oqim diagramma shakllariga eslatma qo'shish uchun foydalaning.

    Qo'lda kiritish. Bu inson jarayonga ma'lumot beradigan bosqichdir.

    Qo'lda ishlash. Bu inson tomonidan bajarilishi kerak bo'lgan qadamdir.

    Ichki xotira. Ushbu shakl kompyuterda saqlanadigan ma'lumotlarni ifodalaydi.

    To'g'ridan-to'g'ri ma'lumotlar. Bu raqam har bir alohida yozuvga to'g'ridan-to'g'ri kirish mumkin bo'lgan tarzda saqlanadigan ma'lumotlarni ifodalaydi. Bu kompyuterning qattiq diskida ma'lumotlarni saqlash usuliga mos keladi.

    Seriyali ma'lumotlar. Bu shakl ketma-ket saqlanadigan ma'lumotlarni ifodalaydi (masalan, magnit lentadagi ma'lumotlar). Bunday ma'lumotlarni faqat ketma-ket o'qish mumkin. Masalan, 7-yozuvga kirish uchun avval 1–6 yozuvlarni ko'rishingiz kerak.

    Xarita va qog'oz lenta. Bu raqam perfokarta yoki qog'oz tasmasini ifodalaydi. Ilk kompyuter tizimlari ma'lumotlarni yozish va o'qish, dasturlarni saqlash va ishga tushirish uchun perfokartalar va qog'oz lentalardan foydalangan.

    Displey. Ushbu shakl foydalanuvchiga ko'rsatiladigan ma'lumotlarni ifodalaydi (odatda kompyuter ekranida).

    Tayyorgarlik. Bu raqam protsedurani bajarishga tayyorgarlik jarayonida o'zgaruvchilarning ishga tushirilishini ko'rsatadi.

    Parallel rejim. Bu rasmda ikki xil jarayon bir vaqtning o'zida ishlashi mumkin bo'lgan joy ko'rsatilgan.

    Tsikl chegarasi. Bu raqam keyingi bosqichga o'tishdan oldin tsiklning maksimal takrorlanishini ko'rsatadi.

    Nazoratni uzatish. Bu raqam, agar ma'lum shartlar bajarilsa, keyingi bosqichga emas, balki boshqa bosqichga o'tish sodir bo'ladigan bosqichni bildiradi.

Blok-sxema yaratish

    Menyuda Fayl Yaratmoq, keyin ishora qilish uchun Blok diagrammasi va tanlang Oddiy blok diagrammasi.

    Siz hujjatlashtirayotgan jarayonning har bir bosqichi uchun tegishli sxema shaklini hujjatingizga torting.

    Quyidagi usullardan biri yordamida oqim diagramma shakllarini ulang.

    Ikki shaklni bir-biriga ulash

    Bitta ulanish nuqtasi yordamida bir shaklni bir nechtasiga ulash

    Avvalboshdan to'rtburchaklar chiziqlarni ulash va shakldagi nuqtani uchta boshqa shaklga ulash quyidagi rasmga o'xshaydi.

    Birlashtiruvchi chiziqlar to'g'ridan-to'g'ri birinchi shaklning markaziy nuqtasidan boshlanib, boshqa barcha shakllardagi nuqtalarga olib borishi uchun siz belgilashingiz kerak To'g'ri konnektorlar, quyidagi rasmda ko'rsatilganidek.

    Asboblar panelida Standart asbobni bosing Pointer oddiy tahrirlash rejimiga qaytish uchun.

    Shakl yoki ulagichga matn qo'shish uchun uni tanlang va matnni kiriting. Matn kiritishni tugatganingizdan so'ng, sahifaning bo'sh joyini bosing.

    Ulagich chizig'ining yo'nalishini o'zgartirish uchun menyuda sichqoncha kursorini ustiga olib boring Operatsiyalar va tanlang Uchlarini burang.

Katta blokli diagrammalarni chop etish

Qog'ozdan kattaroq oqim sxemasini chop etishning eng oson yo'li uni bir nechta qog'oz varaqlariga chop etish va keyin ularni bir-biriga yopishtirishdir.

Chop etishni boshlashdan oldin, Visio-da ko'rsatilgan chizilgan sahifada butun oqim sxemasi mavjudligiga ishonch hosil qilishingiz kerak. Visio-da sahifadan tashqariga chiqadigan har qanday shakllar chop etilmaydi. Oqim diagrammasi hujjat sahifasiga mos kelishini tekshirish uchun dialog oynasidagi oldindan ko'rishdan foydalaning Sahifa sozlamalari(menyu Fayl, paragraf Sahifa sozlamalari, tab Chop etish sozlamalari).

1. Blok-sxema. bu Visio chizma sahifasi uchun juda katta.

2. Visio chizma sahifasiga joylashtirilgan sxema.

Visio chizma sahifasining o'lchamini oqim diagramma o'lchamiga moslash uchun o'zgartiring

    Oqim diagrammasi ochilganda, menyuda Fayl elementni tanlang Sahifa sozlamalari.

    Yorliqni oching Sahifa hajmi.

    Yorliqda Sahifa hajmi bosing.

Oqim diagrammasi chop etilganda qanday ko'rinishini ko'rish uchun menyuga o'ting Fayl elementni tanlang Ko‘rib chiqish. Quyidagi rasmda to'rtta harfli varaqda chop etiladigan oqim sxemasi ko'rsatilgan.

Bir nechta qog'oz varaqlarida katta oqim sxemalarini chop etish

    Menyuda Fayl elementni tanlang Sahifa sozlamalari.

    Yorliqda Chop etish sozlamalari dalada Printerdagi qog'oz Agar u allaqachon tanlanmagan bo'lsa, kerakli qog'oz hajmini tanlang. Tugmani bosmang KELISHDIKMI.

    Yorliqni oching Sahifa hajmi va bosing Tarkib asosida oʻlchamini oʻzgartirish. Ko'rib chiqish oynasi endi yangi sahifa va printerdagi qog'oz o'rtasidagi farqni ko'rsatadi.

    Tugmasini bosing KELISHDIKMI.

    Menyuda Fayl elementni tanlang Ko‘rib chiqish oqim diagrammasi chop etilganda qanday ko'rinishini ko'rish uchun.

    Eslatma: Sahifalar orasida soyali chekkalar paydo bo'lishi mumkin. Bular ikkala varaqda chop etiladigan joylarga mos keladi. Bu blok-sxemada bo'sh joylar bo'lmasligi uchun varaqlarni bir-biriga yopishtirish imkonini beradi.

    Chop etish tugallangandan so'ng siz chekkalarni kesishingiz, sahifalarni to'g'ri joylashtirishingiz va ularni bir-biriga yopishtirishingiz mumkin.

Informatika bo'yicha master-klass

Mavzu "Sxemalarni yaratish"

Master-klass kursi.

Qadrli hamkasblar. Mening ismim Fedorova Yuliya Nikolaevna. Bugun men sizga qanday qilib oqim sxemalarini yaratishni o'rgatmoqchiman.

Blok diagramma - bu dasturlash tilida og'zaki va yozish bilan bir qatorda algoritm yozish shakllaridan biridir.

Algoritmni yozishning og'zaki shakli, ehtimol, hamma uchun tanish.

Masalan, pirojnoe yoki pechene pishirish uchun xamirni tayyorlash uchun og'zaki algoritmni olaylik. (200 g margarinni yumshatib, yarim stakan suv quying, 3 stakan un qo'shing., bo'laklar bo'lmasligi uchun aralashtiramiz, 30 daqiqa davomida muzlatgichga qo'ying.)

Algoritmni ko'proq vizual tasvirlash uchun grafik format, ya'ni blok diagrammasi keng qo'llaniladi.

Og'zaki oqim sxemasidan farqli o'laroq, u yanada ixcham va ingl

Shunday qilib, slayddagi ta'rifni ko'rib chiqamiz

Blok - algoritm diagrammasi - algoritmning har biri bir yoki bir nechta amallarning bajarilishiga mos keladigan o'zaro bog'langan funktsional bloklar ketma-ketligi sifatida tasviri.

Algoritm diagrammasida har bir harakat turi geometrik shaklga mos keladi. Raqamlar harakatlar tartibini belgilaydigan o'tish chiziqlari bilan bog'langan.

O'qlar bu shakllarni bog'laydi va tegishli qadamlarni bajarish tartibini belgilaydi.

Ammo chiziqli algoritmlar bu hayotda juda kam uchraydi.

Biz tez-tez takrorlanadigan harakatlar yoki hodisalarga duch kelamiz, masalan: mavsumning o'zgarishi, kun va tunning o'zgarishi. Harakatlarning takroriy ketma-ketligi tsikl deb ataladi.

Takroriy harakatlarni o'z ichiga olgan algoritmlar tsiklik deb ataladi.

Ko'pincha bajarilishi kerak bo'lgan yoki bajarilmasligi kerak bo'lgan shart paydo bo'ladi. Keyin harakatlar tartibi ba'zi shartlarning bajarilishiga bog'liq bo'ladi. Va yana bir grafik tuzilma paydo bo'ladi.

Harakatlar qandaydir shartga qarab tanlab olinadigan algoritmlarga tarmoqlanish deyiladi.

Vaziyatga qarab, biz u yoki bu yechimni tanlaymiz, ammo bu ijobiy natijaga olib keladi. Slayddagi misol.


Shunday qilib, eng keng tarqalgan va eng oddiy bu tarmoqlanish algoritmining blok diagrammasi, ya'ni shart mavjud bo'lgan algoritm.

Va bunga ishonch hosil qilish uchun men hamkasblarimga o'zlari oqim sxemasini tuzib, tasavvurlarini ko'rsatgan holda o'qishlarini taklif qilaman.

Fokus-guruhlarga topshiriqlar beriladi.

Agar modda oqim o'tkazsa, u o'tkazgichdir, agar bo'lmasa, u izolyatordir.

Fe'l haqida savol bering. Agar savolda yumshoq belgi bo'lsa, yumshoq belgi bilan -TSYA yozamiz, bo'lmasa, yumshoq belgisiz -TSYA yozamiz.

P Fokus-guruhlar ishlayotganda, men zalda tomoshabinlar bilan ishlayapman.

“...Yer yuzida adashib qolmaslik uchun,
O'zingizni yo'qotmaslikka harakat qiling!"

11-sinfda dars soati uchun yaxshi mavzu.

Xulosa: bunday sxemalar har qanday mavzu bo'yicha tuzilishi mumkin, matn tushuniladi, ma'lumotlar vizual tarzda taqdim etiladi, material ixcham va kelajakda foydalanish mumkin (rus tili qoidalari, matematika).

Sxemalarni tuzib, talabalar fikr yuritadilar va yakuniy natijaga erishadilar. Ular o'zlari qaror qabul qiladilar va o'z tanlovlarini oqlaydilar, xato qilishdan qo'rqmaydilar va topshiriqlarni bajarishda ijodiydirlar.

Bu texnika mustaqillikni shakllantirishning haqiqiy asosini tashkil qiladi. Shuningdek, algoritm bilan ishlash va shunga mos ravishda oqim sxemalarini tuzish loyiha ustida ishlashning bosqichlaridan biri bo'lib, bu asosiy vakolatlarni rivojlantirishga olib keladi.

Qanchadan-qanchalar oqim sxemalari bilan tanishsiz?Biz buni takrorladik, chunki yangisi yaxshi unutilgan va eskisi.Buni birinchi marta eshitganlar uchun shuni o'qituvchilik faoliyatingizda qo'llaysiz va ijobiy natija olasiz degan umiddaman.

Xulosa qilib shuni aytmoqchimanki, bizning butun hayotimiz murakkab tuzilmaning algoritmidir. Sizning har bir harakatingiz puxta o'ylangan, to'g'ri tanlangan va to'g'ri, munosib natijaga olib kelishini tilayman!

2.1 Algoritmni ishlab chiqish.

Algoritm- Bu

a. muammoni hal qilish yoki maqsadga erishish uchun harakatlar ketma-ketligini tavsiflash;

b. ma'lumotlarni qayta ishlashning asosiy operatsiyalarini bajarish qoidalari;

c. matematik formulalar yordamida hisob-kitoblarni tavsiflash.

Algoritmni ishlab chiqishni boshlashdan oldin, vazifani aniq tushunish kerak: natijada nima olish kerak, qanday dastlabki ma'lumotlar kerak va nima mavjud, bu ma'lumotlarga qanday cheklovlar mavjud. Keyinchalik, dastlabki ma'lumotlardan kerakli natijani olish uchun qanday harakatlar qilish kerakligini yozishingiz kerak.

Amalda, algoritmlarni taqdim etishning eng keng tarqalgan shakllari:

Og'zaki (tabiiy tilda yozuvlar);

Grafik (grafik belgilardan olingan tasvirlar);

Psevdokodlar (shartli algoritmik tilda algoritmlarning yarim rasmiylashtirilgan tavsiflari, shu jumladan dasturlash tilining ikkala elementlari ham, tabiiy tildagi iboralar, umume'tirof etilgan matematik belgilar va boshqalar);

Dasturlash (dasturlash tillaridagi matnlar).

Algoritmlarni yozishning og'zaki usuli - ma'lumotlarni qayta ishlashning ketma-ket bosqichlarining tavsifi. Algoritm tabiiy tilda erkin shaklda ko'rsatilgan.

Misol. Ikki natural sonning eng katta umumiy boʻluvchisini (GCD) topish algoritmini yozing.

Algoritm quyidagicha bo'lishi mumkin:

1. ikkita raqamni belgilang;

2. agar sonlar teng bo'lsa, u holda ulardan birortasini javob sifatida qabul qiling va to'xtating, aks holda algoritmni bajarishni davom ettiring;

3. sonlarning eng kattasini aniqlang;

4. katta sonni katta va kichik sonlar orasidagi farq bilan almashtiring;

5. 2-bosqichdan boshlab algoritmni takrorlang.

Ta'riflangan algoritm har qanday natural sonlar uchun qo'llaniladi va muammoni hal qilishga olib kelishi kerak. 125 va 75 sonlarining eng katta umumiy boʻluvchisini aniqlash uchun ushbu algoritmdan foydalanib, bunga oʻzingizni ishontiring.

Og'zaki usul quyidagi sabablarga ko'ra keng tarqalmagan:

Bunday tavsiflar qat'iy rasmiylashtirilmaydi;

Notalarning so'zliligidan aziyat cheking;

Shaxsiy qoidalarni talqin qilishda noaniqliklar mavjud.

Algoritmlarni taqdim etishning grafik usuli og'zaki bilan solishtirganda ancha ixcham va ingl.

Grafik shaklda taqdim etilganda, algoritm har biri bir yoki bir nechta amallarning bajarilishiga mos keladigan o'zaro bog'langan funktsional bloklar ketma-ketligi sifatida tasvirlanadi.

Ushbu grafik tasvir oqim diagrammasi yoki oqim diagrammasi deb ataladi.

Pseudocode - algoritmlarni bir xilda yozish uchun mo'ljallangan belgilar va qoidalar tizimi.

U tabiiy va rasmiy tillar orasida oraliq o'rinni egallaydi.

Bir tomondan, u oddiy tabiiy tilga yaqin, shuning uchun algoritmlarni oddiy matn kabi yozish va o'qish mumkin. Boshqa tomondan, psevdokod ba'zi rasmiy konstruksiyalar va matematik simvolizmdan foydalanadi, bu esa algoritm belgilarini umume'tirof etilgan matematik belgilarga yaqinlashtiradi.

Psevdokodda rasmiy tillarga xos bo'lgan buyruqlarni yozish uchun qat'iy sintaktik qoidalar qabul qilinmaydi, bu esa algoritmni loyihalash bosqichida yozishni osonlashtiradi va mavhum ijrochi uchun mo'ljallangan kengroq buyruqlar to'plamidan foydalanishga imkon beradi. Biroq, psevdokod odatda rasmiy tillarga xos bo'lgan ba'zi konstruktsiyalarni o'z ichiga oladi, bu esa psevdokodda yozishdan rasmiy tilda algoritm yozishga o'tishni osonlashtiradi. Xususan, psevdokodda, shuningdek, rasmiy tillarda ma'nosi bir marta va butunlay aniqlanadigan funktsiyali so'zlar mavjud. Psevdokodning yagona yoki rasmiy ta'rifi mavjud emas, shuning uchun turli xil psevdokodlar mumkin, ular funktsional so'zlar va asosiy (asosiy) konstruktsiyalar to'plamida farqlanadi.

2.2 Blok diagrammasi.

Sxema - algoritmning grafik tasviri bo'lib, unda u o'zaro bog'langan funktsional bloklar ketma-ketligi sifatida tasvirlangan, ularning har biri bir yoki bir nechta amallarning bajarilishiga mos keladi.

Sxemada har bir harakat turi (boshlang'ich ma'lumotlarni kiritish, ifodalar qiymatlarini hisoblash, shartlarni tekshirish, harakatlar takrorlanishini nazorat qilish, ishlov berishni yakunlash va boshqalar) blok belgisi sifatida ko'rsatilgan geometrik shaklga mos keladi. Blok belgilari harakatlarni bajarish tartibini aniqlaydigan o'tish chiziqlari bilan bog'langan.

Bu erda eng ko'p ishlatiladigan belgilar mavjud.

Belgi nomi Belgilanish va to'ldirish namunasi Tushuntirish
Jarayon Hisoblash harakati yoki harakatlar ketma-ketligi
Yechim Tekshirish shartlari
Modifikatsiya Tsiklning boshlanishi
Oldindan belgilangan jarayon Subprogramma, standart pastki dastur bo'yicha hisoblar
Kirish Chiqish Umuman olganda I/U
Start-stop Algoritmning boshlanishi, oxiri, pastki dasturga kirish va chiqish
Hujjat Natijalarni chop etish

"Jarayon" bloki ma'lumotlarning ma'nosini, taqdim etish shaklini yoki joylashishini o'zgartiradigan harakat yoki harakatlar ketma-ketligini belgilash uchun ishlatiladi. Diagrammaning ravshanligini oshirish uchun bir nechta individual ishlov berish bloklarini bir blokga birlashtirish mumkin. Shaxsiy operatsiyalarni taqdim etish juda bepul.

"Qaror" bloki shartli boshqaruv o'tishlarini ko'rsatish uchun ishlatiladi. Har bir "yechim" bloki o'zi belgilaydigan savolni, shartni yoki taqqoslashni aniqlashi kerak.

"O'zgartirish" bloki tsiklik tuzilmalarni tashkil qilish uchun ishlatiladi. (O‘zgartirish so‘zi o‘zgartirish, o‘zgartirish ma’nolarini bildiradi). Blok ichida tsikl parametri yoziladi, buning uchun har bir takrorlash uchun uning boshlang'ich qiymati, chegara sharti va parametr qiymatini o'zgartirish bosqichi ko'rsatiladi.

"Oldindan belgilangan jarayon" bloki ba'zi mustaqil modullar ko'rinishida avtonom ravishda mavjud bo'lgan yordamchi algoritmlarga qo'ng'iroqlarni ko'rsatish va kutubxona tartiblariga qo'ng'iroqlarni ko'rsatish uchun ishlatiladi.

Misol. Tomonlari a, b, c bo‘lgan uchburchakning ha, hb, hc balandliklarini aniqlash algoritmining blok diagrammasini tuzing, agar bo‘lsa



Qayerda p = (a + b + c) / 2.
Yechim. Keling, belgi bilan tanishtiramiz keyin h a = t/a, h b = t/b, h c = t/c. Sxemada start, kiritish a, b, c, hisoblash p, t, h bo'lishi kerak a, h b, h c , natijalarni chiqaring va to'xtating.

2.3 Algoritm tuzilmalari.

Algoritmlarni alohida asosiy (ya'ni asosiy) elementlardan tashkil topgan muayyan tuzilmalar sifatida ko'rish mumkin. Tabiiyki, algoritmlarga bunday yondashuv bilan ularni loyihalashning asosiy tamoyillarini o'rganish ushbu asosiy elementlarni o'rganishdan boshlanishi kerak.

Har qanday algoritmning mantiqiy tuzilishi uchta asosiy tuzilmaning kombinatsiyasi bilan ifodalanishi mumkin: ergashish, tarmoqlanish va aylanish.

Asosiy tuzilmalarning xarakterli xususiyati - bitta kirish va bitta chiqish mavjudligi.

1. Asosiy tuzilma quyidagicha. Birin-ketin bajariladigan harakatlar ketma-ketligidan hosil bo'ladi:

2. Asosiy tarmoqlanish tuzilishi. Shartni tekshirish natijasiga qarab (ha yoki yo'q) algoritmni ishlatishning muqobil usullaridan birini tanlashni ta'minlaydi. Har bir yo'l umumiy chiqishga olib keladi, shuning uchun qaysi yo'l tanlangan bo'lishidan qat'i nazar, algoritm ishlashda davom etadi.

Tuzilishi shoxlanish to'rtta asosiy variant mavjud:

Agar-u holda-boshqa;

Tanlov boshqacha.

1) if-if sharti so‘ng amal tugaydi if 2) if-else if sharti keyin 1-aks holda 2-amallar if tugaydi 3) 1-shart bilan tanlov tanlash: 2-shart bilan 1-harakatlar: 2-harakat. . . . . . . . . . . . N shart ostida: harakatlar N tanlovning oxiri 4) tanlov - aks holda 1-shart bo'yicha tanlash: 2-shart bo'yicha 1-harakat: 2-harakat. . . . . . . . . . . . N shart ostida: harakatlar N aks holda harakatlar N+1 tanlov oxiri

Misol. Funksiyani hisoblash algoritmining blok diagrammasini tuzing

Asosiy tuzilma - bu tsikl. Loop tanasi deb ataladigan muayyan harakatlar to'plamining takroriy bajarilishini ta'minlaydi.

Tsikl tuzilishi uchta asosiy versiyada mavjud:

Loop turi Uchun.

Berilgan diapazonda ma'lum bir o'zgaruvchining (loop parametri) barcha qiymatlari uchun tsikl tanasini bajarishni buyuradi.

Loop turi Xayr.

while so'zidan keyin yozilgan shart bajarilsa, tsiklning tanasini bajarilishini buyuradi.

Loop turi vaqt qiling.

while so'zidan keyin yozilgan shart bajarilsa, tsiklning tanasini bajarilishini buyuradi. Loop tanasi bajarilgandan so'ng shart tekshiriladi.

E'tibor bering, for va while davrlari shartni oldindan tekshiradigan sikl deb ham ataladi va to - while - shartni tekshirishdan keyingi davrlar. Boshqacha qilib aytganda, agar tsiklning tugash sharti dastlab to'g'ri bo'lmasa, for va while sikllarining tanasi bir marta ham bajarilmasligi mumkin. Loopning tanasini kamida bir marta bajarilguncha bajaring, hatto tsiklni tugatish sharti dastlab to'g'ri bo'lmasa ham.

i uchun sikl i1 dan i2 bosqichga i3 sikl tanasi (harakatlar ketma-ketligi) sikl oxiri loop while sharti sikl tanasi (harakatlar ketma-ketligi) sikl oxiri cycle do loop tanasi (harakatlar ketma-ketligi) tsiklning oxirigacha

ma'lum bir aniqlik bilan (ma'lum bir o'zgaruvchan quvvat seriyasi uchun keyingi muddat mutlaq qiymatda kichikroq bo'lganda kerakli aniqlikka erishiladi).

Yig'indilarni hisoblash odatiy tsiklik vazifadir. Bizning o'ziga xos muammomizning o'ziga xosligi shundaki, atamalar soni (va, demak, halqa tanasining takrorlanish soni) oldindan noma'lum. Shuning uchun, kerakli aniqlikka erishilganda pastadir tugashi kerak.

Algoritmni tuzishda atamalarning belgilari almashinishini va atamalar hisoblagichlaridagi x sonining kuchi ortib borishini hisobga olish kerak.

Har bir i-bosqichda qisman yig'indini hisoblash yo'li bilan bu masalani hal qilish

S:=S+(-1)**(i-1)*x**i/i,

biz juda ko'p sonli operatsiyalarni talab qiladigan juda samarasiz algoritmga ega bo'lamiz. Hisob-kitoblarni quyidagicha tashkil qilish yaxshiroqdir: agar siz har qanday atamaning hisobini p harfi bilan belgilasangiz, keyingi hadning hisoblagichi -r*x ga teng bo'ladi (minus belgisi belgilarning almashinishini ta'minlaydi). atamalar), atamaning o'zi esa m bo'ladi

p/i ga teng bo'ladi, bu erda i - atamaning soni.

Takrorlanuvchi siklni o'z ichiga olgan algoritm iterativ algoritm deb ataladi. Takrorlanuvchi sonli usullarni amalga oshirishda takrorlanuvchi algoritmlardan foydalaniladi. Takrorlanuvchi algoritmlarda sikldan chiqish shartiga erishilishini ta'minlash kerak (iteratsiya jarayonining yaqinlashishi). Aks holda, algoritm loop bo'ladi, ya'ni. algoritmning asosiy xususiyati - samaradorlik - bajarilmaydi.

Ichki halqalar.

Davralar bo'lishi mumkinki, tsiklning tanasi ichida ma'lum bir ketma-ketlikni takrorlash, ya'ni ichki tsiklni tashkil qilish kerak. Ushbu struktura halqa ichidagi pastadir yoki ichki o'ralgan halqalar deb ataladi. Ilgaklarni joylashtirish chuqurligi (ya'ni, bir-biriga o'rnatilgan halqalar soni) har xil bo'lishi mumkin.

Bunday strukturadan foydalanganda kompyuter vaqtini tejash uchun ichki halqa parametriga bog'liq bo'lmagan barcha bayonotlarni ichki halqadan tashqi tomonga o'tkazish kerak.

Misol uchun ichki ko'chadan. Berilgan A(5,3) matritsaning elementlari yig’indisini hisoblang.

Misol hozircha o'rnatilgan halqalar. Berilgan A(10,10) matritsaning juft satrlar va juft ustunlar kesishmasida joylashgan elementlarining mahsulotini hisoblang.

Harakatlar ketma-ketligini ko'rib chiqish va barchasini aqliy qabul qilish uchun algoritmning grafik modeli kerak. Ma'lumki, inson miyasi vaziyatni bir butun sifatida ifodalasa, muammolarni ancha yaxshi hal qiladi va blok dasturlash algoritmlarini shu tarzda tasvirlashning ideal usuli hisoblanadi.

Blok-sxemadagi barcha bloklar bir-biriga chiziqlar orqali bog'langan bo'lib, ular orasidagi bog'lanishni ko'rsatadi.

O'rta maktabda Informatika fani bo'yicha majburiy dasturga oqim sxemalarini o'rganish kiritilgan. Ushbu texnikaning tavsifini darsliklarda topish mumkin. Oqim diagrammalaridan foydalanish buni osonlashtirgani sababli, o'quvchilarga kod yozishni o'rgatadigan deyarli har bir blog ham ushbu usul haqida gapiradi.

Oqim sxemasi elementlari

Oqim sxemasining elementlari kod yoki amallarni o'z ichiga olgan geometrik shakllardir. Diagramma har doim cho'zilgan oval bilan boshlanadi. Bu dasturning boshlanishi yoki tugashi va funksiyaning boshlanishi yoki tugashini bildiradi (qo'ng'iroq va qaytish). Kengroq ma’noda aytish mumkinki, bu muammoning boshlanishi va oxiri.

To'rtburchak amallar, arifmetik yoki topshiriqlarni ro'yxatga olish uchun ishlatiladi. Bu harakat blokidir.

Olmos - shartni o'z ichiga olgan mantiqiy blok. Bu shart bajarilganligini tekshirishni, keyin shoxlanishni anglatadi. Tarmoqlanishning ikkita yo'nalishi ("agar, keyin" qurilishi) yoki bir nechta bo'lishi mumkin (odatda dasturlash tillarida bunday qurilish "holat" so'zi bilan tavsiflanadi)

Yonlarida ustunlari bo'lgan to'rtburchaklar oldindan belgilangan jarayonning blokidir. U pastki dasturga qo'ng'iroqni tavsiflaydi va uzatiladigan o'zgaruvchilar ro'yxatini beradi. Masalan, funksiya chaqiruvi shunday belgilanadi.

Paralelogramma - ma'lumotlarni kiritish / chiqarish bloki. Unda chiqish qurilmasiga yuboriladigan yoki kirish qurilmasidan olinadigan ma’lumotlar ro‘yxati keltirilgan.

Olti burchakli gorizontal cho'zilgan. Bu raqam tsiklni ifodalaydi. Ichkarida sikl o'zgaruvchilarning boshlang'ich qiymati, uning qadami va chiqish sharti yoziladi. Ushbu blokni ikkita yarmiga bo'lish mumkin, keyin birinchisida tsiklning boshlanishi, ikkinchisida esa oxiri yoziladi va barcha operatsiyalar o'rtaga joylashtiriladi.

Blok-sxemalardan foydalanish xususiyatlari

UML diagrammalari ob'ektga asoslangan yondashuv doirasida yozilgan ilovalarning ishlashini tavsiflash uchun ishlatiladi.

Oqim diagrammalari faqat tuzilgan yondashuvga asoslangan dasturlash tillari uchun amal qiladi. Sun'iy tillar uchun, masalan, past darajadagi tillar uchun, algoritmni tavsiflashning bu usuli mos kelmaydi. Xuddi shunday, agar siz ob'ektga yo'naltirilgan dasturlash paradigmasi doirasida ob'ekt tilida yozsangiz, ob'ektlar orasidagi o'zaro ta'sirni oqim diagrammasi yordamida tasvirlab bo'lmaydi. Bunday holatlar uchun algoritmni vizualizatsiya qilishning boshqa usullari qo'llaniladi.

Sizga maqola yoqdimi? Do'stlaringizga ulashing: