Apendicele 2 algoritmi

Informațiile furnizate în această cerere nu aparține nici limbaj de programare special. Cu toate acestea, ele sunt importante pentru orice creator al programului și sunt deosebit de importante pentru începători, deoarece toate programele de calculator sunt concepute pentru a aborda problemele specifice cu computerul, precum și orice problemă în orice domeniu de activitate umană este decisă pe baza unui algoritm. Prin urmare, sunt sistematizate conceptele de bază, metodele de reprezentare și tipuri de algoritmi, și oferă exemple ale unor algoritmi standard.

A.2.1. Etapele de rezolvare a problemelor

Rezolvarea problemelor în orice domeniu de activitate umană, inclusiv în viața de zi cu zi, realizată într-o anumită ordine, și de rezolvare a problemelor cu ajutorul unui computer nu este o excepție. Se disting patru pași de bază de rezolvare a problemelor:

Alegerea unei metode soluție.

și ia în considerare specificul fiecăreia dintre ele.

Problema poate fi propusă pentru a rezolva sau formulate în mod independent.

În primul caz există o condiție problemă, care arată datele inițiale și rezultatele de care aveți nevoie ( „Dano“ și „necesară“).

În mod corect formulează declarația problemă clar înțeleasă de toți cei prezenți, și numai faptele necesare prezentate sub formă de numere, condiții, situații și cerințe. Pentru soluția de succes a acestei probleme toate componentele datelor originale trebuie să aleagă, inclusiv cele prezentate în sensul, de exemplu, o combinație a cuvintelor „în amonte“, care este echivalent cu „împotriva curentului“. Unele dintre datele și cerințele inițiale pot fi specificate în mod implicit. De exemplu, pentru a ști cât de mult excavatoarele îndeplini sarcina, sau cât de multe piese fabricate, trebuie căutat răspunsul printre mulțimea numerelor naturale, în cazul în care este necesar pentru a rezolva ecuația x = a / (x-1), valoarea x nu poate fi 1, iar pentru ecuația x =

Apendicele 2 algoritmi
valoarea lui x nu poate fi negativă.

În mod corespunzător să formuleze condițiile sau nu au suficiente date brute, sau ele sunt excesive, sau există o posibilitate de înțelegere ambiguă a condițiilor elemente. În astfel de situații este necesară pentru a realiza formularea corectă pentru o anumită sarcină sau un grup de sarcini care decurg din condițiile generale. De exemplu, în cazul datelor redundante trebuie să fie stabilite în cazul în care acestea nu sunt complet contradictorii, iar atunci nu există nici o soluție la toate, cum ar fi „cât de mare soarele se afla deasupra orizontului la ora două la ecuator?“. În cazul în care datele sunt insuficiente sau acestea sunt contradictorii în parte, rezultatul poate fi ambiguu. De exemplu, „cât de mare este situat soarele deasupra orizontului, la ecuator?“ (Rezultatul fie există, și apoi în funcție de momentul zilei, sau este absent atunci când soarele dispare în spatele orizontului), sau „cât de mare este situat soarele deasupra orizontului la ora două? „(rezultatul depinde de latitudine și timp de ani). În cele din urmă, ambiguitatea înțelegere a condițiilor poate fi demonstrată prin exemplul: „cât de mare soarele se afla deasupra orizontului la ecuator la ora două“, din care rezultă că „două ore“ poate fi înțeleasă într-o prezentare format timp de 24 de ore sau 12 ore. În ceea ce privește problema utilizării calculatorului de multe ori nu specifică modul care, text sau grafice, și ce parametru modul reprezintă rezultatele pe ecran. În aceste situații, pentru rezolvarea problemei este libertatea de alegere a datelor care lipsesc.

Cazurile de auto-formulare a problemei sunt de obicei limitate la situații de condiții incorecte, mai ales atunci când vine vorba de viața de zi cu zi. Deci, sarcina de „sete. Este necesar să-l satisfacă „atunci când încearcă să clarifice formularea ar putea conduce la situații de“ toate lichidele „(oțet?),“ Orice fluid adecvat „(gheață, zăpadă, exclus menta?),“ Apa „(strict vorbind, suc, lapte și multe alte băuturi nu se încadrează în această condiție). În situații de acest fel ar trebui să alterneze încercări de a rezolva problema de a clarifica formularea sarcinii de a obține un rezultat acceptabil sau dorit.

Alegerea unei metode soluție implică căutarea unui set de instrumente pentru a aduce această problemă cu cea pentru care soluția este deja cunoscut, care este, sarcina standard de. Activele mai umane, rezolva probleme sarcinile comune, cu atât mai ușor și mai rapid soluția va fi găsită o nouă sarcină. Ca un exemplu, ia în considerare selectarea unei metode de rezolvare a ecuației x =

Apendicele 2 algoritmi
. Găsiți valoarea x inversarea acestei ecuații într-o identitate, este posibil, în primul rând, selecția: este evident că valorile necesare - 0 și 1. În al doilea rând, valorile dorite pot fi găsite prin construirea graficelor de funcții stocate în ambele părți ale ecuației și determinarea coordonatelor puncte de trecere diagrame. În al treilea rând, ridicând ambele părți ale pătrat (din partea dreapta este non-negativ, ecuația va fi echivalentă cu originalul) și se deplasează pe partea dreapta la stânga, obținem o ecuație pătratică pentru care soluțiile sunt metodele standard. Rămâne să aleagă una dintre ele: soluția completă a ecuației pătratice prin formula cunoscută sau soluția parțială a descompunerii ecuației pătratice la stânga factorizare laterale și egalează cu zero fiecare dintre ele

