Kapcsolatok

Orosz algoritmikus nyelv. Algoritmikus nyelvek és programozás. Alapszerkezeti elágazás

Oktatási Minisztérium Orosz Föderáció Permi Állami Műszaki Egyetem

osztály információs technológiákés automatizált rendszerek

Vikentyeva O.L.

Előadásjegyzetek a kurzushoz " Algoritmikus nyelvekés programozás" (C++ nyelv alapjai, I. félév)

Bevezetés

Az első félév a C nyelv alapkonstrukcióival és az alapvető programozási technológiával (strukturált programozás) foglalkozik.

A strukturált programozás olyan programkészítési technológia, amely bizonyos szabályok betartásával csökkenti a fejlesztési időt és a hibák számát, valamint elősegíti a program módosításának lehetőségét.

1.1. Algoritmus és program

Az algoritmus egy pontos előírás, amely meghatározza számítási folyamat, a változtatható kiindulási adatoktól a végeredményig haladva, vagyis ez egy recept valamilyen cél elérésére.

Az algoritmus számítógép általi végrehajtásra alkalmas formában történő megjelenítésére szolgáló eszközök és szabályok összességét programozási nyelvnek, az ezen a nyelven írt algoritmust programnak nevezzük.

Először mindig kidolgoznak egy akcióalgoritmust, majd megírják valamelyik programozási nyelven. A program szövegét speciális szolgáltatási programok - fordítók dolgozzák fel. A programozási nyelvek mesterséges nyelvek. A természetes nyelvektől korlátozott számú "szóban" és a parancsok (operátorok) írásának nagyon szigorú szabályaiban különböznek. Ezen követelmények összessége alkotja a programozási nyelv szintaxisát, és az egyes konstrukciók jelentése annak szemantikája.

1.2 Az algoritmus tulajdonságai

1. Tömegkarakter: az algoritmust nem egy feladatra, hanem hasonló problémák egész osztályára kell alkalmazni (egy másodfokú egyenletet megoldó algoritmusnak nem egy egyenletet kell megoldania, hanem az összes másodfokú egyenletet).

2. Hatékonyság: az algoritmusnak meghatározott számú lépésben kell eredményre vezetnie (1-et 3-mal osztva 0,3333(3) periodikus tört keletkezik, a végeredmény eléréséhez meg kell adni ennek a törtnek a megszerzésének pontosságát, például legfeljebb 4 tizedesjegyig).

3. Határozottság (determinizmus) - az algoritmus minden műveletének világosnak kell lennie az előadó számára (a háztartási készülékre vonatkozó utasítások japánul nem beszélők számára nem algoritmus, mivel nem rendelkezik determinizmus tulajdonsággal).

4. Diszkrétség – a folyamatot oszthatatlan használatával kell leírni

az egyes lépésekben végrehajtott műveletek (azaz a lépések nem oszthatók kisebb lépésekre).

Az algoritmusok a következő formákban ábrázolhatók:

1) az algoritmus szóbeli leírása.

2) az algoritmus grafikus leírása.

3) algoritmikus programozási nyelv használatával

1.2. Fordítók és tolmácsok

VAL VEL programozási nyelv segítségével szöveg jön létre, amely leír egy korábban összeállított algoritmust. Ahhoz, hogy működő programot kapjon, le kell fordítania ezt a szöveget processzor utasítások sorozatává, amely a segítségével történik speciális programok, amelyeket fordítóknak neveznek. Kétféle fordító létezik: fordító és tolmács. A fordító a forrásmodul szövegét egy folyamatos folyamatban gépi kódra fordítja, amelyet objektummodulnak nevezünk. Ugyanakkor először átnézi a program forráskódját keresve szintaktikai hibák. Az értelmező a program forrásmodulját a mód operátorban hajtja végre operátoronként, a szerint

a munka menetét, az egyes állításokat gépi nyelvre fordítva.

1.3 Programozási nyelvek

A különböző típusú processzorok eltérő utasításkészlettel rendelkeznek. Ha egy programozási nyelv egy bizonyos típusú processzorra összpontosít, és figyelembe veszi annak jellemzőit, akkor alacsony szintű programozási nyelvnek nevezzük. A legalacsonyabb szintű nyelv az assembly nyelv, amely egyszerűen reprezentálja az egyes gépi kód utasításokat speciális szimbólumok, úgynevezett mnemonikák formájában. Az alacsony szintű nyelvek segítségével nagyon hatékony és kompakt programok születnek, mert a fejlesztő a processzor minden képességéhez hozzájut. Mivel utasításkészletek számára különböző modellek processzorok is különböznek, akkor minden processzormodellnek megvan a maga assembly nyelve, és a benne írt program csak ebben a környezetben használható. Hasonló nyelveket használnak kis betűk írásához rendszeralkalmazások, eszközillesztőprogramok stb.

Programozási nyelvek magas szint ezért ne vegyék figyelembe az adott számítógép-architektúrák jellemzőit létrehozott programokat forrásszinten könnyen átvihetők más platformokra, ha megfelelő fordítókat hoznak létre számukra. Magas szintű nyelveken programokat fejleszteni sokkal könnyebb, mint gépi nyelveken.

A magas szintű nyelvek a következők:

1. A Fortran az első olyan lefordított nyelv, amelyen készült 20. század 50-es évei. Számos fontos programozási koncepciót valósított meg. Erre a nyelvre jött létre nagy mennyiség könyvtárak a statisztikai programcsomagoktól a műholdkezelésig, így továbbra is számos szervezetben használják.

2. COBOL – Összeállított nyelv a gazdasági számításokhoz és megoldásokhozüzleti feladatok a 60-as évek elején alakultak ki. A Cobol nagyon hatékony eszközöket vezetett be a külső adathordozón tárolt nagy mennyiségű adat kezeléséhez.

3. Pascal - a végén létrehozva A 70-es évek a svájci matematikus, Niklaus Wirth által kifejezetten programozás tanítására. Lehetővé teszi, hogy fejlessze az algoritmikus gondolkodást, építsen egy rövid, jól olvasható program, bemutatja az algoritmizálás alapvető technikáit, nagy projektek megvalósítására is kiválóan alkalmas.

4. BASIC – létrehozva: 60-as évek programozás oktatására is. Vannak hozzá fordítók és tolmácsok, ez az egyik legnépszerűbb programozási nyelv.

5. A C - a 70-es években készült, kezdetben nem számított tömeges programozási nyelvnek. Az assembler lecserélését tervezték, hogy ugyanazokat a hatékony és rövid programokat lehessen létrehozni, de ne egy adott processzortól függjenek. Sok tekintetben hasonlít a Pascalhoz, és van is további jellemzők memóriával dolgozni. Sok alkalmazott és rendszerprogramok, valamint operációs rendszer Unix.

