събота, 27 юли 2013 г.

Using Dictionary

Условието на една от интересните задачи в домашното за методи е следното:

4. Write a method that counts how many times given number appears in given array.


По принцип се иска от програмиста да напише програма, която изкарва колко пъти дадено число се среща в даден масив. Това може да стане с редица сравнения, но след кратък разговор с един от асистентите в академията на Телерик той "едвам ме нави" да напиша универсален алгоритъм, който брои колко пъти се среща всяко число в масива.

Логиката е следната - създаваме си метод, който връща стойност Dictionary<int, int> (речник с key int и value също int). Въпросния метод приема за параметър съответния масив, с който ще "оперираме". Вътре в метода създаваме речник, в един foreach цикъл обхождаме целия масив, ако съществува елемента, до който сме стигнали, то увеличаваме неговия брояч (value), а ако не - записваме го със стойност 1 (среща се 1 път). В Main метода си правим нов речник, който присвоява стойностите на върнатия речник. Отново с foreach цикъл изписваме колко пъти всяко число се среща в речника (с помощта на key и value).


петък, 26 юли 2013 г.

Mind Map

Някога чували ли сте за тях? Правили ли сте? Има ли ефект? Какво всъщност са те? Ще ви кажа това, което знам и ще очаквам от вас да ме допълвате в коментарите!

Същността й се състои в това да накараш двете полукълба на мозъка си (лявото, което отговаря за логиката, аналитичното мислене, анализи, данни, думи, числа др. и дясното, което се занимава с цветовото и пространственото възприятие, музиката, ритъма, др.) да работят заедно, като резултатът от общата им работа се равнява на в десетки, стотици пъти по-добро запомняне. Пример за такова обвързване е запомнянето на цветове с числа (-25 градуса напомня на повечето от нас за синьо, 40 градуса за червено), картинки с думи, логика с въображние.

По-конкретно Mind Map се прави за определено нещо – примерно тема в учебник, глава в книга, за представяне на човек, за изобразяване на идеи и т.н. Ето един пример:


* Разработена от Tony Buzan.

Така с помощта на малко думи се представя идея, изписването на която в страници би отнела повече място, повече време и не би била толкова ефективна за запомняне. Различните цветове на „клоновете” и природните им извивки са важна част от картината, както и малкото думи (по 1 на всеки главен клон). Използването на картинки също е препоръчително. Абсолютно задължително е забавлението по време на изготвянето на мисловната карта. Резултатът е, че след време асоциативно се сещаме за разположението, цвета и др. на нещо на картата и си спомняме повече информация за него. Пробвайте!

Разберете още за Mind Map от официалния сайт и от архива на курса "Споделяне на знания и работа в екип" Януари 2013 в академията на Телерик.

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

сряда, 24 юли 2013 г.

Interesting Facts

Често хората включват в блоговете си специална секция с интересни факти, но поради липса на време, интерес или някакви други външни фактори понякога занемаряват страничката и читателите остават разочаровани. За да не поемам такъв риск, синтезирах няколко страници в интернет, които се занимават само с това - намират интересни факти и радват последователите си. Ето част от тях: 

1.
          
Страничка във фейсбук, която ежедневно публикува интересни, забавни, понякога даже смущаващи факти, има много последователи и предлага опцията за абониране чрез имейл.

2.

Друга фейсбук страница, текстът е на български език, постовете им съдържат много информация на всякаква тематика. Липсата на активност в последно време е компенсирана от богат архив.

3. 

За жалост не с динамични обновления, но пък наистина интересни, този сайт събира факти за България. Освен за нас, сайтът предлага информация за други страни, много снимки и със сигурност хората, които обичат да пътуват ще го намерят за интересен.


вторник, 23 юли 2013 г.

String Sorting with LINQ

Като истинска първа публикация, която съдържа нещо стойностно, реших да разкажа за решението на една от задачите в домашното за многомерни масиви. Условието е следното: 

5. You are given an array of strings. Write a method that sorts the array by the length of its elements (the number of characters composing them).

Честно казано, тази задачка ме поизмъчи. Както всеки друг път бях измислила няколко алгоритъма, кой от кой по-сложен - първоначално бях решила да създавам jagged array, в който да има по един масив за всяка дължина на string-овете, която  щях да открия с .Length, после прецених, че с List би било по-уместно и така докато не изписах стотици редове код и нищо не се получи. Обърнах се към форума на академията за помощ, където още преди да си задам въпроса в съответната тема, видях десетки решения. Окото ми грабна решение на точно 2 реда. След някакво време, отделено в четене за това какво точно е LINQ и как да го използваме, се получи следното - линк.

First Blog Post

След дълга и упорита борба с вътрешното си аз за това дали трябва да имам блог или не, макар и подтикната от външни фактори, имам еднозначен отговор и той е ДА. Смятам тук да публикувам главно неща, свързани с обучението ми в софтуерната академия на Телерик, но и други, които ме вълнуват.