Kāda veida programmētāji pastāv. Programmēšanas valodu veidi

Procesuālā (obligātā) programmēšana ir tradicionālo datoru arhitektūras atspoguļojums. Programma procesuālās programmēšanas valodā sastāv no operatoru (instrukciju) secības, kas nosaka problēmas risināšanas procedūru. Galvenais ir uzdevumu operators, kas kalpo, lai mainītu atmiņas apgabalu saturu. Atmiņas kā vērtību krātuves jēdziens, kura saturu var atjaunināt ar programmas paziņojumiem, ir būtisks obligātajā programmēšanā. Procesuālā programmēšanas valoda ļauj programmētājam definēt katru soli problēmas risināšanas procesā. Šādu programmēšanas valodu īpatnība ir tāda, ka uzdevumi tiek sadalīti pa soļiem un risināti soli pa solim. Imperatīvā programmēšana ir vispiemērotākā maziem apakšuzdevumiem, kur izpildes ātrums mūsdienu datoros ir ļoti svarīgs.

Procesuālās programmēšanas valodas ietver: Ada, Basic (versijas no Quick Basic līdz Visual Basic), C, COBOL, Fortran, Modulis- 2, Pascal, PL / 1, Rapier, REXX.

Strukturēta programmēšana- programmatūras izstrādes metodoloģija, kuras pamatā ir programmas prezentācija hierarhiskas bloku struktūras veidā, kas veidota no trīs veidu pamatstruktūrām: secīga izpilde, sazarošanās un cilpa.

Objektorientēta programmēšana ir programmēšanas metodika, kuras pamatā ir programmas attēlošana kā objektu kolekcija, no kurām katra ir noteiktas klases (īpaša veida datu tips) ieviešana, un klases veido hierarhiju, kuras pamatā ir mantošanas principi.

Objekti nozīmē datu un procedūru apvienošanu, kas tos apstrādā vienā veselumā. Objekti var savstarpēji apmainīties ar ziņojumiem. Kad objekts saņem ziņojumu, tiek palaists atbilstošais apstrādātājs, citādi saukts metodi... Objektam ir asociatīvs konteiners, kas ļauj ar ziņu saņemt tā apstrādes metodi. Turklāt objektam ir priekšteča objekts. Ja netiek atrasta neviena ziņojuma apstrādes metode, ziņojums tiks pārsūtīts uz vecākobjektu. Šī struktūra kopumā (apstrādātāju + priekšteču tabula) efektivitātes nolūkos tiek iedalīta atsevišķā objektā ar nosaukumu klase no šī objekta. Objektam būs atsauce uz objektu, kas pārstāv tā klasi. Objekti mijiedarbojas tikai, sūtot viens otram ziņas.

Ir svarīgi izcelt šādas trīs galvenās objektu īpašības.

Iekapsulēšana (datu aizsardzība)- mehānisms, kas integrē datus un metodes, kas manipulē ar šiem datiem, un aizsargā abus no ārējas iejaukšanās.


Mantojums ir process, kurā viens objekts var mantot cita objekta īpašības un pievienot tam unikālas iezīmes. Bērnu un senču attiecības klasēs sauc par mantojumu.

Polimorfisms ir īpašums, kas ļauj objektu aizstāt ar citu objektu ar līdzīgu klases struktūru. Tāpēc, ja kādā objekta mijiedarbības scenārijā jūs aizstājat patvaļīgu objektu ar citu, kas var apstrādāt tos pašus ziņojumus, scenārijs arī tiks ieviests.

Deklaratīvā programmēšana... Deklaratīvajā programmēšanā uzsvars tiek likts uz to, kas jādara, nevis uz to, kā to darīt (obligātās valodās). Šeit galvenais ir precīzs problēmas formulējums, un tā risināšanai nepieciešamā algoritma izvēle un pielietošana ir izpildes sistēmas problēma, bet ne programmētājs. Piemēram, HTML tīmekļa lapas ir deklaratīvas, jo tās apraksta lapas saturu, nevis to, kā lapa tiek parādīta ekrānā. Šī pieeja atšķiras no obligātajām programmēšanas valodām, kurās programmētājam ir jānorāda izpildes algoritms.

Pastāv divas deklaratīvās programmēšanas nozares: funkcionāla, kuras pamatā ir matemātisks funkcijas jēdziens, kas nemaina tās vidi, atšķirībā no funkcijām procesuālajās valodās, kas pieļauj blakusparādības, un loģiska, kurā programmas tiek izteiktas kā formulas matemātisko loģiku un datoru problēmas risināšanai. mēģina no tām secināt loģiskas sekas.

Loģiskā programmēšana pamatojoties uz matemātisko loģiku. Bet slavenākā loģiskās programmēšanas valoda ir Prolog. Programmā PROLOGUE ir divas sastāvdaļas: fakti un noteikumi. Fakti atspoguļo datus, ar kuriem programma darbojas, un faktu kopums veido datu bāzi PROLOGUE, kas patiesībā ir relāciju datu bāze. Galvenā operācija, kas tiek veikta ar datiem, ir saskaņošanas darbība, ko sauc arī par apvienošanas vai saskaņošanas operāciju.

Kas attiecas uz citām deklaratīvajām valodām, tad, strādājot ar to, programmētājs apraksta situāciju (noteikumus un faktus) un formulē mērķi (vaicājumu), ļaujot PROLOGUE tulkam atrast problēmas risinājumu. PROLOGUE tulks tiek saprasts kā mehānisms problēmas risināšanai, izmantojot PROLOGUE valodu. PROLOGUE programma ir faktu un (iespējams) noteikumu kopums. Ja programma satur tikai faktus, tad to sauc par datu bāzi. Ja tajā ir arī noteikumi, tad bieži tiek lietots termins zināšanu bāze.

Atšķirībā no programmām, kas rakstītas procesuālajās valodās, kurās ir noteikta darbību secība, kas datoram jāveic, lai atrisinātu problēmu, programmā PROLOGUE programmētājs apraksta faktus, noteikumus, attiecības starp tām, kā arī pieprasa problēmu. Tipiskākais PROLOGUE pielietojums ir ekspertu sistēmas.

Pašpārbaudes jautājumi

1. Kas ir programma? Ko nozīmē izpildītājs?

2. Kas ir mašīnas kods?

3. Kas ir tulks? Uzskaitiet tulkotāju veidus.

4. Kā darbojas tulks? Kādas ir tās priekšrocības?

5. Kādas ir kompilatoru priekšrocības?

6. Kādas sastāvdaļas ir iekļautas integrētajā programmēšanas sistēmā?

7. Ko nozīmē datu struktūra, kāda ir datu struktūras klasifikācija?

8. Ko nozīmē datu masīvi un kādas darbības ar tiem var veikt?

9. Kādi ir masīvu šķirošanas algoritmi?

10. Kāds ir apakšprogrammu mērķis?

11. Kam paredzēta rutīnu bibliotēka?

12. Kādi programmēšanas veidi pastāv?

Literatūra

1. Stavrovskis A.B., Karnauks T.A. Pirmie soļi programmēšanā. Pašmācības grāmata. - M.: Viljamss, 2006.- 400 lpp.

2. Okulovs S. Programmēšanas pamati Izdevējs: Binom. Zināšanu laboratorija, 2008.- 383 lpp.

3. Kantsedal S.А. Algoritmizācijas un programmēšanas pamati. - M.: Forums, 2008.- 351 lpp.

4.httn // www myfreesoft ru / default-windows-nroprams html-standarta Windows programmas

5.httn // khni -iin mink kharkiv edu / lihrary / datastr / hook / nrt01 html # lb11 - modeļi un datu struktūras

6.httn: //www.intuit.ru/denartment/se/nhmsu/11/3.html#sect5 - modeļi un datu struktūras

7.http: //inf.1sentemher.ru/2007/15/00.htm - datorzinātņu skolotāja enciklopēdija

8. http://www.delnhi.int.ru/articles/119/ - apakšprogrammas.

9.httn // inroc ru / narallel-nroPramminP / lection-5 /-kaudzes šķirošana.

Programmēšanas valoda- formāla zīmju sistēma, kas paredzēta algoritmu aprakstīšanai izpildītājam ērtā formā (piemēram, dators). Programmēšanas valoda definē leksisko, sintaktisko un semantisko noteikumu kopumu, ko izmanto datorprogrammas sastādīšanā. Tas ļauj programmētājam precīzi noteikt, uz kādiem notikumiem dators reaģēs, kā dati tiks glabāti un pārsūtīti, kā arī kādas darbības ar tiem jāveic dažādos apstākļos.

Kopš pirmo programmējamo mašīnu radīšanas cilvēce jau ir izgudrojusi vairāk nekā divarpus tūkstošus programmēšanas valodu. Katru gadu to skaits tiek papildināts ar jauniem. Dažas valodas zina tikai neliels skaits savu izstrādātāju, citas kļūst zināmas miljoniem cilvēku. Profesionāli programmētāji dažkārt savā darbā izmanto vairāk nekā duci dažādu programmēšanas valodu.

Valodu radītāji šo jēdzienu interpretē atšķirīgi programmēšanas valoda... Starp izplatītākajām vietām, ko atzīst lielākā daļa izstrādātāju, ir šādas:

· Funkcija: programmēšanas valoda ir paredzēta datorprogrammu rakstīšanai, kuras tiek izmantotas, lai pārsūtītu norādījumus uz datoru konkrēta skaitļošanas procesa veikšanai un atsevišķu ierīču vadības organizēšanai.

· Uzdevums: programmēšanas valoda atšķiras no dabiskajām valodām, jo ​​tā ir paredzēta komandu un datu pārsūtīšanai no personas uz datoru, savukārt dabiskās valodas tiek izmantotas tikai, lai cilvēki sazinātos savā starpā. Principā ir iespējams vispārināt "programmēšanas valodu" definīciju - tas ir komandu, rīkojumu pārsūtīšanas veids, skaidri norādījumi darbībai; savukārt cilvēku valodas kalpo arī informācijas apmaiņai.

· Izpilde: programmēšanas valoda var izmantot īpašas konstrukcijas, lai definētu un apstrādātu datu struktūras un kontrolētu skaitļošanas procesu.

3. Problēmas risināšanas posmi datorā.

Visefektīvākais VT pielietojums konstatēts darbietilpīgos aprēķinos zinātniskos pētījumos un inženiertehniskos aprēķinos. Risinot problēmu datorā, galvenā loma joprojām ir personai. Iekārta veic savus uzdevumus tikai saskaņā ar izstrādāto programmu. cilvēka un mašīnas lomu ir viegli saprast, ja problēmas risināšanas process ir sadalīts zemāk uzskaitītajos posmos.

Problēmas formulējums.Šis posms sastāv no problēmas būtiskas (fiziskas) formulēšanas un galīgo risinājumu noteikšanas.

Matemātiskā modeļa veidošana. Modelim pareizi (adekvāti) jāapraksta fiziskā procesa pamatlikumi. Lai izveidotu vai izvēlētos matemātisko modeli no esošajiem, nepieciešama padziļināta problēmas izpratne un zināšanas par attiecīgajām matemātikas sadaļām.

Pasaules kausa izcīņas attīstība. Tā kā dators var veikt tikai visvienkāršākās darbības, tas "nesaprot" problēmas izklāstu pat matemātiskā formulējumā. Lai to atrisinātu, ir jāatrod skaitliska metode, kas ļauj problēmu samazināt līdz kādam skaitļošanas algoritmam. Katrā konkrētā gadījumā ir jāizvēlas piemērots risinājums no jau izstrādātajiem standarta.

Algoritmu izstrāde. Problēmas risināšanas process (skaitļošanas process) ir uzrakstīts elementāru aritmētisko un loģisko darbību secības veidā, kas noved pie gala rezultāta, un tiek saukts par problēmas risināšanas algoritmu.

Programmēšana. Problēmas risināšanas algoritms ir rakstīts mašīnai saprotamā valodā precīzi noteiktas darbību secības - programmas veidā. Process parasti tiek veikts, izmantojot kādu starpposma valodu, un tā tulkošanu veic pati mašīna un tās sistēma.

Programmas atkļūdošana. Apkopotā programma satur visa veida kļūdas, neprecizitātes un drukas kļūdas. Atkļūdošana ietver programmu vadības, diagnostikas (satura meklēšana un noteikšana) kļūdas un to novēršanu. Programma tiek pārbaudīta, risinot kontroles (testa) problēmas, lai iegūtu pārliecību par rezultātu ticamību.

Aprēķini.Šajā posmā tiek sagatavoti sākotnējie aprēķinu dati un aprēķins tiek veikts saskaņā ar atkļūdoto programmu. Tajā pašā laikā, lai samazinātu roku darbu rezultātu apstrādei, var plaši izmantot ērtas rezultātu izdošanas formas teksta un grafiskas informācijas veidā personai saprotamā formā.

Rezultātu analīze. Aprēķinu rezultāti tiek rūpīgi analizēti, tiek sastādīta zinātniskā un tehniskā dokumentācija.

4. Kam domātas programmēšanas valodas?

Datora darba process sastāv no programmas izpildes, tas ir, precīzi definētu komandu kopuma precīzi noteiktā secībā. Instrukcijas mašīnforma, kas sastāv no nullēm un vienādām, norāda, kāda veida darbība jāveic centrālajam procesoram. Tas nozīmē, ka, lai datoram pateiktu darbību secību, kas tai jāveic, jums jānorāda atbilstošo komandu bināro kodu secība. Mašīnu kodu programmas sastāv no tūkstošiem instrukciju. Šādu programmu rakstīšana ir grūta un garlaicīga. Programmētājam jāatceras katras programmas binārā koda nulles un vienības kombinācija, kā arī tās izpildē izmantoto datu adrešu binārie kodi. Ir daudz vieglāk uzrakstīt programmu kādā valodā, kas ir tuvāk dabiskajai cilvēku valodai, un uzticēt datoram šīs programmas tulkošanu mašīnkodos. Šādi valodas tika īpaši izstrādātas programmu rakstīšanai - programmēšanas valodas.

Ir pieejamas daudzas dažādas programmēšanas valodas. Faktiski jebkuru no tiem var izmantot, lai atrisinātu lielāko daļu problēmu. Pieredzējuši programmētāji zina, kuru valodu labāk izmantot katras konkrētās problēmas risināšanai, jo katrai valodai ir savas iespējas, orientācija uz noteikta veida problēmām, savs veids, kā aprakstīt problēmu risināšanā izmantotos jēdzienus un objektus.

Visas daudzās programmēšanas valodas var iedalīt divās grupās: zema līmeņa valodas un augsta līmeņa valodas.

Zema līmeņa valodas ietver montāžas valodas (no angļu valodas līdz montāžai - savākt, salikt). Montāžas valoda komandām, kuras ir viegli saprotamas un ātri atceras, tiek izmantots simbolisks apzīmējums. Komandu bināro kodu secības vietā tiek rakstīti to simboliskie apzīmējumi, un komandu izpildes laikā izmantoto bināro datu adrešu vietā ir šo datu simboliskie nosaukumi, kurus izvēlējies programmētājs. Montāžas valodu dažreiz sauc par mnemokodu vai autokodu.

Lielākā daļa programmētāju programmu rakstīšanai izmanto augsta līmeņa valodas. Tāpat kā parastajai cilvēku valodai, arī šādai valodai ir savs alfabēts - valodā lietoto simbolu kopums. Tā sauktie valodas atslēgvārdi sastāv no šiem simboliem. Katrs no atslēgas vārdiem pilda savu funkciju, tāpat kā valodā, kuru esam pieraduši savā valodā, vārdi, kas sastāv no noteiktas valodas alfabēta burtiem, var veikt dažādu runas daļu funkcijas. Atslēgvārdi ir saistīti viens ar otru teikumos saskaņā ar noteiktiem valodas sintakses noteikumiem. Katrs teikums nosaka noteiktu darbību secību, kas jāveic datoram.

Augsta līmeņa valoda spēlē starpnieka lomu starp personu un datoru, ļaujot personai sazināties ar datoru personai pazīstamākā veidā. Bieži vien šī valoda palīdz izvēlēties pareizo problēmas risināšanas metodi.

Pirms programmas rakstīšanas augsta līmeņa valodā programmētājam ir jāsastāda algoritms problēmas risināšana, tas ir, soli pa solim rīcības plāns, kas jāpabeidz, lai atrisinātu šo problēmu. Tāpēc bieži tiek sauktas valodas, kurām nepieciešama iepriekšēja algoritma apkopošana algoritmiskās valodas.

5. Kādas programmēšanas valodas pastāv

1.1 Fortran

Programmēšanas valodas sāka parādīties jau 50. gadu vidū. Viena no pirmajām šāda veida valodām bija FORTRAN valoda (FORTRAN no FORmulaTRANslator - formulu tulks), kas tika izstrādāta 1957. gadā. Fortran tiek izmantots, lai aprakstītu algoritmu zinātnisku un tehnisku problēmu risināšanai, izmantojot digitālo datoru. Tāpat kā pirmie datori, arī šī valoda bija paredzēta galvenokārt dabaszinātnisku un matemātisku aprēķinu veikšanai. Uzlabotā formā šī valoda ir saglabājusies līdz mūsdienām. Starp mūsdienu augsta līmeņa valodām tā ir viena no visbiežāk izmantotajām zinātniskajos pētījumos. Visizplatītākie varianti ir Fortran-II, Fortran-IV, EASICFortran un to vispārinājumi.

1.2 ALGOLS

Pēc Fortranas 1958.-1960. Gadā parādījās Algolu valoda (Algol-58, Algol-60) (angļu ALGOL no ALGOrithmicLanguage-algoritmiskā valoda). Algols tika uzlabots 1964.-1968. Gadā-Algol-68. ALGOL izstrādāja komiteja, kurā bija Eiropas un Amerikas zinātnieki. Tas pieder augsta līmeņa valodām un ļauj viegli tulkot algebriskās formulas programmu komandās. Algols bija populārs Eiropā, tostarp PSRS, savukārt līdzīgs Fortrāns bija izplatīts ASV un Kanādā. Algols manāmi ietekmēja visas vēlāk izstrādātās programmēšanas valodas, un jo īpaši Pascal valodu. Šī valoda, tāpat kā Fortran, bija paredzēta zinātnisku un tehnisku problēmu risināšanai. Turklāt šī valoda tika izmantota kā līdzeklis, lai mācītu programmēšanas pamatus - programmēšanas mākslu.

