Aké typy programátorov existujú. Druhy programovacích jazykov

Procedurálne (imperatívne) programovanie je odrazom architektúry tradičných počítačov. Program v procedurálnom programovacom jazyku pozostáva zo postupnosti operátorov (inštrukcií), ktoré určujú postup pri riešení problému. Hlavným je operátor priradenia, ktorý slúži na zmenu obsahu pamäťových oblastí. Pojem pamäť ako úložisko hodnôt, ktorého obsah je možné aktualizovať pomocou programových príkazov, je v imperatívnom programovaní zásadný. Procedurálny programovací jazyk umožňuje programátorovi definovať každý krok v procese riešenia problému. Zvláštnosťou týchto programovacích jazykov je, že úlohy sú rozdelené do krokov a riešené krok za krokom. Imperatívne programovanie je najvhodnejšie pre malé čiastkové úlohy, kde je rýchlosť vykonávania na moderných počítačoch veľmi dôležitá.

Medzi procedurálne programovacie jazyky patria: Ada, Basic (verzie od Quick Basic po Visual Basic), C, COBOL, Fortran, Modula- 2, Pascal, PL / 1, Rapier, REXX.

Štruktúrované programovanie- metodika vývoja softvéru, ktorá je založená na prezentácii programu vo forme hierarchickej štruktúry blokov postavených z troch typov základných štruktúr: sekvenčné vykonávanie, vetvenie a slučka.

Objektovo orientované programovanie je metodika programovania, ktorá je založená na reprezentácii programu ako zbierky objektov, z ktorých každý je implementáciou určitej triedy (dátový typ špeciálneho druhu) a triedy tvoria hierarchiu založenú na princípoch dedičnosti.

Objekty znamenajú spojenie údajov a postupov, ktoré ich spracúvajú, do jedného celku. Objekty si môžu navzájom vymieňať správy. Keď objekt prijme správu, spustí sa príslušný obslužný program, inak sa nazýva metóda... Objekt má asociatívny kontajner, ktorý vám umožňuje prijímať prostredníctvom správy jeho spôsob spracovania. Objekt má navyše objekt predka. Ak sa nenájde žiadna metóda na spracovanie správy, správa bude presmerovaná na nadradený objekt. Táto štruktúra ako celok (tabuľka ovládačov + predkov) je z dôvodu efektívnosti alokovaná do samostatného objektu, tzv trieda tohto objektu. Samotný objekt bude mať odkaz na objekt predstavujúci jeho triedu. Objekty komunikujú výlučne prostredníctvom vzájomného odosielania správ.

Je dôležité zdôrazniť nasledujúce tri hlavné vlastnosti objektov.

Zapuzdrenie (ochrana údajov)- mechanizmus, ktorý integruje údaje a metódy, ktoré s týmito údajmi manipulujú, a chráni ich pred vonkajším rušením.


Dedičnosť je proces, pomocou ktorého môže jeden objekt zdediť vlastnosti iného objektu a pridať k nemu jedinečné vlastnosti. Vzťah dieťaťa a predka v triedach sa nazýva dedičnosť.

Polymorfizmus je vlastnosť, ktorá umožňuje nahradiť objekt iným objektom s podobnou štruktúrou triedy. Ak teda v ľubovoľnom scenári interakcie s objektom nahradíte ľubovoľný objekt iným, ktorý dokáže spracovať rovnaké správy, scenár sa tiež implementuje.

Deklaratívne programovanie... Deklaratívne programovanie kladie dôraz na to, čo robiť, nie ako to robiť (v imperatívnych jazykoch). Hlavnou vecou je presná formulácia problému a výber a aplikácia potrebného algoritmu na jeho riešenie je problémom vykonávajúceho systému, ale nie programátora. Webové stránky HTML sú napríklad deklaratívne v tom, že popisujú, čo by mala stránka obsahovať, nie spôsob, akým sa stránka zobrazuje na obrazovke. Tento prístup sa líši od imperatívnych programovacích jazykov, ktoré vyžadujú, aby programátor špecifikoval algoritmus na vykonanie.

Existujú dve vetvy deklaratívneho programovania: funkčné, založené na matematickom koncepte funkcie, ktorá nemení svoje prostredie, na rozdiel od funkcií v procedurálnych jazykoch, ktoré umožňujú vedľajšie účinky, a logické, v ktorých sú programy vyjadrené ako vzorce matematickej logiky , a počítač na riešenie problému. sa pokúša z nich vyvodiť logické dôsledky.

Logické programovanie založené na matematickej logike. Ale najznámejším logickým programovacím jazykom je Prolog. Program PROLOGUE obsahuje dve zložky: fakty a pravidlá. Fakty sú údaje, s ktorými program pracuje, a súčet faktov tvorí databázu PROLOGUE, ktorá je v skutočnosti relačnou databázou. Hlavnou operáciou vykonanou s údajmi je operácia párovania, nazývaná tiež operácia zjednotenia alebo vyrovnania.

Rovnako ako pri iných deklaratívnych jazykoch, aj pri práci s ním programátor popisuje situáciu (pravidlá a fakty) a formuluje cieľ (dotaz), vďaka čomu tlmočník PROLOGUE môže nájsť riešenie svojho problému. Tlmočník PROLOGUE je chápaný ako mechanizmus na riešenie problému pomocou jazyka PROLOGUE. PROLOGOVÝ program je súbor faktov a (možno) pravidiel. Ak program obsahuje iba fakty, nazýva sa to databáza. Ak obsahuje aj pravidlá, potom sa často používa termín znalostná báza.

Na rozdiel od programov napísaných v procedurálnych jazykoch, ktoré predpisujú postupnosť krokov, ktoré musí počítač vykonať pri riešení problému, v PROLOGUE programátor popisuje skutočnosti, pravidlá, vzťahy medzi nimi a tiež požiadavky na problém. Najtypickejšou aplikáciou PROLOGUE sú expertné systémy.

Otázky pre vlastný test

1. Čo je to program? Čo znamená interpret?

2. Čo je strojový kód?

3. Čo je prekladateľ? Vytvorte zoznam typov prekladačov.

4. Ako funguje tlmočník? Aké sú jeho výhody?

5. Aká je výhoda kompilátorov?

6. Aké súčasti obsahuje integrovaný programovací systém?

7. Čo sa rozumie pod štruktúrou údajov, čo je klasifikácia štruktúry údajov?

8. Čo znamenajú dátové polia a aké operácie s nimi možno vykonávať?

9. Aké sú algoritmy na triedenie polí?

10. Aký je účel podprogramov?

11. Na čo slúži knižnica rutín?

12. Aké typy programovania existujú?

Literatúra

1. Stavrovsky A.B., Karnaukh T.A. Prvé kroky k programovaniu. Kniha s vlastným návodom. - M.: Williams, 2006.- 400 s.

2. Okulov S. Základy programovania Vydavateľ: Binom. Laboratórium znalostí, 2008.- 383 s.

3. Kantsedal S.A.. Základy algoritmizácie a programovania. - M.: Forum, 2008.- 351 s.

4.httn // www myfreesoft ru / default-windows-nroprams html-štandardné programy pre Windows

5.httn // khni -iin nork kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - modely a dátové štruktúry

6. http://www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - modely a dátové štruktúry

7. http://inf.1sentemher.ru/2007/15/00.htm - encyklopédia učiteľa informatiky

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

9.httn // inroc ru / narallel-nroPramminP / lection-5 /-hromadné triedenie.

Programovací jazyk- formálny znakový systém navrhnutý tak, aby popisoval algoritmy vo forme, ktorá je pre interpreta vhodná (napríklad počítač). Programovací jazyk definuje súbor lexikálnych, syntaktických a sémantických pravidiel používaných pri zostavovaní počítačového programu. Programátorovi umožňuje presne určiť, na aké udalosti bude počítač reagovať, ako budú údaje uložené a prenášané a tiež aké akcie by sa s nimi mali vykonávať za rôznych okolností.

Od vzniku prvých programovateľných strojov ľudstvo vynašlo už viac ako dva a pol tisíc programovacích jazykov. Každý rok sa ich počet dopĺňa o nové. Niektoré jazyky pozná iba malý počet vlastných vývojárov, iné sa stanú známymi miliónom ľudí. Profesionálni programátori niekedy pri svojej práci používajú viac ako tucet rôznych programovacích jazykov.

Tvorcovia jazykov interpretujú tento koncept odlišne programovací jazyk... Medzi bežné miesta uznávané väčšinou vývojárov patria tieto:

· Funkcia: programovací jazyk je určený na písanie počítačových programov, ktoré sa používajú na prenos pokynov do počítača na vykonanie konkrétneho výpočtového procesu a organizáciu ovládania jednotlivých zariadení.

· Úloha: programovací jazyk sa líši od prirodzených jazykov v tom, že je určený na prenos príkazov a údajov z osoby do počítača, zatiaľ čo prirodzené jazyky sa používajú iba na vzájomnú komunikáciu ľudí. V zásade je možné definíciu „programovacích jazykov“ zovšeobecniť - je to spôsob prenosu príkazov, príkazov, jasný sprievodca činom; pričom ľudské jazyky slúžia aj na výmenu informácií.

· Prevedenie: programovací jazyk môže používať špeciálne konštrukcie na definovanie a manipuláciu s dátovými štruktúrami a riadenie výpočtového procesu.

3. Fázy riešenia problému na počítači.

Najúčinnejšia aplikácia VT bola nájdená vo výpočtoch náročných na prácu vo vedeckom výskume a technických výpočtoch. Pri riešení problému na počítači hlavná úloha stále patrí osobe. Stroj plní svoje úlohy iba podľa vyvinutého programu. úloha človeka a stroja je ľahko pochopiteľná, ak je proces riešenia problému rozdelený do fáz uvedených nižšie.

Formulácia problému. Táto fáza spočíva vo vecnej (fyzikálnej) formulácii problému a určení konečných riešení.

Budovanie matematického modelu. Model by mal správne (adekvátne) popísať základné zákony fyzikálneho procesu. Konštrukcia alebo výber matematického modelu z existujúcich vyžaduje hlboké porozumenie problému a znalosti príslušných sekcií matematiky.

Vývoj majstrovstiev sveta. Pretože počítač dokáže vykonávať iba najjednoduchšie operácie, „nerozumie“ tvrdeniu problému, a to ani v matematickej formulácii. Na vyriešenie tohto problému je potrebné nájsť numerickú metódu, ktorá umožní obmedzenie problému na určitý výpočtový algoritmus. V každom konkrétnom prípade je potrebné vybrať vhodné riešenie z už vyvinutých štandardných.

Vývoj algoritmu. Proces riešenia problému (výpočtový proces) je napísaný vo forme postupnosti elementárnych aritmetických a logických operácií vedúcich k konečnému výsledku a nazýva sa algoritmus na riešenie problému.

Programovanie. Algoritmus na riešenie problému je napísaný v jazyku zrozumiteľnom stroju vo forme presne definovanej postupnosti operácií - programu. Tento proces sa zvyčajne vykonáva v nejakom prechodnom jazyku a jeho preklad vykonáva samotný stroj a jeho systém.

Ladenie programu. Zostavený program obsahuje všetky druhy chýb, nepresností a tlačových chýb. Ladenie zahŕňa chyby v ovládaní programu, diagnostike (hľadaní a určovaní obsahu) a ich odstraňovaní. Program je testovaný riešením kontrolných (testovacích) problémov, aby sa získala dôvera v spoľahlivosť výsledkov.

Výpočty. V tejto fáze sú pripravené počiatočné údaje pre výpočty a výpočet sa vykonáva podľa ladeného programu. na zníženie manuálnej práce pri spracovaní výsledkov je súčasne možné široko využívať pohodlné formy vydávania výsledkov vo forme textových a grafických informácií vo forme zrozumiteľnej pre osobu.

Analýza výsledkov. Výsledky výpočtu sú starostlivo analyzované a je vypracovaná vedecká a technická dokumentácia.

4. Na čo slúžia programovacie jazyky?

Proces práce počítača spočíva v spustení programu, tj. Sady presne definovaných príkazov v presne definovanom poradí. Strojová forma inštrukcie pozostávajúca z núl a jednotiek naznačuje, akú akciu by mal vykonať centrálny procesor. To znamená, že na to, aby ste počítaču povedali postupnosť akcií, ktoré musí vykonať, musíte zadať postupnosť binárnych kódov zodpovedajúcich príkazov. Programy strojového kódu pozostávajú z tisícov pokynov. Písanie takýchto programov je náročné a únavné. Programátor si musí pamätať kombináciu núl a jednotiek binárneho kódu každého programu, ako aj binárne kódy dátových adries použitých pri jeho vykonávaní. Je oveľa jednoduchšie napísať program v nejakom jazyku, ktorý je bližší prirodzenému ľudskému jazyku, a zveriť počítaču prácu na preklade tohto programu do strojových kódov. Takto sa vyvíjali jazyky špeciálne pre programy na písanie - programovacie jazyky.

Existuje mnoho rôznych programovacích jazykov. V skutočnosti môže ktorýkoľvek z nich použiť na vyriešenie väčšiny problémov. Skúsení programátori vedia, ktorý jazyk je lepšie použiť na riešenie každého konkrétneho problému, pretože každý z jazykov má svoje vlastné schopnosti, orientáciu na určité typy problémov, svoj vlastný spôsob popisu konceptov a predmetov používaných pri riešení problémov.

Všetky mnohé programovacie jazyky je možné rozdeliť do dvoch skupín: jazyky na nízkej úrovni a jazyky na vysokej úrovni.

K nízkoúrovňovým jazykom patria montážne jazyky (od angličtiny po montáž - zber, montáž). Jazyk assembleru používa symbolický zápis príkazov, ktoré sú ľahko zrozumiteľné a rýchlo zapamätateľné. Namiesto sekvencie binárnych kódov príkazov sa zapisujú ich symbolické označenia a namiesto adries binárnych údajov použitých pri vykonávaní príkazu programátor vyberie symbolické názvy týchto údajov. Zostavovací jazyk sa niekedy označuje ako mnemokód alebo automatický kód.

Väčšina programátorov používa na písanie svojich programov jazyky na vysokej úrovni. Rovnako ako bežný ľudský jazyk, aj tento jazyk má svoju vlastnú abecedu - súbor symbolov používaných v jazyku. Z týchto symbolov sú zložené takzvané jazykové kľúčové slová. Každé z kľúčových slov plní svoju vlastnú funkciu, rovnako ako v jazyku, na ktorý sme v našom jazyku zvyknutí, aj slová zložené z písmen abecedy daného jazyka môžu vykonávať funkcie rôznych častí reči. Kľúčové slová sú navzájom prepojené vo vetách podľa určitých syntaktických pravidiel jazyka. Každá veta definuje určitý sled akcií, ktoré musí počítač vykonať.

Jazyk na vysokej úrovni hrá úlohu sprostredkovateľa medzi osobou a počítačom, čo umožňuje osobe komunikovať s počítačom pre človeka známejším spôsobom. Tento jazyk vám často pomôže vybrať správnu metódu riešenia problému.

Pred napísaním programu v jazyku na vysokej úrovni musí programátor napísať algoritmus riešenie problému, to znamená akčný plán krok za krokom, ktorý je potrebné dokončiť, aby sa tento problém vyriešil. Preto sa často nazývajú jazyky, ktoré vyžadujú predbežnú kompiláciu algoritmu algoritmické jazyky.

5. Aké programovacie jazyky existujú

1.1 Fortran

Programovacie jazyky sa začali objavovať už v polovici 50. rokov. Jeden z prvých jazykov tohto typu bol jazyk FORTRAN (FORTRAN od FORmulaTRANslator - prekladač vzorcov), vyvinutý v roku 1957. Fortran sa používa na opis algoritmu na riešenie vedeckých a technických problémov pomocou digitálneho počítača. Rovnako ako prvé počítače, aj tento jazyk bol určený hlavne na vykonávanie prírodovedných a matematických výpočtov. Vo vylepšenej forme tento jazyk prežil až do našej doby. Medzi modernými jazykmi na vysokej úrovni je jedným z najpoužívanejších vo vedeckom výskume. Najbežnejšími variantmi sú Fortran-II, Fortran-IV, EASICFortran a ich zovšeobecnenia.

1.2 ALGOL

Po Fortrane, v rokoch 1958-1960, sa objavil algolský jazyk (Algol-58, Algol-60) (anglický ALGOL z ALGOrithmicLanguage-algoritmický jazyk). Algol bol vylepšený v rokoch 1964-1968-Algol-68. ALGOL bol vyvinutý výborom, ktorý zahŕňal európskych a amerických vedcov. Patrí k jazykom na vysokej úrovni a umožňuje vám ľahký preklad algebraických vzorcov do príkazov programu. Algol bol populárny v Európe vrátane ZSSR, zatiaľ čo porovnateľný Fortran bol bežný v USA a Kanade. Algol mal znateľný vplyv na všetky neskôr vyvinuté programovacie jazyky a najmä na jazyk Pascal. Tento jazyk, podobne ako Fortran, bol určený na riešenie vedeckých a technických problémov. Tento jazyk bol navyše používaný ako prostriedok výučby základov programovania - umenia programovania.

