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.

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

биха могли да са стъпките:

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

Saved successfully!

Ooh no, something went wrong!