Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327

Как сделать цикл с непоследовательными значениями?

31.03.2013, 22:26. Показов 888. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как можно сделать так, чтобы цикл перебирал значения, допустим, от 1 до 5 и от 10 до 25..То есть, чтобы 6,7,8,9 он не брал? Такое возможно?(Только мне надо все в одном цикле, а не несколько)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2013, 22:26
Ответы с готовыми решениями:

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

Цикл: Вычислить значение выражения. Как вывести формулу и сделать цикл while?
Последовательно вводятся N целых чисел. Найти минимальное из них. #include<stdio.h> #include<locale.h> #include...

Как сделать список с зависящими значениями?
Есть 1ое поле с выпадающими списками. допустим в них выбраны значения А, Б, В, Г, Д, А, А, Б, Д. Каждому из этих значений должно...

9
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
31.03.2013, 22:32
Visual Basic
1
2
3
4
For i = 1 To 25
If i = 6 Then i = 10
Print i
Next i
1
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327
01.04.2013, 07:09  [ТС]
спасибо)

Добавлено через 1 минуту
а если у меня в этом интервале, еще прирыв будет? то просто нужно добавить еще одно условие?
0
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
01.04.2013, 09:56
Visual Basic
1
2
3
4
5
6
7
8
9
'6-9,12-15,18-19
a = Array(6, 9, 12, 15, 18, 19, 1000)
k = 0
For i = 0 To 20
  If i = a(k) Then
   i = a(k + 1): k = k + 2
  End If
Print i
Next i
1
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
01.04.2013, 12:19
Лучший ответ Сообщение было отмечено как решение

Решение

Менять переменную цикла внутри цикла можно, но делать этого не следует, т.к. это может привести к логической ошибке, которую будет трудно обнаружить. Так написано в учебниках. Я сам на этом попался, потом видел пару раз на форумах коды с подобными ошибками, написанные кодерами моего уровня. И решил больше так не делать.
Всегда можно изменить структуру программы так, чтобы не пришлось менять переменную цикла в цикле:

1. Один небольшой перерыв в интервале (по мотивам поста #2):
Visual Basic
1
2
3
4
5
For i = 1 To 25
  If i <= 5 and i>=10 Then
    Print i
  end if
Next i
2. Большой перерыв или много интервалов разного размера (по мотивам поста #5)
Visual Basic
1
2
3
4
5
6
7
'6-9,12-15,18-19
a = Array(6, 9, 12, 15, 18, 19) 
for k = 0 to ubound(a) step 2
  For i = a(k) To a(k+1)
    Print i
  Next i
next k
3
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
01.04.2013, 12:34
Казанский, спасибо большое, я понял, это справедливое замечание
просто еще не попадался, так как такие структуры никогда не использую

Добавлено через 3 минуты
______________
очень часто ловлю себя на мысли, что программысты сродни адвокатам, - одним знаком препинания перевернут все с ног на голову
не, - с головы на ноги
0
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327
01.04.2013, 17:31  [ТС]
Спасибо большое)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,733
Записей в блоге: 14
01.04.2013, 22:01
Если речь идет о цикле по списку значений, то вот:

Visual Basic
1
2
3
4
5
6
7
Sub aa()
 Arr = Array(1, 3, 4, 7, 8, 9) 'сюда можно занести любую последовательность (даже не монотнную!)
 For Each i In Arr
     ' получили очердной индекс - делайте с ним, что хотите!
     Debug.Print i
 Next
End Sub
1
0 / 0 / 0
Регистрация: 07.03.2013
Сообщений: 327
02.04.2013, 07:18  [ТС]
А можете, пожалуйста, объяснить, что это за функция ubound?
И что значит, то что i = a(k)
0
 Аватар для Апострофф
9908 / 3924 / 742
Регистрация: 11.10.2011
Сообщений: 5,907
02.04.2013, 07:38
arsen1101995, откройте учебник,
посмотрите тут - Самоучители по Visual Basic
и здесь - Массивы. Обьявление массивов. Сортировка массивов
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.04.2013, 07:38
Помогаю со студенческими работами здесь

как мне строку внести в цикл чтоб в memo вывелись все слова которые есть между значениями 'alt=' 'title='
Здравствуйте подскажите пожалуйста как мне эту строку Memo2.text...

Как сделать цикл
Делаю калькулятор program calc; var a, b:integer; z:integer; p:string;

Как сделать цикл от 1 до n?
Как сделать цикл от 1 до n?

Как сделать цикл
Всем привет. Подскажите пожалуйста как сделать хитрый цикл. У меня есть кнопка, которую я снабдил функцией. При ее нажатии у меня...

Как сделать цикл?
Есть у меня формулки, которые нужно пересчитать 3000 раз. Для каждой формулы должно быть 3000 своих значений! Как мне это сделать? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru