Exemplu de înregistrare a unui algoritm într-o zi școlară - stadopedia

Vedere generală a algoritmului: Numele algoritmului (argumente și rezultate) date fiind condițiile pentru aplicabilitatea algoritmului este scopul executării algoritmului. Începutul descrierii valorilor intermediare | comandă (corpul algoritmului)







O parte a algoritmului de la cuvântul alg la cuvântul nach se numește titlu, iar partea cuprinsă între cuvintele începe și partea de algoritm.

Propunerea ALG după numele algoritmului în paranteze indică caracteristici (ARG, Res) și un tip de valoare (scop, vesch, Sim, aprins sau log) de intrare (argument) și de ieșire (rezultate) variabile. La descrierea tablourilor (tabele), se adaugă fila cuvântului de serviciu, suplimentată cu perechi de granițe pentru fiecare index al elementelor de matrice.

Exemple de propoziții:

Volumul și suprafața cilindrului (arg, R, H, fanta V, S)

O alg Rădăcinile KvUp (arg b, b, c, x1, x2, tăiate t)

o Alg Exclude un element (arg N, arg arres A [1: N])

o alg diagonală (arg nul N, argin tava A [1: N, 1: N], tăiat Otvet)

Sunt date sentințe și nu sunt necesare. Ei vă recomandă să scrieți declarații care descriu starea mediului al executorului algoritmului, de exemplu:

1. Înlocuirea alg (Arg1 Str1, Str2, textul arget) 2. dat lungimile substringurilor Str1 și Str2 sunt aceleași3. nevoie | oriunde în șir Stringul textului Str1 este înlocuit cu Str2

5. Alg Numărul maximelor (arg N, arg A [1: N], tăiat K) 6. dat N> 07. nevoie | K este numărul de elemente maxime din tabelul A

9. Rezistența Alg (arg, R1, R2, arg N, tăiat R) 10. dat N> 5, R1> 0, R2> 011. nevoie | R este rezistența circuitului

Operator de atribuire. Servește pentru evaluarea expresiilor și atribuirea valorilor acestora variabilelor. Aspectul general: A = B, în cazul în care semnul „=“ indică o comandă pentru a înlocui vechea valoare a variabilei în partea stângă, valoarea calculată a expresiei de pe partea dreaptă.

Pentru a introduce și a scoate date, utilizați comenzi

· Numele variabilelor de intrare

· Numele variabilei de ieșire, expresii, texte.

Pentru ramificare, comenzile, dacă există, sunt utilizate pentru organizarea buclelor, comenzile pentru și pentru moment descrise în secțiunea 7.9.

Se dă suma pătratelor (arg n, tăiat S) | n> 0 este necesar S = 1 * 1 + 2 * 2 + 3 * 3 +. + n * n începutul i intrare n; S: = 0 nc pentru i de la 1 la n S: = S + i * i kc ieșire "S =", Scon

7.9. Care sunt structurile algoritmice de bază?

Algoritmii pot fi reprezentați ca niște structuri, constând din elemente de bază separate (de bază). În mod natural, prin această abordare a algoritmilor, studiul principiilor de bază ale construcției lor trebuie să înceapă prin studierea acestor elemente de bază. Pentru descrierea lor, vom folosi limba sistemelor algoritmice și limbajul algoritmic al școlii.

Structura logică a oricărui algoritm poate fi reprezentată de o combinație a trei structuri de bază: urma, ramură, ciclu.

O caracteristică caracteristică a structurilor de bază este prezența în ele a unei intrări și a unei ieșiri.

1. Structura de bază a următorului. Se formează din secvența de acțiuni care urmează una după alta:

Limbajul limbaj al limbajului școlar

7.10. Ce cicluri se numesc iterative?

O caracteristică a ciclului de iterație este că numărul repetărilor operatorilor corpului bucla nu este cunoscut în prealabil. Pentru organizarea sa, o bucla de tip este folosita pana acum. Ieșirea din ciclul de iterație se realizează dacă se îndeplinește condiția specificată.

La fiecare etapă a calculelor, condiția pentru obținerea rezultatului dorit este aproximată și verificată succesiv.

Un exemplu. Compilați un algoritm pentru calcularea sumei unei serii


cu precizia dată (pentru seria de putere alternantă dată, precizia necesară va fi atinsă atunci când următorul termen devine mai mic în valoare absolută).

