CSCB110 Лабораторни занятия по програмиране

Анотация:

Основна цел на курса е да се овладеят принципите на програмирането и синтаксисът на езиците С и С++. Изясняват се основните структури за управление и принципите на модулното програмиране чрез езика С. Запознаването с условни оператори, числови сравнения и булеви операции е важна частот всеки начален курс по програмиране. Особено внимание се отделя на стратегии при обработване на входа и изхода и на справяне с грешки при вход. Следва запознаване с функции, концепция за предаване на параметри, документиране на функции, област на действие на променливите, рекурсивни функции.

Обектно-ориентираните езици за програмиране са основно средство за изграждане на големи и сложни софтуерни проекти. В това отношение езикът С++ е естествено разширение на С. Понятието за клас се въвежда чрез идеята за дефиниран от програмиста тип, капсулиращ данни и функции. Наследяването се разглежда като контролирано средство за разширяване на съществуващи класове.

Цели:

Да създаде у студентите необходимия подход при създаване на прости програмни конструкции, написани на езика C++. Запознаване с основни елементи на средата за програмиране Visual Studio 2012.

прочети още
Информатика

Преподавател(и):

гл. ас. Марияна Райкова  д-р
гл. ас. Христина Костадинова  д-р

Описание на курса:

Компетенции:

Успешно завършилите курса студенти:

1) знаят:

Основите на програмирането с езика С: стандартни типове данни, структури за управление, функции, масиви и структури.

Основни понятия от езика С++: класове, спецификатори за достъп, конструктори и декструктори, предефиниране на функции и операции, наследяване.

2) могат:

Да пишат прости програми на езика за програмиране С++, използвайки среда за програмиране


Предварителни изисквания:
Студентите да имат основни познания по компютърна грамотност

Форми на провеждане:
Редовен

Учебни форми:
Лекция

Език, на който се води курса:
Български

Теми, които се разглеждат в курса:

1.Запознаване със средата за програмиране. Създаване на проект за конзолно приложение. Директиви за включване на библиотеки. Програма с линейна структура. Примерни задачи: “Hello”, извеждане на символни и текстови литерали, въвеждане и извеждане на текст и числа.

2. Аритметични изрази – особености. Неявно и явно преобразуване на типове. Примерни задачи: Целочислено делене с и без запазване на дробната част на резултата, проверка за делимост на цели числа, получаване на псевдослучайни числа – цяло в зададен интервал, реално в интервал [0,1).

3.Структури за управление. Примерни задачи: обработка на въвеждани от конзолата числови редици – минимален и максимален елемент, брой, сума, произведение, средно аритметично.

4. Масиви. Примерни задачи: обработка на числови редици, предварително въведени от конзолата в едномерен масив, вариант на същата задача с конзолно меню и многократно изпълнение.

5.Указатели. Динамични масиви

6. Решаване на задачи за масиви и редове

7.Функции за работа със символни низове в С. Inline функции. Рекурсивни функции. Задачи

8.Разделно компилиране. Създаване на заглавни файлове. Поделяне на константи и променливи между модули. Задачи

9.Функции. Примерни задачи: сортиране на числов масив чрез пряка селекция. Библиотека cmath (math.h). Задачи

10. Структури. Примерни задачи: запълване на масив от дефинирана структура и сортиране на масива по различни полета.

11. Класове. Примерни задачи: клас “двумерен вектор” с операции, представени чрез функции.

12. Класове. Примерни задачи: клас “двумерен вектор” с операции, представени чрез предефинирани оператори.

13. Решаване на задачи с функции и класове

Литература по темите:

Основна

1. Шилдт Х., Практически самоучител по С, Софтпрес, 2001

2. Шилдт Х., Практически самоучител по С++, Софтпрес, 2001

3. Eckel B., Thinking in C++, 2nd edition, v.1,v2, http://mindview.net/Books/TICPP/ThinkingInCPP2e.html

Допълнителна

1. cplusplus.com - The C++ Resources Network - http://www.cplusplus.com/

Средства за оценяване:

ПИСМЕНИ ЗАДАЧИ 40%

ПРАКТИЧЕСКА ЗАДАЧА 50%

ПОРТФОЛИО 10%