Loading...
a_rusenov avatar a_rusenov 1103 Точки

[C Programming] Примерна изпитна тема и информация за изпита

Здравейте,

Качен е примерен изпит в страницата на курса, както и в Judge системата.


Задачките са малко по-обемисти отколкото ще бъдат на самия изпит. Форматът на задачите ще е същият:

  • Задача с цикли, if-else, switch, използване на подходящи типове данни, т.н. 
  • Задача със стрингове и управление на паметта 
    • до 70т. с авоматична оценка от Judge
    • пропорционално до 30т. при ръчна проверка с Valgrind при липса на грешки - решението не трябва да има memory leaks, buffer overflows или други грешки, които Valgrind би могъл да засече
  • Задача с побитови операции
  • Задача за работа с файлове - проверява се изцяло ръчно
    • 70т. ако работи коректно
    • 30т. ако Valgrind не открие грешки (писане извън буфер, незатворени файлове)

Максималният резултат от всяка една задача е 100 точки (общо 400). При втора и четвърта ще се проверява последното изпратено решение за съответната задача. 


Особености на Judge: 

  • getline() не е стандартна C фукнция и не се поддържа в Judge - решението е да си я напишете сами (имали сме го в домашното)
  • long е 32-битов, но все пак се поддържат int64_t и long long типовете, които са гарантирано 64-битови
  • При присвояване на void* трябва изрично да кастваме към съответния тип, например:
char *text = (char*) malloc(128);

Забранено е ползването на C++.

Задачите са с качени тестове и решения. Моля пишете тук, ако откриете грешки или пропуски.

Изпитът ще го решим на подготовката, предвидена в петък. :)

Тагове:
15
C Programming 02/11/2015 15:48:31
Filkolev avatar Filkolev 4482 Точки

Колеги, отворих няколко изпита по Advanced C# за С++ код. Може да ги решавате за подготовка. Според мен особено полезни биха били задачите от регекс (за задачата със стрингове), макар да е малко заигравка да се решават без регулярни изрази.

3
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.