Loading...
easlavov avatar easlavov 72 Точки

[C# Basics Live Training] 05.04.2014, следобед: кодът на решените задачи

Здравейте!

Както обещах, публикувам кода от решените на живо задачи от подготовката за изпит, проведена днес, 05.04.2014 г. от 14 до 19 ч.

Линк към BGCoder за изпита, който решихме: http://bgcoder.com/Contests/105/Telerik-Academy-Exam-1-5-December-2013-Evening

Решения:

  1. Piece of Cake - http://pastebin.com/tZTSKE1K ;
  2. AngryGPS - http://pastebin.com/C0JiEZR5 ;
  3. Ones and Zeros - http://pastebin.com/RSwiiQKp ;
  4. Eggcelent - http://pastebin.com/Lyreaax6 ;
  5. Smetalnika - http://pastebin.com/Vh2Ds4XA .

1,3 и 4 задача - решени от Емил Славов, 2 и 5 задача - от Стефан Върбанов.

Запис от упражнението. Ако имате въпроси по предложените решения, можете да ги задавате тук.

Благодаря за присъствието ви и успех!

24
Programming Basics
easlavov avatar easlavov 72 Точки

По време на решаването на първата задача един колега спомена, че за закръгляне надолу на дробно число е използвал Math.Truncate() вместо използвания от мен Math.Floor(). Сега ще обърна малко повече внимание на разликата между двата метода.

При подадено положително число двата метода връщат еднакви резултати, защото закръглят в еднаква "посока". Разликата идва при отрицателните числа. Math.Floor() закръгля към минус безкрайност, а Math.Truncate() - към 0.

Примерен код:

decimal number = -15.3m;
Console.WriteLine(Math.Floor(number));
Console.WriteLine(Math.Truncate(number));

Резултатът ще е:

-16
-15

Надявам се вече всичко е ясно.

13
ScreeM avatar ScreeM 19 Точки

Благодаря за изяснението, ще ни бъде от полза за напред.

0
milen_vm avatar milen_vm 68 Точки

Аз доколкото разбрах условието дробната, част не трябва да се закръклява а направо да се отреже. Аз го експлицитнах от decimal към long и пак се отчита като вярно в bgcoder

1
ScreeM avatar ScreeM 19 Точки

Да, и това е вариант.

0
StanimirStankov avatar StanimirStankov 18 Точки

Разглеждам три метода на класа Math.

double x = Math.Floor(n)  - връща най-голямото цяло число (x < n)       или закръгля надолу към - {\displaystyle \infty }

                 Math.Floor(-15.3) // -16                           -16 < -15.3

                 Math.Floor(15.9) // 15                              15 < 15.9

double x = Math.Ceiling(n)  - връща най - малкото цяло число (x >n)     или закръгля нагоре към + {\displaystyle \infty }

                 Math.Ceiling(-15.3) // -15                           -15 > -15.3

                 Math.Ceiling(15.9) // 16                              16 > 15.9

double x = Math.Truncate(n) - връща цялото число като премахва дробната част

                 Math.Truncate(-15.3)   //-15

                 Math.Truncate(15.9)    //15

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