Programare. Construcții algoritmice de bază

Pentru a crea orice programe, sunt necesare construcții algoritmice de bază. Urmează cel mai simplu mod de a rezolva problemele. Acesta poate fi folosit, de exemplu, pentru a lucra cu exemple similare. Există și alte tipuri: ramificare și looping. Despre ei va fi spus în acest articol. Dar mai întâi trebuie să înțelegeți ce este vorba despre algoritm.

algoritmul

Cuvântul "algoritm" a venit din algoritmi latini. Ce înseamnă asta? Cuvântul autentic a venit din numele unui matematician, a cărui lucrare a căzut în secolul al IX-lea. Datorită tratatului al-Khwarizmi, omenirea a reușit să se familiarizeze cu tipul principal de construcție algoritmică și, în general, cu un concept general.

Anterior, forma de scriere a cuvântului "algoritm" a fost adoptată. Acum este folosit doar în unele cazuri.

Algoritmul este un proces care înseamnă schimbarea datelor sursă, care apar sub formă de pași discrete. Cu acest concept fiecare persoană se întâlnește în viață, oricine este. Algoritmi poate fi descris ca ceai și alimente, multiplicarea sau adăugarea, soluții de ecuații, și așa mai departe. D. Toate aparatele al căror proces de lucru este automatizat, operează prin etape clare prescrise în memoria procesorului. Astfel de algoritmi se numesc algoritmi de uz casnic. Există și alte tipuri. Luați în considerare.

Tipuri de algoritmi

Construcțiile algoritmice de bază sunt împărțite în mai multe tipuri, care vor fi discutate în acest paragraf. Ce le place?

  1. Informații. Astfel de algoritmi funcționează cu o mulțime de date, dar procesul de prelucrare a acestora este mic în lungime și necomplicat.
  2. Controlul. Lucrarea unor astfel de algoritmi este legată de informațiile furnizate de una sau altă sursă. După primirea acestuia, sunt trimise semnale speciale pentru a asigura funcționarea dispozitivelor.
  3. Computing. Spre deosebire de algoritmii de informare, lucrarea descrisă cu cantități mici de date, dar produce un proces mare de lucru.

De fapt, algoritmul este exact cu cele mai mici instrucțiuni detaliate. Cu toate acestea, nu toate aceste date pot fi numite un concept descris. Pentru a înțelege algoritmul unei instrucțiuni sau nu, ar trebui verificat pentru anumite proprietăți.

Proprietățile algoritmilor

Toate construcțiile algoritmice de bază trebuie să aibă acțiuni care să le respecte. Să luăm în considerare această problemă mai detaliat.

Dacă urmăriți complet lucrarea algoritmilor și proprietățile acestora, puteți vedea că nu este necesar să înțelegeți componentele acestora, este destul de clar că acestea corespund planului. Rezultatul corect va fi obținut, chiar dacă tocmai vă lipiți mecanic de acțiunile necesare. Din aceasta putem concluziona că, din cauza lipsei de sens în conștientizarea acțiunilor, algoritmul poate fi cu adevărat alocat implementării unui calculator. Cu alte cuvinte, pentru dispozitivele automate, acest proces este necesar.

Ce proprietati ar trebui sa aiba constructiile algoritmice de baza pentru lucrul cel mai corect?

  1. Inteligibilității. Fiecare comandă trebuie să fie cât mai clară posibil cu obiectul care este executat. Se pare că nimic nu este mai ușor decât, de exemplu, trage un punct în centru, există, dar nu este precizat echipa, care va efectua o acțiune, nu se poate face.
  2. Eficacitate. Ce înseamnă această proprietate? Obținerea obligatorie a rezultatului. Algoritmul nu poate decât să ducă la un răspuns. Din cauza erorii, puteți obține un rezultat greșit, care a fost dorit, dar totuși va fi. În plus, răspunsul trebuie obținut după un anumit număr de pași.
  3. Masa. Orice algoritm ar trebui să fie aplicabil unei anumite clase de sarcini. Între ele, ele pot diferi în datele originale.
  4. Certitudine. Fiecare acțiune trebuie să aibă o singură valoare și să nu permită o decriptare derivată. În mod ideal, indiferent cât de mult este rulat programul, rezultatul ar trebui să fie întotdeauna același.
  5. Discret. Algoritmul - pași secvențiali. Fiecare pas este o comandă, nu puteți săriți sau adăugați altele noi.
  6. Corectitudinea. Orice algoritm care se aplică oricărui tip de sarcină trebuie să fie corect pentru toată lumea. În programare, problemele apar adesea nu în etapele de scriere, care adesea nu durează prea mult, ci în a le face pentru diferite tipuri de întrebări. Prin urmare, un pas important va fi depanarea algoritmului. Pot ajuta în acest proiect și algoritmul de bază, a cărui repetare va avea rezultate mai bune.

Descrierea algoritmilor

Dacă vorbim metodele de înregistrare a algoritmilor, trebuie notate următoarele:

  • Verbală. Cu alte cuvinte, într-o limbă convenabilă pentru exprimarea unui constituent.
  • Tabel. Logic, algoritmul este scris în tabele și, de regulă, este folosit ca element auxiliar.
  • Formal verbal. Baza este un mod verbal de explicare, dar asemenea acțiuni scriu și formule sau simboluri matematice.
  • Grafic. Un astfel de algoritm este scris într-o limbă specială a diagramelor bloc.

Ultimul punct trebuie clarificat. Ce este o diagramă bloc? Acesta este un algoritm liniar sau neliniar, pașii cărora sunt înregistrați folosind blocuri speciale. Ei au configurația, scopul și funcția proprii. În cazul unei astfel de descrieri, algoritmul este scris în diagrame bloc care sunt legate între ele de linii. În ele, trebuie să înregistrați suplimentar o acțiune (pas).construcții algoritmice de bază

Construcții algoritmice

Unii susțin că algoritmii nu au 3 tipuri, ci 4. Principalele construcții algoritmice: liniar, ramificat, ciclic. Care este motivul pentru această concepție greșită este neclar. Cu toate acestea, pentru rezolvarea simplă a problemelor complexe, calculatorul folosește algoritmii acestor trei grupuri destul de mari. Luați în considerare.

  1. Liniar. Un astfel de proces de calcul a primit acest nume datorită faptului că toate acțiunile sunt efectuate într-o secvență liniară, fiecare etapă fiind efectuată nu mai mult de o dată. Dacă luăm în considerare schema problemei, atunci blocurile din aceasta sunt plasate una sub cealaltă, în funcție de numărul de ordine al sarcinii. Algoritmii liniare funcționează astfel încât direcția și semnificația acțiunilor să nu se schimbe față de datele inițiale. Această metodă de soluționare este potrivită pentru calcularea sumei sau diferenței, a zonei unei figuri sau a perimetrului acesteia etc. Principalul tip de construcție algoritmică este acesta.algoritmul de construcție algoritmică de bază
  2. Ramificare. Acest proces computațional implică prezența unei expresii logice (în continuare LV) și alegerea condiției (ramura "minciună" și "adevăr"). În fiecare caz, este implementată doar una din două sau mai multe echipe. Nu există sarcini și nu pot fi, în care alte opțiuni vor fi îndeplinite. Dacă există două ramuri în algoritm, este simplu, dacă mai mult de două, este complexă. Și ultimul proces este ușor de reprezentat în detrimentul celor dintâi. Principalul tip de construcție algoritmică este atât primul punct cât și cel de-al doilea. Următoarele specii sunt, de asemenea, incluse în această listă.
  3. Ciclica. Într-un astfel de algoritm, va exista neapărat un element care se repetă de mai multe ori și se folosesc date inițiale diferite. Cu alte cuvinte, un astfel de proces este numit un ciclu.

Trebuie notat faptul că toate construcțiile algoritmice de bază (urmărire, ramificare, ciclu) sunt interconectate între ele, deși pot fi utilizate separat.

Crearea ciclurilor și a tipurilor acestora

Ce este necesar pentru a crea o buclă?

  • Contor de cicluri. Aceasta este o variabilă care stabilește valoarea inițială, iar când acțiunea este repetată, se va schimba. Trebuie să facă parte în mod necesar din algoritm. Construcțiile algoritmice de bază ale tipului ciclic nu vor funcționa fără ea.
  • Modificați indicatorul datelor de mai sus înainte de a repeta un nou ciclu.
  • Verificarea condiției ca computerul să decidă dacă va "defila" ciclul din nou sau mai mult nu este necesară.

Ciclurile pot fi deterministe și iterative. Prima reprezintă o repetare a acțiunilor cu numărul deja cunoscut de repetări. Un ciclu de iterație este unul care se repetă pe termen nelimitat, până când condiția devine adevărată sau falsă.Principalul tip de construcție algoritmică este

Algoritmul de bază

Merită să ne amintim că algoritmul de bază nu se aplică construcțiilor algoritmice de bază. Ce este? Acest concept nu a fost găsit de mult în literatura modernă, dar aceasta nu înseamnă că nu mai există. Având în vedere că mai multe ramuri sau repetiții pot apărea în rezolvarea problemelor, se poate deduce următoarea concluzie. Construcțiile algoritmice de bază (liniare, ramificate, ciclice) sunt de bază. De fapt, ele reprezintă "unitatea structurală" a fiecărei instrucțiuni așa-numite.

Algoritmi liniare

După cum este deja clar din cele de mai sus, algoritmii sunt liniari și neliniari. Luați în considerare prima opțiune. De ce se cheamă asta? Totul este extrem de simplu. Ideea este că toate acțiunile care sunt reproduse în algoritm au o execuție clară secvențială, toți pașii fiind executați strict unul după altul. De obicei, astfel de sarcini sunt mici și au un nivel scăzut de complexitate.

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

  1. Se toarnă apă în fierbător.
  2. Puneți fierbătorul pe sobă să fiarbă.
  3. Ia ceașca.
  4. Turnați ceaiul în ceașcă.
  5. Adăugați zahăr.
  6. După fierbere, se toarnă apă fiartă în ceașcă.
  7. Luați o lingură.
  8. Se amestecă zahărul.

Programarea construcțiilor algoritmice de bază este o chestiune destul de dificilă, dar dacă este o chestiune de algoritmi liniari, apoi deseori le realizăm foarte ușor.la construcțiile algoritmice de bază nu se aplică

Branching Algorithms

Cum să înțelegem că algoritmul este ramificat? Este suficient să vă asigurați că există o opțiune de două sau mai multe opțiuni, în funcție de faptul dacă condiția este îndeplinită sau nu. Fiecare cale este numită ramură.

Principala caracteristică a algoritmului de ramificare este existența unei ramuri condiționate. Se întâmplă în timpul verificării expresiei la adevărat sau la fals.



semne De obicei, expresiile logice sunt reprezentate „mai puțin“, „mai mult“, „mai mic sau egal“, „mai mare sau egal cu“, „egal“, „nu este egal“. Uneori există exemple de realizare în care condiția asociate reciproc de comandă și (u) sau (sau).

Un exemplu al unui astfel de algoritm poate fi soluția pentru următoarea problemă: dacă expresia ((x + 3) / 1) este egală cu un număr pozitiv, atunci rezultatul este afișat pe ecran, dacă este negativ, spuneți utilizatorului despre eroare.

Este destul de simplu să se folosească în practică construcțiile algoritmice de bază. Brancharea este una dintre cele mai comune metode de soluționare.

Ciclul sau ciclul determinist cu un contor

O buclă cu un contor este o buclă care include o variabilă care modifică valoarea cu un anumit pas. Pasul este stabilit de utilizator sau prescris de programator în timp ce se scrie garanția. Cele mai multe limbi pentru această buclă utilizează instrucțiunea pentru.

Pentru ca programul să afișeze două rânduri de 4 ori:

  1. - Ce mai faci?
  2. "Mulțumesc!"
  3. - Ce mai faci?
  4. "Mulțumesc!"

Este necesar să se creeze un ciclu determinist. Cum arata? Folosim limba "Pascal" pentru o percepție mai bună a designului.

1. Pentru i: = 1 la 2:

- i este contorul de buclă, determină numărul de repetări în buclă.

2. Începeți (brațele de operare sunt deschise pentru ca ambele fraze să fie corpul bucla și să fie repetate împreună.)

3. Writeln (lsquo-Cum ești?):

- cuvântul writeln înseamnă ieșirea unei expresii care este în citate unică.

4. Writeln (lsquo-ok, mulțumesc).

5. Sfârșitul.

6. i: = i + 1.

După cum puteți vedea, este destul de ușor și chiar interesant să folosiți construcțiile algoritmice de bază. Algoritmii de bază sunt într-adevăr cunoscuți, fără ei este imposibil să scrieți programe.construcție algoritmică de bază, ramificație liniară ciclică

Ciclu cu postcondiție

O buclă cu o condiție ulterioară poate repeta un număr nedefinit de acțiuni fără a introduce în ele capse de operare sau cuvinte compuse. Se va împlini cel puțin o dată. Buclele rulează până când condiția este falsă. Se oprește atunci când indicatorii sunt corecte. Algoritmul este construit pe aceasta. Construcțiile algoritmice de bază de acest tip lucrează în acest ritm.

Pentru realizarea acestui ciclu necesită o proiectare Se repetă până când A B. Literal înseamnă „să repetați pașii până când condiția este falsă.“ În consecință, prin A se exprimă însăși procesul de repetiție, prin B - datele, care ca rezultat trebuie să ia valoarea corectă.algoritmi de bază algoritmi de construcție de bază

Ciclu cu condiție prealabilă

O buclă cu o condiție ulterioară este construită astfel încât să fie executată cel puțin o dată în orice caz. Cu toate acestea, există cazuri în care un ciclu este necesar în cazul unei anumite condiții, iar dacă nu există o repetare, nu ar trebui. În caz contrar, rezultatul va fi incorect. În acest caz, se utilizează o buclă cu o condiție prealabilă. Pentru ao crea, aveți nevoie de o construcție "în timp ce construiți A do B". Prima comandă este literalmente tradusă ca "pa". A este o condiție, iar B este o acțiune care va fi repetată. Întreaga construcție înseamnă: "atâta timp cât starea este corectă, efectuați acțiunile".

Toate construcțiile algoritmice de bază funcționează numai în anumite cazuri. Care sunt ele în ciclul cu o condiție prealabilă? Dacă este necesar ca nici o acțiune să nu fie repetată, ci mai multe, merită folosită fie operatori compuși, fie paranteze speciale. Este posibil ca ciclul să nu fie îndeplinit dacă condiția nu este adevărată la intrarea acestuia. În consecință, acțiunile vor fi repetate dacă este corect.construirea algoritmică de bază repetată

Algoritm auxiliar

Algoritmul auxiliar este utilizat în alte procese prin specificarea doar a numelui acestuia. Nu se aplică construcțiilor algoritmice de bază. În limbile de programare, acest proces de acțiune se numește o subrutină. Pentru a facilita lucrul cu codul și, ulterior, rezolvarea mai ușoară a problemelor, fiecare acțiune este combinată într-un bloc, care este un algoritm auxiliar. Fiecare dintre ele poate primi un nume, care vă permite să vă referiți în mod repetat la acesta.

Distribuiți pe rețelele sociale:

înrudit
Limba algoritmică școlară: scop, reguli, comenzi. Conceptul de limbaj algoritmicLimba algoritmică școlară: scop, reguli, comenzi. Conceptul de limbaj algoritmic
Limbaj de programare JavaLimbaj de programare Java
Ce sunt algoritmii și de ce sunt necesare?Ce sunt algoritmii și de ce sunt necesare?
Algoritmi liniare - schema, structura și computațiaAlgoritmi liniare - schema, structura și computația
Tipuri de bază și exemple de algoritmi cicliciTipuri de bază și exemple de algoritmi ciclici
Diagrama bloc a algoritmului: programe, sarcini, elemente, construcțiiDiagrama bloc a algoritmului: programe, sarcini, elemente, construcții
Conceptul algoritmului și proprietățile algoritmului. Tipuri de algoritmiConceptul algoritmului și proprietățile algoritmului. Tipuri de algoritmi
Algoritm: concept, proprietăți, structură și tipuriAlgoritm: concept, proprietăți, structură și tipuri
Informatica. Bazele de algoritmizare și programareInformatica. Bazele de algoritmizare și programare
Ce este un algoritm cu ramificare? Exemple și definiții ale algoritmilor de ramificareCe este un algoritm cu ramificare? Exemple și definiții ale algoritmilor de ramificare
» » Programare. Construcții algoritmice de bază