2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Maple как НЕ выводить результат вычисления?
Сообщение04.08.2011, 18:48 
Заслуженный участник


08/04/08
8562
Например, такой код:
Код:
S:=0;
for k from 1 to 1000 do
S:=S+k; // результат выводить НЕ нужно
od;
S;

Как убрать вывод результата вычисления в каждом шаге цикла?
Замена S:=S+k; на S:=S+k: не помогает никак - все равно все выводится.
Поставить двоеточие после od нежелательно - нельзя выводить вообще все внутри цикла.

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение04.08.2011, 19:01 
Заслуженный участник


20/12/10
9107
Во вложенном цикле такого не происходит, поэтому можно просто добавить ещё один внешний цикл типа for i from 0 to 0 do <далее то, что надо> od; Как сделать по-человечески, не знаю, но тоже был бы рад узнать.

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение04.08.2011, 19:04 
Заслуженный участник


08/04/08
8562
nnosipov писал(а):
Во вложенном цикле такого не происходит, поэтому можно просто добавить ещё один внешний цикл типа for i from 0 to 0 do <далее то, что надо> od; Как сделать по-человечески, не знаю, но тоже был бы рад узнать.

Код:
S:=0;
for k from 1 to 20 do
for m from 1 to 1 do
S:=S+k:
od:
k;
od;
S;

тоже не помогло - все равно выводит значения S. :-( Вот козёл! :evil:

(Оффтоп)

мало того, что я 10 дней (вырезано цензурой) пока узнал о printlevel...


help писал(а):
To suppress the output of large computations, place a colon at the end of the Maple command.
> 10000!:

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение04.08.2011, 19:56 
Заслуженный участник


25/02/11
1797
Вот так не печатает:
Код:
S:=0;
for k from 1 to 1000 do
S:=S+k;
od:
S;
S

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение04.08.2011, 20:47 
Заслуженный участник


08/04/08
8562
Vince Diesel в сообщении #473513 писал(а):
Вот так не печатает:
Код:
S:=0;
for k from 1 to 1000 do
S:=S+k;
od:
S;
S


Спасибо, работает, но принцип неясен.
Реальный код такой:
Код:
printlevel := 3;
A:= 2; C:=20; B:=binomial(2*A-3,A-2);
for k from A to C do
for m from 1 to 1 do
B:=B*2*(2*k-1)/k;
od:
if (not isprime(k) and k mod 2 = 1) then
if B mod k = 1 then
k;
fi;
fi;
od;
k;

И вот что мне с вычислением B сделать? :roll: Если я там без ; или : оставлю - не отработает, иначе - выводит.

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение04.08.2011, 22:31 


19/05/10

3940
Россия
Как это не ясен, последнее двоеточие убивает весь вывод
и где вы команду od отрыли, понятнее писать end do

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение05.08.2011, 06:35 
Заслуженный участник


08/04/08
8562
mihailm в сообщении #473547 писал(а):
Как это не ясен, последнее двоеточие убивает весь вывод

У меня оно ничего не убивает - выводит как обычно.
mihailm в сообщении #473547 писал(а):
и где вы команду od отрыли, понятнее писать end do

Не помню :-) Где-то отрыл. Мне всяко лучше чем end do.

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение05.08.2011, 09:41 
Заслуженный участник


25/02/11
1797
С двоеточием в последнем od вывода меньше:
Код:
printlevel := 3;
A:= 2; C:=20; B:=binomial(2*A-3,A-2);
for k from A to C do
for m from 1 to 1 do
B:=B*2*(2*k-1)/k;
od:
if (not isprime(k) and k mod 2 = 1) then
if B mod k = 1 then
k;
fi;
fi;
od:
k;

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение05.08.2011, 11:48 
Заслуженный участник


08/04/08
8562
А! Понял! Вы все обворачиваете двоеточием, а то, что нужно выводить пишете отдельно внизу? Попробую...

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение05.08.2011, 16:40 
Заслуженный участник


08/04/08
8562
Нет, не выводит :-(, выводит лишь последнее $k$, а должен выводить значения $k$ внутри цикла (здесь должен вывести $9$)

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение05.08.2011, 18:58 
Заслуженный участник


25/02/11
1797
У меня выводит вот что:
Код:
                                      3
                                      2
                                     20
                                      1
                                     21

девятки нет.

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение05.08.2011, 20:26 
Заслуженный участник


08/04/08
8562
Vince Diesel в сообщении #473705 писал(а):
Код:
У меня выводит вот что:
Код:
                                      3
                                      2
                                     20
                                      1
                                     21

девятки нет.


И я про то же: не выводит, но должен.
Я может непонятно сформулировал :roll: ?

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение06.08.2011, 08:26 
Заслуженный участник


25/02/11
1797
Ну, можно по-простому поставить print:
Код:
printlevel := 3;
A:= 2; C:=20; B:=binomial(2*A-3,A-2);
for k from A to C do
for m from 1 to 1 do
B:=B*2*(2*k-1)/k;
od:
if (not isprime(k) and k mod 2 = 1) then
if B mod k = 1 then
print(k);
fi;
fi;
od:
k;

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение06.08.2011, 14:22 
Заслуженный участник


08/04/08
8562
Vince Diesel в сообщении #473775 писал(а):
Ну, можно по-простому поставить print:

Вот! Про print-то я и не знал! :lol: Спасибо! Теперь можно работать!

 Профиль  
                  
 
 Re: Maple как НЕ выводить результат вычисления?
Сообщение15.03.2023, 11:01 


15/03/23
1
Перед оператором с нежелательным выводом информации поставьте команду

printlevel := 0;

Для восстановления статуса-кво поставьте команду

printlevel := 1;

Вообще полезно изучить действия операторов

printlevel:=; printlevel:=1; printlevel:=2; printlevel:=3; ...

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 15 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group