Pojem Algol zvyčajne znamená jazyk ALGOL-60, zatiaľ čo ALGOL-68 považovaný za nezávislý jazyk. Aj keď sa jazyk Algol takmer prestal používať na programovanie, stále zostával oficiálnym jazykom na publikovanie algoritmov.

1,3 Cobol

V rokoch 1959 - 1960 bol vyvinutý jazyk Cobol (anglicky COBOL z COmmom Business Oriented Language). Je to programovací jazyk tretej generácie určený predovšetkým na vývoj podnikových aplikácií. Kobol bol tiež určený na riešenie ekonomických problémov, spracovanie údajov pre banky, poisťovne a ďalšie inštitúcie tohto druhu. Grace Hopperová ( babka Kobola).

Cobolovi sa zvyčajne kritizuje jeho výrečnosť a ťažkopádnosť, pretože jedným z cieľov tvorcov jazyka bolo čo najviac priblížiť stavby anglickému jazyku. (Cobol je doteraz považovaný za programovací jazyk, v ktorom bolo napísaných najviac riadkov kódu). Cobol mal zároveň na svoju dobu vynikajúce nástroje na prácu s dátovými štruktúrami a súbormi, ktoré zaisťovali dlhú životnosť v podnikových aplikáciách, minimálne v USA.

1,4 Lisp

Takmer súčasne s Cobolom (1959 - 1960) bol na Massachusettskom technologickom inštitúte vytvorený jazyk Lisp (LISP od LIStProcessing). Lisp je založený na reprezentácii programu systémom lineárnych zoznamov znakov, ktoré sú navyše hlavnou dátovou štruktúrou jazyka. Lisp je považovaný za druhý najstarší programovací jazyk na vysokej úrovni po Fortrane. Tento jazyk je široko používaný na spracovanie symbolických informácií a používa sa na vytváranie softvéru, ktorý napodobňuje činnosť ľudského mozgu.

Akýkoľvek program Lisp pozostáva zo sekvencie výrazy(formuláre). Výsledkom programu je vyhodnotenie týchto výrazov. Všetky výrazy sú napísané ako zoznamy sú jednou zo základných štruktúr Lispu, takže ich možno ľahko vytvoriť pomocou samotného jazyka. To vám umožní vytvárať programy, ktoré upravujú iné programy alebo makrá, čo vám umožní výrazne rozšíriť možnosti jazyka.

Hlavný zmysel programu Lisp „život“ v symbolickom priestore: pohyb, tvorivosť, memorovanie, vytváranie nových svetov atď. Lisp ako metafora mozgu, symbol, signálna metafora: „Ako sa biologická analýza mozgových signálov ako vonkajšieho faktora - fyzikálneho a chemického vplyvu, ktorý je pre telo dráždivý, zmení na biologicky významný signál, často životne dôležité, určujúce všetko správanie osoby alebo zvieraťa; a ako dochádza k rozdeleniu rôznych signálov na pozitívne, negatívne a ľahostajné, ľahostajné. Signál je už integrujúcim pojmom. Je to identifikačný znak skupiny, komplexné podnety , prepojené spoločnou históriou a príčinnými vzťahmi. V tomto komplexe je systém podnetov, samotný signálny stimul, tiež jeho prvkom, a za iných okolností môže jeho úloha patriť ďalšiemu podnetu z komplexu. Signál koncentruje všetky minulá skúsenosť zvieraťa alebo osoby.

1.5 ZÁKLADNÉ

