Kako postaviti pametne telefone i računala. Informativni portal

formalni izvođač. "Informatika"

Postoje dvije vrste izvođača: formalni i neformalni.

Formalni izvršitelj uvijek izvršava istu naredbu na isti način.

Neformalni izvršitelj može izvršiti naredbu na različite načine.

Na primjer, kada više puta slušate disk sa svojom omiljenom melodijom, možete biti sigurni da je svirač (formalni izvođač) svira na isti način. No teško da će itko od pjevača (neformalnog izvođača) uspjeti nekoliko puta izvesti pjesmu iz svog repertoara na potpuno isti način.

U pravilu, osoba djeluje kao neformalni izvođač.

Formalni izvršitelji su uglavnom tehnički uređaji.

Osoba u ulozi neformalnog izvođača sama je odgovorna za svoje postupke.

Objekt koji ga kontrolira odgovoran je za radnje formalnog izvršitelja.

Razmotrimo detaljnije skup formalnih izvršitelja. Formalni izvršitelji su izuzetno raznoliki, ali je za svakog od njih moguće specificirati opseg zadataka koji se rješavaju, okolinu, sustav naredbi, sustav kvarova i načine rada.

  1. Raspon zadataka koje treba riješiti. Svaki izvršitelj stvoren je za rješavanje određene klase zadataka.
  2. Okruženje izvršitelja. Područje, okruženje, uvjeti u kojima izvođač djeluje obično se nazivaju okruženjem tog izvođača.
  3. Sustav zapovijedanja izvršitelja. Uputa za izvođenje zasebne završene radnje izvođača naziva se naredba. Skup svih naredbi koje neki izvođač može izvršiti čini SCI - sustav naredbi izvođača.
  4. Sustav kvara izvršitelja. Odbijanje "Ne razumijem" događa se kada izvođač dobije naredbu koja nije uključena u njegov SKI. Odbijanje "Ne mogu" događa se kada naredbu iz SCI-a on ne može izvršiti u specifičnim uvjetima okoline.
  5. Načini rada izvođača. Za većinu izvođača dostupni su načini izravne i programske kontrole. U prvom slučaju, izvođač očekuje naredbe od osobe i odmah izvršava svaku dolaznu naredbu. U drugom slučaju, izvođaču se najprije zada kompletan niz naredbi (program), a zatim on sve te naredbe izvršava u automatskom načinu rada. Brojni izvođači rade samo u jednom od ovih načina.

Razvoj algoritma - dugotrajan zadatak koji zahtijeva duboko znanje i puno vremena od osobe. Rješavanje problema korištenjem gotovog algoritma zahtijeva od izvođača samo strogo pridržavanje zadanih uputa. Izvođač se ne udubljuje u smisao onoga što radi i ne obrazlaže zašto čini tako, a ne drugačije – on djeluje formalno. S tim u vezi je i mogućnost automatizacije ljudskih aktivnosti:

  • proces rješavanja problema predstavljen je kao niz jednostavnih operacija;
  • stvoren je stroj (automatski uređaj) koji je sposoban izvršiti te operacije u slijedu navedenom u algoritmu;
  • osoba je oslobođena rutinskih aktivnosti, izvršenje algoritma povjerava se automatskom uređaju.

Glavno pitanje: ?

Vodeća pitanja:

§ Koji su izvođači?

§ Što karakterizira izvođača?

§ Kako postići da izvođač razumije i izvrši algoritam?

Ciljevi istraživanja:

§ Pronađite primjere različitih izvođača.

§ Utvrdite po čemu se izvođači razlikuju.

§ Saznajte što karakterizira izvođače.

§ Istražite zašto izvođači ne mogu uvijek izvršiti algoritam.

§ Navedite primjere algoritama i identificirajte izvođača u njima.

Primjeri izvođača

U kuću je unesen novi ormar... Odnosno, ormara kao takvog još nema, vrata, police, vijci i drugi detalji budućeg spremnika odjeće i posteljine postavljeni su na pod. Otac i ja, slijedeći detaljne upute, idemo prema montaži. Ovdje instrukcija djeluje kao algoritam, a moj otac i ja djelujemo kao njen izvršitelj.

Na satovima matematike izvodimo razne izračune – množimo i dijelimo stupcem, zbrajamo proste razlomke. U tim slučajevima mi smo izvršitelji odgovarajućih algoritama.

Ali izvođač ne može biti samo osoba. Različiti uređaji, uključujući računalo, također mogu izvršavati algoritme koje sami specificiraju. Na primjer, Lunokhod, automatsko vozilo s vlastitim pogonom isporučeno na Mjesec 1970. godine, izvodilo je najsloženije algoritme, krećući se po površini Mjeseca i prikupljajući informacije koje su ljudima bile potrebne. Industrijski roboti zamjenjuju ljude u proizvodnji, au svakodnevnom životu domaćicama također priskaču u pomoć uređaji koji mogu djelovati prema zadanim algoritmima.

Izvođači bajki

Izvođači se često nalaze u bajkama. U jednom od njih, Ivan Tsarevich kaže Hut-on-Kuryih-Legs: “Hut, hut! Ustaj u šumu leđima, meni ispred! U tom slučaju naredba se mora dati vrlo precizno kako bi je izvođač razumio. U bajci “Ali Baba i četrdeset razbojnika” čarobna vrata otvaraju se naredbom “Sezame, otvori!”. Pohlepni Kasim, koji je tajno ušao u pećinu, zaboravio je ovu rečenicu i nije mogao napustiti pećinu.

I Kabina-na-pilećim-nogama i čarobna vrata imaju mnogo toga zajedničkog: u stanju su razumjeti i izvršiti neke točno zadane naredbe, odnosno izvođači su.

Tko je izvođač?

Izvršitelj algoritma je živo biće ili tehnički objekt sposoban za izvršavanje radnji koje algoritam propisuje.

Izvođači mogu biti:

§ strojevi: alatni strojevi, roboti, kućanski aparati (perilica rublja, magnetofon, player itd.), računala;

§ biljke: suncokret (otkriva se na suncu), lopoč (noću blizu);

§ životinje: dresirani pas (medicinska sestra, tragač, lov), mačka;

§ ljudi: učenik, radnik, vojnik, učitelj, ...

Jesu li svi izvođači isti?

Životinje i ljudi kao izvođači razlikuju se od svih drugih izvođača na tri glavna načina:

§ Naredbe razumiju na različite načine (npr. „Sjedni!“, „Sjedni!“, „Sjedni!“).

§ Mogu odbiti izvršiti naredbu ako im se ne sviđa ("Jedi griz!", "Pucaj iz praćke u prozor!", "Daj kost!"). Odnosno, osoba, au određenoj mjeri i životinja, imaju volju i odgovorni su za svoje postupke.

§ Mogu izvoditi iste naredbe na različite načine u različito vrijeme (na primjer, možete oprati pod rukama ili možete koristiti krpu).

Postoje dvije vrste izvođača!

Razmislimo sada o ovom pitanju: budući da se izvođači razlikuju po nekim svojim karakteristikama, znači li to da ih ne treba dijeliti u dvije klase? Onda nije teško pogoditi da će životinje i ljudi spadati u jednu klasu, a svi ostali izvođači u drugu. Ostaje odrediti kako te klase imenovati i odrediti koja svojstva mora imati izvođač da bi ušao u jednu ili drugu skupinu.

Formalno i neformalno

Da bismo to učinili, prisjetimo se jednog od svojstava algoritma, naime formalnosti, što znači da izvođač možda neće razumjeti značenje algoritma, ali će ga ipak ispravno izvršiti ... Može li osoba ili životinja uvijek to učiniti? Vjerojatno ne, dakle, ne može se reći da formalno izvršavaju algoritam, pa ćemo pretpostaviti da su osoba i životinja neformalni izvođači.

Dakle, tijekom izvršavanja algoritma, izvođač možda neće proniknuti u značenje onoga što radi, a ipak će dobiti željeni rezultat. U takvim slučajevima kažu da izvođač djeluje formalno, odnosno da je ometen od sadržaja zadatka i sve radnje izvodi samo u strogom slijedu. Ovo je formalni izvođač.

Ako izvođač napravi neke promjene u algoritmu (mijenja redoslijed koraka; neke preskoči, smatrajući ih nepotrebnima ili beznačajnima), onda kažu da takav izvođač nije formalan.

Karakteristike umjetnika

Izvođač, kao i svaki objekt, ima svoje karakteristike.

Izvođača karakterizira:

§ SKI (sustav naredbi izvršitelja) – skup naredbi koje izvođač razumije i može izvršiti.

Svaki izvršitelj može izvršavati naredbe samo s nekog strogo definiranog popisa.

§ Okolina - uvjeti u kojima izvođač može izvršavati naredbe. Izvođačevo okruženje možemo nazvati i njegovim "Habitatom".

§ I odricanje od odgovornosti:

1. "Ne razumijem" - ova naredba nije na popisu naredbi izvođača, a on je nije razumio. Vjerojatno smo pogriješili u pisanju teksta naredbe, naredba nije uključena u SKI.

2. "Ne može" - izvršitelj je razumio naredbu, ali je ne može izvršiti. Na primjer, naredba "naprijed" je dana robotu, a ispred je zid i ne može ići. Ili je psu naređeno "Sjedni!", a ona već sjedi.

Kako izvođač može izvršiti algoritam?

Izvođač će moći izvršiti algoritam ako mu je poznat, ako mu je algoritam rečeno. Jezik je najvažniji način komunikacije ljudi. Ulaskom u stranu državu, a ne znajući domaći jezik, čovjek je potpuno bespomoćan. Znakovni jezik, mimika, pisanje sa slikama (piktografsko pismo) mogu priskočiti u pomoć, ali sve to samo djelomično popravlja situaciju.

Prirodni jezik (ruski, engleski, francuski, ...) osnova je za potpunu komunikaciju ljudi.

Prirodni jezici su figurativni i polisemantični. Ako pogledate u rječnik ruskog jezika, možete saznati, na primjer, da postoji više od 20 značenja za riječ "ići". Evo samo nekoliko primjera: Osoba hoda cestom; pada kiša; vrijeme teče; ova joj haljina pristaje; gljive će ići kasnije, u rujnu; Idemo sutra u ribolov, može? - ide!

U prirodnom jeziku istom riječju mogu se označavati potpuno različiti pojmovi. U pravilu, osoba iz općeg značenja teksta, ponekad i bez razmišljanja, iz čitavog skupa značenja riječi, odabire upravo ono koje je pošiljatelj poruke imao na umu. Ali zamislite sebe na mjestu formalnog izvođača koji ne ulazi u smisao cijele poruke. Kako ćete u ovom slučaju razumjeti izraze: kiselo moje; rani bijeg; jeli posvuda; poznato okruženje?

