Áttekintés a programozási nyelvek
A számítógépes program egy logikailag rendezett sorozata parancsai-CIÓ, hogy ellenőrizzék a számítógépet. Processzor - ez LSI. Minden adatokat és parancsokat kap az elektromos jelek formájában. A bináris jelenléte jel által leírt a „1”, és annak hiánya - fogalma „O”. Parancsok feldolgozása processzor által is értelmezhető egy sor váltakozó egy bizonyos módon egyesek és nullák, azaz minden parancs át kettes számot. Így, a processzor végrehajtja a programot, ami egy számsor és az úgynevezett gépi kódot.
Ma szinte minden program segítségével létrehozott programozási Yazi-ing. Elméletileg egy programot lehet írni egy természetes nyelv (mondjuk programozási metanyelvbe), hanem azért, mert a bizonytalanság a természetes nyelv automatikusan újra folytatni ezt a programot gépi kódra még nem lehetséges.
A programozási nyelvek formális mesterséges Yazi-ki. Mint a természetes nyelvek, ezek az ábécé, szókincs, nyelvtan és szintaktikai és szemantikai.
Alphabet - használhatja a karakterkészlet, amellyel szó képezhető, és a nagysága egy adott nyelvet.
Egy nyelv szókincse vagy szókincs - egy sor megszoktam a szavakat, azaz a megfelelő szavakat az adott nyelvet.
Grammar - véges szabályrendszer, amely meghatározza a nyelvet.
Grammar meghatározza módszerek felépítésének módosításai és kombinációi szó.
Syntax - egy szabályrendszert, amely meghatározza érvényes lefoglaló ruktsii-programozási nyelv a betűk az ábécé.
Szemantika - egy olyan rendszer szabályainak egyértelmű értelmezése az egyes építési nyelv, amely lehetővé teszi, hogy a folyamat az adatok obrabot-ki.
Kölcsönhatása szemantikai és szintaktikai szabályok meghatározott hasadó alapfogalmak a nyelv, mint a kimutatások azonosítása madárriasztó, állandók, változók, függvények, eljárások, stb Ellentétben a természetes programozási nyelv szókincse korlátozott (szereplőkkel), valamint a szigorú szabályok az írás, és a szabályokat a Gram-Matic és szemantikai, valamint bármilyen hivatalos nyelv világosan és egyértelműen fogalmazott egyértelműen.
Programozási nyelvek, célzott a processzor utasításokat, és figyelembe veszi annak jellemzőit, az úgynevezett alacsony szintű nyelven. „Alacsony szintű” nem azt jelenti, fejletlen, vagyis a piaci szereplők a nyelv közel gépi kódra és Vanir-orientált speciális CPU utasításokat.
A nyelv a legalacsonyabb szint szerelő. Egy program ráírva, az utasítások sorozata, gépi kódot, de felvett referenciákkal. Segítségével egy alacsony szintű nyelv a legjobb kompakt program, így a programozó hozzáfér minden lehetőségét processzor. Másrészt van szükség, mert jól ismerik a számítógépes eszköz és az ilyen programok, mi egy számítógép processzora más típusú nem lehetséges. Ezek a programozási nyelveket használnak írásra kis rendszer alkalmazásokat, illesztőprogramokat, a modul dokkoló az eredeti berendezés, ha a fontos kompakt, gyors működésű, közvetlen hozzáférést biztosít a hardver erőforrásokat.
Programozási nyelvek, mint a természetes, már kibővült csapat orientált „személy” nevezik, magas szintű nyelven. A magasabb szintű nyelv, minél közelebb van a adatstruktúrák és szerkezetek használt programok, IU, a fogalmak az eredeti probléma. Sajátosságait comp yuternyh architektúrák nem számítanak, így az eredeti tech-ists programok könnyen hordozható, hogy más platformokon, a fordítók ezt a nyelvet. Dolgozzanak ki programokat a magas szintű nyelvek segítségével tiszta és erőteljes parancsok sokkal könnyebb; a hibák száma tette a folyamat programozás, sokkal kevesebb. Jelenleg több száz következő nyelveken (kivéve a dialektusok).
Így a magas szintű programozási nyelv, orientált a megoldás a nagy tartalmi alkalmazások eszköz-független, és megkövetelik a megfelelő fordítást program átalakítására a szöveget a gépi kódot, amelyet végül dolgozza fel a processzor.
Magas szintű nyelv „érthetetlen” számítógéppel ezért léteznek speciális programok és tolmácsok hogy átalakítsa az opera-tori magas szintű nyelvi gépi kódra.
Kétféle program-fordítók: a fordító és in-terpretator.
A fordító dolgozik közvetlenül az összes eredeti modult, form-Rui alapjára terhelés modul t. E. A futtatható fájl, go-tovy fut a számítógépen. A program zagruzoch-CIÓ modul végre a forrástól függetlenül modult.
A tolmács működik a forrás modul lépéseket. Csak-Bireh (értelmezze) minden üzemeltető forrás modul és-kitölti azt. Az a mód értelmezés megkönnyítése programok hibáinak-én, de a program futása sokkal lassabb, mint skom-pilirovannaya programot.
Jelentős lépés bonyolultságának csökkentése programok létrehozása javított minőség, a megbízhatóság és az alkalmazási lehetőségét a tömeges volt a strukturált programozás. Alapelvei a következők:
Lefelé programozás alapja egy hierarchikus al-kurzus a problémák megoldásához, és használják a kezdeti szakaszban a fejlesztési folyamat a probléma megoldásának. Ebben az esetben ez egy hierarchikus objektum modellt, kiválasztott funkció, a részletesség szintjét.
A hierarchikus modell alapja az alábbi szabályokat:
- mindegyik modul is társítható egyetlen felső szintű modul és több alsóbb szintű modulok;
- minden alacsonyabb szintű modul hozzáférhet a felső szintű modul;
- Közötti kommunikáció modulok elrendezve lefelé;
- fellebbezni egy modul talán többször is, míg ő ábrázolta egyszer és hajtják végre szubrutint.
Moduláris programozás igényel független programozása minden egyes egység, kezdve a legfelső szinten a hierarchiában. Amikor egy darázs-schestvlenii tesztelés felső szintű modulokat az alacsonyabb szintű modulok kerülnek „sapkát”, gyakran formájában a nyomtatott nyilatkozatot. Modulok adunk egyesével. Miután a végén a fejlődését minden modul tesztelték az egész komplex egészében véve.
Moduláris programozás lehetővé teszi jelentősen csökkentette tit-idő szükséges programok hibáinak.
A strukturált programozás - programozás folyamata CIÓ az algoritmikus nyelvet bizonyos struktúrákat. Meg kell betartani az alábbi szabályokat:
- minden program alapján összeállított alapvető algoritmus-idézésben háromféle szerkezetek: lineáris, elágazó, gyűrűs-ügynökség;
- e struktúrák közötti átvitt csak az irányítás átadása - a magasabb szintről egy alacsonyabb rendű;
- Soha ne használjon olyan parancs átmenetek «GOTO». A strukturált programozás főleg programozás egyes modulokat.
Szerkezeti ellenőrzés használjuk az összetett, több modul alkalmazások. Csoport szakemberei az alkalmazottak Xia dolgozó által fejlesztett anyagokat a feladatot, megvitatják, és megjegyzésekkel, hogy a fejlesztők végre kell hajtania.
Az ingatlan a programozási nyelvek:
Közérthetőség (olvashatóság) nyelvi konstrukciókat - az ingatlan egy egyszerű felfogása a programot.
Az megbízhatósága fokára utal az automatikus észlelés, amely lehet a fordító vagy működési környezet, amelyben a program lefut.
A rugalmasság egy programozási nyelv nyilvánul meg, hogy hány funkciók biztosít a programozó, hogy kifejezze az összes szükséges műveletek a program, nem kényszerítette, hogy vegye igénybe assembly, vagy beszúr a különböző trükköket.
Az egyszerűség kedvéért a nyelv rendelkezik a könnyebb érthetőség szemantikája nyelvi konstrukciók és emlékezve a szintaxis.
A nyelv a következőket kell tartalmaznia adatszerkezet ellenőrzési struktúrák és tevékenységek, valamint van egy ilyen szintaxist, amely lehetővé tenné, hogy az tükrözze a logikai felépítése A program alapjául szolgáló algoritmus végrehajtását.
Nyelvfüggetlen hardver, lehetővé teszi, hogy programok átvitelét az egyik platformról a másikra viszonylag könnyen. Ez lehetővé teszi, hogy osztja a magas költségek a szoftver számos platformon.
A teljes költség egy programozási nyelv alkotja több összetevője van. Ez magában foglalja:
• A költségek nyelvi képzés;
• a költségek a program létrehozásához;
• A fordítási költség a program;
• A program költsége;
• a fenntartási költségeit a program.
Programozási nyelvek és algoritmikus nyelvek vannak besorolva. mértéke szerint való függés a számítógépet, tájékozódás alkalmazási körét; A pontos részletek a szervezeti felépítését nyelvi konstrukciók és hasonlók (Ábra. 6.1)

