Форум за въпроси

Домашно 2

Домашно 2

by Гален Георгиев -
Number of replies: 8

На първа задача теста е грешен. На 10та задача единия ред има допълнителен интервал накрая и ако не триете интервалите в файловете, ще  връща грешни резултати. Също така ще е хубаво да се дават на всички числа някакви ограничения ( както долни, така и горни ), за да се знае какви типове и колко големи масиви трябват, а не да гадаем :}

ПП. На първа задача лицето с точност до коя цифра след десетичната запетая трябва да се взема? :)

In reply to Гален Георгиев

Домашно 2

by Никола Божинов -

Аз имам още един въпрос за първа задача. Какво да извеждаме, ако има няколко триъгълника с най-голямо лице? Номерът на първия, на последния, на всички такива или какво?

 

In reply to Никола Божинов

Re: Домашно 2

by Трифон Трифонов -

Ако има повече от един триъгълник с най-голямо лице, няма значение номера на кой от тях ще изведете.

В тестовете няма да има такъв случай.

In reply to Гален Георгиев

Re: Домашно 2

by Трифон Трифонов -

Благодаря за забележките.

За първа задача се обадиха колегите още във вторник, но чак сега поправих теста. Също изтрих интервала от 10 задача, макар че не би трябвало да повлияе на тестовия резултат.

На повечето задачи са дадени ограничения за числата, там където не е указано може да се подразбира че целите числа се побират в int, а за дробните е достатъчна точност double. Изключение прави последната задача 10, където наистина е необходимо да се добави ограничение, затова допълних, че n < 10000.

Все пак това са задачи за домашно по УП, а не за състезание, така че тестовете ще бъдат съобразени и няма да експлоатират проблеми, породени от загуба на точност при закръгляне или препълване на типа.

Поздрави,
  Т. Трифонов

In reply to Трифон Трифонов

Re: Домашно 2

by Гален Георгиев -

За 10 задача 10000?! Това е невъзможно да се напише... Само броят на разбиванията за n = 100 са повече от 1 милярд и са нужни минимум 10 минути да изпринти всички числа :}

ПП. Какво стана с първото домашно?

In reply to Гален Георгиев

Re: Домашно 2

by Ангел Ангелов -

'ъм.. 10000? Струва ми се малко множко

(освен ако не е в двоична бройна система, тогава е гениално) :D

In reply to Ангел Ангелов

Re: Домашно 2

by Трифон Трифонов -

Радвам се, че има толкова наблюдателни колеги :)

Не мога да се съглася с Гален, че "това е невъзможно да се напише". Програмата може да се напише да работи коректно не само за n = 10000, но и за n = 1000000. Друг е въпросът, че изпълнението ѝ наистина ще отнеме ужасно много време, толкова много, че не е ясно дали ще приключи преди края на вселената (поне ако се изпълнява на съвременни компютри). В това отношение и двамата колеги са напълно прави, че горната граница е доста пресилена.

Тъй като ние (а сигурно и вие) ще проверяваме програмата главно с тестове, реалистични стойности, за които програмата завършва достатъчно бързо и може да отпечата резултата от изпълнението си са по-скоро двуцифрени стойности на n.

In reply to Трифон Трифонов

Re: Домашно 2

by Гален Георгиев -

Имам впредвид, че е невъзможно да се напише да работи ефективно. Все пак, няма смисъл да се прави софтуер, който ще забива машината, дори и да работи коректно в някакви граници :)

In reply to Гален Георгиев

Re: Домашно 2

by Боян Киров -

И аз бих се съглсил с теб и дори бих добавил че напрактика доста често се оказва че теоретично "грешни" (или недоказани) решения на разни проблеми работят бързо и дават достатъчно добри резултати за да бъдат използвани.
Целта на курса по УП обаче е да се научим(те) да даваме(те) правилни решения на задачите.
Това колко бързо или в какви граници ще работят - ще бъде разглеждано няколко други курса :)