Kako bismo bili sigurni da jezik formalnog izvođača ne može biti dvosmislen, pokušali smo formalnim prevoditeljem prevesti s engleskog tekst koji govori o ... Pokušajte sami pogoditi o čemu se radi.

Drvo se danas prodaje - izrezuje se od borove šperploče, a zatim se umače u tekuće kemikalije koje proizvode lako zapaljivu, ugasivu ploču.

I radilo se o običnoj drvenoj šibici, ali kako je bilo moguće objasniti prevoditelju da je od svih značenja riječi "utakmica" bilo potrebno izabrati ne "dogovor", već "utakmica", od značenja riječi "napojnica" - "napojnica", a ne "savjet", da "umrijeti" znači ne samo "umrijeti", već i "pečat", a da ne govorimo o složenosti gramatičkih konstrukcija?

Što je program?

Za formalnog izvođača jezik komunikacije ne može biti dvosmislen; za takve izvođače razvijaju se i koriste posebni umjetni jezici, gdje pojedinačne riječi i izrazi ne dopuštaju različita tumačenja.

Algoritam opisan jezikom izvođača naziva se program.

Da biste naučili kako pisati programe na određenom jeziku, morate proučiti abecedu, vokabular i gramatička pravila po kojima su rečenice izgrađene na ovom jeziku, dok nikakva odstupanja od pravila za pisanje riječi i rečenica nisu dopuštena, inače će izvođač jednostavno odbiti slijediti vaše upute i neće biti zbunjen i brinuti o pogreškama, kao što to radi Mishkin prijatelj iz pjesme A. Shibaeva:

Stiglo mi je pismo
Izgledam -
Iz kampa iz Miške ...
Evo divne mašne i ja se ližem
- Napisano u pismu.
Lizati luk? Što su čuda?
Vjerojatno se šali lupež...
Čitaj dalje:
Evo lisice, prekrasne duge šipke ...
Neki dan sam u šumi našao tugu
i bila jako sretna...
Ne, ne, ne šali se! uplašen,
Moj prijatelj je teško bolestan.
Vratit će se - potrebno je izliječiti:
Neka pravila uče...

§ Postoje dvije vrste izvođača: formalni i neformalni.

§ Izvršitelja karakterizira sustav naredbi, okruženje i propusti.

§ Da bi nas izvođač razumio, potrebno je napisati algoritam na jeziku izvođača, odnosno napisati program.

Pojava algoritama povezana je s rađanjem matematike. Prije više od 1000 godina (825. godine), znanstvenik iz grada Khorezma Abdullah (ili Abu Jafar) Muhammad bin Musa al-Khwarizmi napisao je knjigu o matematici, u kojoj je opisao načine izvođenja aritmetičkih operacija na višeznačnim brojevima. Sama riječ algoritam nastala je u Europi nakon prijevoda knjige ovog matematičara na latinski jezik.

Algoritam- opis slijeda radnji (plana), čije strogo izvršenje dovodi do rješenja zadatka u konačnom broju koraka.

S ovim konceptom se stalno susrećete u raznim područjima ljudskog djelovanja (kuharske knjige, upute za korištenje raznih aparata, pravila za rješavanje matematičkih zadataka...). Obično izvodimo uobičajene radnje bez razmišljanja, mehanički. Na primjer, dobro znate kako otvoriti vrata ključem. Međutim, kako biste ovo naučili bebu, morat ćete jasno objasniti ove radnje i redoslijed kojim se izvode: 1. Izvadite ključ iz džepa. 2. Umetnite ključ u ključanicu. 3. Okrenite ključ dva puta u smjeru suprotnom od kazaljke na satu. 4. Izvadite ključ.

Ako pažljivo pogledate oko sebe, pronaći ćete mnogo algoritama koje neprestano izvršavamo. Svijet algoritama vrlo je raznolik. Unatoč tome, moguće je istaknuti opća svojstva koja ima bilo koji algoritam.

Svojstva algoritama: 1. Diskretnost (algoritam bi se trebao sastojati od specifičnih radnji koje slijede određenim redoslijedom); 2. Determinizam (svaka radnja mora biti strogo i nedvosmisleno definirana u svakom slučaju); 3. Konačnost (svaka radnja i algoritam u cjelini moraju biti sposobni izvršiti); 4. Masovni karakter (isti algoritam se može koristiti s različitim početnim podacima); 5. Učinkovitost (nema grešaka, algoritam mora dovesti do ispravnog rezultata za sve važeće ulazne vrijednosti).

Vrste algoritama: 1. Linearni algoritam (opis radnji koje se izvode jednom zadanim redoslijedom); 2. Ciklički algoritam (opis radnji koje se moraju ponoviti određeni broj puta ili dok se zadatak ne završi); 3. Algoritam grananja (algoritam u kojem se, ovisno o uvjetu, izvodi jedan ili drugi niz radnji) 4. Pomoćni algoritam (algoritam koji se može koristiti u drugim algoritmima navodeći samo njegov naziv).

Za vizualniji prikaz algoritma, široko se koristi grafički oblik – blok dijagram, koji se sastoji od standardnih grafičkih objekata.

Prikaz standardnog grafičkog objekta

Svrha

Početak algoritma

Kraj algoritma

Unutar pravokutnika upisuje se izvršena radnja

