Conceptul algoritmului și proprietățile sale

Procesorul unui calculator, este o minune a tehnologiei, poate, cu toate acestea, numai să urmeze comenzi simple. Cum computerul pentru a rezolva probleme complexe de prelucrare a informațiilor? Pentru a face față acestor provocări, programatorul trebuie să creeze o descriere detaliată a succesiunii acțiunilor care trebuie să fie completate la CPU al computerului. Elaborarea unui astfel de pas cu pas descriere a procesului de rezolvare a problemelor se numește algoritmizarea. iar algoritmul este un set finit de reguli aranjate într-o anumită ordine logică, care permite executorului de a rezolva orice problemă specifică unei anumite clase de probleme similare. În diferite situații, rolul artistului într-un e-mail poate acționa, sau orice alt dispozitiv sau a unei persoane (de exemplu, un soldat paza groapa de muniție și acționând în conformitate cu algoritmi, scrise în serviciul de pază charter).

Algoritmul. Proprietățile algoritmului.

Cuvântul „algoritm“, a venit de la numele traducerea latină a cărții matematician arab din secolul al IX-Al-Khwarizmi «de Numero Indoru Algoritmi», care poate fi tradus ca „un tratat al-Khwarizmi privind arta aritmetică a indienilor.“ algoritmi de compilare și întrebări ale existenței lor sunt supuse unor cercetări matematice serioase.

Proprietățile algoritmului. În elaborarea și înregistrarea a algoritmului este necesar să se asigure că acesta a avut un număr de proprietăți.

Unicitatea algoritmului. care este înțeleasă ca unicitatea interpretării regulilor de acțiuni contractor de construcții și ordinea lor de execuție. Algoritmul are această proprietate, trebuie să fie scris instrucțiuni din setul de instrucțiuni al interpretului.

Finitudinii algoritmului - finalizarea legat de fiecare dintre actele care compun algoritmul, iar algoritmul zavershimost în general.

Eficacitatea algoritmului. presupunând că algoritmul care urmează să fie finalizat obținerea unor rezultate.

Mass. t. e. posibilitatea de a aplica acest algoritm pentru rezolvarea unei clase de probleme cu formularea generală a problemei. Pentru ca algoritmul are proprietatea de masă, ar trebui să fie algoritmul, folosind notația de cantități și evitând valori specifice.

Corectitudinea algoritmului. care este înțeleasă ca abilitatea algoritmului de a da rezultate precise sarcina.

Eficiență - pentru rezolvarea problemei să fie utilizate resursele limitate de calculator (CPU, cantitatea de memorie RAM, etc ...).

Descrierea algoritmilor într-un limbaj natural.

Când este vorba de elaborarea algoritmilor pentru procesorul calculatorului (calculator electronic), interpretul este procesorul. Un model simplificat al procesorului include un stok dispozitiv de citire a datelor (o memorie specială a unui volum mic, destinat pentru stocarea temporară a datelor) și un dispozitiv de aritmetică care poate efectua operații aritmetice.

Să presupunem că un program scris pentru acest procesor conține date numerice și simboluri ale operații aritmetice pe aceste date. Aici este un exemplu de program pentru calcularea sumei a două numere 2 și 3:

Să ne urmărească punerea în aplicare a acestui program. Prima operație - citirea valorii stok 2. Apoi, a doua valoare (3) este citită în stok. În care prima valoare este deplasată în a doua celulă de memorie. Al treilea pas al programului - calcularea sumei celor două valori sesizați (numite operanzi). Rezultatul acestei operațiuni - valoarea 5 - scrise în prima stoka de celule.

un program simplu a fost revizuit. Este o înregistrare a unui algoritm pentru rezolvarea unei clase de probleme - probleme de calcul suma celor două numere. Notăm aceste numere a și b. Apoi, algoritmul poate fi scris după cum urmează:

1. Pentru a lua în considerare numărul de.

3. Efectuați însumării c: = a + b.

4. Imprimați numărul de c.

Acesta este un exemplu de scriere a algoritmului în limbaj natural. adică, în limbajul comunicării umane. Se poate observa că formularea algoritmului nu depinde de valorile specifice ale variabilelor a și b. astfel încât acesta poate fi utilizat pentru a rezolva un număr destul de mare de probleme similare, împreună alcătuiesc o clasă de probleme însumării. Algoritmul descrie acțiunile nu pe valori specifice, și mai presus de obiecte abstracte.

Principalele obiective ale programării este variabila. Variabilele din program sunt diferite de variabilele utilizate în înregistrarea unor formule matematice. În ciuda similitudinii termenilor, normele de utilizare a variabilelor într-un program pentru un computer diferit de regulile variabilelor matematice. Este necesar să se înțeleagă diferența. În programare, o variabilă poate fi interpretată ca memorie una sau mai multe celule a computerului, care conferă anumite nume. Conținutul acestor celule poate varia, dar numele variabilei rămâne neschimbat. În matematică, valoarea unei variabile într-o anumită sarcină în mod constant, dar schimbările în alte probleme ale acestei clase. Acesta este motivul pentru proiectarea

programator perceput în mod natural, iar ecuația

matematician consideră greșit. În primul caz, se referă la suma de calcul conținutul celulei și constantele numerice 1 și intrarea rezultatului în aceeași celulă, de asemenea. Al doilea caz este echivalent cu o identitate falsă 0 = 1.

Lasam algoritmul de rezolvare următoarea problemă. Să două valori ale lui x și y. Este necesar să se compare aceste valori și tastați numele mai variabilă. Pentru această problemă, este suficient să se compare două valori și, în funcție de rezultatul comparației imprima simbolul „x“ și simbolul „y“:

1. Introduceți o valoare de x.

2. Introduceți valoarea lui y.

3. Dacă x

Acest algoritm utilizează structura algoritmică - secvență liniară și operații de ramificare (etapa 3, declarația condiționată). Această din urmă structura este așa-numita, deoarece după transferul să-l control algoritm poate lua una din cele două ramuri posibile. Ceea ce va fi ales ramura depinde de starea. Secvența lineară în acest exemplu constă dintr-un unități de intrare de date / ieșire.

Pentru înregistrarea algoritm de a utiliza limbaj natural. Uneori, folosit un limbaj semi-formale, cu un vocabular limitat (de multe ori pe baza limbii engleze), intermediar între limbaj natural și limbaj de programare. Un astfel de limbaj se numește pseudo-cod. Scrierea unui algoritm în pseudocod numit plan structural. Pseudo-cod este convenabil, deoarece permite programatorului să se concentreze pe formularea algoritmului, fără a ține cont de particularitățile sintactice ale unui anumit limbaj de programare.

Descriere algoritmi folosind diagrame bloc.

Pentru a dezvolta structura programului este mai convenabil de a utiliza un algoritm de înregistrare unei organigrame (termenul organigrame este folosit în literatura de limba engleză). Pentru a afișa principalele structuri algoritmice și blocuri în organigramele folosind simboluri grafice speciale. Acestea sunt prezentate în Figura

, reale rădăcini acolo.

Diagrama bloc este prezentată mai jos:

Trebuie remarcat faptul că algoritmul dat este proiectat pentru a rezolva o categorie restrânsă de probleme - ecuațiilor de gradul doi cu factori de „bune“. Presupunând că coeficienții își poate asuma valori reale arbitrare, există riscul ca, în anumite valori ale coeficientului (de exemplu,

) O situație de urgență are loc (diviziune cu zero). Algoritmul de calitate și programul de calitate trebuie să fie durabil, adică, atunci când parametrii orice intrare finalizarea programului de lucru ar trebui să fie normal, cu toate că, probabil, însoțită de un mesaj de avertizare cu privire la intrare incorectă. Stabilitate proprietate are un algoritm pentru rezolvarea unei ecuații pătratice, se arată în figură:

Proiectat programator algoritm trebuie să dea răspunsul corect. Verificarea algoritm poate fi dificil. În cazurile simple, această verificare poate fi realizată prin completarea tabelului de urmărire. Fiecare coloană a acestui tabel corespunde unei anumite variabile, iar fiecare linie - un pas al algoritmului. Pentru a umple masa pas cu pas pentru a urmări executarea algoritmului, scriind în tabel valorile reale selectate pentru variabilele urme. Această metodă permite identificarea erorilor logice în desen sau scris algoritm și de a determina dacă răspunsul final este corect. Compune un algoritm exemplar pentru urmărire tabel Heron calcul rădăcina pătrată a 2.

După cum se vede din tabel, după a treia repetare a valorii aproximativă a rădăcinii pătrate diferă de exact 1.414213 numai în a șasea zecimală.

Crearea unui algoritm pentru a rezolva problemele de orice tip, interpret său de performanță într-o formă convenabilă - este un act de creație. Algoritmul poate fi reprezentat în diferite moduri: în limbaj natural vorbit; în organigrame de limbă; un limbaj de programare. Selectarea și dezvoltarea de algoritmi și metode numerice de rezolvare a problemei sunt cruciale pentru succesul programului. artizanale cu atenție algoritm pentru rezolvarea problemei - o condiție necesară pentru munca efectivă la elaborarea algoritmului.

articole anterioare

articolul următor

Toate materialele din „Informatica si programarea“

Conceptul algoritmului și proprietățile sale

Conceptul algoritmului și proprietățile sale

articole similare