Chiziqli algoritmlar - sxema, struktura va hisoblash

Mundarija:

Chiziqli algoritmlar - sxema, struktura va hisoblash
Chiziqli algoritmlar - sxema, struktura va hisoblash
Anonim

Har bir insonning kundalik hayoti ishda yoki oʻqishda turli murakkablikdagi koʻp sonli vazifalarni hal qilishdan iborat. Ba'zi vazifalar shu qadar soddaki, biz ularni bajarganimizda, biz o'ylamasdan avtomatik ravishda muayyan harakatlar qilamiz. Har qanday muammoni, hatto eng oddiyini ham hal qilish, qoida tariqasida, bir necha bosqichda ketma-ket amalga oshiriladi. Masalalarni yechishdagi bunday ketma-ketlik algoritm deyiladi. Bugun biz chiziqli algoritmlar nima ekanligini, ularning tuzilishi qanday tasvirlanganligini, qanday echilishi va dasturlashtirilganligini ko'rib chiqamiz.

Algoritmik til

Bu kontseptsiya ijrochiga topshiriqni hal qilishga qaratilgan muayyan harakatlar ketma-ketligini bajarish uchun aniq retseptdir.

chiziqli algoritmlar
chiziqli algoritmlar

Bu til algoritmlarni tavsiflash vositasidirodatda foydalanuvchiga qaratilgan.

Kompyuter tilida bu hisoblash jarayonini belgilaydigan aniq retseptdir. U, o'z navbatida, o'zgaruvchan dastlabki ma'lumotlardan asl natijaga olib keladi.

Algoritmni ishlab chiqish ancha murakkab va vaqt talab qiluvchi jarayon. Bu kompyuter yordamida muammolarni hal qilish uchun mo'ljallangan harakatlar ketma-ketligini kompilyatsiya qilish (ishlab chiqish) texnikasi.

Algoritm xususiyatlari