Uvjet za izvođenje radnji ispisan je unutar romba

Ulaz izlaz

Faze izrade algoritma: 1. Algoritam mora biti predstavljen u obliku razumljivom osobi koja ga razvija. 2. Algoritam mora biti predstavljen u obliku razumljivom objektu (uključujući osobu) koji će izvršiti radnje opisane u algoritmu.

Objekt koji će izvršiti algoritam obično se naziva izvršitelj.

Izvršitelj- objekt koji izvršava algoritam.

Idealni izvođači su strojevi, roboti, računala...

Izvršitelj može izvršiti samo ograničeni broj naredbi. Stoga je algoritam razvijen i detaljan tako da sadrži samo one naredbe i konstrukcije koje izvođač može izvršiti.

Izvršitelj se, kao i svaki objekt, nalazi u određenom okruženju i može izvoditi samo radnje koje su u njemu dopuštene. Ako izvršitelj naiđe na nepoznatu naredbu u algoritmu, tada će izvršenje algoritma prestati.

Računalo je automatski izvršitelj algoritama.

Algoritam napisan programskim jezikom "razumljivim" računalu naziva se program.

Programiranje je proces pisanja programa za računalo. Za prva računala programi su napisani kao niz elementarnih operacija. Bio je to vrlo naporan i neučinkovit posao. Stoga su kasnije razvijeni posebni programski jezici. Trenutno postoji mnogo umjetnih jezika za programiranje. Međutim, nije bilo moguće stvoriti idealan jezik koji bi svima odgovarao.

Moderna osoba okružena je širokim spektrom tehničkih uređaja: TV, magnetofon, kamera, telefon, perilica rublja, automobil itd. Svaki od ovih uređaja dizajniran je za rješavanje vlastitog zadatka i sposoban je izvršiti neki ograničeni skup radnji ili naredbi.

Izvršitelj- ovo je neki objekt (čovjek, životinja, tehnički uređaj) sposoban izvršiti određeni skup naredbi. Naredbe koje određeni izvođač može izvršiti, oblikuju sustav uputa za izvođača(SKIJATI).

Izvođači su različiti. Jedan od najjednostavnijih izvođača može se smatrati gumbom za uključivanje / isključivanje na kućištu monitora.

Sustav naredbi izvođača - CD-player prikazan je na sl. 56.

Riža. 56

Složeniji izvođač je moderna perilica rublja, čija elektronička memorija sadrži različite programe pranja koje su razvili inženjeri. Cjelokupni proces pranja (namakanje, pranje, ispiranje, centrifuga, sušenje) obavlja mašina automatski, bez sudjelovanja osobe, ali prema programu po izboru osobe.

Među automatski uređaji najsavršeniji izvođači su roboti. Malo je vjerojatno da će čovjek moći sastaviti najsloženiji dio tako brzo, precizno i ​​kvalitetno, kao što to čini robotska ruka u automatiziranoj proizvodnji. Danas su stvoreni humanoidni roboti i roboti igračke koji podsjećaju na kućne ljubimce.

Još jedan primjer izvođača - Računalo. Njegovo razlikovno obilježje je svestranost. Poznajete računalne programe za obradu tekstualnih, numeričkih i grafičkih informacija, obrazovne programe i računalne igre. Osim toga, postoje programi pomoću kojih računalo upravlja radom drugih uređaja koji su s njime povezani (izvršitelji).

U mnogim slučajevima, osoba je sama izvršitelj algoritama. Na primjer, svatko od nas, kada prelazi ulicu, izvršitelj je sljedećeg algoritma:

  1. zaustaviti se na pločniku;
  2. Pogledaj lijevo;
  3. ako nema prijevoza, idite na sredinu ulice i zaustavite se, u suprotnom slijedite korak 2;
  4. Pogledaj desno;
  5. ako nema prijevoza, idite na suprotni pločnik, u suprotnom slijedite korak 4.

Izvođači velikog broja algoritama su učenici koji izvode brojne pismene i usmene zadatke.

Formalni izvođači

Postoje dvije vrste izvođača: formalni i neformalni. Formalni izvršitelj uvijek izvršava istu naredbu na isti način. Neformalni izvršitelj može izvršiti naredbu na različite načine.

Na primjer, kada više puta slušate disk sa svojom omiljenom glazbom, možete biti sigurni da ga svirač (formalni umjetnik) reproducira na isti način. No teško da će itko od pjevača (neformalnog izvođača) moći nekoliko puta izvesti pjesmu iz svog repertoara na potpuno isti način.

U pravilu, osoba djeluje kao neformalni izvođač. Formalni izvršitelji su uglavnom tehnički uređaji. Osoba u ulozi neformalnog izvođača sama je odgovorna za svoje postupke. Objekt koji ga kontrolira odgovoran je za radnje formalnog izvršitelja.

