/ / Programare. Construcții algoritmice de bază

Programare. Construcții algoritmice de bază

Pentru a crea orice programe, aveți nevoie de bazăconstrucții algoritmice. Următorul este cel mai simplu mod de a rezolva problemele. Poate fi folosit, de exemplu, pentru a lucra cu exemple de același tip. Există și alte tipuri: ramificare și buclare. Acestea vor fi discutate în acest articol. Dar mai întâi trebuie să înțelegeți ce este algoritmul în ansamblu.

algoritmul

Cuvântul „algoritm” provine din algoritmi latini.Ce înseamnă? Cuvântul autentic vine de la numele unui matematician, a cărui activitate a căzut în secolul al IX-lea. Datorită tratatului lui al-Khwarizmi, omenirea a reușit să se familiarizeze cu tipul de bază al construcției algoritmice și, în general, cu un concept general.

Anterior, a fost adoptată forma de scriere a cuvântului - „algoritm”. Acum este folosit doar în câteva cazuri.

Algoritmul este un proces care înseamnă schimbaredate inițiale, care apar sub formă de pași discreți. Fiecare persoană întâlnește acest concept în viață, oricine ar fi el. Algoritmii pot fi numiți prepararea ceaiului sau alimentelor, multiplicarea sau adăugarea, rezolvarea ecuațiilor etc. Toate aparatele de uz casnic, al căror proces de lucru este automatizat, funcționează datorită pașilor clari scrise în memoria procesorului. Astfel de algoritmi se numesc algoritmi de uz casnic. Există și alte tipuri. Să le luăm în considerare.

Tipuri de algoritmi

Principalele construcții algoritmice sunt împărțite în mai multe tipuri, care vor fi discutate în această subclauză. Ce sunt ei?

  1. Informațional. Astfel de algoritmi funcționează cu o cantitate mare de date, dar volumul prelucrării lor este mic ca lungime și necomplicat.
  2. Managerii. Lucrarea unor astfel de algoritmi este asociată cu informații furnizate dintr-o anumită sursă. După primire, sunt trimise semnale speciale pentru a asigura funcționarea dispozitivelor.
  3. Tehnica de calcul. Spre deosebire de algoritmii informaționali, cei descriși funcționează cu cantități mici de date, dar produc un proces mare de lucru.

În esență, algoritmul este precis până la cel mai micinstrucțiuni detaliate. Cu toate acestea, nu toate aceste date pot fi numite conceptul descris. Pentru a înțelege dacă un algoritm este sau nu o instrucțiune, ar trebui să îl verificați pentru anumite proprietăți.

Proprietățile algoritmului

Toate construcțiile algoritmice de bază trebuie să aibă acțiuni care le „ascultă”. Să analizăm această problemă mai detaliat.

Dacă urmăriți pe deplin activitatea algoritmilor și a acestoraproprietăți, puteți vedea că nu este necesar să înțelegeți componentele lor, corespund destul de clar planului. Rezultatul corect va fi obținut, chiar dacă doar aderați mecanic la acțiunile necesare. Din aceasta putem concluziona că, din cauza lipsei de sens în conștientizarea acțiunilor, este foarte posibil să se dea algoritmul implementării unui computer. Cu alte cuvinte, dispozitivele automate necesită acest proces.

Ce proprietăți ar trebui să aibă construcțiile algoritmice de bază pentru cea mai precisă lucrare?

  1. Înțelegere.Fiecare comandă trebuie să fie cât mai clară posibil obiectului executabil. Se pare că nimic nu este mai ușor decât, de exemplu, desenarea unui punct în centru, nu, dar până nu se scrie o comandă care vă va permite să efectuați o acțiune, nu va fi posibil să faceți acest lucru.
  2. Eficacitate.Ce implică această proprietate? Primirea obligatorie a rezultatului. Algoritmul nu poate decât să conducă la un fel de răspuns. Din cauza unei erori, este posibil să nu obțineți rezultatul dorit, dar va fi în continuare. Mai mult, răspunsul trebuie primit după un anumit număr de pași.
  3. Caracter de masă. Orice algoritm trebuie să fie aplicabil unor clase de probleme. Ele pot diferi între ele în datele inițiale.
  4. Certitudine.Fiecare acțiune ar trebui să aibă un singur sens și să nu permită decriptarea derivatului. În mod ideal, indiferent de cât timp este rulat programul, rezultatul ar trebui să fie întotdeauna același.
  5. Discreție. Algoritm - executarea secvențială a pașilor. Fiecare pas este o comandă, nu puteți sări sau adăuga altele noi.
  6. Corectitudine.Orice algoritm aplicabil oricărui tip de problemă trebuie să fie corect pentru toată lumea. În programare, problemele apar adesea nu în scrierea pașilor, care deseori nu necesită mult timp, ci în efectuarea lor pentru diferite tipuri de întrebări. Prin urmare, un pas important va fi depanarea algoritmului. Construcțiile algoritmice de bază pot ajuta, de asemenea, în acest sens, repetarea cărora vă va permite să obțineți rezultate mai bune.

Descrierea algoritmilor

Dacă vorbim despre metodele de scriere a algoritmilor, atunci trebuie evidențiate următoarele:

  • Verbal. Cu alte cuvinte, într-un limbaj convenabil pentru componentă să se exprime.
  • Tabular. În mod logic, algoritmul este scris în tabele și, de regulă, este utilizat ca element auxiliar.
  • Formula-verbală. Se bazează pe un mod verbal de explicație, dar astfel de acțiuni sunt scrise și în formule sau simboluri matematice.
  • Grafic. Un astfel de algoritm este scris într-un limbaj special al diagramelor bloc.

Ultimul punct ar trebui clarificat.Ce este o diagramă bloc? Este un algoritm liniar sau neliniar, ale cărui etape sunt scrise folosind blocuri speciale. Au propria lor configurație, scop și funcție. În cazul unei astfel de descrieri, algoritmul este scris în diagrame bloc, care sunt interconectate prin linii. În plus, trebuie să înregistreze una sau altă acțiune (pas).

construcții algoritmice de bază

Construcții algoritmice

Unii susțin că algoritmii nu au 3tip și 4. Construcții algoritmice de bază: liniare, ramificate, ciclice. Care este motivul acestei iluzii nu este clar. Cu toate acestea, pentru o soluție simplă a problemelor complexe, computerul folosește algoritmii acestor trei grupuri destul de mari. Să le luăm în considerare.

  1. Liniar.Un astfel de proces de calcul a primit acest nume datorită faptului că toate acțiunile sunt efectuate într-o succesiune liniară, fiecare pas fiind efectuat nu mai mult de o dată. Dacă luăm în considerare schema sarcinii, atunci blocurile din ea sunt plasate unul sub celălalt, în funcție de numărul de serie al execuției. Algoritmii liniari funcționează în așa fel încât direcția și semnificația acțiunilor să nu se schimbe față de datele inițiale. Această metodă de soluție este potrivită pentru calcularea sumei sau a diferenței, a ariei unei figuri sau a perimetrului acesteia, etc. Principalul tip de construcție algoritmică este aceasta.
    algoritm construcții algoritmice de bază
  2. Ramificare.Acest proces de calcul implică prezența unei expresii logice (în continuare LP) și alegerea unei condiții (ramuri „false” și „adevărate”). În fiecare caz, este implementată doar una din două sau mai multe comenzi. Nu există sarcini și nu pot fi în care să fie efectuate și alte opțiuni. Dacă algoritmul are două ramuri, este simplu; dacă există mai mult de două, este complex. Mai mult, ultimul proces este ușor reprezentat de primul. Principalul tip de construcție algoritmică este atât primul articol, cât și al doilea. Următoarea specie este, de asemenea, inclusă în această listă.
  3. Ciclic. Într-un astfel de algoritm, va exista neapărat un element care se repetă de multe ori, în timp ce se utilizează date inițiale diferite. Cu alte cuvinte, acest proces se numește ciclu.