6. A C++ a C nyelv objektumorientált kiterjesztése, amelyet Bjarne Stroustrup hozott létre 1980-ban.

7. A Java egy nyelv, amelyet kezdetben a Sun hozott létre 90-es évek C++ alapú. Úgy tervezték, hogy leegyszerűsítse az alkalmazások fejlesztését C++ nyelven az alacsony szintű szolgáltatások kiiktatásával. fő jellemzője nyelv az, hogy nem gépi kódba, hanem platformfüggetlen bájtkódba fordítják (minden parancs egy bájtot foglal el). Ezt a kódot egy interpreter, a Java Virtual Machine (JVM) segítségével lehet végrehajtani.

2. A program felépítése C++ nyelven

Egy C program a következő szerkezettel rendelkezik: #preprocessor direktívák

. . . . . . . . .

# előfeldolgozó direktívák függvény a ()

függvény operátorok ()

operátorok

void main () //függvény, amellyel a program végrehajtása elindítja az operátorokat

leírások

feladatokat

üres utasítás függvény

összetett

átmenet

Előfeldolgozó direktívák - a programszöveg átalakításának vezérlése a fordítás előtt. Forrás program formában SI-ben elkészítve szöveges fájl, a feldolgozás 3 szakaszán megy keresztül:

1) előfeldolgozó szövegátalakítás;

2) összeállítás;

3) elrendezés (link szerkesztés vagy összeállítás).

E három szakasz után kialakul a program végrehajtható kódja. A prepro-

cessor - a program szövegének átalakítása annak összeállítása előtt. Az előfeldolgozási szabályokat a programozó határozza meg az előfeldolgozó direktívák segítségével. Az utasítás #-el kezdődik. Például,

1) #define - a helyettesítési szabályokat jelzi a szövegben. #define NULLA 0.0

Azt jelenti, hogy a programban a ZERO név minden egyes használata helyett a következőre kerül:

2) #include< имя заголовочного файла>- a mellékelt "Fejlécfájlok" katalógusából a program szövegébe való beillesztésre szolgál szabványos könyvtárak. Minden C függvénytárnak megfelelő leírása van az egyik fejlécfájlban. A fejlécfájlok listáját a nyelvi szabvány határozza meg. Az include direktíva használata nem tartalmazza a megfelelő szabványos előtétet.

könyvtárat, de csak a megadott fejlécfájlból lehet leírásokat beszúrni a program szövegébe. A könyvtári kódok összekapcsolása a link szakaszban történik, vagyis a fordítás után. Bár a fejlécfájlok tartalmazzák a szabványos függvények összes leírását, csak a programban használt függvények szerepelnek a programkódban.

Az előfeldolgozás után nem maradnak előfeldolgozói direktívák a programszövegben.

A program leírások és definíciók halmaza, és egy sor függvényből áll. Ezen függvények között mindig lennie kell egy main nevű függvénynek. Enélkül a program nem futhat. A függvény nevét megelőzi a függvény által visszaadott érték típusára vonatkozó információ (az eredmény típusa). Ha a függvény nem ad vissza semmit, akkor a void típus kerül megadásra: void main(). Minden függvénynek, beleértve a főt is, rendelkeznie kell egy paraméterkészlettel, lehet üres is, ekkor a (void) zárójelben van feltüntetve.

A függvény törzse a függvény fejlécet követi. A függvény törzse definíciók, deklarációk és végrehajtható utasítások sorozata, kapcsos zárójelek között. Minden meghatározás, leírás vagy állítás pontosvesszővel végződik.

Definíciók - a programban feldolgozott adatok megjelenítéséhez szükséges objektumok bemutatása (az objektum egy elnevezett memóriaterület, az objektum speciális esete egy változó). Egy példa az

int y = 10; //nevű konstans float x ; //változó

Leírások - értesíti a fordítót a program más részeiben leírt objektumok és függvények tulajdonságairól és nevéről.

Operátorok - meghatározzák a program műveleteit a végrehajtás minden lépésében

C példa program:

#beleértve //előfeldolgozó direktíva

Ellenőrző kérdések

1. Milyen részei vannak a C++ programnak?

2. Miben különbözik egy meghatározás a nyilatkozattól?

3. Sorolja fel a végrehajtható program létrehozásának szakaszait C++ nyelven.

4. Mi az az előfeldolgozó?

5. Mi az előfeldolgozó direktíva? Mondjon példákat az előfeldolgozó direktívákra!

6. Írj egy programot, ami kiírja a "My first C++ program" szöveget

2. A C++ nyelv alapjai 2.1 A nyelv összetétele

A természetes nyelvű szövegben négy fő elemet lehet megkülönböztetni: szimbólumokat, szavakat, kifejezéseket és mondatokat. Az algoritmikus nyelv is tartalmaz ilyen elemeket, csak a szavakat lexémáknak (elemi konstrukcióknak), a kifejezéseket - kifejezéseket, mondatokat - operátoroknak nevezik. A tokeneket szimbólumokból, kifejezéseket lexémákból és szimbólumokból, operátorokat kifejezések és lexémák szimbólumaiból képeznek (1.1. ábra)

Rizs. 1.1. Az algoritmikus nyelv összetétele Így az algoritmikus nyelv elemei a következők:

Az azonosítók a C-program objektumok nevei. Az azonosítóban latin betűk, számok és aláhúzásjelek használhatók. A kis- és nagybetűket megkülönböztetjük, például a PROG1, a prog1 és a Prog1 három különböző azonosító. Az első karakternek betűnek vagy aláhúzásjelnek kell lennie (nem számnak). Az azonosítókban szóköz nem megengedett.

A kulcsszavak (fenntartott) olyan szavak, amelyek különleges jelentéssel bírnak a fordító számára. Nem használhatók azonosítóként.

- A műveleti jelek egy vagy több szimbólum, amelyek az operandusokon végzett műveleteket határozzák meg. A műveletek unáris, bináris és háromtagú műveletekre oszthatók a műveletben részt vevő operandusok száma szerint.

A konstansok változatlan értékek. Vannak egész, valós, karakter- és karakterlánc-állandók. A fordító egy konstanst tokenként (elemi konstrukcióként) különböztet meg, és megjelenése szerint valamelyik típushoz rendeli.

Elválasztók – zárójelek, pontok, vesszők, szóköz karakterek.

2.1.1. Konstansok a C++-ban

A konstans egy olyan token, amely rögzített numerikus, karakterlánc- vagy karakterérték reprezentációját képviseli.

Az állandók 5 csoportra oszthatók:

egész;

- valódi (lebegőpont);

felsorolva;

Szimbolikus;

Húr.

A fordító kiválaszt egy lexémát, és hozzárendeli egyik vagy másik csoporthoz, majd belsőleg

három csoport egy bizonyos típushoz a program szövegében való írásmódja és a számérték szerint.

Az egész konstans lehet decimális, oktális és hexadecimális. A decimális állandó definíciója szerint a decimális számjegyek sorozata, amely nem 0-val kezdődik, kivéve, ha ez a szám 0 (példák: 8, 0, 192345). Az oktális állandó olyan állandó, amely mindig 0-val kezdődik. A 0-t oktális számjegyek követik (példák: 016 - decimális érték 14, 01). A hexadecimális állandók hexadecimális számjegyek sorozata, amelyeket 0x vagy 0X karakterek előznek meg (például: 0xA, 0X00F).

V egy egész szám konstans fordító értékétől függően másképp mutassa be

v számítógép memóriája (azaz a fordító a megfelelő adattípust rendeli a konstanshoz).

A valódi konstansok másfajta belső reprezentációt mutatnak a számítógép memóriájában. A fordító az ilyen állandókat alakjuk alapján ismeri fel. A valós állandók kétféleképpen ábrázolhatók: fixpontos és lebegőpontos. Fixpontos konstans típusa: [számjegyek].[számjegyek] (példák: 5.7, .0001, 41.). Lebegőpontos konstans típusa: [számjegyek][.][számjegyek]E|e[+|-][számjegyek ] (példák: 0,5e5, .11e-5, 5E3). A valós állandók jelölésénél akár egész, akár tört rész, vagy tizedesvessző, vagy kitevős kitevő előjele elhagyható.

A felsorolt ​​konstansokat az enum kulcsszó segítségével vezetjük be. Ezek közönséges egész szám konstansok, amelyekhez egyedi és könnyen használható jelölések vannak hozzárendelve. Példák: enum ( egy=1, kettő=2, három=3, négy=4);

enum (nulla,egy,kettő,három) - ha az = és előjelek kimaradtak a felsorolt ​​konstansok meghatározásából számértékek, akkor a rendszer az alapértelmezett értékeket rendeli hozzá. Ebben az esetben a bal szélső azonosító 0 értéket kap, és minden további 1-gyel nő.

enum( tíz=10, három=3, négy, öt, hat);

enum (vasárnap, hétfő, kedd, szerda, csütörtök, péntek, szombat-

A karakterkonstansok egy vagy két, aposztrófok közé zárt karakter. Az egy karakterből álló karakterkonstansok char típusúak és egy bájtot foglalnak el a memóriában, a két karakterből álló karakterkonstansok int típusúak és két bájtot foglalnak el. A \ jellel kezdődő szekvenciákat escape szekvenciáknak nevezzük, ezeket használják:

- Grafikus megjelenítéssel nem rendelkező karakterek ábrázolásához, például:

\a - hangjelzés,

\b - visszalépés egy lépéssel, \n - soremelés,

\t - vízszintes fül.

- Karakterek ábrázolásához: \ , ' , ? , ” (\\, \’ ,\? ,\”).

- Karakterek megjelenítése hexadecimális vagy oktális kódokkal (\073, \0xF5).

A karakterlánc-konstans egy idézőjelbe zárt karaktersorozat.

A vezérlőkarakterek a karakterláncokon belül is használhatók. Például: "\nÚj sor",

„\n\”Magas szintű algoritmikus programozási nyelvek\”” .

2.2. Adattípusok C++ nyelven

Az adatok a program körüli világot jelenítik meg. A program célja az adatok feldolgozása. Adat különféle típusok eltérő módon tárolják és dolgozzák fel. Az adattípus meghatározza:

1) adatok belső megjelenítése a számítógép memóriájában;

2) az értékkészlet, amelyet az ilyen típusú értékek felvehetnek;

3) az ilyen típusú adatokra alkalmazható műveletek és függvények.

V A programozó a feladat követelményeitől függően választ ki egy típust a programobjektumokhoz. A C++ típusok egyszerű és összetett típusokra oszthatók. Az egyszerű típusok olyan típusok, amelyeket egyetlen érték jellemez. A C++ 6 egyszerű adattípust határoz meg:

int (egész szám)

karakter (karakter)

wchar_t (széles karakter) bool (boolean) float (valódi)

dupla (dupla pontosságú valódi)

A szabvány típusok belső reprezentációját és tartományát 4 típusspecifikáció határozza meg

rövid (rövid) hosszú (hosszú) aláírt (aláírt)

aláírás nélküli

2.2.1. írja be az int

Az ilyen típusú értékek egész számok.

Az int típus méretét nem határozza meg a szabvány, hanem a számítógéptől és a fordítótól függ. 16 bites processzornál 2 bájt van lefoglalva, 32 bitesnél 4 bájt.

Ha az int előtt van egy rövid specifikátor, akkor 2 bájt van lefoglalva a számnak, ha pedig hosszú, akkor 4 bájt. Az objektum által felvehető érvényes értékek készlete az objektumhoz lefoglalt memória mennyiségétől függ:

short int - 2 bájtot foglal el, ezért tartománya -32768 ..+32767;

long int - 4 bájtot foglal el, ezért tartománya -2 147 483 648..+2 147 483 647

Az int típus megegyezik a 16 bites PC-ken a short int típussal és a 32 bites PC-ken a long int típussal.

Az aláírt és előjel nélküli módosítók befolyásolják az objektum által felvehető érvényes értékek készletét is:

előjel nélküli rövid int - 2 bájtot foglal el, ezért a tartománya 0 ..65536; unsigned long int - 4 bájtot foglal el, ezért a tartománya 0..+4 294 967

2.2.2. típus char

Az ilyen típusú értékek véges rendezett karakterkészlet elemei. Minden karakterhez egy szám tartozik, amelyet karakterkódnak neveznek. A karaktertípus értékéhez 1 bájt van lefoglalva. A char típus az előjeles és előjel nélküli specifikációkkal használható. Az előjeles karakterek -128 és 127 közötti értékeket tárolhatnak. Az előjel nélküli karakterek 0 és 255 közötti tartományban tárolhatnak értékeket. A kódolás ASCII-t (American Standard Code foe International Interchange) használ. A 0 és 31 közötti kóddal rendelkező karakterek hivatalosak és rendelkeznek független jelentése csak az I/O utasításokban.

A char típusú értékeket a megadott tartományokból származó számok tárolására is használják.

2.2.3. wchar_t típusú

Úgy tervezték, hogy olyan karakterkészlettel működjön, amelyekhez a kódolás nem elegendő 1 bájthoz, például Unicode. Ennek a típusnak a mérete általában a rövid típusnak felel meg. Az ilyen típusú karakterlánc-konstansokat L előtaggal írjuk: L"String #1".

