Николай Киров
Преподаване
Курсове за 2003/2004 учебна година
Програмиране за напреднали I - INF295

Учебна програма

1. Числа. Прости числа - 7.10.2003
Брой цифри на естествено число [33];
Сума от цифрите на естествено число;
Брой на цифрите на произведение [1.1.2-39];
Проверка дали дадено число е просто [41] - 2 варианта;
Теорема на Оперман - съществува просто число между n2 и (n+1)2 [41] ;
Решето на Ератостен [42] - 3 варианта;

Задача: Да се напише програма за намиране на простите числа в зададен интервал [a,b] като се използва, че 2.3.5=30 и че простите числа от вида 30k+r са само 8 за дадено k.

Диофантово уравнение с 2 неизвестни [1.159];
http://www.math.bas.bg/~nkirov/2003/contestSWU/HTMLS/taskC.htm
http://www.math.bas.bg/~nkirov/2003/contestSWU/HTMLS/taskE.htm
http://www.math.bas.bg/~nkirov/2002/5cp/prime.html


2. Рекурсия и итерация - 14.10.2003
Алгоритъм на Евклид [1.2.3]

Задача: Да се напише програма за намиране на НОД на n естествени числа.

Хипотеза: За естественото число a дефинираме редицата a0= aak+1= ak/2, ако ak е четно или ak+1= 3ak+1, ако ak е нечетно. Ако някое  ak = 1, то тази стойност се счита за край на редицата. Всяко естествено число a генерира крайна редица.

Хипотеза на Голдбах [1.1.3]
Всяко цяло четно число може да се представи като сума на две прости числа.

Стандартен вход и изход; пренасочване на входа и изхода. (най-долу на страницата)

Четене и записване в текстови файлове.


3. Основни комбинаторни алгоритми [1.3] - 21.10.2003
Пермутации [1.3.1] генериране
Вариации [1.3.2] генериране
Комбинации [1.3.3] генериране
Допълнение:  Реализация на Паскал + описание

Пети междууниверситетски турнир по програмиране
19 май 2002 г. Задача 1 Индекс на Шапли-Шубик

Междууниверситетско състезание по програмиране
24 март 2002 г. Задача 3 Политическа сила


4. Оценка и сложност на алгоритми [1.4] - 28.10.2003
Размер на входните данни
Асимптотична нотация
Определяне на сложност на алгоритъм


5. Оценка и сложност на алгоритми [1.4.8] + Тест_1 - 4.11.2003
Определяне на сложност на алгоритъм - логаритмична и рекурсия


6. Разделяй и владей - намиране на k-тия по големина елемент [7.1] - 11.11.2003


7. Разделяй и владей - бързо умножение на дълги числа [7.7] - 18.11.2003


8. Разделяй и владей - циклично преместване на елементите на масив [7.10] - 25.11.2003


9. Състезание_1 - 16.12.2003 от 14:40 до 17:00 часа


Нов график от 16.12.2003

10. Динамично оптимиране - задача за раницата [8.2.1] - 23.12.2003 от 14:40 до 17:00 часа

11. Динамично оптимиране - най-дълга обща подредица, сравнение на символни низове [8.2.6, 8.2.8] - 6.01.2003 от 14:40 до 17:00 часа

12. Тест_2 + динамично оптимиране - числа на Фибоначи и биномни коефициенти [8.3.1, 8.3.2] - 13.01.2004 от 14:40 до 17:00 часа

13. Състезание_2 - 20.01.2004
 

Забележки.
1. Числата в [квадратни скоби] са препратки към параграфи/задачи и/или страници на книгата на Програмиране = ++Алгоритми;


Последна промяна на 20 януари 2004 г.