Loading...
B.Bliznakov avatar B.Bliznakov 0 Точки

Square of Stars - exercise

Здравейте,

Тъй като това ми е първи допир с програмирането, срещнах трудности с тази задача след два дни ровене най-вече в чужди сайтове стигнах до това решение, което не знам дали е най-доброто, но работи и се оценява идеално от judge system. Ето го и него по начинът, по който си го обяснявам аз: http://pastebin.com/LxH5UcgD

- Въвеждам променлива от конзолата,която да е цяло число;

- Задавам на следващият ред да ми извъведе "n" на брой пъти символа  "*";

- тъй като в задачата е дадено, че първия и последния ред са еднакви (пълен брой "*" = n), означава, че във всеки правоъгълник  празните разстояния ще са n - 2 реда, т.е. променливата i трябва да е по малка от n-2;

- Задавам на следващия ред да ми изведе един символ "*" последван от "space" n-2 пъти + последната колона отново да е символ "*"

- на последния ред задавам отновно да ми изведе "n" на брой пъти символа "*";

 

Моля за съвети, забележки и препоръки!

Поздрави,

Благовест Близнаков

Тагове:
0
Programming Basics 17/01/2017 23:57:22
ThePSXHive avatar ThePSXHive 436 Точки
Best Answer

За съжаление, сега, когато се намираш още в самото начало, е трудно да ти бъдат предоставени някакви абсолютно неотменими правила за това как трябва да подхождаш при решаването на този тип задачи, но както ще разбереш по-натам, има много стилни решения, които не включват дълги редове или употребата на "твърдо кодирани" стойности в решението. Все пак, когато след време се запознаеш с отделните типове данни, и писането на качествен код, бих ти препоръчал да се върнеш към следните две препоръки:

  • Винаги избирай типът, който най-добре отразява (логически) състоянията, който една променлива може да заема. Например, сумата на първите N естествени числа, броят на бирите, изпити от един екип програмисти, дължината на страните на един триъгълник, дължината на правоъгълникът от звездички, който трябва да изчертаеш (в тази програма) - стойностите на тези величини са винаги неотрицателни. Програмистите може да изпият и 0 бири, но дължината на правоъгълникът не може да бъде отрицателна стойност, и когато по-нататък се запознаеш с типовете данни ще се натъкнеш на byte; един тип данни, който може да заема стойности от 0 до 255, а в условието на тази задача стойностите варират в интервал от 2 до 100. С други думи, употребата на byte в случая е подходяща за целите на задачата. 
  • Не включвай повече от това, което е необходимо за да бъде решен даден проблем. Например, ако отиваш на тридневна почивка, не би взел шкафовете или столовете от къщата. В случая, задачата може да се реши и само като се използва директивата using System;
  • Придавай на променливите си описателни имена, дори и в кратки задачи като тази. Целта е да култивираш добри навици още в самото начало. Например, вместо n, можеш да използваш rectangleHeight, или numberOfRows; първото е препратка към височината на правоъгълника за изчертаване, докато второто е препратка към броят на редовете, които са необходими за изчертаването на правоъгълника. Което и да избереш, смятам, ще бъде по-ясно и описателно от n.

 

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

1
17/01/2017 20:37:49
B.Bliznakov avatar B.Bliznakov 0 Точки

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

Благодаря,

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.