CSCB441 Семинар по програмиране на С++ за напреднали

Анотация

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

Предварителна програма

1. Техника на програмирането на C и C++ за състезания по програмиране
2. Основни техники за вход и изход в С и С++ :
- стандартен вход и изход; - пренасочване на входа и изхода;
- четене и записване в текстови файлове.
3. Цели числа, представяне в десетична и двоична бройни системи.
4. Прости числа. Мерсенови и съвършенни числа.
5. Рекурсия и итерация: - факториел; - редица на Фибоначи; - най-голям общ делител; - най-малко общо кратно.
6. Основни комбинаторни алгоритми: - пермутации; - вариации; - комбинации.
7. Оценка и сложност на алгоритми
8. Сортиране - общи положения; сортиране чрез сравнение
9. Сортиране чрез трансформация
10. Последователно търсене, двоично и фибоначиево търсене
11. Динамично оптимиране - прости случаи