Care este numele algoritmului dacă rezultatul. Ce sunt algoritmii și de ce sunt necesari

Fiecare algoritm se ocupă de date - de intrare, intermediare și de ieșire.

Limb. Este înțeles în două moduri: în primul rând, algoritmul constă din pași elementari individuali, sau acțiuni, și mulți pași diferiți, din care algoritmul este compus, desigur. În al doilea rând, algoritmul trebuie să se completeze într-un număr finit de pași. Dacă se construiește un proces infinit care converge către soluția dorită, atunci acesta se întrerupe la un pas și valoarea rezultată este luată ca o soluție aproximativă a problemei luate în considerare. Precizia aproximării depinde de numărul de pași.

Elementare (inteligibilitate). Fiecare pas al algoritmului trebuie să fie simplu, astfel încât dispozitivul care efectuează operațiunile să îl poată finaliza într-o singură acțiune.

Discretenie. Procesul de rezolvare a unei probleme este reprezentat de o succesiune finită de pași individuali, iar fiecare pas al algoritmului este efectuat într-un timp finit (nu neapărat unitar).

Determinism (certitudine). Fiecare pas al algoritmului trebuie să fie definit fără ambiguitate și fără ambiguitate și nu trebuie să admită interpretare arbitrară. După fiecare pas, fie este indicat ce pas să se facă în continuare, fie se dă o comandă de oprire, după care operarea algoritmului este considerată finalizată.

Eficacitatea. Algoritmul are un număr de valori de intrare - argumente. Scopul algoritmului este de a obține un rezultat specific care are o relație foarte clară cu datele originale. Algoritmul ar trebui să se oprească după un număr finit de pași dependenți de date, cu o indicație a ceea ce trebuie numărat ca rezultat. Dacă nu poate fi găsită o soluție, atunci ar trebui să se indice ceea ce în acest caz este considerat un rezultat.

Caracter de masă. Algoritmul de rezolvare a problemei este dezvoltat într-o formă generală, adică. ar trebui să fie aplicabilă pentru o anumită clasă de probleme care diferă doar în datele inițiale. În acest caz, datele inițiale pot fi selectate dintr-o anumită zonă, care este numită zona de aplicabilitate a algoritmului.

Eficienţă. Una și aceeași problemă poate fi rezolvată în moduri diferite și, în consecință, în momente diferite și cu costuri de memorie diferite. Este de dorit ca algoritmul să fie format din numărul minim de pași, iar soluția să satisfacă condiția de acuratețe și să necesite cheltuirea minimă a altor resurse.

Definiția matematică exactă a algoritmului este complicată de faptul că interpretarea instrucțiunilor prescrise nu ar trebui să depindă de subiectul care le execută. În funcție de nivelul său intelectual, poate fie să nu înțeleagă deloc ce se înțelege prin instrucțiuni, fie, dimpotrivă, să îl interpreteze într-un mod neintenționat.

Problema interpretării regulilor poate fi ocolită prin descrierea, împreună cu formularea prescripțiilor, a proiectării și principiului de funcționare a dispozitivului de interpretare. Acest lucru evită ambiguitatea și ambiguitatea în înțelegerea acelorași instrucțiuni. Pentru a face acest lucru, este necesar să se definească un limbaj care să descrie un set de reguli de comportament, sau o secvență de acțiuni, precum și un dispozitiv în sine care să interpreteze propoziții făcute în acest limbaj și să efectueze pas cu pas fiecare proces precis definit. Se pare că un astfel de dispozitiv (mașină) poate fi realizat într-o formă care rămâne constantă, indiferent de complexitatea procedurii luate în considerare.

În prezent, există trei tipuri principale de modele algoritmice universale. Ele diferă în ipotezele inițiale privind definirea conceptului de algoritm.

