Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Информационный Канал Subscribe.Ru


C# и .NET. Уроки с сайта http://progs.biz

Рассылка №3

Основы C#. Урок 7. Операторы if и switch.
Основы C#. Урок 8. Циклы for и foreach.
Основы C#. Урок 9. Цикл while.

Полные версии уроков (с картинками) можно найти по адресам
Урок 7. Операторы if и switch.
Урок 8. Циклы for и foreach.
Урок 9. Цикл while.

Основы C#. Урок 7. Операторы if и switch

If служит для разветвления программы на два направления. Если некоторое условие выполняется, то программа идет в одну сторону, если не выполняется - то в другую. Вот сразу пример, определяющий, четное или нечетное число ввел пользователь:

    ...
    class Class1
    {
        ...
        static void Main(string[] args)
        {
            int k = Int32.Parse(Console.ReadLine());
            if(b)
            {
                Console.WriteLine("Четное число");
            }
            else
            {
                Console.WriteLine("Нечетное число");
            }
            Console.ReadLine();
        }
    }

Как и в других C-подобных языках, фигурные скобочки можно не писать в случае одного оператора. Также написание веточка else тоже не является необходимым - все зависит от конкретной задачи.

Оператор switch примеряется тогда, когда программа должна разделится более чем на два направления (т. е. будем двигаться или сюда, или сюда, или сюда). Вот пример:

            int k = Int32.Parse(Console.ReadLine());
            Console.WriteLine(k.ToString());
            switch (k){
                case 1:
                case 2:
                    Console.WriteLine("Неудовлетворительно");
                    break;
                case 3:
                    Console.WriteLine("Удовлетворительно");
                    break;
                case 4:
                    Console.WriteLine("Хорошо");
                    break;
                case 5:
                    Console.WriteLine("Отлично");
                    break;
                default:
                    Console.WriteLine("Ошибка");
                    break;
            }

В приведенном примере в зависимости от введенного пользователем числа на экран выводится та или иная оценка. Если число k не лежит в промежутке от 1 до 5, то выполняются операторы в веточке default и выводится надпись "Ошибка". Ветока default не обязательна. Обратите внимание на оператор break. Если его не написать, то будут выполнятся операторы из следующей веточки case до строки с break'ом (т. е. в данном примере если пользователь введет 1 или 2, то программы выведет "Неудовлетворительно"). Обратите внимание, что если в некоторой веточке case или default есть операторы, то написание break обязательно. Так, в следующих двух кусках кода есть ошибки:

...
    case 1:
        Console.WriteLine("Совсем неудовлетворительно");
        //Ошибка! Тут пропушен break
    case 2:
        Console.WriteLine("Неудовлетворительно");
        break;
    ...
...
    default:
        Console.WriteLine("...");
        //Ошибка! Тут пропушен break
    }
Наверх

Основы C#. Урок 8. Циклы for и foreach

Начнем сразу с примера цикла for:

int k = Int32.Parse(Console.ReadLine());
int sum=0;
for(int i=1; i<=k; i++){
    sum+=i;
}
Console.WriteLine(sum);

Этот пример подсчитывает сумму чисел от 1 до введенного пользователем числа k. Сумма записывается в переменную sum и выводится на экран.

Очень часто циклы используются для некоторых действий с массивами. Так как нумерация элементов массива идет с нуля, то типичный цикл будет выглядеть так:

int[] a = {-5, 4, 55};
int sum=0;
for(int i=0; i<3; i++){
    sum+=a[i];
}

В этом примере начальное значение для счетчика цикла равно нулю, и в условии продолжения цикла мы пишем знак "меньше", после которого ставится количество элементов в массиве. Разумеется, если в цикле должен выполнится только один оператор, то фигурные скобки можно не писать. Тут все, как в других C/C++-подобных языках.

Теперь рассмотрим пример цикла foreach:

int[] m = {-5, 4, 10};
int sum=0;
foreach(int i in m){
    sum+=i;
}

В данном примере мы суммируем все элементы массива m, записывая сумму в sum.

В приведенном примере наш цикл перебирает все элементы массива m. На это нам указывает строка

...
foreach(int i in m){
 ...

которая интерпретируется так: для каждого целого числа из массива m делам что-то там. Если бы элементами массива были бы не целые, а, скажем, вещественные, то мы записали бы что-то вроде:

...
foreach(float i in m){
 ...

Т. е. мы пишем именно тип элементов массива. На самом деле foreach используется не только для массивов, но и для других объектов (например, для хэш-таблиц). Но это будет рассмотрено в последующих уроках.

Наверх

Основы C#. Урок 9. Цикл while

Циклы while бывают двух видов - собственно цикл while и do-while. Оба эти цикла используются, как правило, тогда, когда точно не известно, сколько раз цикл должен выполнится. Например, при вводе пользователем пароля или при подсчете чего-либо с определенной точностью. Оба эти цикла будут выполняться до тех пор, пока условие в круглых скобках после слова while будет истинно. Как только условие станет равным false, выполнение цикла прекращается. Самое важное отличие между while и do-while в том, что while может не выполниться ни одного раза, тогда как do-while по крайней мере один раз выполнится. Вот примеры их использования:

string password;
do{
    password=Console.ReadLine();
}while(password!="wi98zK");
int k=0; //Количество попыток
//заводим новую последовательность случайных чисел
Random rnd=new Random(112); //Пишем любой параметр
while(rnd.Next(1, 6)!=5)
{
    k++;
};
Console.WriteLine("С "+(k+1).ToString()+"-го раза выпало 5");

В первом примере цикл будет вращаться до тех пор, пока пользователь не введет правильный пароль (wi98zK), во втором - пока некоторое случайное число не окажеться равным 5. При этом если число с самого начала оказалось равным пяти, то цикл вообще выполняться не будет.

Наверх

Copyright Алексеев Игорь, 2002

Copyright сайт progs.biz, 2002


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное