![]()
|
|||||||
begin. Whilet<=tk do. fori:=2 to21 do begin. forj:=2 to21 do begin. fori:=2 to21 do begin. fork:=1 to100 do begin. fori:=2 to21 do begin. forj:=2 to21 do begin. fori:=2 to21 do begin. forj:=2 to21 do begin. fori:=2 to21 do begin. fori:=1 toN do. forz:=begin Whilet< =tk do begin R: =R+(kRB*R*G-kRD*R*F)*dt; F: =F+(kFB*F*R-kFD*F)*dt; out (t, R, ClGray); out (t, F, ClRed); var r1, f1: real; r1: =r*1. 5+10; f1: =f*1. 5; out (r1, f1, ClBlue); t: =t+dt; end; end; begin R: =23; F: =8; t: =0; Sx: =Window. Width/tk; Sy: =Window. Height/2/R; Hu: =0; Hv: =Window. Height; Euler; End. 11)Жизнь
uses crt; var a: array [1.. 22, 1.. 22] of integer; b: array [1.. 20, 1.. 20] of string; i, j, k, ch: integer; begin fori: =2 to21 do begin forj: =2 to21 do begin a[i, j]: =random(2); if a[i, j]=0 then b[i-1, j-1]: ='0' else b[i-1, j-1]: ='*'; write(b[i-1, j-1]: 2); end; writeln; end; writeln;
fori: =2 to21 do begin a[i, 1]: =a[i, 21]; a[i, 22]: =a[i, 2]; a[1, i]: =a[21, i]; a[22, i]: =a[2, i]; end; a[1, 1]: =a[21, 21]; a[1, 22]: =a[21, 2]; a[22, 1]: =a[2, 21]; a[22, 22]: =a[2, 2];
fork: =1 to100 do begin clrscr; fori: =2 to21 do begin forj: =2 to21 do begin ch: =0; if a[i+1, j-1]=1 then ch: =ch+1; if a[i+1, j]=1 then ch: =ch+1; if a[i+1, j+1]=1 then ch: =ch+1; if a[i, j-1]=1 then ch: =ch+1; if a[i, j+1]=1 then ch: =ch+1; if a[i-1, j-1]=1 then ch: =ch+1; if a[i-1, j]=1 then ch: =ch+1; if a[i-1, j+1]=1 then ch: =ch+1; if (a[i, j]=0) and (ch=3) then b[i-1, j-1]: ='*' else if (a[i, j]=1) and (ch< 2) then b[i-1, j-1]: ='0' else if (a[i, j]=1) and (ch> 3) then b[i-1, j-1]: ='0'; write(b[i-1, j-1]: 2); end; writeln; end;
fori: =2 to21 do begin forj: =2 to21 do begin if b[i-1, j-1]='0' then a[i, j]: =0 else a[i, j]: =1; end; end;
fori: =2 to21 do begin a[i, 1]: =a[i, 21]; a[i, 22]: =a[i, 2]; a[1, i]: =a[21, i]; a[22, i]: =a[2, i]; end; a[1, 1]: =a[21, 21]; a[1, 22]: =a[21, 2]; a[22, 1]: =a[2, 21]; a[22, 22]: =a[2, 2];
readkey; end;
readln; end.
program life; uses GraphABC; const N=20; var a: array [1.. N, 1.. N] of byte; b: array [1.. N, 1.. N] of byte; i, j, k, z: byte; procedure inp; var i, j: byte; begin fori: =1 toN do for j: =1 to N do a[i, j]: =0; a [2, 3]: =1; a[3, 3]: =1; a[4, 3]: =1; a[10, 10]: =1; a[10, 11]: =1; a[10, 12]: =1; a[9, 12]: =1; a[8, 11]: =1; end; begin LockDrawing; inp; forz: =1 toN*3 do begin fori: =2 toN-1 do forj: =2 toN-1 do begin k: =a[i-1, j-1]+a[i-1, j]+a[i-1, j+1]+a[i, j+1]+a[i+1, j+1]+a[i+1, j]+a[i+1, j-1]+a[i, j-1]; if (a[i, j]=0) and (k=3) then b[i, j]: =1; if (a[i, j]=1) and ((k< 2) or (k> 3)) then b[i, j]: =0; if (a[i, j]=1) and ((k=2) or (k=3)) then b[i, j]: =1; end; fori: =1 toN do for j: =1 to N do a[i, j]: =b[i, j]; fori: =1 toN do forj: =1 toN do if a[i, j]=1 then circle (10+20*i, 10+20*j, 9); Redraw; Window. Clear; sleep(500); end; end.
program gameoflife; uses crt; const n=20; type field = array [1.. n, 1.. n] of 0.. 1; var A, B: field;
procedure Print(x: field); begin for vari: =1 ton do begin for varj: =1 ton do if (x[i, j]=0) then write(' ') else write('*'); writeln; end; end;
function sosedi(i, j: integer): 0.. 8; var im, jm, jp, ip: integer; begin im: =i-1; ip: =i+1; jm: =j-1; jp: =j+1; if (ip> n) then ip: =1; if (im=0) then im: =n; if (jp> n) then jp: =1; if (jm=0) then jm: =n; Result: = A[im, jm]+A[im, j]+A[im, jp]+A[i, jm]+A[i, jp]+A[ip, jm]+A[ip, j]+A[ip, jp]; end;
procedure Init; begin A[9, 10]: =1; A[10, 10]: =1; A[11, 10]: =1; A[10, 12]: =1; A[11, 11]: =1; end;
|
|||||||
|