Calculul sumelor reprezintă o problemă ciclică tipică. Particularitatea problemei noastre specifice este că numărul de termeni (și, în consecință, numărul de repetări ale corpului ciclului) nu este cunoscut în prealabil. Prin urmare, executarea ciclului trebuie să se încheie la atingerea preciziei necesare.

La compilarea algoritmului, trebuie să se țină seama de faptul că semnele summelor se alternează, iar gradul de număr x în numerotatorii termenilor crește.

Rezolvarea acestei probleme "pe frunte" prin calcularea la fiecare pas i-o sumă parțială


obținem un algoritm foarte ineficient, care necesită un număr mare de operații. Mult mai bine organizați de calcul, după cum urmează: dacă notăm numărătorul unui termen de p, atunci termenul următor este numărătorul este egal cu p x * (termeni semnul minus alternanța prevede simboluri), iar termenul în sine va fi egal cu m p / i, în cazul în care i - numărul termenului.

Comparați aceste două abordări cu numărul de operațiuni.

Algoritmul pentru școala AJ

Alg Suma (arg x, Eps, felia S) dată | 0 Eps p: = - p * x | p - numărător | următoarea sumă și m: = p / i | m este următoarea sumă și S: = S + m | S este suma parțială i: = i + 1 | i - număr | Următorul summand al ieșirii kth S con

Algoritmul, care include un ciclu de iterație, se numește algoritm de iterație. Iterative algoritmi sunt utilizate în punerea în aplicare a metodelor numerice iterative.

În algoritmii iterativi, este necesar să se asigure că condiția de ieșire din buclă este obligatorie (convergența procesului de iterație). În caz contrar, algoritmul se va loop, adică proprietatea principală a algoritmului este performanța.

7.11. Ce sunt buclele imbricate?

Există cazuri în care în interiorul corpului unui ciclu este necesar să se repete o anumită secvență de operatori, adică să se organizeze un ciclu interior. Această structură se numește ciclu într-o buclă sau în cicluri imbricate. Adâncimea ciclurilor de încorporare (adică numărul de cicluri imbricate între ele) poate fi diferită.

Atunci când se utilizează o astfel de structură, pentru a economisi timpul calculatorului, este necesar să se scoată din bucla internă toți operatorii externi care nu depind de parametrul bucla interioară.

Exemplu de bucle imbricate pentru

Calculați suma elementelor matricei date A (5.3).

nc pentru i de la 1 la 5 nc pentru j de la 1 la 3 S: = S + A [i, j] kc kc

Exemplu de bucle imbricate în timp ce

Calculați produsul acelor elemente ale unei matrice date A (10,10), care se află la intersecția liniilor chiar și chiar a coloanelor.

i: = 2; P: = 1 nz în timp ce i <= 10 j:=2 нц пока j <= 10 P:=P*A[i,j] j:=j+2 кц i:=i+2 кц

7.12. Care este diferența dintre modul software de scriere a algoritmilor de la alții?

Când scriem un algoritm în formă verbală, sub forma unei diagrame bloc sau pe un pseudocod, este permisă o anumită arbitrare atunci când se afișează comenzi. În același timp, o astfel de înregistrare este suficient de precisă încât permite unei persoane să înțeleagă esența problemei și să execute algoritmul.







Totuși, în practică, automatele-computere speciale sunt folosite ca executori de algoritmi. Prin urmare, un algoritm destinat execuției pe un computer trebuie să fie scris într-o limbă care este "de înțeles". Și aici, necesitatea înregistrării exacte a echipelor este lăsată în prim plan, fără a lăsa loc pentru interpretare arbitrară de către interpret.

Prin urmare, limba pentru scrierea algoritmilor trebuie să fie formalizată. Această limbă este denumită de obicei limba de programare, iar introducerea algoritmului în această limbă este un program pentru calculator.

7.13.Care este nivelul limbajului de programare?

În prezent, există câteva sute de limbi de programare utilizate pe scară largă în lume. Pentru fiecare are propriul său domeniu de aplicare.

Orice algoritm, după cum știm, este o secvență de instrucțiuni care pot fi efectuate într-un număr finit de pași de la datele originale la rezultat. În funcție de gradul de detaliere a prescripțiilor, nivelul limbajului de programare este de obicei determinat - cu cât mai puține detalii, cu atât este mai mare nivelul limbii.

