36 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 25
1

Написать батник, который выводит числа от 1 до 256, не используя команду FOR

13.12.2011, 22:27. Показов 7233. Ответов 51
Метки нет (Все метки)

Народ помогите написать батник, который выводит числа от 1 до 256, не используя команду FOR. Как? Plize!
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.12.2011, 22:27
Ответы с готовыми решениями:

Написать батник, который определял бы мой IP-адрес и подставлял его в команду добавления маршрута
У меня следующая ситуация: я подключаюсь к удаленному серверу, используя ВПН-туннель. Для...

Написать цикл на javascript который последовательно выводит числа
Доброе время суток! Мне очень нужна ваша помощь. Дали задание и совсем не могу уловить логику....

Батник, который запрашивает имя папки и выводит отсортированные элементы по дате
Батник, который запрашивает имя папки и выводит отсортированные элементы по дате. Помогите,...

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

51
62 / 79 / 15
Регистрация: 24.11.2010
Сообщений: 515
Записей в блоге: 14
13.12.2011, 23:13 2
Я нашел только одно решение как не использовать for
будет выглядеть примерно так:
Код
start
..................
команды, в твоем случае вывод числа
..................
if ... goto exit
goto start
exit
0
18 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 379
13.12.2011, 23:25 3
Правда немного изврат, но работать будет ))))
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
echo off
echo После нажатия клавиши будет произведен вывод чисел от 1 до 256
pause
 
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12
echo 13
echo 14
echo 15
echo 16
echo 17
echo 18
echo 19
echo 20
echo 21
echo 22
echo 23
echo 24
echo 25
echo 26
echo 27
echo 28
echo 29
echo 30
echo 31
echo 32
echo 33
echo 34
echo 35
echo 36
echo 37
echo 38
echo 39
echo 40
echo 41
echo 42
echo 43
echo 44
echo 45
echo 46
echo 47
echo 48
echo 49
echo 50
echo 51
echo 52
echo 53
echo 54
echo 55
echo 56
echo 57
echo 58
echo 59
echo 60
echo 61
echo 62
echo 63
echo 64
echo 65
echo 66
echo 67
echo 68
echo 69
echo 70
echo 71
echo 72
echo 73
echo 74
echo 75
echo 76
echo 77
echo 78
echo 79
echo 80
echo 81
echo 82
echo 83
echo 84
echo 85
echo 86
echo 87
echo 88
echo 89
echo 90
echo 91
echo 92
echo 93
echo 94
echo 95
echo 96
echo 97
echo 98
echo 99
echo 100
echo 101
echo 102
echo 103
echo 104
echo 105
echo 106
echo 107
echo 108
echo 109
echo 110
echo 111
echo 112
echo 113
echo 114
echo 115
echo 116
echo 117
echo 118
echo 119
echo 120
echo 121
echo 122
echo 123
echo 124
echo 125
echo 126
echo 127
echo 128
echo 129
echo 130
echo 131
echo 132
echo 133
echo 134
echo 135
echo 136
echo 137
echo 138
echo 139
echo 140
echo 141
echo 142
echo 143
echo 144
echo 145
echo 146
echo 147
echo 148
echo 149
echo 150
echo 151
echo 152
echo 153
echo 154
echo 155
echo 156
echo 157
echo 158
echo 159
echo 160
echo 161
echo 162
echo 163
echo 164
echo 165
echo 166
echo 167
echo 168
echo 169
echo 170
echo 171
echo 172
echo 173
echo 174
echo 175
echo 176
echo 177
echo 178
echo 179
echo 180
echo 181
echo 182
echo 183
echo 184
echo 185
echo 186
echo 187
echo 188
echo 189
echo 190
echo 191
echo 192
echo 193
echo 194
echo 195
echo 196
echo 197
echo 198
echo 199
echo 200
echo 201
echo 202
echo 203
echo 204
echo 205
echo 206
echo 207
echo 208
echo 209
echo 210
echo 211
echo 212
echo 213
echo 214
echo 215
echo 216
echo 217
echo 218
echo 219
echo 220
echo 221
echo 222
echo 223
echo 224
echo 225
echo 226
echo 227
echo 228
echo 229
echo 230
echo 231
echo 232
echo 233
echo 234
echo 235
echo 236
echo 237
echo 238
echo 239
echo 240
echo 241
echo 242
echo 243
echo 244
echo 245
echo 246
echo 247
echo 248
echo 249
echo 250
echo 251
echo 252
echo 253
echo 254
echo 255
echo 256
echo Вывод чисел закончен 
pause
exit /b
Добавлено через 6 минут
Да точно goto забыл !

можно и на goto

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo off
 
set /A digit=1
:start
echo %digit%
 
SET /A digit=0+1
::так тут нужно установить инкремент что  б прибавлять значения +1
if %digit% == 256 goto end
goto start
 
echo Вывод закончен
pause
:end
так сейчас вспомню как прибавлять значения в bath....
1
795 / 177 / 9
Регистрация: 11.01.2011
Сообщений: 543
13.12.2011, 23:56 4
Харе флудить, только неясности вводите и ошибки плодите.
Не знаете как писать правильный код - не пишите код, опишите алгоритм словами.


Bash
1
2
3
4
5
6
7
8
@echo off
set /a count=0
:cikl
set /a count+=1
echo %count%
if %count% LSS 256 goto cikl
pause
exit
1
18 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 379
14.12.2011, 00:07 5
Прошу прощение флудить и не старался

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
echo off
 
set /A digit=1
:start
echo %digit%
 
SET /A digit+=1
::так тут нужно установить инкремент что  б прибавлять значения +1
if %digit% == 257 goto end
goto start
 
 
:end
echo Vivod zakonchen
pause
А из ошибок только вот один плюс не правильно сделал:
SET /A digit=1+1
SET /A digit+=1

Просто попытался помочь или помощь это флуд ?

И первый и второй вариант моего кода имеет ответ на поставленную задачу.

Единственное второй имеет ошибку в один знак.. и только ...
2
795 / 177 / 9
Регистрация: 11.01.2011
Сообщений: 543
14.12.2011, 00:18 6
SET /A digit=0+1
Тут получиться выведет одни единицы.
SET /A digit=1+1
А тут одни двойки.
Bash
1
SET /A digit=%digit%+1
ИМХО, в вашем коде нет решения, так как из-за этой 1 ошибки все не будет работать.

Сравнение, если человек, который плохо плавает пытается спасти того, кто не умеет плавать и пытается не утонуть, скорее всего он только помешает.
2
18 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 379
14.12.2011, 00:40 7
Цитата Сообщение от wildwolf007 Посмотреть сообщение
так сейчас вспомню как прибавлять значения в bath....

Наверное данное сообщение я не зря писал, подразумевая что последуют исправления если что не так.

А из ошибок только вот один плюс не правильно сделал:
SET /A digit=1+1
SET /A digit+=1

А в награду получил -17 репутации....


И ЭТО ЗА ТО, ЧТО ХОТЕЛ ПОМОЧЬ!!!!

ЧТО ЗА ДРЕБЕДЕНЬ ????
2
Ris
14.12.2011, 00:49
  #8

Не по теме:

-1. Может быть уже закроем данный вопрос? Вот теперь мы реально флудим

0
36 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 25
14.12.2011, 21:26  [ТС] 9
Огромное сем СПАСИБО!!!!!!!
0
36 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 25
15.12.2011, 21:27  [ТС] 10
LSS????????
0
18 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 379
15.12.2011, 22:06 11
Если брать вариант от RIS то LSS в справке по CMD меньше значения 256, он сравнивает, прнтскрин в закладке. А если брать мой вариант то я использую == в принципе тоже сравниваю но только с этим числом.

Таким образом у тебя получается 3 варианта реализации твоей задачи:

первый это c ECHO
второй с if ==
третий с if, но c LSS
Миниатюры
Написать батник, который выводит числа от 1 до 256, не используя команду FOR  
0
795 / 177 / 9
Регистрация: 11.01.2011
Сообщений: 543
15.12.2011, 23:48 12
Да, потому что цикл с постусловием.
set /a count=0
:cikl
set /a count+=1
Переменная равна 255
echo %count%
Выводит 255
if %count% LSS 256 goto cikl
Если 255 меньше 256 идем на метку cikl
pause&exit
:cikl
set /a count+=1
Переменная равна 256
echo %count%
Выводит 256
if %count% LSS 256 goto cikl
Если 256 меньше 256 идем на метку cikl
pause&exit
Можно и поменять. В принципе их много, я привел первым пришедший на ум. (нажми сюда)

Bash
1
2
3
4
5
6
7
@echo off
set /a count=0
:cikl
if %count% GEQ 256 (pause&exit)
set /a count+=1
echo %count%
goto cikl
Bash
1
2
3
4
5
6
7
@echo off
set /a count=0
:cikl
if %count%==256 (pause&exit)
set /a count+=1
echo %count%
goto cikl
Bash
1
2
3
4
5
6
7
8
@echo off
set /a count=0
:cikl
set /a count+=1
echo %count%
if not %count%==256 (goto cikl)
pause
exit
Bash
1
2
3
4
5
6
7
@echo off
set /a count=0
:cikl
set /a count+=1
if %count% LSS 257 (echo %count%&goto cikl)
pause
exit
Bash
1
2
3
4
5
6
7
@echo off
set /a count=0
:cikl
set /a count+=1
if not %count%==257 (echo %count%&goto cikl)
pause
exit
0
18 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 379
16.12.2011, 07:58 13
Но конструкция остается одной и той же. Можно ли еще как-то вывести не используя for и не используя данную конструкцию ?

чето сам думал пока ничего не придумал....
0
795 / 177 / 9
Регистрация: 11.01.2011
Сообщений: 543
16.12.2011, 09:14 14
А тебе то зачем это?

Мы ТС представили 2 варианта, с подвариантами. Я думаю ему хватило.
0
18 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 379
17.12.2011, 11:16 15
Просто интересно знать всевозможные варианты реализации данной идеи .... Ну что есть предложения?
0
36 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 25
05.01.2012, 23:42  [ТС] 16
Ребят а подскажите как без расширенных командных интерпретаторов с этим справится. ПОДСКАЖИТЕ PLEASE...
0
36 / 0 / 0
Регистрация: 13.12.2011
Сообщений: 25
07.01.2012, 14:32  [ТС] 17
Народ подскажите как без расширенных командных интерпретаторов типа set /A, батник выводил числа от 1 до 256. ПОДСКАЖИТЕ PLEASE...СПАСИБО!!!
0
795 / 177 / 9
Регистрация: 11.01.2011
Сообщений: 543
08.01.2012, 17:44 18
Не совсем понял, где здесь расширенные "расширенных командных интерпретаторов"
Bash
1
2
3
4
5
6
7
8
@echo off
set /a count=0
:cikl
set /a count+=1
echo %count%
if not %count%==256 (goto cikl)
pause
exit
0
887 / 189 / 16
Регистрация: 18.07.2011
Сообщений: 260
08.01.2012, 19:34 19
Проще пареной репы:
Bash
1
2
3
4
5
6
7
8
echo 1
echo 2
echo 3
...
echo 253
echo 254
echo 255
echo 256
С новым годом!!!
1
887 / 189 / 16
Регистрация: 18.07.2011
Сообщений: 260
08.01.2012, 19:46 20
Не для применения на практике, а для общего развития:
Bash
1
2
3
4
5
6
7
@echo off
echo . >0.tmp
:start
find /v /c "" <0.tmp
echo . >>0.tmp
find /v /c "" <0.tmp|find "256" 2>nul||goto :start
del 0.tmp
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.01.2012, 19:46
Помогаю со студенческими работами здесь

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

Как создать батник, который создает батник с командами?
Уже знаю, что такая тема была, но до конца не понял. Как создать батник, который создаст батник с...

Написать батник, который будет запускать Avast с определёнными параметрами и ключами
Добрый день! Идея состоит в том, чтобы написать батник, который будет заходить в папку с...

Батник, который пингует указанный IP-адрес и в случае отсутствия пинга запускает другой батник и закрывается
Доброго времени суток, столкнулся с проблемой ... нужен батник который будет пинговать айпишник к...

Как написать батник, который бы выполнял пинг ip- адресов из блокнота и переименовывал диалоговые окна?
Прошу подсказать как написать батник, который бы выполнял пинг ip- адресов из блокнота и...

Можно ли написать батник, который будет пинговать яндекс через одну сетевую карту?
к серверу подключены 2 подсети, через 2 сетевые карты, интернет в каждой подсети свой, можно ли...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru