Milyen típusú programozók léteznek. A programozási nyelvek típusai

Eljárási (kötelező) programozás tükrözi a hagyományos számítógépek architektúráját. Egy eljárás eljárási programozási nyelven egy operátorokból (utasításokból) áll, amelyek meghatározzák a probléma megoldásának eljárását. A fő a hozzárendelési operátor, amely a memóriaterületek tartalmának megváltoztatására szolgál. A memória mint értékek tárolója, amelynek tartalmát programutasításokkal lehet frissíteni, alapvető fontosságú a kötelező programozás során. Az eljárási programozási nyelv lehetővé teszi a programozó számára, hogy meghatározza a probléma megoldásának minden lépését. Az ilyen programozási nyelvek sajátossága, hogy a feladatokat lépésekre bontják és lépésről lépésre oldják meg. Az imperatív programozás a legalkalmasabb a kis részfeladatokhoz, ahol a végrehajtás sebessége a modern számítógépeken nagyon fontos.

Az eljárási programozási nyelvek a következők: Ada, Basic (változatok a Quick Basic -től a Visual Basic -ig), C, COBOL, Fortran, Modul- 2, Pascal, PL / 1, Rapier, REXX.

Strukturált programozás- szoftverfejlesztési módszertan, amely a program bemutatásán alapul, háromféle alapszerkezetből épített blokkok hierarchikus struktúrája formájában: szekvenciális végrehajtás, elágazás és ciklus.

Objektumorientált programozás egy programozási módszertan, amely a program objektumok gyűjteményeként történő ábrázolásán alapul, amelyek mindegyike egy bizonyos osztály (egy speciális típusú adattípus) megvalósítása, és az osztályok az öröklés elvei alapján hierarchiát alkotnak.

Az objektumok az adatokat és az azokat feldolgozó eljárásokat egyesítik egyetlen egésszé. Az objektumok üzeneteket cserélhetnek egymással. Amikor az objektum üzenetet kap, a megfelelő kezelő elindul, másképp hívják módszer... Az objektumnak van egy asszociatív tárolója, amely lehetővé teszi, hogy üzenetben megkapja a feldolgozásának módszerét. Ezenkívül az objektumnak van egy ősobjektuma. Ha nem találunk módszert az üzenet kezelésére, az üzenetet továbbítjuk a szülőobjektumhoz. Ezt a szerkezetet egészében (kezelők + ősök táblázata) a hatékonyság érdekében külön objektumnak nevezzük osztály ennek az objektumnak. Maga az objektum hivatkozni fog az osztályát képviselő objektumra. Az objektumok kizárólag egymással üzenetküldés útján lépnek kapcsolatba egymással.

Fontos kiemelni az objektumok következő három fő tulajdonságát.

Kapszulázás (adatvédelem)- olyan mechanizmus, amely integrálja az adatokat és az adatokat manipuláló módszereket, és megvédi mindkettőt a külső beavatkozástól.


Öröklés az a folyamat, amelynek során az egyik objektum örökölheti egy másik objektum tulajdonságait, és egyedi tulajdonságokat adhat hozzájuk. Az osztályok gyermek-ős kapcsolatát öröklődésnek nevezik.

Polimorfizmus egy olyan tulajdonság, amely lehetővé teszi egy objektum lecserélését egy másik, hasonló osztálystruktúrájú objektumra. Ezért ha az objektum interakció bármelyik forgatókönyvében tetszőleges objektumot lecserél egy másikra, amely ugyanazokat az üzeneteket képes feldolgozni, akkor a forgatókönyv is megvalósul.

Deklaratív programozás... A kijelentő programozásban a hangsúly azon van, hogy mit tegyünk, nem pedig az, hogy hogyan (kötelező nyelveken). A legfontosabb itt a probléma pontos megfogalmazása, és a megoldáshoz szükséges algoritmus kiválasztása és alkalmazása a végrehajtó rendszer problémája, de nem a programozóé. Például a HTML weboldalak deklaratívak, mivel leírják, hogy mit kell tartalmaznia az oldalnak, nem pedig azt, hogy az oldal hogyan jelenik meg a képernyőn. Ez a megközelítés eltér a kötelező programozási nyelvektől, amelyek megkövetelik a programozótól, hogy adjon meg egy algoritmust a végrehajtáshoz.

A deklaratív programozásnak két ága van: funkcionális, a környezetét nem változtató függvény matematikai koncepcióján alapulva, ellentétben az eljárási nyelvek funkcióival, amelyek lehetővé teszik a mellékhatásokat, és logikus, amelyben a programokat matematikai logika képleteiként fejezik ki , és egy számítógép a probléma megoldására.próbál logikus következményeket levonni belőlük.

Logikai programozás matematikai logika alapján. De a leghíresebb logikai programozási nyelv a Prolog. A PROLOGUE program két összetevőből áll: tények és szabályok. A tények olyan adatok, amelyekkel a program működik, és a tények összessége alkotja a PROLOGUE adatbázist, amely valójában egy relációs adatbázis. Az adatokon végrehajtott fő művelet egyeztetési művelet, más néven egyesítési vagy összeegyeztetési művelet.

A többi kijelentő nyelvhez hasonlóan a programozó a vele való munka során leírja a helyzetet (szabályokat és tényeket), és megfogalmazza a célt (lekérdezés), lehetővé téve a PROLOGUE tolmács számára, hogy megoldást találjon a problémára. A PROLOGUE tolmács a mechanizmus a probléma megoldására a PROLOGUE nyelv használatával. A PROLOGUE program tények és (esetleg) szabályok halmaza. Ha egy program csak tényeket tartalmaz, akkor adatbázisnak nevezzük. Ha szabályokat is tartalmaz, akkor gyakran használják a tudásbázis kifejezést.

Ellentétben az eljárási nyelveken írt programokkal, amelyek előírják, hogy a számítógépnek milyen lépéseket kell végrehajtania a probléma megoldásához, a PROLOGUE programban a programozó leírja a tényeket, szabályokat, a köztük lévő kapcsolatokat és a problémára vonatkozó kéréseket is. A PROLOGUE legjellemzőbb alkalmazása a szakértői rendszerek.

Önteszt kérdések

1. Mi a program? Mit értünk előadó alatt?

2. Mi a gépi kód?

3. Mi a fordító? Sorolja fel a fordítók típusait!

4. Hogyan működik a tolmács? Mik az előnyei?

5. Mi az előnye a fordítóknak?

6. Milyen összetevőket tartalmaz az integrált programozási rendszer?

7. Mit értünk adatstruktúra alatt, mi az adatstruktúra besorolása?

8. Mit értünk adattömbök alatt, és milyen műveleteket lehet elvégezni velük?

9. Melyek a tömbök rendezésének algoritmusai?

10. Mi a célja az alprogramoknak?

11. Mire való a rutinkönyvtár?

12. Milyen programozási típusok léteznek?

Irodalom

1. Sztavrovszkij A.B., Karnaukh T.A. A programozás első lépései. Önképzési könyv. - M.: Williams, 2006 .-- 400 p.

2. Okulov S. A programozás alapjai Kiadó: Binom. Tudáslaboratórium, 2008 .-- 383 p.

3. Kantsedal S.А. Az algoritmus és a programozás alapjai. - M.: Fórum, 2008 .-- 351 p.

4.httn // www myfreesoft ru / default-windows-nroprams html-szabványos Windows programok

5.httn // khni -iin mink kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - modellek és adatstruktúrák

6.httn: //www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - Modellek és adatstruktúrák

7.http: //inf.1sentemher.ru/2007/15/00.htm - egy informatika tanár enciklopédiája

8.http: //www.delnhi.int.ru/articles/119/ - alprogramok.

9.httn // inroc ru / narallel-nroPramminP / lection-5 /-kupac válogatás.

Programozási nyelv- formális jelrendszer, amelynek célja az algoritmusok leírása az előadó számára kényelmes formában (például számítógép). A programozási nyelv a számítógépes program összeállításakor használt lexikai, szintaktikai és szemantikai szabályok halmazát határozza meg. Lehetővé teszi a programozó számára, hogy pontosan meghatározza, hogy a számítógép milyen eseményekre reagál, hogyan tárolja és továbbítja az adatokat, és milyen műveleteket kell végrehajtani ezeken különböző körülmények között.

Az első programozható gépek megalkotása óta az emberiség már több mint két és félezer programozási nyelvet talált ki. Számukat minden évben újakkal egészítik ki. Egyes nyelveket csak néhány saját fejlesztő ismer, mások több millió ember számára válnak ismertté. A hivatásos programozók néha több mint egy tucat különböző programozási nyelvet használnak munkájuk során.

A nyelv alkotói másképp értelmezik a fogalmat programozási nyelv... A legtöbb fejlesztő által elismert gyakori helyek a következők:

· Funkció: a programozási nyelv olyan számítógépes programok írására szolgál, amelyeket utasítások továbbítására használnak a számítógéphez egy adott számítási folyamat végrehajtásához és az egyes eszközök vezérlésének megszervezéséhez.

· Egy feladat: a programozási nyelv abban különbözik a természetes nyelvektől, hogy parancsokat és adatokat továbbít egy személyről a számítógépre, míg a természetes nyelveket csak az emberek kommunikációjára használják. Elvileg lehetséges általánosítani a "programozási nyelvek" definícióját - ez a parancsok, parancsok, világos cselekvési útmutató továbbításának módja; míg az emberi nyelvek információcserét is szolgálnak.

· Végrehajtás: egy programozási nyelv speciális konstrukciókat használhat az adatstruktúrák meghatározására és manipulálására, valamint a számítási folyamat vezérlésére.

3. A probléma megoldásának szakaszai számítógépen.

A VT leghatékonyabb alkalmazását a munkaigényes számításokban találták a tudományos kutatásban és a mérnöki számításokban. Amikor egy számítógépen megold egy problémát, a főszerep továbbra is egy személyé. A gép csak a kidolgozott programnak megfelelően látja el feladatait. az ember és a gép szerepe könnyen érthető, ha a probléma megoldásának folyamata az alább felsorolt ​​szakaszokra oszlik.

A probléma megfogalmazása. Ez a szakasz a probléma értelmes (fizikai) megfogalmazásából és a végső megoldások meghatározásából áll.

Matematikai modell felépítése. A modellnek helyesen (megfelelően) kell leírnia a fizikai folyamat alapvető törvényeit. A meglévő modellek felépítése vagy kiválasztása megköveteli a probléma mély megértését és a matematika vonatkozó szakaszainak ismeretét.

A világbajnokság fejlesztése. Mivel a számítógép csak a legegyszerűbb műveleteket tudja végrehajtani, "nem érti" a probléma kijelentését, még matematikai megfogalmazásban sem. A megoldáshoz numerikus módszert kell találni, amely lehetővé teszi a probléma valamilyen számítási algoritmusra való redukálását. Minden konkrét esetben ki kell választani a megfelelő megoldást a már kifejlesztett szabványos megoldások közül.

Algoritmus fejlesztés. A probléma megoldásának folyamata (számítási folyamat) a végeredményhez vezető elemi számtani és logikai műveletek sorozatának formájában íródik, és a probléma megoldásának algoritmusának nevezzük.

Programozás. A probléma megoldásának algoritmusa a gép által érthető nyelven íródott, pontosan meghatározott műveletsor - program - formájában. A folyamatot általában valamilyen köztes nyelv használatával hajtják végre, fordítását pedig maga a gép és annak rendszere végzi.

A program hibakeresése. Az összeállított program mindenféle hibát, pontatlanságot és nyomtatási hibát tartalmaz. A hibakeresés magában foglalja a programvezérlési, diagnosztikai (tartalom keresése és meghatározása) hibákat és azok kiküszöbölését. A programot ellenőrzési (teszt) feladatok megoldásával tesztelik, hogy bizalmat szerezzenek az eredmények megbízhatóságában.

Számítások. Ebben a szakaszban elkészítik a számítások kezdeti adatait, és a számítást a hibakeresési programnak megfelelően végzik. ugyanakkor az eredmények feldolgozásához szükséges kézi munka csökkentése érdekében széles körben használhatók az eredmények kiadásának kényelmes formái szöveges és grafikus információ formájában egy személy számára érthető formában.

Az eredmények elemzése. A számítási eredményeket gondosan elemzik, tudományos és műszaki dokumentációt készítenek.

4. Mire szolgálnak a programozási nyelvek?

A számítógép munkájának folyamata egy program végrehajtásából áll, vagyis egy jól meghatározott parancskészletből, jól meghatározott sorrendben. Az utasítás gépi formája, amely nullákból és egyesekből áll, jelzi, hogy a központi processzornak milyen műveletet kell végrehajtania. Ez azt jelenti, hogy ahhoz, hogy megmondja a számítógépnek, hogy milyen műveletsort kell végrehajtania, meg kell adnia a megfelelő parancsok bináris kódjainak sorozatát. A gépi kódprogramok több ezer utasításból állnak. Az ilyen programok írása nehéz és unalmas. A programozónak emlékeznie kell az egyes programok bináris kódjainak és nulláinak kombinációjára, valamint a végrehajtás során használt adatcímek bináris kódjaira. Sokkal egyszerűbb olyan programot írni, amely valamilyen nyelven közelebb áll a természetes emberi nyelvhez, és rábízza a számítógépet arra, hogy ezt a programot gépi kódokká fordítsa le. Így alakultak ki a nyelvek kifejezetten programok írására - programozási nyelvek.

Sok különböző programozási nyelv áll rendelkezésre. Valójában bármelyik felhasználható a legtöbb probléma megoldására. A tapasztalt programozók tudják, hogy melyik nyelvet jobb használni az egyes problémák megoldásához, mivel mindegyik nyelvnek megvan a maga képessége, orientációja bizonyos típusú problémákra, saját módja a problémák megoldásában használt fogalmak és objektumok leírására.

Az összes programozási nyelv két csoportra osztható: alacsony szintű nyelvekés magas szintű nyelvek.

Az alacsony szintű nyelvek közé tartoznak az összeszerelési nyelvek (az angoltól az összeszerelésig - összegyűjtés, összeszerelés). Az Assembly nyelv szimbolikus jelölést használ a könnyen érthető és gyorsan megjegyezhető parancsokhoz. A bináris parancskódok sorozata helyett azok szimbolikus megnevezéseit írják, és a parancs végrehajtásakor használt bináris adatcímek helyett ezeknek az adatoknak a programozó által kiválasztott szimbolikus neveit. Az összeszerelési nyelvet néha mnemokódnak vagy autokódnak is nevezik.

A legtöbb programozó magas szintű nyelveket használ programjainak írásához. A közönséges emberi nyelvhez hasonlóan az ilyen nyelvnek is megvan a maga ábécéje - a nyelvben használt szimbólumkészlet. Az úgynevezett nyelvi kulcsszavak ezekből a szimbólumokból állnak. A kulcsszavak mindegyike ellátja funkcióját, ugyanúgy, mint a nyelvünkben megszokott nyelven, az adott nyelv ábécéjének betűiből összeállított szavak is elláthatják a beszéd különböző részeinek funkcióit. A kulcsszavak mondatokban kapcsolódnak egymáshoz a nyelv bizonyos szintaktikai szabályai szerint. Minden mondat meghatározott műveletsort határoz meg, amelyet a számítógépnek végre kell hajtania.

A magas szintű nyelv közvetítő szerepet játszik egy személy és egy számítógép között, lehetővé téve a személy számára, hogy a személy számára ismerősebb módon kommunikáljon a számítógéppel. Gyakran ez a nyelv segít kiválasztani a megfelelő módszert a probléma megoldásához.

Mielőtt magas szintű nyelven írna egy programot, a programozónak össze kell állítania algoritmus a probléma megoldása, azaz lépésről lépésre szóló cselekvési terv, amelyet el kell végezni a probléma megoldásához. Ezért gyakran hívják azokat a nyelveket, amelyek egy algoritmus előzetes összeállítását igénylik algoritmikus nyelvek.

5. Milyen programozási nyelvek vannak

1.1 Fortran

A programozási nyelvek már az 50-es évek közepén megjelentek. Az egyik első ilyen típusú nyelv volt a FORTRAN nyelv (FORTRAN a FORmulaTRANslatorból - a képletek fordítója), amelyet 1957 -ben fejlesztettek ki. A Fortran a tudományos és technikai problémák megoldásának algoritmusát írja le digitális számítógép segítségével. Az első számítógépekhez hasonlóan ezt a nyelvet is elsősorban természettudományos és matematikai számítások elvégzésére szánták. Ez a nyelv továbbfejlesztett formában korunkig fennmaradt. A modern magas szintű nyelvek között a tudományos kutatásokban az egyik leggyakrabban használt. A leggyakoribb változatok a Fortran-II, Fortran-IV, EASICFortran és ezek általánosításai.

1.2 ALGOL

Fortran után, 1958-1960-ban megjelent az algol nyelv (Algol-58, Algol-60) (angol ALGOL az ALGOrithmicLanguage-ból-algoritmikus nyelv). Az Algolt 1964-1968-ban fejlesztették-Algol-68. Az ALGOL -t egy európai és amerikai tudósokból álló bizottság dolgozta ki. Magas szintű nyelvekhez tartozik, és lehetővé teszi az algebrai képletek egyszerű lefordítását programparancsokká. Algol népszerű volt Európában, beleértve a Szovjetuniót is, míg a hasonló Fortran széles körben elterjedt az Egyesült Államokban és Kanadában. Algol észrevehetően befolyásolta az összes később kifejlesztett programozási nyelvet, és különösen a Pascal nyelvet. Ez a nyelv - a Fortranhoz hasonlóan - tudományos és technikai problémák megoldására szolgált. Ezenkívül ezt a nyelvet a programozás alapjainak - a programozás művészetének - oktatására használták.