Razmotrimo detaljnije skup formalnih izvršitelja. Formalni izvršitelji su izuzetno raznoliki, ali je za svakog od njih moguće specificirati opseg zadataka koji se rješavaju, okolinu, sustav naredbi, sustav kvarova i načine rada.

  1. Raspon zadataka koje treba riješiti. Svaki izvršitelj stvoren je za rješavanje određene klase zadataka.
  2. Okruženje izvršitelja. Područje, okruženje, uvjeti u kojima izvođač djeluje obično se nazivaju okruženjem tog izvođača.
  3. Sustav zapovijedanja izvršitelja. Uputa za izvođenje zasebne završene radnje izvođača naziva se naredba. Skup svih naredbi koje neki izvođač može izvršiti čini SCI - sustav naredbi izvođača.
  4. Sustav kvara izvršitelja. Odbijanje "Ne razumijem" događa se kada izvođač dobije naredbu koja nije uključena u njegov SKI. Odbijanje "Ne mogu" događa se kada naredbu iz SCI-a on ne može izvršiti u specifičnim uvjetima okoline.
  5. Načini rada izvođača. Za većinu izvođača dostupni su načini izravne i programske kontrole. U prvom slučaju, izvršitelj čeka naredbe od upravljačkog objekta i odmah izvršava svaku dolaznu naredbu. U drugom slučaju, izvođaču se najprije zada kompletan niz naredbi (program), a zatim on sve te naredbe izvršava u automatskom načinu rada. Brojni izvođači rade samo u jednom od ovih načina.

Automatizacija

Razvoj algoritma je naporan zadatak koji zahtijeva duboko znanje i puno vremena od osobe. Rješavanje problema korištenjem gotovog algoritma zahtijeva od izvođača samo strogo pridržavanje zadanih uputa. Izvođač ne ulazi u smisao onoga što radi i ne obrazlaže zašto se ponaša ovako, a ne drugačije – on glumi formalno. S tim u vezi je i mogućnost automatizacija ljudska djelatnost - zamjena dijela ljudskog rada radom strojeva (automatskih uređaja):

  • proces rješavanja problema predstavljen je kao niz jednostavnih operacija;
  • stvoren je stroj koji može izvesti ove operacije u slijedu navedenom u algoritmu;
  • izvršavanje algoritma povjerava se automatskom uređaju; osoba se oslobađa rutinskih aktivnosti.

| § 2.1. Algoritmi i izvršitelji

Lekcija 14
§ 2.1. Algoritmi i izvršitelji

Ključne riječi:

Algoritam
svojstva algoritma (diskretnost; razumljivost; sigurnost; učinkovitost; masovnost)
izvršitelj
karakteristike izvođača (raspon zadataka koje treba riješiti; okruženje; način rada; sustav naredbi)
formalno izvršenje algoritma

2.1.1. Pojam algoritma

Svaka osoba u svakodnevnom životu, u školi ili na poslu, rješava ogroman broj zadataka vrlo različite složenosti. Teški problemi zahtijevaju mnogo razmišljanja kako bi se pronašlo rješenje; jednostavne i poznate zadatke čovjek rješava bez razmišljanja, automatski. U većini slučajeva, rješenje svakog problema može se raščlaniti na jednostavne faze (korake). Za mnoge od ovih zadataka (instalacija softvera, sastavljanje kabineta, izrada web stranice, rad s tehničkim uređajem, kupnja zrakoplovne karte putem interneta itd.) već su razvijene i ponuđene upute korak po korak, čijim sekvencijalnim izvršavanjem možete postići željeni rezultat.

Primjer 1 Zadatak „Nađi aritmetičku sredinu dvaju brojeva“ rješava se u tri koraka:

1) zamislite dva broja;
2) zbrojite dva zamišljena broja;
3) Dobiveni iznos podijelite s 2.

Primjer 2 Zadatak "Uplati novac na telefonski račun" podijeljen je u sljedeće korake:

1) idite na terminal za plaćanje;
2) odabrati telekom operatera;
3) unesite telefonski broj;
4) provjeriti ispravnost upisanog broja;
5) ubaciti novčanicu u akceptor;
6) pričekajte poruku o uplati novca na račun;
7) dobiti ček.

Primjer 3 Faze rješavanja problema "Nacrtaj smiješnog ježa" prikazane su grafički:


Pronalaženje aritmetičke sredine, uplata novca na telefonski račun i crtanje ježa na prvi su pogled potpuno različiti procesi. Ali imaju zajedničku značajku: svaki od ovih procesa opisan je nizom kratkih uputa, čije točno praćenje omogućuje postizanje željenog rezultata. Nizovi indikacija dani u primjerima 1-3 su algoritmi za rješavanje odgovarajućih problema. Izvršitelj ovih algoritama je osoba.

Algoritam može biti opis nekog niza izračuna (primjer 1) ili nematematičkih koraka (primjeri 2-3). Ali u svakom slučaju, prije njegove izrade treba jasno definirati početne uvjete (početne podatke) i ono što se želi dobiti (rezultat). Možemo reći da je algoritam opis niza koraka u rješavanju problema koji vodi od početnih podataka do željenog rezultata.

Općenito, shema algoritma može se prikazati na sljedeći način (slika 2.1).

Riža. 2.1. Opća shema algoritma

Algoritmi su pravila zbrajanja, oduzimanja, množenja i dijeljenja brojeva koja se proučavaju u školi, mnoga gramatička pravila, pravila geometrijskih konstrukcija itd.

