Поправителен изпит за ниво 3, 10:45, Вариант 3
Указания
Подготовка на мястото за работа
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. Преди започването на изпита, пригответе своята студентска книжка или лична карта, за да може да се направи проверка на самоличността на всеки от явяващите се.
9. Преди започването на изпита, всички мобилни телефони и други електронни устройства (таблети, "умни" часовници и т.н.), трябва да бъдат напълно изключени (тоест НЕ трябва да са в standby режим, самолетен режим, със загасен екран и т.н., а трябва да бъдат напълно спряни и да не работят). По време на изпита те трябва или да са прибрани в чантата ви или да се сложат зад монитора, на който работите, с екрана надолу. Ако по време на изпита, във вас бъде открито работещо устройство, работата ви ще бъде анулирана.
Провеждане на изпита и предаване на работата
1. За задачата от изпита трябва да предадете точно един .cpp файл. Файлът трябва да се качи директно, без да се компресира.
2. При започването на изпита ще видите линк, от който трябва да свалите комплект файлове, върху които да работите.
3. Един от файловете в комплекта е с разширение .cpp. Неговото име е в следния формат:
fnNNNNN_prob1_oop.cpp
Това е файлът, в който трябва да работите и който трябва да предадете. Цялото ви решение трябва да се събере в този файл.
След като го свалите, на мястото на NNNNN в името му, поставете вашия факултетен номер. Например ако вашият факултетен номер е 12345, файлът трябва да се казва fn12345_prob1_up.cpp.
4. Освен .cpp файла, ще получите и няколко .h файла, които съдържат тестовете за задачата. От вас не се изисква да правите нищо по тези файлове. Те позволяват да проведете автоматични тестове с решението си.
5. Свалените от вас файлове (общо три на брой - един .cpp файл и два .h файла) добавете в проекта си. Те трябва да са единствените файлове в проекта.
6. Отворете .cpp файла. Най-отгоре в него ще откриете шаблон подобен на показания по-долу. В него попълнете името, факултетния номер и специалността си. Докато работите върху задачата, този коментар трябва да остане най-отгоре във файла и кодът на решението ви трябва да бъде след него.
/////////////////////////////////////////////////////////////
//
// Author: попълнете името си тук
// FN: попълнете факултетния си номер тук
// Program: изберете коректното: Информатика, Информационни системи, Компютърни науки, Софтуерно инженерство
// Date: 25.08.2017
//
7. Най-отдолу, в края на .cpp файла ще намерите код подобен на този:
//------------------------------------------------------------------------- // // ВАЖНО: Преди предаване на решението, моля премахнете коментара от дадения по-долу ред, // за да активирате автоматичните тестове за решението си. // //------------------------------------------------------------------------- //#include "prob3-tests.h" #include "UnitTestFramework.h" int main() { //------------------------------------------------------------------------- // // ВАЖНО: При предаване на работата във тялото на функцията main не трябва да се // изпълнява нищо друго освен функцията RunTests(). // //------------------------------------------------------------------------- RunTests(); return 0; }
Tози код трябва да остане в края на файла. Вашето решение трябва да се разпише преди него.
8. Ако искате, можете да променяте кода във функцията main() както прецените за добре, но при предаването на работата ви, тя трябва да изглежда точно така, както е била в оригиналния файл.
9. Преди да предадете работата си, премахнете коментара от #include реда, който включва тестовете.
10. Както е написано в коментарите, можете да пуснете тестовете по всяко време на изпита, като за целта просто махнете коментара пред съответния #include ред.
10. ВАЖНО: Тестовете ще се компилират само ако сте написали всички класове и член-функции, които се изискват от задачата. Ако например не сте разписали някой клас или сте забравили да реализирате някой метод или сте объркали някое име, те няма да работят и кодът няма да се компилира. Така ако тестовете не минават, ще знаете, че сте допуснали грешка.
Attempts allowed: 2
To attempt this quiz you need to know the quiz password
Time limit: 1 hour 30 mins
Grading method: Highest grade