このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1342966104/52
#  [1] 授業単元:c言語  
#  [2] 問題文(含コード&リンク):  
#  複素数z=x+iyの実部Reと虚部Imをメンバに持つ構造体を定義し、 
#  2つの複素数z1,z2に対して、和z1+z2と積z1×z2を求める関数を 
#  それぞれ作成しなさい。返却値型もこの構造体とする。 
#  構造体の定義例 
#  struct my_complex { 
#     double Re; /** 実部 **/ 
#     double Im; /** 虚部 **/ 
#  } 
#   
#  配列のサイズなど、定数は#defineを利用. 
#  入力や表示を目的とする関数以外では、 
#  関数の中で標準入力や標準出力への入出力は行わない. 
#  

:- op(250,fx,i).

複素数の和(_実部_1 + i _虚部_1,_実部_2 + i _虚部_2,_実部 + i _虚部) :-
        _虚部 is _虚部_1 + _虚部_2,
        _実部 is _実部_1 + _実部_2.

複素数の積(_実部_1 + i _虚部_1,_実部_2 + i _虚部_2,_実部 + i _虚部) :-
        _虚部 is (_実部_2 * _虚部_1) + (_実部_1 * _虚部_2),
        _実部 is (_実部_1 * _実部_2) - (_虚部_1 * _虚部_2).