Loading...
Anichka avatar Anichka 93 Точки

[Homework] C# Basics - Primitive data types and variables

Здравейте :)

Моите имплементации за второто ни домашно можете да видите тук

Всичко, което ми се стори, че е необходимо да обясня, е под формата на коментар в сорс кода.

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

Надявам се не съм допуснала фрапантни грешки :)

Update: Последно нанесени промени в сорс кода на 19.03.2014

Тагове:
40
Programming Basics
Panglot avatar Panglot 22 Точки

Все ми се струва, че се престаравате със сложността на кода който пишете. Например конкретно Anichka e написала третата задача със съвсем отделна функция която да сравнява. Не че не става, но това не е преподавано, което значи че може и се очаква по-лесно и кратко решение. Ако си създадете навика да си усложнявате задачите, ще стане много тегаво когато дойде момента за четирицифрени редове код.

1
beBoss avatar beBoss 507 Точки

Всеки си ги решава, както знае и може. Не виждам никакъв проблем да пишеш сложен код. Не е престараване да си направиш отделни методи или класове и да си разделиш кода на смислови парчета, които си правят по едно конкретно нещо. Това си е едно добро начало на обектното ориентираното програмиране и е по-добрият вариянт ако всеки почне от сега да се пробва, и да пише такъв тип код. Да можеш да набуташ всичко в мейн-а, защото са лесни задачите, ама по-добре да се опитваш да правиш нещо различно от другите, да си различен, да опитваш и така. tongue-out

0
RoYaL avatar RoYaL Trainer 6849 Точки

Това няма да е проблем при четирицифрените редове код, защото обкновено те са 4 цифрени, заради това че блъскате всичко в мейна и циклите и въртите разни ифове и пишете един код 8 пъти и те ти 1000 реда код. :) Единственият проблем би могъл да е изпита, където имаме 6 часа, и тогава трябва да бързаме, вместо да се отплесваме :)

0
vangareva avatar vangareva 0 Точки

Аничка, благодаря за споделянето на домашното!

Като абсолютно начинаеща искам да ти кажа, че така бях запецнала на задача 3, че ми идваше да си оскуба косите.

Любопитно ми е едно: с калкулатора на Уиндоус ли пресметна(и как) или намери конвертър в инернет?

0
iss_14 avatar iss_14 0 Точки

Здравейте!

Има ли промяна в третата задача?

" Unicode Character

Declare a character variable and assign it with the symbol that has Unicode code 42(decimal) using the '\u00XX' syntax, and then print it. Hint: first, use the Windows Calculator to find the hexadecimal representation of 42. The output should be “*”."

 

Не бяха ли други числата в условието...

 

0
LenaB avatar LenaB 112 Точки

И аз чета и се чудя защо половината отговори за са числото 72, а не 42?undecided

Реших да прегледам отговорите на останалите и реших, че полудявам, всички смятат 72, свалих отново файла със задачите, отворих го с две различни програми, все 42 виждам.

2
Dexter avatar Dexter 119 Точки

Здравей, 
има да, първоначално в условието беше 72, след това стана 42. Също така, задачата ComparingFloats, която сега е на позиция 13, първоначално беше на позиция 3. Предполагам, че няма да е проблем и да е предадено по стария начин, защото има хора, които вероятно не знаят за това и няма да бъде честно спрямо тях.

1
a.angelov avatar a.angelov 1316 Точки

Здравейте,

имам нужда от малко помощ, за "Problem 5 – Bits Inverter" от изпитните задачи, които са включени в домашното.

Ето това е кодът ми: http://pastebin.com/B4iVV9H8

При тест в judje системата гърми с един грешен отговор и точките, които получавам са 93/100.

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

 

Благодаря предварително!

0
mihayloff14 avatar mihayloff14 824 Точки

Здравей,
Можеш да провериш кой точно тест ти гърми като изтеглиш изпитния вариант (вариант 1) от тук. Тестът, който ти гърми е No 4. Чрез debugging, може да откриеш грешката си. Успех smile

