Loading...
hellgod2 avatar hellgod2 0 Точки

Задачите за рисуване по конзолата

Здравейте хора. От един месец се подготвям за предстоящия курс Programming basics този месец  и до сега нямах проблем с нещата и ги разбирах, но зациклих до темата с циклите и рисуването по конзолата която е най-важната. Бихте ли споделили вие как ги научихте и някакви препоръки как да ги науча и аз?  Благодаря ви!

1
Programming Basics
StoykoMandzhukov avatar StoykoMandzhukov 11 Точки

Здравей,

тези ми станаха любимите, но в началото ми бяха пълна мъгла. Винаги търси някаква поредица на съответните символи на всеки ред. Винаги или нещо намаля, или се увеличава. Разделяй фигурата на няколко части, и решавай задачите с повече от 1 цикъл(не вложени), когато има такава възможност.  Успех! :)

0
22/03/2016 22:14:50
StoykoMandzhukov avatar StoykoMandzhukov 11 Точки

Ако трябва-пиши си ги на лист с числа. Колко е имало на 1-ви ред от единия, колко на 2-я и т.н. И ще хванеш зависимостта. :)

1
gabi.ivanova avatar gabi.ivanova 370 Точки

На мен не ми стана ясно само със задачите за рисуване ли имаш затруднения или с разбирането на концепцията и работата на циклите?

1
hellgod2 avatar hellgod2 0 Точки

Само със задачите , но разбирам за какво служат циклите.
 

0
Pete1 avatar Pete1 56 Точки

Здравей, колега ! Това  са едни от лесните типове задачи, не го казвам, за да загубиш мотивация, а защото наистина е така. Алгоритъкът за решаването им е почти един и същ, един път щом го научиш няма да имаш проблеми с 90% от задачите от този тип. Изгледай това видео: https://www.youtube.com/watch?v=x7zXRCpkebo, ако не ти стане ясно от първия път изгледай го пак и след това почни да решаваш задачи от минали изпити в judge-a, всяка трета задача от даден изпит е от този тип. 

Успех ! 

1
IskrenPenev avatar IskrenPenev 177 Точки

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

Аз подхождам винаги по един и същ начин - рисувам винаги първия и последния ред (най-често са еднакви) и след това този който е точно по средата (винаги е "уникален").
След това правя 1 цикъл, с който запълвам нужното разстояние между първия и средния ред (наистина е полезно да вземеш лист хартия и да си отбележиш схемата, коет нараства и кое намалява).
Пробвам цикъла с примерния вход, и максимум/минимум ограниченията в задачата (или ако число доста по - голямо от най-големия примерен вход, понеже не искам да ми чертае диамант на 1000 реда да кажем, а на 30).
Ако цикъла работи както трябва, го копирам отдолу (слред междинния ред) като величините които са намалявали до средата се увеличват, а тези които са се увеличавали намялават. (ползвам си сющите променливи, но ако в горния цикъл е било count++; в долния е count--;) Врътката тук е, в случай че някоя от тези променливи стане по-малка от 0, след междинния ред си длъжен да й зададеш стойност 0 защото приложението ще гръмне.
Общо взето - това е. Надявам се да съм бил полезен.

1
22/03/2016 22:49:09
baxlash avatar baxlash 31 Точки

И на мен ми бяха най-трудните в началото. След като намерих подходящия метод да ги разглеждам ми станаха любимите.

Ето как процедирам аз с тях:

  1. Раздели си задачата на части (т.е. ако например трябва да рисуваш къща, раздели задачата на 2 - покрив и долна част).
  2. Започни с горната част.
  3. Потърси някаква зависимост между отделните редове и input-а, който си дал през конзолата.
  4. Използвай placeholder-и, за да изпечатваш повтарящите се символи.
  5. Използвай помощни променливи, ако ти е нужно динамично да пресмяташ повтарящи се символи.
  6. Когато приключиш с първата част, започни със следващата и следай същите стъпки.
  7. Не се мъчи да направиш всичко от веднъж.

Ето няколко примера за такива задачи, решени от мен: цък и цък.

5
H.Stoyanov avatar H.Stoyanov 115 Точки

Колега един практичен съвет, разгледай първо примерите, кое как мърда и къде отива. Опитай се да си представиш цялостно как конзолата ще изчетае фигурите, ред по ред, и кое къде трябва да се премести. Освен това в условията имаше някакви подсказки, които за мен се оказаха неверни - на места пишеше нещо от сорта на (n - 1) / 2 -1, където точно -1-то бърка цялата работа. 

Успех! wink

1
Berchev avatar Berchev 56 Точки

Здравей колега, 

 

На мен много ми помага да използвам тетрадки от тези за първокласниците, на квадратчетата. Така всяко квадратче е един символ от картинката и много лесно можеш да си прерисуваш фигурата и съответно да видиш как ти върви цикъла и да хванеш зависимост. Имаше една задача striped towel ( 3та задача от тук ) която аз лично стоях сумати време докато видя нещо и на края с лека насока и такова прерисуване и номериране на хартия задачата я реших за 3 мин с 5 реда код :) 

 

 

 

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