Interpretul formal este mediul interpretului formal. O varietate de interpreți, interpreți formali, automatizare, interpreți sunt peste tot în jurul nostru. Întrebări și sarcini


Un executor este o persoană, un grup de oameni, un animal sau un dispozitiv tehnic capabil să execute un anumit set de comenzi. Exemple: Obiect - interpret!! Buton de pornire/oprire de pe carcasa computerului Mergeți la început Pauză Oprire Treceți la sfârșit Redare Sistem de comenzi pentru interpret - CD player


Un interpret mai complex. Funcționează conform programelor create de om. Programul este ales de persoană. Mașina funcționează automat. Un interpret mai complex. Funcționează conform programelor create de om. Programul este ales de persoană. Mașina funcționează automat. Performer - mașină de spălat










Interpreți informali și formali Rolul unui interpret informal este cel mai adesea jucat de o persoană.Rolul unui interpret formal este cel mai adesea jucat de un dispozitiv tehnic.Expretul informal este responsabil pentru propriile sale acțiuni.Obiectul care îl controlează este responsabil. pentru acțiunile unui interpret formal.




Executor formal Un executor formal execută întotdeauna aceeași comandă în același mod. Mașină automată de umplere și ambalare Pentru fiecare executant formal, puteți specifica: gama de sarcini de rezolvat; mediu inconjurator; sistem de comandă; sistem de defecțiune; moduri de operare.






Sistemul de refuz al interpretului Refuzul „nu înțeleg” apare dacă este dată o comandă care nu face parte din SKI. O defecțiune „Nu se poate” apare dacă o comandă de la SKI nu poate fi executată în anumite condiții de mediu. ? Mașina de spălat nu poate executa comanda de clătire dacă nu există alimentare cu apă la mașină. ?




Automatizarea este înlocuirea unei părți din munca umană cu munca la mașină: procesul de rezolvare a unei probleme este prezentat ca o succesiune de operații simple; este creată o mașină capabilă să efectueze aceste operații într-o secvență dată; executarea algoritmului este încredințată unui dispozitiv automat; o persoană este eliberată de activitățile de rutină. Automatizare


Cel mai important lucru este că un executant este o persoană, un grup de oameni, un animal sau un dispozitiv tehnic capabil să execute comenzile date. Un interpret formal execută întotdeauna aceeași comandă în același mod. Pentru fiecare executor formal se pot indica: – gama de sarcini de rezolvat; -Miercuri; – sistem de comandă; – sistem de defectare; - moduri de operare.





Întrebarea principală: ?

Întrebări de ghidare:

§ Ce tipuri de interpreți există?

§ Ce caracterizează un interpret?

§ Cum să vă asigurați că interpretul înțelege și execută algoritmul?

Obiectivele cercetării:

§ Găsiți exemple de diferiți interpreți.

§ Stabiliți cum diferă interpreții.

§ Aflați cum sunt caracterizați interpreții.

§ Explorați de ce performanții nu pot executa întotdeauna algoritmul.

§ Dați exemple de algoritmi și identificați performerul în ei.

Exemple de interpreți

Un nou dulap a fost adus în casă... Adică nu există încă un dulap ca atare; uși, rafturi, șuruburi și alte detalii ale viitorului container pentru haine și lenjerie sunt așezate pe podea. Eu și tatăl meu, urmând instrucțiunile detaliate, începem să ne adunăm. Aici instrucțiunea acționează ca un algoritm, iar eu și tatăl meu îi suntem executanți.

La lecțiile de matematică efectuăm diverse calcule - înmulțirea și împărțirea pe coloane, adunând fracții simple. În aceste cazuri, suntem executanții algoritmilor corespunzători.

Dar nu numai o persoană poate fi un interpret. O varietate de dispozitive, inclusiv un computer, pot executa, de asemenea, algoritmii specificați de acestea. De exemplu, Lunokhod, un vehicul automat autopropulsat livrat pe Lună în 1970, a realizat algoritmi complecși, deplasându-se de-a lungul suprafeței lunare și colectând informațiile de care oamenii aveau nevoie. Roboții industriali înlocuiesc oamenii din producție; în viața de zi cu zi, gospodinele vin și în ajutorul dispozitivelor capabile să acționeze conform unor algoritmi dați.

Interpreți de basme

