Maxima でもプログラム
プログラミング へ戻る
大学生のための数学 へ戻る
2013.08.09


十進BASIC では、 1 〜 10 までの自然数の和を求めるプログラムは次のようになります。
   LET n = 0
   LET i = 1
   DO WHILE i =< 10
     LET n = n + i
     LET i = i + 1
   LOOP
   PRINT i
   PRINT n
   END


  Maxima
でも簡単なプログラム組んで計算することができます。 たとえば上と同じ内容の計算をするプログラムは次のようになります。
   n : 0 ;
   i : 1 ;
   while i <= 10 do (
     n : n + i ,
     i : i + 1
            ) ;
   n ;

  wxMaxima
Long Input の中に上のプログラムを記入して実行します。 すると、 一番下に 55 と表示されます。 Maxima のプログラムは小文字で書いてください。


十進BASIC では、 2次方程式の実数解を求めるプログラムは次のようになります。
   PRINT
   PRINT " a x^2 + b x + c = 0 の 解 "
   PRINT
   INPUT PROMPT "a, b, c と 整数を入力してください。": a, b, c
   PRINT
   LET d = b^2 − 4 * a * c
   IF d >= 0 THEN
   PRINT " 実数解は "; ( −b + SQR( d )) / ( 2 * a ) ;" と "; ( −b −SQR( d )) / ( 2 * a )
   ELSE
   PRINT " 実数解なし "
   END IF
   END


これと同じ内容のプログラムは、 Maxima では次のようになります。

   d : b^2 − 4 * a * c ;
   if d >=0 then (
     x1 : ( −b + sqrt( d )) / ( 2 * a ) ,
     x2 : ( −b −sqrt( d )) / ( 2 * a )
          )
   else (
   x1 : inf,
   x2 : minf
     ) ;
   x1 ;
   x2 ;


  まず、 a : 1 ; 入力実行、 b : 3 ; 入力実行、 c : 2 ; 入力実行 してください。 その次に、 上記のプログラムを入力し、 コピーした後に実行してください。 すると、 一番下の2つが実数解を示しています。 確かめるために、 x1 ; 入力実行、 x2 ; 入力実行してみてください。 では次に、 c : 4 ; 入力実行 してください。 その次に、 上記のプログラムをもう一度入力実行してください。 解の値として無限大の記号が出ますが、 この場合は実数解が存在しないことを表しています。 ただ、 Maxima には方程式の解を出力する関数が標準装備されていますので、 solve ( a * x^2 + b*x + c = 0 , x ) ; と入力実行するだけで、 このプログラム以上のことをしてくれます。

< コピペ用の窓 >