Професионална програма
Loading...
aurora96 avatar aurora96 2 Точки

Помощ със задача 10 от книгата "Въведение в Програмирането с C#".

Здравейте колеги, поразрових се из форума, гугъл но за съжаление не успях да намеря подобна тема, затова пускам своята.
Условието на задачата е: Напишете програма, която извежда първите 100 члена на редицата: 2, -3, 4, -5, 6 , -7 , 8.

Намерих решението което е :

using System;

 

class PrintSequenceApp

{

  

    static void Main()

    {

        for (int i = 0; i < 100; i++)

        {

            if (i % 2 == 0)

            {

                Console.Write("{0,4} ", i + 2);

            }

            else

            {

                Console.Write("{0,4} ", -(i + 2));

            }

        }

        Console.WriteLine();

    }

 

}

Компилира се без проблем но аз не мога да разбера как точно се решава, знам какво е console.write, writeline но не разбирам от къде идва това 0,4 , % от 2 и т.н.
for (int i = 0; i < 100; i++) това си го обяснявам, като i = 0 т.е. всички числа са = на 0, следователно всичко да е по-малко от 100 и да нараства до 100.
Надявам се да ми помогнете, благодаря.

Тагове:
0
Programming Basics
g_todorov avatar g_todorov 106 Точки

здравей aurora96,

накратко задачата се решава с for цикъл. Обичайно този тип цикли съдържат 3 елемента:

1.начало на цикъла( int i=0; в конкретния случай) - почва от 0    

2.брояч на цикъла( i<100; в конкретния случай) - докато i<100 цикълът ще се върти( до 99)

3.стъпка на цикъла (i++ в конкретния случай е 1) 

за повече информация по циклите изгледай лекция Loops от предни инициализации на курса.

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

Условието if(i % 2 ==0) означава, че при всяко поредно завъртане на цикъла i нараства с 1 прави се остатъчно деление на 2(взема се само остатъка от делението - това след дес. запетая) и ако остатъкът е идентичен (==) на 0 (тоест четно) се изпълнява това между първите къдрави скоби, ако не е изпълнено условието се изпълнява поместеното между 2-рите къдрави. 

Console.Write - означава изпиши на същия ред.  

"{0,4}", i+2 Това е т.нар. place-holder - на мястото на 0 м/у къдравите скоби конзолата изчислява и  изписва това което се намира веднага след запетаята, в случая формулата i+2, а 4 вътре в къдравите скоби сочи колко спейса да изпише конзолата преди да изчисли и отпечати формулката (служи за по-естетично изглеждащ резултат - махни 4 и запетаята преди нея и пробвай да видиш)

Успех!

 

0