Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вопрос по работе For, While

Ответить
Настройки темы
[решено] Вопрос по работе For, While

Пользователь


Сообщения: 144
Благодарности: 0

Профиль | Отправить PM | Цитировать


Народ подскажите, почему в этом простом примере:
Код: Выделить весь код
$j = 1

For $i = 1 To 50
	ConsoleWrite("i = " & $i & @CRLF)
	While $j <= 100
		ConsoleWrite("i = " & $i & @TAB & "j = " & $j & @CRLF)
		$j += 1
	WEnd
Next
У меня для i = 1 цикл While работает 100 раз, а потом когда i = 2 он уже пропускается?

Скрытый текст
Код: Выделить весь код
i = 1
i = 1	j = 1
i = 1	j = 2
i = 1	j = 3
i = 1	j = 4
i = 1	j = 5
i = 1	j = 6
i = 1	j = 7
i = 1	j = 8
i = 1	j = 9
i = 1	j = 10
i = 1	j = 11
i = 1	j = 12
i = 1	j = 13
i = 1	j = 14
i = 1	j = 15
i = 1	j = 16
i = 1	j = 17
i = 1	j = 18
i = 1	j = 19
i = 1	j = 20
i = 1	j = 21
i = 1	j = 22
i = 1	j = 23
i = 1	j = 24
i = 1	j = 25
i = 1	j = 26
i = 1	j = 27
i = 1	j = 28
i = 1	j = 29
i = 1	j = 30
i = 1	j = 31
i = 1	j = 32
i = 1	j = 33
i = 1	j = 34
i = 1	j = 35
i = 1	j = 36
i = 1	j = 37
i = 1	j = 38
i = 1	j = 39
i = 1	j = 40
i = 1	j = 41
i = 1	j = 42
i = 1	j = 43
i = 1	j = 44
i = 1	j = 45
i = 1	j = 46
i = 1	j = 47
i = 1	j = 48
i = 1	j = 49
i = 1	j = 50
i = 1	j = 51
i = 1	j = 52
i = 1	j = 53
i = 1	j = 54
i = 1	j = 55
i = 1	j = 56
i = 1	j = 57
i = 1	j = 58
i = 1	j = 59
i = 1	j = 60
i = 1	j = 61
i = 1	j = 62
i = 1	j = 63
i = 1	j = 64
i = 1	j = 65
i = 1	j = 66
i = 1	j = 67
i = 1	j = 68
i = 1	j = 69
i = 1	j = 70
i = 1	j = 71
i = 1	j = 72
i = 1	j = 73
i = 1	j = 74
i = 1	j = 75
i = 1	j = 76
i = 1	j = 77
i = 1	j = 78
i = 1	j = 79
i = 1	j = 80
i = 1	j = 81
i = 1	j = 82
i = 1	j = 83
i = 1	j = 84
i = 1	j = 85
i = 1	j = 86
i = 1	j = 87
i = 1	j = 88
i = 1	j = 89
i = 1	j = 90
i = 1	j = 91
i = 1	j = 92
i = 1	j = 93
i = 1	j = 94
i = 1	j = 95
i = 1	j = 96
i = 1	j = 97
i = 1	j = 98
i = 1	j = 99
i = 1	j = 100
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
i = 10
i = 11
i = 12
i = 13
i = 14
i = 15
i = 16
i = 17
i = 18
i = 19
i = 20
i = 21
i = 22
i = 23
i = 24
i = 25
i = 26
i = 27
i = 28
i = 29
i = 30
i = 31
i = 32
i = 33
i = 34
i = 35
i = 36
i = 37
i = 38
i = 39
i = 40
i = 41
i = 42
i = 43
i = 44
i = 45
i = 46
i = 47
i = 48
i = 49
i = 50

Отправлено: 20:09, 18-03-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата HFShak:
а потом когда i = 2 он уже пропускается? »
Потому, что срабатывает условие при «While»:
Код: Выделить весь код
While $j <= 100
— оно ложно после первого прохода внешнего цикла, потому внутренний цикл не исполняется больше ни разу.

Я полагаю, Вам надо было нечто такое:
Код: Выделить весь код
For $i = 1 To 50
	ConsoleWrite("i = " & $i & @CRLF)
	
	$j = 1
	
	While $j <= 100
		ConsoleWrite("i = " & $i & @TAB & "j = " & $j & @CRLF)
		$j += 1
	WEnd
Next
?!
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:40, 18-03-2015 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для CyberDaemon

DOOMer


Сообщения: 3254
Благодарности: 438

Профиль | Отправить PM | Цитировать


Цитата Iska:
оно ложно после первого прохода внешнего цикла »
Разумеется. Т.к. j было однократно инициализировано перед внешним циклом, то после первого прогона внутреннего цикла j становится равно 101 и внутренний цикл больше срабатывать не будет. Добавь в первый ConsoleWrite вывод переменной j и все будет сразу видно.

-------
"640 K ought to be enough for anybody" Bill Gates, 1981

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:09, 18-03-2015 | #3


Пользователь


Сообщения: 144
Благодарности: 0

Профиль | Отправить PM | Цитировать


Точно, спасибо!

Отправлено: 10:28, 19-03-2015 | #4



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Вопрос по работе For, While

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
.NET - Вопрос по работе с памятью navab Программирование и базы данных 1 14-12-2012 10:46
HDD - Вопрос по работе в DMDE van_De_Star Накопители (SSD, HDD, USB Flash) 2 06-09-2012 17:02
Вопрос по работе вентилятора Kamuflych Разгон, охлаждение и моддинг 3 10-11-2011 15:20
Разное - [решено] вопрос по работе HDD sasa74 Microsoft Windows Vista 4 26-12-2009 20:30
Вопрос по работе с файлами по сети NorthWich Программное обеспечение Windows 2 29-02-2008 12:56




 
Переход