|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
П.С.М. , Как я понял, ТС'у после вывода "2222" нужно выйти не только из цикла, но и вообще из программы:Виталийv4567 Вот такой код работает как задумывалось :prog7 f i=0:1:10 g:i=5 met1 d.. . w !,i w !,"1111" met1 w !,"2222" qВот результат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
А Ваш вариант под это условие не подходит:prog7 s q=0 f i=1:1 d q:q . w !,i . s:i=5 q=1 w !,"1111" met1 w !,"2222" qРезультат Код: plaintext 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 13:16 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
авторА Ваш вариант под это условие не подходит: servit я не предлагал какого-либо конечного варианта для ТС. Я описывал лишь то, что и как можно сделать. А уж что конкретно хочет реализовать ТС, пусть уж сам реализовывает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 13:28 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
prog7 s q=0 f i=1:1 d q:q . w !,i . s:i=5 q=1 w !,"1111" met1 w !,"2222" qЯ такого не писал :), не нужно мне приписывать чужих заслуг. У ТС проблемы с пониманием контекста выполнения, он не понимал где тело цикла, а где процедура. И из-за этого непонимания, пытался выходом из процедуры выйти и из цикла. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 13:36 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Виталийv4567, Вы просите, чтобы вам помогли закодировать вещи, которых вы, как говорится, "не должны хотеть", тем более, будучи новичком в программировании. Используйте простые управляющие структуры, для начала хватит 2-ух. Простое ветвление:if условие do . something1 . something2 else do . something3 . something4и простой цикл с проверкой в начале; общая идея:set условие=0,itop=NNNN for i=1:1:itop quit:(условие) do . something1 . something2 . if something3 set условие=1 quit . something4 С учебниками по M дело, увы, обстоит не очень (книга уважаемого нами всеми Е.Каратаева, конечно, не учебник). В инете можно найти скан единственного изданного в России: Гессе Стефан, Кирстен Вольфганг. Введение в язык программирования М. Посмотрите примеры в этой книге, стиль кодирования простой и ясный. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 15:11 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Можно здесь посмотреть. По моему не плохо изложено. http://www.mumps.cz/gtm/misc/MUMPS.TXT Там с кодовой страницы не важно. Короче найдите в инете Джон Левкович "Все о языке программирования и системе MUMPS" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 15:30 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
В частности, скан есть здесь http://www.minimdb.com/mbook/gesse_kirsten_vvedenie_v_yazyk_programmirova.djvu ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 16:13 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Эти книжки то же есть у меня и я их то же читаю. Сейчас вот посмотрел по поводу цикла, написано что прыгнуть можно только из одинаковых уровней вложенности, а из неодинаковых нельзя. Всё таки бывают такие ситуации когда надо выпрыгнуть да же из конечного цикла, просто уже принципиально интересно можно ли как то это осуществить в MUMPS? Вариант:set условие=0,itop=NNNN for i=1:1:itop quit:(условие) do . something1 . something2 . if something3 set условие=1 quit . something4Не подходит, так как например надо выпрыгнуть из середине блока-цикла, а условие quit:(условие) будет проверяться только после того как закончится весь блок. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 17:40 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Виталийv4567, В Си знаю точно что можно выпрыгнуть по goto и если не ошибаюсь то можно по условию выполнить оператор break и выйти из цикла. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 17:42 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Виталийv4567set условие=0,itop=NNNN for i=1:1:itop quit:(условие) do . something1 . something2 . if something3 set условие=1 quit . something4Не подходит, так как например надо выпрыгнуть из середине блока-цикла, а условие quit:(условие) будет проверяться только после того как закончится весь блок.set условие=0,itop=NNNN for i=1:1:itop do (2 пробела) quit:(условие) . something1 . something2 . if something3 set условие=1 quit . something4 ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 17:49 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Виталийv4567В Си знаю точно что можно выпрыгнуть по goto Что же Вы так пристали-то к этому goto? Вас убеждают все же одуматься и отказаться от такого использования этого оператора, однако Вы с каким-то завидным упорством продолжаете твердить про goto. Виталийv4567можно по условию выполнить оператор break и выйти из цикла. Заметьте, что оператор break передает управление на строку, следующую сразу за циклом, в отличии от goto передающего управление не важно откуда и черти куда. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 20:20 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
П.С.М., Да не goto дело, просто нет возможности прекратить цикл по условию и выйти. А если будет такая конструкция что в цикле ветвление, а в нём опять цикл и надо будет из этого внезапно выйти, бывают такие моменты. А здесь уже и не получится. Некоторая ущербность..... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2015, 23:47 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Виталийv4567...нет возможности прекратить цикл по условию и выйти.В вышеприведённых примерах, по вашему, вот это что:. if something3 set условие=1 quitвыход из блока do, но еще не из цикла, верно? А последующая проверка:quit:(условие)что сделает? Книги у вас может и есть, но как в старом анекдоте "чукча не читатель, чукча писатель". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 00:04 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
Виталийv4567просто нет возможности прекратить цикл по условию и выйти Разве предложенный ранее вариант не работает ? этот: set условие=0,itop=NNNN for i=1:1:itop do (2 пробела) quit:(условие) . something1 . something2 . if something3 set условие=1 quit . something4 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 08:16 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
2acidВиталийv4567просто нет возможности прекратить цикл по условию и выйти Разве предложенный ранее вариант не работает ? этот: set условие=0,itop=NNNN for i=1:1:itop do (2 пробела) quit:(условие) . something1 . something2 . if something3 set условие=1 quit . something4Или так set itop=NNNN for i=1:1:itop do (2 пробела) . something1 . something2 . if something3 set i=itop+1 quit . something4 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 09:22 |
|
Какая то чертовщина с этим gt.m
|
|||
---|---|---|---|
#18+
ОГРОМНОЕ ВСЕМ СПАСИБО!!! Да действительно эти способы работают. Значит выпрыгнуть из цикла можно! Вот пример 1:prog8 f i=1:1:30 d q:i=6.. . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . i i=6 q.. . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i w ! qРезультат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
s per=30 f i=1:1:per d.. . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . i i=6 s i=per+1 q.. . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i . s i=i+1 . w !,i w ! qРезультат: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
17.02.2015, 11:25 |
|
|
start [/forum/topic.php?fid=39&msg=38881001&tid=1556727]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 154ms |
0 / 0 |