Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
940 Въведение в програмирането със C#<br />
сигурност колкото по-голям опит имате при решаването на задачи,<br />
толкова по-бързо ще ви идват добри идеи. Ако сте решавали подобна<br />
задача, бързо ще се сетите за нея и за начина по който сте я решили, тъй<br />
като едно от основните свойства на човешкия мозък е да разсъждава с<br />
аналогии. Опитът от решаването на даден тип задачи ви научава бързо да<br />
измисляте решение по аналогия с друга подобна задача.<br />
За да измисляте идеи и да ги проверявате ви трябват лист, химикал и<br />
различни примери, които да измисляте и да визуализирате чрез скица,<br />
рисунка, чертеж или друг способ. Това ви помага много бързо да пробвате<br />
различни идеи и да разсъждавате върху идеите, които ви хрумват. Основното<br />
действие при решаването на задачи е да разсъждавате логически, да<br />
търсите аналогии с други задачи и методи, да обобщавате или да прилагате<br />
обобщени идеи и да конструирате решението си като си го визуализирате<br />
на хартия. Когато имате скица или чертеж вие можете да си представяте<br />
визуално какво би се случило, ако извършим дадено действие върху<br />
данните от картинката. Това може да ни даде и идея за следващо действие<br />
или да ни откаже от нея. Така може да стигнем до цялостен алгоритъм,<br />
чиято коректност можем да проверим като го разпишем върху конкретен<br />
пример.<br />
Решаването на задачи по програмиране започва от измислянето<br />
на идеи и проверяването им. Това става най-лесно<br />
като хванете лист и химикал и скицирате разсъжденията<br />
си. Винаги проверявайте идеите си с подходящи примери!<br />
Горните препоръки са много полезни и в още един случай: когато сте на<br />
интервю за работа. Всеки опитен интервюиращ може да потвърди, че когато<br />
даде алгоритмична задача на кандидат за работа, очаква от него да хване<br />
лист и химикал и да разсъждава на глас като предлага различни идеи,<br />
които му хрумват. Хващането на лист и химикал на интервю за работа дава<br />
признаци за мислене и правилен подход за решаване на проблеми.<br />
Разсъждаването на глас показва, че можете да мислите. Дори и да не<br />
стигнете до правилно решение подходът към решаване на задачи ще<br />
направи добро впечатление на интервюиращия!<br />
Разбивайте задачата на подзадачи!<br />
Сложните задачи винаги могат да се разделят на няколко по-прости. Ще<br />
ви покажем това в примерите след малко. Нищо сложно на този свят не е<br />
направено наведнъж. Рецептата за решаване на сложни задачи е да се<br />
разбият логически на няколко по-прости (по възможност максимално<br />
независими една от друга). Ако и те се окажат сложни, разбиването на попрости<br />
може да се приложи и за тях. Тази техника е известна като<br />
"разделяй и владей" и е използвана още в Римската империя.<br />
Разделянето на проблема на части звучи просто на теория, но на практика<br />
не винаги е лесно да се направи. Тънкостта на решаване на алгоритмични