Тема 15: Езици за програмиране. Езикът С++

Тема 15: Езици за програмиране. Езикът С++

1. Езици за програмиране.
Всяка програма представя алгоритъма във форма и вид , които могат да се възприемат и изпълнят от компютър.

Език за програмиране - език, предназначен за записване и разпространяване на компютърни програми.

Но компютърът може да възприема непосредствено само т. нар. машинен език. Най-близки до машинните езици са асемблерните езици, но използването им е трудно. По-удобни за използване са т. нар. езици за програмиране от високо равнище, които са по-близки до естествените човешки езици, а действията се записват по начин, близък до математиката.

2. Транслатори.
Процесът на превеждане на програмите от езика за програмиране на машинен език се нарича транслиране. То се извършва от специали програми, известни с името транслатори. Различаваме два вида транслатори:
а) Интерпретатори;
При тях се подбира подходяща последователност от машинни команди за всяка от конструкциите на езика, която се изпълнява веднага (конструкцията на езика се интерпретира). Ако по време на изпълнение на програмата съответната конструкция се достигне още веднъж, отново ще бъде потърсен превод.
б) Компилатори;
Компилаторите избират за всяка от конструкциите на езика за програмиране подходящ, предварително подготвен фрагмент на машинен език и от всички фрагменти съставят (компилират) цяла програма. В резултат на работата на компилатора се получава пълен превод на изходния текст на програмата на машинен език – изпълнима програма. По този начин не се налага превеждане на програмата всеки път, когато потребителят пожелае да я изпълни върху конкретни данни.
Компилаторите са по-сложни програми от интерпретаторите, но интерпретирането на програмата е по-бавен процес от изпълнението на компилираната програма.
Средите за програмиране включват език за програмиране, транслатор (интерпретатор или компилатор), свързващ редактор, изпълнителна система, система за проверка на програми, система за поддържане на библиотеки и текстови редактори.

3. Правила на езиците за програмиране.
Азбука на езика за програмиране се нарича определен набор от знакове, които се използват в конструкциите на езика.
Синтактичните правила определят кои последователности от знакове на азбуката на съответния език за програмиране са допустими езикови конструкции. Съгласно тези правила едни последователности са правилни, а други – не.
Семантичните правила определят смисъла на синтактично правилните конструкции, т. е. как те трябва да се разбират от човек и как ще бъдат интерпретирани от компютър.

4. Елементи на езиците за програмиране.
а) служебни думи
- съвкупност от запазени думи, използвани от езика за програмиране;
б) идентификатори - последователности от латински букви, цифри и долно тире, започващи с буква или долно тире;
в) изрази - числа, константи, променливи, свързани със знаци за операции;
г) оператори - задават определено елементарно действие;
д) подпрограми - всички подалгоритми, садаржащи се в алгоритъма, реализиран чрез програмата;
е) коментари - обяснения, които не се вземат под внимание от транслатора при изпълнение на програмата.

5. Език за програмиране С++.
Езикът С++ е създаден през 1983 г от датчанина Бьорн Строуструп като разширение на езика С.
Чрез текстовия редактор на дадена среда за програмиране на С++ се въвежда програмата, която се записва с разширение срр. След това програмата се компилира и ако бъдат открити грешки, компилаторът показва разположението и вида им. След поправянето им, отново се компилира, докато компилаторът покаже, че няма повече грешки. Накрая компилираният код заедно с частите от необходимите библиотеки се свързват в т. нар. изпълним файл, който има разширение ехе и може да се изпълни извън средата за програмиране.
Някои елементи на езика С++:
а) азбука
- главните и малки букви на латинската азбука;
- цифрите;
- специалните символи + - * / = ( ) [ ] { } | : ; “ ‘ < > , . _ ! @ # $ % ^ ~
б) служебни думи
Такива са следните запазени думи и те не могат да се използват като идентификатори:
asm, bool, break, catch, char, class, const, continue, default, delete, do, double, else, enum, explicit, extern, false, float, for, goto, if, inline, int, long, new, operator, private, protected,public, register, return, short, signed, sizeof, static, struct, switch, this, throw, true, try, typedef, typename, union, unsigned, using, virtual, void
в) коментари
Многоредови коментари се ограждат с /* и */, а едноредови коментари се предхождат от //.