V polovici 60. rokov (1963) bol na Dartmouth College (USA) vytvorený jazyk BASIC (BASIC z Behavner's Allpurpose Instruction Code). Postupom času, keď sa začali objavovať ďalšie dialekty, sa tento „pôvodný“ dialekt stal známym ako Dartmouth BASIC. Jazyk bol čiastočne založený na Fortran II a čiastočne na Algol-60, pričom dodatky umožňovali zdieľanie času a neskôr aj spracovanie textu a maticovú aritmetiku. BASIC bol pôvodne implementovaný na sálovom počítači GE-265 s podporou viacerých terminálov. Na rozdiel od všeobecného presvedčenia, v čase svojho vzniku to bol zostavený jazyk.

BASIC bol navrhnutý tak, aby študenti mohli písať programy pomocou terminálov na zdieľanie času. Bol navrhnutý ako riešenie komplexnosti starších jazykov. Bol určený pre viac „jednoduchých“ používateľov, ktorých ani tak nezaujímala rýchlosť programov, ale jednoducho schopnosť používať počítač na riešenie svojich problémov. Vzhľadom na jednoduchosť jazyka BASIC mnoho začínajúcich programátorov začína s programovaním.

1.6 pevnosť

Koncom 60. - začiatkom 70. rokov sa objavil jazyk Fort (anglicky FOURTH - štvrtý). Tento jazyk sa začal používať v problémoch riadenia rôznych systémov potom, čo jeho autor Charles Moore v ňom napísal program určený na ovládanie rádioteleskopu arizonského observatória.

Mnoho vlastností, menovite interaktivita, flexibilita a jednoduchosť vývoja, robí z Forthu veľmi atraktívny a efektívny jazyk v aplikovanom výskume a vývoji nástrojov. Zjavným využitím tohto jazyka sú vstavané riadiace systémy. Tiež nachádza uplatnenie v programovaní počítačov s rôznymi operačnými systémami.

1.7 Pascal

Jazyk Pascal, ktorý sa objavil v roku 1972, bol pomenovaný po veľkom francúzskom matematikovi 17. storočia, vynálezcovi prvého aritmetického stroja na svete Blaise Pascalovi. Tento jazyk vytvoril švajčiarsky počítačový vedec Niklaus Wirth ako jazyk na vyučovanie metód programovania. Pascal je univerzálny programovací jazyk.

Zvláštnosťou jazyka je prísne písanie a dostupnosť nástrojov štrukturálneho (procedurálneho) programovania. Pascal bol jedným z prvých takýchto jazykov. Podľa N. Wirtha by jazyk mal prispievať k disciplíne programovania, preto sú spolu s výrazným písaním v Pascale minimalizované možné syntaktické nejasnosti a samotná syntax je intuitívne jasná už pri prvom zoznámení s jazykom.

Jazyk Pascal učí nielen správne napísať program, ale aj správne vyvinúť metódu riešenia problému, zvoliť spôsoby prezentácie a usporiadania údajov použitých v probléme. Od roku 1983 je jazyk Pascal zavedený do učebných osnov počítačovej vedy na stredných školách v USA.

1,8 peklo

V roku 1983 bol jazyk Ada vytvorený pod záštitou amerického ministerstva obrany. Jazyk je pozoruhodný tým, že vo fáze kompilácie je možné zistiť veľa chýb. Navyše podporuje mnoho aspektov programovania, ktoré sú často ponechané na milosť operačného systému (súbežnosť, spracovanie výnimiek). V roku 1995 bola prijatá jazyková norma Ada 95, ktorá nadväzuje na predchádzajúcu verziu a pridáva objektovú orientáciu a opravuje niektoré nepresnosti. Oba tieto jazyky nie sú široko používané mimo vojenských a iných rozsiahlych projektov (letectvo, železničná doprava). Hlavným dôvodom je náročnosť učenia sa jazyka a dosť ťažkopádna syntax.

Bezprostrednými predchodcami Ady sú Pascal a jeho deriváty vrátane Euclida, Lisa, Mesy, Moduly a Sue. Použilo sa niekoľko konceptov z modelov ALGOL-68, Simula, CLU a Alphard.

Hlavnou starosťou vývojárov Ada bolo:

· Spoľahlivosť a výkonnosť programov;

· Programovanie ako druh ľudskej činnosti;

· Účinnosť.

Tabuľka 1 ukazuje hlavné charakteristiky jazyka Ada z hľadiska objektového prístupu.

Tabuľka 1. Ada.

1.9 Si

V súčasnej dobe je C medzi programátormi populárny jazyk (C je písmeno anglickej abecedy). Jazyk C pochádza z dvoch jazykov- BCPL a B. V roku 1967 vyvinul Martin Richards BCPL ako jazyk pre písanie systémového softvéru a prekladačov. V roku 1970 Ken Thompson použil B na vytvorenie raných verzií operačného systému UNIX na počítači DEC PDP-7. V BCPL aj B neboli premenné rozdelené do typov - každá hodnota údajov zaberala v pamäti jedno slovo a zodpovednosť za rozlíšenie napríklad celých a skutočných čísel úplne padla na plecia programátora. Bol vyvinutý jazyk C. ( na základe B) Dennisa Ritchieho z Bell Laboratories a bol prvýkrát implementovaný v roku 1972 na počítači DEC PDP-11. C získal slávu ako jazyk operačného systému UNIX. Takmer všetky hlavné operačné systémy sú dnes napísané v jazyku C alebo C ++. Po dvoch desaťročiach je C k dispozícii na väčšine počítačov. Je nezávislý na hardvéri. Koncom 70. rokov sa C vyvinul do toho, čo nazývame „tradičné C“. V roku 1983 bol americkým výborom pre národné normy pre počítače a spracovanie informácií zavedený jediný štandard pre tento jazyk. Tento jazyk má bohaté prostriedky, umožňuje vám písať flexibilné programy, ktoré využívajú všetky možnosti moderných osobných počítačov.

1.10 Prológ

Ďalší jazyk, ktorý je považovaný za jazyk budúcnosti, bol vytvorený na začiatku 70. rokov skupinou špecialistov z University of Marseille. Toto je jazyk Prolog. Názov dostala podľa slov „PROGRAMOVANIE V JAZYKU LOGIKY“. Tento jazyk je založený na zákonoch matematickej logiky. Rovnako ako jazyk Lisp, aj Prolog sa používa hlavne vo výskume v oblasti softvérovej simulácie činnosti ľudského mozgu. Na rozdiel od jazykov popísaných vyššie tento jazyk nie je algoritmický. Patrí medzi tzv popisný(z angličtiny descriptive - descriptive) - popisné jazyky. Popisný jazyk nevyžaduje, aby programátor vypracoval všetky fázy úlohy. Namiesto toho v súlade s pravidlami takéhoto jazyka musí programátor popísať databázu zodpovedajúcu riešenému problému a množinu otázok, na ktoré je potrebné zodpovedať údaje z tejto databázy.

V posledných desaťročiach programovanie vzniklo a prešlo významným vývojom objektovo orientovaný prístup. Toto je metóda programovania, ktorá napodobňuje obraz skutočného sveta: informácie použité na vyriešenie problému sú reprezentované ako sada interagujúcich objektov. Každý z predmetov má svoje vlastné vlastnosti a správanie. Interakcia objektov sa vykonáva pomocou prenosu správ: každý objekt môže prijímať správy od iných objektov, pamätať si informácie a určitým spôsobom ich spracovávať a zasielať správy. Rovnako ako v skutočnom svete, objekty ukladajú svoje vlastnosti a správanie spoločne a niektoré z nich dedia po svojich rodičovských objektoch.

Objektovo orientovaná ideológia sa používa vo všetkých moderných softvérových produktoch vrátane operačných systémov.

Prvý objektovo orientovaný jazyk Simula -67 bol vytvorený ako nástroj na simuláciu činnosti rôznych zariadení a mechanizmov. Väčšina moderných programovacích jazykov je objektovo orientovaná. Medzi nimi sú aj najnovšie verzie jazyka Turbo - Pascal , C. ++, Ada a ďalšie.

Tieto systémy sú v súčasnosti široko používané vizuálne programovanie Vizuálne Základné , Vizuálne C. ++, Delphi a ďalšie. Umožňujú vám vytvárať komplexné balíky aplikácií s jednoduchým a pohodlným používateľským rozhraním.

1.11 Java

Od roku 1995 sa rozšíril nový objektovo orientovaný programovací jazyk Java zameraný na siete počítačov a predovšetkým na internet. Syntax tohto jazyka je podobná syntaxi jazyka C ++, ale tieto jazyky majú málo spoločného. Java je interpretovaný jazyk: sú pre neho definované interné reprezentácie (bytecode) a interpret pre túto reprezentáciu, ktoré sú už implementované na väčšine platforiem. Tlmočník zjednodušuje ladenie programov napísaných v jazyku Java, zaisťuje ich prenosnosť na nové platformy a prispôsobivosť novým prostrediam. Umožňuje vám eliminovať vplyv programov napísaných v jazyku Java na iné programy a súbory dostupné na novej platforme, a tým zaistiť bezpečnosť pri vykonávaní týchto programov. Tieto vlastnosti jazyka Java umožňujú jeho použitie ako hlavného programovacieho jazyka pre programy distribuované cez siete (najmä cez internet).

1.12 Object Pascal

Object Pascal vytvorili pracovníci spoločnosti Apple Computer (niektorí z nich boli prispievateľmi Smalltalk) s Niklausom Wirthom, tvorcom jazyka Pascal. Object Pascal existuje od roku 1986 a je prvým objektovo orientovaným programovacím jazykom, ktorý je súčasťou programu Macintosh Programmer Workshop (MPW), vývojového prostredia pre počítače Macintosh spoločnosti Apple.

V tomto jazyku neexistujú žiadne metódy triedy, premenné triedy, viacnásobná dedičnosť a metaklasy. Tieto mechanizmy sú účelovo vylúčené, aby sa jazyk ľahko naučil začínajúcich „objektových“ programátorov.

Tabuľka 2 ukazuje všeobecné charakteristiky Object Pascal.

Tabuľka 2. Object Pascal.

V posledných rokoch je tento jazyk veľmi populárny vďaka systému Borland Delphi.

1.13 Systém vizuálneho objektovo orientovaného dizajnu Delphi.

Nástup Delphi nemohol zostať bez povšimnutia medzi mnohými užívateľmi počítačov. Hodnotenia expertov, ktorí skúmajú možnosti tohto nového produktu Borland, sú zvyčajne plné nadšenia. Hlavnou výhodou Delphi je, že sa tu implementujú nápady vizuálneho programovania. Vizuálne programovacie prostredie robí z procesu vytvárania programu príjemnú a zrozumiteľnú konštrukciu aplikácie z veľkého súboru grafických a štruktúrnych primitívov.

Systém Delphi vám umožňuje vyriešiť mnoho problémov, najmä:

· Vytvárajte kompletné aplikácie pre Windows na rôzne účely: od čisto výpočtových a logických po grafické a multimediálne.

· Rýchlo vytvorte (aj pre začínajúcich programátorov) profesionálne vyzerajúce okenné rozhranie pre akúkoľvek aplikáciu.

· Vytvorte výkonné systémy pre prácu s lokálnymi a vzdialenými databázami

· Vytvorte systémy pomoci (súbory .hlp) pre svoje aplikácie a ďalšie. DR.

Delphi je extrémne rýchlo rastúci systém. Prvá verzia Delphi 1.0 bola vydaná vo februári 1995 a potom sa každoročne vydávali nové verzie.

Každá nasledujúca verzia Delphi doplnila predchádzajúcu. Väčšina verzií Delphi je k dispozícii v niekoľkých verziách: Štandardná - štandardná, Profesionálna - profesionálna, Klient / Server - klient / server, Enterprise - vývoj databáz predmetových oblastí. Varianty sa líšia hlavne v rôznych úrovniach prístupu k systémom správy databáz. Poslednými menovanými možnosťami sú Klient / Server a Enterprise, ktoré sú v tomto ohľade najsilnejšie.

Delphi je kombináciou niekoľkých kritických technológií:

Vysoko výkonný kompilátor strojového kódu

Objektovo orientovaný model súčiastok

Vizuálne (a teda aj vysokorýchlostné) vytváranie aplikácií zo softvérových prototypov

Škálovateľné nástroje na vytváranie databáz

Štruktúra obrazovky v prostredí Delphi.

Po zavolaní Delphi v systéme Windows sa zobrazí niekoľko okien (obr. 1):

Hlavné okno,

Okno formulára,

Okno inšpektora objektu,

Okno stromu objektu,

Okno programového kódu.


Obr. Štruktúra obrazovky v prostredí Delphi.

Pozrime sa na grafické menu systému Delphi umiestnené v hornej časti obrazovky, zložené z ikon. Na ľavej strane grafického menu je panel s nástrojmi. Nástroje vykonávajú niektoré príkazy z hlavnej ponuky - taká duplikácia sa často vykonáva v prostrediach nástrojov. Tento panel obsahuje predovšetkým tlačidlo na uloženie projektu na disk, tlačidlo na otvorenie projektu, tlačidlo na spustenie programu na vykonanie.

Ďalšou časťou grafického menu je paleta komponentov usporiadaných vo forme sád ikon. Zbierka súprav tvorí knižnicu vizuálnych komponentov (VCL). Existuje niekoľko kategórií komponentov, z ktorých každý je spojený s inou kartou. Pomocou palety komponentov vytvoríme inštanciu komponentov (alebo objektov) vo formulári.

Na vloženie objektu do formulára musíte „kliknúť“ na zodpovedajúce tlačidlo na palete a potom kliknúť do okna formulára: objekt bude vložený na určené miesto formulára - inštancia komponentu vybraný typ.

Okno Object Inspector je okno, ktoré zobrazuje vlastnosti formulára alebo objektu umiestneného vo formulári. V našom prípade je aktuálnou zložkou formulár, takže okno vlastností na obrázku ukazuje vlastnosti formulára.

Okno vlastností má dve karty - Vlastnosti a Udalosti, pomocou ktorých môžete v okne získať riadky (polia) na nastavenie vlastností komponentu (tj. Objektu alebo formulára) a jeho reakcie na rôzne diania. Táto vlastnosť definuje atribút komponentu, ako je veľkosť tlačidla alebo písmo štítka. Udalosťou sa rozumejú napríklad akcie ako kliknutie na tlačidlo alebo zatvorenie okna.

Okno stromu objektov sa objavilo vo verzii 6 a je určené na vizuálne zobrazenie odkazov medzi jednotlivými objektmi umiestnenými v aktívnom formulári alebo v aktívnom dátovom module.

Okno programového kódu je určené na vytváranie a úpravu textu programu. Spočiatku obsahuje minimálny zdrojový kód.

Projekty Delphi. Projekt Delphi pozostáva z formulárov, modulov, nastavení parametrov projektu, zdrojov atď. Všetky tieto informácie sú umiestnené v súboroch. Mnoho z týchto súborov generuje spoločnosť Delphi automaticky pri vytváraní aplikácie. Zdroje, ako sú bitové mapy, ikony a podobne, sa nachádzajú v súboroch, ktoré získate z iných zdrojov alebo ich vytvoríte pomocou mnohých nástrojov a editorov zdrojov, ktoré máte k dispozícii. Kompilátor navyše generuje aj súbory.

Súbory vytvorené počas procesu návrhu sú uvedené v tabuľke. 3.

Hlavnou časťou aplikácie je súbor projektu (.dpr), ktorý obsahuje kód Object Pascal, ktorý spustí program a inicializuje ďalšie moduly. Vytvára a upravuje ho spoločnosť Delphi automaticky počas vývoja aplikácie. Názov priradený súboru projektu počas procesu ukladania sa stane názvom spustiteľného súboru.

Súbor projektu (.dpr) Tento textový súbor slúži na ukladanie informácií o formulároch a moduloch. Obsahuje príkazy na inicializáciu a spustenie programov na vykonanie
Súbor modulu (.pas) Každý formulár, ktorý vytvoríte, má zodpovedajúci textový súbor modulu, ktorý sa používa na uloženie kódu. Môžete vytvárať moduly, ktoré nesúvisia s formulármi. Mnoho funkcií a postupov spoločnosti Delphi je uložených v moduloch.
Formulár (.dfm) Toto je binárny alebo textový súbor, ktorý Delphi vytvára na ukladanie informácií o formulároch. Každý súbor formulára má zodpovedajúci súbor modulu (.pas)
Súbor možností projektu (.dfo) Tento súbor ukladá nastavenia parametrov projektu
Súbor zdrojov (.res) Tento binárny súbor obsahuje ikonu použitú v projekte a ďalšie zdroje.
Zálohujte súbory (. ~ Dpr ,. ~ Dfm ,. ~ Pas) Ide o záložné súbory pre súbory projektu, formulára a modulu. Ak je v projekte niečo beznádejne poškodené, môžete podľa toho zmeniť prípony týchto súborov a vrátiť sa tak k predchádzajúcej nepoškodenej verzii.
Konfiguračný súbor okna (.dsk) Súbor ukladá konfiguráciu všetkých okien vývojového prostredia
Spustiteľný súbor (.exe) Toto je spustiteľný súbor aplikácie. Je to samostatný spustiteľný súbor, ktorý nevyžaduje nič iné, pokiaľ nepoužíva knižnice obsiahnuté v knižniciach DLL, OCX atď.
Objektový súbor modulu (.dcu) Toto je skompilovaný súbor modulu (.pas), ktorý je prepojený s konečným spustiteľným súborom.

Tabuľka 3. Súbory vytvorené počas procesu návrhu.


Aktuálne bola vydaná 7. verzia systému Delphi. V rekordnom čase sa stal jedným z najpopulárnejších programovacích systémov na svete. Mnoho vývojárov z celého sveta je pevne odhodlaných používať Delphi ako nástroj na vytváranie vysoko efektívnych aplikácií klient / server.

Strom evolúcie programovania

Obrázok 1 Strom evolúcie programovania

6. Bibliografia:

1. I.T. Zaretskaya, B.G. Kolodyazhny, A.N. Gurzhiy, A.Yu. Sokolov. Informatika ročník 10-11. - K .: „Fórum“, 2001

1. Štruktúra obrazovky v prostredí Delphi (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu. N. „Objektovo orientovaný dizajn“ (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin, L. Perkolab „Štúdium TurboPascal“ - SPb.: Peter, 2002.

2. H.M. Daytel. Ako programovať v S. - M.: „Binom“, 2000

3. Internetová stránka: http://ru.wikipedia.org/wiki/LISP

Učebnica sa skladá z dvoch častí: teoretickej a praktickej. Teoretická časť učebnice uvádza základy modernej informatiky ako komplexnej vednej a technickej disciplíny vrátane štúdia štruktúry a všeobecných vlastností informačných a informačných procesov, všeobecných zásad stavby výpočtových zariadení, pojednáva o organizácii a fungovaní informácií. a počítačových sietí, počítačová bezpečnosť, predstavuje kľúčové koncepty algoritmizácie a programovania, databáz a DBMS. Na kontrolu získaných teoretických znalostí sa ponúkajú otázky pre samovyšetrenie a testy. Praktická časť sa zaoberá algoritmami základných akcií pri práci s textovým procesorom Microsoft Word, tabuľkovým editorom Microsoft Excel, programom na vytváranie prezentácií programu Microsoft Power Point, archivačnými programami a antivírusovými programami. Ako konsolidácia absolvovaného praktického kurzu na konci každej časti sa navrhuje vykonať nezávislú prácu.

Kniha:

Sekcie na tejto stránke:

8.2. Programovacie jazyky

Druhy programovania

Pokrok v počítačovej technológii predurčil proces vzniku rôznych nových znakových systémov na písanie algoritmov - programovacích jazykov. Význam vzhľadu takéhoto jazyka je vybavená sadou výpočtových vzorcov pre ďalšie informácie, ktoré z tejto sady robia algoritmus.

Programovacie jazyky sú umelo vytvorené jazyky. Líšia sa od prirodzených obmedzeným počtom „slov“ a veľmi prísnymi pravidlami pre písanie príkazov (operátorov). Všetky tieto požiadavky tvoria syntax programovacieho jazyka a význam každého príkazu a iných jazykových konštrukcií je jeho sémantika.

Programovacie jazyky sú formálne komunikačné jazyky medzi osobou a počítačom, ktoré sú navrhnuté tak, aby popisovali súbor pokynov, ktorých implementácia poskytuje správne riešenie požadovaného problému. Ich hlavnou úlohou je plánovať činnosti spracovania informácií. Každý programovací jazyk je založený na systéme konceptov a pomocou neho môže človek vyjadriť svoje myšlienky.

Spojenie medzi jazykom, v ktorom myslíme / programujeme, a problémami a riešeniami, ktoré si dokážeme predstaviť vo svojej predstavivosti, je veľmi tesné. Z tohto dôvodu je obmedzenie vlastností jazyka len na cieľ odstránenia chýb programátora v najlepšom prípade nebezpečné. Rovnako ako v prirodzených jazykoch je prinajmenšom dvojjazyčné veľmi prospešné. Jazyk poskytuje programátorovi sadu koncepčných nástrojov, ak nesplnia úlohu, potom sú jednoducho ignorované. Napríklad vážne obmedzenia konceptu ukazovateľa nútia programátora používať vektory a celú aritmetiku na implementáciu štruktúr, ukazovateľov a podobne. Dobrý dizajn a bezchybný dizajn nemožno zaručiť čisto jazykovými prostriedkami.

Môže sa to zdať prekvapujúce, ale konkrétny počítač je schopný spúšťať programy napísané vo svojom vlastnom strojovom jazyku. Existuje takmer toľko rôznych strojových jazykov, koľko je počítačov, ale všetky sú to odrody tej istej myšlienky - jednoduché operácie sa na binárnych číslach vykonávajú rýchlosťou blesku.

Strojovo závislé programovacie jazyky

Strojovo závislé jazyky sú jazyky, ktorých množiny operátorov a obrázkových prostriedkov v zásade závisia od funkcií počítača (vnútorný jazyk, štruktúra pamäte atď.). Tieto jazyky sa nazývajú nízkoúrovňové programovacie jazyky. Sú zamerané na konkrétny typ procesora a berú do úvahy jeho zvláštnosti. Operátori takéhoto jazyka majú blízko k strojovému kódu a zameriavajú sa na konkrétne pokyny k procesoru, to znamená, že tento jazyk závisí od stroja. Nízkoúrovňovým jazykom je zhromaždenie. S jeho pomocou sa vytvárajú veľmi efektívne a kompaktné programy, pretože vývojár má prístup ku všetkým funkciám procesora. Takéto jazyky sa používajú na zápis malých systémových aplikácií, ovládačov zariadení, knižníc. V prípadoch, keď je množstvo pamäte RAM a ROM malé (v oblasti niekoľkých kilobajtov), ​​neexistuje alternatíva k assembleru. Práve tieto programovacie jazyky vám umožňujú získať najkratší a najrýchlejší kód programu.

Strojovo nezávislé programovacie jazyky

Strojovo nezávislé jazyky sú prostriedkom na opis algoritmov na riešenie problémov a informácií, ktoré sa majú spracovať. Sú vhodné na použitie pre široký okruh používateľov a nevyžadujú od nich znalosti špecifík organizácie fungovania počítača a počítačového systému.

Tieto jazyky sa nazývajú programovacie jazyky na vysokej úrovni. Programy napísané v takýchto jazykoch sú postupnosť príkazov štruktúrovaná podľa pravidiel jazyka (úlohy, segmenty, bloky atď.). Jazykoví operátori opisujú akcie, ktoré musí systém vykonať po preložení programu do strojového jazyka.

Sekvencie príkazov (procedúry, podprogramy), často používané v strojových programoch, sú vo vyšších jazykoch reprezentované samostatnými príkazmi. Programátor dostal príležitosť neopisovať podrobne výpočtový proces na úrovni strojových inštrukcií, ale zamerať sa na hlavné vlastnosti algoritmu.

Programovacie jazyky na vysokej úrovni sú ľuďom oveľa bližšie a zrozumiteľnejšie. Neberú do úvahy zvláštnosti konkrétnych počítačových architektúr, to znamená, že tieto jazyky sú strojovo nezávislé. To umožňuje používať program, ktorý bol v takom jazyku napísaný, na rôznych počítačoch.

Programy je možné písať priamo v strojovom jazyku, aj keď je to náročné. Na úsvite informatizácie (na začiatku päťdesiatych rokov minulého storočia) bol strojový jazyk jediným jazykom, ktorý dovtedy väčší muž nevymyslel. Aby sa zachránili programátori pred drsným strojovým programovacím jazykom, boli vytvorené jazyky na vysokej úrovni (tj. Nie strojové jazyky), ktoré sa stali akýmsi spojovacím mostom medzi človekom a strojovým jazykom počítača. Jazyky na vysokej úrovni pracujú prostredníctvom translačných programov, ktoré vkladajú „zdrojový kód“ (hybrid anglických slov a matematických výrazov, ktoré stroj číta) a v konečnom dôsledku prinútia počítač vykonať príslušné pokyny, ktoré sú uvedené v strojovom jazyku.

Medzi programovacie jazyky na vysokej úrovni patria nasledujúce: Fortran, Cobol, Algol, Pascal, Basic, C, C ++, Java, HTML, Perl a ďalšie.

Pomocou programovacieho jazyka sa nevytvorí hotový program, ale iba jeho text opisujúci predtým vyvinutý algoritmus. Ak chcete získať funkčný program, musíte buď automaticky preložiť tento text do strojového kódu a potom ho použiť oddelene od zdrojového textu, alebo ihneď vykonať jazykové príkazy uvedené v texte programu. Na tento účel sa používajú prekladateľské programy.

Existujú dva hlavné typy prekladačov (obrázok 8.4): tlmočníky, ktoré v jednom kroku skenujú a overujú zdrojový kód, a prekladače, ktoré naskenujú zdrojový kód a vytvoria text programu v strojovom jazyku, ktorý sa potom vykoná oddelene.


Obrázok 8.4. Typy translátorov

Pri použití kompilátorov sa všetok zdrojový kód programu prevádza na strojové kódy a práve tieto kódy sa zapisujú do pamäte mikroprocesora. Pri použití tlmočníka sa zdrojový kód programu zapíše do pamäte mikroprocesora a preklad sa vykoná pri čítaní ďalšieho operátora. Prirodzene, rýchlosť tlmočníkov je v porovnaní s prekladačmi oveľa nižšia, pretože keď sa operátor použije v slučke, prekladá sa mnohokrát. Pri programovaní v jazyku na vysokej úrovni však môže byť množstvo kódu, ktoré je potrebné uložiť do vnútornej pamäte, výrazne menšie ako množstvo spustiteľného kódu. Ďalšou výhodou použitia tlmočníkov je ľahká prenosnosť programov z jedného procesora do druhého.

Jednou často uvádzanou výhodou implementácie tlmočníka je, že umožňuje „priamy režim“. Okamžitý režim vám umožňuje položiť počítaču problém a vráti vám odpoveď hneď, ako stlačíte kláves ENTER. Tlmočníci majú navyše špeciálne atribúty, ktoré uľahčujú ladenie. Môžete napríklad prerušiť spracovanie programu tlmočníka, zobraziť obsah určitých premenných, preskočiť program a potom pokračovať v spustení. Interpretované jazyky majú však svoje nevýhody. Je napríklad potrebné mať neustále v pamäti kópiu tlmočníka, pričom mnohé schopnosti tlmočníka, a teda ani jeho schopnosti, nemusia byť potrebné na spustenie konkrétneho programu. Pri vykonávaní programových príkazov musí tlmočník najskôr naskenovať každý príkaz, aby si prečítal jeho obsah (čo odo mňa požaduje táto osoba?) A potom vykonať požadovanú operáciu. Operátory v slučkách sú príliš skenované.

Kompilátor je prekladač strojového jazyka, ktorý číta zdrojový text. Vyhodnocuje ho podľa syntaktickej stavby jazyka a prekladá ho do strojového jazyka. Inými slovami, kompilátor programy nespúšťa, ale ich vytvára. Tlmočníkov nemožno oddeliť od programov, ktoré prevádzkujú; prekladatelia si urobia svoju prácu a opustia scénu. Pri práci s prekladateľským jazykom, akým je napríklad Turbo BASIC, budete musieť svoje programy premyslieť z hľadiska dvoch hlavných fáz ich života: obdobia kompilácie a obdobia spustenia. Väčšina programov pobeží štyrikrát až desaťkrát rýchlejšie ako ich ekvivalenty interpretov. Ak budete pracovať na jeho zlepšení, môžete dosiahnuť 100 -násobné zlepšenie výkonu. Odvrátenou stranou mince je, že programy, ktoré trávia väčšinu času pohrávaním so súbormi na diskoch alebo čakaním na vstup, nebudú schopné predviesť žiadne pôsobivé zvýšenie rýchlosti.

Proces vytvárania programu sa nazýva programovanie.

Existuje niekoľko typov programovania.

Algoritmické alebo modulárne

Hlavnou myšlienkou algoritmického programovania je rozdeliť program na postupnosť modulov, z ktorých každý vykonáva jednu alebo viac akcií. Jedinou požiadavkou na modul je, aby jeho vykonanie vždy začalo prvým príkazom a vždy skončilo tým najnovším (to znamená, že je nemožné dostať sa k príkazom modulu zvonku a prenášať ovládanie z modulu na iné príkazy obchádzajúce ten posledný).

Algoritmus vo vybranom programovacom jazyku je napísaný pomocou príkazov na opis údajov, výpočet hodnôt a riadenie postupnosti vykonávania programu.

Programový text je lineárnou postupnosťou priradení, slučky a podmienených príkazov. Týmto spôsobom môžete vyriešiť nie príliš zložité problémy a zostaviť programy obsahujúce niekoľko stoviek riadkov kódu. Potom zrozumiteľnosť zdrojového textu prudko klesne v dôsledku skutočnosti, že všeobecná štruktúra algoritmu sa stráca za konkrétnymi jazykovými operátormi, ktorí vykonávajú príliš podrobné a elementárne akcie. Objavuje sa množstvo vnorených podmienených a slučkových príkazov, logika sa stáva úplne mätúcou, keď sa pokúšate opraviť jedno chybné tvrdenie, zavádza sa niekoľko nových chýb spojených so zvláštnosťami fungovania tohto príkazu, ktorých výsledky sa často berú do úvahy na rôznych miestach. v programe.

Štruktúrované programovanie

Pri vytváraní stredne veľkých aplikácií (niekoľko tisíc riadkov zdrojového kódu) sa používa štruktúrované programovanie, ktorého myšlienkou je, aby štruktúra programu odrážala štruktúru riešeného problému tak, aby bol algoritmus riešenia jasne viditeľný zo zdrojového textu. Na to potrebujete prostriedky na vytvorenie programu nielen pomocou troch jednoduchých operátorov, ale aj pomocou prostriedkov, ktoré presnejšie odrážajú konkrétnu štruktúru algoritmu. Za týmto účelom bol do programovania zavedený koncept podprogramu - množina operátorov, ktorí vykonávajú požadovanú akciu a nezávisia od iných častí zdrojového kódu. Program je rozdelený do mnohých malých podprogramov (až 50 príkazov - kritický prah pre rýchle pochopenie účelu podprogramu), z ktorých každý vykonáva jednu z akcií uvedených v pôvodnej úlohe. Kombináciou týchto podprogramov je možné vytvoriť konečný algoritmus nie z jednoduchých operátorov, ale z úplných blokov kódu, ktoré majú určité sémantické zaťaženie, a na tieto bloky môžete odkazovať podľa názvu. Ukazuje sa, že podprogramy sú nové operátory alebo operácie jazyka, definované programátorom.

Schopnosť používať podprogramy klasifikuje programovací jazyk ako procedurálny jazyk.

Podprogramy vám umožňujú navrhovať a vyvíjať aplikáciu zhora nadol - tento prístup sa nazýva dizajn zhora nadol. Najprv je alokovaných niekoľko podprogramov, ktoré riešia najglobálnejšie úlohy (napríklad inicializácia údajov, hlavná časť a dokončenie), potom je každý z týchto modulov podrobne popísaný na nižšej úrovni, čím sa zase rozdelí na malý počet ďalších podprogramov, a to sa deje dovtedy, kým nie je dokončená celá úloha.

Tento prístup je pohodlný v tom, že umožňuje človeku neustále premýšľať na úrovni predmetu bez toho, aby sa musel obmedzovať na konkrétne operátory a premenné. Okrem toho je pre niektorých možné, že podprogramy nezavedú okamžite, ale dočasne odložia, kým nebudú dokončené ďalšie časti. Napríklad, ak existuje potreba vypočítať komplexnú matematickú funkciu, potom je na takýto výpočet pridelený samostatný podprogram, ktorý je však dočasne implementovaný jedným operátorom, ktorý jednoducho priradí vopred zvolenú hodnotu. Keď je celá aplikácia napísaná a odladená, môžete začať s implementáciou tejto funkcie.

Je tiež dôležité, aby sa malé podprogramy oveľa ľahšie ladili, čo výrazne zvyšuje celkovú spoľahlivosť celého programu.

Veľmi dôležitou charakteristikou podprogramov je ich opätovné použitie. Integrované programovacie systémy sa dodávajú s veľkými knižnicami štandardných rutín, ktoré môžu výrazne zvýšiť produktivitu pomocou práce niekoho iného na vytváranie bežne používaných rutín.

Existujú dva typy podprogramov - postupy a funkcie. Líšia sa v tom, že postup jednoducho vykoná skupinu príkazov a funkcia navyše vypočíta určitú hodnotu a prenesie ju späť do hlavného programu (vráti hodnotu). Táto hodnota je určitého typu (o funkcii sa hovorí, že je toho a toho druhu).

Podprogramy vykonávajú tri dôležité úlohy:

Odstráňte potrebu opakovania podobných fragmentov v texte programu mnohokrát;

Zlepšiť štruktúru programu tak, aby bol zrozumiteľnejší;

Zvýšte odolnosť voči chybám programovania a nepredvídaným následkom počas úprav programu.

Objektovo orientované programovanie

V polovici osemdesiatych rokov minulého storočia vznikol v programovaní nový smer, založený na koncepte objektu. Do tej doby boli hlavné obmedzenia možnosti vytvárania veľkých systémov uložené nejednotnosťou programu a spôsobov ich spracovania v programe.

Skutočné objekty okolitého sveta majú tri základné charakteristiky: majú súbor vlastností, sú schopné tieto vlastnosti rôznymi spôsobmi meniť a reagovať na udalosti, ktoré sa vyskytujú v okolitom svete aj v samotnom objekte. Práve v tejto forme je v programovacích jazykoch koncept objektu implementovaný ako súbor vlastností (dátové štruktúry charakteristické pre tento objekt), spôsobov ich spracovania (podprogramy na zmenu vlastností) a udalostí, na ktoré tento objekt môže reagovať a ktoré spravidla vedú k zmene vlastností objektu.

Vznik možnosti vytvárania objektov v programoch má kvalitatívny vplyv na produktivitu programátorov. Maximálne množstvo aplikácií, ktoré skupina 10 programátorov sprístupnila na vytváranie, sa v priebehu rokov zvýšilo na milióny riadkov kódu, pričom sa zároveň podarilo dosiahnuť vysokú spoľahlivosť programu a čo je dôležité, opätovne použiť predtým vytvorené. objekty v iných úlohách.

Objekty môžu mať rovnakú štruktúru a líšia sa iba hodnotami vlastností. V takýchto prípadoch sa v programe vytvorí nový typ na základe štruktúry jedného objektu. Hovorí sa mu trieda a každý konkrétny objekt, ktorý má štruktúru tejto triedy, sa nazýva inštancia triedy.

Objektovo orientovaný programovací jazyk sa vyznačuje tromi hlavnými vlastnosťami:

1. Zapuzdrenie - spojenie údajov s metódami v jednej triede;

Generácie programovacích jazykov

Potreba programovania vyvstala ešte pred programovateľnými počítačmi. Je známe, že napríklad od 18. storočia sú tu tkáčske stavy programované drevenými doskami, do ktorých sa na správnych miestach robili diery.

Rozvoj programovania podporila myšlienka Johna Von Neumanna, publikovaná v roku 1945, v ktorej opísal počítač, kde je samotný program spolu s údajmi uložený v pamäti.

Programovací jazyk prvej generácie je strojový kód. Strojový kód pozostáva z inštrukcií, ktoré môže počítač (procesor) vykonať (ako aj z údajov, ktoré k týmto pokynom patria). Pri programovaní v strojovom kóde musel programátor napísať svoj program v binárnom kóde, aby ho procesor pochopil a vykonal. V zásade takéto programovanie vyžaduje dobrú znalosť a porozumenie hardvéru, pretože v procese programovania je potrebné vedieť, čo procesor dokáže, kde sú umiestnené vstupno-výstupné zariadenia a tiež ako s nimi komunikovať. koľko času strávime touto alebo tou operáciou. Strojový kód je teda veľmi tesne spojený s hardvérom, na ktorom bude príslušný program bežať. K dnešnému dňu strojový kód z počítačov nezmizol, všetky akcie na nízkej úrovni (hardvérovej úrovni) sa stále vyskytujú v strojovom kóde, t.j. Bez ohľadu na programovací jazyk, v ktorom je program napísaný, je nakoniec transformovaný do strojového kódu, ktorému hardvér rozumie.

Montážne jazyky sa považujú za jazyky druhej generácie. V prípade strojového kódu prebiehalo všetko programovanie v binárnom kóde, a preto bolo čítanie a ladenie veľmi časovo náročné. Pri programovaní v montážnom jazyku sú inštrukcie predložené osobe v zrozumiteľnej forme. Samotné programovanie je veľmi podobné programovaniu v strojovom kóde, pretože pokyny sú rovnaké ako v strojovom kóde (iba v inej forme - vo forme slov). Program napísaný v montážnom jazyku je nasledujúci:

MOV AL, 19

PRIDAŤ AL, 4

VÝSTUP 2

Tento kúsok kódu priradí hodnotu AL registra 19 (zvyčajne sú hodnoty reprezentované číslami v hexadecimálnom systéme), k hodnote AL registra pripočíta číslo 4 a potom pošle číslo 2 na výstup 2. Napísaný program je preložený z assembleru do strojového kódu a potom môže procesor začať vykonávať ...

Montážne jazyky a strojový kód sa považujú za jazyky nízkej úrovne.

Programovacie jazyky tretej generácie sa už nazývajú jazyky na vysokej úrovni. Také programovacie jazyky nesúvisia príliš s hardvérom. To znamená, že programátor už nemusí veľmi presne poznať štruktúru a vlastnosti hardvéru, ale môže byť relatívne nezávislý na hardvéri, potom sa tento program pomocou niekoľkých rôznych nástrojov prevedie do formy, ktorej hardvér porozumie . Konkrétnejšie, ako sa to robí, bude popísané neskôr.

Väčšina známych a používaných programovacích jazykov patrí medzi jazyky tretej generácie, napríklad:

FORTRAN (IBM Mathematical FORmula TRANslating System) je programovací jazyk vyvinutý v päťdesiatych rokoch minulého storočia na matematické výpočty a vedecké účely.

COBOL (COmmon Business Oriented Language) - objektovo orientovaný programovací jazyk, vytvorený v roku 1959, určený predovšetkým na písanie programov, ktoré uspokojujú obchodné potreby.

ZÁKLADNÝ (Univerzálny symbolický inštrukčný kód pre začiatočníkov) - Jazyk vyvinutý v roku 1963, ktorý bol pôvodne vytvorený tak, aby inžinieri mohli na počítačoch vykonávať rôzne simulácie.

Pascal - Programovací jazyk vytvorený v 70. rokoch minulého storočia, ktorý bol vytvorený za účelom výučby programovania.

C - názov pochádza zo skutočnosti, že tento jazyk vychádzal predovšetkým z jazyka s názvom B. Bol vytvorený na písanie operačných systémov (v tomto jazyku je napísaných mnoho operačných systémov kompatibilných s UNIXom), je už dlho jedným z najobľúbenejších programovacích jazykov .

C ++ je objektovo orientovaný C.

Java je programovací jazyk vyvinutý na báze C ++.

Visual Basic, Delphi, Python, C # sú všetky jazyky tretej generácie. Mnoho programovacích jazykov tretej generácie je mladších (novších) ako niektoré jazyky štvrtej a piatej generácie.

Programovacie jazyky generácie 4 sú navrhnuté tak, aby sa dali ľahko naučiť a používať. Tieto jazyky zvyčajne nepracujú a sú zamerané na jednu aplikáciu. Príkladom programovacieho jazyka štvrtej generácie je SQL (Structured Query Language). Hovorí viac o tom, čo robiť a menej o tom, ako to urobiť. Jazyky piatej generácie boli vytvorené na vývoj systémov umelej inteligencie a na riešenie problémov súvisiacich s touto témou.

Základné typy programovacích jazykov.

Na rozdiel od generácií programovacích jazykov základné typy opisujú, ako je možné programovať jazyk. Medzi hlavné základné typy patria: procedurálne, funkčné a objektovo orientované programovacie jazyky.

V procedurálnych programovacích jazykoch programovací jazyk popisuje akcie a poradie ich vykonania a tiež sú tieto akcie rozdelené do skupín (podprogramy). Procedúry zase generujú štruktúry kódu, ktoré je možné znova použiť. Vo funkčných programovacích jazykoch je celé riešenie popísané pomocou funkcií. V objektovo orientovaných programovacích jazykoch je problém vyriešený pomocou funkcií a dátových štruktúr popísaných v triedach (anglická trieda). Z každej triedy môžete vytvoriť objekt, ktorý bude mať sadu vlastností a / alebo metód.

Vlastnosti sú hodnoty, ktoré môže objekt obsahovať a ktoré môžu ovplyvniť správanie objektu. Na základe triedy „okno konzoly“ môžete napríklad vytvoriť objekt „console1“, ktorý bude pre používateľa viditeľný ako jedno okno konzoly. Tento objekt má niektoré vlastnosti (zobrazené, skryté, šírka, výška, farba textu v okne konzoly, farba pozadia atď.), Zmenou týchto vlastností môžete v tomto konkrétnom prípade zmeniť vzhľad objektu.

V tom istom prípade môže mať objekt niektoré metódy, napríklad odkazovaním na zodpovedajúcu metódu môžete do okna konzoly napísať nejaký text, prečítať text zadaný používateľom do nejakej premennej atď.

Druhým príkladom je trieda „textová premenná“, ktorá na základe tejto triedy vytvára objekt „ProstoText“ a vytvára jednu textovú premennú, ktorej hlavnou vlastnosťou je uložená textová hodnota, ale v skutočnosti má tento objekt viac vlastností ( napríklad dĺžka uloženej textovej hodnoty). Tiež textová premenná musí mať určitý súbor metód (zmeniť znaky uloženej hodnoty na malé, veľké písmená, odstrániť niektoré znaky atď.).

Popisom tried a manipuláciou s objektmi je preto možné zostaviť veľmi zložité programy a vykonávať rôzne akcie.

Interpretované a zostavené jazyky

Predtým, ako môže počítač spustiť program napísaný v jazyku vyššej úrovne, musí byť „preložený“ do jazyka, ktorému počítač rozumie, tj. strojový kód. Tento prekladový proces sa nazýva preklad a prekladateľský softvér sa nazýva prekladač. Prekladače sú rozdelené do dvoch tried: prekladače a tlmočníky.

Kompilácia je, keď program v strojovom kóde (nazývaný kompilátor) konvertuje iný program napísaný v programovacom jazyku na strojový kód. Potom sa spustí výsledný strojový kód programu. Príklady kompilovaných jazykov zahŕňajú C, Fortran, Pascal.

Interpretácia je taká, že program v strojovom kóde (interpret) zapíše programový súbor do vnútornej pamäte a začne ho vykonávať riadok po riadku. Príkladom je starý ZÁKLADNÝ jazyk.

Interpretácia programu je asi 10-200 krát pomalšia ako spustenie skompilovaného kódu. Naproti tomu ladenie (odstránenie chýb z programu) interpretovaného programu je zvyčajne jednoduchšie ako v prípade preloženého programu. V niektorých vhodných prípadoch a s dostupnosťou nástrojov sú tieto rozdiely oveľa menšie. Dobrým príkladom je Java s kódom optimalizovaným a kompilovaným v strednej vrstve, ktorý je za behu preložený kompilátorom Just-in-Time, aby zodpovedal konkrétnemu hardvéru.

Program napísaný v akomkoľvek jazyku je v zásade možné interpretovať aj skompilovať.

V súčasnej dobe existuje veľa smerov programovania. Každý si môže nájsť to svoje, ale na to potrebujete vedieť, čo presne budete vo svojom odbore robiť.

Vývoj webových aplikácií

Tento smer je zameraný na vývoj webových aplikácií (inými slovami stránky, ale v súčasnosti majú weby takú bohatú funkcionalitu, že ich možno nazvať plnohodnotnými aplikáciami).

Webové programovanie možno rozdeliť na backend (písanie skriptov na strane servera - PHP, Python, Ruby) a frontend (vývoj používateľského rozhrania - Javascript, HTML, CSS).

Vývoj desktopových aplikácií

Vývoj softvéru pre rôzne operačné systémy. Všetok rozmanitý softvér, ktorý používame v každodennom živote. Ak chcete napísať vlastný foto procesor, zvukový prehrávač alebo textový editor, potom je to miesto pre vás.

Vývoj serverových aplikácií

Ide o rôzne herné servery (vaša obľúbená Dotka, CS: GO), služby IM (serverová časť Skype, ICQ, MSN), bankové databázy.

Vývoj mobilných aplikácií

Veľa Java aplikácií. VK, Viber, Yandex. Mapy, prekladače, elektronické čítačky.

Vstavané programovanie

Zaujímavé odvetvie programovania pre rôzne domáce spotrebiče: vysávače, chladničky, práčky, prehrávače, navigátory, elektronické váhy. Zahŕňa vedecký vývoj s použitím špecializovaných jazykov, ako je MATLAB.

Programovanie systému

Písanie rôznych ovládačov pre hardvér, programovanie „jadra“ operačných systémov. Mimochodom, je tu zahrnutá aj tvorba kompilátorov a tlmočníkov pre programovacie jazyky.

Vývoj hry

Obrovský priemysel. To zahŕňa vývoj hier pre počítače, konzoly a mobilné zariadenia.

Programovanie olympiády a riešenie problémov

Programovanie v rôznych „nepraktických“ a nie bežných jazykoch (Pascal, Delphi) na riešenie niektorých pôvodných problémov, ktoré vyžadujú neštandardný prístup, vynaliezavosť a IQ nad 160.

Programovanie pre účtovné a finančné produkty

„1C: Enterprise“. K tomuto produktu je viazané všetko účtovníctvo v Rusku. Nestačí však ovládať iba samotný jazyk; je dôležité porozumieť základom účtovníctva. Plusom je, že je tu veľa práce a nezostanete bez chleba.

Programovanie databázy

Seriózny smer. Ak chcete vyvíjať databázy schopné uchovávať miliardy riadkov informácií o všetkých používateľoch VKontakte alebo Facebooku a zároveň nespomaliť - ste tu.

Veda

Veda a to hovorí za všetko. Neurónové siete, modelovanie štruktúry DNA, vypúšťanie satelitov, simulácia veľkého tresku.

Mimochodom, nedávno webová stránka NASA zverejnila správy o hľadaní programátora v „starodávnom“ jazyku Fortran, ktorý má viac ako 60 rokov. Programátor bol požiadaný, aby vyvinul programy na ovládanie automatických sond Voyager 1 a Voyager 2, softvér, pre ktorý bol napísaný v Assembleri, Fortrane a COBOLE už v 70. rokoch minulého storočia. Nikdy neviete, aké znalosti sa vám môžu hodiť.