Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
968 Въведение в програмирането със C#<br />
--------------------------------------------------------<br />
Initial deck: (7 HEART)(A SPADE)(10 DIAMOND)(2 CLUB)(6 DIAMOND)(J<br />
CLUB)<br />
After shuffle: (6 DIAMOND)(10 DIAMOND)(J CLUB)(2 CLUB)(A SPADE)(7<br />
HEART)<br />
Пробваме още няколко примера и виждаме, че работи правилно и за тях.<br />
Едва сега можем да кажем, че имаме коректна имплементация на алгоритъма,<br />
който измислихме в началото и тествахме на хартия.<br />
Стъпка 5 – Вход от конзолата<br />
Остава да реализираме вход от конзолата, за да дадем възможност на<br />
потребителя да въведе картите, които да бъдат разбъркани. Забележете,<br />
че оставихме за накрая тази стъпка. Защо? Ами много просто: нали не<br />
искаме всеки път при стартиране на програмата да въвеждаме 6 карти само<br />
за да тестваме дали някаква малка част от кода работи коректно (преди<br />
цялата програма да е написана докрай)? Като кодираме твърдо входните<br />
данни си спестяваме много време за въвеждането им по време на<br />
разработка.<br />
Ако задачата изисква вход от конзолата, реализирайте го<br />
задължително най-накрая, след като всичко останало<br />
работи. Докато пишете програмата, тествайте с твърдо<br />
кодирани примерни данни, за да не въвеждате входа<br />
всеки път. Така ще спестите много време и нерви.<br />
Въвеждането на входните данни е хамалска задача, която всеки може да<br />
реализира. Трябва само да се помисли в какъв формат се въвеждат картите,<br />
дали се въвеждат една по една или всички на един път и дали лицето и<br />
боята се задават наведнъж или поотделно. В това няма нищо сложно, така<br />
че ще го оставим за упражнение на читателите.<br />
Сортиране на числа – стъпка по стъпка<br />
До момента ви показахме колко важно е да пишете програмата си стъпка<br />
по стъпка и преди да преминете на следващата стъпка да се убедите, че<br />
предходната е реализирана качествено и работи коректно.<br />
Да разгледаме и задачата със сортиране на числа в нарастващ ред. При<br />
нея нещата не стоят по-различно. Отново правилният подход към<br />
имплементацията изисква да работим на стъпки. Нека видим накратко кои<br />
са стъпките. Няма да пишем кода, но ще набележим основните моменти,<br />
през които трябва да преминем. Да предположим, че реализираме идеята<br />
за сортиране чрез List, в който последователно намираме наймалкото<br />
число, отпечатваме го и го изтриваме от списъка с числа. Ето какви<br />
биха могли да са стъпките: