Praktično sve u našem svijetu podliježe nekim zakonima i pravilima. Moderna nauka ne miruje, zahvaljujući kojoj čovječanstvo poznaje mnoštvo formula i algoritama, slijedeći koje možete izračunati i rekreirati mnoge radnje i strukture koje je stvorila priroda, te oživjeti ideje koje je čovjek izmislio.
U ovom članku ćemo analizirati osnovne koncepte algoritma.
Historija nastanka algoritama
Algoritam - koncept koji se pojavio u XII veku. Sama riječ "algoritam" dolazi od latinske interpretacije imena poznatog bliskoistočnog matematičara Muhammada al-Khwarizmija, koji je napisao knjigu "O indijskom brojanju". Ova knjiga opisuje kako pravilno pisati prirodne brojeve koristeći arapske brojeve i opisuje algoritam radnji sa stupcem iznad takvih brojeva.
U 12. veku, knjiga "O indijanskom računu" je prevedena na latinski, a onda se pojavila ova definicija.
Interakcija algoritma sa čovekom i mašinom
Creationalgoritam zahtijeva kreativan pristup, tako da samo živo biće može kreirati novu listu uzastopnih radnji. Ali za izvršenje postojećih instrukcija nije potrebna fantazija, čak i bezdušna tehnologija to može podnijeti.
Odličan primjer tačnog poštovanja datih instrukcija je prazna mikrovalna pećnica koja nastavlja da radi uprkos odsustvu hrane u njoj.
Subjekat ili objekat koji ne treba da razume suštinu algoritma naziva se formalni izvršilac. Osoba može postati i formalni izvršilac, ali u slučaju da je jedna ili druga radnja neisplativa, promišljeni izvršilac može sve učiniti na svoj način. Dakle, glavni nosioci su kompjuteri, mikrotalasne pećnice, telefoni i druga oprema. Koncept algoritma u informatici je od najveće važnosti. Svaki algoritam se sastavlja uz očekivanje određenog subjekta, uzimajući u obzir dozvoljene radnje. Oni objekti na koje subjekt može primijeniti instrukcije čine okruženje izvršitelja.
Praktično sve u našem svijetu podliježe nekim zakonima i pravilima. Moderna znanost ne miruje, zahvaljujući kojoj čovječanstvo poznaje mnogo formula i algoritama, slijedeći koje možete izračunati i rekreirati mnoge akcije i kreacije prirode i oživjeti ideje koje je čovjek izmislio. U ovom članku ćemo analizirati osnovne koncepte algoritma.
Šta je algoritam?
Većina aktivnosti koje obavljamo tokom života zahtijevaju poštivanje brojnih pravila. Od toga koliko osoba ima ispravnu predstavu o tomešta, kako i kojim redosledom treba da uradi, zavisi od kvaliteta i rezultata zadataka koji su mu dodeljeni. Roditelji od djetinjstva pokušavaju razviti u svom djetetu algoritam za glavne radnje, na primjer: probuditi se, pospremiti krevet, oprati i oprati zube, raditi vježbe, doručkovati itd., Lista koju osoba radi cijeli njegov život ujutro se također može smatrati nekom vrstom algoritma.
Algoritam je koncept koji se odnosi na skup instrukcija koje osoba treba slijediti kako bi riješila određeni problem.
Uglavnom, algoritam ima mnogo definicija, nekoliko naučnika ga različito karakteriše.
Ako je algoritam koji osoba koristi svaki dan različit za svakoga, i može se mijenjati ovisno o dobi i situacijama u kojima se izvođač nalazi, tada je skup radnji koje je potrebno izvršiti da bi se riješio matematički problem ili korištenje tehnologije je isto za sve i uvijek ostaje isto.
Postoji drugačiji koncept algoritma, razlikuju se i vrste algoritama - na primjer, za osobu koja teži nekom cilju, i za tehnologiju.
U našem dobu informatičke tehnologije, ljudi svakodnevno slijede skup instrukcija koje su prije njih kreirali drugi ljudi, jer tehnologija zahtijeva precizno izvršenje niza radnji kada se koristi. Stoga je glavni zadatak nastavnika u školama naučiti djecu da koriste algoritme, brzo shvate i mijenjaju postojeća pravila u skladu sa trenutnom situacijom. Struktura algoritma je jedna od njihpojmovi, koji se izučavaju na času matematike i informatike u svakoj školi.
Osnovna svojstva algoritma
1. Diskretnost (slijed pojedinačnih radnji) - svaki algoritam treba predstaviti kao niz jednostavnih radnji, od kojih svaka treba započeti nakon završetka prethodne.
2. Sigurnost - svaka radnja algoritma treba da bude toliko jednostavna i jasna da izvođač nema pitanja i nema slobodu djelovanja.
3. Efikasnost - opis algoritma treba da bude jasan i potpun, tako da nakon izvršenja svih instrukcija zadatak dođe do svog logičnog kraja.
4. Masovni karakter – algoritam treba da bude primenljiv na čitavu klasu problema, koji se mogu rešiti samo promenom brojeva u algoritmu. Iako postoji mišljenje da se zadnja tačka ne odnosi na algoritme, već na sve matematičke metode općenito.
Često u školama, kako bi djeca bolje razumjela algoritme, nastavnici koriste primjer kuhanja iz kuharice, pravljenja lijeka na recept ili pravljenja sapuna na osnovu majstorske klase. Međutim, uzimajući u obzir drugo svojstvo algoritma, koje kaže da svaka stavka algoritma mora biti toliko jasna da je može izvesti apsolutno svaka osoba, pa čak i mašina, možemo zaključiti da svaki proces koji zahtijeva barem neku vrstu mašte, algoritam se ne može imenovati. A kuvanje i ručni rad zahtijevaju određene vještine i dobro razvijenu maštu.
Postoje različite vrste algoritama,ali postoje tri glavna.
Ciklični algoritam
U ovoj vrsti, neke stavke se ponavljaju nekoliko puta. Lista akcija koje se moraju ponoviti da bi se postigao cilj naziva se tijelo algoritma.
Iteracija petlje je izvršavanje svih stavki uključenih u tijelo petlje. Dijelovi petlje koji se konstantno izvode određeni broj puta nazivaju se petlja sa fiksnim brojem iteracija.
Oni delovi ciklusa, čija učestalost zavisi od niza uslova, nazivaju se neodređenim.
Najjednostavnija vrsta ciklusa je fiksna.
Postoje dvije vrste cikličkih algoritama:
- Petlja sa preduslovom. U ovom slučaju, tijelo petlje provjerava svoje stanje prije nego što se izvrši.
- Petlja sa postuslovom. U petlji sa postuslovom, uslov se provjerava nakon završetka petlje.
Linearni tipovi algoritama
Instrukcije takvih kola se izvršavaju jednom redom kojim su predstavljene. Na primjer, proces pravljenja kreveta ili pranja zuba može se smatrati linearnim algoritmom. Ovaj tip također uključuje matematičke primjere, gdje postoje samo operacije sabiranja i oduzimanja.
Algoritam grananja
Postoji nekoliko opcija u tipu grananja, a koja će se primijeniti u zavisnosti od uslova.
Primjer. Pitanje: "Da li pada kiša?" Opcije odgovora: "Da" ili "Ne". Ako a"da" - otvori kišobran, ako "ne" - stavi kišobran u torbu.
Pomoćni algoritam
Pomoćni algoritam se može koristiti u drugim algoritmima navođenjem samo njegovog imena.
Uslovi pronađeni u algoritmima
Uslov je između riječi "ako" i "onda".
Na primjer: ako znate engleski, pritisnite jedan. U ovoj rečenici, dio fraze "znaš engleski" bit će uslov.
Podaci su informacije koje nose određeno semantičko opterećenje i predstavljene su na način da se mogu prenijeti i koristiti za ovaj algoritam.
Algoritamski proces - rješavanje problema prema algoritmu koristeći određene podatke.
Struktura algoritma
Algoritam može imati drugačiju strukturu. Da biste opisali algoritam, čiji koncept zavisi i od njegove strukture, možete koristiti više različitih načina, na primjer: verbalni, grafički, koristeći posebno razvijen algoritamski jezik.
Koja metoda će se koristiti zavisi od nekoliko faktora: složenosti zadatka, koliko detaljan proces rješavanja problema treba da bude, itd.
Grafička verzija algoritma
Grafički algoritam - koncept koji podrazumijeva dekompoziciju radnji koje je potrebno izvršiti da bi se riješio određeni problem, prema određenim geometrijskim oblicima.
Grafički dijagrami se ne prikazuju nasumično. Da bi oni mogliza razumijevanje bilo koje osobe najčešće se koriste dijagrami toka i Nassi-Schneiderman structogrami.
Takođe, blok dijagrami su nacrtani u skladu sa GOST-19701-90 i GOST-19.003-80. Grafičke figure koje se koriste u algoritmu podijeljene su na:
- Basic. Glavne slike se koriste za označavanje operacija koje su potrebne za obradu podataka prilikom rješavanja problema.
- Pomoćni. Potrebne su pomoćne slike da se ukažu na pojedinačne, a ne najvažnije elemente rješavanja problema.
U grafičkom algoritmu, geometrijski oblici koji se koriste za predstavljanje podataka nazivaju se blokovi.
Svi blokovi idu redom "od vrha do dna" i "slijeva na desno" - ovo je ispravan smjer toka. S ispravnim redoslijedom, linije koje povezuju blokove jedna s drugom ne pokazuju smjer. U drugim slučajevima, smjer linija je označen strelicama.
Ispravna algoritamska šema ne bi trebala imati više od jednog izlaza iz blokova obrade i manje od dva izlaza iz blokova odgovornih za logičke operacije i provjeru stanja.
Kako pravilno izgraditi algoritam?
Struktura algoritma, kao što je gore spomenuto, mora biti izgrađena prema GOST-u, inače neće biti razumljiva i dostupna drugima.
Opća metodologija snimanja uključuje sljedeće stavke:
Naziv pod kojim će biti jasno koji problem se može riješiti korištenjem ove šeme.
Svaki algoritam mora imati jasno označen početak i kraj.
Algoritmisvi podaci, i ulazni i izlazni, moraju biti jasno i jasno opisani.
Prilikom kompajliranja algoritma treba zabilježiti radnje koje će omogućiti izvođenje radnji neophodnih za rješavanje problema na odabranim podacima. Približan prikaz algoritma:
- Chema name.
- Podaci.
- Početak.
- Timovi.
- Kraj.
Pravilna konstrukcija kola će uvelike olakšati izračunavanje algoritama.
Geometrijski oblici odgovorni za različite radnje u algoritmu
Horizontalni oval - početak i kraj (znak kraja).
Horizontalni pravougaonik - proračun ili druge radnje (znak procesa).
Horizontalni paralelogram - ulaz ili izlaz (znak podataka).
Horizontalni romb - provjera stanja (znak odluke).
Izduženi, horizontalni šestougao - modifikacija (znak pripreme).
Algoritamski modeli su prikazani ispod.
Formula-verbalna verzija konstrukcije algoritma.
Formula-verbalni algoritmi su napisani u proizvoljnom obliku, na stručnom jeziku oblasti kojoj zadatak pripada. Opis radnji na ovaj način se izvodi pomoću riječi i formula.
Koncept algoritma u informatici
U kompjuterskom polju sve je bazirano na algoritmima. Bez jasnih instrukcija upisanih u obliku posebnog koda, nijedna tehnika neće raditi iliprogram. Na časovima informatike učenici pokušavaju dati osnovne pojmove algoritama, naučiti ih kako da ih koriste i sami kreiraju.
Kreiranje i korištenje algoritama u informatici je kreativniji proces od, na primjer, praćenja instrukcija za rješavanje problema iz matematike.
Postoji i poseban program "Algoritam" koji pomaže ljudima koji su neupućeni u oblast programiranja da kreiraju sopstvene programe. Takav resurs može postati nezamjenjiv pomoćnik za one koji prave prve korake u informatici i žele kreirati vlastite igre ili bilo koje druge programe.
S druge strane, svaki program je algoritam. Ali ako algoritam nosi samo radnje koje je potrebno izvršiti umetanjem svojih podataka, tada program već nosi gotove podatke. Druga razlika je u tome što program može biti patentiran i privatno vlasništvo, ali algoritam nije. Algoritam je širi koncept od programa.
Zaključak
U ovom članku analizirali smo koncept algoritma i njegove tipove, naučili kako pravilno napisati grafičke šeme.