Операторы цикла

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 33. Практическая работа по теме Операторы цикла.doc

Практическая работа №7

Тема: Операторы цикла.

Цель: Формирование навыков применения операторов цикла.

Вид работы: индивидуальный.

Время выполнения: 4 часа.

Теоретический материал

Алгоритмы решения многих задач являются циклическими, т.е. для достижения результата определенная последовательность действий должна быть выполнена несколько раз. Циклом называется группа инструкций, повторяющихся многократно с разными данными. Для циклов применяются инструкции: goto, for, while, do while.

Инструкция goto в первых языках программирования была основой для реализации циклов и многократных переходов. Используется следующим образом:

• В коде программы создается метка с именем (например, M).

• Организуется переход на эту метку инструкцией goto M.

Например, в следующей программе в консоль выводится последовательность чисел от 0 до 9 включительно.

    public static int Main()

    {

             int i = 0;

         M: Console.WriteLine("i= {0} ", i);

             i = i + 1;

             if (i < 10) goto M;

                Console.ReadKey();

         }

    }

Решение циклических задач можно организовать на основе структуры ветвление или с помощью инструкций циклов.

Цикл  с предусловием while используется в том случае, если последовательность действий надо выполнить несколько раз, причем количество повторений заранее не известно. Процессы, в которых количество повторений заранее не определено, называются итерационными. А сами циклы – называются итеративными.

Тело цикла повторяется, пока выполняется условие. Блок-схема представлена на рисунке 1.

Рисунок 1– Блок-схема цикла с предусловием

Формат цикла выглядит следующим образом:

 

while (Условие)

{

  Инструкции тела цикла;

}

Например, в следующей программе в консоль выводится последовательность чисел от 0 до 9.

static void Main(string[] args)

         {

  int i = 0;

  while (i < 10)

  {

  Console.WriteLine("i = {0 } ", i);

  i = i + 1;

  }

           Console.ReadKey();

         }

Инструкция While выполняется следующим образом:

1.   Сначала вычисляется значение выражения условия.

2.   Если значение выражения условия равно True (истина), то выполняются очередные инструкции тела цикла. После этого снова проверяется выполнение условия. Если условие выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока условие не станет ложным (False).

3.   Если значение выражения условия равно False (ложно), то цикл прекращается, выполнение оператора цикла заканчивается и выполняется следующий оператор, предусмотренный программой.

Цикл  с инструкцией do . . while используется в том случае, если последовательность действий надо выполнить несколько раз, причем количество повторений заранее не известно и может быть  определено во время работы программы. Относится к итерационным процессам.

В этом виде цикла условие стоит после тела цикла, поэтому этот цикл называют с постусловием. Тело цикла повторяется, пока выполняется условие. Тело цикла первый раз выполняется без проверки условия. Выход из цикла при не выполнении условия. Эта циклическая инструкция работает по принципу: «Повторить — пока выполняется условие».

Ее синтаксис выглядит следующим образом:

do

{

      Инструкции тела цикла;

}

while (Условие);

Блок-схема представлена на рисунке 2.

Рисунок 2 – Блок-схема цикла с постусловием

Например, в следующей программе в консоль выводится последовательность чисел от 0 до 9.

static void Main(string[] args)

         {

                   int i = 0;

                   do

                   {

                            Console.WriteLine("i = {0} ", i);

                            i = i + 1;

                   }

                   while (i < 10);

                Console.ReadKey();

         }

Инструкция do…while выполняется следующим образом:

1. Сначала выполняются находящиеся между do…while инструкции тела цикла.

2. Затем вычисляется значение выражения условия.

3. Если  значение выражения условия истинно (True), то  инструкции тела цикла выполняются еще раз.

4. Если значение выражения условия ложно (False), то выполнение цикла прекращается и выполняется следующий оператор, предусмотренный ходом выполнения программы.

Цикл do…while используется для организации приближенных вычислений с заданной точностью, задач поиска и обработки данных в массиве или в файле.

Инструкция for служит для организации циклов с заранее известным числом повторений. Циклы, в которых количество повторений заранее определено, называются регулярными.

Формат записи цикла for для повторного использования одной ин-

струкции имеет вид:

for (индекс цикла = начало; условие выполнения; изменение индекса)

{

  Инструкции тела цикла;

}

Рисунок 3 – Блок-схема цикла с параметром или индексом

Выполняется оператор For следующим образом:

Сначала вычисляется и запоминается начальное и конечное значения индекса цикла (индекс – порядкового типа).

Далее индексу цикла присваивается начальное значение.

Затем значение индекса цикла сравнивается с конечным значением.

Далее, пока индекс цикла £ конечного значения (в 1 варианте оператора), выполняется очередная итерация цикла, в противном случае – выход из цикла.

Например, в следующей программе в консоль выводится последовательность чисел от 0 до 9.

static void Main(string[] args)

        {

            for (int i = 0; i < 10; i++)    // шаг = 1

            Console.WriteLine("i = {0} ", i);

            Console.ReadKey();

        }

Ход работы:

Выполнить задание, ответить на вопросы.

Задания

1. Создать консольное приложение, вычисляющее наибольшее положительное целое число n, удовлетворяющее условию: 3n5 - 690n £ 7. Код программы записать, блок схему зарисовать.

static void Main(string[] args)

        {

            int n = 1;

            while (3*Math.Pow(n,5)-690*n <= 7)

                n = n + 1;

            Console.WriteLine("n = {0 } ", n-1);

            Console.ReadKey();

        }

Блок-схема решения задачи приведена ниже (см. рис. 4).

 

 

Рисунок 4 – Блок-схема алгоритма решения задачи

2. Составить алгоритм решения задания №1 с применением цикла с постусловием, составить блок-схему.

3. Создать консольное приложение, которое выводит таблицу квадратов первых десяти целых положительных чисел. Блок-схему алгоритма зарисовать. Алгоритм решения представлен ниже:

static void Main(string[] args)

        {

            int x = 1, y = 1;

            Console.WriteLine("Таблица квадратов:");

            Console.WriteLine();

            Console.WriteLine("------------------");

            Console.WriteLine("   x    |    y   ");

            Console.WriteLine("------------------");

            for (byte i = 1; i <= 10; i++)

            {

                y = x * x;

                Console.WriteLine(" x = {0,2} | y = {1,3}", x,y);

                x=x+1;

            }

            Console.WriteLine("------------------"); ;

            Console.ReadKey();

        }

Блок-схема решения задачи приведена на рисунке 5.

 

 

 

 

Рисунок 5 – Блок-схема алгоритма решения задачи

4. Для управления циклом for можно использовать две и больше переменных. В этом случае инструкции инициализации и итерации для каждой из этих переменных отделяются запятыми.

Создать консольное приложение по следующему примеру.

Пример. Программа использует цикл, в котором в консоль выводятся последовательности чисел от 0 до 4 (шаг = 1) и от 10 до 6 (шаг = -1).

static void Main(string[] args)

        {

            int i, j;

            for (i = 0, j = 10; i < j; i++, j--)

                Console.WriteLine(" i и j : " + i + " " + j);

                Console.ReadKey();

        }

Контрольные вопросы:

1)     Какие циклы называют итеративными?

2)     Что является итерацией?

3)     Какие циклы называют регулярными?


Скачано с www.znanio.ru