25.07.2017 Views

Intro-CSharp-Book-v2015

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 />

не винаги е лесно да се направи. Тънкостта на решаване на алгоритмични

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!