Animacije "Rad s algoritmom" (193576), "Najveći zajednički djelitelj" (170363), "Najmanji zajednički višekratnik" (170390) pomoći će vam da se prisjetite nekih algoritama naučenih na lekcijama ruskog jezika i matematike (http://sc.edu.ru/).

Primjer 4 Neki algoritam dovodi do činjenice da se iz jednog niza znakova dobije novi niz na sljedeći način:

1. Izračunava se duljina (u znakovima) izvornog znakovnog niza.
2. Ako je duljina izvornog lanca neparna, onda se broj 1 dodjeljuje izvornom lancu s desne strane, inače se lanac ne mijenja.
3. Simboli se mijenjaju u parovima (prvi - s drugim, treći - s četvrtim, peti - sa šestim itd.).
4. S desne strane, broj 2 je dodijeljen primljenom lancu.

Dobiveni lanac je rezultat algoritma.

Dakle, ako je izvorni lanac bio A # B, tada će rezultat algoritma biti lanac # A1B2, a ako je izvorni lanac bio ABC @, tada će rezultat algoritma biti lanac BA @ B2.

2.1.2. Izvođač algoritma

Svaki algoritam dizajniran je za određenog izvođača.

Izvršitelj je neki objekt (osoba, životinja, tehnički uređaj) sposoban izvršiti određeni skup naredbi.

razlikovati formalni i neformalni izvođači. Formalni izvršitelj uvijek izvršava istu naredbu na isti način. Neformalni izvršitelj može izvršiti naredbu na različite načine.

Razmotrimo detaljnije skup formalnih izvršitelja. Formalni izvršitelji su izuzetno raznoliki, ali za svakoga od njih mogu se naznačiti sljedeće karakteristike: opseg zadataka koji se rješavaju (imenovanje), okruženje, sustav zapovijedanja i način rada.

Raspon zadataka koje treba riješiti. Svaki izvršitelj stvoren je za rješavanje određenog niza zadataka - izgradnja lanaca simbola, izvođenje izračuna, crtanje slika na ravnini itd.

Okruženje izvršitelja. Područje, okruženje, uvjeti u kojima izvođač djeluje obično se nazivaju okruženjem tog izvođača. Ulazni podaci i rezultati bilo kojeg algoritma uvijek pripadaju okruženju izvršitelja kojem je algoritam namijenjen.

Sustav zapovijedanja izvršitelja. Uputa izvođaču da izvrši zasebnu završenu radnju naziva se naredba. Skup svih naredbi koje može izvršiti određeni izvođač čini sustav naredbi ovog izvođača (CIS). Algoritam se sastavlja uzimajući u obzir sposobnosti određenog izvođača, drugim riječima, u sustavu naredbi izvođača koji će ga izvršiti.

Načini rada izvođača. Za većinu izvođača omogućeni su načini izravne kontrole i kontrole programa. U prvom slučaju, izvođač očekuje naredbe od osobe i odmah izvršava svaku dolaznu naredbu. U drugom slučaju, izvođaču se najprije zada kompletan niz naredbi (program), a zatim on sve te naredbe izvršava u automatskom načinu rada. Brojni izvođači rade samo u jednom od ovih načina.

Razmotrite primjere izvođača.

Primjer 5 Performer Turtle kreće se po ekranu računala ostavljajući trag u obliku linije.

Sustav naredbi Kornjače sastoji se od sljedećih naredbi:

1. Naprijed n (gdje je n cijeli broj) - uzrokuje da se kornjača pomakne za n koraka u smjeru kretanja - u smjeru u kojem su joj glava i tijelo okrenuti;
2. Desno m (gdje je m cijeli broj) - uzrokuje da kornjača promijeni smjer za m stupnjeva u smjeru kazaljke na satu.
Snimanje Ponovi k[<Команда1> <Команда2> ... <Командаn>] znači da će se niz naredbi u zagradama ponoviti k puta.

Razmislite koja će se figura pojaviti na ekranu nakon što Kornjača izvrši sljedeći algoritam.
Ponavljanje 12 [desno 45 naprijed 20 desno 45]

Primjer 6 Sustav naredbi izvršitelja Kalkulator se sastoji od dvije naredbe, kojima su dodijeljeni brojevi:

1 - oduzmi 1
2 - pomnožiti s 3

Prvi od njih smanjuje broj za 1, drugi povećava broj za 3 puta. Prilikom pisanja algoritama, radi sažetosti, naznačeni su samo brojevi naredbi. Na primjer, algoritam 21212 znači sljedeći niz naredbi:

Pomnožite s 3
oduzmi 1
pomnožiti sa 3
oduzmi 1
pomnožiti sa 3

S ovim algoritmom, broj 1 će se pretvoriti u 15:

((1 3 - 1) 3 - 1) 3 = 15.

Primjer 7 Robot Egzekutor radi na kariranom polju, između susjednih ćelija koje mogu biti zidovi. Robot se kreće kroz ćelije polja i može izvršavati sljedeće naredbe, kojima su dodijeljeni brojevi:


1 - gore
2 - dolje
3 - desno
4 - lijevo

Kada se svaka takva naredba izvrši, robot se pomiče na sljedeću ćeliju u navedenom smjeru. Ako postoji zid između ćelija u ovom smjeru, tada je robot uništen.

Što će se dogoditi robotu ako izvrši niz naredbi 32323 (ovdje brojevi označavaju brojeve naredbi) počevši od ćelije A? Koji niz naredbi robot treba izvršiti da bi se pomaknuo iz ćelije A u ćeliju B bez sudara sa zidovima?

Prilikom razvoja algoritma:

1) razlikuju se predmeti koji se pojavljuju u zadatku, utvrđuju se svojstva predmeta, odnosi među predmetima i mogući postupci s predmetima;
2) utvrđuju se početni podaci i traženi rezultat;
3) određen je redoslijed radnji izvođača, koji osigurava prijelaz od početnih podataka do rezultata;
4) slijed radnji se bilježi pomoću naredbi uključenih u sustav naredbi izvršitelja.

