Поправителен изпит за ниво 3, 09:00, Вариант 2
Указания
Подготовка на мястото за работа
0. На много от компютрите в залите на ФМИ, инсталираната антивирусна програма (AVG) създава проблеми при работа с Visual Studio и Code::Blocks (например блокиране на работата на компилатора, debugger-а и т.н.). Преди да започнете работа, моля изключете AVG. Това става като намерите иконата на AVG в System Notification Area, натиснете върху нея с десния клавиш на мишката и след това натиснете ON/OFF бутона. След изключването, ако вече сте пуснали средата за разработка, затворете я и я стартирайте отново.
1. Проверете дали предпочитаната от Вас среда за разработка (Visual Studio или Code::Blocks) е инсталирана на компютъра, на който ще работите и я стартирайте.
2. В средата създайте празен проект за задачата, по която ще работите. Когато правите проекта, сложете го в подходяща директория, така че:
- Да имате права за писане в нея (напр. Desktop, My Documents и т.н.);
- Да можете лесно да я намерите, когато в края на изпита предавате файловете.
3. За да може да тествате средата и компилатора, създайте .cpp файл в проекта и копирайте в него следната програма:
#include <iostream>
int main()
{
std::cout << "Hello world!\n";
return 0;
}
Компилирайте проекта и стартирайте получения файл, за да се подсигурите, че средата ви е конфигурирана правилно и всичко работи. Внесете някаква промяна в кода и компилирайте отново. Отново проверете дали всичко работи коректно.
4. Проверете дали в средата, която ще използвате, работи дебъгера.
5. Ако срещнете някакви проблеми с компютъра, на който работите (напр. средата не е инсталирана или не работи коректно), моля обърнете се към преподавателите, за да смените компютъра си още преди началото на изпита.
6. По време на изпита, системата показва оставащото време за работа. Обърнете внимание, че в това време трябва както да решите задачата, така и да я предадете. След изтичане на времето, формата за предаване се деактивира и след това работата Ви няма да се приеме! Препоръчваме Ви да отделите поне 5-10 минути в края на изпита за предаване на решението си.
7. По време на изпита ще бъде спрян достъпа до Интернет в залата. Моля, не затваряйте прозореца с условието на задачата.
8. Преди започването на изпита, пригответе своята студентска книжка или лична карта, за да може да се направи проверка на самоличността на всеки от явяващите се.
Провеждане на изпита и предаване на работата
1. За задачата от изпита трябва да предадете точно един .cpp файл. Файлът трябва да се качи директно, без да се компресира.
2. При започването на изпита ще видите линк, от който трябва да свалите комплект файлове, върху които да работите. Един от тях е файл с разширение .cpp, в който трябва да попълните решението си, а останалите са помощни файлове, с които можете да тествате работата си. Свалете тези файлове, сложете ги в директорията на проекта, който вече сте създали и ги добавете към него. Те трябва да са единствените файлове в проекта ви.
3. Файлът, върху който трябва да работите и който трябва предадете се намира в комплекта. Той е с име в следния формат:
fnNNNNN_prob2_oop.cpp
Когато го свалите, на мястото на NNNNN в името му, поставете вашия факултетен номер. Например ако вашият факултетен номер е 12345, файлът трябва да се казва fn12345_prob1_up.cpp.
4. Вътре във файла ще откриете шаблон подобен на показания по-долу. В него попоълнете името, факултетни номер и специалността си. Докато работите върху задачата, този коментар трябва да остане най-отгоре във файла и кодът на решението ви трябва да бъде след него.
/////////////////////////////////////////////////////////////
//
// Author: попълнете името си тук
// FN: попълнете факултетния си номер тук
// Program: изберете коректното: Информатика, Информационни системи, Компютърни науки, Софтуерно инженерство
// Date: 25.08.2017
//
5. Освен .cpp файла, ще получите и няколко .h файла, които съдържат тестовете за задачата. От вас не се изисква да правите нищо по тези файлове. Те позволяват да проведете автоматични тестове с решението си.
6. Най-отдолу, в края на .cpp файла ще намерите код подобен на този:
//------------------------------------------------- // // ВАЖНО: Редовете по-долу правят възможно изпълнението // на тестовете за задачата. Не ги променяйте и не пишете // код под този коментар. Напишете решението си над чертата // преди този коментар. // // Този ред включва тестовете за задачата, не го изтривайте #include "prob1-tests.h" int main() { //------------------------------------------------------------------------- // // ВАЖНО: Преди предаване на решението, моля премахнете коментара от дадения по-долу ред, // за да активирате автоматичните тестове за решението си. // //------------------------------------------------------------------------- // RunTests(); return 0; }
Както е описано в коментара, не променяйте въпросните редове, а напишете решението си преди тях.
7. Ако искате, можете да променяте кода във функцията main() както прецените за добре, но не изтривайте реда, който пуска тестовете.
8. Преди да предадете работата си, премахнете коментара от реда, който извиква функцията RunTests() и предайте така.
9. Можете да пуснете тестовете по всяко време на изпита, като за целта просто махнете коментара пред реда RunTests();
10. ВАЖНО: Тестовете ще работят само ако сте написали всичко, което се изисква от задачата. Ако не сте написали например някой клас или сте забравили да реализирате някой метод или сте объркали някое име, те няма да работят и кодът няма да се компилира. Така ще знаете, че сте допуснали грешка. Затова извиквайте тестовете едва след като мислите, че вече сте готови с решението.
Разрешен брой опити: 2
За да започнете този тест, трябва да знаете паролата за теста
Времеви лимит: 1 час 30 мин.
Метод на оценяване: Най-висока оценка