CITB107 Програмиране

Учебна програма, график за лекциите и упражненията, учебни материали [2020/2021]


Тема на лекцията
вторннк

Примерна тема на упражнението
1
Увод. Програмн езици С и С++.  Алгоритми
Анатомия на компютър. Компилиране на проста програма. Програмни езици. Грешки. Алгоритми.
6.10

Операционна система Ubuntu. Инсталиране и основни дейности с нея. Работа с конзола (текстов терминал). Текстов редактор. Компилатор. Написване, компилиране и изпълнение на програма на  С++. Компилиране на прости програми.  Среди за програмиране в MS Windows -  Dev-C++ || Code::Blocks
2
Основни типове данни
Числени типове; вход и изход; операция присвояване; константи; аритметика; форматиране на изхода
Задачи за самостоятелна работа
13.10

Числени типове, представяне на числата в компютъра; вход и изход. Underflow, overflow, грешка от закръгляне. Присвояване; константи; аритметика. Форматиране на изхода.
3
Низове  и обекти
Низове; конструиране на обекти; използване на обекти; обекти от реалния свят.
20.10

Низове. Конструиране на обекти; използване на обекти; обекти от реалния свят.

4
Основни  управляващи оператори
Оператор if и if/else; оператори за сравнение; проверка на входа; прости цикли; обработка на входна редица; използване на булеви променливи
27.10

Оператори if и if/else; оператори за сравнение; сравняване на числа тип double; проверка на входа. Цикъл while; обработка на входна редица; използване на булеви променливи.
5
Тест 1
Бланка за попълване на индивидуален тест
3.11
(дистанционно)


6
Функции  - I
Функциите като черни кутии; писане на функции; коментари; връщани стойности; параматри; странични ефекти; процедури
10.11
(дистанционно)

Използване на функции; писане на функции; коментари; връщани стойности; параматри; странични ефекти, 
7
Функции  - II
Параметри-псевдоними; област на действие на променливи; глобални променливи; стъпково прецизиране; от псевдокод към код.
Задачи за упражнения (на английски)
Задачи за упражнения
Задачи за самостоятелна работа
17.11
(дистанционно)

Параметри-псевдоними; област на действие на променливи; глобални променливи.


8
Класове
Откриване на класове; интерфейс; капсулиране; член-функции; конструктори по подразбиране и с параметри; достъп да членове-данни; сравняване на член-функции с обикновени функции
Задачи за самостоятелна работа
24.11
(дистанционно)

Първо контролно



9
Управляващи оператори
Няколко алтернативи; вложени клонове; булеви операции; закони на DeMorgan. Цикли for и do; вложени цикли.
1.12
(дистанционно)

Класове. Член-функции и данна на класа. Параметри на член-функции и обикновени функции.

(почивен ден)
8.12


10
Тест 2
Бланка за попълване на индивидуален тест
15.12
(дистанционно)

Оператор if - алтернативи, вложени оператори. Цикли for и do; вложени цикли; обработка на текстов вход.
11
Вход, симулации и тестване
Обработка на текстов вход; симулации; единични тестове; избор на тестове; оценка на тестове; макрос assert; проследяване на програма.
Задачи за упражнения (на англйски)
22.12
(дистанционно)

Проверка на програми. Проследяване на работата на програмата. Използване на дебъгер.

12
Вектори
Използване на вектори за съхраняване на данни. Индекси. Вектори като параметри и върнати стойности. Успоредни вектори
Задачи за самостоятелна работа
5.01
(дистанционно)

Използване на вектори. Вектори като параметри и върнати стойности на функции. Успоредни вектори. Прости алгоритми за вектори.


13
Масиви
Дефиниране и използване на масиви. Масиви като параметри на функции. Масиви от символи. Двумерни масиви.
12.01
(дистанционно)

Използване на масиви. Масиви като параметри на функции. Масиви от символи. Двумерни масиви.

14
Указатели
Дефиниране и стойност на указател. Динамична памет. Използване на указатели в С++. Масиви и указатели. Указатели и С-низове.
19.01
(дистанционно)

Указатели. Динамична памет. Масиви и указатели. Указатели и С-низове.
15
Тест 3
Бланка за попълване на индивидуален тест
26.01
(дистанционно)

Второ контролно

Семестриален изпит:
-- поправка на тест 1, 2 или 3;
-- Тест 4 && устен изпит.
Бланка за попълване на индивидуален тест
8.02.2021, понеделник, 8:00
(дистанционно)