1
a.angelov avatar a.angelov 1316 Точки

Благодаря, сега ще погледна. Не знаех, че има качени и тестовете... :)

Edit: намерих грешката, благодаря отново!

0
adelayda avatar adelayda 36 Точки

Здравей a.angelov,

благодаря за споделените решения.

на Problem13.ComparingFloats граничния случай :

"The difference 0.000001 == eps. We consider the numbers are different" (според примера в условието)

се счита за False, а не за True както е при теб.

 

2
a.angelov avatar a.angelov 1316 Точки

Здравей,

явно съм го пропуснал..., в такъв случай само трябва да се смени:

if (Math.Abs(a - b) <= constant)

с

if (Math.Abs(a - b) < constant)

0
ICETOO avatar ICETOO 24 Точки

Предполагам, че трябва да използвам тази тема за проблем с някоя от задачите във второто домашно. На задача 3 не исках директно да си го изптинтя, а да направя така, че като се въведе в конзолата 0xFE да ми изпринтва 254. Направих всичко и проблемът е, че ми изкарва 48. Ето ЛИНК, ако може някой да провери и да ми обясни защо ми изкарва 48.

0
mihayloff14 avatar mihayloff14 824 Точки

Console.Read() ти прочита следващия символ от това, което си въвел. Тъй като си въвел 0xFE, то прочита само 0 и ти изписва 48, защото 0 е 48-я елемент от ASCII таблицата. ЛИНК 

0
hristolilov avatar hristolilov 394 Точки

Impossibru? Nothing be impossibru!

int i = Convert.ToInt32(Console.ReadLine(), 16);

3
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Браво,  колега hristolilov! Т.е. след запетайката се определя от какъв вид е очакваното число. Замених 16-ката с 2 и като въведа число в двоичната бройна система ми връща отговора в десетична и работи. А как да направя от двоична да връща отговора в Hex?

Edit: Успях да го направя, но има ли начин директно да го конвентирам от двоично в hex?:

int i = Convert.ToInt32(Console.ReadLine(), 2);

string hexValue = i.ToString("X");

 

 

0
milkokochev avatar milkokochev 10 Точки
Здравейте, малко помощ за задача 14 - не мога да изкарам на конзолата символите от ASCII - получавам ???? и други подобни. Пробвах с "Console.OutputEncoding = Encoding.UTF8;" но пак не се получава. Ето линк - http://pastebin.com/HcLjJ8St
0
mihayloff14 avatar mihayloff14 824 Точки

Здравей,
Погледни тази тема. В нея може да разбереш подробно проблема и дали може да бъде разрешен.

0
milkokochev avatar milkokochev 10 Точки

На линка на темата не намира нищо, може ли пак да пратиш?

0
felix_de_suza avatar felix_de_suza 100 Точки

Колеги, на втората задача 8923,1234857 мисля че се побира във float и в решенията и на двама ви гледам, че сте го присвоили на double, не е кой знае какво, но мисля че така е по правилно след като се побира в по малкия тип :)

0
RoYaL avatar RoYaL Trainer 6849 Точки

Не точно. Не е по-правилно да правиш микропотимизации, от които няма нужда. "Premature optimizations are root of all evil"

http://c2.com/cgi/wiki?YouArentGonnaNeedIt

 

2
Filkolev avatar Filkolev 4482 Точки

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

  • за цели числа - int, освен ако не ти трябва по-широк тип, long или BigInteger;
  • за реални числа - double;

А това с предварителните оптимизации е изключително вярно и то не се отнася само до програмирането. Често ми се е случвало да реша да свърша нещо преди да му е дошло времето и после като му дойде времето трябва да почна наново. Излиза, че времето, което съм отделил да го направя първия път е изгубено на 100%. А при програмирането това загубено време може да значи изпуснати срокове и загубени пари.

0
felix_de_suza avatar felix_de_suza 100 Точки

Хехе, колега много интересна статия :) наистина много интересна гледна точка, съветвам който види поста да я прочете

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