powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Какая то чертовщина с этим gt.m
15 сообщений из 40, страница 2 из 2
Какая то чертовщина с этим gt.m
    #38880634
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С.М. ,

Как я понял, ТС'у после вывода "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.
GTM>zl "prog7.m"

GTM>d ^prog7

0
1
2
3
4
2222
GTM>


А Ваш вариант под это условие не подходит: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.
1
2
3
4
5
1111
2222
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38880645
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА Ваш вариант под это условие не подходит:
servit я не предлагал какого-либо конечного варианта для ТС. Я описывал лишь то, что и как можно сделать. А уж что конкретно хочет реализовать ТС, пусть уж сам реализовывает :)
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38880657
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
prog7
      s q=0
      f i=1:1 d  q:q
      . w !,i
      . s:i=5 q=1
      w !,"1111"
met1  w !,"2222"
      qЯ такого не писал :), не нужно мне приписывать чужих заслуг.
У ТС проблемы с пониманием контекста выполнения, он не понимал где тело цикла, а где процедура. И из-за этого непонимания, пытался выходом из процедуры выйти и из цикла.
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38880744
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталий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 дело, увы, обстоит не очень (книга уважаемого нами всеми Е.Каратаева, конечно, не учебник). В инете можно найти скан единственного изданного в России: Гессе Стефан, Кирстен Вольфганг. Введение в язык программирования М.
Посмотрите примеры в этой книге, стиль кодирования простой и ясный.
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38880768
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно здесь посмотреть.
По моему не плохо изложено.
http://www.mumps.cz/gtm/misc/MUMPS.TXT
Там с кодовой страницы не важно.
Короче найдите в инете Джон Левкович "Все о языке программирования и системе MUMPS"
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38880843
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В частности, скан есть здесь
http://www.minimdb.com/mbook/gesse_kirsten_vvedenie_v_yazyk_programmirova.djvu
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38880999
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Эти книжки то же есть у меня и я их то же читаю.

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

Всё таки бывают такие ситуации когда надо выпрыгнуть да же из конечного цикла, просто уже принципиально интересно можно ли как то это осуществить в MUMPS?

Вариант:set условие=0,itop=NNNN
for i=1:1:itop quit:(условие)  do
. something1
. something2
. if something3 set условие=1 quit
. something4Не подходит, так как например надо выпрыгнуть из середине блока-цикла, а условие quit:(условие) будет проверяться только после того как закончится весь блок.
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881001
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567,

В Си знаю точно что можно выпрыгнуть по goto и если не ошибаюсь то можно по условию выполнить оператор break и выйти из цикла.
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881010
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталий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
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881132
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567В Си знаю точно что можно выпрыгнуть по goto
Что же Вы так пристали-то к этому goto? Вас убеждают все же одуматься и отказаться от такого использования этого оператора, однако Вы с каким-то завидным упорством продолжаете твердить про goto.
Виталийv4567можно по условию выполнить оператор break и выйти из цикла.
Заметьте, что оператор break передает управление на строку, следующую сразу за циклом, в отличии от goto передающего управление не важно откуда и черти куда.
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881214
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С.М.,

Да не goto дело, просто нет возможности прекратить цикл по условию и выйти. А если будет такая конструкция что в цикле ветвление, а в нём опять цикл и надо будет из этого внезапно выйти, бывают такие моменты. А здесь уже и не получится. Некоторая ущербность.....
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881219
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Виталийv4567...нет возможности прекратить цикл по условию и выйти.В вышеприведённых примерах, по вашему, вот это что:. if something3 set условие=1 quitвыход из блока do, но еще не из цикла, верно? А последующая проверка:quit:(условие)что сделает?

Книги у вас может и есть, но как в старом анекдоте "чукча не читатель, чукча писатель".
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881276
2acid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Виталийv4567просто нет возможности прекратить цикл по условию и выйти
Разве предложенный ранее вариант не работает ?
этот: set условие=0,itop=NNNN
 for i=1:1:itop do (2 пробела) quit:(условие)
 . something1
 . something2
 . if something3 set условие=1 quit
 . something4
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881307
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Какая то чертовщина с этим gt.m
    #38881489
Виталийv4567
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОГРОМНОЕ ВСЕМ СПАСИБО!!!

Да действительно эти способы работают.
Значит выпрыгнуть из цикла можно!
Вот пример 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.
GTM>zl "prog8.m"

GTM>d ^prog8

2
3
4
5
6

GTM>
Вот пример 2:prog9
        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.
GTM>d ^prog9

2
3
4
5
6

GTM>
...
Рейтинг: 0 / 0
15 сообщений из 40, страница 2 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Какая то чертовщина с этим gt.m
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]