Parasti Algolola jēdziens nozīmē valodu ALGOL-60, kamēr ALGOL-68 tiek uzskatīta par neatkarīgu valodu. Pat tad, kad algoritma valodu gandrīz vairs neizmantoja programmēšanai, tā joprojām bija oficiālā algoritmu publicēšanas valoda.

1.3 Cobol

1959. - 1960. gadā tika izstrādāta koboļu valoda (angļu COBOL no COmmom Business Oriented Language). Tā ir trešās paaudzes programmēšanas valoda, kas galvenokārt paredzēta biznesa lietojumprogrammu izstrādei. Tāpat Kobol bija paredzēts ekonomisko problēmu risināšanai, datu apstrādei bankām, apdrošināšanas sabiedrībām un citām šāda veida iestādēm. Greisa Hoppera ( vecmāmiņa Kobola).

Kobolu parasti kritizē par daudzpusību un apgrūtinājumu, jo viens no valodas radītāju mērķiem bija celtnes pēc iespējas tuvināt angļu valodai. (Līdz šim Cobol tiek uzskatīta par programmēšanas valodu, kurā tika uzrakstīts visvairāk koda rindu). Tajā pašā laikā Kobolam savā laikā bija lieliski rīki darbam ar datu struktūrām un failiem, kas viņam nodrošināja ilgu mūžu biznesa lietojumprogrammās, vismaz ASV.

1.4 Lisp

Gandrīz vienlaikus ar Kobolu (1959 - 1960) Masačūsetsas Tehnoloģiju institūtā tika izveidota Lispa valoda (LISP no LIStProcessing). Lisp pamatā ir programmas attēlojums, izmantojot lineāru rakstzīmju sarakstu sistēmu, kas turklāt ir valodas galvenā datu struktūra. Lisp tiek uzskatīta par otro vecāko augsta līmeņa programmēšanas valodu aiz Fortran. Šī valoda tiek plaši izmantota simboliskas informācijas apstrādei un tiek izmantota, lai izveidotu programmatūru, kas atdarina cilvēka smadzeņu darbību.

Jebkura Lisp programma sastāv no secības izteicieni(veidlapas). Programmas rezultāts ir šo izteicienu novērtēšana. Visi izteicieni ir uzrakstīti kā sarakstus- viena no Lispa pamatstruktūrām, tāpēc tās var viegli izveidot, izmantojot pašu valodu. Tas ļauj izveidot programmas, kas maina citas programmas vai makro, ļaujot ievērojami paplašināt valodas iespējas.

Lispa programmas "dzīve" galvenā nozīme simboliskajā telpā: kustība, radošums, iegaumēšana, jaunu pasauļu radīšana utt. Lisps kā smadzeņu metafora, simbols, signāla metafora: "Kā smadzeņu signālu bioloģiskā analīze kā ārējs faktors - fiziska un ķīmiska ietekme, kas kairina ķermeni, pārvēršas par bioloģiski nozīmīgu signālu, bieži vien ir vitāli svarīgi, nosakot visu cilvēka vai dzīvnieka uzvedību; un kā dažādi signāli tiek sadalīti pozitīvos, negatīvos un vienaldzīgos, vienaldzīgos. Signāls jau ir integrējošs jēdziens. Tā ir grupas identifikācijas zīme, sarežģīti stimuli , kas ir savstarpēji savienota ar kopīgu vēsturi un cēloņsakarībām. Šajā kompleksā stimulu sistēma, pats signāla stimuls ir arī sastāvdaļa, un citos apstākļos tā loma var piederēt citam kompleksa stimulam. Signāls koncentrē visu dzīvnieka vai cilvēka pagātnes pieredze.

1.5 PAMATA