Trebuie remarcat faptul că toate principalele construcții algoritmice (următoare, ramificare, buclă) sunt interconectate între ele, deși pot fi utilizate separat.

Crearea ciclurilor și a tipurilor acestora

De ce este nevoie pentru a crea un ciclu?

  • Contor cicluri.Aceasta este o variabilă care stabilește valoarea inițială, iar când repetați acțiunea, aceasta se va schimba. Trebuie inclus în algoritm. Construcțiile de bază algoritmice de tip buclă nu vor funcționa fără ea.
  • Schimbarea indicatorului datelor de mai sus înainte de a repeta ciclul în sine.
  • Verificarea condiției pentru ca computerul să decidă dacă ar trebui să „bucle” din nou ciclul sau dacă nu mai este nevoie de el.

Buclele pot fi deterministe șiiterativ. Prima este o repetare a acțiunilor cu un număr cunoscut de repetări. O buclă iterativă este una care repetă un număr nedefinit de ori până când o condiție devine adevărată sau falsă.

principalul tip de construcție algoritmică este

Algoritm de bază

Merită să ne amintim că principalulalgoritmul de bază nu se aplică constructelor algoritmice. Cum este el? Acest concept nu a mai fost găsit în literatura modernă de mult timp, dar asta nu înseamnă că nu mai există deloc. Având în vedere că în rezolvarea problemelor pot apărea mai multe ramuri sau repetări, se poate evidenția următoarea concluzie. Construcțiile algoritmice de bază (liniare, ramificate, ciclice) sunt de bază. De fapt, ele reprezintă „unitatea structurală” a fiecărei așa-numite instrucțiuni.

Algoritmi liniari

După cum este clar din cele de mai sus, algoritmiiexistă liniare și neliniare. Să luăm în considerare prima opțiune. De ce se numește așa? Totul este extrem de simplu. Faptul este că toate acțiunile care sunt reproduse în algoritm au o execuție clar secvențială, toate etapele sunt efectuate strict unul după altul. De regulă, astfel de sarcini sunt mici și au un nivel scăzut de complexitate.

Un exemplu de algoritm liniar ar fi procesul de preparare a ceaiului:

  1. Se toarnă apă în ceainic.
  2. Pune fierbătorul pe aragaz la fiert.
  3. Ia o ceașcă.
  4. Se toarnă ceaiul într-o ceașcă.
  5. Se adaugă zahăr.
  6. După fierbere, se toarnă apă clocotită într-o cană.
  7. Ia o lingură.
  8. Se amestecă zahărul.

Programarea construcțiilor algoritmice de bază este suficient de dificilă, dar când vine vorba de algoritmi liniari, este adesea foarte ușor să le implementați.

nu se aplică construcțiilor algoritmice de bază

Algoritmi de furcare

De unde știi dacă un algoritm se ramifică?Este suficient să vă asigurați că există o alegere între două sau mai multe opțiuni de acțiune, în funcție de condiția respectată sau nu. Fiecare cale se numește ramură.

Principala caracteristică a unui algoritm de ramificare este existența unei ramuri condiționate. Apare atunci când o expresie este testată pentru adevărat sau fals.

De obicei, expresiile logice sunt reprezentate desemnează „mai puțin decât”, „mai mare decât”, „mai puțin sau egal”, „mai mare decât sau egal cu”, „egal”, „nu egal”. Uneori există variante în care condiția este legată între ele folosind comenzile și (și) și sau (sau).

Un exemplu de astfel de algoritm poate fi soluțiaurmătoarea sarcină: dacă expresia ((x + 3) / 1) este egală cu un număr pozitiv, atunci afișați rezultatul pe ecran, dacă este negativ, informați utilizatorul despre eroare.

Este destul de simplu să utilizați în practică construcțiile algoritmice de bază. Ramificarea este una dintre cele mai comune metode de soluție.

Buclă deterministă sau contra

Contor ciclu - un ciclu care includeo variabilă care modifică valoarea în trepte. Pasul este setat de utilizator sau scris de programator la scrierea software-ului. Majoritatea limbilor folosesc declarația for pentru o astfel de buclă.

Pentru ca programul să fie afișat de două ori de 4 ori:

  1. "Ce mai faci?"
  2. "Ei bine, multumesc!"
  3. "Ce mai faci?"
  4. "Ei bine, multumesc!"

Trebuie să creați o buclă deterministă. Cu ce ​​seamănă? Să folosim limbajul Pascal pentru o mai bună percepție a structurii.

1. Pentru i: = 1 până la 2 faceți:

- i este contorul de buclă, el este cel care determină numărul de repetări din buclă.

2. Începeți (parantezele operatorului sunt deschise astfel încât ambele fraze să fie corpul buclei și să fie repetate împreună.)

3. Writeln („Ce mai faci?”):

- cuvântul writeln înseamnă ieșirea unei fraze între ghilimele unice.

4. Writeln („Bine, mulțumesc”).

5. Sfârșit.

6.i: = i + 1.

După cum puteți vedea, este destul de ușor și chiar interesant să utilizați construcțiile algoritmice de bază. Algoritmii de bază sunt foarte cunoscuți pe scară largă, fără ei este imposibil să scrieți programe.

construcții algoritmice de bază ramificare liniară ciclică

Buclă cu postcondiție

O buclă cu o postcondiție se poate repetaun număr nedefinit de acțiuni fără a insera paranteze operator sau cuvinte compuse în ele. Cu siguranță va fi executat cel puțin o dată. Bucla rulează în timp ce condiția este falsă. Se oprește când indicatorii devin corecți. Algoritmul este construit pe aceasta. Construcțiile algoritmice de bază de acest tip funcționează în acest ritm.

Pentru a implementa acest ciclu, este necesară construcțiaRepetați A până la B. Literal, se traduce ca „acțiuni repetate în timp ce condiția este falsă”. În consecință, prin A, procesul de repetare în sine este exprimat, prin B - date, care, ca rezultat, ar trebui să ia valoarea corectă.

construcții algoritmice de bază algoritmi de bază

Buclă cu condiție prealabilă

O buclă cu o postcondiție este construită în așa fel încâtse execută cel puțin o dată în orice caz. Cu toate acestea, există cazuri în care un ciclu este necesar în cazul unei anumite afecțiuni și, în absența acestuia, repetarea nu ar trebui efectuată. În caz contrar, rezultatul va fi incorect. Aici se folosește o buclă de precondiție. Pentru a-l crea, aveți nevoie de construcția „while A do B”. Prima comandă se traduce literalmente prin „pa”. A - condiție și B - acțiuni care vor fi repetate. Întreaga construcție înseamnă: „atâta timp cât condiția este adevărată, efectuați acțiuni”.

Toate construcțiile algoritmice de bază funcționeazănumai în anumite cazuri. Cum sunt ele într-o buclă cu o condiție prealabilă? Dacă trebuie să repetați mai multe acțiuni, dar mai multe simultan, atunci ar trebui să utilizați fie operatori compuși, fie paranteze speciale. Bucla poate eșua dacă, atunci când o introduceți, condiția nu este adevărată. În consecință, acțiunile vor fi repetate dacă sunt corecte.

repetarea construcțiilor algoritmice de bază

Algoritmul de ajutor

Algoritmul de ajutor este utilizat în alteleprocesează specificându-i doar numele. Nu aparține principalelor construcții algoritmice. În limbajele de programare, un astfel de proces de acțiuni se numește subrutină. Pentru a face mai ușor să lucrați cu codul și ulterior să rezolvați mai ușor problemele, fiecare acțiune este combinată într-un bloc, care este un algoritm auxiliar. Fiecăruia dintre ei i se poate da un nume, care vă permite să vă referiți ulterior la acesta în mod repetat.

a placut:
0
Postări populare
Dezvoltarea spirituală
alimente
y