2.2.4. típusú bool

A bool típust logikainak nevezik. Értékei felvehetik az értékeket igaznak és hamisnak. A false belső reprezentációja 0, minden más érték igaznak értelmeződik.

2.2.5. lebegőpontos típusok.

A valós szám belső reprezentációja 2 részből áll: mantisszából és kitevőből. IBM-kompatibilis PC-ken a lebegőértékek 4 bájtot foglalnak el, amelyből egy bit a mantissza előjeléhez, 8 bitje a kitevőhöz és 24 a mantissza előjeléhez tartozik.

A dupla típusú értékek 8 bájtot foglalnak el, a sorrendhez 11 és 52 számjegy van hozzárendelve, illetve mantisszához. A mantissza hossza határozza meg a szám pontosságát, míg a kitevő hossza határozza meg a tartományát.

Ha a dupla típusnév előtt a hosszú megadó szerepel, akkor a rendszer bájtokat foglal le az értékhez.

2.2.6. üres típus

NAK NEK a fő típusok közé tartozik az üres típus is, ennek a típusnak az értékkészlete üres.

2.3. Változók

A C++ változója egy elnevezett memóriaterület, amely egy bizonyos típusú adatokat tárol. A változónak van neve és értéke. A név arra a memóriaterületre utal, ahol az értéket tárolják. Használat előtt minden változót deklarálni kell. Példák:

A leírás operátor általános nézete:

[memóriaosztály] típusnév [inicializáló];

A tárolási osztály a következő értékeket veheti fel: auto, extern, static, register. A tárolási osztály határozza meg a változó élettartamát és hatókörét. Ha a tárolási osztály nincs kifejezetten megadva, akkor a fordító a deklaráció kontextusa alapján határozza meg. Az élettartam lehet állandó - a program végrehajtása alatt, vagy ideiglenes - a mondat alatt. A hatókör a programszöveg azon része, ahonnan a változó normál elérése engedélyezett. Általában a hatókör megegyezik a hatókörrel. Kivéve, ha a belső blokkban van egy azonos nevű változó.

Const – azt jelzi, hogy ez a változó nem változtatható meg (konstans néven). Leíráskor egy változóhoz kezdőértéket rendelhet (inicializálás). Memória osztályok:

Az auto egy automatikus helyi változó. Az automatikus specifikáció csak blokkobjektumok definiálásakor adható meg, például egy függvény törzsében. A memória ezekhez a változókhoz kerül lefoglalásra a blokkba való belépéskor, és felszabadulása a blokkból való kilépéskor. A blokkon kívül ilyen változók nem léteznek.

Az extern egy globális változó, a programban máshol található (egy másik fájlban vagy később a szövegben). Az összes programfájlban elérhető változók létrehozására szolgál.

A static egy statikus változó, csak abban a fájlban létezik, ahol a változó definiálva van.

regiszter - hasonló az auto-hoz, de a memória a processzor regisztereiben van lefoglalva. Ha ez nem lehetséges, akkor a változókat a rendszer autoként kezeli.

int a; //globális változó void main()(

int b;//helyi változó

extern int x;//az x változó máshol van definiálva static int c;//helyi statikus változó a=1;//globális változóhoz való hozzárendelés

int a;//helyi változó a

a=2;//hozzárendelés lokális változóhoz::a=3;//hozzárendelés globális változóhoz

int x=4;//x meghatározása és inicializálása

A példában az a változó az összes blokkon kívül van definiálva. Az a változó hatóköre a teljes program, kivéve azokat a sorokat, ahol az a helyi változót használjuk. A b és c változók lokálisak, hatókörük blokk. Az élettartam más: a b alatti memória a blokkba való belépéskor kerül lefoglalásra (mivel az alapértelmezett memóriaosztály az auto), kilépéskor felszabadul. A (static) jelű változó létezik a program futása közben.

Ha a változók nincsenek kifejezetten inicializálva a definiálásukkor, a fordító a globális és statikus változókat nullára állítja. Az automatikus változók nincsenek inicializálva.

A változó nevének egyedinek kell lennie a hatókörén belül.

A változó deklarációja deklarációként vagy definícióként is elvégezhető. A deklaráció információkat tartalmaz a változó tárolási osztályáról és típusáról, és a definíció ezekkel az információkkal együtt utasítja a tárhely lefoglalását. A példában extern int x; - deklaráció, a többi pedig - definíciók.

2.4 Műveletek jelei C++ nyelven

A műveleti jelek biztosítják a kifejezések kialakítását. A kifejezések operandusokból, operátorjelekből és zárójelekből állnak. Minden operandus egy kifejezés vagy egy kifejezés speciális esete - egy állandó vagy egy változó.

Unáris műveletek

& kapja meg az operandus címét

* Hivatkozás egy címre (hivatkozás)

- unáris mínusz, megváltoztatja az aritmetikai operandus előjelét

++ Egységnövelés:

előtag művelet - növeli az operandust, mielőtt használatba venné

A postfix művelet növeli az operandust a használat után

int a=(m++)+n; // a=4,m=2,n=2

int b=m+(++n);//a=3,m=1,n=3

eggyel csökkenteni:

előtag művelet – az operandust a használatára redukálja

A postfix művelet csökkenti az operandust a használat után

méretének kiszámítása (byte-ban) egy olyan típusú objektumhoz, amely

operandusa van

két formája van

kifejezés mérete

mérete(úszó)//4

sizeof(1.0)//8, mivel a valós állandók az alapértelmezettek

Algoritmikus nyelv - ez egy jelölési és szabályrendszer az algoritmusok és azok végrehajtásának egységes és pontos rögzítésére. Az algoritmikus nyelv az algoritmusok analitikus formában történő írásának eszköze, amely közbenső a természetes (emberi) nyelven történő algoritmus és a számítógépes nyelven (programozási nyelv) történő írás között.

Különbség van az "algoritmikus nyelv" és a "programozási nyelv" fogalma között. Először is, egy algoritmikus nyelven írt program nem feltétlenül számítógéphez készült. Az algoritmikus nyelv gyakorlati megvalósítása minden esetben külön kérdés.

Mint minden nyelvnek, az algoritmikus nyelvnek is megvan a maga szókincse. Ennek a szótárnak az alapja egy adott algoritmus végrehajtójának parancsrendszerében szereplő parancsok rögzítésére használt szavak. Az ilyen parancsokat egyszerű parancsoknak nevezzük. Az algoritmikus nyelvben olyan szavakat használnak, amelyek jelentése és használati módja egyszer s mindenkorra be van állítva. Ezeket a szavakat úgy hívják hivatalos. A szolgálati szavak használata látványosabbá teszi az algoritmus rögzítését, egységes a különféle algoritmusok bemutatási formája.

