           Общие правила:
- регистр букв имеет значение (A и a - разные переменные)
- переменные двух типов: (A-H, O-Z, a-h, o-z) вещественные с двойной точностью
                         (I-N, i-n) целые
- выражения лучше начинать с первой позиции и заканчивать знаком ; или :
- знак присваивания := (знак = это логический оператор равенства)
- при переносе продолжение начинается с любой позиции (можно даже первой позиции )
  новой строки (конец всего выражения ; или :)
- строка комментариев начинается с первой позиции новой строки со знака #
- перенос производить разбиением по знаку операции (не по переменной), 
    например:
A:=sin(a)*log(B)-
   a^B+B**a; 
           
           Правила ввода массивов:
- индексы массивов заключаются в квадратные скобки []
- можно использовать только три массива:
# 1) массив правых частей
f[1]:=     ;
# 2)  массив переменных
x[1]:=     ;
# 3) для параметров зарезервирован массив p[]

           Математические функции:
- возведение в степень a**b или a^b
  (в вещественную степень можно возводить только неотрицательное число)
- квадратный корень sqrt(a) (только из неотрицательного числа)
- тригонометрические функции (аргументы функций в радианах)
  sin(a);
  cos(a);
  tan(a);
  sec(a);
  csc(a);
  cot(a);
- обратные тригонометрические функции 
  arcsin(x);
  arccos(x);
  arctan(x);
  arcsec(x);
  arccsc(x);
  arccot(x);
  arctan(y, x)
- гиперболические функции
  sinh(a);
  cosh(a);
  tanh(a);
  sech(a);
  csch(a);
  coth(a);
- обратные гиперболические функции
  arcsinh(x);
  arccosh(x);
  arctanh(x);
  arcsech(x);
  arccsch(x);
  arccoth(x);      
- экспоненциальная функция
  exp(a);
- логарифмические функции
  ln(a) или log(a) - натуральный логарифм;
  log[b](а) - логарифм по основанию b;
  log10(a) - десятичный логарифм;
- абсолютное значение
  abs(a)

          Правила ввода пользовательских функций:
Например, функция F(у)=2*sin(y)+6*exp(0.5*y) записывается в виде
  F:=(y) ->  2*sin(y)+6*exp(0.5*y);

           Циклы:
 |for <name>| |from <expr>| |by <expr>| |to <expr>| |while <expr>|
                           do <statement sequence> od;
или
 |for <name>| |in <expr>| |while <expr>|
                           do <statement sequence> od;
 (Замечание: | | означают необязательные выражения.)
Примеры:
# 1) print even numbers from 6 to 100:
  for i from 6 by 2 to 100 do z:=i od;
# 2) нахождение суммы:
  sum := 0;
  for i from 11 by 2 while i < 100 do
  sum := sum + i
  od;
# 3) вычисление в цикле:
for i from 6 by 2 to 100 do
sin(i);
cos(i);
od;

           Условный оператор:
   if <conditional expression> then <statement sequence>
   | elif <conditional expression> then <statement sequence> |
   | else <statement sequence> |
   fi;
 (Замечание: | | означают необязательные выражения.)
Описание:
- <conditional expression>  Булевское выражение, созданное
  с помощью операторов отношение ( <, <=, >, >=, =, <> ), 
            логических операторов (and, or, not), и логических имен (true, false).
Примеры:
# 1)
  a := 3;
  b := 5;
  if (a > b) then a else b fi;
# 2)
  a := 3;
  b := 5;
  if (a > b) then
  sin(a);
  cos(b);
  else
  sin(b);
  cos(a);
  fi;

           Зарезервированный имена
 (их нельзя использовать в качестве наименования переменных)

   Это 11 ключевых слов операторов:
and, or, xor, not, implies, union, intersect, subset, minus, mod, assuming,
   
   плюс 36 дополнительных языковых ключевых слов, всего 47 зарезервированных слов: 
and         assuming  break  by     catch   
description do        done   elif   else    
end         error     export fi     finally 
for         from      global if     implies 
in          intersect local  minus  mod     
module      next      not    od     option  
options     or        proc   quit   read    
return      save      stop   subset then    
to          try       union  use    uses    
while       xor       

   наименования зарезервированных переменных: 
Catalan    Catalan's constant = sum((-1)^i/(2*i+1)^2,i=0..infinity)      
           evalf(Catalan) is approximately 0.915965594...                
constants  See constants ( default is the sequence:                      
           false, gamma, infinity, true, Catalan, FAIL, Pi )             
Digits     number of digits carried in floats (default is 10).           
           Digits is an environment variable.                            
FAIL       used by boolean evaluation as unknown truth for               
           3-valued logic.                                               
false      the value false (false) in the context of Boolean evaluation. 
gamma      Euler's constant = limit(sum(1/i,i=1..n) - ln(n),             
           n=infinity). evalf(gamma) is approximately 0.5772156649...    
gamma(n)   a series of constants such that gamma(n)  =                   
           limit(sum(ln(k)^n/k, k=1..m) - ln(m)^(n+1)/(n+1),             
           m=infinity). gamma(0) = gamma, Euler's constant.              
I          complex number such that I^2 = -1 (i).                        
           Internally, I is represented as Complex(1).                   
infinity   name for infinity used by some library functions (infinity)   
integrate  initially assigned the function name int                      
lasterror  See lasterror                                                 
libname    path name which is the root of the standard Maple library     
NULL       initialized to the null expression sequence                   
Order      truncation order for series (default is 6); see also Order.   
           Order is an environment variable.                             
Pi         math constant pi (pi); use Pi for calculations,               
           evalf(Pi) is approximately 3.14159265...                      
printlevel Printlevel is an environment variable.                        
true       the value true (true) in the context of Boolean evaluation    
undefined  name for undefined used by some library functions  