|
|
Факултет по математика и информатика - Езици за програмиране |
|
Информатика (бакалавър) редовно обучение | изпит | | | Исторически преглед на езиците за програмиране.Основни методи за описание на синтаксиса и семантиката на езиците за програмиране. Лексикален и синтактичен анализ. Дизайн на основните конструкции в императивните езици за програмиране – променливи, типове от данни, изрази, оператори за присвояване, управляващи оператори, подпрограми, абстрактни данни. Особености на обектно-ориентираното програмиране – наследяване и динамично свързване. Паралелно програмиране. Прихващане на изключения. Функционално програмиране. Логическо програмиране. | | - Категории езици за програмиране. Императивни езици. Декларативни езици. Процедурни езици. Приложни езици. Функционални езици. Потокови езици. Логически езици. Езици с ограничения (условия). Обектно-ориентирани езици. Паралелни езици. Езици от 4-то поколение. Езици за заявки. Езици за спецификации. Асемблерни езици. Междинни езици. Метаезици.
- Еволюция на езиците за програмиране.
- Синтаксис и семантика на езиците за програмиране. Формални методи за описване на синтаксиса. Атрибутни граматики. Описване на значението на програмите.
- Лексически и синтактичен анализ. Видове схеми за парсинг (рекурсивни, анализ отдолу-нагоре и др.).
- Имена, свързване, типове и обхват. Променливи. Проверка на тип. Съвместимост на типове. Силни типове. Обхват и продължителност на съществуване. Константи. Инициализация на променливи.
- Типове от данни. Примитивни типове от данни. Символни типове. Потребителски типове. Масиви. Записи. Множества. Указатели.
- Изрази и оператори за присвояване. Аритметични изрази. Преобразуване на типове. Релации. Логически изрази.
- Управляващи оператори. Съставни оператори. Оператори за избор. Итеративни оператори. Оператори за безусловен преход.
- Подпрограми. Основи. Локална среда. Методи за предаване на параметри. Предефинирани подпрограми. Независимо компилиране. Функции. Достъп до нелокалната среда. Предефиниране на оператори.
- Използване на подпрограми. Семантика на извикване и връщане на резултат.
- Абстрактни типове данни. Херметизация. Дизайн. Параметризирани абстрактни типове данни.
- Езици за обектно-ориентирано програмиране. Основни понятия – клас, обект, наследяване, статично и динамично свързване, херметизация, полиморфизъм. Предимства.
- Паралелизъм. Паралелизъм на ниво подпрограма. Семафори. Монитори. Предаване на съобщения. Паралелизъм на ниво оператор.
- Прихващане на изключенията.
- Езици за функционално програмиране. Математически функции. Основи. Основни понятия. Механизъм на оценяване. Приложения.
- Езици за логическо програмиране. Предикатно смятане и доказване на теореми. Метод на резолюцията. Основни елементи. Механизъм на възврат. Приложения.
|
|
|
|
|
|
|
© 2009 ФМИ |