Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

AlexanderSD avatar AlexanderSD 0 Точки

За циклите

Здравейте извинявам се може въпроса ми да ви се строри глупав, но искам да попитам дали правилно съм разбрал това със циклите. Идеята ми е да си обясня всичко за да ми е ясно и разбираемо ,а не просто да го наизустявам това ми хрумна докато се упражнявах да правя това упражнение Числата от 1 до 20.

for (int i = 0; i < 20; i++)Console.WriteLine(i + 1);

i = 0 означава че минималната стойност е 0.

i < 20 означава че максималната стойност е 20, но ако след < сложа  и = тогава става от 1 до 21 което ме обърква тъй като съм задал максимума да е 20.

i++ това означава че се i се събира със i докато стигне до 20 поне така си мисля.

А за Console.WriteLine(i + 1); си мисля че задавам да се изписват числата като към всяко следващо се добавя 1, но като променя 1 на 2 става до 21 ако е 3 става 22 и.т.н

Бихте ли ми го обяснили малко по просто? Благодаря предварително.

Тагове:
0
C# OOP Basics
StefkaVasileva avatar StefkaVasileva 250 Точки
Best Answer

int i = 0 -задаваш начална стойност на променливата, като тази променлива живее само в тялото на цикъла.

i<20, не означава, че максималната стойност ще е 20, а 19, защото имаш знак за по-малко. Става 21 защото ти принтираш стойността на i + 1. При първото завъртане на цикъла  i е 0 ти принтираш 0(i) +1 => 1, слд това чрез i++, i вече е равна на 1, добавяш 1 и се получава 1+1 =>2. И това нещо се повтаея 20 пъти, защото броим от 0 до 19 (в случая 19 ти е максималната стойност)

i++, означава,че към i добавяш 1, а не отново i.

Console.WriteLine(i + 1) , принтираш на екрана стойността на i към която си добавил 1.

Дано да съм помогнала. 

0
22/01/2017 19:25:15
AlexanderSD avatar AlexanderSD 0 Точки

Много ти благодаря Стефче :)

0
ThePSXHive avatar ThePSXHive 436 Точки

i++ означава увеличаване на текущата стойност на i с единица, а не с i. Освен това, вече увеличаваш i веднъж в частта с икрементирането (i++), а след това и при извеждане на стойността при i + 1. С i просто се обозначава стойността от която започва увеличаването. Ето какво се случва при изпълнението на горния код: 

Итерация 1: Стойността на i е 0, условието i < 20 е изпълнено (защото 0 < 20), и след това стойността на i + 1 бива изведена

0 + 1 -> 1

След като първата итерация приключи, стойността на i се увеличава с 1 (i++ се изпълнява след всяко изпълнение на тялото на цикъла), и сега стойността на i е

0 + 1 -> 1

Аналогично и с останалите итерации. Когато извеждаш i + 1, ти не променяш стойността на i; просто извеждаш текущата му стойност, увеличена с единица. Промяната на стойността на i се осъществява след извеждането, в инкрементацията. Относно объркването при условие i <= 20 - последната стойност, която ще бъде присвоена на i в този случай, е 20, и в тялото на цикъла се отпечатва

20 + 1 -> 21

защото в този случай, ограничението (условието на цикъла) включва и стойността 20.

0
AlexanderSD avatar AlexanderSD 0 Точки

Благодаря

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