Анотация
Дисциплината е ориентирана към фундаменталната подготовка на студентите от специалност КСТ. Целта е да даде на студентите знания и умения по програмиране с използване на езици от високо ниво и техните приложения.
Основните задачи са свързани с формирането на знания и умения за:
- Техническото и програмно осигуряване на компютрите;
- Организацията на операционни системи за персонални компютри;
- Програмните алгоритми и блокови схеми;
- Принципите на програмирането и проектирането на приложни програми;
- Представянето на информацията и основните типове и структури от данни в програмните езици от високо ниво;
- Програмните структури в езиците от високо ниво;
- Принципите на структурното, модулното и обектното програмиране;
- Работата с библиотеки от стандартни подпрограми.
Дисциплината осигурява следните дисциплини в учебния план на специалността:
“Синтез и анализ на алгоритми”, “Обектно-ориентирано програмиране 1 част”, “Обектно-ориентирано програмиране 2 част”, “Програмни системи” и др.,
Съдържание
Тема 1. Обща структура и функциониране на съвременния компютър. Видове данни и операции върху тях. Понятие за изчислителен процес и неговото представяне. Алгоритмични преходи и основни алгоритмични структури. Средства за описание на алгоритмите. Езици за програмиране. Проектиране на програми.
Тема 2. Програмен език С/С++. Синтаксис и семантика. Деклариране на данни. Константи и променливи. Изрази и оператори. Оператор за присвояване. Модификатори и преобразуване на типове на данни. Аритметични оператори. Понятие за функция. Стандартни функции.
Тема 3. Предпроцесорни директиви. Въвеждане и извеждане на данни. Входно-изходни потоци. Основни функции за вход/изход на данни. Форматни спецификатори. Форматиращи флагове.
Тема 4. Оператори за управление в езика С/С++. Логически изрази, операции и операции за сравнение. Оператори за управление на прехода. Оператори if и оператор switch. Видове цикли. Оператори за цикъл for, while, do...while. Оператори break и continue. Функция exit.
Тема 5. Функции. Глобални и локални променливи. Видимост на променливите. Съглашение за предаване на параметри и връщане на резултати. Достойнства и недостатъци на структурираните програми.
Тема 6. Масиви. Подреждане на елементите на масиви в ОП. Инициализиране на масиви. Алгоритми, обработващи масиви. Многомерни масиви. Масиви и финкции.
Тема 7. Символни низове. Тип string. Разлика между C-String и клас String. Стандартни функции за работа със символни низове. Стрингови процеси. Масиви от низове.
Тема 8. Указатели. Връзка между указател и променлива. Динамични променливи. Операции с указатели. Масиви от указатели. Използване на указатели като параметри.
Тема 9. Структури. Инициализация на структури. Достъп до елементите на структура. Масиви от структури. Указатели към структури. Обединения.
Тема 10. Файлове и потоци. Файлова организация. Режими за достъп. Функции за работа с файлове.
Тема 11. Рекурсия. Дефиниция за рекурсия. Изпълнение на рекурсивни извиквания. Стек. Рекурсия и итерация.
Тема 12. Побитови операции в езика С/С++. Поразредни операции. Приложни програми за драйвери.