Я пытаюсь писать функции на мупаде, но, кажется, я не понял, как работают процедуры и идентификаторы. Я получаю каждый раз сообщение «Ошибка: Неожиданный идентификатор». Первый пример: я попытался изменить первую строку данной матрицы на [1 1 ... 1]. Я написал следующий код:
shibutz:=proc(B)
begin
cons:=Dom::Matrix():
l:=max(cons::matdim(B));
for k from 1 to l do
B[1,k]:=1;
end_for
print(B);
end_proc
Второй пример: другой код, который выдает ту же ошибку, — это написанная мной процедура, проверяющая теорему Гольдбаха о том, что каждое четное число является суммой двух простых чисел:
golbach:=proc(n)
begin
flag=bool(9<8);
theprimes:=select([$2..n-1],isprime);
for k from 1 to nops(theprimes) do
if(isprime(n-k)=TRUE) then
flag=bool(1>0);
end_if
end_for
return (flag);
end_proc
Что я делаю не так? каких идентификаторов мупад не ожидал?
shibutz
), я получил ошибку вline 8
, который является вашим операторомprint
. Я знаю, что самprint
должен работать, поэтому предполагаю, что что-то в цикле пошло не так. Являются ли значения дляcons
иl
такими, как вы ожидаете? - person Schorsch   schedule 25.06.2013