Etapa anterioară, în principiu, poate fi considerat primul pas în crearea unui algoritm - o secvență de acțiuni care conduc la obținerea rezultatului dorit. Cu toate acestea, această definiție a algoritmului este incomplet. În cazul în care sa discutat mai sus problema este rezolvată de către o persoană familiară cu algebra în cursul anului școlar, ar fi suficient de cele de mai sus, și va fi algoritmul pentru ea. Dacă această problemă este rezolvată de a șaptea-elev de clasa, dar metoda de selecție (și metoda de descompunere, eventual, factoring) va fi algoritmul, deoarece nu este încă deținut pentru el (în programa școlară) metodă pentru rezolvarea unei ecuații pătratice, precum și necesitatea de a clarifica acțiunea lui, pe care acest lucru metoda se bazează. Prin urmare, la crearea unui algoritm este necesar este necesar să se ia în considerare cine sau ce vor fi furnizate pentru a efectua un algoritm de acțiuni, care este, algoritmul ar trebui să se concentreze pe un anumit artist. Fiecare interpret este capabil de a efectua un anumit set de acțiuni (cu alte cuvinte - un set de instrucțiuni), și nimeni nu s-ar gândi vreodată să facă o macara turn, capabil de rotire într-un fel sau altul, pentru a ridica și coborî cârlig și se deplaseze pe șine încoace și încolo, pentru a adăuga două număr. Prin urmare, un algoritm - o secvență de acțiuni (comenzi), care sunt ușor de înțeles pentru Executivului și să conducă la realizarea rezultatului dorit. Această secvență este fixată într-un fel și, în acest caz, numit un program.

În rezolvarea problemelor cu un computer în algoritmul poate include numai acele comenzi pe care computerul poate executa. Și este capabil de a efectua (mașini) comenzi simple, reprezentate ca numere (cod mașină). Pentru comoditatea de programatori au creat o varietate de limbaje de programare, fiecare dintre care oferă un anumit set de comenzi (operatori), de multe ori care conțin grupuri mari de instrucțiuni mașină și înregistrate într-un set de caractere (text). Pentru a converti aceste comenzi în cod mașină creat de compilatoare de program și interpreți ai programului, care sunt executate de către computer. Trebuie doar să spui calculatorului ce limbă a reprezentat un program executabil. Și, desigur, programatorul trebuie să cunoască setul de comenzi și reguli de scriere în limba disponibile. Se va aprecia faptul că anumite acțiuni, cum ar fi de intrare, ieșire, aderenta, ramificare se repetă, și sunt universale într-o formă sau alta sunt prezente în toate limbajele de programare.

În cazul în care persoana algoritm mandatat sau dispozitivul este controlat în mod constant de către om, omul este cel care asigură respectarea strictă cu programele stabilite și realizarea rezultatului dorit. Acesta este capabil de a corecta erorile, strecurat în algoritmul, în timpul executării programului, acesta este capabil să estimeze linia și rezultatele dorite obținute.

Situația este diferită în cazul în care programul este încredințată mașinii, cum ar fi un calculator. În acest caz, după crearea algoritmului și programul necesită mai multe etape înainte de două executarea propriu-zisă a programului - depanarea programului și testarea acestuia.

În cadrul programului de depanare înseamnă a verifica dacă aparatul înțelege toate comenzile disponibile în program și le execută, dacă da, cum imaginat programator. În acest stadiu, programator face un compilator program pentru a identifica acele echipe care nu pot fi convertite în cod mașină. Astfel de erori sunt numite sintaxă.

Cu toate acestea, există erori algoritmice asociate cu secvența incorectă sau corectă a comenzilor, sau neînțelegere cu un programator de acțiuni efectuate de această comandă. Ca un prim exemplu, ia în considerare situația în calculul valorilor medii aritmetice ale variabilelor a și b în program este setat pentru a calcula valoarea unei expresii + b / 2 calculator este capabil să efectueze o acțiune specifică, în care totalul lipsesc capse, dar rezultatul va corespunde valorii dorite nu este, la toate valorile a și b. Ca un al doilea exemplu, ia în considerare situația în care proprietarul pentru o plimbare in loc de comanda „Fetch!“ Dă câinele comanda „Fetch!“ Cu, probabil, consecințe foarte trist pentru casual trecător, iar proprietarul însuși.

greșeli algoritmice, uneori, astfel deghizat, care se găsesc cu mare dificultate. Aici implică în mod necesar test de seturi de date inițiale și rezultate corecte. Discrepanța dintre rezultatele testului pentru un anumit set de date de intrare recepționată și indică prezența a cel puțin o eroare, care poate fi suficientă pentru găsirea și eliminarea tuturor erorilor existente.

În cazuri complexe, eroarea de localizare a recurge la servicii software-debuggeri efectuate de linia de program - sau în trepte, sau axa, Multiframe programul cu emiterea rezultatelor intermediare ale calculelor. În acest fel, este posibil să se localizeze eroarea de până la operator. Găsiți și de a elimina eroarea algoritmică nu poate fi decât o persoană.

programator arta este de a găsi o soluție de compromis - un set minim de date de testare, care necesită nu prea mult de lucru cu privire la programul de testare, dar asigură cea mai mare probabilitate de a detecta erori. În lumea calculatorului, există cazuri în care graba, inevitabil în competiție, au dus la apariția pe piața de hardware și software, care conțin decizii eronate.

Trebuie remarcat faptul că utilizarea unui calculator pentru a rezolva problemele nu scutește persoana de necesitatea de a avea cunoștințe suficiente în ceea ce privește, puternice abilități solide și o anumită cotă de talent și responsabilitate.