Указания за курсов проект
[разширени]
1. Разучават се алгоритмите, реализират
се програми за решаване на задачите.
Програмите са на C/С++, компилатори: Dev-C++, Borland 3.1, DJGPP или MS
Visual C++ 6.0. Използва се стандартен вход и изход.
[Програмата трябва да работи от
конзола с пренасочване на входа и изхода. Затова всякакви "подсещащи"
или "подканящи" печати са излишни.]
2. Приготвят се входни и изходни файлове с
тестови
примери. Те включват различни данни:
- елементарни примери за тестване на програмата;
- минимални размери и тривиални случаи;
[За минимални и близки до
минималните размери на задачата, за нули на входа, еднакви числа и др.
такива, при които обикновено решението може да се пресметне и без
програма]
- максимални размери, евентуално свързани с различни типове данни;
[Как работи програмата при големи
размери на входа? Напр. 100, 1000, 10000, 100000 и т.н. Зависи ли
работата на програмата от различните входни данни, напр. може ли да се
намери пример,
при който размер 1000 минава, а при други входни данни размер 1000 не
минава?]
- примери за тестване на всички клонове на програмата;
[Сигурни ли сме, че при дадените
примери програмата минава по всички
клонове?]
- максимално трудни примери - по време и/или по памет.
[Да се дадат примери, при които
програмата спира да работи или работи
много дълго време.
Напр. при размерност 1000 работи, а при 1100 не работи, защото не
достига памет. Или
при 100 работи 1 мин, а при 120 вече за 3 мин не дава резултат. Или за
пример1
работи, а за пример2, който има същата размерност не работи и защо?]
3. Оформяне на проекта:
- файлове с програми *.h, *.cpp
- файлове с входни данни *.inp
- файлове с резултати *.out
- главен файл на проекта *.html съдържа:
- условието на задачата;
- кратко описание и сложност на алгоритмите;
- описание на примерите и резултатите;
- литература.
Да се използват само стандартни средства
за html файлове (вж. HTML Code Tutorial),
кодировка Windows-1251. Проектът
да може да се разглежда браузер, който не е MS IE -
например
Firefox, Netscape,
Mozilla, Opera и др.
4. Готовите проекти се представят и защитават
пред преподавателя. Препоръчва се те да бъдат изпратени по e-mail за
предварително преглеждане и одобрение.
Забележка.
INF296 и INF298 са пряко свързани с INF295 и INF297, за слушателите на
които тези указания са пределно ясни. За останалите мога да предложа
консултации с предварителна уговорка за час и място.