цыкл for ... next
Участников: 2
Страница 1 из 1
цыкл for ... next
Делаем цикл или повторяем инструкцию определённое число раз.
конструкция for ./. next обеспечивает циклический повтор инструкций.
Выполнит инструкцию
Переменная цикла используеться для счёта от начального до конечного значения.
При входе в цикл, переменной цикла присваиваеться начальное значение.
После выполняеться блок инструкций.
Когда выполнение доходит до оператора next.
переменная увеличиваеться на единицу, Выполняеться проверка, если переменная цикла небольше конечного значения,блок инструкций повторяеться ещё раз.
Если же переменная цикла больше конечного значения, то цикл завершаеться и выполняеться инструкция следующая после next.
Эта програма выведет
Возможно изменить шаг цикла. По умолчанию он равен 1, но с помощью ключевого слова step можно задать значение на которое будет увеличиваться переменная цикла.
Эта програма выведет
Можно сделать и обратный отсчёт
Эта програма выведет
Цикл можно прервать с помощью инструкции exit for.
Выведет
Использовать принудительный выход из цикла, оператором exit for не рекомендуеться, так как это затрудняет понимание кода.
Подумайте, возможно есть смысл использовать не цыкл а петлю где можно указать условие выхода?
Переменную цикла можно не только читать, но и изменять.
Эта программа выведет
Использовать изменение переменной цикла не рекомендуеться из-за того, что код будет более запутанным.
Подумайте, возможно есть смысл использовать не цыкл а петлю где можно указать условие выхода?
Оператор continue for пропускает оставшиеся инструкции. Он сразу делает следующий шаг, переходя на следующий заход.
Программа выведет
конструкция for ./. next обеспечивает циклический повтор инструкций.
- Код:
' переменная цыкла
dim i as integer
' начинаем цикл
for i = 1 to 3
' инструкции внутри цикла
print "xxx"
' завершаем цикл
next
Выполнит инструкцию
- Код:
print "xxx"
- Код:
for {переменная цикла} = {начальное значение} to {конечное значение}
...
блок инструкций
...
next
Переменная цикла используеться для счёта от начального до конечного значения.
При входе в цикл, переменной цикла присваиваеться начальное значение.
После выполняеться блок инструкций.
Когда выполнение доходит до оператора next.
переменная увеличиваеться на единицу, Выполняеться проверка, если переменная цикла небольше конечного значения,блок инструкций повторяеться ещё раз.
Если же переменная цикла больше конечного значения, то цикл завершаеться и выполняеться инструкция следующая после next.
- Код:
' переменная цыкла
dim i as integer
print "begin"
' цикл, считаем i от 1 до 3
for i = 1 to 3
' напечатаем значение
print i
next
' цикл завершон
print "end"
' посмотрим что содержит переменная цикла
print i
Эта програма выведет
begin
1
2
3
end
4
Возможно изменить шаг цикла. По умолчанию он равен 1, но с помощью ключевого слова step можно задать значение на которое будет увеличиваться переменная цикла.
- Код:
' переменная цыкла
dim i as integer
' счёт для i от 1 до 7 с шагом в 3
for i = 1 to 7 step 3
print i
next
Эта програма выведет
1
4
7
Можно сделать и обратный отсчёт
- Код:
dim i as integer
' счёт для i от 3 до 1 с обратным шагом на 1
for i = 3 to 1 step -1
print i
next
Эта програма выведет
3
2
1
Цикл можно прервать с помощью инструкции exit for.
- Код:
' переменная цыкла
dim i as integer
for i = 1 to 9
if i * i = 25 then
exit for
end if
print i
next
Выведет
1
2
3
4
Использовать принудительный выход из цикла, оператором exit for не рекомендуеться, так как это затрудняет понимание кода.
Подумайте, возможно есть смысл использовать не цыкл а петлю где можно указать условие выхода?
Переменную цикла можно не только читать, но и изменять.
- Код:
' переменная цыкла
dim i as integer
' считаем от 1 до 7
for i = 1 to 7
' пропускаем значения 3 и 4
if i = 3 then
i = 5
end if
print i
next
Эта программа выведет
1
2
5
6
7
Использовать изменение переменной цикла не рекомендуеться из-за того, что код будет более запутанным.
Подумайте, возможно есть смысл использовать не цыкл а петлю где можно указать условие выхода?
Оператор continue for пропускает оставшиеся инструкции. Он сразу делает следующий шаг, переходя на следующий заход.
- Код:
' переменная цыкла
dim i as single = 0
' цыкл
for i = 1 to 20
if (int(i/2) +0.5)*2 = i then
' если нечётное число
print "нечётное "; i
else
' переходим к началу петли
continue for
end if
print "ok"
next
Программа выведет
нечётное 1
ok
нечётное 3
ok
нечётное 5
ok
нечётное 7
ok
нечётное 9
ok
нечётное 11
ok
нечётное 13
ok
нечётное 15
ok
нечётное 17
ok
нечётное 19
ok
Последний раз редактировалось: Eric-S (Вт Авг 25, 2009 7:00 pm), всего редактировалось 2 раз(а)
Re: цыкл for ... next
eric пишет
правильней будет так:
Когда выполнение доходит до оператора next.
переменная увеличиваеться на единицу, Выполняеться проверка, если переменная цикла небольше конечного значения,блок инструкций повторяеться ещё раз.
посмотрим следующий код:
результат:
1
2
3
4
причем это не глюк FreeBasic. только что достал старый запыленный qbasic1.0rus, там такой же результат.
Когда выполнение доходит до оператора next.
Выполняеться проверка, если переменная цикла не равна конечному значению, то переменная увеличиваеться на единицу, а блок инструкций повторяеться ещё раз.
правильней будет так:
Когда выполнение доходит до оператора next.
переменная увеличиваеться на единицу, Выполняеться проверка, если переменная цикла небольше конечного значения,блок инструкций повторяеться ещё раз.
посмотрим следующий код:
- Код:
dim i as integer
for i=1 to 3
print i
next
print i
sleep
результат:
1
2
3
4
причем это не глюк FreeBasic. только что достал старый запыленный qbasic1.0rus, там такой же результат.
electrik- Сообщения : 391
Дата регистрации : 2008-09-02
Возраст : 43
Откуда : галактика Млечный путь, система Солнечная, планета Земля, страна россия, город Санкт Петербург
Re: цыкл for ... next
Благодарю за поправку. Изменил главу.
Подобные тонкости в некоторых случаях могут быть критичны.
Подобные тонкости в некоторых случаях могут быть критичны.
Страница 1 из 1
Права доступа к этому форуму:
Вы не можете отвечать на сообщения