For и foreach цикъл за 15 минути

Sdílet
Vložit
  • čas přidán 8. 09. 2024
  • Видео за while loop - • While цикъл за 15 мину...
    Видео за условни конструкции - • Условни конструкции за...
    В програмирането често ни се налага да правим едно и също действие повече от веднъж. Още от сега е хубаво да знаем, че ако имаме повтарящ се код това не е много добре.
    Ето един пример:
    Трябва да изпринтираме числата от едно до 4 на конзолата:
    Console.WriteLine(1);
    Console.WriteLine(2);
    Console.WriteLine(3);
    Console.WriteLine(4);
    Тук имаме числата от 1 до 4 и за тях имаме 4 реда с един и същи код и различни числа. Със сигурност тряба да има по-хитър и лесен начин да го постигнем.
    Това може да стане с цикли, днес ще видим как става с for-loop.
    Когато напишем for и два пъти натиснем таб бутона се разписва това :
    for (int i = 0; i &lt length; i++) {
    }
    Интересно е да обърнем внимание какво се случва. Кода почва много да нни говори, а именно
    Ако разгледаме само тази част int i = 0; и се абстрахираме от това, че тя е в цикъл виждаме една обикновена променлва, чиято стойност е нула.
    Втората част много ни прилича на if проверка но само дето липсва условната конструкция:
    i &lt length (където length) може да бъде някаква друга променлива.
    И последната част е пост инкрементация на i променливата с 1 (i++)
    и сега каква е ролята на тази ключова думичка for - ами да повтаря. Ето как можем да го изговорим. ЗА всяка итерация (завъртане) на цикъла, започвайки от i (int i =0;), което в случая е 0, до някаква стойност (length, която след малко ще променим), изпълнявай кода в скоупа на цикъла и увеличавай променливата i с 1;
    Ако трябва да изпечатаме числата от едно до 4. Бихме казали - "За всяка итерация на for цикъла от 1 до 4 включително принтирай на конзолата съответната цифра и увеличавай i с 1"
    Как го разписваме с код:
    for (int i = 1; i &lt = 4; i++)
    {
    Console.WriteLine(i);
    }
    Как направихме и 4 включително? Добавихме едно равно за да бъде [1,4] а ако е без равно диапазона изглежда така - [1,3].
    Можем да преброим и обратно, разбира се от 4 до 1 - Как?
    for (int i = 4; i &gt = 1; i++)
    {
    Console.WriteLine(i);
    }
    Това в началото изглежда правилно, но всъщност е безкраен цикъл. Въпреки, че започнахме от 4 и обърнахме знака да стане по-голямо, забравихме, че сме казали на i да се увеличава с 1. Така i винаги расте и не може да стигне реално 1, защото расте от 4 нагоре. За това променяме да се декрементира с 1 и проработва:
    for (int i = 4; i &gt = 1; i--)
    {
    Console.WriteLine(i);
    }
    Можем да печатаме и букви. Как може да стане това?
    for (char letter = 'a'; letter &lt = 'z'; letter++)
    {
    Console.WriteLine(letter);
    }
    Много е важно да да се отбележи char letter = 'a'. Променихме го от интиджер на символен тип, защото сега искаме да се изпечатват символи. Какво ще стане, ако:
    for (char letter = 'a'; letter &lt = 'z'; letter--)
    {
    Console.WriteLine(letter);
    }
    Това съвсем не са случайни символи. Те се взимат от така наречената ascii table - www.asciitable....
    Ако се загледаме по-внимателно същност ще видим, че от малко а, което е 97 връща назад и последните символи не могат да се визуализират. В момента, в който стигбе до 0 спира и цикъла приключва

Komentáře • 5

  • @asdwsws
    @asdwsws Před 5 lety +2

    Доста добре обяснено!
    Не се шегуваш с 15-те минути обаче, с това видео буквално цепиш секундата.

    • @codewithfinesse1599
      @codewithfinesse1599  Před 5 lety +2

      Pavel Bogdanov 😀😀 старая се да не минавам 15 със сигурност

  • @wrestlercho
    @wrestlercho Před 4 lety

    много забавно "ентри" :D

  • @user-gt9uf1dp7j
    @user-gt9uf1dp7j Před 3 lety

    Здравейте! Гледам видеото и имам въпрос относно това как работи for. Става въпрос за 4:25 мин. for (int i = 0; i

  • @YOSICH
    @YOSICH Před 4 lety

    имаш кариера в IT специализацията