Az algoritmikus nyelven írt algoritmusnak nevet kell adni. A nevet célszerű úgy megválasztani, hogy egyértelmű legyen, melyik megoldást írja le az adott algoritmus. Az algoritmus nevének kiemelésére az ALG (ALGORITHM) szolgáltatásszót írjuk elé. Az algoritmus neve mögött (általában a új sor) rögzítse a parancsait. Az algoritmus kezdetének és végének jelzésére a parancsai egy BEGIN (START) és KON (END) szolgáltatásszó párba vannak zárva. A parancsok egymás után íródnak.

ALG - az algoritmus neve

algoritmus utasítások sorozata

Például egy algoritmus, amely meghatározza egy robot-előadó mozgását, így nézhet ki:

ALG - raktárba

Új algoritmusok készítésekor a korábban összeállított algoritmusok használhatók. Azokat az algoritmusokat, amelyeket teljes egészében más algoritmusok részeként használnak, segédalgoritmusoknak nevezzük. Kiegészítő lehet bármilyen algoritmus a korábban összeállítottak közül. Az sem kizárt, hogy egy segédalgoritmus egy adott helyzetben olyan algoritmus is lehet, amely maga is tartalmaz hivatkozást a segédalgoritmusokhoz.

Az algoritmusok összeállításakor nagyon gyakran válik szükségessé, hogy segédprogramként ugyanazt az algoritmust használjuk, ami ráadásul nagyon bonyolult és körülményes lehet. A munka megkezdésekor irracionális lenne egy ilyen algoritmust minden alkalommal összeállítani és megjegyezni a későbbi felhasználáshoz. Ezért a gyakorlatban széles körben elterjedtek az úgynevezett beépített (vagy szabványos) segédalgoritmusok, pl. olyan algoritmusok, amelyek folyamatosan elérhetők az előadó számára. Az ilyen algoritmusokhoz való fellebbezés ugyanúgy történik, mint a „hétköznapi” segédalgoritmusok esetében. A robot-előadónak beépített segédalgoritmusa lehet, amely a munkaterület bármely pontjáról a raktárba költözik; a BASIC programozási nyelv végrehajtója esetében ez például a beépített "SIN" algoritmus.

Egy algoritmus hivatkozhat önmagára, mint segítőre, ebben az esetben hívják rekurzív. Ha az algoritmust önmagának hívó parancs magában az algoritmusban van, akkor az ilyen rekurziót ún. egyenes. Vannak esetek, amikor ennek az algoritmusnak a rekurzív hívása egy segédalgoritmustól származik, amelyhez ezt az algoritmust van fellebbezés. Ezt a fajta rekurziót ún közvetett. Példa közvetlen rekurzióra:

ALG - mozgás

mozgás

Azokat az algoritmusokat, amelyek végrehajtása során bizonyos feltételek ellenőrzésének eredményétől függően meghatározzák a parancsok sorrendjét, ún. elágazó. Az algoritmikus nyelven történő leírásukhoz speciális összetett parancsot használnak - a parancsot elágazó. A robot-előadó tekintetében feltétel lehet annak ellenőrzése, hogy a robot a munkamező szélén van-e (él/nem_él); objektum jelenlétének ellenőrzése az aktuális cellában (igen/nem) és néhány más:

HA feltétel IF feltétel IF él

TO sorozat1 TO sorozat TO jobbra

ELSE series2 MINDEN MÁS előre

A következő egy algoritmikus nyelvi bejegyzés a select parancshoz, amely az elágazási parancs továbbfejlesztése:

AT 1. feltétel: 1. sorozat

AT 2. feltétel: 2. sorozat

AT N állapot: N sorozat

ELSE N+1 sorozat

Ciklikusnak nevezzük azokat az algoritmusokat, amelyek végrehajtása során egyedi utasításokat vagy utasítások sorozatát ismételten végrehajtják. A ciklikus algoritmusok algoritmikus nyelven való rendszerezéséhez egy speciális összetett ciklus parancsot használnak. Az „iteráció” típusú folyamatábráknak felel meg, és a következő formájú lehet:

BYA állapot NC

sorozat ELŐTT állapot

Az algoritmus egy pontos és érthető sorrend az előadó számára a probléma megoldását célzó műveletek sorozatának végrehajtására.

Az "algoritmus" név a közép-ázsiai matematikus al-Khwarizmi - Algorithmi - nevének latin formájából származik. Az algoritmus a számítástechnika és a matematika egyik alapfogalma.

Az algoritmus végrehajtója valamilyen absztrakt vagy valós (műszaki, biológiai vagy biotechnikai) rendszer, amely képes végrehajtani az algoritmus által előírt műveleteket.

Az előadót a következők jellemzik:

elemi cselekvések;

parancsrendszer;

A környezet (vagy környezet) az előadó "élőhelye". Például a Robot előadóművész számára egy iskolai tankönyvből a környezet egy végtelen sejtmező. A falak és az árnyékolt cellák is a környezet részét képezik. Helyük és maga a Robot helyzete pedig meghatározza a környezet konkrét állapotát.

Minden végrehajtó csak bizonyos szigorúan meghatározott listából - a végrehajtó parancsrendszeréből - tud parancsokat végrehajtani. Minden parancshoz meg kell adni az alkalmazhatósági feltételeket (mely környezeti állapotokban lehet végrehajtani a parancsot), és le kell írni a parancsvégrehajtás eredményeit. Például a Robot "fel" parancsa végrehajtható, ha nincs fal a robot felett. Ennek eredménye a Robot egy cellával feljebb való elmozdulása.

A parancs hívása után a végrehajtó végrehajtja a megfelelő elemi műveletet.

A végrehajtó meghibásodása akkor fordul elő, ha egy parancsot akkor hívnak meg, amikor a környezet állapota érvénytelen.

Általában az előadó semmit sem tud az algoritmus céljáról. Az összes kapott parancsot végrehajtja anélkül, hogy „miért” és „miért” kérdéseket tenne fel.

A számítástechnikában az algoritmusok univerzális végrehajtója a számítógép.

Az algoritmusok főbb tulajdonságai a következők:

Az előadó számára érthetőség -- i.e. Az algoritmus végrehajtójának tudnia kell, hogyan kell végrehajtani.

Diszkrétség (diszkontinuitás, szétválasztás) - i.e. az algoritmusnak a probléma megoldásának folyamatát egyszerű (vagy korábban meghatározott) lépések (szakaszok) egymás utáni végrehajtásaként kell ábrázolnia.

A bizonyosság -- pl. az algoritmus minden szabályának világosnak, egyértelműnek kell lennie, és nem hagyhat teret az önkényességnek. Ennek a tulajdonságnak köszönhetően az algoritmus végrehajtása mechanikus jellegű, és nem igényel további utasításokat vagy információkat a megoldandó problémáról.