Conform acestui criteriu, se pot distinge următoarele niveluri de limbi de programare:

· Autovehicule independente (limbi de nivel înalt).

Limbile de mașină și limbile orientate spre mașină sunt limbi de nivel scăzut care necesită detalii minore ale procesului de prelucrare a datelor.

Limbile de nivel înalt imită limbile naturale, folosind anumite cuvinte de limbaj vorbit și simboluri matematice comune. Aceste limbi sunt mai convenabile pentru oameni.

Limbile de nivel înalt sunt împărțite în:

· Algoritmice (Basic, Pascal, C, etc.), care sunt destinate descrierii lipsite de ambiguitate a algoritmilor;

· Logic (Prolog, Lisp, etc.) care nu se concentrează pe dezvoltarea unui algoritm pentru rezolvarea problemei, iar la descrierea sistematică și formală a problemei, astfel încât decizia a rezultat din descrierea compilat.

Obiect-orientat (obiect Pascal, C ++, Java etc.), care se bazează pe conceptul unui obiect care combină datele și acțiunile asupra noastră. Programul în limba orientată pe obiecte, rezolvând o anumită sarcină, descrie în esență o parte a lumii legată de această sarcină. Descrierea realității sub forma unui sistem de obiecte care interacționează este mai naturală decât sub forma procedurilor de interacțiune.

7.14. Care sunt avantajele și dezavantajele limbajelor mașinilor?

La programarea în limbajul mașinii, un programator poate să-și țină sub control toate comenzile și fiecare celulă de memorie, să utilizeze toate posibilitățile operațiunilor mașinii disponibile.

Dar procesul de scriere a unui program în limbajul mașinii este foarte laborios și plictisitor. Programul este greoi, greu de prevăzut, dificil de depanat, modificat și dezvoltat.

Prin urmare, atunci când aveți nevoie pentru a avea un program eficient, cât mai mult posibil, ținând cont de specificul unui anumit calculator, mai degrabă decât limbile informatice utilizate în apropierea acestor limbaje orientate pe calculator (asamblorii).

7.15. Care este limbajul de asamblare?

Limbajul de asamblare este un sistem de notare folosit pentru a reprezenta programele scrise în codul mașinii într-o formă ușor de citit de om.

Traducerea programului de la limbajul de asamblare la limbajul mașinii este realizată printr-un program special, numit și asamblor și este, de fapt, cel mai simplu traducător.

7.16. Care sunt avantajele limbilor algoritmice față de cele mecanice?

Principalele avantaje sunt:

· Alfabetul limbajului algoritmic este mult mai amplu decât alfabetul limbajului calculatorului, ceea ce sporește semnificativ vizibilitatea textului programului;

· Un set de operațiuni care sunt acceptabile pentru utilizare nu depinde de un set de operații ale mașinii, ci este selectat din considerente de conveniență în formularea algoritmilor pentru rezolvarea problemelor unei anumite clase;

· Formatul propunerilor este suficient de flexibil și convenabil pentru utilizare, ceea ce permite stabilirea unei etape suficient de semnificative a procesării datelor cu ajutorul unei singure propoziții;

· Operațiile necesare sunt specificate utilizând notația matematică convențională;

· Datele din limbile algoritmice sunt atribuite unor nume individuale, alese de programator;

· Un set mult mai larg de tipuri de date decât un set de tipuri de date de mașină poate fi furnizat în limba respectivă.

Astfel, limbile algoritmice sunt în mare parte independente de mașină. Acestea facilitează activitatea programatorului și sporesc fiabilitatea programelor create.

7.17. Care sunt componentele unei limbi algoritmice?

Limba algoritmică (ca orice altă limbă) formează cele trei componente: alfabet, sintaxă și semantică.

Un alfabet este un set fix de simboluri de bază pentru o anumită limbă; "literele alfabetului" din care ar trebui să existe orice text din această limbă - nu sunt permise alte simboluri în text.

Sintaxa este regulile pentru construirea de fraze, permițându-vă să determinați dacă o anumită expresie este scrisă în mod corect sau incorect. Mai exact, sintaxa unei limbi este un set de reguli care determină care combinații de caractere sunt propoziții semnificative în acea limbă.