Xususiyatlari orasida quyidagilar ajralib turadi:

  • cheklik - butun algoritmni ma'lum sonli bosqichlarda (qadamlarda) bajarishdan iborat;
  • aniqlik (o'ziga xoslik) - harakatlarni bajarish qoidalarini talqin qilishning o'ziga xosligini, shuningdek ularni bajarish tartibini ifodalaydi;
  • ishlash - istalgan chekli qadamda kerakli natijaga erishish;
  • tushunarlilik - koʻrsatmalar ijrochiga tushunarli boʻlishi kerak;
  • mass belgi - algoritmlar umumiy muammo bayoni bilan muayyan masalalarning butun sinfini yecha olishi kerak.

Chiziqli algoritmlar. Informatika 9-sinf

Biz bu kontseptsiyaning ta'riflari va xususiyatlarini allaqachon ko'rib chiqdik. Endi uning turlari haqida gapiraylik:

chiziqli algoritmlarni yechish
chiziqli algoritmlarni yechish
  • chiziqli;
  • tarmoqlanish;
  • sikl bilan.

Biz chiziqli algoritmlarga qiziqamiz. Nima ular? Ularda aniq ketma-ketlikda bajarilishi kerak bo'lgan buyruqlar mavjud.

Algoritmning chiziqli tuzilishi og'zaki yozilishi mumkinva grafik shakl.

Og'zaki shaklda yozilgan misol keltiraylik. Shunday qilib, vazifa: maktabga tayyorlaning. Yechim:

  • Boshlash.
  • Tur.
  • Mashq.
  • Yuvish.
  • Kiyin.
  • Nonushta qiling.
  • Portfel yig'ing.
  • Oxir.

Yuqoridagi jarayonning grafik shakli quyidagicha bo'ladi:

chiziqli algoritmlar informatika
chiziqli algoritmlar informatika

Blok diagrammasidagi chiziqli algoritm

Sxema algoritmning illyustrativ timsoli boʻlib, unda har bir alohida bosqich turli geometrik shakllar koʻrinishida taqdim etilgan bloklar yordamida tasvirlangan. Bundan tashqari, qadamlar orasidagi munosabat (boshqacha aytganda, bosqichma-bosqich bajarish ketma-ketligi) shakllarni (bloklarni) bog'laydigan o'qlar bilan ko'rsatiladi. Har bir blok yozuv bilan birga keladi. Chiziqli algoritmdagi odatiy harakatlar uchun quyidagi geometrik shakllar qo'llaniladi:

  • Algoritmning boshi-oxiri bloki. Blokda "boshi" yoki "oxiri" yozuvi bor.
  • “Ma’lumotlarni kiritish-chiqarish”ni bloklash. Ushbu blok parallelogramm sifatida ko'rsatilgan. Unga quyidagi yozuvlar qo'yilgan: "kirish", "chiqish", "chop etish". Ular, shuningdek, mos ravishda kirish yoki chiqish oʻzgaruvchilari roʻyxati bilan birga keladi.
  • Arifmetik blok yoki qaror bloki. U to'rtburchakka mos keladi. Blokda "operatsiya", "operatsiyalar guruhi" yozuvi bo'lishi kerak.

Chiziqli algoritmlarning yechimi ana shunday blok-sxemalar yordamida tasvirlangan. Keyinchalik, xususiyatlar haqida gapiraylikqiymat topshiriqlari.

Chiziqli hisoblash algoritmlari

Hisoblash algoritmidagi asosiy elementar harakat oʻzgaruvchiga maʼlum qiymat berishdir. Agar konstantaning qiymati uning yozuvi turiga qarab aniqlansa, o'zgaruvchan qiymat faqat tayinlash natijasida ma'lum bir qiymatga ega bo'ladi. Buni ikki usulda bajarish mumkin: tayinlash buyrug'i yordamida; kiritish buyrug'i yordamida.

Chiziqli algoritm yechimiga misol

Maktab darsliklarida quyidagi mazmunga ega boʻlgan chiziqli algoritm yordamida oddiy kasrlarni boʻlish qoidalariga misol keltiramiz:

  • 1-kasrning sonini 2-kasrning maxrajiga koʻpaytirish kerak;
  • 1-kasrning maxraji 2-kasrning soniga koʻpaytirilishi kerak;
  • kasrni yozish uchun talab qilinadi, bunda hisoblagich 1 ball, maxraj esa 2 ball natijasidir. Ushbu qoidaning algebraik shakli quyidagicha:

a/b: c/d=(ad)/(bd)=m/n.

algoritmning chiziqli tuzilishi
algoritmning chiziqli tuzilishi

Demak, keling, kompyuter uchun kasrlarni boʻlish algoritmini tuzamiz. Adashib qolmaslik uchun biz yuqorida ko'rsatilgan formulada bo'lgani kabi o'zgaruvchilar uchun bir xil belgilardan foydalanamiz. a, b, c, d - butun o'zgaruvchilar ko'rinishidagi dastlabki ma'lumotlar. Natijada, shuningdek, butun son qiymatlari bo'ladi. Algoritmik tildagi yechim:

alg Kasrlar bo'limi

boshlash

target a, b, c, d, m, n

a, b, c, d

kiritish

m:=ad

n:=b c

chiqish m, n

con

Yechimning grafik shakli

Yuqorida tasvirlangan chiziqli algoritm sxemasi quyidagicha ko'rinadi:

chiziqli algoritm sxemasi
chiziqli algoritm sxemasi

Qiymat belgilash buyrugʻi quyidagi formatga ega:

Oʻzgaruvchi:=ifoda.

":=" belgisi tayinlash sifatida o'qiladi.

Tayinlash - bu kompyuter quyidagi amallarni bajarishi uchun zarur boʻlgan buyruq:

  • ifoda baholash;
  • qabul qilingan qiymatni oʻzgaruvchiga belgilash.

Yuqoridagi algoritm topshiriq sifatida ikkita buyruqdan iborat. Sxemada topshiriq ko'rsatmasi hisoblash bloki deb ataladigan to'rtburchakda yozilishi kerak.

Chiziqli algoritmlar tasvirlanganda ifodalarni yozishda qat'iy qoidalarga majburiy rioya qilishning alohida ehtiyoji yo'q. Siz ularni odatiy matematik shakldan foydalanib yozishingiz mumkin. Axir, bu qattiq dasturlash tili sintaksisi emas.

Algoritmning berilgan misolida kiritish buyrugʻi ham mavjud:

Kiritish a, b, c, d.

Blok-sxemadagi kiritish buyrug'i parallelogrammada, ya'ni kiritish-chiqarish blokida yozilgan. Ushbu buyruqni bajarish orqali protsessor foydalanuvchi ma'lum harakatlarni bajarmaguncha ishni to'xtatadi. Ya'ni: foydalanuvchi kiritish o'zgaruvchilarni (ularning qiymatlarini) kiritish qurilmasida (klaviaturada) yozishi va kiritish tugmasi vazifasini bajaradigan Enter tugmasini bosishi kerak. Qiymatlar kiritish ro'yxatidagi mos o'zgaruvchilar bilan bir xil tartibda kiritilishi muhim.

Chiziqli algoritm. Uningdasturlash

Maqolaning boshida aytib oʻtilganidek, chiziqli dasturlar quyidagi operatorlarni oʻz ichiga olishi mumkin:

  • topshiriq;
  • kiritish;
  • chiqish.

Ya'ni sanab o'tilgan operatorlar yordamida chiziqli algoritmlarni dasturlash amalga oshiriladi.

Demak, dasturlash tilida tayinlash operatori shunday yozilgan:

LET A=B, bu erda A o'zgaruvchi, B - ifoda. Masalan, A=Y + 20.

Kirish bayonoti quyidagicha koʻrinadi:

INPUT, masalan: INPUT S

Ma'lumotlarni, qiymatlarni chiqarish operatori quyidagicha yoziladi:

CAPAT. Masalan PRINT S.

Oddiy misol keltiraylik. Klaviaturadan kiritilgan A va B raqamlari yig‘indisini topadigan dastur yozishimiz kerak.

chiziqli hisoblash algoritmlari
chiziqli hisoblash algoritmlari

Dasturlash tilida biz dasturni olamiz, uning matni quyida ko'rsatilgan.

chiziqli algoritmlarni dasturlash
chiziqli algoritmlarni dasturlash

Paskal dasturlash tilida kiritish va chiqarish operatorlari

Paskal chiziqli algoritmlardan foydalanadigan kiritish yoki chiqarish operatsiyalari uchun maxsus operatorlarni taqdim etmaydi. Dasturlarda ma'lumotlar almashinuvi o'rnatilgan protseduralar yordamida amalga oshiriladi. Standart protseduraning dastlabki tavsifiga ehtiyoj yo'qligi sababli, u unga qo'ng'iroqni o'z ichiga olgan har bir dastur uchun mavjud. Shuningdek, yuqorida qayd etilgan protsedura nomi hech qanday zahiralangan so‘z emas.

Ma'lumotlarni kiritishda allaqachon o'rnatilgan standart ma'lumotlarni kiritish tartibiga murojaat qilish uchun bunday bayonotlardan foydalaningdastur.

Oʻqing (A, B, C), bu yerda A, B, C oʻzgaruvchilardir, ularni yodlash uchun RAMga kiritish kerak.

Readlnn (x1, y, x2) – kiritishni tugatgandan so'ng kursor yangi qator boshiga o'tadi.

Readlnn; - "Enter" tugmasini bosish kutilayotganligini bildiradi. Odatda, ushbu bayonot dastur natijalarini kontent ekranida saqlash uchun oxirgi "Yakunlash" dan oldin matnga kiritiladi.

Ma'lumotlar monitorini ko'rsatish quyidagi operatorlar yordamida amalga oshiriladi:

Write (A, V, S) – bir satrda A, V, S qiymatlarini belgilash, kursor joriy qatorni tark etmaydi.

Writeln (z, y, z2) – qiymatlarni chiqarishni tugatgandan so'ng, ushbu pozitsiyadagi kursor yangi qatorga o'tadi.

Yozma; - bir qatorning oʻtkazib yuborilishi va yangisining boshiga oʻtishni bildiradi.

Mana shunday oddiy operatorlar yordamida Paskal tilida ma'lumotlarni kiritish va chiqarish amalga oshiriladi.

Tavsiya: