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.
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.
Principalele construcții algoritmice sunt împărțite în mai multe tipuri, care vor fi discutate în această subclauză. Ce sunt ei?
Î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.
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?
Dacă vorbim despre metodele de scriere a algoritmilor, atunci trebuie evidențiate următoarele:
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).
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.
Trebuie remarcat faptul că toate principalele construcții algoritmice (următoare, ramificare, buclă) sunt interconectate între ele, deși pot fi utilizate separat.
De ce este nevoie pentru a crea un ciclu?
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ă.
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.
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:
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.
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.
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:
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.
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ă.
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.
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.