16 Nisan 2010 Cuma
Fibonacci'ye Değişik Bir Yorum
PROGRAM NESTED;
USES CRT, DOS, GRAPH, PRINTER;
VAR GRAFIKSURUCU, GRAFIKKONUMU,K,i,j,X1,X2,Y1,Y2, KONTROL:INTEGER;
FIBONACCI:ARRAY[1..100] OF INTEGER;
PROCEDURE FIBO(X,Y,L:INTEGER);
BEGIN
FIBONACCI[1]:=1;
FIBONACCI[2]:=1;
FOR i:=3 TO 100 DO
BEGIN
FIBONACCI[i]:=FIBONACCI [i-2]+ FIBONACCI [i-1];
END;
X1:=X;
Y1:=Y;
X2:= X1;
FOR i:=1 TO 100 DO
BEGIN
KONTROL:= i MOD 4;
CASE KONTROL OF
1:
BEGIN
Y2:= Y1-FIBONACCI[i]*L;
ELLIPSE ((X1+X2)DIV 2, (Y1+Y2) DIV 2,270,90,FIBONACCI[i] DIV 5*L, FIBONACCI[i] DIV 2*L);
Y1:= Y2;
END;
2:
BEGIN
X2:= X1-FIBONACCI [i]*L;
ELLIPSE ((X1+X2)DIV 2, (Y1+Y2) DIV 2,0,180,FIBONACCI[i] DIV 2*L, FIBONACCI[i] DIV 5*L);
X1:=X2;
END;
3:
BEGIN
Y2:= Y1+FIBONACCI [i]*L;
ELLIPSE ((X1+X2)DIV 2, (Y1+Y2) DIV 2,90,270,FIBONACCI[i] DIV 8*L, FIBONACCI[i] DIV 2*L);
Y1:=Y2;
END;
0:
BEGIN
X2:= X1+FIBONACCI [i]*L;
ELLIPSE ((X1+X2)DIV 2, (Y1+Y2) DIV 2,180,0,FIBONACCI[i] DIV 2*L, FIBONACCI[i] DIV 5*L);
X1:=X2;
END;
END;
END;
END;
BEGIN
GRAFIKSURUCU:=DETECT;
INITGRAPH (GRAFIKSURUCU, GRAFIKKONUMU,'C:\PROGRA~1\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;
FOR K:=1 TO 10 DO
BEGIN
FIBO(GETMAXX DIV 2, GETMAXY DIV 2, K) ;
END;
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder