Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Iron
  • formalni izvođač. "Informatika"

formalni izvođač. "Informatika"

Postoje dvije vrste izvođača: formalno i neformalno.

Formalni izvršilac uvijek izvršava istu komandu na isti način.

Neformalni izvršilac 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 ga plejer (formalni izvođač) reprodukuje na isti način. No, teško da će neko od pjevača (neformalni izvođač) uspjeti nekoliko puta izvesti pjesmu sa svog repertoara na potpuno isti način.

Po pravilu, osoba nastupa kao neformalni izvođač.

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

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

Objekat koji ga kontroliše odgovoran je za radnje formalnog izvršioca.

Razmotrimo detaljnije skup formalnih izvršitelja. Formalni izvođači su izuzetno raznoliki, ali je za svakog od njih moguće odrediti spektar zadataka koji se rješavaju, okruženje, sistem komandi, sistem kvarova i način rada.

  1. Raspon zadataka koje treba riješiti. Svaki izvršilac je kreiran za rješavanje određene klase zadataka.
  2. Okruženje izvršitelja. Područje, okruženje, uslovi u kojima izvođač djeluje obično se nazivaju okruženjem ovog izvođača.
  3. Sistem komandi izvršioca. Instrukcija za izvođenje posebne dovršene radnje izvođača naziva se naredba. Skup svih naredbi koje može izvršiti neki izvođač čini SCI - sistem komandi izvođača.
  4. Sistem otkaza izvršioca. Odbijanje „Ne razumijem“ se dešava kada izvođaču date komandu koja nije uključena u njegov SKI. Odbijanje "ne mogu" nastaje kada komandu iz SCI ne može izvršiti u specifičnim uslovima sredine.
  5. Performerski režimi rada. Za većinu izvođača omogućeni su direktni i programski načini upravljanja. U prvom slučaju, izvođač očekuje komande od osobe i odmah izvršava svaku dolaznu komandu. U drugom slučaju, izvođaču se prvo daje kompletan niz naredbi (program), a zatim sve te komande izvršava u automatskom režimu. Jedan broj izvođača radi samo u jednom od ovih načina.

Razvoj algoritma - dugotrajan zadatak koji zahtijeva duboko znanje i puno vremena od osobe. Rješavanje problema pomoću gotovog algoritma zahtijeva od izvođača samo da se striktno pridržava datih instrukcija. Izvođač se ne udubljuje u smisao onoga što radi, i ne obrazlaže zašto to radi, 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;
  • kreira se mašina (automatski uređaj) koja je sposobna da izvrši ove operacije redosledom navedenim u algoritmu;
  • osoba se oslobađa od rutinskih aktivnosti, izvršavanje algoritma je povjereno automatskom uređaju.

Glavno pitanje: ?

Vodeća pitanja:

§ Šta su izvođači?

§ Šta karakteriše izvođača?

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

Ciljevi istraživanja:

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

§ Odredite kako se izvođači razlikuju.

§ Saznajte šta karakteriše izvođače.

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

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

Primjeri izvođača

U kuću je unesena nova garderoba... Odnosno, ormara kao takvog još nema, po podu su razbacana vrata, police, šrafovi i ostali detalji budućeg kontejnera za odjeću i posteljinu. Moj otac i ja, slijedeći detaljna uputstva, nastavljamo na skup. Ovdje instrukcija djeluje kao algoritam, a moj otac i ja kao njen izvršilac.

Na časovima matematike izvodimo razne proračune - množimo i dijelimo stupcem, zbrajamo jednostavne razlomke. U ovim slučajevima mi smo izvršioci odgovarajućih algoritama.

Ali izvođač ne može biti samo osoba. Različiti uređaji, uključujući računar, također mogu izvršiti algoritme koje su oni specificirali. Na primjer, Lunokhod, samohodno automatsko vozilo isporučeno na Mjesec 1970. godine, izvodilo je najsloženije algoritme, krećući se duž površine Mjeseca i prikupljajući informacije koje su ljudima bile potrebne. Industrijski roboti zamjenjuju ljude u proizvodnji, a u svakodnevnom životu domaćice također priskaču u pomoć uređajima koji mogu djelovati po određenim algoritmima.

