Pseudo-cod și organigramele

Atenție! Acest site nu este actualizat. Noua versiune: shatalov.su

Înainte de a începe de învățare C ++, ne uităm la două „metode“, care permit programator pentru a face viața mai ușoară pentru începători. Pentru cei care nu au mai confruntat cu programare, este dificil să se scrie un program odată. Prin urmare, a fost inventat etapă intermediară între programele de limbă și sursă umană.

Orice limbă este foarte bogat. Prin limbaj, în cazul nostru - română, putem exprima orice gând. Calculatoarele sunt mult mai prost decât noi - oamenii. Ei nu tolerează ambiguități care abundă în limbajele umane. În plus, este de remarcat faptul că (și orice altă națională) limba noastră este prea redundante din punct de vedere calculator. Putem transmite informații fără a denatura sensul de a folosi un mijloc mult mai slabe, de exemplu, refuzul de a interjecții, cuvinte introductive.

Deci, ce vreau să spun? Din moment ce calculatoarele au avut inițial foarte puține resurse, în special o cantitate mică de memorie și viteza lentă de operare, oamenii inteligente a trebuit să simplifice limba înțeleasă de calculatoare. Dar, în același timp, pe orice limbaj de calculator poate exprima aproape orice idee a limbajului uman.

Sarcina Acasă programator: traduce idei din limba de zi cu zi pentru a comunica în limbajul calculatoarelor.

Așa cum am scris mai sus, programatori novice este destul de dificil de a face acest lucru. Pentru a depăși aceste dificultăți sunt organigrame și pseudocod.

Pseudocod (pseudocod)

Ce este un pseudo-cod? Această intrare comenzi calculator limbaj uman obișnuit. Ca urmare, programatorul primește o formă intermediară între limbajul de zi cu zi și limbaj de programare.

Să ne uităm la un exemplu. De obicei, ca exemple alese de situație, practica de a avea nimic de a face. Considerăm un exemplu foarte diferit, care este în mod constant în practică. Să presupunem că avem în joc de strategie are o dimensiune harta de 64 la 64 de celule. Pentru fiecare caracter în joc aveți nevoie pentru a verifica dacă acesta nu se extinde dincolo de card. Coordonatele notată cu x (orizontale), y (vertical). Evident, coordonatele oricărui caracter ar trebui să fie în intervalul [1. 64]. Propunerea anterioară - este considerat a fi exprimat într-un limbaj de programare.

Din moment ce nu am început încă să învețe C ++, atunci să scrie această idee cu ajutorul pseudo-cod. În această propunere ar trebui să fie construite numai cu constructele de bază pe care le-am învățat în lecția precedentă:

Aceste patru propuneri pentru a limita mișcarea personajului. Acest lucru este pseudo-cod. Întreaga problemă, am fost capabili să realizeze cu patru ramuri cu o ramură în fiecare dintre care un singur operator. Acum, acest pseudo-cod poate fi ușor tradus în orice limbă. Să o facem pentru C ++. Pentru a face acest lucru, trebuie să înlocuiți unele dintre pseudo-cuvinte în limba engleză echivalente, și operații matematice să fie scrise într-un limbaj matematic. În cazul în care cuvântul în limba engleză va fi în cazul în care (după cum FI):

Acesta este, de asemenea, un pseudo-cod, cu toate acestea, deja mai aproape de limbaje de programare. În acest exemplu de realizare, pseudo-cod, am pierdut ceva. Ale căror coordonate sunt verificate aici? Pentru a indica faptul că x, y - coordonatele personajelor din joc, vom scrie în jos peste punctul lor: unit.x, unit.y. Puteți vedea că x și y aparțin unei unități, mai degrabă decât o clădire sau un copac. Uită-te la noua versiune:

Acesta este încă un pseudo-cod, dar nu mai există nici un conținut redundanță - am scăpat de toate cuvintele suplimentare. Această opțiune este foarte similar cu limbaje de programare. În C ++, codul final va arata astfel:

Acest cod este în C ++ complet de lucru! Apropo, foarte similar cu codul pe care îl vom folosi în Arkanoid pentru controlul mingii.

Aici am arătat trei versiuni ale pseudo-cod. Prima dată când utilizați prima opțiune, prin scrierea de cod sub formă de fraze în limba rusă. Dacă suficient de strâns pentru a se angaja, pseudo-cod devine inutil de a avea trei săptămâni mai târziu, când vom reuși să învețe structura de bază a limbajului de programare, dar inițial este un lucru destul de util.

Un exemplu simplu, pe care am discutat mai sus, ne arată clar ce programator.

Acest lucru ar trebui să fie capabil să facă programator?

Sarcina principală a programator este după cum urmează: traducerea ideilor într-o limbă înțeleasă de calculatoare. Să ne examinăm din nou cum se întâmplă.

La început am vrut să creăm o strategie pe începem să ne gândim la o parte din programul viitor. Deci, vrem jocul are loc pe o dimensiune câmp limitat de 64 * 64 celule. Prin urmare, următoarea regulă: orice caracter din joc trebuie să fie în acest domeniu. Fiecare personaj are coordonatele care definesc locația pe hartă. Pentru a verifica cu exactitate că un caracter se află în interiorul câmpului, trebuie să verificați pentru a vedea dacă personajul a traversat oricare dintre cele patru laturi ale câmpului. Acum putem scrie cod pseudo (sau cod direct, dacă sunt bine cunosc suficient de orice limbaj de programare):

Ca urmare a unei singure propoziții: „Fiecare personaj din joc trebuie să fie în domeniul 64 * 64“ - a primit patru sucursale, din care fiecare va consta dintr-un singur operator.

