1. Процесът на транслация.
За да бъде използван новосъздаден ЕП от високо ниво, той трябва да се реализира чрез някой от преди това съществуващите и реализирани ЕП тоест в крайна сметка той трябва да бъде реализиран на машинния език, който е материализиран чрез хардуера на машината, а не чрез софтуер. За да бъде изпълняван ЕП от високо ниво, той трябва да може да се превежда на машинен език тоест написаните програмиста програми в текстов вид трябва да се преведат във вид, който може да се изпълни от компютъра.
а) Транслация - процесът на превеждане на текстовия код на програмата в изпълним код.
б) Транслатор - инструмент, който превежда текстовия код на програмата в изпълним код.
2. Компилатори и интерпретатори.
а) Видове транслатори:
- компилатор (compiler) - превежда цялата програма в програма на друг ЕП (обектен код / целеви език, object / target language).
- интерпретатор (interpreter) - чете текста на програмата и я изпълнява директно твърдение след твърдение.
3. Програмиране.
Дейности, които включват процеса на програмиране.
а) написване на програмата в текстов вид.
б) превеждане на текстовия код на програмата в изпълним.
в) изпълнение на програмата със съответните входни данни.
г) проверка за грешки в програмата и тяхното отстраняване.
д) модифициране на програмата, за да се адаптира към промените в света и нуждите на потребителите.
е) разширяване и допълване на функционалните възможности на програмата, за да бъде тя по-полезна и удобна за потребителите.
4. Програмни грешки.
При създаването на една програма могат да се допуснат три вида грешки.
а) Синтактични грешки - твърдения в програмата, които са грешни от синтактична гледна точка.
б) Грешки по време на изпълнението на програмата - програмни конструкции, които са синтактично правилни, но са безсмислени.
в) Логически грешки - част от програмата, която е синтактично правилна, има смисъл, но е грешна от гледна точка на действията, които програмата трябва да изпълнява.
5. Среди за програмиране.
а) Среда за програмиране - съвкупност от програмни средства и инструменти за разработка на програми на някакъв ЕП.
б) Предназначение.
- цялостна поддръжка на програмните дейности.
- улеснява всички етапи от разработването на програмите.
- осигурява създаването на високо-качествени, ефективни и надеждни програми.
в) Могат да включват:
- Редактори.
- Дебъгери.
- Компилатори.
- Свързващи редактори и други.
6. Среди за програмиране. Програмен редактор.
а) Предназначение - написване (кодиране) на текста на програмата и създаване на файловете, от които се състои тя.
б) Характеристики:
- улесняват кодирането, като предлагат избор между допустимите възможности при въвеждане на следващата конструкция според контекста, формиран до момента.
- подпомагат структурирането на текста и подобряват четливостта на програмата за човека.
- предупреждават за синтактични грешки, чрез форматиране на кода на базата на синтаксиса на
използвания ЕП.
7. Среди за програмиране. Транслатори и свързващи редактори.
а) Транслатори.
- предназначение - превежда програмата, написана с помощта на редактора на език, разбираем за машината и я записва във файл.
- характеристики: подпомага откриването и премахването на синтактични грешки; оптимизиращи транслатори; файлът, създаден от транслатора се нарича обектен код – предимно машинен код. Той притежава повечето от изграждащите блокове на програмния код освен системния код, който се намира във вградените библиотеки;
б) Свързващи редактори.
- свързва обектния код със съответния библиотечен код, т.е. свързването на изграждащите блокове в едно.
- създава изпълнимият файл.
8. Среди за програмиране. Зареждаща програма и дебъгери.
а) Зареждаща програма.
- предназначение - зарежда изпълнима програма, създадена от компилатора в паметта на компютъра с цел тя да бъде изпълнена.
- характеристики: тя е част от операционната система; след зареждането на програмата операционната система казва на процесора да започне изпълнението на последователността от инструкции от мястото в паметта, където сега се намира програмата
б) Дебъгери.
- предназначение - подпомага откриването и премахването на грешките по време на изпълнението на програмата и логическите грешки. Самият процес се нарича дебъгване. Дебъгърът позволява т.нар. трасиране (Tracing) на програмата. Трасирането включва
следене на състоянието на паметта (напр. стойност на променлива) при изпълнението
на програмните инструкции, така че цикълът от операции да може да се проследи и да
се открият грешките.
9. C++ програмиране.
Съчетава принципите на две програмни парадигми - процедурната и обектно-ориентираната.
Създаден от Строуструп (Dr Bjarne Stroustrup) през 80-те години в AT&T Bell Labs.
10. Основни лексикални елементи на програмите.
Лексикалните елементи са основни градивни елементи на програмите, които са значещи за
компилатора.
а) име, идентификатор (identifier) - последователност от символи, което служи за идентификация обикновено на програми (алгоритми), подпрограми (подалгоритми), елементи на данните и др.
б) ключова дума (keyword) - предварително дефинирани имена, които имат специално
предназначение при писане на програмите и не могат да бъдат използвани за други цели.
в) константа (constant) - стойност, която не се променя по време на изпълнение използва в процеса на изчисление.
г) операция (operator) - задава намирането на някаква стойност по дадени един, два или
три операнда (съответно едно дву три аргументна операция).
д) коментар (comment) - текст, който се игнорира от компилатора, но е полезен за програмиста.
е) препинателен знак (punctuator) – ! % ^ & * ( ) – + = { } | ~[ ] \ ; ' : " < > ? , . / #.
11. Основни елементи на ЕП от гледна точка на синтаксиса и семантиката.
Най-общо ЕП включва средства за описание на два структурни елемента.
а) Деклариране и дефиниране на данните - служи за определяне на компютърното представяне на входните и изходните данни и междинните резултати, на техния тип и структура, както и свързаните с тях изисквания за памет.
б) Деклариране и дефиниране на обработката - определя правилата за обработка на данните, как евентуално те се групират, както и последователността на тяхното прилагане чрез т.н. оператори (команди, statements) на ЕП.
12. Абстракции в ЕП.
а) Необходимост.
- компютрите нямаше да са толкова популярни ако всеки път, когато искаме да умножим две числа трябва да слизаме до нивото на машинното представяне.
- програмистите имат нужда да описват програмите по начин, който има смисъл за самите тях.
б) Същност.
Абстракциите в ЕП се използват, за да пресъздадат човешкото разбиране за данните и тяхната обработка, отделяйки го от компютърното разбиране.
13. Видове абстракции в ЕП.
а) Абстракции на данните - служат за изразяване свойствата на данните и тяхната функционалност.
- базови абстракции на данни - представяне на данните на базата на концепцията
за тип на данните. Те се наричат прости или примитивни типове данни.
- структурирани абстракции на данни - абстракции на съвкупности или свързани
стойности от данни. Те се наричат структурни типове данни.
б) Абстракции за контрол на управлението - предназначени са да управляват последователността на изпълнението.
- базови абстракции за контрол - оператори, които комбинират няколко машинни
инструкции в по-разбираемо абстрактно твърдение. Те се наричат прости оператори.
- структурирани абстракции за контрол - оператори, които разделят програмата
на групи от инструкции и управляват тяхното изпълнение. Те се наричат структурни оператори.
Няма коментари:
Публикуване на коментар