Computere și TIC

Introducere în conceptul de algoritm

În societatea de astăzi cuvântul „algoritm“ este atât de răspândită încât cel mai intuitiv. Prin aceasta ne referim la orice secvență de pași pentru a atinge un anumit scop. Cu toate acestea, conceptul de „algoritm“ este destul de complicat pentru știință teoretică.

Se crede că nu există o definiție clară a algoritmului, dar mai ales surse diferite de a da definiții foarte similare.

Deci, următoarele componente pot fi distinse în definiția comună a algoritmului (în curs școlar de informatică):

Algoritmul - o secvență finită de instrucțiuni ...

  • ... într-un limbaj ușor de înțeles Executivului ...
  • ... definirea procesului de rezolvare a problemelor de un anumit tip de ...
  • ... și conduce la rezultatul care identifică în mod unic datele de intrare valide.

Ultimul paragraf al definiției prevede că producția algoritmului depinde de datele de intrare. Ie același algoritm cu diferite date inițiale vor da rezultate diferite. Pe de altă parte, în cazul în care același algoritm pentru a transmite mai multe ori aceleași date, ar trebui să fie aceeași cantitate de timp pentru a da același rezultat.

Cuvântul „algoritm“ este derivat din numele savantului secolului al IX-Muhammad Bin Al-Khwarizmi ( „Al-Khwarizmi“ -> „algoritm“), care a descris regulile de efectuare a operațiunilor aritmetice în sistemul zecimal. Cuvântul „algoritm“, și apoi a început să desemneze regulile de calcul. Cu toate acestea, în timp, conceptul de algoritm este modificat, iar în secolul XX sub el a început să realizeze orice secvență de acțiuni care conduc la rezolvarea problemei.

În primul rând, definiția algoritmului a fost o problemă de matematică, dar în timp a început să se dezvolte teoria algoritmilor datorită influenței descoperiri, nu numai în matematică, dar și în informatică. În prezent, algoritmul este unul dintre conceptele de bază ale informaticii.

  1. Lizibilitate (în acest caz, împărțirea în părți), și prin care se dispune. Algoritmul trebuie să constea în acțiuni individuale, care sunt realizate succesiv.
  2. Determinism (unic). aplicarea repetată a unui algoritm pentru unul și același set de date originale dau întotdeauna același rezultat.
  3. Formalitatea. Algoritmul ar trebui să evite ambiguitățile pentru acțiunile performer.
  4. Eficacitate și membrelor. Algoritmul ar trebui să fie finalizată într-un anumit număr de pași, problema trebuie rezolvată.
  5. Mass. Un algoritm specific ar trebui să fie aplicabil tuturor sarcinilor de același tip.

Artist și dezvoltator al algoritmului

Pentru a se dezvolta, de a inventa algoritmi numai ființe inteligente can (de exemplu, oameni). Dar, în mod formal (fără să se gândească și evaluarea) pentru a efectua, poate oricare dintre aparat (de exemplu, calculatoare, aparate de uz casnic). Care sunt beneficiile unei astfel de diviziune a muncii? Faptul că o persoană este eliberată din activitățile de rutină, care poate dura de multe ori o lungă perioadă de timp, și instruiește mașina ei.

Cu toate acestea, mașinile nu sunt oameni: Dispozitivele înțeleg doar un număr limitat de comenzi și poate procesa datele (obiecte), nu toate tipurile. Rezultă că dezvoltatorul a algoritmului trebuie să descrie în cele din urmă algoritmul în cadrul unui anumit artist comenzi admise (a mașinii, care va fi încărcat algoritmul). Un set de comenzi pe care artistul interpret sau executant poate efectua, se numește un sistem de echipe artist. Obiecte (date) peste care artistul interpret sau executant poate realiza acțiuni forma interpret mediu.

limbaj de programare - un mijloc de algoritmi de calculator de înregistrare

Destul de interpret versatil este computerul. Cu acesta, puteți efectua o varietate de tipuri de algoritmi :. Pentru a face calcule matematice, să se ocupe de date text, modifica programul etc. Într-un sens, computerul poate face o mulțime ca o persoană, iar unele lucruri mult mai repede. Cu toate acestea, o persoană și un computer „vorbesc“ la un complet diferite limbi - una într-un mod natural iar celălalt (rusă, engleză și altele.) - formal (mașină) limba.

Algoritmul dezvoltat, trebuie într-un fel „explica“ calculatorul lui. Pentru a servi acestui scop limbaje de programare, ca urmare a algoritmului de înregistrare este programul.

În prezent, limbajul de programare - este mai degrabă un mediator între om și un computer. Un program scris într-un limbaj de programare, mai târziu tradus în limbaj mașină traducător.

organigrame Limba

Algoritmul poate fi descris în mai multe moduri: cuvintele, limbajul de programare, precum și cu ajutorul diagramelor bloc.

În limbajul organigrame fiecare pas al algoritmului descris de cifra corespunzătoare, iar succesiunea etapelor definite prin legături de linii. diagrame bloc sunt citite de sus în jos și de la stânga la dreapta.

Flowcharts sunt utile, deoarece acestea oferă ușor „lizibilitate“ algoritm. Cu toate acestea, acest lucru nu este întotdeauna cazul: este necesar să se încerce să atragă o diagramă de flux pentru un algoritm de mai mult sau mai puțin complexe, pe măsură ce crește la proporții epice și pierde tot avantajul lor vizual. Prin urmare, diagramele bloc sunt bune în programarea structurată pentru a descrie algoritmi scurt.

simplu flowcharting Limba (deși există opțiuni avansate):

  • Dreptunghi - efectua o acțiune (de exemplu, c = a + b)
  • Romburi - condiții de control (de exemplu, a> b). În cazul în care condiția este îndeplinită, atunci algoritmul merge pe linia „da“, dacă nu sunt satisfăcute - „Nu există“ ceva de-a lungul liniilor
  • Dreptunghi rotunjit - începutul și sfârșitul algoritmului
  • Teșit dreptunghi - intrare-ieșire (de exemplu, obținerea unei valori variabile, rezultatul de ieșire de pe ecran).
    Aceasta nu este o descriere completă a limbii organigrame.

Structura algoritmică (tipuri de algoritmi)

Ca parte a problemei structurale a programării, având o soluție algoritmică, poate fi descrisă cu ajutorul următoarelor structuri algoritmice:

  • În urma. Este nevoie de executarea constantă a comenzilor din partea de sus în jos. Dacă algoritmul constă numai din următoarele structuri, este liniară.
  • Ramificare. Executarea programului este una dintre cele două sau mai multe sau o multitudine de ramuri. Alegerea sucursale depinde de condițiile de la datele de intrare și de ramură primite aici.
  • Ciclul. Aceasta sugerează posibilitatea de repetare multiplă a anumitor acțiuni. Numărul de repetiții depinde de condițiile ciclului.
  • Funcția (subrutină). Comenzile sunt separate de programul principal, sunt efectuate numai în cazul unui apel de la un program principal (indiferent de locația acestuia). Aceeași funcție poate fi apelată din programul principal orice număr de ori.