Izvođači bajki

Izvođači se često nalaze u bajkama. U jednoj od njih, Ivan Tsarevich kaže kolibi na Kurijevskim nogama: „Koliba, koliba! Popnite se u šumu leđima, do mene ispred! U ovom slučaju, naredba mora biti data vrlo precizno kako bi je izvođač razumio. U bajci “Ali Baba i četrdeset lopova” magična vrata su se otvorila naredbom “Sesame, otvori!”. Pohlepni Kasim, koji je tajno ušao u pećinu, zaboravio je ovu frazu i nije mogao napustiti pećinu.

I koliba na kokošijim nogama i magična vrata imaju mnogo zajedničkog: u stanju su da razumeju i izvrše neke precizno date komande, odnosno da su izvođači.

Ko je izvođač?

Izvršilac algoritma je živo biće ili tehnički objekat sposoban da izvrši radnje propisane algoritmom.

Izvođači mogu biti:

§ mašine: alatne mašine, roboti, kućni aparati (veš mašina, kasetofon, plejer, itd.), kompjuteri;

§ biljke: suncokret (rasklapa se na suncu), lokvanj (zatvoren noću);

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

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

Da li su svi izvođači isti?

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

§ Razumiju komande na različite načine (npr. „Sedi!“, „Sedi!“, „Sedi!“).

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

§ Oni mogu izvoditi iste komande 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!

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

Formalno i neformalno

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

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

Ako izvođač unese neke promjene u algoritam (promijeni redoslijed koraka; neke preskoči, smatrajući ih nepotrebnim ili beznačajnim), onda kažu da takav izvođač nije formalan.

Karakteristike umjetnika

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

Izvođača karakteriše:

§ SKI (izvršiočev komandni sistem) - skup naredbi koje izvođač razumije i može izvršiti.

Svaki izvršitelj može izvršiti naredbe samo sa neke strogo definirane liste.

§ Okruženje - uslovi u kojima izvođač može da izvršava komande. Izvođačevo okruženje može se nazvati i njegovim "staništem".

§ I odricanja od odgovornosti:

1. "Ne razumijem" - ova komanda se ne nalazi na listi komandi izvođača, a on je nije razumio. Vjerovatno smo pogriješili u pisanju teksta naredbe, komanda nije uključena u SKI.

2. "Ne može" - izvršilac je razumio komandu, ali je ne može izvršiti. Na primjer, robotu se daje naredba "naprijed", a ispred je zid i ne može ići. Ili je psu naređeno “Sjedi!”, a ona već sjedi.

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

Izvođač će moći da izvrši algoritam ako mu je poznat, ako mu je algoritam rečeno. Jezik je najvažniji način da ljudi komuniciraju. Ulaskom u stranu državu i nepoznavanjem nacionalnog jezika čovjek je potpuno bespomoćan. Znakovni jezik, izrazi lica, pisanje slikama (piktografsko pisanje) mogu priskočiti u pomoć, ali sve to samo djelimično popravlja situaciju.

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

Prirodni jezici su figurativni i polisemantični. Ako pogledate u rječnik s objašnjenjima ruskog jezika, možete saznati, na primjer, da riječ "idi" ima više od 20 značenja. Evo samo nekoliko primjera: Osoba hoda putem; pada kiša; vrijeme teče; ova haljina joj pristaje; pečurke će ići kasnije, u septembru; Idemo sutra na pecanje, hoćemo li? - ide!

U prirodnom jeziku, potpuno različiti pojmovi mogu se označiti istom riječju. Po pravilu, osoba iz opšteg značenja teksta, ponekad i bez razmišljanja, iz čitavog skupa značenja reči, bira upravo ono koje je pošiljalac poruke imao na umu. Ali zamislite sebe na mjestu formalnog izvođača koji ne ulazi u značenje cijele poruke. U ovom slučaju, kako ćete razumjeti fraze: kiselo moje; rano bijeg; jeli svuda; poznato okruženje?