Ábra. 6.1. Osztályozása programozási nyelvek
Bármely rendszer jelölés, és megállapodtak abban, hogy a fogalmi rendszerét, hogy lehet használni, hogy leírja az algoritmusok és adatszerkezetek, első közelítésben lehet tekinteni, mint egy programozási nyelv.
A tudás a fogalmi alapjait programozási nyelvek szempontjából felhasználásának és értékesítésének alapvető nyelvi konstrukciók lehetővé teszik:
- ésszerűbb, hogy válasszon egy programozási nyelv egy konkrét projekt
- dolgozzon ki hatékonyabb algoritmusokat;
- rendszeresen pótolni egy sor hasznos nyelvi konstrukciók;
- felgyorsítja a tanulás új programozási nyelvek;
- ezt a tudást, mint a módszertani alapja az új programozási nyelvek;
- kap az alapvető ismeretek fejlesztéséhez szükséges fordítóprogramok programozási nyelvek és támogatja a különböző számítási modellek.
Mindezek a nyelv is nevezik és formális. Mi érdekli leginkább az algoritmikus nyelvek, amelyek magukban foglalják az összes ismert programozási nyelveket.
Hogy oldja meg a problémát egy számítógépes algoritmus készül, biztosítva, hogy minden szükséges intézkedést, hogy a kívánt eredményt. Ez az algoritmus segítségével leírt hivatalos nyelv érthető legyen a számítógép - programozási nyelv.
Ezek az eszközök közé tartozik a nyelvi elemek - karakterek, számok, speciális karakterek, és a szabályokat a nyilvános nyilatkozatokat annak a műveletnek a bemenet - kimenet és a memória kiosztás kezelése elágazást és ciklusok, áttételek külső eszközök, nyomon követése és a hibakeresés az egyes töredékek és a program egészének , kiadási dokumentumok és így tovább. Minden számítógép rendelkezik saját parancskódot nyelv nevű gép. amely közvetlen végrehajtását bármilyen sorrendben gép működését. Gyakorlatilag a számítógép végrehajtja a program rögzített csak gépi kódban. Azonban a segítségével további forrásokat (szoftverek) hajtják végre többszintű fordítás (fordítás) szövegek programok különböző programozási nyelvek egy számítógépes nyelv. Ezek a programozási nyelvek, szemben a gép úgynevezett magas szintű nyelvek, azok nem nagyon függ az adott konfiguráció az adott számítógép, azaz ezek a nyelvek gépfüggetlen.
A nyelv szimbolikus kódolása (NC), szemben a gép, a digitális kódok helyébe alfabetikus vagy alfanumerikus (mnemonikus) megnevezések. Ez megkönnyíti a munkát a program, és lehetővé teszi, hogy automatizálni kapcsolódó elhelyezése kódot, és az adatokat a számítógép memóriájában. Minden nyelv csapat szimbolikus kódok a fordítás megegyezik egy gép parancsot. Ezeket a nyelveket nevezzük emlékeztető vagy assembly nyelven.
A nyelv egy magasabb szinten - a makro nyelv - a fentieken kívül az emlékeztető gépi utasításokat adott makrók helyébe a fordítási csoportok gépi nyelv utasításait (a program). Ez csökkenti a bejegyzés az eredeti programok és programozás egyszerűsítése, az kizárja a felvétel gyakran ismétlődő egységek a program. Jelenleg minden típusú szerelvény nyelvek használatának engedélyezése a Macromedia, vagyis azok makro-összeszerelő.
Gép-orientált nyelvek tartalmazzák az összes szükséges eszközök programozásához semmilyen problémát. Azonban ezeket használják, ha azt szeretné, hogy hozzon létre egy nagyon gyors program minimális memória használat. Különösen a következő nyelveken levelet eszközkezelő számítógépes programok és adatok előzetes feldolgozása.
A termelés nagy problémákat megoldani segítségével írt programok eljárási - orientált nyelvek. Ezek segítségével nyelv a leginkább könnyű leírni a közös darab fellépés feladatait. Eljárási nyelvek ismeretét sugallják egy felhasználó a matematikai (numerikus) technikák és az alapokat algoritmikus (alapnyelv a tudományos és műszaki számítások FORTRAN, BASIC (személyi számítógépek - alap), a modern PASCAL).
A fejlesztés a többcélú (univerzális) programozási nyelvek, amelyek integrálják a befektetett eszközök és a képesség sok eljárásjogilag - orientált nyelvek, mint a PL / 1 -ispolzuemy megoldások feldolgozási feladatok a gazdasági és a tudományos és műszaki információk, tárgy feladatok, stb.; Ada - a többcélú köznyelv, amely helyettesítheti a különböző más nyelvek és hosszú ideig fejlődésének biztosítása és javítása jóléti programok; Nyelv modul - egyesíti eszközöket és funkciókat. gép-orientált és eljárásjogilag - orientált nyelvek; Ez eszközöket tartalmaz íróeszköz irányítási rutinok üzenet flow control, hagyományosan használt nyelvek, mint például assembly nyelven.
Azoknak a felhasználóknak, akik nem rendelkeznek speciális képzést, de szükségük van a működési számítógép-használat megoldására sztereotip problémákra, kifejlesztett egy speciális probléma - orientált nyelvek (nem eljárási), amelyek nem igényelnek részletes nyilvántartást az algoritmus a probléma megoldására. Egy nyelv csak megfogalmazni a problémát, és felvázolja a szekvencia részfeladatok egy előre beállított kezdetét jelző adatok és képezi a szükséges dokumentumokat. Különleges programok forrásainak generátorok kész blokkok automatikusan létrehoz egy programot, hogy megoldja a problémát. Ezek a nyelvek még magasabb szinten, azaz a gépből több mint eljárás-orientált nyelv. Ezek közé tartozik a nyelv meghatározására és az adatok feldolgozása táblázatok megoldásában a gazdasági problémákat, valamint a komplex rendszerek modellezése nyelv Simula, NEDIS és egyéb (SIMSKRIPT).
A határ között a probléma - és eljárásjogilag - orientált nyelvek nem körülhatárolt nagyon világosan (feltételesen) - LISP, Prolog.