În reprezentarea grafică a algoritmului este reprezentat ca o serie de blocuri funcționale interconectate, fiecare dintre acestea corespunzând implementa una sau mai multe acțiuni.
O astfel de reprezentare grafică se numește o diagramă sau schemă bloc. In schema bloc a fiecărui tip de acțiune (de introducere a datelor brute, calculul valorilor de expresie, condițiile de verificare, controlează repetarea operațiilor, procesarea final și altele asemenea) corespunde formei geometrice, furnizate sub formă de bloc de simboluri. Simbolurile bloc sunt conectate prin linii de tranziții. determinarea ordinii acțiunilor de mai sus.
„Procesul“ este folosit pentru a desemna un bloc de acțiuni sau secvențe de acțiuni care modifică valoarea de prezentare a datelor sau aspectul. Pentru a îmbunătăți claritatea, mai multe scheme de unități de prelucrare individuale pot fi combinate într-o singură unitate. Prezentarea operațiunilor individuale, mai degrabă în mod liber.
„Soluție“ Block este folosit pentru a se referi la starea de gestionare a tranzițiilor. Fiecare „soluție“ bloc ar trebui să aibă condiție întrebare sau comparație, pe care o definește.
Block „modificare“ este utilizat pentru organizarea structurilor ciclice. (Modificarea cuvânt înseamnă modificarea, conversie). În interiorul blocului este înregistrată parametrul ciclu, pentru care valoarea specificată inițial, starea și creștere limita valorii parametrului pentru fiecare repetiție.
Block „proces predeterminat“ este folosit pentru a indica referințe la algoritmii auxiliari exista independent sub forma mai multor module independente, precum și pentru apeluri către rutine de bibliotecă.
Bloc „început“ și „sfârșit“ a algoritmului utilizat pentru a indica începutul și sfârșitul algoritmului.
Block „începutul ciclului cu parametrii“ este utilizat pentru a indica nachalatsikla cu parametrii.
Bloc „sfârșitul ciclului cu parametrii“ este utilizat pentru a indica kontsatsikla cu parametrii.
Bloc „intrare-ieșire“ este utilizat pentru a indica datele de intrare și de ieșire.
- schimbare de la bloc la bloc.
- blocuri de conectare pe pagină.
- blocuri de conectori de pe foi.
Structura logică a oricărui algoritm poate fi reprezentat printr-o combinație de trei structuri de bază: următoarea (structură liniară) ramificarea ciclu.
O trăsătură caracteristică a structurilor de bază este prezența unui singur iod ieșire de intrare.
1. Structura de bază „urmărire“. Sa format o secvență de acțiuni, urmând una după alta.
2. Structura de bază „ramificare“. Oferă în funcție de rezultatul condițiilor de testare (da sau nu), alegerea uneia dintre modalitățile alternative ale algoritmului. Fiecare dintre căile care duc la o ieșire comună. astfel încât algoritmul va continua indiferent de ce este calea aleasa. Structura de ramificare există în patru versiuni de bază:
în cazul în care condiția ca toate acțiunile
dacă spațiul x> 0 atunci y: = sin (x) toate
În cazul în care condiția ca acțiunea 1 acțiune altceva 2 toate
dacă a> b, apoi a: = 2 * o; b: = 1, altfel b: = 2 * b toate
alegere atunci când condiția 1: 1 acțiune atunci când condiția 2: etapa 2 în condiții N: N Toate acțiunile
alegere atunci când n = 1: y: = sin (x) atunci când n = 2: y: = cos (x) atunci când n = 3: y: = 0 toate
condiție de selecție la 1: 1 la etapele condiție 2: Acțiunea 2. Atunci când starea N: N etapele inachedeystviya toate N + 1
alegere la> 5: i: = i + 1 când a = 0: j: = j + 1 altceva i: = 10; j: = 0 toate
3. Structura de bază „ciclu“. Asigură execuția repetată a unui set de acțiuni, care se numește corpul buclei. Principalele soiuri de cicluri sunt prezentate în tabelul de mai jos:
1. Ciclul de tip încă - o condiție prealabilă. Ea dă instrucțiuni pentru a efectua corpul buclei, atâta timp cât condiția scrisă după cuvântul încă.
NC până când starea buclei corpului (secvența) Cp
NC, până când am <= 5 S := S+A[i] i := i+1 кц
2. Ciclul de tip - cu parametri. Ea dă instrucțiuni pentru a efectua corpul buclei pentru toate valorile unei anumite variabile (parametru ciclu), într-un interval predeterminat.
SNT i din corp bucla i1do i2 (secvență) Cp
SNT i de la 1 la 5 X [i]: = i * i * Y i [i]: = X [i] / 2 KC
3. Tipul de ciclu până în prezent - cu postusloviem.Predpisyvaet executa corpul buclei, atâta timp cât este îndeplinită condiția.
corp NC a buclei (etapele) starea KC
I = i TN + 1, S = S + a (i) KC i<10
Pot exista cazuri în interiorul ciclului corp trebuie repetat o anumită secvență operator, adică. E. Aranjarea bucla interioară. O astfel de structură se numește ciclu într-o buclă sau bucle imbricate. Adâncimea înglobare ciclurilor (adică, numărul de bucle imbricate) pot fi diferite.
Atunci când se utilizează o astfel de structură pentru a economisi timp calculatorul este necesar pentru a trece de la interior la exterior bucla, toți operatorii care nu depind de bucla interioară.
La înregistrarea algoritm în formă verbală, sub formă de diagramă bloc sau pseudocod a permis o anumită arbitrariu în comanda de imagine. Cu toate acestea, o astfel de înregistrare este suficient de precisă, care permite unei persoane să înțeleagă esența lucrurilor și de a executa algoritmul.
calculatoare - dar, în practică, mașini speciale sunt folosite ca executanti, algoritmi. Prin urmare, algoritmul de execuție pe un computer, să fie scrise într-un limbaj simplu. Și aici vine în prim-plan nevoia de înregistrare precisă echipe, nu lasă loc de interpretare arbitrară a interpretului.
În consecință, limba pentru algoritmii de scriere ar trebui să fie formalizate. Un astfel de limbaj este numit un limbaj de programare, și scris în limba algoritmului - un program pentru calculator.
Curs 9 (N-4.2). Programare.
Pe baza „scopului“ al programului sunt de sistem, aplicația și programarea sistemului. Sistem și de aplicare (clasificare) a programului studiat. Sisteme de programare pentru a fi explorate.
Programe de calculator a crea programatori - oameni instruiți în procesul de elaborare (programare). Știm că programul - o secvență ordonată logic de comenzi necesare pentru a controla computerul (efectuarea operațiunilor specifice), astfel încât programarea este de a crea o secvență de comenzi necesare pentru o anumită sarcină
Însuși pentru a scrie un program în cod mașină este foarte dificil, iar această dificultate crește dramatic cu o creștere a dimensiunii programului și complexitatea efectuarea unei sarcini. Convențional, putem presupune că codul mașinii este acceptabil, în cazul în care programul nu depășește câteva zeci de bytes, și nu este necesar pentru operațiile de intrare / ieșire manuală a datelor.
Astăzi, prin urmare, aproape toate programele sunt create folosind limbaje de programare. Teoretic, un program poate fi scris prin intermediul limbilor umane obișnuite (naturale) - aceasta se numește o programare meta-limbaj pe, dar se va traduce automat un program în cod mașină nu este încă posibilă din cauza ambiguității mare a limbajului natural.
limbaje de programare - limbaje artificiale. Din acestea diferă naturale într-un număr limitat de „cuvinte“, al cărei sens este clar pentru compilator, și regulile foarte stricte ale comenzilor de scriere (operatori). Totalitatea acestor cerințe constituie o sintaxă limbaj de programare și semnificația fiecărei echipe și a altor structuri de limbaj - semantica sa. Ruperea programul de înregistrare mucegai duce la faptul că traducătorul nu poate înțelege scopul operatorului și produce o eroare de sintaxă, și corect în scris, dar nu îndeplinește utilizarea algoritmului unei limbi conduce la erori semantice (numite și erori logice sau erori de rulare).
procesul de a găsi bug-uri într-un program numit de testare, procesul de eliminare a erorilor - depanare.
PL - sistem fix de simboluri și reguli pentru descrierea algoritmilor și structurilor de date.
Evoluția și clasificarea PL.
generația I. PL - un set de instrucțiuni mașină în format binar sau octal. Pentru fiecare calculator necesar propria sa limbă. De la programator a fost necesară nu numai cunoștințe de limba japoneză, dar, de asemenea, cunoștințe de arhitectură de calculator.
generația II. Limbi, cum ar fi limbajul de asamblare, permițând în loc de cod binar sau octal pentru a le folosi denumirea simbolică mnemonice - nume. Acesta este un pas înainte în comparație cu generația 1, dar este o mașină orientată spre limbi. Totuși este necesar de programator, nu numai cunoștințe de limba japoneză, dar, de asemenea, cunoașterea arhitecturii calculatorului. Acum, aceste PLS sunt folosite pentru a crea software-ul pentru volumul minim și productivitate maximă.
1) sunt un caracter non-procedural - să descrie ce să facă, mai degrabă decât cum să o facă. Exemplu - PROLOG, LONGIN. Disponibil stăpânit și aplicate de către nespecialiști;
2) obiect-orientirovannnye - fiecare obiect grafic știe ce să facă cu datele lor (Smalltalk, baza de Simula-67);
3) limbaje de interogare - extragerea informațiilor din baza de date. Standard YAP este un SQL - STRUCTURATE limbaj de interogare;
4) limbaje de programare paralele - sunt axate pe crearea de software pentru arhitectura sistemelor de calcul paralel (multimachine, sisteme multiprocesor, etc.). Aceste limbi sunt modificarea FORTRAN, Occam, sisal, etc).
V generație. Limbi Inteligenta Artificiala (InterLisp, EXPERTLISP, IQLISP, SAIL) și limbi naturale care nu necesită dezvoltarea de sintaxă specială. În prezent, limbaj natural handicap (potcoavă, Q $ A, HAL).