Datatypes and Variables Homework


16

Здравейте, колеги!

Пускам тема и за домашното по втората лекция. 

Това са моите решения.

Споделете и вие :)

Приятен ден




Отговори



14
Ето го моя скромен опит ТУК. :)

от dentia (12519 точки)


1

Здравей, разгледах последната задача, тъй като имах затруднения с намиране на начин за проверка, кое излиза правилно и кое не. В кода ти последните 30-40 символа отново излизат като итерации на някои от знаците на латинската азбука, както така от първите 1-30 знака има доста, които излизат нормално, като smiley, arrows, gender и други.  За жалост към този момент не мога да предложа решение на проблема. Моля, ако се сетиш за нещо - сподели!

Разбирам, че работи различно според настройките на потребителя.

Поздрави!


от Pip3r4o (3392 точки)

2

Ето как излизат при мен символите.

Ето я пълната ASCII таблица.

Да ги постна, че да говорим в контекст. :Д

Фонта, който съм настроила е Lucida. Пропуснала съм да задам аутпут енкодинг, за да подсигуря еднаквата визуализация на всички машини. Това се случва с нещо от тоя сорт (Console.OutputEncoding = System.Text.Encoding.Unicode;) - енкодингът - по избор.

Ако приемем, че съм си задала енкодинга, няма проблем с принтирането на последните знаци. Аз съм сложила условие, че ако знакът е някакъв вид контрол, т.е. е ънпринтабъл, просто се прескача, единственото, което виждам като проблем е, че в рейнджа 12х-16х (където 'х' се чете като "и нещо"), не ми се принтират символи, които би трябвало да се принтират. Ако махна условието да не се изкарват ънпринтабъл знаците, ми ги изкарва като въпросителна в правоъгълник. Честно казано, не съм гледала какъв е проблема и съответно решението, но ако настояваш, ще поровя. :)


от dentia (12519 точки)



2
Ето линк и към моите скромни решения :)

от dsd321 (553 точки)


8

Здравей, 

съвсем добронамерен коментар: Вместо 

Console.WriteLine(" {0} {1} {2} {3}", symbol, symbol, symbol, symbol);

може да напишеш

Console.WriteLine(" {0} {0} {0} {0}", symbol);


от Mirka (1454 точки)

1

Благодаря за съвета :)


от dsd321 (553 точки)


3

от mihaylov (409 точки)


1
Здравейте, колеги ! Ето моето, подредих задачите по номера :D : --> 100% free homework <--



1
Бим Бам Бум. Харесва ми, че има хора които не чакат да направят домашните в последния момент. :)

от Kambocha (178 точки)


4

Аз например до сега не съм се занимавал с програмиране.

Необходимо ми е повече време за да изчта и преровя в нета докато разбера кое как и защо.


от kerezof (18 точки)

2
Така е, има много хора, които до момента не са се занимавали с програмиране и старта винаги е доста труден и време отнемащо. Аз моите чак сега успявам да ги подготвя и пусна.



0
Ето и моите решения - ЦЪК :)

от RightWing (52 точки)


2
ЦЪК и от мен .Утре и другите качвам ,които са до края,че вече не мога да гледам. :) Лека вечер на всички. :) Поздрави.

от ivanovcorp (175 точки)


1
Здравейте, ето моите решения. Поздрави.

от radd_ko (90 точки)


2

от BoyanTodorov (853 точки)


1

Здравейте колеги,

Разгледах всички решения и забелязах, че числото 8923.1234857 е присвоено като double. В лекциите

пише, че float е прецизен до 7 знака след запетаята, а това числи има точно толкова.

Може ли да ми кажете защо сте го присвоили като double?



7

Логичен въпрос задаваш Методи!

Защото ако стойността на 8923.1234857 се присвои като double се използва двойно повече компютърна памет - идеята на използването на различни data types е и в това да се използва минималната възможна компютърна памет за съхраняването на информацията.

A float is 4 byte(s)
A double is 8 byte(s)

Искам само да допълня, че колегите присвоили 8923.1234857 са прави, защото float е прецизен до 7 знака общо, като се броят общо знаците преди и след десетичния знак.

За тест можеш да ползваш тези три примера:

                float x = 123.12345f;
                float y = 1234567;
                float z = 12345678f;
                Console.WriteLine(x);
                Console.WriteLine(y);
                Console.WriteLine(z);

Output:

123.1235 (повече от 7 знака общо, и затова при отпечатване х се закръгля до 7 знака общо)

1234567 (точно 7 знака и у се отпечатва без промяна)

1.234568Е+07 (повече от 7 знака и z се отпечатва погрешно, като дробно число)





5

Ето и моето. Лека вечер !


от skkushev (80 точки)


0
Много интересно решение на задача 10.EmployeeData

от ilia.82 (85 точки)

0
10та я реших по абсолютно същия начин. Нали знаеш какво казват за умните хора :D . Но мисля, че в 12 има малка грешка. В условието пише да съберем нъла с число, а ти просто си сменил стойността.

от todor.voinov (185 точки)