Primul tip conectează conceptul de algoritm cu cele mai tradiționale concepte ale matematicii - calcul și funcții numerice. Al doilea tip se bazează pe ideea unui algoritm ca un anumit dispozitiv determinist capabil să efectueze doar operații foarte primitive la un moment dat. O astfel de reprezentare asigură unicitatea algoritmului și caracterul elementar al pașilor acestuia. În plus, o astfel de viziune este în concordanță cu ideologia construirii computerelor. Principalul model teoretic de acest tip, creat în anii 1930. Matematicianul englez Alan Turing, este o mașină Turing.

Al treilea tip Sunt transformări ale cuvintelor în alfabete arbitrare, în care substituțiile sunt operații elementare, i.e. înlocuirea unei părți a unui cuvânt (un cuvânt înseamnă o secvență de caractere alfabetice) cu un alt cuvânt. Avantajele acestui tip de model sunt abstractitatea sa maximă și capacitatea de a aplica conceptul de algoritm la obiecte de natură arbitrară (nu neapărat numerică). Exemple de modele de al treilea tip sunt sistemele canonice ale matematicianului american Emile L. Post și algoritmii normali introduși de matematicianul sovietic A.A.Markov.

Modelele de al doilea și al treilea tip sunt destul de apropiate și diferă în principal prin accente euristice, așa că nu întâmplător vorbesc despre mașina lui Post, deși Post însuși nu a vorbit despre asta.

Scrierea unui algoritm într-o limbă este un program. Dacă programul este scris într-un limbaj algoritmic special (de exemplu, în PASKAL, BASIC sau altcineva), atunci vorbesc despre programul original... Se numește un program scris într-un limbaj pe care computerul îl înțelege direct (de obicei coduri binare). mașinărie, sau binar.

Orice modalitate de a scrie un algoritm implică faptul că fiecare obiect descris cu ajutorul său este specificat ca un reprezentant specific al unei clase de obiecte adesea infinite care pot fi descrise în acest fel.

Mijloacele folosite pentru a scrie algoritmii sunt în mare măsură determinate de cine va fi interpretul.

Dacă interpretul este o ființă umană, este posibil ca înregistrarea să nu fie pe deplin oficializată; claritatea și claritatea sunt prezentate în primul rând. În acest caz, algoritmii sau notația verbală pot fi utilizați pentru înregistrare.

Pentru a scrie algoritmi destinati executanților de automate, este necesară formalizarea, prin urmare, în astfel de cazuri, se folosesc limbaje speciale formale. Avantajul modului formal de scriere este că face posibilă studierea algoritmilor ca obiecte matematice; în acest caz, descrierea formală a algoritmului servește drept bază pentru îmbrățișarea inteligentă a acestui algoritm.

Pentru înregistrarea algoritmilor sunt folosite o varietate de instrumente. Alegerea unui instrument este determinată de tipul de algoritm care se execută. Există următoarele Principalele moduri de scriere a algoritmilor:

verbal- algoritmul este descris în limbaj uman;

simbolic- algoritmul este descris folosind un set de simboluri;

grafic- algoritmul este descris folosind un set de imagini grafice.

Modalitățile general acceptate de scriere a algoritmului sunt înregistrare grafică folosind diagrame algoritmice (diagrame bloc) și notarea caracterelor cu folosind un fel de limbaj algoritmic.

Pentru a descrie algoritmul cu ajutorul diagramelor, este descrisă o secvență conectată de figuri geometrice, fiecare dintre acestea implicând executarea unei anumite acțiuni a algoritmului. Ordinea acțiunilor este indicată prin săgeți.

Următoarele tipuri de simboluri grafice sunt utilizate în diagramele algoritmilor.

startși sfarsit algoritmul este desemnat folosind simbolurile cu același nume (Fig. 21.1).

Orez. 21.1.

Pasul algoritmului asociat cu atribuirea unei noi valori unei variabile, transformarea unei valori în vederea obținerii unei alte valori, este reprezentat de simbolul "proces"(fig.21.2).

Orez. 21.2.

Alegerea direcției de execuție a algoritmului în funcție de unele condiții variabile este reprezentată de simbolul " soluţie"(fig.21.3).

Orez. 21.3.

Aici Rînseamnă un predicat (expresie condiționată, condiție). Dacă condiția este îndeplinită (predicatul ia valoarea TRUE), atunci se realizează trecerea la un pas al algoritmului, iar dacă nu, atunci la altul.