Za algoritam možemo reći da je model aktivnosti izvršitelja algoritama.

2.1.3. Svojstva algoritma

Niti jedna uputa, redoslijed recepata ili plan djelovanja ne mogu se smatrati algoritmom. Svaki algoritam nužno ima sljedeća svojstva: diskretnost, razumljivost, sigurnost, učinkovitost i masovnost.

Diskretno svojstvo znači da je način rješavanja problema podijeljen u zasebne korake (radnje). Svaka radnja odgovara receptu (naredbi). Tek nakon izvršenja jedne naredbe, izvršitelj može započeti s izvršavanjem sljedeće naredbe.

svojstvo razumljivosti znači da se algoritam sastoji samo od naredbi uključenih u sustav naredbi izvršitelja, tj. od takvih naredbi koje izvršitelj može percipirati i na kojima može izvršiti tražene radnje.

Svojstvo određenosti znači da u algoritmu nema naredbi čije značenje izvođač može protumačiti dvosmisleno; Neprihvatljive su situacije kada nakon izvršenja sljedeće naredbe izvršitelju nije jasno koju naredbu sljedeću izvršiti. Zbog toga je rezultat algoritma jednoznačno određen skupom ulaznih podataka: ako se algoritam primijeni više puta na isti skup ulaznih podataka, tada je izlaz uvijek isti rezultat.

svojstvo izvedbe znači da algoritam mora osigurati da se rezultat dobije nakon konačnog, moguće vrlo velikog broja koraka. U ovom slučaju, rezultat se smatra ne samo odgovorom zbog formulacije problema, već i zaključkom da je iz bilo kojeg razloga nemoguće nastaviti rješavanje ovog problema.

Masovno vlasništvo znači da algoritam mora osigurati mogućnost svoje primjene za rješavanje bilo kojeg problema iz određene klase problema. Na primjer, algoritam za pronalaženje korijena kvadratne jednadžbe mora biti primjenjiv na bilo koju kvadratnu jednadžbu, algoritam za prelazak ulice mora biti primjenjiv na bilo koje mjesto na ulici, algoritam za pripremu lijeka mora biti primjenjiv na pripremu bilo koje količine, itd.

Primjer 8 Razmotrimo jednu od metoda za pronalaženje svih prostih brojeva koji ne prelaze neki prirodni broj n. Ova metoda se naziva "Eratostenovo sito" po starogrčkom znanstveniku Eratostenu (3. st. pr. Kr.) koji ju je predložio.

Da biste pronašli sve proste brojeve koji nisu veći od zadanog broja n, slijedeći Eratostenovu metodu, morate izvršiti sljedeće korake:

1) ispišite redom sve prirodne brojeve od 2 do n (2, 3, 4, ..., n);
2) zatvoriti u okvir 2 - prvi prosti broj;
3) brisati s popisa sve brojeve djeljive zadnjim pronađenim prostim brojem;
4) pronađite prvi neoznačeni broj (označeni brojevi su prekriženi brojevi ili brojevi u okviru) i zatvorite ga u okvir - to će biti sljedeći prost broj;
5) ponavljajte korake 3 i 4 dok ne ostane nijedan neoznačeni broj.

O načinu pronalaženja prostih brojeva možete bolje upoznati uz pomoć animacije “Eratostenovo sito” (180279) objavljene u Objedinjenoj zbirci digitalnih obrazovnih izvora.

Razmatrani slijed radnji je algoritam, budući da zadovoljava sljedeća svojstva:

diskretnost- proces pronalaženja prostih brojeva podijeljen je u korake;
razumljivost- svaka naredba je razumljiva učeniku 8. razreda koji izvodi ovaj algoritam;
sigurnost- svaku naredbu izvođač tumači i izvršava nedvosmisleno; postoje upute o redoslijedu izvršavanja naredbi;
izvođenje- nakon određenog broja koraka postiže se rezultat;
masovni karakter- slijed radnji primjenjiv je za bilo koji prirodni n.

Razmotrena svojstva algoritma omogućuju nam da damo precizniju definiciju algoritma.

Algoritam je opis niza radnji namijenjenih određenom izvođaču, koji vode od početnih podataka do željenog rezultata, koji ima svojstva diskretnosti, razumljivosti, sigurnosti, učinkovitosti i masovnosti.

2.1.4. Sposobnost automatizacije ljudskih aktivnosti

Razvoj algoritma je u pravilu dugotrajan zadatak koji od čovjeka zahtijeva duboko znanje, domišljatost i puno vremena.

Rješavanje problema korištenjem gotovog algoritma zahtijeva od izvođača samo strogo pridržavanje zadanih uputa.

Primjer 9 Iz hrpe koja sadrži bilo koji, više od tri, bilo koji broj predmeta, dva igrača naizmjence uzimaju po jedan ili dva predmeta. Pobjednik je onaj koji sljedećim potezom pokupi sve preostale predmete.

Razmotrimo algoritam prema kojem će prvi igrač sigurno osigurati pobjedu.

1. Ako je broj predmeta na hrpi višekratnik 3, ustupite mjesto protivniku, inače započnite igru ​​uzimanjem 1 ili 2 predmeta tako da broj preostalih predmeta bude višekratnik 3.
2. Sa svojim sljedećim potezom, svaki put dodajte broj predmeta koje je protivnik uzeo na 3 (broj preostalih predmeta mora biti višekratnik 3).

