Интерпретация на условието на задача 8 от изпита


1

С един от другите курсисти имахме различна интерпретация за условието на задача 8. Моето решение брои уникалните суперсили на героите, докато решението на някои от курсистите брои една суперсила два пъти, ако я имат двама герои с една и съща суперсила. Моето решение не брои една суперсила два пъти. Ето го:

CREATE PROC dbo.usp_PowersUsageByAlignment AS SELECT align.Name Alignmnet, COUNT(DISTINCT pwsuperh.Power_Id) [Powers Count] FROM Alignments align JOIN Superheroes superher ON superher.Alignment_Id = align.Id JOIN PowerSuperheroes pwsuperh ON pwsuperh.Superhero_Id = superher.Id GROUP BY align.Id, align.Name GO

Забележете COUNT(DISTINCT...). Ако махна DISTINCT работи по другия начин (брои една и съща сила по няколко пъти, ако принадлежс на различни герои).

Та кое е вярото условие? Дори и не ми е хрумвало, че трябва една суперсила на двама човека да се брои като 2...

(Промених малко кода, за да се запази анонимността, но идеята е същата.)




Отговори



2
Почти 100% съм сигурен че не се броят дистинкт а общ брой на супер сили без значение дали се повтарят .Понеже на изпита питах Стивън точно това.



1
Като си проверявах моя изпит се усетих, че най-вероятно трябва да е с DISTINCT, и съм го сгрешил. След това попаднах на изпит, може би на колегата, в който всичко според мен беше перфектно решено, и последнатата съответно с DISTINCT. Прецених, повлиян до някъде и от отличния изпит, че при така зададен критерий "...returns correct result", при положение, че дава цели 8 точки, т.е. или е трудна или има някакъв tricky момент, най-вероятно това е правилното решение и всъщност НЕ трябва да давам 8-те точки при липса на DISTINCT. Мисля, че на 2 проверени изпита след този без DISTINCT не дадох точките.  Имам още изпити за проверяване и сега се чудя дали да давам, или да не давам, поне да има консистентност в оценяването ми.:) Но, нали, при липса на авторско решение, няма как субективността в оценяването да не е малко повече от обичайното. 

от ndvalkov (60 точки)


2

Ами ще знаем кой да хейтим за по-ниските резултати тогава :)

Според мен по-вероятната интерпретация е да се броят двойно, като единично също би имало смисъл. Това е на базата на 15 проверени изпита, всички от които с над 60 точки са избрали първия вариант. При липсата на авторско решение е нормално за мен да се дават точките при и двата варианта.


от tinman (481 точки)

0
Нещо не ми се връзва да се повтарят? В смисъл такъв, супер сила "Телекинеза" примерно си е една ако ще и 100 човека да я имат, не е нещо друго? И съответно е логично да се брои за 1, поне според мен.

от olebg (598 точки)