Interpreții se găsesc adesea în basme. Într-una dintre ele, Ivan Tsarevich îi spune colibei-pe-picioare-de-găină: „Cabana, colibă! Stai cu spatele la pădure și cu fața la mine!” În acest caz, comanda trebuie specificată foarte precis pentru ca executantul să o înțeleagă. În basmul „Ali Baba și cei patruzeci de hoți”, ușa magică s-a deschis la comanda „Deschide susan!” Lacomul Kasym, care a intrat în secret în peșteră, a uitat această frază și nu a putut părăsi peștera.

Atât Hut-On-Chicken-Legs, cât și ușa magică au multe în comun: sunt capabili să înțeleagă și să execute niște comenzi precis specificate, adică sunt executanți.

Cine este interpretul?

Un executant de algoritm este o creatură vie sau un obiect tehnic capabil să efectueze acțiunile prescrise de algoritm.

Interpreții pot fi:

§ mașini: mașini, roboți, aparate electrocasnice (mașină de spălat, magnetofon, player etc.), calculatoare;

§ plante: floarea soarelui (se desface la soare), nuferi (inchisi noaptea);

§ animale: câine dresat (ordonat, căutare, vânătoare), pisică;

§ oameni: student, muncitor, soldat, profesor, ...

Sunt toți interpreții la fel?

Animalele și oamenii ca interpreți diferă de toți ceilalți interpreți în trei moduri principale:

§ Ei înțeleg comenzi în diferite forme (de exemplu, „Așează-te!”, „Așează-te!”, „Așează-te!”).

§ Ei pot refuza să execute o comandă dacă nu le place („Mâncați gris!”, „Trage prin fereastră cu praștia!”, „Dă-mi osul!”). Adică, oamenii și, într-o anumită măsură, animalele au voință și sunt responsabili pentru acțiunile lor.

§ Pot efectua aceleași comenzi în moduri diferite în momente diferite (de exemplu, puteți spăla podeaua cu mâinile sau puteți folosi un mop).

Există două tipuri de interpreți!

Acum să ne gândim la această întrebare: deoarece artiștii diferă în unele dintre caracteristicile lor, atunci nu ar trebui să fie împărțiți în două clase? Atunci nu este greu de ghicit că animalele și oamenii vor intra într-o clasă, iar toți ceilalți artiști într-o alta. Rămâne să se stabilească cum să denumească aceste clase și să se determine ce proprietăți trebuie să aibă interpretul pentru a intra în acest sau acel grup.

Formal și informal

Pentru a face acest lucru, să ne amintim una dintre proprietățile algoritmului, și anume formalitatea, înseamnă că executantul poate să nu înțeleagă semnificația algoritmului, dar totuși să-l execute corect... Poate o persoană sau un animal să facă întotdeauna acest lucru? Probabil că nu, prin urmare, nu putem spune că ei execută algoritmul în mod formal, așa că vom presupune că oamenii și animalele sunt performeri informali.

Deci, atunci când execută un algoritm, executantul poate să nu se aprofundeze în sensul a ceea ce face și să obțină totuși rezultatul dorit. În astfel de cazuri, ei spun că interpretul acționează în mod formal, adică este distras de la conținutul sarcinii și efectuează numai toate acțiunile într-o secvență strictă. Acesta este un interpret formal.

Dacă un interpret face unele modificări algoritmului (modifică succesiunea pașilor; omite unele, considerându-le inutile sau nesemnificative), atunci ei spun că un astfel de executant nu este formal.

Caracteristicile interpretului

Artistul, ca orice obiect, are propriile sale caracteristici.

Interpretul se caracterizează prin:

§ SKI (executor command system) - un set de comenzi pe care executantul le înțelege și le poate executa.

Fiecare executant poate executa comenzi doar dintr-o listă strict definită.

§ Mediu - conditiile in care executantul poate executa comenzi. Mediul interpretului poate fi numit și „Habitatul”.

§ Și eșecuri:

1. „Nu înțeleg” - această comandă nu se află în lista de comenzi a interpretului și nu a înțeles-o. Probabil că am făcut o greșeală în scrierea textului comenzii: comanda nu este inclusă în SKI.

2. „Nu pot” - executantul a înțeles comanda, dar nu o poate executa. De exemplu, robotului i se dă comanda „înainte”, dar există un perete în față și nu poate merge. Sau câinelui i se poruncește „Stați!”, dar este deja așezat.

Cum poate executantul să execute algoritmul?

Executantul va putea executa algoritmul dacă acesta îi este cunoscut, dacă algoritmul i-a fost comunicat. Pentru oameni, cel mai important mod de comunicare este limba. Găsindu-te într-o țară străină și neștiind limba națională, o persoană se trezește complet neajutorat. Limbajul semnelor, expresiile faciale și scrierea folosind imagini (scriere pictografică) pot veni în ajutor, dar toate acestea îmbunătățesc doar parțial situația.

