1.1. Conceptul algoritmului.
Computer - un dispozitiv pentru rezolvarea problemelor. sarcini nu neapărat pure
natura matematică. Ar putea fi controlul problema mașinii sau rachete, precum și problema planificării producției, precum și conștientizarea problemei
kuyu - orice sarcină pe computer, trebuie să aflați mai întâi cum să o rezolve, la toate, și anume, de a veni cu un algoritm pentru rezolvarea ei. Algoritmul - este una dintre pietrele de temelie ale conceptelor de informatică și programare.
Deci, ce se înțelege prin algoritmul?
Algoritmul - un sistem strict și clar, finit de reguli care determină
secvență Delian de acțiuni pe anumite obiecte și după Ko
un număr finit de pași care duc la realizarea acestui obiectiv.
Din definiția algoritmului rezultă că acesta trebuie să îndeplinească următoarele
1) la nivelul membrelor (finitudine)
Algoritmul trebuie să termine întotdeauna după un număr finit de pași.
Procedura are toate caracteristicile algoritmului, cu excepția, desigur, ridică metoda de calcul.
2) determinarea (deterministe)
Fiecare pas al algoritmului trebuie să fie definite în mod riguros. Acțiunile care urmează să fie efectuate, ar trebui să fie definite în mod clar și strict ori de câte ori este posibil, astfel încât, dacă da algoritmul de câțiva oameni,
acestea acționează asupra acestui algoritm, am obținut același rezultat. Po-
Deoarece limbajul obișnuit este plin de ambiguități, apoi pentru a depăși această declarație
dificultăți sunt, pentru a descrie algoritmii dezvoltate definite în mod oficial
Fundamentele Capitolul 1 Programare
limbaje de programare sau limbaje de programare, în care fiecare afirmație
acesta are un sens absolut precis.
Scrierea unui algoritm într-un limbaj de programare se numește un program.
3) Algoritmul trebuie să aibă un număr de date de intrare, adică, valori,
obiecte de date cu el înainte de începerea lucrărilor. Aceste date provin dintr-o anumită concentrație
set indiscret de obiecte.
4) Algoritmul are una sau mai multe variabile de ieșire, adică valori,
având o relație certă la datele de intrare. 5) Eficiență
Algoritmul cere ca acesta să fie eficient. Acest lucru înseamnă că toate operațiunile care trebuie efectuate în algoritmul ar trebui să fie suficientă
mai degrabă doar pentru a fi, în principiu, a fost posibil să se efectueze exacte și Ko
Perioada de Nite fi de timp, folosind un creion și hârtie.
Trebuie remarcat faptul că, în scopuri practice, „finitudine“ este cea mai importantă cerință - algoritmul utilizat nu ar trebui să fie pro-
sute de sfârșit, și în cele din urmă finală, un număr rezonabil de pași. De exemplu, în prin-
tsipe un algoritm, care determină dacă poziția de pornire în SG
D sah amplificat de o victorie pentru sau nu alb. Dar cantitate extraordinar de mare de timp necesar pentru a efectua algoritmul.
Să presupunem că avem un calculator cu o viteză de 100 de milioane. Pe secundă. Apoi, computerul va executa un algoritm de vechi 10 23 ani.
Pentru comparație, perioada de timp de la începutul vieții pe pământ și în ziua de azi este mult mai mică de 10 23 ani.
Această metodă de înregistrare algoritmi posibile, dar incomod. În primul rând, nu există nici o claritate, și în al doilea rând, „verbose“. O metodă de înregistrare a algoritmului sunt Flowcharts. Flowcharts numit izobrazhe- grafic
structura algoritmului, în care fiecare etapă sau pas al procesului de pererabot-
datele ki este reprezentat ca un dreptunghi, romburi, ovale sau alte forme geometrice, numit bloc.
Aceste cifre sunt interconectate cu linii de săgeți, care pot fi afișate
secvența zhayuschimi a algoritmului. În interiorul fiecare cifră a permis să scrie orice text în care o persoană înțelege yazy-
ke informat cu privire la calculele relevante în partea corespunzătoare a programului.
standarde aprobate definite simboluri grafice. Deci, liniară
denotă unghiul pași care rezultă izmenya- de calcul
sunt valori de date. Notăm romburi pas de ramificare algoritm. Sunteți un
Pădurea una din cele două direcții posibile de cont se face în continuare, în funcție de starea înregistrată în diamant. Oval marchează începutul și sfârșitul algoritmului. În paralelograme înregistrate de intrare și procedura de ieșire. Noi scriem algoritmul euclidian ca Flowcharts:
Fundamentele Capitolul 1 Programare
Fig. 1.1. Algoritmul lui Euclid
Există și alte modalități de a scrie algoritmi. În special, suficient
dar comune algoritmi de scriere pe așa-numita pseudo. pseudo-
doyazyk similar cu limbajul convențional de programare algoritmică, dar poate fi de asemenea folosit un limbaj natural pentru a exprima mai clar gândurile lor. Unii pseudo-mai aproape de limbaj de nivel înalt, numit limbi Algol (în trecut au existat limbaje de programare
Ming-ALGOL 60, Algol-68, care în prezent nu sunt ispolzuyut-
Xia). Un exemplu în acest sens este descrierea pseudo-algoritm de limbaj, prim-
nyaemym în școli. Unii pseudo mai aproape de limbaj mașină
așa-numitele. asamblorii Un exemplu de astfel de limbaj este limba care descrie algoritmii propuși de Knuth în celebra sa carte „Arta de calculator de programare“ [9].
Deci, pentru a rezolva orice fel de problemă, aveți nevoie pentru a veni cu un algoritm pentru a reforma
sheniya și scrie într-o formă sau alta. Acest proces este numit algoritmică
zatsiey. Dar într-un astfel de algoritm de computer nu se poate întâlni. trebuie să fie
1.1 Conceptul de algoritm.
pentru a prezenta algoritmul în așa fel încât computerul poate executa.
Pentru a face acest lucru, în primul rând, pentru a sparge algoritmul în operații elementare, HA
instrucțiuni sau comenzi care pot executa calculator de legare
și, în al doilea rând, să înregistreze fiecare operațiune în limba, conceptele kompyute-
pv. Acest algoritm de intrare pe un limbaj de computer este numit un program.
Procesul de dezvoltare a programului se numește programare. Și omul
pentru a face acest lucru - programator. Astfel, este necesar să se facă distincția între pro-
gram în cod mașină, spune chiar un program executabil și,
scris în orice limbaj de programare. De obicei, o persoană care scrie un program într-un limbaj de nivel înalt, în cazuri extreme, în asamblare. computer va compila
trimmer îl transformă într-un program în limbaj mașină pe care computerul și execută.
Programare - este o disciplină științifică. În cazul în care procesele de pro-
programare sarcini diferite nu au avut nimic în comun, pro-
reprogramat ca atare, ar fi o disciplină științifică. Dar ideea este ob-
Nu este așa. Există metode comune care sunt disecție treptat sarcinile în subactivități, pentru a reduce decizia lor, în cele din urmă, pentru a
unele operații elementare (cea mai mare parte la arith- de bază
cal operațiuni), la fel ca și examinarea destul spre deosebire de mecanismele complexe, constatăm că acestea constau din aceeași de-
dispozitive de ridicare și noduri conectate doar în mod diferit (de exemplu. rulmenți, șuruburi,
nuci etc.). Din aceasta, desigur, aceasta nu înseamnă că procesul de programare nu conține elementele de creativitate. Pregătirea unui program, cum ar fi procesul creativ ca dezvoltarea unui mecanism complicat al specificat HA
Scopul principal al algoritmilor este real lor Sunteți un
Stare mod închis sau un alt interpret. Ie Algoritmul se face în ordine
că a fost făcut pentru a rezolva o anumită sarcină. Ca ispol-
NITEL poate servi oricine - om, mașină CNC, calculator, etc.