Există primitive pentru operațiunile de intrare și ieșire a datelor, precum și alte simboluri grafice. În prezent, acestea sunt definite de standardul GOST 19.701–90 (ISO 5807–85) „Sistem unificat de documentare a programelor. Scheme de algoritmi, programe și sisteme de date. Simboluri și reguli de execuție”. În total, colecția DEUE conține 28 de documente.

Folosind schema algoritmică, este ușor să compuneți un program sursă într-un limbaj algoritmic.

În funcție de succesiunea acțiunilor din algoritm, se disting algoritmi de structuri liniare, ramificate și ciclice.

În algoritmi structura liniara acțiunile sunt efectuate succesiv una după alta.

În algoritmi structură ramificată in functie de indeplinirea sau neindeplinirea oricarei conditii se realizeaza diverse secvente de actiuni. Fiecare astfel de secvență de acțiuni este numită ramura a algoritmului.

În algoritmi structura ciclicăîn funcție de îndeplinirea sau neîndeplinirea oricărei condiții, se realizează o secvență repetată de acțiuni, numită corpul ciclului. Un ciclu imbricat este un ciclu care se află în corpul altui ciclu. O buclă iterativă este o buclă, al cărei număr de repetări nu este specificat, dar este determinat în timpul execuției buclei.

În acest caz, se numește o repetare a ciclului repetare.

Elemente ale teoriei algoritmilor

Algoritm - un concept legat de fundamentele fundamentale ale informaticii. A apărut cu mult înainte de apariția computerelor și este unul dintre conceptele de bază ale matematicii.

Cuvânt "algoritm" provine de la numele unui savant medieval remarcabil Mohamed ibn Musa Al-Khorezmi(sec. IX d.Hr.), prescurtat Al-Khorezmi... În traducerea latină a uneia dintre lucrările lui Al-Khorezmi, regulile pentru efectuarea acțiunilor au început cu cuvintele DIXIT ALGORIZMI (a spus Algorizmi), în alte traduceri latine se numea autorul ALGORITMUL (Algoritm).

Ai un concept "algoritm" nu clar, lipsit de ambiguitate definiții în sens matematic. Nu poți decât să dai Descriere (clarificarea) acestui concept. Pentru a clarifica conceptul "algoritm" definiția de "Executor de algoritm" ... Algoritmul este formulat în vederea unui anumit interpret.

Algoritm - un ghid de acțiune pentru executant, prin urmare sensul cuvântului „algoritm” este apropiat ca sens de sensul cuvintelor „instrucțiune” sau „prescripție”.

Algoritm - clară și precisă reteta medicala(indicaţie) executantul să efectueze o anumită secvență de acțiuni pentru a atinge scopul specificat sau pentru a rezolva sarcina.

Algoritm - o prescripție exactă care stabilește un proces de calcul, pornind de la o dată inițială arbitrară dintr-un anumit set de date posibil pentru acest proces, vizând obținerea unui rezultat complet determinat de aceste date inițiale.

Este clar că ceea ce s-a spus nu este o definiție în sens matematic, ci reflectă doar înțelegerea intuitivă a algoritmului (în matematică nu există conceptul de „prescripție”, nu este clar care ar trebui să fie acuratețea, ce este „comprehensibilitatea”, etc.).

Proprietățile de bază ale algoritmului

    Caracter de masă.

Algoritmul are un număr de valori de intrare - argumente setate înainte de începerea execuției. Scopul algoritmului este de a obține un rezultat (rezultate) care are o relație foarte clară cu datele inițiale. Algoritmul specifică secvența de acțiuni pentru procesarea datelor brute în rezultate. Pentru algoritm, puteți alege diferite seturi de date de intrare din setul de date admisibile pentru acest proces, adică. algoritmul poate fi folosit pentru a rezolva o întreagă clasă de probleme de același tip, care diferă prin datele inițiale. Această proprietate a algoritmului este de obicei numită masivitate ... Cu toate acestea, există algoritmi care se aplică doar unui singur set de date. Putem spune că pentru fiecare algoritm există propria sa clasă de obiecte care sunt valide ca date de intrare. Apoi proprietatea caracter de masă înseamnă că algoritmul este aplicabil tuturor obiectelor din această clasă.

    inteligibilitate.

Pentru ca algoritmul să fie executat, acesta trebuie să fie înțeles de executant. Comprehensibilitatea algoritmului înseamnă cunoștințele executantului despre ceea ce trebuie făcut pentru a executa acest algoritm.

    Discretenie.

Algoritmul este reprezentat ca o secvență finită de pași (algoritmul are discret structura) iar executarea acesteia este împărțită în etape individuale (execuția pasului următor începe după finalizarea celui precedent).

    Limb.

Execuția algoritmului se termină după execuție număr finit de pași ... În timpul execuției algoritmului, unii dintre pașii acestuia pot fi repeți de mai multe ori. În matematică, există proceduri de calcul care sunt de natură algoritmică, dar nu detinand proprietatea membrelor .

    Certitudine.

Fiecare pas al algoritmului trebuie să fie definite clar și fără ambiguitate și nu ar trebui să permită interpretarea arbitrară de către executant. Prin urmare, algoritmul este conceput pentru design pur mecanic . Exact certitudine algoritmul face posibilă instruirea execuției acestuia automat .

    Eficienţă.

Fiecare pas al algoritmului trebuie efectuat cu acuratețe și într-un timp finit. În acest sens, ei spun că algoritmul ar trebui să fie efectiv , adică acţiunile executantului la fiecare pas al executării algoritmului trebuie să fie suficient de simple pentru a putea fi efectuate cu acurateţe şi într-un timp finit. De obicei, sunt apelate instrucțiuni individuale către executant conținute în fiecare pas al algoritmului echipe ... Astfel, eficiența algoritmului este legată de capacitatea de a executa fiecare comandă într-un timp finit. Se numește setul de comenzi care pot fi executate de un anumit executor sistemul de comandă al executorului ... Prin urmare, algoritmul trebuie formulat astfel încât să conțină numai acele comenzi care sunt incluse în sistemul de comandă al executorului. În plus, eficiența înseamnă că algoritmul poate fi executat nu doar într-un timp finit, ci într-un timp rezonabil finit.

Comentariile de mai sus clarifică concept de algoritm intuitiv , dar acest concept în sine nu devine mai clar și mai strict din aceasta. Cu toate acestea, acest concept a fost folosit în matematică de mult timp. Numai cu identificarea problemelor nerezolvabile din punct de vedere algoritmic, i.e. probleme pentru a căror rezolvare este imposibil să se construiască un algoritm, există o nevoie urgentă de a construi o definiție formală a unui algoritm corespunzătoare unui concept intuitiv bine cunoscut. Conceptul intuitiv de algoritm, din cauza incertitudinii sale, nu poate fi obiect de studiu matematic, prin urmare, pentru a demonstra existența sau inexistența unui algoritm de rezolvare a unei probleme, a fost necesară o definiție formală strictă a algoritmului.

Construcția unei astfel de definiții formale a fost începută odată cu formalizarea obiectelor (operanzilor) algoritmului, întrucât în ​​conceptul intuitiv al algoritmului obiectele acestuia pot fi de natură arbitrară. Pot fi, de exemplu, numere, citiri ale senzorilor care fixează parametrii procesului de producție, piese și poziții de șah etc. Totuși, presupunând că algoritmul se ocupă nu cu obiectele reale în sine, ci cu imaginile lor, putem presupune că operanzi de algoritm - cuvinte într-un alfabet arbitrar. Apoi se dovedește că algoritmul transformă cuvintele dintr-un alfabet arbitrar în cuvinte din același alfabet. Formalizarea ulterioară a conceptului de algoritm este asociată cu formalizarea acțiunilor pe operanzi și ordinea acestor acțiuni. Una dintre aceste formalizări a fost propusă în 1936 de matematicianul englez A. Turing, care a descris formal construcția unei mașini abstracte ( Mașini Turing ) ca executant al algoritmului și a exprimat teza principală că orice algoritm poate fi implementat de către mașina Turing corespunzătoare. Aproximativ în aceeași perioadă, matematicianul american E. Post a propus o altă schemă algoritmică - Masina de posta , iar în 1954 matematicianul sovietic A.A. Markov a dezvoltat teoria claselor de algoritmi, pe care a numit-o algoritmi normali , și a afirmat teza principală că orice algoritm este normalizabil.

Aceste scheme algoritmice sunt echivalente în sensul că algoritmii descriși într-una dintre scheme pot fi descriși și în alta. Recent, aceste teorii ale algoritmilor au fost combinate sub numele joc de inteligență .

Teoriile logice ale algoritmilor sunt destul de potrivite pentru rezolvarea întrebărilor teoretice despre existența sau inexistența unui algoritm, dar nu ajută în niciun fel în cazurile în care trebuie să obțineți un algoritm bun, potrivit pentru aplicații practice. Ideea este că, din punctul de vedere al teoriilor logice, algoritmii destinați aplicațiilor practice sunt algoritmi în sens intuitiv. Prin urmare, atunci când rezolvăm problemele apărute în legătură cu crearea și analiza unor astfel de algoritmi, de multe ori trebuie să ne ghidăm numai de intuiție, și nu de o teorie matematică riguroasă. Astfel, practica și-a pus sarcina creării unei teorii semnificative, al cărei subiect ar fi algoritmii, ca atare, și care să permită aprecierea calității acestora, ar da metode practic utilizabile pentru construcția lor, transformarea echivalentă, dovada corectitudinii etc.

O teorie semnificativă (analitică) a algoritmilor a devenit posibilă numai datorită lucrărilor fundamentale ale matematicienilor în domeniul teoriilor logice ale algoritmilor. Dezvoltarea unei astfel de teorii este asociată cu extinderea și extinderea conceptului formal de algoritm, care este prea restrâns în cadrul teoriilor logice. Natura formală a conceptului va face posibilă aplicarea metodelor de cercetare matematică la acesta, iar amploarea sa ar trebui să asigure posibilitatea de a acoperi toate tipurile de algoritmi care trebuie tratați în practică.

În informatică se numește un plan de acțiune algoritm.
Algoritmul constă din pași separați - echipe... Niciuna dintre ele nu poate fi ratată, cel mai adesea nicio comandă nu poate fi schimbată.
Executor testamentar- o persoană, animal sau mașină capabilă să înțeleagă și să execute anumite comenzi.
Mediul artistului- obiecte care îl înconjoară pe interpret și cu care lucrează.
Lista echipelor de performeri (SKI)- un set de comenzi care sunt înțelese de executant. Executantul poate executa numai acele comenzi care sunt incluse în SKI-ul său.

Pentru a rezolva majoritatea problemelor, nu este suficient să dai o singură comandă executantului, este necesar să-i elaborezi un algoritm - un plan de acțiune format din comenzi pe care le înțelege (incluse în SKI-ul său).
Algoritm- un plan de acțiune bine definit al interpretului, care vizează rezolvarea unei probleme. Algoritmul poate include numai acele comenzi care sunt în SKI.

Care sunt algoritmii

Algoritm liniar
În algoritmul liniar, comenzile sunt executate secvenţial, una după alta. Un exemplu de algoritm liniar este algoritmul de preparare a ceaiului.

Algoritm de bifurcare

Într-un algoritm de ramificare, ordinea comenzilor poate fi diferită în funcție de mediu. Un exemplu de algoritm de ramificare este un algoritm de traversare a străzilor.