Hatékonyság (vagy végesség). Ez a tulajdonság az, hogy az algoritmusnak véges számú lépésben kell a feladat megoldásához vezetnie.

Tömegjelleg. Ez azt jelenti, hogy a probléma megoldására szolgáló algoritmust ben dolgozzák ki Általános nézet, azaz egy bizonyos problémaosztályra kell alkalmazni, amelyek csak a kezdeti adatokban különböznek egymástól. Ebben az esetben a kiindulási adatokat egy bizonyos területről lehet kiválasztani, amelyet az algoritmus alkalmazhatósági területének nevezünk.

A gyakorlatban az algoritmusok alábbi ábrázolási formái a legelterjedtebbek:

verbális (természetes nyelvű feljegyzések);

grafika (képek grafikus szimbólumokból);

pszeudokódok (algoritmusok félig formalizált leírása feltételes algoritmikus nyelven, beleértve a programnyelvi elemeket és a természetes nyelvi kifejezéseket, általánosan elfogadott matematikai jelöléseket stb.);

programozási (programozási nyelvű szövegek).

Az algoritmusok írásának verbális módja az adatfeldolgozás egymást követő szakaszainak leírása. Az algoritmus tetszőleges, természetes nyelvű megjelenítésben kerül megadásra.

Például. Írjon fel egy algoritmust két természetes szám legnagyobb közös osztójának (GCD) megkeresésére.

Az algoritmus a következő lehet:

állítson be két számot;

ha a számok egyenlőek, akkor vegyük bármelyiket válasznak, és álljunk le, ellenkező esetben folytassuk az algoritmust;

határozza meg a számok közül a legnagyobbat;

cserélje ki a nagyobb számok közül a nagyobb és a kisebb közötti különbséget;

ismételje meg az algoritmust a 2. lépéstől.

A leírt algoritmus bármely természetes számra alkalmazható, és a feladat megoldásához kell vezetnie. Győződjön meg róla saját szemével, ha ezzel az algoritmussal határozza meg a 125 és 75 legnagyobb közös osztóját.

A verbális út nem rendelkezik széles körben elterjedt a következő okok miatt:

az ilyen leírások szigorúan nem formalizálhatók;

szenvednek a feljegyzések bőbeszédűségétől;

lehetővé teszik az egyes előírások félreérthető értelmezését.

Az algoritmusok grafikus bemutatásának módja tömörebb és vizuálisabb, mint a verbális mód.

Grafikus ábrázolásban az algoritmus egymáshoz kapcsolódó funkcionális blokkok sorozataként van ábrázolva, amelyek mindegyike egy vagy több művelet végrehajtásának felel meg.

Ilyen grafikus ábrázolás folyamatábrának vagy folyamatábrának nevezzük.

A folyamatábrán minden művelettípus (kezdeti adatok bevitele, kifejezésértékek kiszámítása, feltételek ellenőrzése, műveletek ismétlődésének vezérlése, feldolgozás befejezése stb.) egy blokk szimbólumként ábrázolt geometriai alakzatnak felel meg. A blokk szimbólumokat átmeneti vonalak kötik össze, amelyek meghatározzák a műveletek végrehajtásának sorrendjét.

Az 1. táblázat felsorolja a leggyakrabban használt karaktereket.

A „folyamat” blokk egy olyan művelet vagy műveletsorozat kijelölésére szolgál, amely megváltoztatja az adatok értékét, megjelenítési formáját vagy elhelyezését. A diagram láthatóságának javítása érdekében több különálló feldolgozási blokk egyesíthető egy blokkba. Az egyes műveletek bemutatása meglehetősen ingyenes.

A „döntés” blokk a vezérlési átmenetek feltétel szerinti kijelölésére szolgál. Minden „döntés” blokknak meg kell határoznia az általa meghatározott kérdést, feltételt vagy összehasonlítást.

A "módosítás" blokk ciklikus struktúrák szervezésére szolgál. (A módosítás szó módosítást, átalakítást jelent). A blokkon belül egy ciklusparamétert írunk, amelyhez minden ismétlésnél megjelenik a kezdőértéke, a peremfeltétele és a paraméterérték változtatási lépése.

Az "előre definiált folyamat" blokk a segédalgoritmusok hívásainak jelzésére szolgál, amelyek önállóan léteznek néhány független modul formájában, valamint a könyvtári szubrutinok hívásait.

A pszeudokód jelölések és szabályok rendszere, amely az algoritmusok egységes írására szolgál.

Köztes helyet foglal el a természetes és formális nyelvek között.

Egyrészt közel áll a hétköznapi természetes nyelvhez, így az algoritmusok egyszerű szövegként írhatók és olvashatók benne. Másrészt a pszeudokódban néhány formális konstrukció és matematikai szimbolika használatos, ami közelebb hozza az algoritmus jelölését az általánosan elfogadott matematikai jelöléshez.

A pszeudokód nem fogad el szigorú szintaktikai szabályokat a formális nyelvekben rejlő parancsok írására, ami megkönnyíti az algoritmus tervezési szakaszban történő megírását, és lehetővé teszi az absztrakt végrehajtó számára tervezett parancsok szélesebb halmazának használatát. A pszeudokódban azonban általában vannak olyan konstrukciók, amelyek a formális nyelvekben rejlenek, ami megkönnyíti az átmenetet a pszeudokód írásról az algoritmus formális nyelven történő írására. Különösen a pszeudokódban, csakúgy, mint a formális nyelvekben, vannak segédszavak, amelyek jelentését egyszer s mindenkorra meghatározzák. Nyomtatott szövegben félkövér, kézzel írott szövegben pedig aláhúzott. A pszeudokódnak nincs egységes vagy formális definíciója, ezért különféle pszeudokódok lehetségesek, amelyek a szolgáltatásszavak halmazában és az alapvető (alap) struktúrákban különböznek egymástól.

A pszeudokód példája az iskolai algoritmikus nyelv orosz jelöléssel (iskola AL), amelyet A.G. ír le a tankönyvben. Kushnirenko és mások. "Az informatika alapjai és Számítástechnika", 1991. A következőkben ezt a nyelvet egyszerűen "algoritmikus nyelvnek" fogjuk nevezni.

Alapvető szolgálati szavak

Az algoritmus általános képe:

algoritmus neve (argumentumok és eredmények)

adott az algoritmus alkalmazhatóságának feltételei

kell az algoritmus célja

kezdje el a köztes értékek leírását

| parancssorozat (algoritmus törzse)

Az algoritmusnak az alg szótól a kezdet szóig terjedő részét címsornak, a start és end szavak közé zárt részt pedig az algoritmus törzsének nevezzük.

Az alg záradékban az algoritmus neve után zárójelben az összes bemeneti (argumentumok) és kimeneti (eredmény) változó jellemzői (arg, res) és értéktípus (integer, thing, sim, lit vagy log) szerepelnek. jelzett. A tömbök (táblázatok) leírásánál a szolgáltatásszó fület használjuk, kiegészítve a tömbelemek egyes indexeihez tartozó határpárokkal.

Példák alg mondatokra:

alg A henger térfogata és területe (arg ref R, H, res ref V, S)

alg Roots QvUr(arg w, b, c, res w x1, x2, res lit t)

alg elem kizárása (arg integer N, arg res item tab A)

alg Diagonal (arg integer N, arg integer tabulátor A, res lit Otvet)

Az ajánlatok adottak, és nem lehetnek kötelezőek. Javasoljuk, hogy olyan utasításokat írjanak, amelyek leírják az algoritmus végrehajtó környezetének állapotát, például:

arg helyettesítés (arg lit Str1, Str2, arg res lit szöveg)

adott | az Str1 és Str2 részsztringek hossza megegyezik

kell | a Szöveg sorban mindenhol az Str1 részkarakterláncot Str2 helyettesíti

alg Maximumok száma (arg egész N, arg valós tabulátor A, res integer K)

adott | N>0

kell | K - az A táblázatban szereplő maximális elemek száma

alg Ellenállás (arg valós R1, R2, arg egész N, res valós R)

adott | N>5, R1>0, R2>0

kell | R - áramköri ellenállás

Itt a mondatokban megadva van, és a "|" jel után szükséges. megjegyzéseket rögzítünk. A megjegyzések bármelyik sor végén elhelyezhetők. Ezeket nem a fordító dolgozza fel, de sokkal könnyebbé teszik az algoritmus megértését.

Az algoritmusok úgy ábrázolhatók, mint néhány különálló alap (azaz fő) elemekből álló struktúra.

Természetesen az algoritmusok ilyen megközelítésével a felépítésük alapelveinek tanulmányozását ezen alapelemek tanulmányozásával kell kezdeni.

Leírásukhoz az algoritmussémák nyelvét és az iskolai algoritmikus nyelvet fogjuk használni.

Bármely algoritmus logikai struktúrája három alapvető struktúra kombinációjával ábrázolható:

következő,

elágazó,

Az alapstruktúrákra jellemző, hogy egy bemenettel és egy kimenettel rendelkeznek.

Algoritmikus programozási nyelv egy formális nyelv, amelyet algoritmusok írására, megvalósítására és tanulmányozására használnak. A legtöbb programozási nyelvtől eltérően az algoritmikus nyelv nem kötődik a számítógép architektúrájához, nem tartalmaz részleteket a gép eszközével kapcsolatban.

Az algoritmizálás alapjainak tanulmányozására az ún Orosz algoritmikus nyelv(iskolai algoritmikus nyelv), a tanuló számára érthető szavak használatával oroszul.

Egy Algol-szerű algoritmikus nyelvet orosz szintaxissal A. P. Ershov akadémikus vezetett be az 1980-as évek közepén egy „gép nélküli” számítástechnikai kurzus alapjaként.

Az algoritmikus nyelv fő szolgáltatási szavai

Az algoritmus leírása

  • alg(algoritmus)
  • arg(érv)
  • vágott(eredmény)
  • korai(eleje) - az algoritmus kezdete
  • con(vége) - az algoritmus vége
  • adott- kezdeti adatok bármilyen formában
  • szükséges ez az algoritmus célja

Adattípusok:

  • egész(egész)
  • dolog(igazi)
  • Sim(karakter)
  • litas(szó szerinti) - húr
  • log(logikus)
  • lapon(tábla) - egy tömb kijelölésére
  • hosszak(hosszúság) — a tömbelemek száma

Feltétel jelölés

  • ha
  • másképp
  • választás
  • érték

Ciklus kijelölése

  • nc(ciklus kezdete)
  • kts(ciklus vége)
  • Viszlát

Logikai függvények és értékek kifejezések készítéséhez

Bemenet kimenet

  • bemenet
  • következtetés

Az algoritmus általános képe

1
2
3
4
5
6

alg az algoritmus neve (argumentumok és eredmények)
| adott algoritmus alkalmazhatósági feltételei
| szükséges az algoritmus célja
korai köztes értékek leírása
| parancssorozat (algoritmus törzse)
con

Az algoritmus része a szóból alg a szóra korai címsornak és a szavak közé zárt résznek nevezzük koraiés con- az algoritmus törzse.

Egy mondatban alg az algoritmus neve után a jellemzők zárójelben vannak feltüntetve ( arg, vágott) és értéktípus ( egész, dolog, Sim, litas vagy log) minden bemeneti (argumentumok) és kimeneti (eredmény) változót. A tömbök (táblázatok) leírásánál szolgálati szót használunk lapon, kitömve határpárokkal az egyes tömbelem-indexekhez.

Az algoritmus bejegyzésben kulcsszavakatáltalában aláhúzva vagy félkövérrel vannak szedve. A behúzás a logikai blokkok kiemelésére szolgál, a blokk eleje és vége páros szavait pedig függőleges sáv köti össze.

Alapvető algoritmikus struktúrák

A fő algoritmikus struktúrák részletes leírása ebben a cikkben található. Az alábbiakban sablonok találhatók ezen struktúrák algoritmikus nyelven történő fordításához.
hiányos villa

| ha feltétel
| | azután akciók
| minden

Teli villa

1
2
3
4
5

| ha feltétel
| | azután akciók 1
| | másképp akció 2
| minden

elágazó

1
2
3
4
5
6
7
8

| választás paraméter
| | értékben 1. érték
| | | akciók 1
| | értékben 2. érték
| | | akció 2
| | másképp
| | | alapértelmezett műveletek
| minden

Hurok előfeltétellel

| nts viszlát feltétel
| | akciók
| kts

Hurok utófeltétellel

Leggyakrabban az utasításokat rekord formájában írják le algoritmikus nyelven. Minden lépés pontos előírásaihoz és végrehajtásához szükséges. Nyilvánvaló különbségek vannak az iskolai algoritmikus nyelv és a programozási nyelvek között. Általában nem csak egy számítógép működik végrehajtóként az első verzióban, hanem egy másik eszköz is, amely képes munkát végezni. Az algoritmikus nyelven írt programokat nem kell a technológiának megtennie. Az összes utasítás gyakorlati megvalósítása tisztán külön kérdés. Az alábbiakban az algoritmus leírását is figyelembe vesszük az algoritmikus nyelven. Ez segít megérteni a rendszer eszközét.

Iskolai tanulás

Az iskolákban gyakran egy algoritmikus nyelvet tanítanak, amelyet leggyakrabban tanulási nyelvként ismernek. Széles körben elterjedt, mert olyan szavakat használ, amelyek minden tanuló számára a legérthetőbbek. Egy hasonló nyelvet az orosz szintaxissal már régen, mégpedig az 1980-as évek közepén vezettek be. Arra használták, hogy alapítványt adtak iskolásoknak, és számítógép nélküli informatikai kurzust tanítottak nekik. közzétett adott nyelv 1985-ben szerepelt az egyik tankönyvben. Többször újranyomták olyan speciális könyvek számára is, amelyeket a 9. és 10. évfolyamon való tanításra szántak. A kiadvány teljes példányszáma elérte a 7 millió példányt.

Algoritmus írási sorrend

Először is le kell írnia az ALG betűkombinációt. Az algoritmus neve következik. Ezután a START után le kell írnia egy sor parancsot. A KOH operátor a program végét jelenti.

Az algoritmus leírása algoritmikus nyelven:

ALG Társaság

RAJT

forgassa el 90 fokkal balra

KOH

A kulcsszavakat írás közben aláhúzva vagy félkövérrel kell szedni. A logikai blokkok jelzésére behúzást kell alkalmazni, ha pedig kezdő és vég párok vannak, akkor egy függőleges sávot kell használni, amely az összefüggést jelzi.

Algoritmusok összeállítása

A régi rekordok használhatók új utasítások írásához. Az ilyen utasításokat segédnek nevezzük. Ilyen algoritmus lehet bármelyik korábban leírt, összeállított algoritmus. Lehetőség van arra is, hogy ez a rendszer egy további algoritmust használjon, amely maga is kapott hivatkozást a segédrendszerekre.

Egy utasítás létrehozásakor gyakran csak egy algoritmust kell használni kiegészítőként. Ezért a nyilvántartások gyakran bonyolultak és nehézkesek lehetnek. De érdemes megjegyezni, hogy az utalás egyszerűbb, mint ugyanazon rekordok többszöri átírása.

Éppen ezért a gyakorlatban gyakran alkalmaznak szabványos segédalgoritmust, amely folyamatosan a felhasználónak van alárendelve. Egy utasításnak lehet hivatkozása önmagára és bármely másikra is. Az algoritmikus nyelvi parancsokat ilyen műveletekre tervezték. Az ilyen utasításokat rekurzívnak nevezzük.

A bind-to-self parancs magában a rendszerben található. Az ilyen rekurzió közvetlen. Közvetett az, ahol az algoritmus bármely más segédutasításban meghívásra kerül.

Azok az algoritmusok, amelyek egy bizonyos parancssorozattal rendelkeznek, folyamatosan változhatnak a program speciális részei végrehajtásának eredményétől függően. Az ilyen rendszereket elágazásnak nevezzük. Létrehozásához speciális elágazási parancsot kell használnia. Van egy rövidített és teljes helyesírási séma. Gyakran vannak ciklikus algoritmusok, amelyek többször hajtanak végre speciális utasításokat.

E-műhely

A nyelvtani nyelvelmélet tanulmányozásának javítása érdekében a Moszkvai Állami Egyetem Mekhmat szakemberei 1985-ben egy speciális fordítót készítettek. "E-műhely" volt a neve. Ezzel programokat lehetett bevinni, módosítani és végrehajtani. A következő évben megjelentek bizonyos előadók. Ez körülbelül a „Robot”, „Drafter”, „Kétlábú”, „ATV” című filmekről. Ez lehetővé tette az algoritmusok egyszerű és könnyű megvalósítását. Ez a fordító nagyon népszerűvé vált, és néhány számítógépen használták. Elég hosszú ideje Ezt a programozási nyelvet továbbfejlesztették és megváltoztatták. 1990-ben egy későbbi változata jelent meg egy tankönyvben.

Bálvány

Az iskolai algoritmikus nyelv most második születését éli, miután egy speciális „Kumir” csomagot fejlesztettek ki Windowsra és Linuxra. A rendszer több előadóval működik. Klasszikus köztük a "Robot", a "Drafter". Ugyanez a csomag is benne van beállítási fájl Linux "iskola". Ez a rendszer kifejezetten az Orosz Tudományos Akadémia megrendelésére fejlesztették ki. Ingyenesen és szabadon terjesztik. Az elmúlt néhány évben a leírt nyelvet aktívan javasolták az USE-ban való használatára

Nyelvi kiosztás

Az algoritmikus nyelvet meglehetősen sok probléma megoldására használják. Matematikai és más tantárgyak gyakorlatainak elsajátítására egyaránt alkalmas. Megjegyzendő, hogy arra is szolgál, hogy megkönnyítse a tanulók számára a hasonló témák tanulmányozását.

A gépi és az algoritmikus nyelvek közötti különbségek

A gépfüggő nyelvek leghíresebb képviselője az "Assembler". A programozás során a személynek a speciális operátoroknak köszönhetően egyértelműen jeleznie kell a fordítónak, hogy mely memóriacellákat kell feltölteni vagy átvinni. Mivel az "Assembler" szintaxisa a lehető legközelebb áll a számítógépes írásformához, meglehetősen nehéz tanulmányozni. Ezért tanítják az algoritmikus nyelvet az iskolában, valamint a programozás kezdetén a felsőoktatás első évében.

Alapfelszereltség

Az algoritmikus nyelv speciális alapfelszereltség, amely „beágyazott” státuszt kapott. Nekik köszönhető, hogy könnyedén írhat számos műveletet számokkal és kifejezésekkel rutinbevitel nélkül. A program algoritmikus nyelven meglehetősen egyszerű. A reguláris függvények lehetővé teszik a négyzetgyök, a logaritmus, a modulus és így tovább kiszámítását. A legnépszerűbb beépített módszerek a következők:

  • abszolút modul abs(X);
  • négyzetgyök sqrt(X);
  • természetes és ln(X), lg(X);
  • minimum és maximum min (X,Y), max (X,Y);
  • trigonometrikus függvények sin(X), cos(X), tg(X), ctg(X).

Ennek köszönhetően bármely programozó, vagy csak egy személy, aki megtanulja, hogyan kell dolgozni egy algoritmikus nyelvvel, könnyedén meg tud írni egy matematikai feladatot anélkül, hogy kerékpárt kellene feltalálnia. Ezért meg kell jegyezni, hogy ez a nyelv meglehetősen kényelmes. Könnyen érthető és nagyon könnyen érthető. Nem csoda, hogy bekerült az iskolai tantervbe. A diákok szívesen tanulják.



Tetszett a cikk? Oszd meg