17447

Циклы со счетчиком

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 8 Циклы со счетчиком 8.1. Циклы For ...Next Циклы используются для многократного выполнения одних и тех же операторов кода. Иногда программе нужно повторять какието действия раз за разом пока она не выполнит их нужное количество раз. Поэтому во всех я

Русский

2013-07-01

90.54 KB

2 чел.

Лабораторная работа № 8

Циклы со счетчиком

8.1. Циклы For ...Next

Циклы используются для многократного выполнения одних и тех же операторов кода. Иногда программе нужно повторять какие-то действия раз за разом, пока она не выполнит их нужное количество раз. Поэтому во всех языках программирования поддерживаются циклы. Циклы очень полезны. Во-первых, они уменьшают объем кода, который вам нужно писать. Повторяющиеся действия записываются в цикле только один раз. Во-вторых, они уменьшают вероятность ошибок.

Вот пример полезности циклов в программах. Предположим, что вам нужно сложить все числа от 1 до 100. Эго можно сделать, написав одно длинное выражение, например:

Dim TotalCount As Integer

TotalCount = 0

TotalCount =1+2+3+4 и так далее.

Эго очень неудобно!

А как насчет вот такого?

Dim TotalCount As Integer

TotalCount = 0

TotalCount = TotalCount + 1

TotalCount = TotalCount + 1

TotalCount = TotalCount + 1

TotalCount = TotalCount + 1

и так далее.

Тоже плохо. Эту строку пришлось бы повторить 100 раз! А если бы нужно было просуммировать числа от 1 до 1000? Как бы вы сделали это?

Оператор ForNext. Вот здесь-то нам и пригодятся циклы. Как мы уже говорили, циклы есть во всех языках программирования, и они позволяют исполнять один и тот же код множество раз. Часто вы знаете заранее, сколько раз нужно выполнить код. В нашем примере нужно просуммировать вое числа от 1 до 1000. поэтому код нужно выполнить 1000 раз. Если вы знаете, сколько раз должен выполниться код. используйте цикл с предварительно заданным числом повторений.

В Visual Basic .NЕТ. цикл с предварительно заданным числом повторений создается с помощью оператора ForNext. Вот синтаксис такого цикла:

Dim Счетчик As Integer

For Счетчик = Начальное Значение То Конечное Значение

Последовательность операторов

Next

Обратите внимание на то. что For, Next и То — это ключевые слова. Они выделены синим цветом и начинаются с заглавных букв. Счетчик (счетчик цикла) — переменная, которую нужно объявлять как целочисленную. Ее нужно объявить, прежде чем использовать в цикле ForNext. (Для нее можно задать любое имя.) Переменная счетчик отслеживает, сколько раз выполнился цикл. К значению этой переменной можно обращаться внутри цикла. Начальное значение и конечное значение должны быть целыми числами, целочисленными переменными. или выражениями целочисленного типа, например 3 + 1 или X + 1. При каждом выполнении цикла значение переменной счетчик увеличивается на 1. Когда значение счетчика становится больше, чем конечное значение, выполнение цикла завершается.

Давайте напишем код. в котором используется цикл ForNext. Для начала мы создадим цикл, который выполнится два раза и будет выводить значение переменной - счетчика при каждом выполнении. Создайте новое приложение Windows и назовите его «For-Next». Поместите на форму кнопку. Выполните по ней двойной щелчок, чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик следующий код:

Dim LoopCounter As Integer

For LoopCounter = 1 To 2

MessageBox. Show(LoopCounter)

Next

Постройте и запустите проект. Нажмите кнопку. Появится сообщение с цифрой 1, текущим значением переменной LoopCounter. Нажмите кнопку ОК. Появится сообщение с цифрой 2. текущим значением переменной LoopCounter. Нажмите кнопку ОК. Выполнение цикла закончится, поэтому больше сообщений не будет.

Вот как это работает. В коде вы объявили переменную LoopCounter типа Integer. В операторе For вы проинициализировали LoopCounter значением 1 и задали для ее значения верхний предел 2. В цикле будут выполняться операторы, помещенные между For и Next. При каждом выполнении цикла значение LoopCounter увеличивается на 1. В окне сообщения будет выведено текущее значение переменной LoopCounter (сначала 1. потом 2). Когда значение LoopCounter достигнет 3. выполнение цикла завершится и окно сообщения выводиться больше не будет. Конец цикла!

По умолчанию значение счетчика увеличивается на 1 при каждом выполнении цикла. Можно сделать так. чтобы оно увеличивалось на большую величину. используя ключевое слово Step, как в этом примере:

Dim LoopCounter As Integer

For LoopCounter = 0 To 100 Step 5 

MessageBox.Show(LoopCounter)

Next

Здесь значение переменной LoopCounter увеличивается на 5 при каждом выполнении цикла. В окнах сообщений будут выводиться значения 0. 5, 10. 15, и т. д.

Задания для самостоятельного выполнения

8.1. В системе программирования Visual Basic .NЕТ создать проект «For-Next», описанный в параграфе.

8.2. Пошаговое выполнение цикла For...Next

Давайте изучим цикл For_Next, который вы только что написали, с помощью отладочных инструментов Visual Studio .NET. Мы будем пошагово выполнять цикл. Вот что для этого нужно сделать:

1. Поставьте точку останова в строке кода, содержащей оператор Fог. Постройте и запустите приложение.

2. Откроется форма. Нажмите кнопку Button1. Код выполнится до точки останова. Строка с точкой останова будет подсвечена.

3. Нажмите клавишу {F11}. Подсвеченная строка кода выполнится.

For LoopCounter = 1 То 2

Подведите курсор мыши к переменной LoopCounter в строке For LoopCounter = 1 То 2. Ее значение равно 1.

4. Нажмите клавишу {F11}. Подсвеченная строка кода выполнится.

MessageBох.Show (LoорСounter)

В окне сообщения будет цифра 1. Нажмите кнопку ОК. чтобы закрыть окно сообщения.

  1.  Нажмите клавишу {F11}. Подсвеченная строка кода выполнится.

Next

  1.  Первое выполнение цикла For закончено. Нажмите клавишу {F11}. Подсвеченная строка кода выполнится.

For LoopCountcr = 1 То 2. Подведите курсор к переменной LoopCounter в операторе For. Значение переменной будет равно 2.

  1.  Нажмите клавишу {F11}. Подсвеченная строка кода выполнится.

MessageBох.Show (LoорСounter)

В окне сообщения будет цифра 2. Нажмите кнопку ОК. чтобы закрыть окно сообщения.

  1.  Нажмите клавишу {F11 }. Подсвеченная строка кода выполнится.

Next

  1.  Выполнение цикла закончено. Нажмите клавишу {FI 1}. Подсвеченная строка выполнится. For LoopCounter = 1 То 2

Подведите курсор к переменной LoopCounter в операторе For. Значение переменной будет равно 3.

10. Нажмите клавишу {F11}. Подсвеченная строка кода выполнится.

End Sub

Форма появится опять.

Вы только что пошагово выполнили код в цикле ForNext. Вы увидели, как этот цикл выполняется в программе!

Задания для самостоятельного выполнения

8.2. В системе программирования Visual Basic .NЕТ провести пошаговое выполнение проекта «For-Next» так. как это описано в параграфе.

8.3. Проекты с использованием For...Next

Сложение чисел от 1 до 1000. С помощью цикла ForNext можно складывать большое количество чисел. Создайте новое приложение Windows и назовите его «Сложение». Поместите на форму кнопку и измените значение ее свойства Text на Сложить. Выполните по ней двойной щелчок, чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик следующий код:

Dim Counter As Integer 

Dim Total As Integer = 0

For Counter = 1 To 1000

Total = Total + Counter

Next

MessageBox.Show(Total)

Постройте и запустите проект. Нажмите кнопку с надписью Сложить. Появится окно сообщения с суммой, полученной в результате сложения всех чисел от 1 до 1000. Вы написали код и программа вычислила ответ быстрее, чем вы успели вытащить калькулятор.