Algoritm ciclic
Într-un algoritm ciclic, unele acțiuni sunt repetate de mai multe ori (în informatică, se spune că se execută o buclă). Există două tipuri de algoritmi de buclă. Într-una dintre ele, știm dinainte de câte ori trebuie să facem aceste acțiuni, în cealaltă trebuie să ne oprim doar când am terminat lucrarea, adică acțiunile noastre se opresc atunci când este îndeplinită o anumită condiție.
Un exemplu al primului tip de ciclu este viața noastră în zilele lucrătoare (de luni până sâmbătă) - facem aproape aceleași acțiuni de 6 ori.
Un exemplu de ciclu de al doilea tip este algoritmul de tăiere a unui buștean: nu putem spune în avans de câte ori trebuie să balansăm ferăstrăul de la noi înșine și către noi înșine - depinde de densitatea copacului, de calitatea arborelui. văzut și eforturile noastre. Cu toate acestea, știm sigur că trebuie să terminăm lucrarea atunci când următorul buștean tăiat cade la pământ.

Metode de înregistrare a algoritmului

Există trei metode de scriere a algoritmilor cele mai comune în practică:

  • verbal(înregistrare în limbaj natural);
  • grafic(înregistrare folosind simboluri grafice);
  • program(texte în limbaje de programare).

Mod verbal de scriere a algoritmilor

Mod verbal - o modalitate de a scrie un algoritm în limbaj natural... Această metodă este foarte convenabilă dacă trebuie să descrii aproximativ esența algoritmului. Cu toate acestea, cu o descriere verbală, nu este întotdeauna posibil să se exprime clar și precis logica acțiunilor.

Ca exemplu de mod verbal de a scrie un algoritm, luați în considerare algoritmul pentru găsirea ariei unui dreptunghi

unde S este aria dreptunghiului; a, b - lungimile laturilor sale.

Evident, a, b trebuie specificate în prealabil, altfel problema nu poate fi rezolvată.

Modul verbal de scriere a algoritmului arată astfel:

  • Începutul algoritmului.
  • Setați valoarea numerică a laturii a.
  • Setați valoarea numerică a laturii b.
  • Calculați aria S a unui dreptunghi folosind formula S = a * b.
  • Tipăriți rezultatul calculelor.
  • Sfârșitul algoritmului.

Mod grafic de a descrie algoritmi

Pentru o prezentare mai vizuală a algoritmului se folosește o metodă grafică. Există mai multe moduri de a descrie grafic algoritmii. Cea mai utilizată descriere grafică a algoritmilor în practică este utilizarea diagramelor bloc. Avantajul incontestabil al diagramelor bloc este claritatea și simplitatea scrierii algoritmului.

O figură geometrică (simbol bloc) corespunde fiecărei acțiuni a algoritmului. Cele mai frecvent utilizate simboluri sunt enumerate în tabelul de mai jos.

Deoarece în algoritmul liniar comenzile sunt executate secvenţial, diagrama bloc va arăta astfel:

Deoarece într-un algoritm de ramificare, ordinea comenzilor poate fi diferită în funcție de mediul înconjurător, diagrama bloc va lua forma:

Într-un algoritm ciclic, unele acțiuni sunt repetate de mai multe ori și pentru acesta diagrama bloc va lua forma:

Mod programatic de a scrie algoritmi

Pentru ca algoritmul să fie înțeles de un robot, computer sau altă mașină, nu este suficient doar să scrieți comenzi; este, de asemenea, necesar să formulați algoritmul în forma în care mașina îl înțelege (scrieți un program), adică. notează-l folosind comenzile din SKI, respectând regulile de proiectare.

Reguli de proiectare a programului:

  1. orice algoritm are un nume;
  2. algoritmul începe cu o acoladă de deschidere „(“ și se termină cu o acoladă de închidere „)”; comenzile dintre aceste paranteze se numesc corpul algoritmului;
  3. algoritmul poate include numai acele comenzi care se află în SKI-ul executantului;
  4. fiecare comandă se termină cu un „;”, care indică sfârșitul comenzii;
  5. pentru a ne ușura înțelegerea programelor, acestea folosesc comentarii - explicații textuale care încep cu „/ *” și se termină cu „* /”; executorul nu acordă atenție comentariilor din algoritm.

Sarcini practice:

  1. Întocmește o diagramă bloc pentru a afla perimetrul unui pătrat.
  2. Întocmește o diagramă pentru prepararea ceaiului.
  3. Întocmește o diagramă bloc pentru traversarea unei intersecțiuni cu un semafor.

Material folosit din cărți:

  1. „Tehnologii moderne ale informației”, autori, profesori ai centrului „Turbo”
  2. „Algoritmi și executori” de K. Polyakov

- un sistem de reguli, formulat într-un limbaj înțeles de executant, care determină procesul de trecere de la datele inițiale admisibile la un anumit rezultat și are proprietățile caracterului de masă, finitate, definiție, determinism.

Cuvântul „algoritm” provine de la numele marelui om de știință din Asia Centrală din secolele VIII-IX. Al-Khorezmi (Khorezm este o regiune istorică de pe teritoriul Uzbekistanului modern). Dintre lucrările matematice ale lui Al-Khwarizmi, doar două ne-au supraviețuit - algebrică (cuvântul algebră s-a născut din titlul acestei cărți) și aritmetică. A doua carte a fost mult timp considerată pierdută, dar în 1857 traducerea ei în latină a fost găsită în biblioteca Universității din Cambridge. Descrie patru reguli ale operațiilor aritmetice, aproape aceleași cu cele folosite acum. Primele rânduri ale acestei cărți au fost traduse astfel: „Said Algorithms. Să-I lăudăm pe Dumnezeu, conducătorul și protectorul nostru.” Deci numele Al-Khwarizmi a trecut în Algoritmi, de unde a apărut cuvântul algoritm. Termenul de algoritm a fost folosit pentru a desemna patru operații aritmetice și tocmai în acest sens a intrat în unele limbi europene. De exemplu, în dicționarul englez autorizat Dicționarul Lumii Noi ale Webster, publicat în 1957, cuvântul algoritm este marcat „învechit” și este explicat ca efectuând operații aritmetice folosind cifre arabe.

Cuvântul „algoritm” a devenit din nou folosit odată cu apariția computerelor electronice pentru a desemna un set de acțiuni care alcătuiesc un proces. Acest lucru implică nu numai procesul de rezolvare a unei probleme matematice, ci și o rețetă și instrucțiuni de utilizare a mașinii de spălat rufe și multe alte reguli secvențiale care nu sunt legate de matematică - toate aceste reguli sunt algoritmi. Cuvântul „algoritm” este cunoscut de toată lumea în aceste zile, a pășit cu atâta încredere în vorbirea colocvială, încât acum de multe ori pe paginile ziarelor, în discursurile politicienilor apar expresii „algoritm al comportamentului”, „algoritm al succesului”, etc. .

Turing A. Poate o mașină să gândească? M., Mir, 1960
Uspenski V. Masina de posta.Știință, 1988
Cormen T., Leiserson, Reeves R. Algoritmi. Construcție și analiză... M., MCNMO, 1999

Găsiți „ALGORITHM” pe

Astăzi vom oferi un răspuns la întrebarea ce este un algoritm.

De multe ori se obișnuiește să se numească un algoritm un set de instrucțiuni care descriu acțiunile necesare (precum și ordinea în care sunt efectuate) pentru a rezolva o anumită problemă. În zilele noastre, algoritmii sunt folosiți nu numai în inginerie și știință, ci și în alte domenii ale vieții.

Ceea ce se numește algoritm

Conceptul de algoritm este destul de vechi și aparține unuia dintre conceptele principale și de bază din matematică. Termenul provine din ortografia latină a numelui celebrului matematician oriental de 787-850 de ani Muhammad al-Khwarizmi - Algorithmi. Acest om de știință a fost primul care a formulat reguli precise pentru înregistrarea numerelor naturale, precum și reguli pentru însumarea numărului într-o coloană. Un fapt destul de interesant este că, în ciuda rădăcinilor sale străvechi, conceptul în sine a fost formulat cu precizie abia la începutul secolului al XX-lea. În zilele noastre, algoritmul este componenta principală a afacerilor moderne, a oricărui proces educațional sau de cercetare. De aceea, fiecare persoană modernă trebuie pur și simplu să știe exact ce înseamnă algoritmul.

Algoritm - instrucțiuni deseori precise formulate, ordinea anumitor acțiuni care ar trebui să asigure atingerea scopului.

Care sunt proprietățile algoritmilor

Dar merită să ne amintim că nu orice secvență de acțiuni poate fi numită algoritm. O secvență este un algoritm numai dacă are anumite proprietăți. Să le enumerăm:

  1. Discretența este una dintre cele mai importante proprietăți. O vom lua în considerare puțin mai jos.
  2. Certitudinea este la fel de importantă. Conform acestei proprietăți, fiecare comandă trebuie să fie clară și să direcționeze executantul către o anumită acțiune.
  3. Merită să ne amintim claritatea algoritmului. Algoritmul ar trebui să utilizeze numai comenzile necesare care sunt relevante pentru sarcina în cauză.
  4. O proprietate importantă este eficiența (deseori numită și finite) a algoritmului. Proprietatea „eficacitate” indică faptul că algoritmul are un anumit număr de pași, specificat anterior, a căror execuție va duce la implementarea sarcinii.
  5. De asemenea, orice algoritm trebuie să aibă în mod necesar o astfel de proprietate ca caracterul de masă. Dacă un algoritm asigură executarea tuturor sarcinilor de un anumit tip, atunci are proprietatea caracterului de masă.

Ce este un algoritm în informatică

Toți oamenii de știință sunt de acord cu afirmația că conceptul de algoritm este fundamental în informatica modernă. Când creați software, primul pas este întotdeauna crearea unui algoritm.

Un algoritm scris într-un limbaj formal este de obicei numit program. Foarte des conceptul de algoritm este strâns legat de procesul de scriere a acestuia într-un program. Acesta este motivul pentru care termenul de algoritm și programe este adesea considerat sinonim.

Cum se creează un algoritm

Pentru a crea un algoritm eficient și de înaltă calitate, trebuie respectate câteva reguli:

  1. Algoritmul trebuie scris într-un limbaj formal și clar. Ambiguitatea sau ambiguitatea instrucțiunilor este inacceptabilă.
  2. Atunci când compilați un algoritm, este imperativ să luați în considerare persoana pentru care este compilat. Antreprenorul trebuie să înțeleagă toate punctele algoritmului și să le poată implementa.
  3. Este de dorit să păstrați algoritmul scurt, precis și clar.

Ce este algoritmul liniar

Dintre toți algoritmii, se face o distincție între liniar și neliniar. Un algoritm este considerat liniar dacă menține o ordine consecventă a acțiunilor pe tot parcursul procesului de execuție.

În informatică, limbajul de programare cu care este descris un algoritm este de obicei numit operator. Există operatori simpli și structurați. Operatorii simpli descriu o singură acțiune.

Operatorii simpli sunt cei mai des utilizați în algoritmii liniari.

Proprietatea de discretie a algoritmului și semnificația acestuia

Am menționat mai devreme că orice algoritm are o astfel de proprietate ca discretitatea. Acum să ne uităm la conceptul de discretitate mai detaliat.

Discretența este adesea înlocuită cu termeni precum discontinuitatea și separabilitatea unui algoritm. De fapt, toți cei trei termeni înseamnă același lucru, și anume execuția secvențială (secvențială) a tuturor comenzilor algoritmului. Sub rezerva caracterului discret, fiecare acțiune este efectuată numai după finalizarea celei anterioare, iar implementarea tuturor punctelor de referință duce la rezultatul final specificat anterior (la rezolvarea completă a problemei).

Am acoperit acum termenii și conceptele de bază care se referă la subiectul nostru de astăzi. Cu siguranță nu mai este o problemă pentru tine să răspunzi la întrebarea ce este algoritmul. Cunoștințele acumulate vor fi utile de mai multe ori atât în ​​domeniul tău profesional, cât și în viața de zi cu zi. Puteți, ca întotdeauna, să clarificați detaliile sau să găsiți răspunsul la întrebarea dvs. folosind sistemul convenabil de comentarii de mai jos.