Kako bismo bili sigurni da jezik formalnog izvođača ne može biti dvosmislen, pokušali smo pomoću formalnog prevodioca prevesti sa engleskog tekst koji govori o... Pokušajte pogoditi o čemu se radi.

Drvo danas povoljno – ono je izrezano od borove šperploče, a zatim umočeno u tečne hemikalije koje proizvode dasku koja se lako zapaljuje.

I radilo se o običnoj drvenoj šibici, ali kako je bilo moguće objasniti prevodiocu da je od svih značenja riječi "sudar" bilo potrebno izabrati ne "dogovor", već "podudarati", iz značenja riječ "tip" - "savjet", a ne "savjet" da "umri" znači ne samo "umri", već i "pečat", da ne spominjemo složenost gramatičkih konstrukcija?

Šta je program?

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

Algoritam opisan na jeziku izvođača naziva se program.

Da biste naučili pisati programe na određenom jeziku, potrebno je proučiti abecedu, vokabular i gramatička pravila po kojima se grade rečenice na ovom jeziku, pri čemu nisu dozvoljena nikakva odstupanja od pravila za pisanje riječi i rečenica, inače će izvođač jednostavno odbijte da sledite vaša uputstva i nećete biti zbunjeni i zabrinuti zbog grešaka, kao što to čini Miškin prijatelj iz pesme A. Šibajeva:

Stiglo mi je pismo
Gledam -
Iz kampa iz Mishke...
Evo divne mašne i ližem se
- Napisano u pismu.
Lizati luk? Šta su čuda?
Vjerovatno se šali lopov...
Čitajte dalje:
Evo lisice, prelep dug štap...
Neki dan sam u šumi našla tugu
i bio veoma sretan...
Ne, ne, ne šali se! Bojim se,
Moj prijatelj je ozbiljno bolestan.
Vratiće se - potrebno je izliječiti:
Neka pravila nauče...

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

§ Izvršilac karakteriše sistem komandi, okruženje i kvarovi.

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

Pojava algoritama povezana je sa rođenjem matematike. Prije više od 1000 godina (825. godine), naučnik iz grada Khorezm Abdullah (ili Abu Jafar) Mohammed bin Musa al-Khwarizmi kreirao je knjigu o matematici, u kojoj je opisao načine izvođenja aritmetičkih operacija nad viševrijednim brojevima. Sama riječ algoritam nastala je u Evropi nakon prijevoda knjige ovog matematičara na latinski.

Algoritam- opis redoslijeda radnji (plan), čije striktno izvršenje dovodi do rješenja zadatka u konačnom broju koraka.

Sa ovim konceptom se stalno susrećete u raznim oblastima ljudske delatnosti (kuharske knjige, uputstva za upotrebu raznih aparata, pravila za rešavanje matematičkih zadataka...). Obično izvodimo uobičajene radnje bez razmišljanja, mehanički. Na primjer, dobro znate kako se vrata otvaraju ključem. Međutim, da biste bebu tome naučili, moraćete jasno da objasnite same ove radnje i redosled kojim se one izvode: 1. Izvadite ključ iz džepa. 2. Ubacite ključ u ključaonicu. 3. Okrenite ključ dva puta u smjeru suprotnom od kazaljke na satu. 4. Uklonite ključ.

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

Svojstva algoritama: 1. Diskretnost (algoritam treba da se sastoji od specifičnih radnji koje slijede određenim redoslijedom); 2. Determinizam (svaka radnja mora biti striktno i nedvosmisleno definisana u svakom slučaju); 3. Konačnost (svaka radnja i algoritam u cjelini moraju biti u stanju da dovrše); 4. Masovni karakter (isti algoritam se može koristiti sa različitim početnim podacima); 5. Efikasnost (bez 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 u datom redosledu); 2. Ciklični 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, u zavisnosti od uslova, izvodi jedna ili druga sekvenca radnji) 4. Pomoćni algoritam (algoritam koji se može koristiti u drugim algoritmima navođenjem samo njegovog imena).

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

Pogled na standardni grafički objekat

Svrha

Početak algoritma

Kraj algoritma

Izvršena radnja je zapisana unutar pravokutnika

Uslov za izvođenje radnji je zapisan 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) koja će izvršiti radnje opisane u algoritmu.

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

Izvršitelj- objekat koji izvršava algoritam.

Idealni izvođači su mašine, roboti, kompjuteri...

Izvršitelj može izvršiti samo ograničen 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, kao i svaki objekat, nalazi se u određenom okruženju i može izvoditi samo radnje koje su u njemu dozvoljene. Ako izvršitelj naiđe na nepoznatu komandu u algoritmu, tada će se izvršenje algoritma zaustaviti.

Računar je automatski izvršilac algoritama.

Algoritam napisan u programskom jeziku "razumljivom" računaru naziva se program.

Programiranje je proces pisanja programa za računar. Za prve računare programi su pisani kao niz elementarnih operacija. Bio je to veoma naporan i neefikasan 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 odgovarao svima.

Moderna osoba je okružena velikim brojem tehničkih uređaja: televizorom, magnetofonom, kamerom, telefonom, veš mašinom, automobilom itd. Svaki od ovih uređaja je dizajniran da rešava svoj zadatak i može da izvrši neki ograničeni skup radnji. ili komande.

Izvršitelj- ovo je neki objekat (čovek, životinja, tehnički uređaj) sposoban da izvrši određeni skup komandi. Naredbe koje određeni izvođač može izvršiti, formiraju sistem uputstava za izvođača(SKI).

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

Komandni sistem izvođača - CD-plejera prikazan je na sl. 56.

Rice. 56

Složeniji izvođač je moderna mašina za pranje veša, čija elektronska memorija sadrži različite programe pranja koje su razvili inženjeri. Ceo proces pranja (namakanje, pranje, ispiranje, centrifugiranje, sušenje) mašina obavlja automatski, bez učešća osobe, ali po programu koji je osoba odabrala.

Među automatski uređaji najsavršeniji su izvođači roboti. Malo je vjerovatno da će čovjek tako brzo, precizno i ​​kvalitetno sastaviti najsloženiji dio, kao što to radi robotska ruka u automatiziranoj proizvodnji. Danas su stvoreni humanoidni roboti i roboti igračke nalik kućnim ljubimcima.

Još jedan primjer izvođača - kompjuter. Njegova prepoznatljiva karakteristika je svestranost. Upoznati ste sa kompjuterskim programima dizajniranim za obradu tekstualnih, numeričkih i grafičkih informacija, sa obrazovnim programima i kompjuterskim igricama. Pored toga, postoje programi pomoću kojih računar kontroliše rad drugih uređaja koji su sa njim povezani (izvršioci).

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

  1. zaustaviti se na trotoaru;
  2. pogled lijevo;
  3. ako nema prijevoza, idite na sredinu ulice i stanite, u suprotnom slijedite korak 2;
  4. pogledaj desno;
  5. ako nema prijevoza, idite na suprotni trotoar, u suprotnom slijedite korak 4.

Izvođači velikog broja algoritama su školarci koji obavljaju brojne pismene i usmene zadatke.

Formalni izvođači

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

Na primjer, kada više puta slušate disk sa svojom omiljenom muzikom, možete biti sigurni da ga plejer (formalni izvođač) reprodukuje na isti način. No, teško da će neko od pjevača (neformalni izvođač) uspjeti nekoliko puta izvesti pjesmu sa svog repertoara na potpuno isti način.

Po pravilu, osoba nastupa kao neformalni izvođač. Formalni izvršioci su uglavnom tehnički uređaji. Osoba u ulozi neformalnog izvođača sama je odgovorna za svoje postupke. Objekat koji ga kontroliše odgovoran je za radnje formalnog izvršioca.