Általában az Algol fogalma nyelvet jelent ALGOL-60, míg ALGOL-68 független nyelvnek tekintik. Még akkor is, amikor az algol nyelvet majdnem megszüntették a programozáshoz, továbbra is az algoritmusok közzétételének hivatalos nyelve maradt.

1.3 Cobol

1959 - 1960 -ban kifejlesztették a Cobol nyelvet (angol COBOL a COmmom Business Oriented Language -ből). Ez egy harmadik generációs programozási nyelv, amelyet elsősorban üzleti alkalmazások fejlesztésére terveztek. Ezenkívül a Kobolt gazdasági problémák megoldására, a bankok, biztosítótársaságok és más ilyen jellegű intézmények adatainak feldolgozására szánták. Grace Hopper ( nagymama Kobola).

A Cobolt rendszerint kritizálják beszédessége és nehézségei miatt, hiszen a nyelv alkotóinak egyik célja az volt, hogy a konstrukciókat a lehető legközelebb hozzák az angol nyelvhez. (Eddig a Cobolt tekintik a programozási nyelvnek, amelyen a legtöbb kódsort írták). Ugyanakkor Cobol kiváló eszközökkel rendelkezett az adatstruktúrákkal és fájlokkal való munkához annak idején, ami hosszú élettartamot biztosított számára az üzleti alkalmazásokban, legalábbis az Egyesült Államokban.

1.4 Lisp

A Cobollal (1959–1960) szinte egyidejűleg létrehozták a lisp nyelvet (LISP from LIStProcessing) a Massachusetts Institute of Technology -ban. A Lisp egy program lineáris karakterlista -rendszeren keresztül történő ábrázolásán alapul, amelyek ráadásul a nyelv fő adatstruktúrája. A Lisp a Fortran után a második legrégebbi magas szintű programozási nyelv. Ezt a nyelvet széles körben használják a szimbolikus információk feldolgozására, és olyan szoftverek készítésére használják, amelyek utánozzák az emberi agy tevékenységét.

Bármely Lisp program a sorozatból áll kifejezéseket(formák). A program eredménye ezeknek a kifejezéseknek az értékelése. Minden kifejezés így van írva listákat Lisp egyik alapstruktúrája, ezért könnyen létrehozhatók a nyelv használatával. Ez lehetővé teszi olyan programok létrehozását, amelyek más programokat vagy makrókat módosítanak, így jelentősen bővítheti a nyelv képességeit.

A Lisp -program fő értelme "élet" a szimbolikus térben: mozgás, kreativitás, memorizálás, új világok teremtése stb. Lisp mint agyi metafora, szimbólum, jel metafora: "Hogyan változik a jelek biológiai elemzése az agy által, mint külső tényező - fizikai és kémiai hatás, amely irritálja a testet, biológiailag jelentős jellé, gyakran létfontosságú, meghatározza egy személy vagy állat viselkedését; és hogyan osztják fel a különböző jeleket pozitívra, negatívra és közömbösre, közömbösre. A jel már integráló fogalom. Ez egy csoport azonosító jele, összetett ingerek , amelyek közös történelemmel és oksági összefüggésekkel vannak összekötve. Ebben a komplexben az ingerek rendszere, maga a szignál inger alkotóeleme is, és más körülmények között szerepe a komplex egy másik ingeréhez tartozhat. egy állat vagy személy múltbeli tapasztalatai.

1.5 ALAPVETŐ

A 60-as évek közepén (1963) létrehozták a BASIC nyelvet (BASIC a Beginner's Allpurpose Instruction Code-ból) a Dartmouth College-ban (USA). Idővel, ahogy más nyelvjárások kezdtek megjelenni, ez az "eredeti" nyelvjárás Dartmouth BASIC néven vált ismertté. A nyelv részben a Fortran II-re, részben az Algol-60-ra épült, kiegészítésekkel kényelmesen megosztva az időmegosztást, később pedig a szövegfeldolgozást és a mátrixszámítást. A BASIC-t eredetileg a GE-265 mainframe-en valósították meg, több terminál támogatásával. A közhiedelemmel ellentétben a kezdetekkor összeállított nyelv volt.

A BASIC-ot úgy tervezték, hogy a diákok programokat írhassanak az időmegosztó terminálok segítségével. Úgy tervezték, hogy megoldást kínáljon a régebbi nyelvek összetettségére. „Egyszerűbb” felhasználóknak szánták, akiket nem annyira a programok sebessége érdekel, hanem egyszerűen az a képesség, hogy számítógéppel tudják megoldani a problémáikat. A BASIC nyelv egyszerűsége miatt sok kezdő programozó kezdi el a programozást.

1.6 Erőd

A 60 -as évek végén - a 70 -es évek elején megjelent a Fort nyelve (angol NEGYEDIK - a negyedik). Ezt a nyelvet azután kezdték használni a különböző rendszerek vezérlési problémáiban, hogy szerzője, Charles Moore programot írt bele az Arizona Obszervatórium rádióteleszkópjának vezérlésére.

Számos tulajdonság, nevezetesen az interaktivitás, a rugalmasság és a könnyű fejleszthetőség teszi Forthot nagyon vonzó és hatékony nyelvvé az alkalmazott kutatásban és az eszközök fejlesztésében. Ennek a nyelvnek a nyilvánvaló felhasználási területei a beágyazott vezérlőrendszerek. Alkalmazást talál a különböző operációs rendszereket futtató számítógépek programozásában is.

1.7 Pascal

Az 1972 -ben megjelent Pascal nyelvet a 17. századi nagy francia matematikusról, a világ első számtani gépének, Blaise Pascalnak a feltalálójáról nevezték el. Ezt a nyelvet a svájci informatikus, Niklaus Wirth hozta létre a programozási módszerek oktatására szolgáló nyelvként. A Pascal egy általános célú programozási nyelv.

A nyelv sajátosságai a szigorú gépelés és a strukturális (eljárási) programozási eszközök elérhetősége. Pascal volt az első ilyen nyelv. N. Wirth szerint a nyelvnek hozzá kell járulnia a programozási fegyelemhez, ezért az erős gépelés mellett Pascal minimalizálja az esetleges szintaktikai kétértelműségeket, és maga a szintaxis intuitív módon világos még a nyelv első megismerésekor is.

A Pascal nyelv nemcsak azt tanítja, hogyan kell helyesen írni egy programot, hanem azt is, hogyan kell helyesen kidolgozni egy módszer a probléma megoldására, megválasztani a problémában felhasznált adatok bemutatásának és rendszerezésének módjait. 1983 óta a pascal nyelvet bevezetik az amerikai középiskolák számítástechnikai tantervébe.

1.8 A pokol

1983 -ban az Ada nyelvet az Egyesült Államok Védelmi Minisztériuma égisze alatt hozták létre. A nyelv figyelemre méltó, mivel sok hiba észlelhető a fordítás szakaszában. Ezenkívül a programozás számos olyan aspektusa támogatott, amelyek gyakran az operációs rendszer kegyeibe kerülnek (párhuzamosság, kivételkezelés). 1995-ben elfogadták az Ada 95 nyelvi szabványt, amely az előző verzióra épít, objektum-orientációt ad hozzá, és néhány pontatlanságot kijavít. Mindkét nyelvet nem használják széles körben katonai és más nagyszabású projekteken kívül (légi közlekedés, vasúti közlekedés). Ennek fő oka a nyelvtanulás nehézségei és meglehetősen nehézkes szintaxisa.

Ada közvetlen elődei a Pascal és származékai, köztük Euklidész, Lis, Mesa, Modula és Sue. Az ALGOL-68, a Simula, a CLU és az Alphard számos fogalmát használták.

Az Ada fejlesztők fő aggályai a következők voltak:

· A programok megbízhatósága és teljesítménye;

· A programozás, mint egyfajta emberi tevékenység;

· Hatékonyság.

asztal Az 1. ábra az Ada nyelv fő jellemzőit mutatja az objektum -megközelítés szempontjából.

1. táblázat: Ada.

1.9 Si

Jelenleg a C népszerű nyelv a programozók körében (a C az angol ábécé betűje). A C nyelv két nyelvből- a BCPL-ből és a B-ből- származik. 1967-ben Martin Richards kifejlesztette a BCPL-t, mint rendszeríró szoftverek és fordítók írására szolgáló nyelvet. 1970-ben Ken Thompson a B segítségével építette fel a UNIX operációs rendszer korai verzióit egy DEC PDP-7 számítógépre. Mind a BCPL, mind a B esetében a változókat nem osztották szét típusokra - minden adatérték egy szót vett fel a memóriában, és például az egész számok és a valós számok megkülönböztetése a programozó vállára hárult. A C nyelv kifejlesztése ( A B) alapján Dennis Ritchie, a Bell Laboratories, és először 1972-ben hajtották végre egy DEC PDP-11 számítógépen. A C hírnevet szerzett a UNIX operációs rendszer nyelveként. Szinte minden nagyobb operációs rendszer ma C vagy C ++ nyelven íródott. Két évtized után a C a legtöbb számítógépen elérhető. A hardvertől független. A 70 -es évek végén a C „hagyományos C” -vé fejlődött. 1983 -ban az Amerikai Számítógépek és Információfeldolgozási Nemzeti Szabványok Bizottsága létrehozott egy szabványt erre a nyelvre. Ez a nyelv gazdag eszközökkel rendelkezik, lehetővé teszi rugalmas programok írását, amelyek kihasználják a modern személyi számítógépek minden képességét.

1.10 Prológus

Egy másik nyelvet, amelyet a jövő nyelvének tartanak, a 70 -es évek elején hozta létre a Marseille -i Egyetem szakembereinek csoportja. Ez a prolog nyelv. Nevét a "PROGRAMOZÁS A LOGIKA NYELVÉN" szavakról kapta. Ez a nyelv a matematikai logika törvényein alapul. A Lisp -nyelvhez hasonlóan a Prolog -t is elsősorban az emberi agytevékenység szoftveres szimulációjának kutatására használják. A fent leírt nyelvekkel ellentétben ez a nyelv nem algoritmikus. Tartozik az ún leíró(angolból leíró - leíró) - leíró nyelvek. A leíró nyelv nem igényli a programozótól a feladat minden szakaszának kidolgozását. Ehelyett egy ilyen nyelv szabályainak megfelelően a programozónak le kell írnia a megoldandó problémának megfelelő adatbázist, valamint az adatbázisból származó adatok felhasználásával megválaszolandó kérdéseket.

Az elmúlt évtizedekben megjelent a programozás, és jelentős fejlődésen ment keresztül objektum orientált megközelítés. Ez egy olyan programozási módszer, amely utánozza a valós világképet: a probléma megoldásához használt információkat interaktív objektumok halmazaként ábrázolják. Mindegyik objektumnak megvan a maga tulajdonsága és viselkedése. Az objektumok interakciója üzenettovábbítással történik: minden objektum fogadhat üzeneteket más objektumoktól, megjegyezheti az információkat, és bizonyos módon feldolgozhatja azokat, és viszont üzeneteket küldhet. Csakúgy, mint a való világban, az objektumok együtt tárolják tulajdonságaikat és viselkedésüket, és néhányat örökölnek a szülőobjektumaiktól.

Az objektum-orientált ideológiát minden modern szoftver termékben használják, beleértve az operációs rendszereket is.

Az első objektum-orientált nyelv Simula -67 különféle eszközök és mechanizmusok működését szimuláló eszközként jött létre. A legtöbb modern programozási nyelv objektum -orientált. Köztük vannak a nyelv legújabb verziói Turbo - Pascal , C ++, Adaés mások.

A rendszereket ma már széles körben használják vizuális programozás Vizuális Alapvető , Vizuális C ++, Delphiés mások. Lehetővé teszik összetett alkalmazáscsomagok létrehozását egyszerű és kényelmes felhasználói felülettel.

1.11 Java

1995 óta széles körben elterjedt egy új objektum-orientált programozási nyelv, a Java, amely a számítógépek hálózatát és mindenekelőtt az internetet célozza meg. Ennek a nyelvnek a szintaxisa hasonló a C ++ nyelv szintaxisához, de ezekben a nyelvekben kevés a közös vonás. A Java értelmezett nyelv: egy belső ábrázolást (bájtkódot) és ennek az ábrázolásnak a tolmácsát határozták meg, amelyek a legtöbb platformon már megvalósulnak. A tolmács leegyszerűsíti a Java nyelven írt programok hibakeresését, biztosítja azok hordozhatóságát az új platformokra és alkalmazkodást az új környezetekhez. Lehetővé teszi, hogy kizárja a Java nyelven írt programok hatását az új platformon elérhető más programokra és fájlokra, és ezáltal biztosítsa a programok végrehajtásának biztonságát. A Java nyelv ezen tulajdonságai lehetővé teszik, hogy a fő programozási nyelvként használják a hálózatokon (különösen az interneten) keresztül terjesztett programokhoz.

1.12 Objektum Pascal

Az Object Pascalt az Apple Computer munkatársai (néhányan Smalltalk közreműködők) hozták létre Niklaus Wirth -rel, a Pascal nyelv megalkotójával. Az Object Pascal 1986 óta létezik, és ez az első objektum-orientált programozási nyelv, amely szerepel az Apple Macintosh számítógépek fejlesztői környezetében, a Macintosh Programmer's Workshop-ban (MPW).

Ebben a nyelvben nincsenek osztálymódszerek, osztályváltozók, többszörös öröklés és metaclass. Ezeket a mechanizmusokat szándékosan kizárják, hogy a nyelv könnyen megtanulható legyen a kezdő "objektum" programozók számára.

asztal A 2. ábra az Object Pascal általános jellemzőit mutatja.

2. táblázat: Objektum Pascal.

Az utóbbi években ez a nyelv nagyon népszerűvé vált a Borland Delphi rendszerének köszönhetően.

1.13 A vizuális objektum-orientált tervezés rendszere Delphi.

A Delphi megjelenése nem maradhatott észrevétlen számos számítógép -felhasználó körében. Az új Borland termék lehetőségeit feltáró szakértők értékeléseit általában lelkes hangok árnyékolják. A Delphi fő előnye, hogy a vizuális programozási ötleteket itt valósítják meg. A vizuális programozási környezet a program létrehozásának folyamatát kellemes és könnyen érthető alkalmazáskonstrukcióvá alakítja, nagy grafikus és strukturális primitívekből.

A Delphi rendszer számos probléma megoldását teszi lehetővé, különösen:

· Készítsen teljes körű alkalmazásokat a Windows számára sokféle célra: a tisztán számítási és logikai, a grafikus és multimédiás alkalmazásoktól.

· Gyorsan hozzon létre (akár kezdő programozók számára is) professzionális megjelenésű ablakos felületet bármilyen alkalmazáshoz.

· Hatékony rendszerek létrehozása a helyi és távoli adatbázisokkal való munkavégzéshez

· Súgórendszerek (.hlp fájlok) létrehozása az alkalmazásokhoz és még sok máshoz. dr.

A Delphi egy rendkívül gyorsan növekvő rendszer. Az első verzió, a Delphi 1.0 1995 februárjában jelent meg, majd évente új verziók jelentek meg.

A Delphi minden későbbi verziója kiegészítette az előzőt. A Delphi legtöbb verziója több változatban is elérhető: Standard - standard, Professional - professzionális, Client / Server - kliens / szerver, Enterprise - a tárgyterületek adatbázisainak fejlesztése. A változatok elsősorban az adatbázis -kezelő rendszerekhez való hozzáférés különböző szintjeiben különböznek egymástól. Az utóbbi lehetőségek a Client / Server és az Enterprise, amelyek e tekintetben a legerősebbek.

A Delphi számos kritikus technológia kombinációja:

Nagy teljesítményű fordítógép -kód

Objektum-orientált komponens modell

Vizuális (és ezért nagy sebességű) alkalmazások építése szoftver prototípusokból

Skálázható eszközök adatbázisok létrehozásához

Képernyő szerkezet Delphi környezetben.

A Delphi hívása után több ablak jelenik meg a Windows rendszeren (1. ábra):

Főablak,

Űrlap ablak,

Tárgyvizsgáló ablak,

Objektumfa ablak,

Programkód ablak.


1. ábra. A képernyő szerkezete Delphi környezetben.

Tekintsük a Delphi rendszer grafikus menüjét, amely a képernyő felső részén található, ikonokból, a grafikus menü bal oldalán pedig egy eszköztár található. Az eszközök végrehajtják a főmenü egyes parancsait - az ilyen párhuzamosságot gyakran gyakorolják szerszámkörnyezetekben. Ezen a panelen különösen van egy gomb a projekt lemezre mentéséhez, egy projekt megnyitásához, valamint a program végrehajtásához való elindításához.

A grafikus menü következő része az összetevők palettája, ikonkészletek formájában. A készletek gyűjteménye alkotja a vizuális komponens könyvtárat (VCL). Az összetevőknek több kategóriája van, amelyek mindegyike különböző lappal van társítva. A Komponenspaletta használatával az űrlapon lévő összetevőket (vagy objektumokat) példányosítjuk.

Annak érdekében, hogy egy objektumot elhelyezzen az űrlapon, "kattintson" a paletta megfelelő gombjára, majd kattintson az űrlapablakban: egy objektum beillesztésre kerül az űrlap meghatározott helyére - egy összetevő példánya a kiválasztott típust.

Az Objektumfelügyelő egy ablak, amely megjeleníti az űrlap vagy az űrlapra helyezett objektum tulajdonságait. Esetünkben az aktuális komponens az űrlap, így az ábrán a tulajdonságok ablak mutatja az űrlap tulajdonságait.

A Tulajdonságok ablaknak két lapja van - Tulajdonságok és Események, amelyek segítségével sorokat (mezőket) szerezhet be az ablakban a beállításhoz, illetve az összetevő (azaz egy objektum vagy űrlap) tulajdonságainak beállításához, valamint annak válaszára. események. A tulajdonság meghatározza az összetevő attribútumát, például a gomb méretét vagy a címke betűtípusát. Az esemény például olyan műveleteket jelent, mint a gombra kattintás vagy az ablak bezárása.

Az objektumfa ablak a 6. verzióban jelent meg, és az aktív űrlapon vagy az aktív adatmodulban elhelyezett egyes objektumok közötti kapcsolatok vizuális megjelenítésére szolgál.

A programkód ablak a programszöveg létrehozására és szerkesztésére szolgál. Kezdetben minimális forráskódot tartalmaz.

Delphi projektek. A Delphi projekt űrlapokból, modulokból, projektparaméter -beállításokból, erőforrásokból, stb. Áll. Ez az információ fájlokban található. Sok ilyen fájlt a Delphi automatikusan generál az alkalmazás létrehozásakor. Az olyan erőforrások, mint a bitképek, ikonok stb., Megtalálhatók a más forrásokból beszerzett fájlokban, vagy az Ön rendelkezésére álló számos eszközzel és erőforrás -szerkesztővel. Ezenkívül a fordító fájlokat is generál.

A tervezési folyamat során létrehozott fájlok a táblázatban láthatók. 3.

Az alkalmazás fő része a projektfájl (.dpr), amely tartalmazza az objektum Pascal kódot, amely elindítja a programot és inicializálja a többi modult. A Delphi automatikusan létrehozza és módosítja az alkalmazásfejlesztés során. A mentési folyamat során a projektfájlnak adott név lesz a végrehajtható fájl neve.

Projektfájl (.dpr) Ez a szövegfájl az űrlapokkal és modulokkal kapcsolatos információk tárolására szolgál. Nyilatkozatokat tartalmaz a programok inicializálására és végrehajtásra való indítására
Modulfájl (.pas) Minden létrehozott űrlapnak van egy megfelelő modul szövegfájlja, amely a kód tárolására szolgál. Létrehozhat olyan modulokat, amelyek nem kapcsolódnak az űrlapokhoz. A Delphi számos funkciója és eljárása modulokban van tárolva.
Űrlapfájl (.dfm) Ez egy bináris vagy szöveges fájl, amelyet a Delphi hoz létre az űrlapokkal kapcsolatos információk tárolására. Minden űrlapfájlhoz tartozik egy megfelelő modulfájl (.pas)
Projektbeállítások fájl (.dfo) Ez a fájl tárolja a projekt paramétereinek beállításait
Erőforrásfájl (.res) Ez a bináris fájl tartalmazza a projekt által használt ikont és más erőforrásokat.
Biztonsági mentési fájlok (. ~ Dpr, ~ Dfm, ~ Pas) Ezek a projekt, az űrlap és a modulfájlok biztonsági mentési fájljai. Ha valami reménytelenül sérült a projektben, akkor ennek megfelelően módosíthatja a fájlok kiterjesztéseit, és így visszatérhet az előző, nem sérült verzióhoz.
Ablak konfigurációs fájl (.dsk) A fájl tárolja a fejlesztői környezet összes ablakának konfigurációját
Futtatható fájl (.exe) Ez az alkalmazás futtatható fájlja. Ez egy önálló futtatható fájl, amely nem igényel mást, kivéve, ha a DLL, OCX stb. Könyvtárait használja.
Modulobjektum -fájl (.dcu) Ez egy fordított modulfájl (.pas), amely a végső végrehajtható fájlhoz van kapcsolva.

3. táblázat: A tervezési folyamat során létrehozott fájlok.


Jelenleg a Delphi rendszer 7. verziója jelent meg. Rekordidő alatt a világ egyik legnépszerűbb programozási rendszerévé vált. Világszerte sok fejlesztő határozottan elkötelezett amellett, hogy a Delphi -t nagyhatékonyságú kliens / szerver alkalmazások létrehozásának eszközeként használja.

Az evolúciós fa programozása

1. ábra Az evolúciós fa programozása

6. Bibliográfia:

1. I.T. Zaretskaya, B.G. Kolodyazhny, A.N. Gurzhiy, A.Yu. Sokolov. Informatika évfolyam 10-11. - К.: "Fórum", 2001

1. Képernyő szerkezete Delphi környezetben (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu. N. "Objektum-orientált tervezés" (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin, L. Perkolab "TurboPascal tanulmányozása" - SPb.: Peter, 2002.

2. H.M. Daytel. Hogyan kell programozni S. - M -ben: "Binom", 2000

3. Internetes oldal: http://ru.wikipedia.org/wiki/LISP

A tankönyv két részből áll: elméleti és gyakorlati. A tankönyv elméleti része a modern informatika mint összetett tudományos és műszaki tudományág alapjait tartalmazza, beleértve az információs és információs folyamatok szerkezetének és általános tulajdonságainak tanulmányozását, a számítástechnikai eszközök építésének általános elveit, tárgyalja az információ szervezését és működését. és a számítógépes hálózatok, a számítógépes biztonság bemutatja az algoritmus és a programozás, az adatbázisok és a DBMS kulcsfogalmait. A megszerzett elméleti ismeretek ellenőrzéséhez az önvizsgálatra és a tesztekre vonatkozó kérdéseket kínálnak fel. A gyakorlati rész a Microsoft Word szövegszerkesztővel, a Microsoft Excel táblázatkezelővel, a Microsoft Power Point prezentációk készítésére szolgáló programmal, archiváló programokkal és víruskereső programokkal végzett alapvető műveletek algoritmusait ismerteti. Az egyes szakaszok végén lefolytatott gyakorlati tanfolyam konszolidációjaként önálló munkavégzés javasolt.

Könyv:

Szakaszok ezen az oldalon:

8.2. Programozási nyelvek

A programozás típusai

A számítástechnika fejlődése meghatározta az algoritmusok - programozási nyelvek - írásának számos új jelrendszerének megjelenési folyamatát. Az ilyen nyelv megjelenésének jelentése egy kiegészítő számítási képletek készlete a további információkhoz, ami ezt a halmazt algoritmussá alakítja.

A programozási nyelvek mesterségesen létrehozott nyelvek. A természetesektől korlátozott számú "szó" és a parancsok (operátorok) írásának nagyon szigorú szabályai különböznek. Az ilyen követelmények összessége alkotja a programozási nyelv szintaxisát, és az egyes parancsok és más nyelvi konstrukciók jelentése a szemantika.

A programozási nyelvek a személy és a számítógép közötti kommunikáció hivatalos nyelvei, amelyek utasításkészlet leírására szolgálnak, és amelyek végrehajtása biztosítja a kívánt probléma helyes megoldását. Fő szerepük az információfeldolgozási tevékenységek megtervezése. Bármely programozási nyelv fogalomrendszeren alapul, és ennek segítségével az ember kifejezheti gondolatait.

Nagyon szoros az összefüggés a nyelv, amelyben gondolkodunk / programozunk, és a képzeletünkben elképzelhető problémák és megoldások között. Emiatt a nyelv tulajdonságainak csak a programozói hibák kiküszöbölésére való korlátozása a legjobb esetben is veszélyes. A természetes nyelvekhez hasonlóan óriási előnye van annak, ha legalább kétnyelvű. A nyelv egy sor fogalmi eszközt biztosít a programozó számára, ha nem felelnek meg a feladatnak, akkor egyszerűen figyelmen kívül hagyják őket. Például a mutatókoncepció súlyos korlátai arra kényszerítik a programozót, hogy vektorokat és teljes számtani módszereket alkalmazzon struktúrák, mutatók és hasonlók megvalósítására.

Meglepőnek tűnhet, de egy adott számítógép képes a saját gépi nyelvén írt programok futtatására. Szinte annyi különböző gépnyelv létezik, mint a számítógépek, de mind ugyanazon elképzelés változatai - az egyszerű műveleteket villámgyorsan hajtják végre bináris számokkal.

Gépfüggő programozási nyelvek

A gépfüggő nyelvek azok a nyelvek, amelyek kezelői és grafikus eszközei alapvetően a számítógép jellemzőitől (belső nyelv, memóriastruktúra stb.) Függenek. Ezeket a nyelveket alacsony szintű programozási nyelveknek nevezik. Ezek egy bizonyos típusú processzorra összpontosítanak, és figyelembe veszik annak sajátosságait. Az ilyen nyelv kezelői közel állnak a gépi kódhoz, és a processzor specifikus utasításaira összpontosítanak, vagyis ez a nyelv gépfüggő. Az alacsony szintű nyelv az Assembly. Segítségével nagyon hatékony és kompakt programok jönnek létre, mivel a fejlesztő hozzáfér a processzor összes képességéhez. Az ilyen nyelveket kis rendszeralkalmazások, eszközillesztők, könyvtárak írására használják. Azokban az esetekben, amikor a RAM és a ROM mennyisége kicsi (több kilobájt körüli), nincs más megoldás az assembler számára. Ezek a programozási nyelvek teszik lehetővé a legrövidebb és leggyorsabb programkód beszerzését.

Gépfüggetlen programozási nyelvek

A gépfüggetlen nyelvek a problémák megoldására szolgáló algoritmusok és a feldolgozandó információk leírásának eszközei. Kényelmesek a felhasználók széles köre számára, és nem követelik meg tőlük, hogy ismerjék a számítógép és a számítógépes rendszer működésének megszervezésének sajátosságait.

Az ilyen nyelveket magas szintű programozási nyelveknek nevezik. Az ilyen nyelveken írt programok a nyelv szabályai szerint felépített állítások sorozatai (feladatok, szegmensek, blokkok stb.). A nyelvi operátorok leírják azokat a műveleteket, amelyeket a rendszernek végre kell hajtania a program gépi nyelvre történő lefordítása után.

A gépi programokban gyakran használt parancssorokat (eljárások, alprogramok) magas szintű nyelveken külön utasításokkal ábrázoljuk. A programozó lehetőséget kapott arra, hogy ne írja le részletesen a számítási folyamatot a gépi utasítások szintjén, hanem az algoritmus fő jellemzőire összpontosítson.

A magas szintű programozási nyelvek sokkal közelebb állnak és érthetőbbek az emberek számára. Nem veszik figyelembe az egyes számítógépes architektúrák sajátosságait, vagyis ezek a nyelvek gépfüggetlenek. Ez lehetővé teszi egy program használatát, ha ilyen nyelven írták különböző számítógépeken.

Lehetőség van közvetlenül gépi nyelven programokat írni, bár ez nehéz. A számítógépesítés hajnalán (az 1950 -es évek elején) a gépi nyelv volt az egyetlen nyelv, amelyet egy nagyobb ember addig nem talált ki. A programozók megmentésére a kemény gépi programozási nyelvtől magas szintű nyelveket (azaz nem gépi nyelveket) hoztak létre, amelyek egyfajta összekötő híddá váltak az emberek és a számítógép gépi nyelve között. A magas szintű nyelvek olyan fordítóprogramokon keresztül működnek, amelyek "forráskódot" (az angol szavak és matematikai kifejezések hibridje, amelyet a gép olvas) hibásan fecskendeznek be, és végül kényszerítik a számítógépet a megfelelő utasítások végrehajtására, amelyek gépi nyelven vannak megadva.

A magas szintű programozási nyelvek a következők: Fortran, Cobol, Algol, Pascal, Basic, C, C ++, Java, HTML, Perl és mások.

Egy programozási nyelv segítségével nem kész program jön létre, hanem csak annak szövege, amely egy korábban kifejlesztett algoritmust ír le. Egy működő program beszerzéséhez vagy automatikusan le kell fordítania ezt a szöveget gépi kódra, majd külön kell használnia a forrásszöveget, vagy azonnal végre kell hajtania a programszövegben megadott nyelvi parancsokat. Ehhez fordítóprogramokat használnak.

A fordítóknak két fő típusa létezik (8.4. Ábra): a tolmácsok, amelyek egy lépésben szkennelik és érvényesítik a forráskódot, és a fordítók, amelyek a forráskódot beolvasva előállítják a gépi nyelvű program szövegét, amelyet ezután külön hajtanak végre.


8.4. A fordítók típusai

Fordítók használatakor a program összes forráskódja gépi kódokká alakul át, és ezeket a kódokat írják a mikroprocesszor memóriájába. A tolmács használatakor a program forráskódját a mikroprocesszor memóriájába írják, és a fordítást a következő operátor olvasásakor hajtják végre. Természetesen a tolmácsok sebessége sokkal kisebb, mint a fordítóké, mivel amikor egy operátort ciklusban használnak, sokszor lefordítják. Ha azonban magas szintű nyelven programoz, a belső memóriában tárolható kód mennyisége lényegesen kisebb lehet, mint a végrehajtható kódé. A tolmácsok használatának másik előnye, hogy a programok könnyen hordozhatók egyik processzorról a másikra.

A tolmács megvalósítás egyik gyakran említett előnye, hogy lehetővé teszi a "közvetlen módot". Az Azonnali mód lehetővé teszi, hogy problémát tegyen fel a számítógépnek, és amint az ENTER billentyűt megnyomja, visszaadja a választ. Ezenkívül a tolmácsok speciális tulajdonságokkal rendelkeznek, amelyek megkönnyítik a hibakeresést. Megszakíthatja például egy tolmácsprogram feldolgozását, megjelenítheti bizonyos változók tartalmát, átfuthatja a programot, majd folytathatja a végrehajtást. Az értelmezett nyelveknek azonban vannak hátrányai. Szükség van például arra, hogy a tolmács egy példánya állandóan a memóriában legyen, míg a tolmács számos képessége, tehát képességei nem feltétlenül szükségesek egy adott program végrehajtásához. A program utasításainak végrehajtásakor a tolmácsnak először be kell szkennelnie minden utasítást, hogy elolvashassa annak tartalmát (mit kér tőlem ez a személy?), Majd végre kell hajtania a kért műveletet. A hurkokban lévő operátorokat túlságosan szkennelik.

A fordítógép egy gépi nyelvű fordító, amely elolvassa a forrásszöveget. Kiértékeli a nyelv szintaktikai felépítése szerint, és lefordítja gépi nyelvre. Más szóval, a fordító nem futtat programokat, hanem felépíti azokat. A tolmácsokat nem lehet elválasztani az általuk futtatott programoktól; a fordítók elvégzik a munkájukat, és elhagyják a helyszínt. Amikor egy olyan fordítónyelvvel dolgozik, mint a Turbo BASIC, akkor a programokat életük két fő szakaszát kell figyelembe vennie: az összeállítási időszakot és a futási időszakot. A legtöbb program négy -tízszer gyorsabban fog futni, mint a tolmács megfelelői. Ha javításon dolgozik, 100 -szoros teljesítményjavulást érhet el. Az érem másik oldala, hogy azok a programok, amelyek idejük nagy részét a lemezeken lévő fájlokkal babrálva töltik, vagy várnak a bemenetre, nem képesek lenyűgöző sebességnövekedést bizonyítani.

A program létrehozásának folyamatát programozásnak nevezzük.

Többféle programozás létezik.

Algoritmusos vagy moduláris

Az algoritmikus programozás fő gondolata az, hogy egy programot modulokra osztunk fel, amelyek mindegyike egy vagy több műveletet hajt végre. A modul egyetlen követelménye, hogy végrehajtása mindig az első paranccsal kezdődik, és mindig a legutóbbival fejeződik be (vagyis lehetetlen kívülről elérni a modul parancsait, és átvinni a vezérlést a modulról más parancsokra, a végső megkerülésével).

Az algoritmus a kiválasztott programozási nyelven az adatok leírására, az értékek kiszámítására és a program végrehajtásának sorrendjének vezérlésére szolgáló parancsok segítségével íródik.

A programszöveg a hozzárendelés, a ciklus és a feltételes utasítások lineáris sorozata. Ily módon megoldhat nem túl összetett problémákat, és több száz kódsorból álló programokat állíthat össze. Ezt követően a forrásszöveg érthetősége meredeken csökken, mivel az algoritmus általános szerkezete elveszik a túl részletes, elemi műveleteket végrehajtó bizonyos nyelvi operátorok mögött. Számos beágyazott feltételes és ciklus utasítás jelenik meg, a logika teljesen zavarossá válik, amikor egy hibás állítás kijavítása során számos új hibát vezetnek be az utasítás működésének sajátosságaival kapcsolatban, amelyek eredményeit gyakran figyelembe veszik különböző helyeken a programban.

Strukturált programozás

Közepes méretű alkalmazások (több ezer sor forráskód) létrehozásakor strukturált programozást alkalmaznak, amelynek lényege, hogy a program szerkezetének tükröznie kell a megoldandó probléma szerkezetét, hogy a megoldás algoritmusa jól látható legyen a forrásszövegből. Ehhez nemcsak három egyszerű operátor segítségével, hanem olyan eszközök segítségével is rendelkeznie kell egy program létrehozásához, amelyek pontosabban tükrözik az algoritmus sajátos szerkezetét. Ebből a célból a programozásba bevezették az alprogram fogalmát - olyan operátorok halmazát, amelyek elvégzik a kívánt műveletet, és nem függenek a forráskód más részeitől. A program sok kis alprogramra van felosztva (legfeljebb 50 állítást tartalmaz - kritikus küszöbérték az alprogram céljának gyors megértéséhez), amelyek mindegyike elvégzi az eredeti feladat által biztosított műveletek egyikét. Ezen alprogramok kombinálásával a végső algoritmust nem egyszerű operátorokból, hanem bizonyos szemantikai terheléssel rendelkező teljes kódblokkokból lehet kialakítani, és az ilyen blokkokra név szerint hivatkozhat. Kiderült, hogy az alprogramok a programozó által meghatározott nyelv új operátorai vagy műveletei.

Az alprogramok használatának képessége a programozási nyelvet eljárási nyelvként osztályozza.

Az alprogramok lehetővé teszik az alkalmazás tervezését és fejlesztését felülről lefelé - ezt a megközelítést nevezik felülről lefelé tervezésnek. Először több alprogramot különítenek el, amelyek a legglobálisabb feladatokat oldják meg (például az adatok inicializálása, a fő rész és a befejezés), majd e modulok mindegyike alacsonyabb szinten kerül részletezésre, ami viszont kis számú egyéb alprogramra bomlik , és ez addig történik, amíg az egész feladat befejeződik.

Ez a megközelítés kényelmes, mivel lehetővé teszi az egyén számára, hogy folyamatosan a téma szintjén gondolkodjon, anélkül, hogy megállna bizonyos operátorok és változók előtt. Ezenkívül lehetségessé válik, hogy egyesek nem azonnal hajtják végre az alprogramokat, hanem átmenetileg elhalasztják a többi rész befejezését. Például, ha szükség van egy komplex matematikai függvény kiszámítására, akkor az ilyen számításhoz külön alprogramot rendelnek hozzá, de ideiglenesen egy operátor hajtja végre, amely egyszerűen egy előre kiválasztott értéket rendel hozzá. Amikor a teljes alkalmazást megírták és hibakeresést végeztek, elkezdheti ennek a funkciónak a megvalósítását.

Az is fontos, hogy a kis alprogramokat sokkal könnyebb hibakeresni, ami jelentősen növeli a teljes program általános megbízhatóságát.

Az alprogramok nagyon fontos jellemzője az újrafelhasználhatóságuk. Az integrált programozási rendszerek nagy, szabványos rutinkönyvtárakkal rendelkeznek, amelyek jelentősen növelhetik a termelékenységet, ha valaki más munkáját használják fel a gyakran használt rutinok létrehozására.

Kétféle alprogram létezik - eljárások és függvények. Ezek abban különböznek egymástól, hogy az eljárás egyszerűen végrehajt egy utasításcsoportot, és a függvény ezen kívül kiszámít egy értéket, és visszaküldi azt a főprogramnak (értéket ad vissza). Ez az érték egy bizonyos típusú (egy függvény ilyen és ilyen típusú).

Az alprogramok három fontos feladatot látnak el:

Szüntesse meg annak szükségességét, hogy a programszövegben hasonló töredékeket többször meg kell ismételni;

Javítani kell a program szerkezetét, megkönnyítve annak megértését;

Növelje a programozási hibákkal és az előre nem látható következményekkel szembeni ellenállást a programmódosítások során.

Objektumorientált programozás

A nyolcvanas évek közepén új irányvonal alakult ki a programozásban, egy objektum fogalmán alapulva. Addig a nagy rendszerek létrehozásának lehetőségének fő korlátait az adatok és feldolgozási módszereik programjainak széthúzása szabta meg.

A környező világ valódi tárgyainak három alapvető jellemzője van: tulajdonságokkal rendelkeznek, képesek ezeket a tulajdonságokat különböző módon megváltoztatni, és reagálni az eseményekre, amelyek mind a környező világban, mind magában a tárgyban előfordulnak. Ebben a formában a programozási nyelvekben valósul meg az objektum fogalma tulajdonságok (az objektumra jellemző adatstruktúrák), feldolgozási módszereik (tulajdonságok megváltoztatására szolgáló alprogramok) és események halmazaként, amelyekre ez az objektum reagálhat és amelyek általában az objektum tulajdonságainak megváltozásához vezetnek.

Az objektumok programokban való létrehozásának lehetőségének megjelenése minőségileg befolyásolja a programozók termelékenységét. A 10 programozóból álló csoport által létrehozható alkalmazások maximális mennyisége több millió kódsorra nőtt néhány év alatt, ugyanakkor magas programbiztonságot és - ami a legfontosabb - a korábban létrehozott újrafelhasználást sikerült elérni tárgyak más feladatokban.

Az objektumok felépítése azonos lehet, és csak tulajdonságértékekben térhetnek el egymástól. Ilyen esetekben egy új típus jön létre a programban egyetlen objektumszerkezet alapján. Osztálynak nevezik, és minden konkrét objektumot, amely ennek az osztálynak a felépítésével rendelkezik, az osztály példányának nevezzük.

Az objektum-orientált programozási nyelvet három fő tulajdonság jellemzi:

1. Kapszulázás - az adatok kombinálása egy osztályba tartozó módszerekkel;

A programozási nyelvek generációi

A programozás igénye már a programozható számítógépek előtt felmerült. Ismeretes, hogy például a 18. század óta léteznek fa deszkával programozott szövőszékek, amelyekben a megfelelő helyeken lyukakat készítettek.

A programozás fejlesztését elősegítette John Von Neumann 1945 -ben megjelent ötlete, amelyben egy olyan számítógépet írt le, ahol maga a program is tárolódik a memóriában az adatokkal együtt.

Az első generációs programozási nyelv a gépi kód. A gépi kód olyan utasításokból áll, amelyeket egy számítógép (processzor) végrehajthat (valamint az utasításokhoz tartozó adatokból). Gépi kódban történő programozáskor a programozónak bináris kódba kellett írnia a programját, hogy a processzor megértse és végre tudja hajtani. Lényegében az ilyen programozáshoz szükség van a hardver jó ismeretére és megértésére, mert a programozás során tudni kell, hogy mire képes a processzor, hol vannak az I / O eszközök, és hogyan kell velük kommunikálni. mennyi időt fognak fordítani erre vagy arra a műveletre. Így a gépi kód nagyon szorosan kapcsolódik ahhoz a hardverhez, amelyen a megfelelő program futni fog. A mai napig a gépi kód nem tűnt el a számítógépekből, minden művelet alacsony szinten (hardver szinten) továbbra is előfordul a gépi kódban, azaz Bármilyen programozási nyelven is írják a programot, végső soron a hardver által érthető gépi kódgá alakul.

Az összeszerelési nyelvek a második generációs nyelvek. A gépi kód esetében minden programozás bináris kódban történt, ezért nagyon időigényes volt az olvasás és a hibakeresés. Az összeszerelési nyelven történő programozáskor az utasításokat érthető formában ismertetik egy személlyel. Maga a programozás nagyon hasonlít a gépi kódban történő programozásra, mert az utasítások megegyeznek a gépi kóddal (csak más formában - szavak formájában). Az assembly nyelven írt program a következő:

MOV AL, 19

HOZZÁADÁS AL, 4

KI 2

Ez a kódrészlet a 19 AL regiszter értéket rendeli hozzá (általában az értékeket számokkal ábrázolják a hexadecimális rendszerben), hozzáadja a 4 számot az AL regiszter értékéhez, majd elküldi a 2 számot a 2 kimenethez. lefordításra kerül az assemblerből a gépkódba, és ezt követően a processzor megkezdheti a végrehajtást ...

Az összeszerelési nyelvek és a gépi kód alacsony szintű nyelvek.

A harmadik generációs programozási nyelveket már magas szintű nyelveknek nevezik. Az ilyen programozási nyelvek nem nagyon kapcsolódnak a hardverhez. Ez azt jelenti, hogy a programozónak már nem kell nagyon pontosan ismernie az eszközt és a hardver tulajdonságait, de viszonylag független lehet a hardvertől, majd ezt a programot különféle eszközök segítségével olyan formába konvertálja, amelyre a hardver képes megért. Pontosabban, hogyan történik ez, később ismertetjük.

A legtöbb ismert és használt programozási nyelv a harmadik generáció nyelvei közé tartozik, például:

A FORTRAN (The IBM Mathematical FORmula TRANslating System) egy programozási nyelv, amelyet az 1950 -es években fejlesztettek ki matematikai számítástechnikai és tudományos célokra.

COBOL (COmmon Business Oriented Language) - Objektum -orientált programozási nyelv, amelyet 1959 -ben hoztak létre, elsősorban az üzleti igényeket kielégítő programok írására.

BASIC (Beginner's All -purpose Symbolic Instruction Code) - 1963 -ban kifejlesztett nyelv, amelyet eredetileg azért hoztak létre, hogy a mérnökök különféle szimulációkat végezhessenek a számítógépeken.

Pascal - Az 1970 -es években létrehozott programozási nyelv, amelyet a programozás tanítására hoztak létre.

C - a név onnan származik, hogy ez a nyelv főleg a B nevű nyelven alapult. Operációs rendszerek írására készült (sok UNIX -kompatibilis operációs rendszer ezen a nyelven íródott), régóta az egyik legnépszerűbb programozási nyelv .

A C ++ objektum-orientált C.

A Java egy C ++ alapú programozási nyelv.

A Visual Basic, a Delphi, a Python, a C # mind harmadik generációs nyelvek. Sok harmadik generációs programozási nyelv fiatalabb (újabb), mint néhány negyedik és ötödik generációs nyelv.

A 4. generációs programozási nyelveket úgy alakították ki, hogy könnyen megtanulhatók és használhatók legyenek. Ezek a nyelvek általában nem eljárásjogilag összpontosítanak egyetlen kérelemre. A negyedik generációs programozási nyelv példája az SQL (Structured Query Language). Többet mond arról, hogy „mit kell tenni”, és kevésbé arról, hogy „hogyan kell csinálni”. Ötödik generációs nyelveket hoztak létre a mesterséges intelligencia rendszerek fejlesztéséhez és a témához kapcsolódó problémák megoldásához.

A programozási nyelvek alapvető típusai.

A programozási nyelvek generációitól eltérően az alaptípusok leírják, hogyan lehet egy nyelvet programozni. A fő alaptípusok a következők: eljárási, funkcionális és objektum-orientált programozási nyelvek.

Az eljárási programozási nyelvekben a programozási nyelv leírja a műveleteket és azok végrehajtásának sorrendjét, valamint ezeket a műveleteket csoportokra (alprogramokra) osztják fel. Az eljárások viszont olyan kódstruktúrákat hoznak létre, amelyek újra felhasználhatók. A funkcionális programozási nyelvekben a teljes megoldást a függvények segítségével írják le. Az objektum-orientált programozási nyelvekben a problémát az osztályokban leírt függvények és adatstruktúrák segítségével oldják meg (angol osztály). Minden osztályból létrehozhat egy objektumot, amely tulajdonságokkal és / vagy metódusokkal rendelkezik.

A tulajdonságok olyan értékek, amelyeket egy objektum tartalmazhat, és amelyek befolyásolhatják az objektum viselkedését. Például a "konzol ablak" osztály alapján létrehozhat egy "console1" objektumot, amely a felhasználó számára egyetlen konzolablakként lesz látható. Ennek az objektumnak van néhány tulajdonsága (látható, rejtett, szélesség, magasság, szöveg színe a konzol ablakában, háttérszín stb.), Ezen tulajdonságok megváltoztatásával ebben az esetben megváltoztathatja az objektum megjelenését.

Ugyanebben a példában az objektumnak lehetnek bizonyos módszerei, például a megfelelő metódusra hivatkozva írhat néhány szöveget a konzol ablakába, beolvashatja a felhasználó által beírt szöveget valamilyen változóba stb.

A második példa a "szövegváltozó" osztály, amely az osztály alapján létrehoz egy "ProstoText" objektumot, létrehoz egy szövegváltozót, amelynek fő tulajdonsága a tárolt szövegérték, de valójában ez az objektum több tulajdonsággal rendelkezik ( például a tárolt szövegérték hossza). Ezenkívül a szövegváltozónak rendelkeznie kell bizonyos módszerekkel (a tárolt érték karaktereit kisbetűsre, nagybetűre, néhány karaktert törölni stb.).

Ezért az osztályok leírásával és az objektumok manipulálásával nagyon összetett programok összeállítása és különféle műveletek végrehajtása lehetséges.

Tolmácsolt és összeállított nyelvek

Mielőtt a számítógép végre tudna hajtani egy magas szintű nyelven írt programot, azt „le kell fordítani” egy olyan nyelvre, amelyet a számítógép ért, azaz pl. gépi kód. Ezt a fordítási folyamatot fordításnak nevezik, a fordítószoftvert pedig fordítónak. A fordítók két osztályba sorolhatók: fordítók és tolmácsok.

A fordítás az, amikor a gépi kódban lévő program (amelyet fordítónak neveznek) egy másik programozási nyelven írt programot gépi kódgá alakít át. Ezt követően a program létrejövő gépi kódja végrehajtásra kerül. Példák az összeállított nyelvekre: C, Fortran, Pascal.

Az értelmezés szerint a gépi kódban lévő program (értelmező) a programfájlt a belső memóriába írja, és soronként elkezdi végrehajtani. Példa erre a régi BASIC nyelv.

Egy program értelmezése körülbelül 10-200-szor lassabb, mint a fordított kód végrehajtása. Ezzel szemben egy értelmezett program hibakeresése (hibák eltávolítása a programból) általában könnyebb, mint egy lefordított program esetében. Bizonyos alkalmas esetekben és a rendelkezésre álló szerszámok birtokában ezek a különbségek sokkal kisebbek lehetnek. Jó példa erre a Java, amelynek kódja a középső rétegben van optimalizálva és fordítva, amelyet a Just-in-Time fordító futás közben lefordít, hogy illeszkedjen az adott hardverhez.

Elvileg bármely nyelven írt program értelmezhető és fordítható.

Jelenleg a programozásnak számos iránya van. Mindenki találhat kedvére valót, de ehhez tudnia kell, hogy pontosan mit fog tenni a területén.

Webes alkalmazások fejlesztése

Ez az irány a webes alkalmazások fejlesztésére összpontosít (más szóval webhelyek, de jelenleg a webhelyek olyan gazdag funkcionalitással rendelkeznek, hogy teljes értékű alkalmazásoknak nevezhetők).

A webes programozás felosztható háttérrendszerre (szerveroldali szkriptek írása - PHP, Python, Ruby) és frontendre (felhasználói felület fejlesztése - Javascript, HTML, CSS).

Asztali alkalmazásfejlesztés

Szoftverfejlesztés különböző operációs rendszerekhez. Mindenféle szoftver, amelyet a mindennapi életben használunk. Ha saját fotóprocesszort, audiolejátszót vagy szövegszerkesztőt szeretne írni, akkor ez a hely az Ön számára.

Szerver Alkalmazásfejlesztés

Ezek különféle játékszerverek (kedvenc Dotka, CS: GO), IM-szolgáltatások (Skype szerver része, ICQ, MSN), banki adatbázisok.

Mobil alkalmazások fejlesztése

Sok Java alkalmazás. VK, Viber, Yandex.Map, fordítók, e-olvasók.

Beágyazott programozás

A programozás érdekes ága a különféle háztartási gépekhez: porszívók, hűtőszekrények, mosógépek, lejátszók, navigátorok, elektronikus mérlegek. Ez magában foglalja a tudományos fejlesztéseket olyan speciális nyelvek használatával, mint a MATLAB.

Rendszer programozás

Különféle illesztőprogramok írása hardverhez, az operációs rendszerek "kerneljének" programozása. Egyébként a programozási nyelvek fordítóinak és értelmezőinek létrehozása is ide tartozik.

Játékfejlesztés

Óriási ipar. Ez magában foglalja a PC -k, konzolok és mobil eszközök játékfejlesztését.

Olimpiai programozás és problémamegoldás

Programozás különböző "nem praktikus" és nem közös nyelveken (Pascal, Delphi) néhány eredeti probléma megoldásához, amelyek nem szabványos megközelítést, leleményességet és 160 feletti IQ-t igényelnek.

Számviteli és pénzügyi termékek programozása

"1C: Vállalat". Oroszországban minden könyvelés ehhez a termékhez kötődik. De nem elég csak magát a nyelvet ismerni, fontos megérteni a számvitel alapjait. A plusz az, hogy sok a munka, és nem marad kenyér nélkül.

Adatbázis programozás

Komoly irány. Ha olyan adatbázisokat szeretne kifejleszteni, amelyek képesek milliárdnyi információ tárolására a VKontakte vagy a Facebook összes felhasználójáról, és ugyanakkor nem lassít - akkor itt van.

Tudomány

A tudomány és ez mindent elmond. Ideghálózatok, DNS -struktúrák modellezése, műholdak indítása, Big Bang szimuláció.

Egyébként a közelmúltban a NASA honlapja közzétette a híreket a programozó kereséséről az "ősi" Fortran nyelven, amely több mint 60 éves. Egy programozónak programokat kellett kifejlesztenie a Voyager 1 és Voyager 2 automatikus szondák vezérlésére, amelyek szoftverét az Assembler, a Fortran és a COBOL már a hetvenes években megírták. Soha nem tudhatod, milyen tudás jöhet jól.