Cel mai dificil si mai importante la etapa inițială de formare pentru programare - să învețe să traducă gândurile cu limbajul uman pentru limbaje de programare (mijloace fixe pe care le-am discutat în lecția precedentă).

Flowcharts (blockschemes)

Schema bloc - o reprezentare grafică a programului.

Flowcharts sunt construite din blocuri separate. În acest caz, diferite mijloace de limbaje de programare în organigramele sunt reprezentate de blocuri diferite. De exemplu, pentru starea pe care este construit diamantul descris ramificare. Operatorul, în care informația de procesare este reprezentat de un dreptunghi. Să discutăm mai detaliat diferitele blocuri.

Fiecare program are un început și un sfârșit. Organigramele începutul și sfârșitul programului desemnat de dreptunghiuri cu colțuri rotunjite. cuvinte scrise în interiorul acestor cutii, „acasă“, „End“.

Organigramele emit două tipuri de operatori: operatori și operatori de date de intrare / ieșire.

Unitatea de procesare a datelor reprezentat de un dreptunghi. În aceste există diferite operatori de procesare de calcul (adunare, scădere, înmulțire, împărțire numere). Să ne uităm la un program simplu, cu trei operatori:

Pseudo-cod și organigramele

După cum puteți vedea, blocurile sunt conectate prin linii cu săgeți. Săgețile indică secvența de blocuri.

Al doilea tip de operatori din organigrame - blocuri de date de intrare / ieșire. Acestea sunt denumite quads cu flancurilor oblici. În aceste unități nu există date de intrare / ieșire: date de imprimare pe ecran pentru a obține coordonatele cursorului mouse-ului, obținerea de comenzi rapide de la tastatură, care sunt împinse de către utilizator:

Pseudo-cod și organigramele

Pe cele două imagini anterioare vom vedea executarea consecventă a declarațiilor. Acum, să ne uităm la modul de a bloca diagrame prezentate ramificare. unitate de condiție utilizată pentru construirea unor sucursale în diagramele de flux, care este notat cu diamant:

Pseudo-cod și organigramele

În cazul în care condiția este înregistrată într-un romb, se realizează, atunci codul pentru linia „da“, iar în cazul în care nu sunt îndeplinite, atunci ramura „Nu“.

În ultima lecție am văzut exemple de ramura, care a fost mai mult de două ramuri. Pentru a realiza astfel de condiții de ramificare folosind blocuri nevoie pentru a utiliza aceste blocuri de înglobare într-unul pe altul.

De asemenea, este posibil să se construiască o sucursală cu o singură ramură. În organigramele va arăta astfel:

Pseudo-cod și organigramele

Rețineți că linia nu atrage în mod necesar din stânga și din dreapta a blocului condiție poate fi și de mai jos. În această ramură a blocului ar trebui să meargă doar două ramuri: una care îndeplinește condiția, iar celălalt, care nu îndeplinește condiția.

În aceeași imagine am arătat câteva noi lucruri: elipse și cercuri.

Elipsa este folosit pentru a arăta că în acest moment este omis mai mulți operatori.

Circumferința spune că este o continuare a codului, care a fost dezvoltat în altă parte, sau că codul va fi continuată în altă parte. Cercurile sunt deosebit de utile atunci când diagramele bloc remiză pe hârtie. Cu cercuri, puteți rupe codul, în cazul în care programul nu este inclus pe pagina următoare.

Dacă doriți să rupă codul cu mai multe ramuri, cercul numerotate.

Pentru a indica cicluri pe diagrame bloc folosiți următorul bloc:

Pseudo-cod și organigramele

În interiorul pentagon înregistrate condiție pentru a continua ciclul. În cazul în care condiția este îndeplinită, atunci ciclul și codul. Rețineți că codul este întotdeauna ciclu înapoi la începutul ciclului. În cazul în care condiția nu este îndeplinită, atunci următoarea declarație după bucla.

Și acum să vedem cum o diagramă bloc a programului va arăta, pe care am discutat mai sus pseudo-cod:

Pseudo-cod și organigramele

Am fost un mic program îmbunătățit. Acest lucru nu este verificat doar coordonatele o unitate, dar coordonatele tuturor unităților de joc. Unitățile sunt ele însele stocate în unitățile matrice. Tot în joc douăzeci de unități. Pentru a verifica locația tuturor unităților, utilizează un curent variabil (curent - curentul este citit ca karrent). In imagine nu arată două lucruri: ea crește variabila curentă și că x și y sunt verificate pentru unitatea curentă.

Creșterea actuală trebuie să aibă loc după ce toate ramurile, dar înainte de procesorul va reveni la începutul ciclului. Am ratat acel moment când am desenat o imagine (și reticența corectată).

concluzie

Aici, în general, și totul în pseudo-cod și organigrame. Unele lucruri am pierdut, sper, completat mai târziu.

Cel mai important lucru pe care ar trebui să învețe: codul pseudo și organigramele - acesta ajută la crearea unor programe. Pentru a utiliza sau nu le până la tine - nu suntem la școală. Este posibil ca crearea de pseudo-cod și construirea de diagrame de flux pentru a vă ajuta să înțelegeți primul program. Dar pentru a face acest lucru trebuie să dețină, în clasele lor, eu nu folosesc nici una, nici alta.

Arkanoid

Pseudo-cod și organigramele

aparat foto
Pseudo-cod și organigramele

celulele
Pseudo-cod și organigramele

sprite
Pseudo-cod și organigramele

articole similare