Programiranje. Osnovne algoritamske konstrukcije
Za stvaranje bilo kakvih programa potrebne su osnovne algoritamske konstrukcije. Sljedeći je najjednostavniji način rješavanja problema. Može se upotrijebiti, na primjer, za rad s sličnim primjerima. Postoje i druge vrste: grananje i petlje. O njima će se reći u ovom članku. Ali prvo morate razumjeti što je sve o algoritmu.
sadržaj
algoritam
Riječ "algoritam" potječe od latiničnih algoritmi. Što to znači? Autentična riječ dolazi od imena matematičara, čiji je rad padao u 9. stoljeće. Zahvaljujući al-Khwarizmi raspravi, čovječanstvo se moglo upoznati s glavnom vrstom algoritamske konstrukcije i općenito s općim konceptom.
Ranije je usvojen oblik pisanja riječi "algoritam". Sada se koristi samo u nekim slučajevima.
Algoritam je proces koji znači promjenu izvornih podataka koji se javljaju u obliku diskretnih koraka. Ovim se konceptom svaka osoba susreće u životu, tko god on bio. Algoritmi mogu biti priprema čaja ili hrane, razmnožavanje ili dodavanje, rješavanje jednadžbi itd. Svi kućanski uređaji, čiji je radni proces automatiziran, funkcioniraju na štetu jasnih koraka propisanih u memoriji procesora. Takvi algoritmi se nazivaju kućanskim algoritmima. Postoje i druge vrste. Razmotrite ih.
Vrste algoritama
Osnovne algoritamske konstrukcije podijeljene su u nekoliko tipova, koje će se raspravljati u ovom podstavku. Kakve su to?
- Informacije. Takvi algoritmi rade s puno podataka, ali sam proces njihova obrade je malen duljina i nekompliciran.
- Kontrola. Rad takvih algoritama odnosi se na informacije koje se pružaju iz jednog ili drugog izvora. Nakon primitka, šalju se posebni signali kako bi se osiguralo rad uređaja.
- Računarstva. Za razliku od algoritama informacija, opisani su radovi s malim količinama podataka, ali stvaraju veliki proces rada.
Zapravo, algoritam je točan do najmanjih detaljnih uputa. Međutim, svi takvi podaci se ne mogu nazvati opisanim konceptom. Da biste razumjeli algoritam uputa ili ne, treba provjeriti određena svojstva.
Svojstva algoritama
Sve osnovne algoritamske konstrukcije moraju imati radnje koje ih se pokoravaju. Razmotrimo to više.
Ako u potpunosti pratite rad algoritama i njihovih svojstava, možete vidjeti da nije potrebno razumjeti njihove komponente, sasvim je jasno da odgovaraju planu. Dobit će ispravan rezultat, čak i ako samo mehanički držite potrebne radnje. Iz ovog možemo zaključiti da se zbog nedostatka smisla u svijesti o akcijama algoritam može stvarno dodijeliti implementaciji računala. Drugim riječima, za automatizirane uređaje taj je postupak potreban.
Koje osobine treba temeljne algoritamske konstrukcije za najtočniji rad?
- Razumljivost. Svaka naredba treba biti što jasnija objektu koji se izvršava. Čini se da ništa nije lakše nego, primjerice, nacrtati točku u središtu, no, sve dok ne dobijete naredbu koja će vam omogućiti da izvršite akciju, nećete moći to učiniti.
- Učinkovitost. Što znači ovo svojstvo? Obavezno primitak rezultata. Algoritam ne može, ali dovesti do nekog odgovora. Zbog pogreške, možete dobiti pogrešan rezultat koji je željen, no ipak će biti. Štoviše, odgovor se mora dobiti nakon određenog broja koraka.
- Masa. Bilo koji algoritam treba biti primjenjiv na neku klasu zadataka. Između njih mogu se razlikovati u izvornim podacima.
- Izvjesnost. Svaka radnja mora imati samo jednu vrijednost i ne dopušta dešifriranje izvedenica. U idealnom slučaju, bez obzira koliko se program izvodio, rezultat bi uvijek trebao biti isti.
- Diskretna. Algoritam - slijedni koraci. Svaki korak je naredba, ne možete preskočiti ili dodati nove.
- Ispravnost. Svaki algoritam koji se odnosi na bilo koju vrstu zadatka mora biti ispravan za sve. U programiranju problemi se često pojavljuju ne u pisanom obliku, što često ne zahtjeva puno vremena, već ih obavlja za različite vrste pitanja. Stoga će važan korak biti otklanjanje pogrešaka u algoritmu. Može pomoći u ovom i osnovnom algoritamskom dizajnu, čije ponavljanje postiže bolje rezultate.
Opis algoritama
Ako govorimo metode snimanja algoritama, treba napomenuti sljedeće:
- Verbalno. Drugim riječima, na jeziku koji je prikladan za izražavanje konstitutivnog.
- Tablica. Logično, algoritam je napisan u tablice i, u pravilu, koristi se kao pomoćni element.
- Formalno verbalno. Temelj je verbalni način objašnjenja, ali takve akcije također pišu matematičke formule ili simbole.
- Grafička. Takav je algoritam napisan na posebnom jeziku blok dijagrama.
Posljednju točku treba razjasniti. Što je blok dijagram? Ovo je linearni ili nelinearni algoritam, čiji koraci se bilježe pomoću posebnih blokova. Imaju vlastitu konfiguraciju, svrhu i funkciju. U slučaju takvog opisa, algoritam je napisan u blok dijagramima koji su međusobno povezani linijama. U njima morate dodatno snimiti radnju (korak).
Algoritamske konstrukcije
Neki tvrde da algoritmi nemaju 3 vrste, ali 4. Glavne algoritamske konstrukcije: linearni, razgranani, ciklički. Koji je razlog za to pogrešno shvaćanje nejasno. Međutim, za jednostavno rješavanje složenih problema, računalo koristi algoritme ovih tri prilično velike grupe. Razmotrite ih.
- Linearni. Takav računalni proces dobio je ovo ime zbog činjenice da se sve radnje izvode u linearnom slijedu, pri čemu se svaki korak izvodi ne više od jednom. Ako uzmemo u obzir shemu problema, tada se blokovi unutar njega smješta jedan ispod drugog, ovisno o broju redoslijeda zadatka. Linearni algoritmi rade na takav način da se smjer i značenje akcija ne mijenjaju od početnih podataka. Ova metoda otopine prikladna je za izračunavanje zbroja ili razlike, površine lika ili njegovog perimetra itd. Glavna vrsta algoritamske konstrukcije je ona.
- Grananje. Ovaj računalni proces podrazumijeva prisutnost logičkog izraza (daljnji LV) i izbor stanja (grana "laži" i "istina"). U svakom slučaju, provodi se samo jedan od dva ili više timova. Nema zadataka i ne može biti, u kojem će se ostale mogućnosti ispuniti. Ako u algoritmu postoje dvije grane, jednostavno je, ako je više od dvije, složeno. A ovaj posljednji proces lako je zastupljen na račun prve. Glavna vrsta algoritamske konstrukcije je i prva točka i druga. Sljedeće vrste su također uključene u ovaj popis.
- Ciklična. U takvom algoritmu, nužno će biti element koji se ponavlja mnogo puta, a koriste se različiti početni podaci. Drugim riječima, takav se proces naziva ciklusom.
Treba napomenuti da su sve osnovne algoritamske konstrukcije (praćenje, grananje, ciklus) međusobno povezane, iako se mogu koristiti zasebno.
Stvaranje ciklusa i njihovih vrsta
Što je potrebno za izradu petlje?
- Brojač ciklusa. Ovo je varijabla koja postavlja početnu vrijednost, a kada se radnja ponovi, ona će se promijeniti. To mora nužno biti dio algoritma. Osnovne algoritamske konstrukcije cikličkog tipa neće raditi bez nje.
- Promijenite pokazatelj gore navedenih podataka prije ponovnog ponovnog ciklusa.
- Provjera uvjeta da računalo odluči hoće li se "ciklički" pomicati ili više nije potrebno.
Ciklusi mogu biti deterministički i iterativni. Prvi predstavljaju ponavljanje akcija s već poznatim brojem ponavljanja. Ciklus iteracije je onaj koji se ponavlja neograničeno, sve dok stanje ne postane istinito ili netočno.
Osnovni algoritam
Važno je zapamtiti da se osnovni algoritam ne odnosi na osnovne algoritamske konstrukcije. Što je to? Taj se koncept dugo nije našao u suvremenoj literaturi, ali to ne znači da više ne postoji. S obzirom da se u rješavanju problema može pojaviti nekoliko grana ili ponavljanja, može se izdvojiti sljedeći zaključak. Osnovne algoritamske konstrukcije (linearne, razgranate, cikličke) su osnovne. U stvari, oni predstavljaju "strukturnu jedinicu" svake takozvane upute.
Linearni algoritmi
Kao što je već jasno iz gore navedenog, algoritmi su linearni i nelinearni. Razmislite o prvoj opciji. Zašto to zove? Sve je izuzetno jednostavno. Bitno je da sve radnje koje se reproduciraju u algoritmu imaju jasno slijedno izvršenje, svi se koraci izvode strogo jedan za drugim. Tipično, takvi zadaci su mali i imaju nisku razinu složenosti.
Primjer linearnog algoritma može biti postupak pripreme čaja:
- Ulijte vodu u kotlić.
- Stavite kuhalo na štednjak da kuhate.
- Uzmi čašu.
- Ulijte čaj u čašu.
- Dodajte šećer.
- Nakon kuhanja, ulijte kipuću vodu u čašu.
- Uzmi žlicu.
- Pomiješajte šećer.
Programiranje osnovnih algoritamskih konstrukcija prilično je teško, ali ako je to pitanje linearni algoritmi, onda ih često lako shvate.
Algoritmi razdvajanja
Kako razumjeti da je algoritam razgranat? Dovoljno je provjeriti postoji li izbor dvije ili više mogućnosti, ovisno o tome je li uvjet ispunjen ili nije. Svaki put se zove ogranak.
Glavna značajka razgranalog algoritma je postojanje uvjetne grane. To se događa tijekom provjere izraza na istinito ili netočno.
Logički izrazi u pravilu predstavljaju znakove "manje", "više", "manje ili jednako", "veći ili jednak", "jednak", "nejednak". Ponekad postoje varijante u kojima je stanje međusobno povezano uz pomoć i (i) i (ili) naredbi.
Primjer takvog algoritma može biti rješenje sljedećeg problema: ako je izraz ((x + 3) / 1 jednak pozitivan broj, tada ispišite rezultat na zaslon, ako je negativan, obavijestite korisnika o pogrešci.
Vrlo je jednostavno koristiti osnovne algoritamske konstrukcije u praksi. Branching je jedna od najčešćih metoda rješavanja.
Deterministički ciklus ili ciklus s brojačem
Petlja s brojačem je petlja koja uključuje varijablu koja mijenja vrijednost s određenim korakom. Korak je postavljen od strane korisnika ili je propisao programer tijekom pisanja kolateralne. Većina jezika za ovu petlju koristite za izjavu.
Da bi program prikazao dva retka 4 puta:
- "Kako si?"
- "Pa, hvala ti!"
- "Kako si?"
- "Pa, hvala ti!"
Potrebno je stvoriti deterministički ciklus. Kako izgleda? Koristimo jezik "Pascal" za bolju percepciju dizajna.
1. Za i: = 1 do 2 do:
- i je brojač petlje, on određuje broj ponavljanja u petlji.
2. Započnite (zagrade zagrada se otvaraju kako bi obje fraze bile tijelo petlje i ponovile ih zajedno.)
3. Writeeln (lsquo-Kako si? Rsquo-):
- riječ writeln znači izlaz frazu koja je u pojedinačnim citatima.
4. Pišite (lsquo-Ok, hvala).
5. Završi.
6. i: = i + 1.
Kao što vidite, vrlo je jednostavno i čak zanimljivo koristiti osnovne algoritamske konstrukcije. Osnovni algoritmi su doista poznati, bez njih je nemoguće napisati programe.
Ciklus s postconditionom
Petlja s postconditionom može ponoviti neodređeni broj akcija bez umetanja operacijskih spojnica ili složenih riječi u njih. To će biti ispunjeno barem jednom. Petlja se pokreće dok stanje nije netočno. Zaustavlja se kada su indikatori ispravni. Algoritam je izgrađen na tome. Osnovne algoritamske konstrukcije ovog tipa rade pod tim tempom.
Za provedbu ovog ciklusa potrebna je konstrukcija Repeat A to B. To je doslovno prevedeno kao "ponavljanje postupaka dok je stanje lažno". Prema tome, preko A procesa ponavljanja se izražava putem B - podataka, što kao rezultat mora uzeti ispravnu vrijednost.
Ciklus s preduvjetom
Krug s postcondicijom konstruiran je na takav način da se izvršava barem jednom u svakom slučaju. Međutim, postoje slučajevi kada je ciklus potreban u slučaju određenog stanja, i ako nema ponavljanja, to ne bi trebalo. Inače, rezultat će biti netočan. U ovom se slučaju koristi petlja s preduvjetom. Da biste ga izradili, potreban vam je "dok A do B" konstrukt. Prva naredba doslovno prevodi kao "bye". A je stanje, a B je radnja koja će se ponoviti. Cijela konstrukcija znači: "sve dok je stanje ispravno, izvršite akcije".
Sve osnovne algoritamske konstrukcije rade samo u određenim slučajevima. Što su oni u ciklusu s preduvjetom? Ako je neophodno da se ne ponovi jedan, već nekoliko, vrijedi upotrijebiti kompozitne operatore ili posebne zagrade. Ciklus se možda neće ispuniti ako stanje nije točno pri ulasku u njega. U skladu s tim, akcije se ponavljaju ako je ispravno.
Pomoćni algoritam
Pomoćni algoritam se koristi u drugim procesima određivanjem samo njegovim imenom. Ne odnosi se na osnovne algoritamske konstrukcije. U programskim jezicima ovaj se proces djelovanja naziva potprogramom. Da bi se olakšao rad kodova i kasnije jednostavnije rješavanje problema, svako se djelovanje kombinira u jedan blok, što je pomoćni algoritam. Svakom od njih može se dobiti naziv, što vam omogućuje da se više puta uputite na njega.
- Programiranje. Ciklusi s parametrom
- Svojstva i metode snimanja algoritama
- Školski algoritamski jezik: svrha, pravila, naredbe. Koncept algoritamskog jezika
- Linearni algoritmi - shema, struktura i računanje
- Osnovne vrste i primjeri cikličkih algoritama
- Koncept algoritma i svojstva algoritma. Vrste algoritama
- Algoritam: koncept, svojstva, struktura i vrste
- Što je algoritam s granama? Primjeri i definicija algoritama grananja
- Metode opisivanja algoritama i vrsta algoritama
- Varijabla u programiranju u potpunosti je obilježena time što?
- Vrste algoritama u računalnoj znanosti: primjeri
- Definicija, svojstva i vrste algoritama
- "Ne" sa participima - zajedno, zasebno? Primjeri i pravila
- Algoritmi za rješavanje problema - značajke, korak po korak opis i preporuke
- Dinamičko programiranje, osnovna načela
- Rješavanje problema programiranja. Ciklički algoritam
- Način Homori. Rješavanje problema s programom cijelih brojeva
- Značenje i upotreba jаvascript neispravnog
- Razvrstavanje algoritama kakvi jesu
- Šifriranje podataka kao nužnu mjeru za zaštitu vaših podataka
- Algoritam je jasno definiran niz obavljanja matematičkih operacija