Limbajul natural (rusă, engleză, franceză, ...) este baza unei comunicări depline între oameni.

Limbile naturale sunt figurative și poliseme. Dacă te uiți la dicționarul explicativ al limbii ruse, poți afla, de exemplu, că există mai mult de 20 de sensuri ale cuvântului „du-te”. Iată doar câteva exemple: Un bărbat merge pe drum; plouă; timpul curge; Aceasta rochie i se potriveste; ciupercile cu miere vor veni mai târziu, în septembrie; Haide, să mergem mâine la pescuit? - vine!

În limbajul natural, concepte complet diferite pot fi desemnate prin același cuvânt. De regulă, o persoană, din sensul general al textului, uneori fără să se gândească, din întregul set de sensuri ale cuvântului, îl selectează exact pe cel pe care l-a avut în vedere emițătorul mesajului. Dar imaginați-vă în locul unui interpret formal care nu se adâncește în sensul întregului mesaj. Cum veți înțelege în acest caz frazele: al meu acru; evadare timpurie; mâncat peste tot; mediu familiar?

Pentru a ne asigura că limbajul unui interpret formal nu poate fi ambiguu, am încercat, cu ajutorul unui traducător formal, să traducem din engleză un text despre care se vorbește... Încercați să ghiciți singur despre ce este vorba.

Ofertele de lemn de astăzi sunt tăiate cu matriță din placaj de pin, apoi scufundate în substanțe chimice lichide care produc un vârf ușor de aprins, stingabil.

Și era vorba despre un simplu chibrit de lemn, dar cum a fost posibil să-i explic traducătorului că dintre toate semnificațiile cuvântului „meci” a fost necesar să se aleagă nu „deal”, ci „match”, din sensurile cuvântul „sfat” - „sfat”, și nu „sfat” „că „mor” înseamnă nu numai „a muri”, ci și „a ștampila”, ca să nu mai vorbim de complexitatea structurilor gramaticale?

Care este programul?

Pentru un interpret formal, limbajul de comunicare nu poate fi polisemantic; pentru astfel de interpreți, sunt dezvoltate și utilizate limbaje artificiale speciale, în care cuvintele și expresiile individuale nu permit interpretări diferite.

Un algoritm descris în limbajul executorului se numește program.

Pentru a învăța cum să scrieți programe într-o anumită limbă, trebuie să studiați alfabetul, dicționarul și regulile gramaticale prin care propozițiile sunt construite în această limbă, în timp ce nu sunt permise abateri de la regulile de scriere a cuvintelor și propozițiilor, altfel executantul va pur și simplu refuzați să vă urmați instrucțiunile și nu va fi perplex și nu vă faceți griji pentru greșeli, așa cum face prietenul lui Mishka în poemul lui A. Shibaev:

Mi-a venit o scrisoare
ma uit -
Din tabăra de la Mishka...
Este o ceapă minunată aici și o lins
-Scris într-o scrisoare.
Se linge ceapa? Ce fel de minuni?
Necinstitul probabil glumește...
am citit mai departe:
Este o vulpe aici, o tijă lungă frumoasă...
Zilele trecute am găsit tristețea în pădure
si am fost foarte multumita...
Nu, nu, nu glumește! frica,
Prietenul meu este grav bolnav.
Dacă se întoarce, are nevoie de tratament:
Fă regulile să învețe...

§ Există două tipuri de interpreți: formali și non-formali.

§ Interpretul este caracterizat printr-un sistem de comenzi, habitat și eșecuri.

§ Pentru ca interpretul să ne înțeleagă, este necesar să scriem un algoritm în limba interpretului, adică să scriem un program.

1. Scrieți un program care, într-o succesiune de numere naturale, determină numărul maxim care este un multiplu de 5. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care este multiplu de 5. Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30 000. Programul trebuie să scoată un număr - numărul maxim care este un multiplu de 5.

3. Scrieți un program care, într-o succesiune de numere naturale, determină numărul de numere care sunt multipli ai lui 4. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care este un multiplu de 4. Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30.000. Programul trebuie să scoată un număr - numărul de numere care sunt multipli de 4.

5.Scrieți un program care, într-o succesiune de numere naturale, determină suma numerelor care sunt multipli ai lui 3. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care este un multiplu de 3. Numărul de numere nu depășește 100. Numerele introduse nu depășesc 300. Programul trebuie să scoată un număr - suma numerelor care sunt multipli de 3.

