Blok dijagram algoritma: programi, zadaci, elementi, izgradnja
U suvremenom svijetu digitalne tehnologije programiranje je osnova za rad različitih računala, naprava i drugih elektroničkih uređaja. A sposobnost da brzo i ispravno sastavlja blok dijagram algoritma je temelj, temelj ove znanosti. Takva shema je grafički model procesa koje mora provesti opremom. Sastoji se od zasebnih funkcijskih blokova koji obavljaju različite funkcije (start / end, I / O, funkcijski poziv itd.).
sadržaj
- Algoritam i algoritamizacija
- Elementi blok dijagrami
- Pravila za crtanje
- Varijable, konstante i memorijske stanice
- Nizovi
- Linearni algoritmi
- Algoritmi razdvajanja
- Dijagrami dijagrama algoritama: primjeri
- Ciklički algoritmi
- Primjer rješenja razgranatog algoritma
- Algoritmi koji sadrže ugniježđene petlje
- Pomoćni algoritmi
- Algoritamska razgradnja
Algoritam i algoritamizacija
Zapravo, algoritam je uobičajena uputa o slijedu u kojem je potrebno izvršiti određene radnje pri obradi izvornih podataka u traženom rezultatu. Uz ovaj pojam često koriste koncept algoritma. Podrazumijeva se kao skup metoda i tehnika za izradu slijeda za rješavanje specifičnih problema.
Često se algoritam ne koristi kao instrukcija za računalo, već kao shema za obavljanje bilo kakvih akcija. To vam omogućuje da uočite učinkovitost i učinkovitost ove metode rješavanja, ispravite moguće pogreške i usporedite je s drugim sličnim rješenjima čak i prije uvođenja u računalo. Osim toga, algoritam je osnova za sastavljanje programa koji mora biti napisan na programskom jeziku kako bi se dodatno provodio proces obrade podataka na računalu. Do danas su postali poznati dva praktična načina za izgradnju takvih sekvenci. Prvi je korak-po-korak verbalni opis, a drugi je blok dijagram algoritma problema. Prva od njih bila je znatno manje rasprostranjena. To je zbog nedostatka vidljivosti i verboziteta. Drugi način, naprotiv, vrlo je prikladan način prikazivanja slijeda. To je široko rasprostranjeno iu obrazovnoj i znanstvenoj literaturi.
Elementi blok dijagrami
Dijagram toka programskog algoritma slijed je grafičkih simbola koji propisuju izvršavanje određenih operacija, kao i odnos između njih. Unutar svakog takvog slikovnog prikaza podaci o zadatku koji se treba izvršiti naznačeni su. Veličina i konfiguracija grafičkih simbola, kao i redoslijed dizajna sekvenci, reguliraju GOST 19003-80 i GOST 19002-80.
Razmotrimo glavne elemente dijagrama toka algoritma (primjeri njihovih natpisa navedeni su na slici).
1. Postupak je računalno djelovanje ili niz takvih akcija.
2. Rješenje je provjeriti stanje.
3. Modifikacija - naslov ciklusa.
4. Predefinirani proces - pristup postupku.
5. Dokument - ispis i izlazni podaci.
6. Kartica - unos podataka.
7. Ulaz / izlaz - Ulaz / izlaz podataka.
8. Priključak - ruptiranje protoka.
9. Start / End - start, kraj, zaustavljanje, start, ulaz i izlaz koriste se u pomoćnim algoritmima.
10. Komentar - koristite za postavljanje objašnjenjih natpisa.
11. Vertikalni i vodoravni tokovi su smjer slijeda, linija komunikacije između blokova.
12. Spajanje - povezivanje niti.
13. Međuprostorni konektor - oznaka koja simbolizira prijelaz na drugi list.
Pravila za crtanje
Izrada dijagrama toka algoritma provodi se prema specifičnim zahtjevima koje propisuje GOST. Primjerice, pri povezivanju grafičkih simbola koriste se samo vodoravne ili okomite crte. Tokovi s desna na lijevo i odozdo prema gore označeni su strelicama. Ostale linije možda neće biti označene. Udaljenost između paralelnih struja ne smije biti manja od tri milimetra, a između preostalih elemenata - ne manje od pet milimetara. Dimenzije blokova moraju biti više od pet. Odnos vodoravnog do vertikale grafičkog simbola iznosi 1,5. Ponekad je dopušteno jednako dvama. Za praktičnost opisa grafički simboli trebaju biti numerirani. Po prirodi veza razlikuju se vrste blok dijagrami algoritma linearne, ciklične i razgranate strukture.
Varijable, konstante i memorijske stanice
Za bolje razumijevanje načela algoritma, može se razmotriti jednostavan automat. Sastoji se od memorije koja se sastoji od stanica - procesora glave za pisanje / čitanje. Kakvo je načelo rada takvog uređaja? Glava, nakon što je dobila nalog od procesora, obavlja pisanje podataka u ćeliju ili čita konstantu. U najjednostavnijem slučaju to će biti aritmetički broj. Osim toga, konstante mogu biti strukture podataka, niz znakova, itd. Varijabla je memorijska ćelija u kojoj se podaci pohranjuju. Tijekom izvođenja algoritma, u takvoj ćeliji mogu se napisati razni podaci. Na ovo načelo izgrađuju se osobna računala i druga elektronika. Algoritam za izvršavanje zadatka skup je instrukcija za čitanje ili pisanje informacija tim memorijskim ćelijama.
nizovi
Nizovi su druga vrsta indeksiranih varijabli. Zapravo, to je zbirka stanica, koje su ujedinjene zajedničkim oznakama. Rasporedi razlikuju dvodimenzionalne, trodimenzionalne, itd. Najjednostavniji od njih je niz uzastopnih stanica. Takav niz ima svoje ime. Svaki element ima svoj indeksni broj. Stalno napisano u ćeliji naziva se element polja.
Dvodimenzionalni tip sliči matrici u njegovom rasporedu elemenata. Stanice u ovom polju karakterizirane su s dva indeksa (ovo podsjeća na šahovsku ploču s brojem stanica). Istim načelom ostvaruju se trodimenzionalne i više strukture.
Linearni algoritmi
Ova vrsta slijeda dijagrama toka (primjeri su prikazani u ovom članku) karakterizira izvršenje od vrha do dna od vrha do dna. U tom slučaju, uređaj obavlja propisane radnje korak po korak. Svaka radnja obrađuje procesor. Pored izračuna, on, ako je potrebno, naređuje pisanje / čitanje glave gdje i što napisati i kako čitati. Krajnji je rezultat zapisan u memorijske ćelije, od kojih svaka ima svoj indeks i pohranjuje njegovu konstantu.
Algoritmi razdvajanja
U praksi je linearni tip iznimno rijedak. Često, potrebno je organizirati niz koji, ovisno o postavljenim uvjetima, teče kroz jednu ili drugu granu. Dijagram toka algoritma razgranatog tipa sadrži element "Solution", kroz koji se provjerava određeno stanje, a više njih, više grana slijeda.
Dijagrami dijagrama algoritama: primjeri
Razmotrite kako razgranati algoritam funkcionira. Kao primjer, uzmite funkciju: z = y / x. Može se vidjeti iz uvjeta da ova jednadžba ima jedno ograničenje - nemoguće je podijeliti za nulu. Zato morate isključiti ovo rješenje i upozoriti korisnika na pogrešku. Prvo se sastavlja blok dijagram algoritma. Sastojat će se od sedam blokova. Prvi grafički simbol je "Start", drugi je "Enter", ovdje morate odrediti vrijednosti X i Y. Zatim slijedi blok "Odluka", u kojem je stanje označeno: X = 0. U tom slučaju, automatica provjerava ćeliju konstantnom, ako se ulazna vrijednost podudara s njom, tada će rješenje algoritma slijediti granu "Da". U tom slučaju, kontrola se prenosi na četvrti blok, a stroj daje "pogrešku", rad završava sedmim znakom "Kraj". Ako je rezultat ispitivanja negativan, tada se u petom grafičkom simboli odvija postupak razdvajanja i određuje se vrijednost Z. U šestom je bloku rezultat prikazan na zaslonu.
Ciklički algoritmi
Često pri rješavanju problema potrebno je ponoviti izvršenje operacije za istu ovisnost za različite vrijednosti varijabli i ponavljanje prolaza kroz isti dio kruga. Takva područja nazivaju se ciklusima, a algoritam se naziva cikličkim. Upotrebom ove metode značajno smanjuje se slijed. Ciklički algoritmi uobičajeno je podijeliti u dvije vrste: s prethodno nepoznatim i prethodno poznatim brojem takvih prolaza.
Primjer rješenja razgranatog algoritma
Razmotriti primjer u kojemu se daje blok dijagram algoritma s prethodno nepoznatim brojem prolaza. Da bismo to učinili, moramo riješiti problem koji ukazuje na najmanji broj izraza u seriji prirodni brojevi, čiji zbroj premašuje broj K. Takav blok dijagram algoritma sastoji se od osam simbola. Prvo, unosimo vrijednost broja K (N2). Zatim, u bloku 3, varijabla Π dobiva vrijednost "jedan", što znači da počinje brojanje prirodnih brojeva. A kumulativni zbroj iste u početku dobiva vrijednost "nula". Daljnja kontrola prenosi se na petu blok, gdje se izvršava naredba: C = C + P. To znači da su vrijednosti ćelija C i II zbrojene, a rezultat se prebrisava u C. Nakon dodavanja prvog pojma ove sekvence u bloku 6, stanje se provjerava - da li zbroj prelazi navedeni broj K? Ako uvjet nije zadovoljen, tada se kontrola prenosi na četvrti blok, gdje se jedan dodaje varijabli P, a prijelaz se ponovno vrši da blokira # 5. Ovaj postupak će se pojaviti sve dok stanje: C> K, tj. Akumulirani iznos prelazi navedenu vrijednost. Varijabla II je brojač ciklusa. Zatim se prijelaz na blok broj 7, gdje se ispisuju rezultati rada.
Algoritmi koji sadrže ugniježđene petlje
Često, u algoritamskom rješenju problema pojavljuje se potreba za stvaranjem ciklusa koji sadrži drugi ciklus u svom tijelu. Ovo se smatra normom. Takvi se elementi nazivaju strukture ugniježđene petlje. Njihov red može biti prilično velik. Određuje se metodom kojom se postiže rješenje potrebnog problema. Na primjer, prilikom obrade jednodimenzionalni niz, u pravilu, blok dijagram algoritma je izgrađen bez ugrađivanja ciklusa. I ipak, u mnogim slučajevima, pri rješavanju sličnih problema, postaje nužno odabrati upravo takvu varijantu rješenja. Valja napomenuti da sve ugniježđene petlje, uključujući i prvu (vanjsku), moraju sadržavati brojače s različitim nazivima. Izvan ciklusa, oni se mogu koristiti kao obične varijable.
Pomoćni algoritmi
Ovaj tip slijeda je analogni jezik podprogram. Pomoćni algoritam ima ime i parametre, koji se nazivaju formalnim. Naziv se daje kako bi se razlikovao među ostalima, a parametri obavljaju ulogu izlaznih i ulaznih matematičkih funkcija. Odabrani su na takav način da se cijeli niz potrebnih količina iscrpi. Često se isti formalni parametar javlja kao ulaz i izlaz. Na primjer, u takvom algoritmu, polje se može unijeti na ulaz za obradu. I u rezultirajućem dijelu može se prikazati u izmijenjenom obliku kao izlazni parametar. Među algoritmima pomoćnog tipa razlikuju se funkcije i postupci.
Algoritamska razgradnja
Ona se definira kao proširenje opće sheme algoritma na podlogu (funkcija i procedura) i glave. Ova metoda je vrlo jednostavna, kada algoritam daje blok dijagram - prvo izolirati dijelove nje, odgovorni su za najveći dio posla. Najsloženije faze formalizirane su kao funkcije i postupci gornje razine. Tada su podijeljeni na elementarne površine niske razine. Ovdje funkcionira princip "od složenih do jednostavnih". To je učinjeno sve dok se algoritam ne razbije najjednostavniji elementi. Tipično, otopina dekompozicije slijeda sastoji se od tri glavna koraka: unos podataka, sortirati niz, izlaz sortiranog polja. Prva i posljednja faze, zbog svoje samo ne treba širenje, tako da oni obavljaju u glavnom algoritam. Ali drugi je vrlo kompleksan neovisni fragment izračuna, pa se obično uzima kao zasebni blok. sortiranje faze, sa svoje strane, podijeljen u dva dijela: potrebi postupak uspostavljanja (N-1) strukoj prolaza unaprijed određenog polja i pronalaženje najmanji element u nizu fragment, slijedeće pretvaranje da se početno dijela svoje elementa. Budući da se posljednja faza ponavlja mnogo puta, formalizirana je kao poseban postupak.
- Svojstva i metode snimanja algoritama
- Funkcionalni dijagram: naglašava
- Kako izraditi dijagram toka. Blok dijagram programa, niz
- Linearni algoritmi - shema, struktura i računanje
- Osnovne vrste i primjeri cikličkih algoritama
- Koncept algoritma i svojstva algoritma. Vrste algoritama
- Kruskalov algoritam - izgradnja optimalnog kostura
- Algoritam: koncept, svojstva, struktura i vrste
- GIS je ... Geografski informacijski sustavi
- Informatika. Osnove algoritma i programiranja
- Programiranje. Osnovne algoritamske konstrukcije
- Metode opisivanja algoritama i vrsta algoritama
- Vrste algoritama u računalnoj znanosti: primjeri
- Faze rješavanja problema na računalu i njihovih karakteristika
- Definicija, svojstva i vrste algoritama
- Dinamičko programiranje, osnovna načela
- Rješavanje problema programiranja. Ciklički algoritam
- Spoji vrsta: opis operacije algoritma i razlike u odnosu na druge vrste naručivanja podataka
- Algoritamizacija je proces izgradnje algoritma za rješavanje problema. Algoritam i algoritmizacija…
- Razvrstavanje algoritama kakvi jesu
- Algoritam je jasno definiran niz obavljanja matematičkih operacija