Дисциплини

3 Базово програмиране

Седмичен хорариум 2+2+2
Форма на контрол Изпит

Анотация


Дисциплината е ориентирана към фундаменталната подготовка на студентите от специалност КСТ. Целта е да даде на студентите знания и умения по програмиране с използване на езици от високо ниво и техните приложения.
Основните задачи са свързани с формирането на знания и умения за:

  • Техническото и програмно осигуряване на компютрите;
  • Организацията на операционни системи за персонални компютри;
  • Програмните алгоритми и блокови схеми;
  • Принципите на програмирането и проектирането на приложни програми;
  • Представянето на информацията и основните типове и структури от данни в програмните езици от високо ниво;
  • Програмните структури в езиците от високо ниво;
  • Принципите на структурното, модулното и обектното програмиране;
  • Работата с библиотеки от стандартни подпрограми.


Дисциплината осигурява следните дисциплини в учебния план на специалността:
“Синтез и анализ на алгоритми”, “Обектно-ориентирано програмиране 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. Побитови операции в езика С/С++. Поразредни операции. Приложни програми за драйвери.