7. Scrieți un program care, într-o succesiune de numere naturale, determină numărul maxim care este un multiplu de 4. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care este multiplu de 4. Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30 000. Programul trebuie să scoată un număr - numărul maxim care este un multiplu de 4.

9. Scrieți un program care, într-o succesiune de numere naturale, determină numărul de numere care se termină în 3. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care se termină cu 3. Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30000. Programul trebuie să scoată un număr - numărul de numere care se termină cu 3.

13. Scrieți un program care, într-o succesiune de numere naturale, determină numărul de numere care se termină cu 6. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care se termină cu 6. Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30000. Programul trebuie să scoată un număr - numărul de numere care se termină cu 6.

15. Scrieți un program care, într-o succesiune de numere naturale, determină suma numerelor care sunt multipli ai lui 5. Programul primește ca intrare numărul de numere din șir, iar apoi numerele în sine. Secvența conține întotdeauna un număr care este un multiplu de 5. Numărul de numere nu depășește 100. Numerele introduse nu depășesc 300. Programul trebuie să scoată un număr - suma numerelor care sunt multipli de 5.

17. Scrieți un program care, într-o succesiune de numere naturale, determină suma tuturor numerelor care sunt multipli de 6 și se termină cu 4. Programul primește numere naturale ca intrare, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului de intrare, neinclus în succesiune). Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30 000. Programul trebuie să scoată un singur număr: suma tuturor numerelor care sunt multipli de 6 și care se termină cu 4.

19. Scrieți un program pentru a rezolva următoarea problemă. Camera de supraveghere înregistrează automat viteza mașinilor care trec pe lângă ea, rotunjind valorile vitezei la numere întregi. Trebuie determinată viteza maximă înregistrată a vehiculului. Dacă viteza a cel puțin unei mașini a fost mai mică de 30 km/h, tipăriți „DA”, altfel tipăriți „N0”. Programul primește ca intrare numărul de mașini care trec N (1< N < 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300.Программа должна сначала вывести максимальную скорость, затем Y E S или NO.

Date de intrare Ieșire
Nu

21. Scrieți un program pentru a rezolva următoarea problemă. Camera de supraveghere înregistrează automat viteza mașinilor care trec pe lângă ea, rotunjind valorile vitezei la numere întregi. Trebuie determinată viteza maximă înregistrată a vehiculului. Dacă viteza a cel puțin unei mașini a fost de cel puțin 60 km/h, tipăriți „DA”, altfel tipăriți „N0”.

Programul primește ca intrare numărul de mașini care trec N (1 =< N =< 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести среднюю скорость с точностью до одного знака после запятой, затем «YES» или «N0».

23.

Date de intrare Ieșire

25. Scrieți un program care, într-o succesiune de numere întregi, determină suma lor și numărul de numere pare divizibil cu 5. Programul primește ca intrare numere întregi, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului intrării, neinclus în secvență) . Numărul de numere nu depășește 1000. Numerele modulo introduse nu depășesc 30 000. Programul trebuie să scoată două numere: suma șirului și numărul de numere pare divizibil cu 5.

27. Scrieți un program care, într-o succesiune de numere întregi, determină suma acestora și calculează diferența dintre numărul de numere pozitive și negative din șir. Programul primește numere întregi ca intrare, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului intrării, neinclus în secvență). Numărul de numere nu depășește 1000. Numerele modulo introduse nu depășesc 30 000. Programul trebuie să scoată două numere: suma numerelor și diferența dintre numărul de numere pozitive și negative.

28. Scrieți un program care determină numărul lor într-o succesiune de numere întregi și calculează suma numerelor pare pozitive care nu depășește 256. Programul primește numere întregi ca intrare, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului intrării, neinclus în secvență). Numărul de numere nu depășește 1000. Numerele modulo introduse nu depășesc 30 000. Programul trebuie să scoată două numere: lungimea secvenței și suma numerelor pare pozitive care nu depășește 256.

29. Scrieți un program care, într-o succesiune de numere naturale, determină numărul tuturor numerelor pare divizibil cu 5. Programul primește numere naturale ca intrare, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului intrării, neinclus în secvență). Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30 000. Programul ar trebui să scoată un număr: numărul tuturor numerelor pare divizibil cu 5.

