PPM (Portable PixMap)
PPM . P6. ( ). 255. , . (R-, G- B-). ( DOS):
P6
3 4
255
++++++++++++++++++++++++
3 4 . ++ ({239,43,43} , ). (ASCII- 10), , , Windows. , , :
make_test_ppm:-
create(H,test.ppm),
concat([P6,10,3 4,10,255,10], S),
write(H, S),
write(H,++++++++++++++++++++++++),
close(H).
, . . , .
, ASCII-:
:- eraseall(verb).
:- recordz(verb,,_).
:- recordz(verb,,_).
:- recordz(verb,,_).
:- recordz(verb,,_).
:- recordz(verb,,_).
:- recordz(verb,,_).
:- recordz(verb,,_).
:- recordz(verb,,_).
, () . , .
A | B | C | D | E |
P | R | T | ||
F | G | H | I | J |
Q | S | U | ||
K | L | M | N | O |
. 1.
. :
form(
[A,B,C,D,E]*[F,G,H,I,J]*[K,L,M,N,O]+
[A,P,F,Q,K]*[C,R,H,S,M]*[E,T,J,U,O]).
, , , + .
G = (X, R), X , R , M= { mij }. mij = 1 , xi rj mij = 0 . . 2.
|
|
|
. 2.
( )
M, . M > 1 . (, ) :
ü X A B M, X = (A + B) mod M;
ü X A B M, X = (A * B) mod M;
ü X A B M, X = (A + M B mod M) mod M.
. A/B = A*B- 1. , A B, A B . . X A B M, X = (A * B- 1 mod M) mod M. () B M, .. B- 1 mod M, . . , .
( ) a, b (a, b) = d. , x, y, ax + by = d. .
: a b
: d=(a,b) x,y: ax + by = d.
1. b=0 d:=a, x:=1, y:=0 (d,x,y)
2. x1:=0, x2:=1, y1:=1, y2:=0
3. b>0
3.1 q:=[a/b], r:=a-qb, x:=x2-qx1, y:=y2-qy1
3.2 a:=b, b:=r, x2:=x1, x1:=x, y2:=y1, y1:=y
4. d:=a, x:=x2, y:=y2 (d,x,y)
n , b = n. a < n n , d = 1, a x ( x >0), n + x ( ).
ASCII- DOS, , .
1
ASCII- DOS ()
│ | ┤ | ┐ | └ | ┴ | ┬ | ├ | ─ | ┼ | ┘ | ┌ |
|
|
. 3
. 4
. 15
() 24
. 33
. 40
. . 41
. Arity/Prolog32. 42
. .. 70
.. | |||
.. | |||
020713 27.04.1998 | |||
60×84/16 | |||
. | . . 5,0 | ||
50 . | |||
249035, . , , 1 | |||