Semantica determină semnificația semantică a propozițiilor de limbă. Ca un sistem de norme de interpretare a anumitor constructe lingvistice, semantica determină ce secvență de acțiuni descrise în aceste sau alte fraze de limbă și, în cele din urmă, ceea ce algoritm este definit conform textului în limba algoritmică.

7.18. Ce concepte folosesc limbile algoritmice?

Fiecare concept de limbaj algoritmic implică o anumită unitate sintactică (design) și proprietățile obiectelor de program sau procesul de procesare a datelor determinate de aceasta.

Conceptul de limbă este definit în interacțiunea regulilor sintactice și semantice. Normele sintactice arată cum se formează acest concept din alte concepte și litere ale alfabetului, iar regulile semantice determină proprietățile conceptului dat

Principalele concepte din limbile algoritmice sunt de obicei următoarele.

Nume (identificatori) - se utilizează pentru a se referi la obiectele programului (variabile, matrice, funcții etc.).

Opepatsii. Tipuri de operațiuni:

· Operațiuni aritmetice +. -. *. / și dp. ;

· Operațiuni logice și, sau nu;

· Relații <.>. <=,>=. =. <> ;

· Funcționarea link-ului (altfel, "join", "concatenation") a valorilor simbolurilor unul cu altul, cu formarea unei linii lungi; este reprezentat de semnul "+".

Date - cantitățile procesate de program. Există trei tipuri principale de date: constante, variabile și matrice.

· Constantele sunt date care sunt fixate în textul programului și nu se schimbă în timpul execuției.

o numerică 7.5, 12;

o logic da (adevărat), nu (fals);

o simbolică "A", "+";

o literală "abcde", "informatică", "" (șir gol).

· Variabilele sunt notate cu nume și își pot schimba valorile în timpul executării programului. Variabilele pot fi numere întregi, reale, logice, simbolice și literale.

· Rețelele sunt secvențe de același tip, numărul cărora este fix și care au același nume. Poziția unui element într-o matrice este determinată în mod unic de indicii săi (unul, în cazul unei matrice unidimensionale sau mai multe dacă matricea este multidimensională). Uneori, tablourile sunt numite tabele.

Vypazheniya - ppednaznachayutsya pentru a efectua calculele necesare constau constante, variabile care sunt indicii funcție (nappimep, exp (x)), semne opepatsy combinate.

Expresiile sunt scrise ca secvențe liniare simboluri (fără caractere superscript și subscript, fracții „cu mai multe etaje“, etc.) care permite introducerea acestora în computer, apăsând succesiv tastele tastaturii corespunzătoare.

Există expresii aritmetice, logice și șir.

· Expresiile aritmetice servesc pentru a defini o singură valoare numerică. De exemplu, (1 + sin (x)) / 2. Valoarea acestei expresii pentru x = 0 este 0.5, iar pentru x = p / 2 - unu.

· Expresiile logice descriu anumite condiții care pot fi satisfăcute sau neîndeplinite. Astfel, o expresie logică poate lua doar două valori - "adevărat" sau "fals" (da sau nu). Luați în considerare, de exemplu, expresia logică x * x + y * y

· Valorile expresiilor șir (literale) - text. Acestea pot include constante literale, variabile literale și funcții de litere separate de semnul de funcționare al cuplajului. De exemplu, A + B înseamnă linia de îmbinare B la capătul liniei A. Dacă A = "bush". și B = "verde". atunci valoarea expresiei A + B este o "bush verde".

Operatori (comenzi). Operatorul este cel mai mare și cel mai semnificativ concept al limbajului: fiecare operator este o expresie completă a limbii și definește o anumită etapă completă a procesării datelor. Structura operatorilor include:

Operatorii sunt împărțiți în executabile și neexecutați. Declarații non-executabile este masina de tuns este destinat pentru a descrie datele și codul struct, mai degrabă executabile - postseismic pentru efectuarea de acțiuni (nappimep, ppisvaivaniya de declarații, declarații este de intrare și de ieșire, un ciclu condiționale operatori declarație, procedurile operatorului și colab.).

7.19. Ce este o funcție standard?

La rezolvarea diferitelor sarcini folosind un calculator, este necesar să se calculeze logaritmul sau modulul de număr, sinusul unghiului și așa mai departe.

Calculele funcțiilor frecvent utilizate sunt realizate prin subrutine, numite funcții standard, care sunt preprogramate și construite în traducătorul limbii.







Articole similare

Trimiteți-le prietenilor: