15:36

В Maple нахожу решение:

Нужно оформить это решение в виде процедуры.
Делаю так:

Вызываю процедуру:

И ничего не происходит,т.е. решение не ищется, хотя когда делаешь тоже самое без процедуры решение находится. В чем ошибка? Помогите, пожалуйста!

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

Комментарии
21.04.2010 в 15:39

Хм. А куда вышеуказанная процедура должна возвращать результат?
21.04.2010 в 15:41

Enkryptor результат процедуры возвращается в M.
21.04.2010 в 15:52

После задания матрицы А, неизвестными в ней останутся только p и m1, поэтому мы задаем значение p:

и считаем определитель: . На этом этапе неизвестное в определителе будет только m1. Что я пытаюсь найти следующим образом:
21.04.2010 в 16:28

если, кто заинтересовался, и желает мне помочь, могу выложить файл Maple, где находится эта процедура;-)
Буду очень благодарна;)
21.04.2010 в 17:21

результат процедуры возвращается в M

А это не локальная переменная случаем? Просто предполагаю, так-то я с маплом дела не имел.
21.04.2010 в 17:29

локальная. Если делаю глобальной ничего не меняется(((
21.04.2010 в 17:31

делаю глобальной

а как именно делаешь? покажи пример кода
21.04.2010 в 17:41

В принципе просто приписываю global M; =)

Процедура нахождения масс

И вызываю, и опять ничего не происходит. Мне кажется ошибка гдето на поверхности, но я ее не вижу((
> Mass(1,1/6,1/2,5/6,1,1,1,7.433266872,47.43856088,81.34482671);
21.04.2010 в 18:08

Я подозреваю, что переменная M, которая потом смотрится вне процедуры и переменная M внутри процедуры обрабатываются маплом как две разные переменные.

У тебя global M написано внутри самой процедуры, а возможно, синтаксис обязует объявлять глобальную переменную до вызова процедуры, т.е. вне её (но это опять же предположение).
21.04.2010 в 18:41

Переменная M не используются вне процедуры.
Описание переменных нужно делать в самой процедуре.=)
:upset:
22.04.2010 в 13:03

И что будет, если в двух разных процедурах переменные будут иметь совпадающие имена?
22.04.2010 в 13:07

Это не 2 процедуры :)
Сначала я решила задачу, потом мне нужно было ее оформить в виде процедуры.
22.04.2010 в 13:39

Это был абстрактный вопрос. Представь что у тебя две разные процедуры, и в обоих задана переменная M. По идеологии любого нормального языка программирования они должны интерпретироваться как две разные переменные. А как в Мэйпл?
22.04.2010 в 13:41

Короче, попробуй строчку global M; вынести из процедуры в основной код.
23.04.2010 в 09:55

Не помогает?
25.04.2010 в 12:57

решаем проблемы с головой!
LuNa82, не будете отвечать?
26.04.2010 в 13:20

позже выложу как заработала данная процедура. Ошибки в ней так и не нашла
17.05.2010 в 17:51

решаем проблемы с головой!
Выложите?