60. gadu vidū (1963. g.) Dartmutas koledžā (ASV) tika izveidota BASIC valoda (angļu valodas BASIC no Beginner's Allpurpose Instruction Code-universāls simbolisks instrukciju kods iesācējiem). Laika gaitā, kad sāka parādīties citi dialekti, šis "oriģinālais" dialekts kļuva pazīstams kā Dartmouth BASIC. Valoda daļēji balstījās uz Fortran II un daļēji uz Algol-60, papildinājumi padarīja to ērtu laika dalīšanai un vēlāk teksta apstrādei un matricas aritmētikai. BASIC sākotnēji tika ieviests lieldatorā GE-265, atbalstot vairākus termināļus. Pretēji izplatītajam uzskatam, tās izveides laikā tā bija apkopota valoda.

BASIC tika izstrādāts tā, lai studenti varētu rakstīt programmas, izmantojot laika dalīšanas termināļus. Tas tika izstrādāts kā risinājums vecāku valodu sarežģītībai. Tas bija paredzēts vairāk "vienkāršiem" lietotājiem, kurus ne tik ļoti interesēja programmu ātrums, bet vienkārši spēja izmantot datoru savu problēmu risināšanai. BASIC valodas vienkāršības dēļ daudzi iesācēji programmētāji sāk programmēšanu ar to.

1.6 Forts

60. gadu beigās - 70. gadu sākumā parādījās fortu valoda (angļu CETURTAIS - ceturtā). Šo valodu sāka izmantot dažādu sistēmu vadības problēmās pēc tam, kad tās autors Čārlzs Mūrs tajā uzrakstīja programmu, kas paredzēta Arizonas observatorijas radioteleskopa vadīšanai.

Vairākas īpašības, proti, interaktivitāte, elastība un vienkārša attīstība, padara Fortu par ļoti pievilcīgu un efektīvu valodu lietišķajiem pētījumiem un rīku izstrādei. Acīmredzami šīs valodas lietojumi ir iegultās vadības sistēmas. Atrod arī pielietojumu datorprogrammēšanā, kurā darbojas dažādas operētājsistēmas.

1.7 Paskāls

Paskāla valoda, kas parādījās 1972. gadā, tika nosaukta pēc izcilā 17. gadsimta franču matemātiķa, pasaulē pirmās aritmētiskās mašīnas Bleisa Paskāla izgudrotāja. Šo valodu Šveices datorzinātnieks Niklaus Wirth izveidoja kā valodu programmēšanas metožu mācīšanai. Pascal ir universāla programmēšanas valoda.

Valodas īpatnības ir stingra drukāšana un strukturālu (procesuālu) programmēšanas rīku pieejamība. Pascal bija viena no pirmajām šādām valodām. Pēc N. Virta domām, valodai vajadzētu veicināt programmēšanas disciplīnu, tāpēc kopā ar spēcīgu mašīnrakstīšanu Paskāla valodā tiek samazinātas iespējamās sintaktiskās neskaidrības, un pati sintakse ir intuitīvi skaidra pat pirmajā valodas iepazīšanās reizē.

Paskāla valoda māca ne tikai to, kā pareizi uzrakstīt programmu, bet arī pareizi izstrādāt metodes problēmas risināšanai, izvēlēties veidus, kā prezentēt un sakārtot problēmā izmantotos datus. Kopš 1983. gada Pascal valoda ir ieviesta ASV vidusskolu datorzinātņu mācību programmā.

1.8 Elle

1983. gadā Ādas valoda tika izveidota ASV Aizsardzības departamenta paspārnē. Valoda ir ievērojama ar to, ka apkopošanas posmā var atklāt daudz kļūdu. Turklāt tas atbalsta daudzus programmēšanas aspektus, kas bieži tiek atstāti operētājsistēmas ziņā (vienlaicība, izņēmumu apstrāde). 1995. gadā tika pieņemts Ada 95 valodas standarts, kas balstās uz iepriekšējo versiju, pievienojot objektu orientāciju un labojot dažas neprecizitātes. Abas šīs valodas netiek plaši izmantotas ārpus militāriem un citiem liela mēroga projektiem (aviācija, dzelzceļa pārvadājumi). Galvenais iemesls ir valodas apguves grūtības un diezgan apgrūtinošā sintakse.

Ada tiešie priekšteči ir Pascal un tā atvasinājumi, tostarp Eiklīds, Liss, Mesa, Modula un Sjū. Tika izmantoti vairāki jēdzieni no ALGOL-68, Simula, CLU un Alphard.

Ada izstrādātāju galvenās rūpes bija:

· Programmu uzticamība un izpilde;

· Programmēšana kā sava veida cilvēka darbība;

· Efektivitāte.

Tabula 1 parādītas Ādas valodas galvenās iezīmes no objekta pieejas viedokļa.

1. tabula. Ada.

1.9 Si

Pašlaik C ir populāra valoda programmētāju vidū (C ir angļu alfabēta burts). C valodas izcelsme ir no divām valodām- BCPL un B. 1967. gadā Martins Ričards izstrādāja BCPL kā valodu sistēmas programmatūras un kompilatoru rakstīšanai. 1970. gadā Kens Tompsons izmantoja B, lai DEC PDP-7 datorā izveidotu UNIX operētājsistēmas agrīnās versijas. Gan BCPL, gan B mainīgie netika sadalīti tipos - katra datu vērtība atmiņā aizņēma vienu vārdu, un atbildība par, piemēram, veselu skaitļu un reālo skaitļu nošķiršanu pilnībā gulēja uz programmētāja pleciem. C valoda tika izstrādāta ( pamatojoties uz B), autors Deniss Ričijs no Bell Laboratories, un pirmo reizi tas tika ieviests 1972. gadā ar DEC PDP-11 datoru. C ieguva slavu kā UNIX OS valoda. Gandrīz visas galvenās operētājsistēmas mūsdienās tika rakstītas C vai C ++. Pēc divām desmitgadēm C ir pieejams lielākajā daļā datoru. Tas ir neatkarīgs no aparatūras. 70. gadu beigās C pārvērtās par to, ko mēs saucam par “tradicionālo C”. 1983. gadā vienotu šīs valodas standartu izveidoja Amerikas Datoru un informācijas apstrādes nacionālo standartu komiteja. Šai valodai ir bagātīgi rīki, kas ļauj rakstīt elastīgas programmas, kas izmanto visas mūsdienu personālo datoru iespējas.

1.10 Prologs

Vēl vienu valodu, kas tiek uzskatīta par nākotnes valodu, 70. gadu sākumā izveidoja Marseļas universitātes speciālistu grupa. Šī ir Prolog valoda. Tā nosaukumu ieguva no vārdiem "PROGRAMMĒŠANA LOĢISKAS VALODĀ". Šīs valodas pamatā ir matemātiskās loģikas likumi. Tāpat kā Lisp valoda, Prolog galvenokārt tiek izmantots pētījumos cilvēka smadzeņu darbības programmatūras simulācijas jomā. Atšķirībā no iepriekš aprakstītajām valodām šī valoda nav algoritmiska. Tas pieder pie t.s aprakstošs(no angļu valodas aprakstošais - aprakstošais) - aprakstošās valodas. Aprakstošā valoda neprasa programmētājam izstrādāt visus uzdevuma posmus. Tā vietā saskaņā ar šādas valodas noteikumiem programmētājam jāapraksta datu bāze, kas atbilst risināmajai problēmai, un jautājumu kopums, uz kuriem jāatbild, izmantojot šīs datu bāzes datus.

Pēdējās desmitgadēs ir parādījusies programmēšana un tā ir ievērojami attīstījusies orientēts uz objektu pieeja. Šī ir programmēšanas metode, kas atdarina reālās pasaules ainu: informācija, kas tiek izmantota problēmas risināšanai, tiek attēlota kā mijiedarbojošu objektu kopums. Katram objektam ir savas īpašības un uzvedība. Objektu mijiedarbība tiek veikta, izmantojot ziņojumu pārraidi: katrs objekts var saņemt ziņas no citiem objektiem, atcerēties informāciju un noteiktā veidā to apstrādāt, un, savukārt, nosūtīt ziņas. Tāpat kā reālajā pasaulē, objekti saglabā savas īpašības un uzvedību kopā, daļu no tiem pārmantojot no vecākiem objektiem.

Objektorientēta ideoloģija tiek izmantota visos mūsdienu programmatūras produktos, ieskaitot operētājsistēmas.

Pirmā objektorientētā valoda Simula -67 tika izveidots kā rīks dažādu ierīču un mehānismu darbības simulēšanai. Lielākā daļa mūsdienu programmēšanas valodu ir orientētas uz objektiem. Starp tiem ir jaunākās valodas versijas Turbo - Paskāls , C ++, Ada un citi.

Šobrīd sistēmas tiek plaši izmantotas vizuālā programmēšana Vizuāli Pamata , Vizuāli C ++, Delfi un citi. Tie ļauj izveidot sarežģītas lietojumprogrammu paketes ar vienkāršu un ērtu lietotāja interfeisu.

1.11 Java

Kopš 1995. gada ir kļuvusi plaši izplatīta jauna uz objektiem orientēta programmēšanas valoda Java, kuras mērķauditorija ir datoru tīkli un galvenokārt internets. Šīs valodas sintakse ir līdzīga C ++ valodas sintaksei, taču šīm valodām ir maz kopīga. Java ir interpretēta valoda: tai ir definēts iekšējais attēlojums (baitu kods) un tulks, kas jau tiek ieviests lielākajā daļā platformu. Tulks vienkāršo Java valodā rakstīto programmu atkļūdošanu, nodrošina to pārnesamību uz jaunām platformām un pielāgošanos jaunai videi. Tas ļauj izslēgt Java valodā rakstīto programmu ietekmi uz citām programmām un failiem, kas pieejami jaunajā platformā, un tādējādi nodrošināt šo programmu izpildes drošību. Šīs Java valodas īpašības ļauj to izmantot kā galveno programmēšanas valodu programmām, kas tiek izplatītas pa tīkliem (jo īpaši internetā).

1.12 Objekts Pascal

Objektu Pascal izveidoja Apple Computer darbinieki (daži no tiem bija Smalltalk līdzstrādnieki) kopā ar Pascal valodas radītāju Niklausu Virtu. Objekts Pascal ir pieejams kopš 1986. gada un ir pirmā objektorientētā programmēšanas valoda, kas iekļauta Macintosh programmētāju darbnīcā (MPW), kas ir Apple Macintosh datoru izstrādes vide.

Šajā valodā nav klases metožu, klases mainīgo, vairāku mantojumu un metaklases. Šie mehānismi ir izslēgti ar nolūku, lai padarītu valodu viegli apgūstamu iesācēju "objektu" programmētājiem.

Tabula 2 parāda objekta Pascal vispārīgās īpašības.

2. tabula. Objekts Pascal.

Pēdējos gados šī valoda ir kļuvusi ļoti populāra, pateicoties Borlanda Delphi sistēmai.

1.13 Vizuāli uz objektu orientēta dizaina sistēma Delphi.

Delfu parādīšanās nevarēja palikt nepamanīta daudzu datoru lietotāju vidū. Ekspertu vērtējumi, kas pēta šī jaunā Borland produkta iespējas, parasti ir nokrāsoti ar entuziasma toņiem. Delphi galvenā priekšrocība ir tā, ka šeit tiek īstenotas vizuālās programmēšanas idejas. Vizuālās programmēšanas vide pārvērš programmas izveidošanas procesu par patīkamu un viegli saprotamu lietojumprogrammas konstrukciju no liela grafisko un strukturālo primitīvu kopuma.

Delphi sistēma ļauj atrisināt daudzas problēmas, jo īpaši:

· Izveidojiet visaptverošas Windows lietojumprogrammas visdažādākajiem mērķiem: no tīri skaitļošanas un loģikas līdz grafiskai un multividei.

· Ātri izveidojiet (pat iesācējiem programmētājiem) profesionāla izskata logveida saskarni jebkurai lietojumprogrammai.

· Izveidojiet jaudīgas sistēmas darbam ar vietējām un attālām datu bāzēm

· Izveidojiet palīdzības sistēmas (.hlp failus) savām lietojumprogrammām un citiem. dr.

Delphi ir ārkārtīgi strauji augoša sistēma. Pirmā versija Delphi 1.0 tika izlaista 1995. gada februārī, un pēc tam katru gadu tika izlaistas jaunas versijas.

Katra nākamā Delphi versija papildināja iepriekšējo.Lielākā daļa Delphi versiju ir pieejamas vairākās versijās: Standarta - standarta, Profesionālās - profesionālās, Klienta / Servera - klienta / servera, Uzņēmuma - tematu jomu datu bāzu izstrādes. Varianti galvenokārt atšķiras ar dažādiem piekļuves līmeņiem datu bāzu pārvaldības sistēmām. Pēdējās iespējas ir klients / serveris un uzņēmums, kas šajā ziņā ir visspēcīgākās.

Delphi ir vairāku svarīgu tehnoloģiju kombinācija:

Augstas veiktspējas kompilators mašīnas kodam

Objektorientēts komponentu modelis

Vizuāla (un līdz ar to arī ātrgaitas) lietojumprogrammu veidošana no programmatūras prototipiem

Mērogojami rīki datu bāzu veidošanai

Ekrāna struktūra Delfu vidē.

Pēc zvanīšanas uz Delphi sistēmā Windows parādās vairāki logi (1. att.):

Galvenais logs,

Veidlapas logs,

Objektu inspektora logs,

Objektu koka logs,

Programmas koda logs.


1. att. Ekrāna struktūra Delfu vidē.

Apsveriet Delphi sistēmas grafisko izvēlni, kas atrodas ekrāna augšdaļā un sastāv no ikonām.Grafiskās izvēlnes kreisajā pusē ir rīkjosla. Rīki izpilda dažas galvenās izvēlnes komandas - šāda dublēšana bieži tiek praktizēta rīku vidē.Šajā panelī jo īpaši ir poga, lai projektu saglabātu diskā, poga projekta atvēršanai, poga programmas palaišanai izpildei.

Nākamā grafiskās izvēlnes daļa ir komponentu palete, kas sakārtota ikonu kopu veidā. Komplektu kolekcija veido vizuālo komponentu bibliotēku (VCL). Ir vairākas komponentu kategorijas, no kurām katra ir saistīta ar citu cilni. Izmantojot komponentu paleti, mēs veidlapā parādīsim komponentus (vai objektus).

Lai veidlapā ievietotu objektu, jums "jānoklikšķina" uz atbilstošās pogas paletē un pēc tam jānoklikšķina veidlapas loga iekšpusē: objekts tiks ievietots norādītajā veidlapas vietā - sastāvdaļas sastāvdaļa izvēlēto veidu.

Objektu inspektora logs ir logs, kas parāda veidlapas vai uz veidlapas ievietota objekta rekvizītus. Mūsu gadījumā pašreizējā sastāvdaļa ir veidlapa, tāpēc attēla rekvizītu logs parāda veidlapas īpašības.

Rekvizītu logam ir divas cilnes - Rekvizīti un Notikumi, ar kuru palīdzību jūs varat iegūt rindas (laukus) logā, lai attiecīgi iestatītu komponenta (ti, objekta vai veidlapas) īpašības un tā atbildi uz dažādiem notikumiem. Īpašums nosaka komponenta atribūtu, piemēram, pogas lielumu vai etiķetes fontu. Notikums nozīmē, piemēram, tādas darbības kā klikšķis uz pogas vai loga aizvēršana.

Objektu koka logs parādījās 6. versijā un ir paredzēts, lai vizuāli parādītu saites starp atsevišķiem objektiem, kas ievietoti aktīvajā formā vai aktīvajā datu modulī.

Programmas koda logs ir paredzēts programmas teksta izveidei un rediģēšanai. Sākotnēji tajā ir minimāls avota kods.

Delfu projekti. Delphi projekts sastāv no veidlapām, moduļiem, projekta parametru iestatījumiem, resursiem utt. Visa šī informācija atrodas failos. Veidojot lietojumprogrammu, Delphi automātiski ģenerē daudzus no šiem failiem. Resursi, piemēram, bitkartes, ikonas utt., Ir atrodami failos, kurus iegūstat no citiem avotiem vai izveidojat, izmantojot daudzus rīkus un resursu redaktorus, kas ir jūsu rīcībā. Turklāt kompilators ģenerē arī failus.

Projektēšanas laikā izveidotie faili ir parādīti tabulā. 3.

Lietojumprogrammas galvenā daļa ir projekta fails (.dpr), kurā ir objekta paskālais kods, kas palaiž programmu un inicializē citus moduļus. To Delphi automātiski izveido un modificē lietojumprogrammu izstrādes laikā. Saglabāšanas laikā projekta failam piešķirtais nosaukums kļūst par izpildāmā faila nosaukumu.

Projekta fails (.dpr) Šo teksta failu izmanto, lai uzglabātu informāciju par veidlapām un moduļiem. Tajā ir paziņojumi par programmu inicializēšanu un palaišanu izpildei
Moduļa fails (.pas) Katrai veidlapai, kuru izveidojat, ir atbilstošs moduļa teksta fails, kas tiek izmantots koda glabāšanai. Varat izveidot moduļus, kas nav saistīti ar veidlapām. Daudzas Delphi funkcijas un procedūras tiek glabātas moduļos.
Veidlapas fails (.dfm) Šis ir binārs vai teksta fails, ko Delphi izveido, lai saglabātu informāciju par veidlapām. Katram veidlapas failam ir atbilstošs moduļa fails (.pas)
Projekta opciju fails (.dfo) Šajā failā tiek saglabāti projekta parametru iestatījumi
Resursu fails (.res) Šajā binārajā failā ir projekta izmantotā ikona un citi resursi.
Dublējuma faili (. ~ Dpr, ~ Dfm, ~ Pas) Tie ir attiecīgi projekta, veidlapas un moduļa failu dublējuma faili. Ja kaut kas projektā ir bezcerīgi sabojāts, varat attiecīgi mainīt šo failu paplašinājumus un tādējādi atgriezties pie iepriekšējās nekļūdīgās versijas.
Logu konfigurācijas fails (.dsk) Fails saglabā visu izstrādes vides logu konfigurāciju
Izpildāms fails (.exe) Šis ir lietojumprogrammas izpildāmais fails. Tas ir atsevišķs izpildāms fails, kuram nav nepieciešams nekas cits, ja vien tas neizmanto bibliotēkas, kas atrodas DLL, OCX utt.
Moduļa objekta fails (.dcu) Šis ir apkopots moduļa fails (.pas), kas ir saistīts ar galīgo izpildāmo failu.

3. tabula. Projektēšanas procesā izveidotie faili.


Pašlaik ir izlaista Delphi sistēmas 7. versija. Rekordīsā laikā tā ir kļuvusi par vienu no populārākajām programmēšanas sistēmām pasaulē. Daudzi izstrādātāji visā pasaulē ir cieši apņēmušies izmantot Delphi kā līdzekli, lai izveidotu ļoti efektīvas klienta / servera lietojumprogrammas.

Evolūcijas koka programmēšana

1. attēls Programmēšanas evolūcijas koks

6. Bibliogrāfija:

1. I.T. Zaretskaja, B.G. Kolodjažnijs, A.N. Gurzhiy, A.Yu. Sokolovs. Informātikas 10.-11.klase. - К.: "Forums", 2001

1. Ekrāna struktūra Delphi vidē (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu. N. "Objektorientēts dizains" (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin, L. Perkolab "Studying TurboPascal" - SPb.: Peter, 2002.

2. H.M. Daytel. Kā programmēt S. - M.: "Binom", 2000

3. Interneta lapa: http://ru.wikipedia.org/wiki/LISP

Mācību grāmata sastāv no divām sadaļām: teorētiskās un praktiskās. Mācību grāmatas teorētiskajā daļā izklāstīti mūsdienu informātikas kā sarežģītas zinātniski tehniskas disciplīnas pamati, tostarp informācijas un informācijas procesu struktūras un vispārējo īpašību izpēte, skaitļošanas ierīču veidošanas vispārīgie principi, apspriesta informācijas organizācija un darbība un datoru tīkli, datoru drošība, iepazīstina ar algoritmizācijas un programmēšanas, datu bāzu un DBVS galvenajiem jēdzieniem. Lai kontrolētu iegūtās teorētiskās zināšanas, tiek piedāvāti jautājumi pašpārbaudei un testiem. Praktiskajā daļā apskatīti pamata darbību algoritmi, strādājot ar tekstapstrādes programmu Microsoft Word, izklājlapu redaktoru Microsoft Excel, programmu Microsoft Power Point prezentāciju veidošanai, arhivēšanas programmas un pretvīrusu programmas. Katras sadaļas beigās, lai konsolidētu nokārtoto praktisko kursu, tiek piedāvāts veikt patstāvīgu darbu.

Grāmata:

Sadaļas šajā lapā:

8.2. Programmēšanas valodas

Programmēšanas veidi

Datoru tehnoloģiju progress ir noteicis dažādu jaunu zīmju sistēmu parādīšanās procesu algoritmu - programmēšanas valodu - rakstīšanai. Šādas valodas izskata nozīme ir aprīkots ar skaitļošanas formulu komplektu papildu informācijai, kas šo kopumu pārvērš par algoritmu.

Programmēšanas valodas ir mākslīgi radītas valodas. Tie atšķiras no dabiskajiem ar ierobežotu "vārdu" skaitu un ļoti stingriem komandu (operatoru) rakstīšanas noteikumiem. Šādu prasību kopums veido programmēšanas valodas sintaksi, un katras komandas un citu valodas konstrukciju nozīme ir tās semantika.

Programmēšanas valodas ir oficiālas saziņas valodas starp personu un datoru, kas paredzētas, lai aprakstītu instrukciju kopumu, kura ieviešana nodrošina pareizu nepieciešamās problēmas risinājumu. Viņu galvenā loma ir informācijas apstrādes darbību plānošana. Jebkuras programmēšanas valodas pamatā ir jēdzienu sistēma, un ar tās palīdzību cilvēks var izteikt savas domas.

Saikne starp valodu, kurā mēs domājam / programmē, un problēmām un risinājumiem, ko varam iztēloties savā iztēlē, ir ļoti cieša. Šī iemesla dēļ valodas īpašību ierobežošana tikai programmētāja kļūdu novēršanai ir labākajā gadījumā bīstama. Tāpat kā dabiskajām valodām, vismaz divvalodībai ir milzīgs ieguvums. Valoda programmētājam nodrošina konceptuālu rīku kopumu, ja tie neatbilst uzdevumam, tad tos vienkārši ignorē. Piemēram, rādītāja jēdziena stingrie ierobežojumi liek programmētājam izmantot vektorus un veselu aritmētiku, lai ieviestu struktūras, norādes un tamlīdzīgus līdzekļus. Labu dizainu un bez kļūdām veidotu dizainu nevar garantēt tikai ar valodas līdzekļiem.

Tas var šķist pārsteidzoši, bet konkrēts dators spēj darbināt programmas, kas rakstītas savā mašīnas valodā. Dažādu mašīnu valodu ir gandrīz tikpat daudz kā datoru, taču tās visas ir vienas un tās pašas idejas šķirnes - vienkāršas darbības tiek veiktas zibens ātrumā ar binārajiem skaitļiem.

No mašīnas atkarīgas programmēšanas valodas

No mašīnas atkarīgās valodas ir valodas, operatoru kopas un grafiskie līdzekļi, kuru būtība ir atkarīga no datora iezīmēm (iekšējās valodas, atmiņas struktūras utt.). Šīs valodas sauc par zema līmeņa programmēšanas valodām. Tie ir vērsti uz noteikta veida procesoru un ņem vērā tā īpatnības. Šādas valodas operatori ir tuvu mašīnas kodam un koncentrējas uz konkrētiem procesora norādījumiem, tas ir, šī valoda ir atkarīga no mašīnas. Zema līmeņa valoda ir montāža. Ar tās palīdzību tiek izveidotas ļoti efektīvas un kompaktas programmas, jo izstrādātājs iegūst piekļuvi visām procesora iespējām. Šādas valodas tiek izmantotas, lai rakstītu nelielas sistēmas lietojumprogrammas, ierīču draiverus, bibliotēkas. Gadījumos, kad RAM un ROM apjoms ir mazs (vairāku kilobaitu apgabalā), montētājam nav alternatīvas. Tieši šīs programmēšanas valodas ļauj iegūt īsāko un ātrāko programmas kodu.

No mašīnām neatkarīgas programmēšanas valodas

No mašīnām neatkarīgas valodas ir veids, kā aprakstīt problēmu risināšanas algoritmus un apstrādājamo informāciju. Tie ir ērti lietojami plašam lietotāju lokam un neprasa viņiem zināt datora un skaitļošanas sistēmas darbības organizēšanas specifiku.

Šādas valodas sauc par augsta līmeņa programmēšanas valodām. Šādās valodās rakstītas programmas ir paziņojumu secības, kas strukturētas saskaņā ar valodas noteikumiem (uzdevumi, segmenti, bloki utt.). Valodu operatori apraksta darbības, kas sistēmai jāveic pēc programmas tulkošanas mašīnvalodā.

Komandu secības (procedūras, apakšprogrammas), kuras bieži izmanto mašīnu programmās, augsta līmeņa valodās tiek attēlotas ar atsevišķiem paziņojumiem. Programmētājs ieguva iespēju nevis detalizēti aprakstīt skaitļošanas procesu mašīnas instrukciju līmenī, bet koncentrēties uz algoritma galvenajām iezīmēm.

Augsta līmeņa programmēšanas valodas cilvēkiem ir daudz tuvākas un saprotamākas. Tie neņem vērā konkrētu datoru arhitektūru īpatnības, tas ir, šīs valodas nav atkarīgas no mašīnas. Tas ļauj izmantot programmu, kas reiz rakstīta šādā valodā, dažādos datoros.

Ir iespējams rakstīt programmas tieši mašīnvalodā, lai gan tas ir grūti. Datorizācijas rītausmā (piecdesmito gadu sākumā) mašīnvaloda bija vienīgā valoda, kāds lielāks cilvēks līdz tam laikam nebija izgudrojis. Lai glābtu programmētājus no skarbās mašīnu programmēšanas valodas, tika izveidotas augsta līmeņa valodas (t.i., ne mašīnvalodas), kas kļuva par sava veida savienojošo tiltu starp cilvēku un datora mašīnvalodu. Augsta līmeņa valodas darbojas, izmantojot tulkošanas programmas, kas ievada "avota kodu" (angļu valodas vārdu un matemātisku izteicienu hibrīdu, ko mašīna nolasa) un galu galā piespiež datoru izpildīt atbilstošās instrukcijas, kas tiek dotas mašīnvalodā.

Augsta līmeņa programmēšanas valodas ir šādas: Fortran, Cobol, Algol, Pascal, Basic, C, C ++, Java, HTML, Perl un citas.

Ar programmēšanas valodas palīdzību netiek izveidota gatava programma, bet tikai tās teksts, kas raksturo iepriekš izstrādātu algoritmu. Lai iegūtu darba programmu, jums vai nu automātiski jāpārveido šis teksts mašīnas kodā, un pēc tam jāizmanto atsevišķi no avota teksta, vai arī nekavējoties jāizpilda programmas teksta norādītās valodas komandas. Šim nolūkam tiek izmantotas tulkotāju programmas.

Ir divi galvenie tulkotāju veidi (8.4. Attēls): tulki, kas skenē un apstiprina avota kodu vienā solī, un kompilatori, kuri skenē avota kodu, lai iegūtu mašīnvalodas programmas tekstu, kas pēc tam tiek izpildīts atsevišķi.


8.4. Attēls. Tulkotāju veidi

Izmantojot kompilatorus, viss programmas avota kods tiek pārvērsts mašīnas kodos, un tieši šie kodi tiek ierakstīti mikroprocesora atmiņā. Izmantojot tulku, programmas avota kods tiek ierakstīts mikroprocesora atmiņā, un tulkošana tiek veikta, kad tiek nolasīts nākamais operators. Protams, tulku ātrums ir daudz zemāks salīdzinājumā ar kompilatoriem, jo, izmantojot operatoru cilpā, tas tiek tulkots daudzas reizes. Tomēr, programmējot augsta līmeņa valodā, koda daudzums, kas jāglabā iekšējā atmiņā, var būt ievērojami mazāks nekā izpildāmā koda. Vēl viena tulku izmantošanas priekšrocība ir programmu vienkārša pārnesamība no viena procesora uz otru.

Viena bieži minētā tulka ieviešanas priekšrocība ir tā, ka tā ļauj izmantot “tiešo režīmu”. Tūlītējais režīms ļauj uzdot datoram problēmu un atgriezt atbildi, tiklīdz nospiežat taustiņu ENTER. Turklāt tulkiem ir īpaši atribūti, kas atvieglo atkļūdošanu. Jūs, piemēram, varat pārtraukt tulka programmas apstrādi, parādīt noteiktu mainīgo saturu, izlaist programmu un pēc tam turpināt izpildi. Tomēr tulkotajām valodām ir trūkumi. Piemēram, ir nepieciešams, lai tulka kopija visu laiku būtu atmiņā, lai gan daudzas tulka iespējas un līdz ar to arī tās iespējas var nebūt vajadzīgas konkrētas programmas izpildei. Izpildot programmas paziņojumus, tulkam vispirms ir jāpārbauda katrs paziņojums, lai izlasītu tā saturu (ko šī persona man lūdz darīt?) Un pēc tam jāveic pieprasītā darbība. Operatori cilpās tiek skenēti pārāk daudz.

Kompilators ir mašīnvalodas tulks, kas lasa avota tekstu. Tā to novērtē atbilstoši valodas sintaktiskajai konstrukcijai un pārtulko mašīnvalodā. Citiem vārdiem sakot, kompilators neizpilda programmas, bet veido tās. Tulkus nevar atdalīt no viņu vadītajām programmām; kompilatori dara savu darbu un pamet notikuma vietu. Strādājot ar apkopošanas valodu, piemēram, Turbo BASIC, jums būs jādomā par savām programmām divos galvenajos dzīves posmos: apkopošanas periods un izpildes periods. Lielākā daļa programmu darbosies četras līdz desmit reizes ātrāk nekā to tulku ekvivalenti. Ja strādājat, lai to uzlabotu, varat sasniegt 100x veiktspējas uzlabojumu. Monētas otrā puse ir tāda, ka programmas, kas lielāko daļu laika pavada, meklējot failus diskos vai gaida ievadi, nespēs demonstrēt nekādu iespaidīgu ātruma pieaugumu.

Programmas izveides procesu sauc par programmēšanu.

Ir vairāki programmēšanas veidi.

Algoritmisks vai modulārs

Algoritmiskās programmēšanas galvenā ideja ir sadalīt programmu moduļu secībā, no kurām katra veic vienu vai vairākas darbības. Vienīgā moduļa prasība ir tāda, ka tā izpilde vienmēr sākas ar pirmo komandu un vienmēr beidzas ar jaunāko (tas ir, nav iespējams piekļūt moduļa komandām no ārpuses un pārsūtīt vadību no moduļa uz citām komandām, apejot pēdējo).

Algoritms izvēlētajā programmēšanas valodā tiek rakstīts, izmantojot komandas, lai aprakstītu datus, aprēķinātu vērtības un kontrolētu programmas izpildes secību.

Programmas teksts ir lineāra uzdevumu, cilpas un nosacījumu paziņojumu secība. Tādā veidā jūs varat atrisināt ne pārāk sarežģītas problēmas un sastādīt programmas, kurās ir vairāki simti koda rindu. Pēc tam avota teksta saprotamība strauji samazinās, jo vispārējā algoritma struktūra tiek zaudēta aiz konkrētiem valodas operatoriem, kas veic pārāk detalizētas, elementāras darbības. Parādās daudzi ligzdoti nosacījumu un cilpas paziņojumi, loģika kļūst pilnīgi mulsinoša, mēģinot labot vienu kļūdainu apgalvojumu, tiek ieviestas vairākas jaunas kļūdas, kas saistītas ar šī paziņojuma darbības īpatnībām, kuru rezultāti bieži tiek ņemti vērā dažādās vietās programmā.

Strukturēta programmēšana

Veidojot vidēja izmēra lietojumprogrammas (vairākus tūkstošus avota koda rindu), tiek izmantota strukturēta programmēšana, kuras ideja ir tāda, ka programmas struktūrai jāatspoguļo risināmās problēmas struktūra, lai risinājuma algoritms būtu skaidri redzams no avota teksta. Lai to izdarītu, jums ir jābūt līdzekļiem, lai izveidotu programmu ne tikai ar trīs vienkāršu operatoru palīdzību, bet arī ar līdzekļiem, kas precīzāk atspoguļo konkrēto algoritma struktūru. Šim nolūkam programmēšanā ir ieviests apakšprogrammas jēdziens - operatoru kopums, kas veic vēlamo darbību un nav atkarīgs no citām avota koda daļām. Programma ir sadalīta daudzās mazās apakšprogrammās (līdz 50 paziņojumiem - kritisks slieksnis, lai ātri izprastu apakšprogrammas mērķi), un katra no tām veic vienu no sākotnējā uzdevuma nodrošinātajām darbībām. Apvienojot šīs apakšprogrammas, ir iespējams veidot gala algoritmu nevis no vienkāršiem operatoriem, bet no pilniem koda blokiem, kuriem ir noteikta semantiskā slodze, un jūs varat atsaukties uz šādiem blokiem pēc nosaukuma. Izrādās, ka apakšprogrammas ir jauni programmētāja definētie valodas operatori vai darbības.

Spēja izmantot apakšprogrammas klasificē programmēšanas valodu kā procesuālo valodu.

Izmantojot apakšprogrammas, varat izstrādāt un izstrādāt lietojumprogrammu no augšas uz leju - šo pieeju sauc par dizainu no augšas uz leju. Pirmkārt, tiek piešķirtas vairākas apakšprogrammas, kas atrisina visplašākos uzdevumus (piemēram, datu inicializācija, galvenā daļa un pabeigšana), pēc tam katrs no šiem moduļiem tiek detalizēti aprakstīts zemākā līmenī, savukārt sadalot nelielā skaitā citu apakšprogrammu, un tas notiek līdz tiem, līdz viss uzdevums ir pabeigts.

Šī pieeja ir ērta ar to, ka tā ļauj personai pastāvīgi domāt tēmas līmenī, neapstājoties pie konkrētiem operatoriem un mainīgajiem. Turklāt dažiem kļūst iespējams nekavējoties neieviest apakšprogrammas, bet uz laiku atlikt, līdz tiek pabeigtas citas daļas. Piemēram, ja ir jāaprēķina sarežģīta matemātiska funkcija, tad šādam aprēķinam tiek piešķirta atsevišķa apakšprogramma, bet to īslaicīgi ievieš viens operators, kurš vienkārši piešķir iepriekš izvēlētu vērtību. Kad visa lietojumprogramma ir uzrakstīta un atkļūdota, varat sākt īstenot šo funkciju.

Ir arī svarīgi, lai mazās apakšprogrammas būtu daudz vieglāk atkļūdojamas, kas ievērojami palielina visas programmas vispārējo uzticamību.

Ļoti svarīga apakšprogrammu īpašība ir to atkārtota izmantošana. Integrētās programmēšanas sistēmas ir aprīkotas ar lielām standarta rutīnu bibliotēkām, kas var ievērojami palielināt produktivitāti, izmantojot kāda cita darbu, lai izveidotu bieži izmantotas rutīnas.

Pastāv divu veidu apakšprogrammas - procedūras un funkcijas. Tie atšķiras ar to, ka procedūra vienkārši izpilda paziņojumu grupu, un funkcija turklāt aprēķina kādu vērtību un pārsūta to atpakaļ uz galveno programmu (atgriež vērtību). Šī vērtība ir noteikta veida (tiek teikts, ka funkcija ir šāda veida).

Apakšprogrammas veic trīs svarīgus uzdevumus:

Likvidējiet nepieciešamību programmas tekstā daudzas reizes atkārtot līdzīgus fragmentus;

Uzlabojiet programmas struktūru, padarot to vieglāk saprotamu;

Palieliniet pretestību programmēšanas kļūdām un neparedzētām sekām programmas izmaiņu laikā.

Objektorientēta programmēšana

Astoņdesmito gadu vidū programmēšanā parādījās jauns virziens, kura pamatā bija objekta jēdziens. Līdz tam galvenos ierobežojumus iespēju izveidot lielas sistēmas noteica nesaskaņas datu programmā un to apstrādes metodes.

Apkārtējās pasaules reālajiem objektiem ir trīs pamatīpašības: tiem ir īpašību kopums, tie spēj dažādi mainīt šīs īpašības un reaģēt uz notikumiem, kas notiek gan apkārtējā pasaulē, gan pašā objektā. Tādā veidā programmēšanas valodās objekta jēdziens tiek īstenots kā īpašību kopums (šim objektam raksturīgās datu struktūras), to apstrādes metodes (apakšprogrammas rekvizītu maiņai) un notikumi, uz kuriem šis objekts var reaģēt un kas parasti noved pie objekta īpašību maiņas.

Iespēja radīt objektus programmās ir kvalitatīva ietekme uz programmētāju produktivitāti. Maksimālais lietojumprogrammu apjoms, kas kļuvis pieejams radīšanai 10 programmētāju grupai, vairāku gadu laikā ir palielinājies līdz miljoniem koda rindu, tajā pašā laikā ir izdevies sasniegt augstu programmas uzticamību un, galvenais, iepriekš izveidoto atkārtotu izmantošanu objektus citos uzdevumos.

Objektiem var būt vienāda struktūra un tie var atšķirties tikai pēc īpašību vērtībām. Šādos gadījumos programmā tiek izveidots jauns tips, pamatojoties uz viena objekta struktūru. To sauc par klasi, un katru konkrēto objektu, kuram ir šīs klases struktūra, sauc par klases instanci.

Objektorientētu programmēšanas valodu raksturo trīs galvenās īpašības:

1. Iekapsulēšana - datu apvienošana ar metodēm vienā klasē;

Programmēšanas valodu paaudzes

Programmēšanas nepieciešamība radās vēl pirms programmējamiem datoriem. Ir zināms, ka, piemēram, kopš 18. gadsimta ir ar koka dēļiem ieprogrammētas stelles, kurās pareizajās vietās tika izveidoti caurumi.

Programmēšanas attīstību veicināja 1945. gadā publicētā Džona fon Neimana ideja, kurā viņš aprakstīja datoru, kurā pati programma tiek glabāta atmiņā kopā ar datiem.

Pirmās paaudzes programmēšanas valoda ir mašīnas kods. Iekārtas kods sastāv no instrukcijām, kuras var izpildīt dators (procesors) (kā arī datiem, kas pieder šīm instrukcijām). Programmējot mašīnas kodā, programmētājam bija jāraksta sava programma binārā kodā, lai procesors to saprastu un izpildītu. Būtībā šāda programmēšana prasa labas zināšanas un izpratni par aparatūru, jo programmēšanas procesā ir jāzina, ko var darīt procesors, kur atrodas ieejas un izejas ierīces, kā arī kā ar tām sazināties. cik daudz laika tiks veltīts šai vai tai operācijai. Tādējādi mašīnas kods ir ļoti cieši saistīts ar aparatūru, kurā tiks palaista atbilstošā programma. Līdz šim mašīnas kods nav pazudis no datoriem, visas darbības zemā līmenī (aparatūras līmenī) joprojām notiek mašīnas kodā, t.i. Neatkarīgi no programmēšanas valodas, kurā programma ir rakstīta, tā galu galā tiek pārveidota par mašīnas kodu, ko aparatūra var saprast.

Asamblejas valodas tiek uzskatītas par otrās paaudzes valodām. Mašīnas koda gadījumā visa programmēšana notika binārajā kodā, un tā lasīšana un atkļūdošana bija ļoti laikietilpīga. Programmējot montāžas valodā, instrukcijas personai tiek pasniegtas saprotamā formā. Programmēšana pati par sevi ir ļoti līdzīga programmēšanai mašīnas kodā, jo instrukcijas ir tādas pašas kā mašīnas kodā (tikai citā formā - vārdu veidā). Asamblejas valodā rakstīta programma ir aptuveni šāda:

MOV AL, 19

PIEVIENOT AL, 4

Izeja 2

Šis koda gabals piešķir AL reģistra vērtību 19 (parasti vērtības tiek attēlotas ar cipariem heksadecimālā sistēmā), pievieno AL reģistra vērtībai skaitli 4 un pēc tam nosūta skaitli 2 uz izvadi 2. Rakstiskā programma tiek tulkots no montētāja mašīnas kodā un pēc tam procesors var sākt tā izpildi ...

Montāžas valodas un mašīnas kods tiek uzskatītas par zema līmeņa valodām.

Trešās paaudzes programmēšanas valodas jau sauc par augsta līmeņa valodām. Šādas programmēšanas valodas nav īpaši saistītas ar aparatūru. Tas nozīmē, ka programmētājam vairs nav ļoti precīzi jāzina ierīce un aparatūras funkcijas, bet viņš var būt salīdzinoši neatkarīgs no aparatūras, pēc tam šī programma ar dažāda veida rīku palīdzību tiek pārveidota tādā formā, kādā aparatūra var saprast. Precīzāk, kā tas tiek darīts, tiks aprakstīts vēlāk.

Lielākā daļa zināmo un izmantoto programmēšanas valodu ir trešās paaudzes valodas, piemēram:

FORTRAN (The IBM Mathematical FORmula TRANslating System) ir programmēšanas valoda, kas 1950. gados tika izstrādāta matemātiskiem skaitļošanas un zinātniskiem mērķiem.

COBOL (COmmon Business Oriented Language) - uz objektu orientēta programmēšanas valoda, kas izveidota 1959. gadā, galvenokārt biznesa vajadzību apmierinošu programmu rakstīšanai.

BASIC (Beginner's Universal Symbolic Instruction Code) - 1963. gadā izstrādāta valoda, kas sākotnēji tika izveidota, lai inženieri datoros varētu veikt dažādas simulācijas.

Pascal - 1970. gados izveidota programmēšanas valoda, kas tika izveidota, lai mācītu programmēšanu.

C - nosaukums cēlies no tā, ka šī valoda galvenokārt balstījās uz valodu ar nosaukumu B. Tā tika radīta operētājsistēmu rakstīšanai (daudzas ar UNIX saderīgas operētājsistēmas ir rakstītas šajā valodā), jau sen ir viena no populārākajām programmēšanas valodām .

C ++ ir orientēts uz objektu C.

Java ir programmēšanas valoda, kuras pamatā ir C ++.

Visual Basic, Delphi, Python, C # ir visas trešās paaudzes valodas. Daudzas trešās paaudzes programmēšanas valodas ir jaunākas (jaunākas) nekā dažas ceturtās un piektās paaudzes valodas.

4. paaudzes programmēšanas valodas ir veidotas tā, lai tās būtu viegli iemācīties un lietot. Šīs valodas parasti nav saistītas ar procedūrām un attiecas uz vienu pieteikumu. Ceturtās paaudzes programmēšanas valodas piemērs ir SQL (Structured Query Language). Tajā vairāk teikts par “ko darīt” un mazāk par “kā to darīt”. Piektās paaudzes valodas ir izveidotas mākslīgā intelekta sistēmu izstrādei un ar šo tēmu saistīto problēmu risināšanai.

Programmēšanas valodu pamatveidi.

Atšķirībā no programmēšanas valodu paaudzēm, bāzes tipi apraksta, kā valodu var programmēt. Galvenie pamata veidi ietver: procesuālās, funkcionālās un uz objektu orientētās programmēšanas valodas.

Procesuālās programmēšanas valodās programmēšanas valoda apraksta darbības un to izpildes secību, kā arī šīs darbības ir sadalītas grupās (apakšprogrammās). Procedūras savukārt veido koda struktūras, kuras var izmantot atkārtoti. Funkcionālās programmēšanas valodās viss risinājums ir aprakstīts, izmantojot funkcijas. Objektorientētās programmēšanas valodās problēma tiek atrisināta, izmantojot klasēs aprakstītās funkcijas un datu struktūras (angļu valodas klase). No katras klases varat izveidot objektu, kuram būs īpašību un / vai metožu kopums.

Rekvizīti ir vērtības, kuras objekts var saturēt un kuras var ietekmēt objekta darbību. Piemēram, pamatojoties uz klasi "konsoles logs", varat izveidot "console1" objektu, kas lietotājam būs redzams kā viens konsoles logs. Šim objektam ir dažas īpašības (parādīts, paslēpts, platums, augstums, teksta krāsa konsoles logā, fona krāsa utt.), Mainot šos rekvizītus, šajā konkrētajā gadījumā varat mainīt objekta izskatu.

Tajā pašā piemērā objektam var būt dažas metodes, piemēram, atsaucoties uz atbilstošo metodi, jūs varat uzrakstīt kādu tekstu konsoles logā, izlasīt lietotāja ievadīto tekstu kādā mainīgajā utt.

Otrs piemērs ir klases "teksta mainīgais", izveidojot objektu "ProstoText", pamatojoties uz šo klasi, izveidojot vienu teksta mainīgo, kura galvenais īpašums ir saglabātā teksta vērtība, bet patiesībā šim objektam ir vairāk īpašību ( piemēram, saglabātās teksta vērtības garums). Arī teksta mainīgajam jābūt noteiktam metožu kopumam (mainiet saglabātās vērtības rakstzīmes uz mazajiem, lielajiem burtiem, noņemiet dažas rakstzīmes utt.).

Tāpēc, aprakstot klases un manipulējot ar objektiem, ir iespējams sastādīt ļoti sarežģītas programmas un veikt dažādas darbības.

Mutiskās un apkopotās valodas

Pirms dators var izpildīt programmu, kas rakstīta augsta līmeņa valodā, tā ir “jātulko” datorā saprotamā valodā, ti. mašīnas kods. Šo tulkošanas procesu sauc par tulkošanu, bet tulkotāja programmatūru - par tulku. Tulkotājus iedala divās klasēs: kompilatori un tulki.

Apkopošana ir tad, kad programma mašīnas kodā (ko sauc par kompilatoru) pārvērš citu programmēšanas valodā rakstītu programmu mašīnas kodā. Pēc tam tiek izpildīts iegūtais programmas mašīnas kods. Apkopoto valodu piemēri ir C, Fortran, Pascal.

Interpretācija ir tāda, ka programma mašīnas kodā (tulks) ieraksta programmas failu iekšējā atmiņā un sāk to izpildīt pa rindām. Piemērs ir vecā BASIC valoda.

Programmas interpretācija ir aptuveni 10-200 reizes lēnāka nekā apkopotā koda izpilde. Turpretī interpretētās programmas atkļūdošana (kļūdu noņemšana no programmas) parasti ir vieglāka nekā tulkotās programmas gadījumā. Dažos piemērotos gadījumos un pie pieejamiem instrumentiem šīs atšķirības var būt daudz mazākas. Labs piemērs ir Java ar kodu, kas ir optimizēts un apkopots vidējā līmenī, ko izpildlaika laikā tulko Just-in-Time kompilators, lai tas atbilstu konkrētai aparatūrai.

Principā jebkurā valodā rakstītu programmu var gan interpretēt, gan apkopot.

Šobrīd programmēšanā ir daudz virzienu. Ikviens var atrast kaut ko pēc savas patikas, taču, lai to izdarītu, jums jāzina, ko tieši jūs darīsit savā jomā.

Tīmekļa lietojumprogrammu izstrāde

Šis virziens ir vērsts uz tīmekļa lietojumprogrammu (citiem vārdiem sakot, vietņu, bet tagad vietņu funkcionalitāte ir tik bagāta, ka tās var saukt par pilnvērtīgām lietojumprogrammām) izstrādi.

Tīmekļa programmēšanu var iedalīt aizmugurē (servera puses skriptu rakstīšana - PHP, Python, Ruby) un priekšgalā (lietotāja interfeisa izstrāde - Javascript, HTML, CSS).

Darbvirsmas lietojumprogrammu izstrāde

Programmatūras izstrāde dažādām operētājsistēmām. Visa programmatūra, ko mēs izmantojam ikdienas dzīvē. Ja vēlaties uzrakstīt savu fotoattēlu procesoru, audio atskaņotāju vai teksta redaktoru, šī ir vieta jums.

Servera lietojumprogrammu izstrāde

Tie ir dažādi spēļu serveri (jūsu iecienītākā Dotka, CS: GO), tērzēšanas pakalpojumi (Skype servera puse, ICQ, MSN), banku datu bāzes.

Mobilo aplikāciju izstrāde

Daudz Java lietojumprogrammu. VK, Viber, Yandex.Maps, tulkotāji, e-lasītāji.

Iegultā programmēšana

Interesanta programmēšanas nozare dažādām sadzīves tehnikām: putekļsūcējiem, ledusskapjiem, veļas mašīnām, atskaņotājiem, navigatoriem, elektroniskajiem svariem. Tas ietver zinātnes attīstību, izmantojot specializētas valodas, piemēram, MATLAB.

Sistēmas programmēšana

Dažādu aparatūras draiveru rakstīšana, operētājsistēmu "kodola" programmēšana. Starp citu, šeit ir iekļauta arī programmēšanas valodu kompilatoru un tulku izveide.

Spēļu izstrāde

Milzu nozare. Tas ietver spēļu izstrādi personālajiem datoriem, konsolēm un mobilajām ierīcēm.

Olimpiādes programmēšana un problēmu risināšana

Programmēšana dažādās "nepraktiskās" un ne parastās valodās (Pascal, Delphi), lai atrisinātu dažas oriģinālas problēmas, kurām nepieciešama nestandarta pieeja, atjautība un IQ virs 160.

Programmēšana grāmatvedības un finanšu produktiem

"1C: uzņēmums". Visa grāmatvedība Krievijā ir saistīta ar šo produktu. Bet nepietiek tikai zināt pašu valodu, ir svarīgi saprast grāmatvedības pamatus. Pluss ir tas, ka darba ir daudz, un jūs nepaliksit bez maizes.

Datu bāzes programmēšana

Nopietns virziens. Ja vēlaties izveidot datu bāzes, kas spēj uzglabāt miljardiem informācijas rindu par visiem VKontakte vai Facebook lietotājiem, un tajā pašā laikā nepalēnināt ātrumu - jūs esat šeit.

Zinātne

Zinātne un tas izsaka visu. Neironu tīkli, DNS struktūras modelēšana, satelīta palaišana, Lielā sprādziena simulācija.

Starp citu, nesen NASA vietne publicēja ziņas par programmētāja meklēšanu "senajā" Fortranas valodā, kas ir vairāk nekā 60 gadus veca. Programmētājam bija jāizstrādā programmas, lai kontrolētu automātiskās zondes Voyager 1 un Voyager 2, kuru programmatūra jau 1970. gados tika uzrakstīta Assembler, Fortran un COBOL. Nekad nevar zināt, kādas zināšanas var noderēt.