Razmotrimo detaljnije skup formalnih izvršitelja. Formalni izvođači su izuzetno raznoliki, ali je za svakog od njih moguće odrediti spektar zadataka koji se rješavaju, okruženje, sistem komandi, sistem kvarova i način rada.

  1. Raspon zadataka koje treba riješiti. Svaki izvršilac je kreiran za rješavanje određene klase zadataka.
  2. Okruženje izvršitelja. Područje, okruženje, uslovi u kojima izvođač djeluje obično se nazivaju okruženjem ovog izvođača.
  3. Sistem komandi izvršioca. Instrukcija za izvođenje posebne dovršene radnje izvođača naziva se naredba. Skup svih naredbi koje može izvršiti neki izvođač čini SCI - sistem komandi izvođača.
  4. Sistem otkaza izvršioca. Odbijanje „Ne razumijem“ se dešava kada izvođaču date komandu koja nije uključena u njegov SKI. Odbijanje "ne mogu" nastaje kada komandu iz SCI ne može izvršiti u specifičnim uslovima sredine.
  5. Performerski režimi rada. Za većinu izvođača omogućeni su direktni i programski načini upravljanja. U prvom slučaju, izvršilac čeka naredbe od kontrolnog objekta i odmah izvršava svaku dolaznu komandu. U drugom slučaju, izvođaču se prvo daje kompletan niz naredbi (program), a zatim sve te komande izvršava u automatskom režimu. Jedan broj izvođača radi samo u jednom od ovih načina.

Automatizacija

Razvoj algoritma je naporan zadatak koji od osobe zahtijeva duboko znanje i puno vremena. Rješavanje problema pomoću gotovog algoritma zahtijeva od izvođača samo da se striktno pridržava datih instrukcija. Izvođač se ne udubljuje u značenje onoga što radi, i ne obrazlaže zašto se ponaša ovako, a ne drugačije – on se ponaša formalno. S tim je povezana i mogućnost automatizacija ljudska aktivnost - zamjena dijela ljudskog rada radom mašina (automatskih uređaja):

  • proces rješavanja problema predstavljen je kao niz jednostavnih operacija;
  • kreira se mašina koja može da izvrši ove operacije redosledom navedenim u algoritmu;
  • izvršenje algoritma je povjereno automatskom uređaju; osoba je oslobođena rutinskih aktivnosti.

| § 2.1. Algoritmi i izvršioci

Lekcija 14
§ 2.1. Algoritmi i izvršioci

Ključne riječi:

Algoritam
svojstva algoritma (diskretnost; razumljivost; sigurnost; efektivnost; masovni karakter)
izvršilac
karakteristike izvođača (opseg zadataka koje treba rješavati; okruženje; način rada; sistem komandi)
formalno izvršenje algoritma

2.1.1. Koncept algoritma

Svaka osoba u svakodnevnom životu, u školi ili na poslu, rješava ogroman broj zadataka vrlo različite složenosti. Teški problemi zahtevaju mnogo razmišljanja da bi se pronašlo rešenje; jednostavne i poznate zadatke koje osoba rješava bez razmišljanja, automatski. U većini slučajeva, rješenje svakog problema može se podijeliti na jednostavne faze (korake). Za mnoge od ovih zadataka (instaliranje softvera, sastavljanje ormarića, kreiranje web stranice, rukovanje tehničkim uređajem, kupovina avio karte putem interneta, itd.) već su razvijena i ponuđena uputstva korak po korak, sa uzastopnim čije izvođenje možete postići željeni rezultat.

Primjer 1 Zadatak "Pronađi aritmetičku sredinu dva broja" rješava se u tri koraka:

1) pomisli na dva broja;
2) sabirati dva zamišljena broja;
3) Dobijeni iznos podijelite sa 2.

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

1) idite na terminal za plaćanje;
2) izabrati telekom operatera;
3) upisati broj telefona;
4) proveri tačnost unetog broja;
5) ubaci novčanicu u akceptor novčanica;
6) sačekati 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 su na prvi pogled potpuno različiti procesi. Ali oni imaju zajedničku osobinu: svaki od ovih procesa je opisan nizom kratkih uputa, čije točno praćenje vam omogućava da dobijete željeni rezultat. Sekvence indikacija date u primjerima 1-3 su algoritmi za rješavanje odgovarajućih problema. Izvršilac ovih algoritama je osoba.

Algoritam može biti opis nekog niza proračuna (primjer 1) ili nematematički koraci (primjeri 2-3). Ali u svakom slučaju, prije njegovog razvoja treba jasno definisati početne uslove (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 od početnih podataka vodi do željenog rezultata.

Generalno, šema algoritma se može predstaviti na sledeći način (slika 2.1).

Rice. 2.1. Opća šema algoritma

Algoritmi su pravila sabiranja, oduzimanja, množenja i dijeljenja brojeva koji se uče 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 zapamtite neke od 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 dobiva novi niz na sljedeći način:

1. Izračunava se dužina (u znakovima) originalnog niza znakova.
2. Ako je dužina originalnog lanca neparna, tada se originalnom lancu s desne strane dodjeljuje broj 1, inače se lanac ne mijenja.
3. Simboli se zamjenjuju u parovima (prvi - sa drugim, treći - sa četvrtim, peti - sa šestim, itd.).
4. Na desnoj strani primljenom lancu je dodijeljen broj 2.

Rezultirajući lanac je rezultat algoritma.

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

2.1.2. Izvođač algoritma

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

Izvršilac je neki objekat (osoba, životinja, tehničko sredstvo) sposoban da izvrši određeni skup naredbi.

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

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

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

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

Sistem komandi izvršioca. Instrukcija izvođaču da izvrši zasebnu završenu radnju naziva se komanda. Skup svih naredbi koje može izvršiti određeni izvođač čini komandni sistem ovog izvođača (CIS). Algoritam se sastavlja uzimajući u obzir mogućnosti određenog izvođača, drugim riječima, u komandnom sistemu izvođača koji će ga izvršiti.

Performerski režimi rada. Za većinu izvođača omogućeni su načini direktne kontrole i programske kontrole. U prvom slučaju, izvođač očekuje komande od osobe i odmah izvršava svaku dolaznu komandu. U drugom slučaju, izvođaču se prvo daje kompletan niz naredbi (program), a zatim sve te komande izvršava u automatskom režimu. Jedan broj izvođača radi samo u jednom od ovih načina.

Razmotrite primjere izvođača.

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

Komandni sistem Kornjače sastoji se od sljedećih naredbi:

1. Naprijed n (gdje je n cijeli broj) - uzrokuje da se kornjača kreće 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 stepeni 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.
Ponovite 12 [Desno 45 Naprijed 20 Desno 45]

Primjer 6 Sistem komandi izvršioca Kalkulator se sastoji od dve komande, kojima se dodeljuju brojevi:

1 - oduzmi 1
2 - pomnožite sa 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 komandi. Na primjer, algoritam 21212 znači sljedeći niz naredbi:

Pomnožite sa 3
oduzmi 1
pomnoži sa 3
oduzmi 1
pomnoži sa 3

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

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

Primjer 7 Robot Executor radi na kariranom polju, između susjednih ćelija koje mogu biti zidovi. Robot se kreće kroz ćelije polja i može izvršiti sljedeće komande, kojima se dodeljuju brojevi:


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

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

Šta će se dogoditi s robotom ako izvrši niz naredbi 32323 (ovdje brojevi označavaju brojeve komandi) počevši od ćelije A? Koju sekvencu komandi robot treba da izvrši da bi prešao iz ćelije A u ćeliju B bez sudara sa zidovima?

Prilikom razvoja algoritma:

1) razlikuju se objekti koji se pojavljuju u zadatku, utvrđuju se svojstva objekata, odnosi između objekata i moguće radnje sa objektima;
2) utvrđuju se početni podaci i traženi rezultat;
3) utvrđuje se redosled radnji izvođača koji obezbeđuje prelazak sa početnih podataka na rezultat;
4) redosled radnji se beleži korišćenjem komandi uključenih u sistem komandi izvršioca.

Možemo reći da je algoritam model aktivnosti izvršioca algoritama.

2.1.3. Svojstva algoritma

Nikakvo uputstvo, redosled recepata ili plan akcije ne može se smatrati algoritmom. Svaki algoritam nužno ima sljedeća svojstva: diskretnost, razumljivost, sigurnost, efikasnost i masovnost.

Diskretno vlasništvo znači da je način rješavanja problema podijeljen u zasebne korake (akcije). Svaka radnja odgovara nalogu (naredbi). Tek nakon izvršenja jedne naredbe, izvršilac može započeti izvršavanje sljedeće naredbe.

svojstvo razumljivosti znači da se algoritam sastoji samo od naredbi koje su uključene u sistem komandi izvršioca, odnosno od onih naredbi koje izvršilac može da uoči i na kojima može izvršiti tražene radnje.

Svojstvo određenosti znači da u algoritmu nema komandi čije značenje izvođač može nedvosmisleno protumačiti; Neprihvatljive su situacije kada nakon izvršenja naredne komande izvršiocu nije jasno koju naredbu da izvrši. Zbog toga je rezultat algoritma jedinstveno određen skupom ulaznih podataka: ako se algoritam primjenjuje nekoliko puta na isti skup ulaznih podataka, onda je izlaz uvijek isti rezultat.

svojstva performansi 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 nemoguće iz bilo kojeg razloga nastaviti rješavanje ovog problema.

Masovno vlasništvo znači da algoritam mora pružiti mogućnost njegove primjene za rješavanje bilo kojeg problema iz određene klase problema. Na primjer, algoritam za pronalaženje korijena kvadratne jednačine mora biti primjenjiv na bilo koju kvadratnu jednačinu, 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 je nazvana "Eratostenovo sito" po starogrčkom naučniku Eratostenu (3. vek pne) koji ju je predložio.

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

1) ispisati u red sve prirodne brojeve od 2 do n (2, 3, 4, ..., n);
2) staviti u okvir 2 - prvi prost broj;
3) izbrisati sa liste sve brojeve deljive poslednjim pronađenim prostim brojem;
4) pronađite prvi neobeleženi broj (označeni brojevi su precrtani brojevi ili brojevi u okviru) i stavite ga u okvir - to će biti sledeći prost broj;
5) ponovite korake 3 i 4 sve dok ne preostane nijedan neobeležen broj.

Možete dobiti bolju ideju o metodi pronalaženja prostih brojeva uz pomoć animacije "Eratostenovo sito" (180279) objavljene u Jedinstvenoj zbirci digitalnih obrazovnih resursa.

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

diskretnost- proces pronalaženja prostih brojeva podijeljen je na korake;
razumljivost- svaka naredba je razumljiva učeniku 8. razreda koji izvodi ovaj algoritam;
sigurnost- svaku komandu izvođač interpretira i izvršava nedvosmisleno; postoje uputstva o redosledu izvršavanja komandi;
performanse- nakon određenog broja koraka postiže se rezultat;
masovni karakter- redoslijed radnji je primjenjiv za bilo koji prirodni n.

Razmatrana svojstva algoritma nam omogućavaju 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, djelotvornosti i masovnosti.

2.1.4. Sposobnost automatizacije ljudskih aktivnosti

Razvoj algoritma je, po pravilu, dugotrajan zadatak koji od osobe zahtijeva duboko znanje, domišljatost i puno vremena.

Rješavanje problema pomoću gotovog algoritma zahtijeva od izvođača samo da se striktno pridržava datih instrukcija.

Primjer 9 Iz gomile koja sadrži bilo koji, više od tri, broj bilo kojeg predmeta, dva igrača se naizmjenično uzimaju po jedan ili dva predmeta. Pobjednik je onaj koji može pokupiti sve preostale predmete svojim sljedećim potezom.

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

