Algoritmul este caracterizat prin:
1) dezmembrarea procesului decizional determinat de algoritmul pentru acte elementare individuale, posibilitatea de a le îndeplini nu este îndoielnică;
2) unicitatea rezultatului procesului cu datele inițiale date;
3) masă - aplicabilitate pentru diferite date inițiale.
La compunerea algoritmilor și a programelor, trebuie avut în vedere faptul că semnul "=" nu este un semn egal, ci este un simbol de atribuire.
De exemplu: puneți trei puncte pe axa X: 5, 7, 9.
Atribuiți variabila X la o valoare de 5:
O valoare nouă a lui X (egală cu 7) va fi găsită ca valoarea veche a lui X plus 2 (a se vedea figura 1).
X = X + 2 - 2 este adăugată la valoarea anterioară a X, nu există egalitate aici.
După calcularea lui X = 7 din ultima formulă (X = X + 2), putem găsi următoarea valoare X egală cu nouă.
Cum va arăta într-un computer? În computer, toate datele sunt stocate în memorie. Fiecare variabilă este alocată unei anumite zone de memorie (numită-o "celulă" condiționată). Într-o astfel de celulă, valoarea variabilei X va fi, de asemenea, stocată.
Mai întâi, atribuim o valoare de 5 variabilei X, adică introduceți numărul 5 în această celulă:
Ce dă operația X = X + 2. Luăm conținutul celulei de memorie rezervată pentru stocarea valorii lui X (și este egală cu 5) și adăugăm la ea 2. Avem 7. Și am pus rezultatul din nou în aceeași celulă de memorie:
Valoarea 5 se înlocuiește cu 7.
Masina calatoreste cu o viteza de V = 85 km / h. În ce mod va dura T = 3h?
Orice algoritm începe cu ceea ce ni se dă (sau ar trebui dat) pentru a rezolva problema. Din moment ce căutăm o cale cu formula S = V • T. apoi pentru a calcula S trebuie să știm V și T. Ei ne sunt date de condiția problemei.
Înainte de compilarea oricărui algoritm, este necesar în avans să se obțină o singură unitate de măsură, adică de exemplu, fie măsoară toate valorile de timp în ore, fie în minute, etc.
În algoritm, unitățile de măsură sunt omise. Numele tuturor variabilelor din algoritm vor fi scrise cu majuscule. În fiecare punct al algoritmului, trebuie efectuată o singură operație. Multiplicatorul este indicat de simbolul "*" ("asterisc").
Să facem un algoritm descriptiv:
3) Ce se poate calcula folosind datele de intrare date?
4) Am rezolvat problema. Calea este definită. Dacă compunem un program conform algoritmului compilat, calculatorul va calcula S și va cunoaște rezultatul. Și pentru ao recunoaște, rezultatul trebuie imprimat fie pe hârtie, fie afișat pe ecranul monitorului
Pentru a nu descrie acest algoritm în cuvinte și ar putea fi înțeles de către fiecare persoană implicată în programare, a introdus o singură limbă pentru descrierea algoritmilor - limbajul diagramelor structurale ale algoritmilor și programelor. Pentru a construi schemele, se utilizează blocuri speciale (numite și simboluri).
Să luăm în considerare câteva blocuri și reguli pentru elaborarea schemelor de algoritmi și programe. Dimensiunile blocurilor indicate mai jos corespund unor rigle speciale folosite pentru desenarea diagramelor structurale ale algoritmilor și programelor. Următoarele blocuri sunt utilizate pentru elaborarea schemelor:
1) PROCES (vezi Figura 2)
2) SOLUȚIE (a se vedea figura 3)
Simbolul PROCESULUI PROTEJAT
Blocurile din schemele structurale sunt scrise într-o coloană și sunt conectate între ele prin linii de flux. Lungimea liniei de curgere dintre blocuri este de 1 cm. Blocul "END" este situat sub blocul "START".
În plus, blocurile sunt numerotate, cu excepția blocurilor "START-STOP".
De exemplu (a se vedea figura 8):
În interiorul blocului, puteți înregistra o singură operație.
Toate blocurile au doar o intrare - de sus și o ieșire - de jos. Excepția este blocul "SOLUTION". El are întotdeauna o intrare, dar două ieșiri, marcate cu săgeți. O cale de ieșire este da, cealaltă nu este.
Ieșirea "da" este desemnată de unitatea - 1 - și trimisă (conform GOST) în jos, "nu" - notată cu -Ø - și direcționată spre dreapta. Zero este trasată pentru ao distinge în textul algoritmului sau programului de la litera O.
Textul în blocuri este scris în font. Toate semnele matematice ale operațiunilor sunt marcate.
Blocul "INPUT ȘI OUTPUT" este același, deci dacă este destinat pentru intrare, atunci în partea de sus, în interiorul blocului scrieți "Enter:" dacă ieșirea este "Output:" (vezi Figura 9).
Exemple de simboluri "INPUT-OUTPUT"
Dacă diagrama bloc nu este plasată într-o singură coloană, atunci o altă coloană este organizată lângă aceasta sau se face un transfer către o altă pagină.
Transferul la aceeași pagină într-o altă coloană se efectuează în două moduri (a se vedea Figura 11).
Două moduri de a transfera diagrame structurale pe o singură pagină
Diametrul cercului este de 1 cm.
Liniile de curgere pot fi îndoite numai la un unghi drept, situate de la simboluri la o distanță de cel puțin 5 mm și nu se pot intersecta reciproc.
Săgețile de pe liniile de flux nu sunt setate dacă liniile merg de sus în jos sau de la stânga la dreapta. În caz contrar, direcția este indicată de o săgeată: .
Săgețile sunt plasate atunci când se trece la pagina următoare sau într-o coloană nouă.
Transferul către o altă pagină este după cum urmează: permiteți-ne să trecem de la a patra pagină de la al șaselea bloc la al cincilea, pentru a bloca 9 (a se vedea figura 12).
Pe pagina curentă # 4: pe pagina nr. 5
Transferarea diagramelor structurale pe altă pagină
Dimensiunile simbolului destinat transferului schemei structurale pe altă pagină sunt prezentate în figura 13.
Dimensiunile simbolului pentru transferul diagramelor structurale pe altă pagină
Dacă tranziția către un anumit bloc este efectuată din mai multe locuri în algoritm, atunci în schemă această tranziție (îmbinare) este notată așa cum se arată în figura 14.
Fuziunea liniilor de flux în schemele structurale
Când fuzionează mai multe linii de curgere, liniile de inflow sunt marcate cu săgeți.
Acum, folosind regulile descrise mai sus, vom elabora o diagramă structurală pentru rezolvarea problemei noastre de calcul al traseului (vezi Figura 15).
Diagrama structurala pentru calcularea traseului traversat
Amintiți-vă că datele sursă sunt numere specifice, valorile unor variabile. Sin. Cos și așa mai departe. sunt nume de funcții, nu date, adică Sin x este o expresie, dar nu este dată. Pentru a găsi valoarea unei expresii, de exemplu, Sin x. trebuie să cunoaștem x.
Și încă un lucru. Când atribuiți la stânga semnului egal, valoarea pe care o căutăm este valoarea pe care o căutăm; doar numele variabilei, nu expresia. În dreapta - pot exista atât nume de variabilă, cât și un număr și o expresie. Dar valorile tuturor variabilelor care sunt la dreapta semnului egal trebuie să fie cunoscute, deoarece de exemplu, dacă nu știm ce este egal cu X atunci când se calculează valoarea lui Y:
atunci nu calculam Sin X și, prin urmare, nu găsim Y. În "celula" calculatorului cu numele Y nu există nimic de pus.
Și trebuie să ne amintim încă o regulă. La elaborarea schemelor structurale și a programelor, ne vom strădui să minimizăm numărul de operațiuni și să stabilim cât mai puține variabile posibil, adică reduceți timpul de numărare și utilizarea memoriei computerului. Astfel, nici un singur semn și operație inutilă!