1.1 Definiții de bază: algoritm, intrare, rezultat; conceptul unui algoritm corect și incorect; pseudo
Un algoritm este o procedură computațională descrisă formal care primește date de intrare (intrare) și returnează un rezultat (ieșire). Algoritmii sunt construiți pentru a rezolva anumite probleme de calcul și trebuie să satisfacă următoarele cerințe conflictuale:
1) Fi ușor de înțeles, traduce în cod și depanare;
2) Utilizați eficient resursele de calcul.
Algoritmul este considerat corect dacă la orice intrare validă finalizează lucrarea și produce un rezultat care satisface cerințele sarcinii. În acest caz, se spune că algoritmul rezolvă această problemă de calcul. Un algoritm incorect pentru unele intrări nu se poate opri deloc sau poate da rezultate greșite. Algoritmul poate fi descris în mai multe moduri, inclusiv folosind un pseudocod care aparține unui nivel superior de abstractizare, comparativ cu limbile de programare de nivel înalt (C #, Pascal, Basic, etc.). În pachetul matematic MathCAD, atunci când se scrie codul funcțiilor definite de utilizator, se utilizează o notație care amintește de pseudocodul descris mai jos.
Tabelul 1.1 - Convențiile care stau la baza pseudocodului
Linia de pe marginea din stânga indică nivelul de cuibărit (acest lucru vă permite să renunțați la utilizarea începutului și sfârșitului)
Construcțiile în timp, pentru, repet și condițional au același înțeles ca Pascal.
Simbolul "¬" are semnificația unui operator de atribuire.
O variabilă care denotă o matrice sau un obiect este considerată un indicator al datelor sale.
Toate variabilele (în mod implicit) sunt variabile locale.
Operatorul de acces la elementul matricei este scris în paranteze pătrate [].
Accesul la câmpul obiectului: câmp [obiect].
Parametrii sunt trecuți la valoarea subrutină, dar când obiectul este trecut, proprietățile sale sunt copiate sub formă de indicii. Ie dacă obiectul este trecut ca parametru x. atunci alocarea x ¬ y în afara nu poate fi observată și f [x] ¬ 5 este posibilă.
De exemplu, permițând estimarea diferențelor dintre un pseudocod și un limbaj algoritmic, luați în considerare sortarea prin inserții.
Listing 1.1 - Pseudo-codul algoritmului de introducere
procedura InsertSort (n: integer;
var A: matrice [1..n] de număr întreg);
i, j, Tmp: întreg;
pentru i: = 2 până la n începe