Izvođač može ne ulaziti u smisao onoga što radi, a ne obrazlagati zašto postupa ovako, a ne drugačije, odnosno može djelovati formalno. Sposobnost izvođača da formalno djeluje daje mogućnost automatizacije ljudskih aktivnosti. Za ovo:

1) proces rješavanja problema predstavljen je kao niz jednostavnih operacija;
2) stvoren je stroj (automatski uređaj) koji je sposoban izvršiti te operacije u slijedu navedenom u algoritmu;
3) osoba je oslobođena rutinskih aktivnosti, izvršenje algoritma povjerava se automatskom uređaju.

NAJVAŽNIJI

Izvršitelj- neki objekt (čovjek, životinja, tehnički uređaj) sposoban izvršiti određeni skup naredbi.

Formalni izvršitelj uvijek izvršava istu naredbu na isti način. Za svakog formalnog izvršitelja možete navesti: opseg zadataka koji se rješavaju, okruženje, sustav zapovijedanja i način rada.

Algoritam- opis slijeda radnji namijenjenih određenom izvođaču, koji vode od početnih podataka do traženog rezultata, koji ima svojstva diskretnosti, razumljivosti, sigurnosti, učinkovitosti i masovnosti.

Glumačka sposobnost izvođača formalno pruža mogućnost automatizacije ljudskih aktivnosti.

Pitanja i zadaci

1. Upoznajte se s prezentacijskim materijalima za odlomak koji se nalaze u elektroničkom prilogu udžbenika. Dopunjuje li prezentacija informacije sadržane u tekstu odlomka? Koje slajdove želite dodati svojoj prezentaciji?

2. Što se naziva algoritam?

3. Odaberi sinonime za riječ "recept".

4. Navedite primjere algoritama koje učite u školi.

5. Tko može biti izvršitelj algoritma?

6. Navedite primjer formalnog izvođača. Navedite primjer kada osoba djeluje kao formalni izvođač.

7. Što određuje raspon zadataka koje treba riješiti izvršitelj „računalo“?

8. Razmotrite program za obradu teksta na vašem računalu kao izvršitelja. Opišite raspon zadataka koje rješava ovaj izvršitelj i njegovo okruženje.

9. Što je tim, sustav naredbi za izvršitelja?

10. Koje bi naredbe robot trebao izvršavati sljedeće funkcije:

a) blagajnik u trgovini;
b) domar;
c) zaštitar?

11. Navedite glavna svojstva algoritma.

12. Do čega može dovesti nepostojanje bilo kojeg svojstva algoritma? Navedite primjere.

13. Kolika je važnost mogućnosti formalnog izvođenja algoritma?

14. Niz brojeva izgrađen je prema sljedećem algoritmu: prva dva broja niza uzimaju se jednaka 1; svaki sljedeći broj u nizu uzima se jednak zbroju dva prethodna broja. Zapišite prvih 10 članova ovog niza. Saznajte kako se zove ovaj niz.

15. Neki algoritam dobiva novi niz iz jednog niza znakova na sljedeći način. Prvo se piše originalni lanac znakova, nakon njega originalni lanac znakova se piše obrnutim redoslijedom, zatim se piše slovo koje slijedi u ruskoj abecedi iza slova koje je bilo na posljednjem mjestu u izvornom nizu. Ako je slovo "I" na posljednjem mjestu u početnom nizu, tada se slovo "A" piše kao sljedeće slovo. Dobiveni lanac je rezultat algoritma. Na primjer, ako je originalni niz znakova bio "HOME", tada će rezultat algoritma biti niz "DOMMODN". Zadan je niz znakova "KOM". Koliko će slova "O" biti u nizu znakova koji će nastati ako algoritam primijenimo na ovaj lanac, a zatim opet primijenimo algoritam na rezultat njegova rada?

16. Pronađite na Internetu animaciju koraka Eratostenovog algoritma. Koristite Eratostenov algoritam da pronađete sve proste brojeve manje od 50.

17. Što će biti rezultat izvršenja algoritma od strane Kornjače (vidi primjer 5)?

18. Napišite algoritam za izvršni kalkulator (vidi primjer 6), koji ne sadrži više od 5 naredbi:

a) primanje od broja 3 broja 16;
b) dobivanje od broja 1 broja 25.

19. Sustav naredbi izvršitelja Konstruktor se sastoji od dvije naredbe kojima su dodijeljeni brojevi:

1 - dodijeli 2
2 - podijeliti sa 2

Prema prvom od njih, 2 se dodjeljuje broju s desne strane, prema drugom, broj se dijeli s 2. Kako će se broj 8 pretvoriti ako izvođač izvrši algoritam 22212? Napravite algoritam u sustavu naredbi ovog izvođača, prema kojem će se broj 1 pretvoriti u broj 16 (u algoritmu ne smije biti više od 5 naredbi).

20. U kojoj ćeliji se treba nalaziti Robot izvršitelj (primjer 7) da bi se u nju vratio nakon izvršenja algoritma 3241?

Besplatni softver:

Sustav KuMir - Skup obrazovnih svjetova (preuzmite arhivu programa sa stranice) ili posjetite stranicu KuMir ((http://www.niisi.ru/kumir/)

Najpopularniji povezani članci