Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Трябват ти следните неща:
- 1) Как да четеш число от кознолата:
- int n = int.Parse(Console.ReadLine());
- С този ред казваш:
- Променливата "n" (можеш да я кръстиш както си искаш) ще бъде цяло число (int) и ще бъде равнa на целочисленото число ( = int), което ще получиш след като преобразуваш от текст в число (.Parse()), текста, който четеш от конзолата на един ред (Console.ReadLine)
- 2) Аналогично трябва да можеш да пишеш на конзолата, което става с
- Console.WriteLine();
- този горния ред ти печата празен ред. В скобите, можеш да принтираш различни неща. Например за тази задача можеш да печаташ звездичка така:
- Console.WriteLine('*');
- така печаташ character или char, която е звездичка * (ограждаш char променливата в апострофи)
- можеш и така:
- Console.WriteLine("*");
- тогава, звездичката я интерпретираш като string (цял текст, ограден от кавички)
- Ако искаш например да принтираш „пауза“ или празно пространство, можеш така:
- Console.WriteLine(‘ ‘);
- Т.е. между двата апострофа просто натискаш пауза
- всички тия команди за печатане са за печатане на нов ред. Ако искаш печатане на конзолата на същия ред, ползваш следното:
- Console.Write(‘*’);
- Този ред ще ти напечата звездичка на същия ред (докъдето си стигнала последно, няма да я печата на нов ред).
- Т.е. в тази задача вече знаеш как да напечаташ например квадрат със страна 5 звездички:
- - ред от 5 звездички
- - 3 реда с 1 звездичка в началото, 3 празни пространства или паузи и накрая 1 звездичка
- - ред от 5 звездички
- Обаче в случая не знаеш дали 5 или друг брой звездички трябва да ти е ширината на квадрата, затова ти трябват още нещо:
- 3) if функция. Тя изглежда така:
- if (проверка дали някакво условие е изпълнено)
- {
- Ако в проверката в скобите след ключовата дума if имаш резултат от проверката „true” тука в това тяло на if функцията пишеш какво се случва; ако е „false” – прескача if фукнцията.
- }
- Напиши във visual studio “if” и дай два пъти tab-tab. Автоматично ще ти излезне следното:
- if (true)
- {
- }
- Където пише true – пишеш условието, което трябва да провериш, между квадратните скоби пишеш нещото, което трябва да се случи, ако проверката ти връща true.
- Има едно нещо, което се нарича bool тип променлива. Тази променлива има точно 2 състояния или възможни стойности – или е true, или е false. Та представи си, че в скобите след думата if, имаш bool променлива, която ако е true – се изпълнява кодът в къдравите скоби, ако е false – не се изпълнява този код и се прескача if функцията.
- 4) Как можеш да проверяваш нещо дали е вярно или не. Във C# ако пишеш:
- A = B;
- Казваш – променливата А ще е равна на B.
- Ако обаче напишеш:
- А == B;
- Т.е. 2 знака за равенство един след друг, ти всъщност генерираш bool променлива, която проверява дали A e равно на B и ако да – връща bool стойност true; ако не са равни, връща bool стойност false.
- Това се използва например във if функциите така:
- if (A == B)
- {
- Направи нещо си – например напечатай на конзолата числото А:
- Console.WriteLine(A);
- }
- В скобичките след if можеш да проверяваш няколко неща. Например нека имаш 2 условия:
- Условие 1 (или bool променлива 1):
- А == B;
- Условие 2 (или bool променлива 2):
- C != D;
- Комбинацията != e синтаксис за „не е равно“.
- Ако искаш да провериш дали и двете условия са изпълнени (или т.нар. логическо И, т.е. хем А е равно на B, хем C не е равно на D):
- A == B && C != D
- Става с 2 амперсанта;
- Ако искаш да провериш дали поне едно от условията е изпълнено (т.е. да получиш bool стойност true ако или първото условие е изпълнено, а второто не, или второто е изпълнено, а първото не, или и двете са изпълнени):
- A == B || C != D
- 5) Можеш да навържеш със if/else следната логика:
- if (някаква проверка, може да на повече от 1 условия)
- {
- Направи нещо си
- }
- else
- {
- Направи нещо съвсем друго
- }
- Т.е. Ако условието във if скобите е true, изпълни кода, който е в къдравите скоби там; ако е false, отиди на е else фукнцията и изпълни кода, който е в къдравите скоби на else функцията.
- 5) Последното нещо, което ти трябва е цикъл. Най-интуитивният вид цикъл в C# е със следния синтаксис (появява се като напишеш ключовата дума for и цъкнеш 2 пъти tab-tab):
- for (int i = 0; i < length; i++)
- {
- код
- }
- Какво има в скобите след for:
- (първо нещо си; второ нещо си; трето нещо си)
- Т.е. 3 неща, разделени с точка и запетая. Ето ги подробно:
- - първо нещо си: дефинираш т.нар. ти брояч на цикъла. Най-често се използва буквата i. Но можеш да си я прекръстиш както искаш (например банани). Важно е да е цяло число (защото цяло число брой пъти можеш да направиш нещо си – няма как да направиш нещо си наполовина – поне в програмирането )
- В случая казваш: дефинирам брояч цяло число (int) който се казва i и му дефинирам начална стойност нула (0). Т.е. в първия цикъл, i = 0;
- - второ нещо си: дефинираш кога цикъла ти ще спре. В случая цикълът ще върти и цикли дотогава, докато е изпълнено условието i < length. Т.е. при тази проверка се гледа – изпълнено ли е условието тука, ако да – изпълни кода, който в къдравите скоби; ако вече не се изпълнява – излез от цикъла.
- - трето нещо си: дефинира с каква стъпка расте брояча на цикъла (в случая синтаксисът i++ означава: на всеки цикъл, увеличи брояча i с +1)
- Ако тръгнеш да дебъгваш един цикъл (стъпка по стъпка с F10) можеш да проследиш как 1-во се дефинира числото i, и му се присвоява началната стойност (в случая 0); след това се проверява изпълнено ли е условието в секцията „второ нещо си“, ако да – влиза в цикъла, изпълнява кода, след това се връща на секцията „трето нещо си“, увеличава брояча (в случая става 0 + 1 = 1), отива на проверката (второ нещо си), проверява дали 1 е по-малко от length (length може да е нещо съвсем различно – променлива отпреди това), ако да – изпълнява кода, пак увеличава брояча, пак проверява и всичко това дотогава, докато проверката (второ нещо си) върне false – тогава излиза от цикъла.
- 6) за тази задача ти трябват 2 цикъла – единият вложен в другия. Първия цикъл го ползвай за брояч на редовете, а втория на стълбовете.
- Бих дал следната насока затова как да си напишеш програмата, чисто логически:
- - Прочети число от конзолата и го кръсти някак си (например chislo)
- - Отвори цикъл, който брои редовете. В този първи цикъл, началната стойност на брояча го направи равен на 1, цикъла да продължава дотогава, докато броячът е по-малък или равен (<= e синтаксисът в C#) на числото, което си прочела от конзолата (chislo). Може броячът ти да започва от 0 и провеката ти да е до стойност < от chislo.; Накрая укажи, че този 1-ви брояч ще се увеличава с 1 на всеки цикъл
- - Отвори втори цикъл, направи абсолютно същото (само че го кръсти по друг начин от брояча на 1-вия цикъл)
- - Направи проверка – в кои случаи да печата звездичка и в кои пауза (например ако брояч 1 е равен на еди колко си, а брояч на еди колко си – се печата еди какво си). Може в една if функция да опишеш всички случаи, в които трябва да се печата звездичка и кодът в if функцията да е „напечатай на този ред звездичка). А във else фукнцията (когато условията от if проверката не са верни) да печаташ пауза.
- - след 2-рия (или вложен цикъл), докато си още на 1-вия цикъл, напечатай нов ред
- По този начин глобално правиш следното: отваряш 1-ви ред (1-вия цикъл); отваряш втория цикъл и печаташ на този ред някви неща (звездички/паузи); като приключиш се връщаш на 1-вия цикъл, втори ред: пак отваряш 2-рия цикъл, печаташ други неща; и т.н докато изпечаташ всичко.
Advertisement
Add Comment
Please, Sign In to add comment