Как этот код работает? Сначала мы объявили две целочисленных переменных: Counter и Total. Counter отслеживает, сколько раз выполнился цикл. В Total хранится сумма сложенных чисел. В операторе Fоr начальное значение Counter задано равным 1, а конечное значение — равным 1000. Это потому, что мы хотим выполнить цикл 1000 раз, суммируя числа от 1 до 1000. Оператор, который нужно повторять много раз, прибавляет текущее значение Counter к значению Total и сохраняет результат в Total. При каждом выполнении цикла значение Counter прибавляется к значению Total (0 + 1 = ,. 1 + 2 = 3, 3 + 3 = 6, 6 + 4 = 10, и т. д.). Когда Counter достигает значения 1000, выполнение цикла заканчивается. Выполняется строка кода после оператора Next. В этой строке вызывается окно сообщения, в котором выводится значение Total.

Сложение строк. Помните, внутрь цикла ForNext можно помещать какой угодно код. Можно автоматически составлять длинные текстовые строки, выводить снова и снова раздражающие сообщения или изменять свойства в зависимости от значения счетчика цикла. Вот еще один пример использования цикла.

Создайте новое приложение Windows и назовите его «Сложение строк». Поместите на форму кнопку и измените значение ее свойства Text на Сложить строки. Выполните по ней двойной щелчок, чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик следующий код:

Dim Message As String

 Dim i As Integer = 0

Message = “СТРОКА.”

For i = 1 To 5

MessageBox.Show(Message)

Message = Message & vbNewLine & Message

Next

Постройте и запустите проект. Нажмите кнопку с надписью Сложить строки. В окне сообщений будет выведено сообщение «СТРОКА.». В окне сообщений щелкните пять раз по кнопке ОК. цикл выполнится пять раз. Обратите внимание на то, во сколько раз увеличилось сообщение.

Цикл и вложенный условный оператор. Создайте проект «Цвет формы». Поместите на форму кнопку и измените значение свойства Text этой кнопки на Установить цвет. Выполните двойной щелчок по ней, чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик следующий код:

Dim i As Integer = 0

For i = 2 To 6

If i < 3 Or i > 5 Then

MessageBox.Show(i)

Form1.ActiveForm.BackColor = System.Drawing.Color.Red

Else

MessageBox.Show(i)

Form1.ActiveForm.BackColor = System.Drawing.Color.Blue

End If 

Next

Постройте и запустите проект. Нажмите кнопку с надписью Установить цвет. В окнах сообщения будет выводиться текущее значение счетчика цикла. Заметьте, что на этот раз минимальное значение счетчика равно 2. а максимальное — 6. Оператор IfThenElse внутри цикла ForNext решает, как раскрасить форму в зависимости от значения счетчика цикла. В цикле выводится окно сообщения, которое позволяет отслеживать значение счетчика цикла. Кроме того, вывод окна сообщения замедляет работу цикла, чтобы можно было заметить изменение цвета формы.

Задания для самостоятельного выполнения

8.3. В системе программирования Visual Basic .NЕТ создать проект «Сложение», описанный в параграфе.

8.4. В системе программирования Visual Basic .NЕТ создать проект «Сложение строк». описанный в параграфе.

8.5. В системе программирования Visual Basic .NЕТ создать проект «Цвет формы», описанный в параграфе.

8.4. Вложенные циклы

Знаете ли вы, что можно поместить один цикл For…Next внутрь другого? Внутренний цикл For…Next будет выполняться раз за разом при каждом выполнении внешнего цикла For…Next. Так сколько же раз выполнится код внутри внутреннего цикла? Давайте рассмотрим пример, чтобы определить ответ на этот вопрос.

Создайте новое приложение Windows и назовите его «Цикл в цикле». Поместите на форму кнопку. Выполните по ней двойной щелчок, чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик следующий код:

Dim i As Integer 

Dim k As Integer

Dim Total As Integer = 0

For i = 1 To 3

For k = 1 To 4

Total = Total + 1

Next

Next

MessageBox.Show(“Total = “ & Total)

Постройте и запустите проект. Нажмите кнопку. Появится окно сообщения с текстом «Total = 12». Эго общее количество выполнений кода внутри внутреннего цикла. Посмотрите на код. Вы заметили, что 12 — это 3 (количество выполнений внешнего цикла) умножить на 4 (количество выполнений внутреннего цикла)? Правильно! При каждом выполнении внешнего цикла внутренний цикл исполняется 4 раза. Поскольку внешний цикл выполнился 3 раза, внутренний цикл выполнился 4*3=12 раз.

Задания для самостоятельного выполнения

8.7. В системе программирования Visual Basic .NЕТ создать проект «Цикл в цикле», подсчитывающий количество повторений тела вложенного цикла.

8.5. Выход из циклов

Иногда нужно прервать выполнение цикла до того, как значение счетчика достигнет верхнего предела. Это можно сделать с помоыо оператора Exit For. Данный оператор помещается внутрь оператора IfThen внутри цикла. Условие в операторе IfThen указывает коду, когда нужно прервать выполнение цикла. Давайте напишем код, в котором будет использоваться оператор Exit For.

Создайте новое приложение Windows и назовите его «Выход из цикла». Поместите на форму кнопку. Измените значение свойства Text этой кнопки на Выйти из цикла. Выполните по ней двойной щелчок, чтобы отредактировать обработчик ее нажатия. Добавьте в обработчик следующий код:

Dim i As Integer = 0

For i = 1 To 5

MessageBox.Show(“i inside=” & i)

If i = 3 Then 

Exit For

End If

Next

MessageBox.Show(“i outside=” & i)

Постройте и запустите проект. Нажмите кнопку с надписью Выйти из цикла несколько раз. Будут появляться окна сообщения со значениями счетчика цикла. Когда это значение станет равным 3, условие в блоке IfThen выполнится и выполнится оператор Exit For. Выполнение цикла завершится без выполнения оставшихся повторов. Обратите внимание, что окна с сообщением «i inside=4» нет. Когда цикл завершится, выполнится код после оператора Next. Появится окно с сообщением «i outside = 3».

Вот еще один пример использования Exit For. Мы изменим программу «Выход из цикла». Добавьте на форму флажок и еще одну кнопку. Измените значение свойства Text кнопки на Проверить. Выполните двойной щелчок по новой кнопке, чтобы отредактировать обработчик ее нажатия. Измените код обработчика:

Dim Index As Integer

For Index = 1 To 5

If Index = 4 Then

CheckBoxl.Checkod = True

End If

If CheekBoxl.Cheeked = True Then

MessageBox.Show (“Exit on: “ & Index)

Exit For 

End If

Next

Постройте и запустите проект. Нажмите кнопку с надписью Проверить. Цикл ForNext будет выполняться, пока значение переменной Index не станет равным 4. Затем свойство Checked флажка CheckBox1, будет установлено в True. Поскольку CheckBox1, будет установлен, будет выведено окно сообщения со значением переменной Index и выполнится оператор Exit For. Выполнение цикла завершится.

Еще раз нажмите кнопку с надписью Проверить, не сбрасывая флажок CheckBoxl. Что произойдет на этот раз? Оператор Exit For будет выполнен при Index = 1.

Задания для самостоятельного выполнения

8.8. В системе программирования Visual Basic .NЕТ создать проект «Выход из циклов». описанный в параграфе.

8.6. Циклы в C# и J#

Как и во всех современных языках программирования, в C# и J# тоже есть циклы. В C# и J# есть аналоги цикла Visual Basic.NET ForNext, но код выглядит по-другому.

Цикл на языке С#. Вот как выглядит такой код в С#:

for (int Counter = 1; Counter < 4; Counter++)

{

MessageBox.Show(Counter.ToString());

}

Этот код выглядит не так, как оператор ForNext, но делает то же самое. В C# нет оператора Next и ключевое слово for пишется строчными буквами. Код, который должен выполняться в цикле, помещается в фигурные скобки. Код в скобках после for управляет выполнением цикла.

Объявление переменной счетчика цикла и инициализация ее начальным значением:

int Counter =1;

Условное выражение, определяющее, когда завершится цикл:

Counter < 4;

Увеличение значения счетчика на 1:

Counter++

Эго выражение можно записать как:

Counter = Counter + 1

Цикл на языке J#. Вот такой же код на J#. Он выглядит так же, за исключением того, что J# использует функцию System.Convert.ToString для преобразования значения Counter из целого числа в строку для вывода в окне сообщения.

for (int Counter = 1; Counter < 4; Counter++)

{

Message.Show(System.Convert.ToString(Counter));

}

Хотя код выглядит не так, как оператор For   Next в Visual Baltic .NET. он имеет тот же смысл — позволяет многократно исполнять один и тот же код.


 

А также другие работы, которые могут Вас заинтересовать

75462. Методы и способы защиты информации 26 KB
  Методы и способы защиты информации Методы защиты: Формальные методы: Препятствия – метод физического преграждения пути к информации охранник сигнализация решетки. Управление доступом – метод защиты информации путем использования программных и аппаратных средств компьютера: Идентификация пользователей пароль; Проверка полномочий пользователей; Регистрация обращений к защищенным ресурсам; Реагирование – отключение системы в случаи неправильного ввода. Маскировка – метод защиты информации путем ее криптографического закрытия....
75463. Работа с константами в ИС 1: Предприятие 30 KB
  Работа с константами в ИС 1: Предприятие Константы постоянные условнопостоянные величины. Константы хранят информацию которая не изменяется или изменяется достаточно редко: название организации ее почтовый адрес и так далее. Свойства констант редактируются при помощи палитры свойств Свойства Константы рис.2 которая вызывается из окна конфигурации при создании новой константы или редактировании уже существующей константы.
75464. Документальные системы. Консультант + 25.5 KB
  Массив данных документальной информационной системы представляет собой совокупность неструктурированных текстовых документов. Разобраться в этом потоке сведений и документов поможет правовая база данных. Специализированными фирмами распространяются как правовые базы данных общего назначения так и специализированные базы данных по хозяйственному банковскому таможенному законодательству региональному законодательству и т. Недорогие базы данных Энциклопедия российского права Консультантмини и др.
75465. Работа со справочниками в ИС 1С: Предприятие 45.5 KB
  Работа со справочниками в ИС 1С: Предприятие Справочники это списки однородных элементов данных. которые называются элементами справочника. Список элементов справочника может быть многоуровневым тогда все строки справочника делятся на элементы справочника и группы справочника. Группы позволяют переходить на нижележащие уровни многоуровневого справочника.
75466. Анализ проекта и основные инструменты анализа проекта в ИС Project Expert 26 KB
  Анализ проекта и основные инструменты анализа проекта в ИС Project Expert В процессе расчетов Project Expert автоматически генерирует стандартные отчетные бухгалтерские документы: отчет о прибылях и убытках; бухгалтерский баланс; отчет о движении денежных средств. После определения наиболее вероятного сценария проекта он принимается за базовый. На основе базового варианта проекта производится анализ чувствительности и определяются критические значения наиболее важных факторов влияющих на финансовый результат проекта. После завершения...
75467. Состав СУБД MS Access 24.5 KB
  Состав СУБД MS ccess Система управления базами данных это комплекс программных и языковых средств необходимых для создания обработки баз данных и поддержания их в актуальном состоянии . Почти все современные СУБД основаны на реляционной модели данных. При определении структуры данных в базе данных выделяют следующие основные понятия. ccess позволяет создавать сложные базы данных определяя структуру таблиц связи между ними.
75468. Состав пакета прикладных программ Project Expert 24.5 KB
  Состав пакета прикладных программ Project Expert Project Expert включает следующие разделы: Проект Компания Окружение Инвестиционный план Операционный план Финансирование Результаты Анализ проекта Актуализация. Раздел Проект является первым в содержании Project Expert и изначально доступен после открытия или создания проекта. Он предназначен для ввода общей информации о проекте настройки модулей расчета и отображения данных проекта. В разделе Компания можно осуществить ввод данных характеризующих финансовоэкономическое...
75469. Работа с документами в ИС 1С: Предприятие 45.5 KB
  Работа с документами в ИС 1С: Предприятие Документы служат для ввода информации о совершенных хозяйственных операциях. В Конфигураторе создается не сам документ а шаблон документа который является средством ввода документа. Конфигуратор позволяет описать структуру документа организовать диалог для ввода информации в документ и описать алгоритм построения печатной формы документа. В большинстве документов выделяются две части: заголовочная часть содержит реквизиты которые являются общими для всего документа; табличная или...
75470. Понятие формы, сложные иерархическик формы в СУБД Access 49.5 KB
  Понятие формы сложные иерархическик формы в СУБД ccess Формы являются основным средством организации интерфейса пользователя в приложениях ccess. Хорошо разработанные формы позволяют работать с приложением даже неподготовленному пользователю. Чаще всего формы создаются в следующих целях: – ввод и редактирование данных – это наиболее распространенный способ использования форм. Формы обеспечивают вывод на экран данных в удобном для пользователя виде.