31. Scrieți un program care, într-o succesiune de numere naturale, determină suma tuturor numerelor care sunt multipli de 7 și care se termină cu 2. Programul primește numere naturale ca intrare, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului de intrare, neinclus în secvența ). Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30 000. Programul trebuie să scoată un număr: suma tuturor numerelor care sunt multipli de 7 și care se termină cu 2.

33. Scrieți un program care, într-o succesiune de numere naturale, determină suma tuturor numerelor care sunt multipli de 8 și care se termină cu 6. Programul primește numere naturale ca intrare, numărul de numere introduse este necunoscut, succesiunea de numere se termină cu numărul 0 (0 este un semn al sfârșitului de intrare, neinclus în secvența ). Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30000. Programul trebuie să scoată un număr: suma tuturor numerelor naturale care sunt multipli de 8 și se termină cu 6.

35. Introduceți 5 numere întregi pozitive folosind tastatura. Calculați suma celor divizibile cu 4 și care se termină în 6. Programul ar trebui să scoată un număr: suma numerelor introduse de la tastatură care sunt multipli de 4 și se termină cu 6.

Date de intrare Ieșire

37. Scrieți un program care, într-o succesiune de numere naturale, determină numărul minim care se termină în 4. Programul primește ca intrare numărul de numere din succesiune, iar apoi numerele în sine. Secvența conține întotdeauna un număr care se termină cu 4. Numărul de numere nu depășește 1000. Numerele introduse nu depășesc 30000. Programul trebuie să scoată un număr - numărul minim care se termină cu 4.

Există două tipuri de interpreți: formale și informale.

Un interpret formal execută întotdeauna aceeași comandă în același mod.

Un executor informal poate executa o comandă în diferite moduri.

De exemplu, atunci când ascultați în mod repetat un disc cu melodia preferată, puteți fi sigur că acesta este reprodus de player (interpret oficial) în același mod. Dar este puțin probabil ca vreunul dintre cântăreți (interpreți informali) să poată interpreta o melodie din repertoriul lor exact în același mod de mai multe ori.

De regulă, o persoană acționează ca un interpret informal.

Interpreții formali sunt preponderent dispozitive tehnice.

O persoană în rolul unui interpret informal este responsabilă pentru propriile sale acțiuni.

Obiectul care îl controlează este responsabil pentru acțiunile executorului formal.

Să luăm în considerare mai detaliat setul de interpreți formali. Performanții formali sunt extrem de diverși, dar pentru fiecare dintre ei este posibil să se specifice gama de sarcini de rezolvat, mediul, sistemul de comandă, sistemul de defecțiuni și modurile de operare.

  1. Gama de sarcini de rezolvat. Fiecare executant este creat pentru a rezolva o anumită clasă de probleme.
  2. Mediul artistului. Zona, setarea, condițiile în care operează interpretul sunt de obicei numite mediul interpretului dat.
  3. Sistem de comandă a executorului. O instrucțiune pentru a efectua o acțiune separată finalizată a executantului se numește comandă. Ansamblul tuturor comenzilor care pot fi executate de un executor formează SKI - sistemul de comenzi ale executorului.
  4. Sistem de defectare a interpretului. Refuzul „Nu înțeleg” apare atunci când executantului i se dă o comandă care nu face parte din SKI-ul său. Refuzul „nu pot” apare atunci când o comandă de la SCI nu poate fi executată de acesta în condiții specifice de mediu.
  5. Moduri de operare performer. Pentru majoritatea interpreților, sunt furnizate moduri de control direct și program. În primul caz, executantul așteaptă comenzi de la o persoană și execută imediat fiecare comandă primită. În al doilea caz, executantului i se oferă mai întâi o secvență completă de comenzi (program), apoi execută toate aceste comenzi automat. Un număr de interpreți lucrează numai într-unul dintre modurile denumite.

Dezvoltarea algoritmului - o sarcină intensivă în muncă, care necesită ca o persoană să aibă cunoștințe profunde și mult timp. Rezolvarea unei probleme folosind un algoritm gata făcut necesită doar executantului să urmeze cu strictețe instrucțiunile date. Interpretul nu se adâncește în sensul a ceea ce face și nu motivează de ce acționează astfel și nu altfel - acționează în mod formal. Legat de aceasta este posibilitatea de automatizare a activităților umane:

  • procesul de rezolvare a unei probleme este prezentat ca o succesiune de operatii simple;
  • este creată o mașină (dispozitiv automat) care este capabil să efectueze aceste operații în secvența specificată în algoritm;
  • o persoană este eliberată de activitățile de rutină, execuția algoritmului este încredințată unui dispozitiv automat.