Loading...
felix_de_suza avatar felix_de_suza 100 Точки

[Exam Problems] C# Basics - 25 July 2014 - Problem {1} - Electricity

Колеги искам да помоля ако някой може да види грешката и да ми каже защо като реша задачката по този начин ми дава 35 точки, гледах и авторското решение и не мога да разбера защо не ми изкарва пълен брой точки? http://pastebin.com/cE9zyHfn

P.S. Понеже ако разликата идва от тази една минута която е след крайният час (14:00 to 18:59), значи задачката не е зададена коректно понеже тази една минута консумация не трябва да се включва.

Тагове:
0
Programming Basics 19/09/2014 21:57:44
Filkolev avatar Filkolev 4482 Точки

Според мен грешката ти е, че мислиш за период от време, в който изчисляваш консумацията. Представи си го като моментна проверка, т.е. в самата частица от секундата гледаш колко ток смучеш - един вид снимка на състоянието в тоя момент, а не видео ако така мога да се изразя.

Edit: ^ Не ти е това грешката, ама айде няма да го трия горния параграф, може да е полезен за някои хора ако другояче разглеждат условието.

 

Иначе като казват, че примерно от 19:00 нататък са включени други уреди, има се предвид, че до 18:59 (и включително цялата минута непосредствено до 19:00) си все още в предишния случай. Т.е. end трябва да ти е 18:59:59.999 или нещо такова. Но според мен в случая излишно си усложняваш живота с такива прецизности.

Аз лично я реших само с int-ове, без никъде да парсвам DateTime.

1
06/09/2014 15:11:36
felix_de_suza avatar felix_de_suza 100 Точки

Вече три часа се боря да разбера защо не ми дава 100 а 60 при условие че не виждам никакви разлики в моите решения и на авторите, а проблема не беше в задаването на часовете :) и още нещо объркани са местата на 

  • From 19:00 to 23:59 à 7 lamps + 6 computers are running във втората часова зона. Хора ако някой може ад помогне ще съм много благодарен ето го и кода http://pastebin.com/KPebrKvA
0
Filkolev avatar Filkolev 4482 Точки

Колега, разменил си стойностите на lampConsumption и compConsumption, програмата ти не дава верен отговор в третия if, а в другите два работи защото - в 1) двете стойности са еднакви; в 2) разменил си вътре променливите и с две грешни стъпки си получил нещо вярно.

Ето коригиран кодът ти.

 

2
felix_de_suza avatar felix_de_suza 100 Точки

Лелеее аз си мислех че е грешка в условието :) много ти благодаря за бързите отговори, много ми помогна!

0
Nexus avatar Nexus 119 Точки

Привет,

Моля някой да погледне и при мен.

65% и не успявам да хвана от къде идват грешките.

 

http://pastebin.com/wmCLSiWP

 

Поздрави,

А.

0
Kamigawa avatar Kamigawa 750 Точки

В проверките имаш само по-голям и по-малко. А е възможно часа да съвпада с началния - примерно да е 19:00 или 08:59. Т.е. на всяка проверка имаш по 1 минута дупка и от там идват липсващите точки.(интервалите ти са 19:01 до 08:58, а не 19:00 до 08:59 - дано ме разбра). Ако направиш всичките проверки да са <= или >= , не само < или > ще даде 100 точки - пробвах го.

1
10/12/2014 12:17:12
Nexus avatar Nexus 119 Точки

:)

Мерси.

Нямаше да се сетя за това ... 

0
jumparo avatar jumparo 26 Точки

Супер е задачата,реших я ! Но не разбирам как авторското решение работи само с примерно 14, а не с 14:59 ?

0
Filkolev avatar Filkolev 4482 Точки

Обясни точно кое те обърква в решението. В доста случаи може подобна задача да се реши без да се ползва DateTime.

0
jumparo avatar jumparo 26 Точки

Ами  не ми е ясно как работи ,като не се обхождат и минутите а, само часовете ...

0
SimeonStoykov avatar SimeonStoykov 114 Точки

Така е, защото реално минутите нямат значение, защото забележи как са зададени часовете:

  • From 14:00 to 18:59 à 2 lamps + 2 computers are running
  • From 19:00 to 23:59 à 7 lamps + 6 computers are running
  • From 00:00 to 08:59 à 1 lamp + 8 computers are running

Ако например часа е 18, нас не ни интересува колко минути точно е след 18, защото колкото и да са то пак влизаме в този интервал 14:00-18:59. Вече ако сме в следващия интервал часа трябва да започва с 19. Същото се отнася и за крайните стойности на другите интервали. Тоест ако е 23 часа (без значение колко минути след 23 часа е) то винаги сме във втория интервал и респективно без значение колко минути след 8 са минали ние пак сме в 3-тия интервал, затова се получава така че минутите не са от значение за проверката.

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