1. Ako je broj predmeta u gomili višestruki od 3, onda ustupite mjesto protivniku, u suprotnom započnite igru ​​uzimajući 1 ili 2 predmeta tako da broj preostalih predmeta bude višestruk od 3.
2. Sa svojim sljedećim potezom, svaki put dodajte broj stavki koje je protivnik uzeo na 3 (broj preostalih predmeta mora biti višestruki od 3).

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

1) proces rešavanja problema je predstavljen kao niz jednostavnih operacija;
2) kreira se mašina (automatski uređaj) koja je sposobna da ove operacije izvodi redosledom koji je naveden u algoritmu;
3) osoba se oslobađa rutinskih aktivnosti, izvršavanje algoritma se povjerava automatskom uređaju.

NAJVAŽNIJE

Izvršitelj- neki objekat (čovek, životinja, tehnički uređaj) koji može da izvrši određeni skup komandi.

Formalni izvršilac uvijek izvršava istu komandu na isti način. Za svakog formalnog izvršioca možete odrediti: raspon zadataka koje treba rješavati, okruženje, komandni sistem i način rada.

Algoritam- opis redosleda radnji namenjenih konkretnom izvođaču, koji vodi od početnih podataka do traženog rezultata, koji ima svojstva diskretnosti, razumljivosti, izvesnosti, efektivnosti i masovnosti.

Sposobnost izvođača da glumi formalno pruža mogućnost automatizacije ljudskih aktivnosti.

Pitanja i zadaci

1. Upoznajte se sa materijalom za prezentaciju paragrafa koji se nalazi u elektronskom dodatku udžbenika. Da li prezentacija dopunjuje informacije sadržane u tekstu pasusa? Koje slajdove biste željeli dodati svojoj prezentaciji?

2. Šta se zove algoritam?

3. Odaberite sinonime za riječ "recept".

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

5. Ko može biti izvršilac algoritma?

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

7. Šta određuje obim zadataka koje rješava "kompjuter" izvršioca?

8. Razmotrite program za obradu teksta na vašem računaru kao izvršioca. Opišite niz zadataka koje rješava ovaj izvršilac i njegovo okruženje.

9. Šta je tim, sistem komandi za izvršioca?

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

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

11. Navedite glavna svojstva algoritma.

12. Do čega može dovesti odsustvo bilo kakvog svojstva algoritma? Navedite primjere.

13. Koja je važnost mogućnosti formalnog izvršenja algoritma?

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

15. Neki algoritam dobija novi niz iz jednog niza znakova na sljedeći način. Prvo se ispisuje originalni lanac znakova, nakon njega se ispisuje originalni lanac znakova obrnutim redoslijedom, zatim se piše slovo koje slijedi u ruskoj abecedi slovo koje je bilo na posljednjem mjestu u originalnom lancu. Ako je slovo “I” na posljednjem mjestu u početnom lancu, onda se slovo “A” piše kao sljedeće slovo. Rezultirajući lanac je rezultat algoritma. Na primjer, ako je originalni niz znakova bio "HOME", tada će rezultat algoritma biti niz "DOMMODN". Dat je niz znakova "KOM". Koliko će slova "O" biti u lancu znakova koji će rezultirati ako algoritam primijenite na ovaj lanac, a zatim ponovo primijenite algoritam na rezultat njegovog rada?

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

17. Šta ć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) dobijanje od broja 1 broja 25.

19. Sistem komandi izvršioca Konstruktor se sastoji od dve komande, kojima se dodeljuju brojevi:

1 - dodijeliti 2
2 - podijeliti sa 2

Prema prvom od njih, 2 se dodjeljuje broju desno, prema drugom, broj se dijeli sa 2. Kako će se broj 8 pretvoriti ako izvođač izvrši algoritam 22212? Napravite algoritam u komandnom sistemu 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 treba da se nalazi izvršitelj Robot (primjer 7) da bi se vratio u njega nakon izvršenja algoritma 3241?

Besplatni softver:

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

Top Related Articles