24 Mart 2010 Çarşamba

ÖDEV 3.a-b-c --> 1 Nisan 2010



UYGULAMA 23 - 19 Mart 2010


PROGRAM FIBONACCI2;
USES CRT, DOS, GRAPH;
VAR gs, gm,i, X1, X2, Y1, Y2, kontrol:INTEGER;
fibonacci: ARRAY[1..100] OF INTEGER;

BEGIN

gs:=DETECT;
INITGRAPH (gs, gm,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

fibonacci[1] := 1;
fibonacci[2] := 1;

FOR i := 3 TO 100 DO
BEGIN
fibonacci[i] := fibonacci[i-2] + fibonacci[i-i];
END;

X1 := getmaxx DIV 2; {Baslangic koordinat, farkli bir deger de atanabilir}
Y1 := getmaxy DIV 2;
X2 := X1;


FOR i:=1 TO 100 DO
BEGIN
kontrol := i MOD 4;
CASE kontrol OF

1:
BEGIN
Y2 := Y1 - fibonacci[i];
LINE (X1, Y1, X2, Y2);
Y1 := Y2;
END;

2:
BEGIN
X2 := X1 - fibonacci[i];
LINE (X1, Y1, X2, Y2);
X1 := X2;
END;

3:
BEGIN
Y2 := Y1 + fibonacci[i];
LINE (X1, Y1, X2, Y2);
Y1 := Y2;
END;

0:
BEGIN
X2 := X1 + fibonacci[i];
LINE (X1, Y1, X2, Y2);
X1 := X2;
END;

END;
END;


READLN;
CLOSEGRAPH;
END.

UYGULAMA 22 - 19 Mart 2010


PROGRAM FIBONACCI;
USES CRT, DOS, GRAPH;
VAR gs, gm,i,j:INTEGER;

fibonacci: ARRAY[1..100] OF INTEGER;

BEGIN

gs:=DETECT;
INITGRAPH (gs, gm,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

fibonacci[1] := 1;
fibonacci[2] := 1;

FOR i := 3 TO 100 DO
BEGIN
fibonacci[i] := fibonacci[i-2] + fibonacci[i-i];
END;

FOR i := 1 TO 100 DO
BEGIN
SETFILLSTYLE(i MOD 12, i MOD 16);
FILLELLPSE(i, i, fibonacci[100-i],fibonacci[100-i]);
END;

READLN;
CLOSEGRAPH;
END.

UYGULAMA 21- 19 Mart 2010

PROGRAM NESTED;
USES CRT, DOS, GRAPH;
VAR gs, gm,i,j:INTEGER;
x1Koor: ARRAY[1..20] OF INTEGER;
x2Koor: ARRAY[1..20] OF INTEGER;
y1Koor: ARRAY[1..20] OF INTEGER;
y2Koor: ARRAY[1..20] OF INTEGER;

PROCEDURE ESITBOL( X1, Y1, X2, Y2: INTEGER);
BEGIN

FOR i:=1 80 DO
BEGIN
x1Koor[i]:= X1 + ((getmaxx - X1) DIV 20) * (i - 1);
x2Koor[i]:= X2 + ((getmaxx - X2) DIV 20) * (i - 1);
y1Koor[i]:= Y1 + ((getmaxy - Y1) DIV 20) * (i - 1);
y1Koor[i]:= Y2 + ((getmaxy - Y2) DIV 20) * (i - 1);
END;

FOR j:=1 TO 20 DO
BEGIN
LINE(x1Koor[j], y1Koor[j],x2Koor[j], y2Koor[j]);
END;

END;

BEGIN

gs:=DETECT;
INITGRAPH (gs, gm,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

SETBKCOLOR(15);
SETCOLOR(9);
ESITBOL(54, 142, 299, 53);

SETCOLOR(13);
LINE(54, 142, getmaxx, getmaxy);
LINE(299, 53, getmaxx, getmaxy);

READLN;
CLOSEGRAPH;
END.

UYGULAMA 20 - 19 Mart 2010



{19. uygulamanin aynisi, tek farklilik dizi kullanilmasi}
PROGRAM DIZILER2;
USES CRT, DOS, GRAPH;
VAR gs, gm,i,j:INTEGER;
y1Koor: ARRAY[1..80] OF INTEGER;
y2Koor: ARRAY[1..80] OF INTEGER;

BEGIN

gs:=DETECT;
INITGRAPH (gs, gm,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

SETBKCOLOR(15);
SETCOLOR(9);

FOR i:=1 80 DO
BEGIN
y1Koor[i]:= (i - 1) * 6;
y2Koor[i] := 480 - (i-1) * 6;
END;

FOR j:=1 80 DO
BEGIN
LINE(0, y1Kor[j], getmaxx, y2Kor[j]);
END;

READLN;
CLOSEGRAPH;
END.

UYGULAMA 19 - 19 Mart 2010



PROGRAM DIZILER;
USES CRT, DOS, GRAPH;
VAR gs, gm,i,j,bolumSayisi:INTEGER;

BEGIN

gs:=DETECT;
INITGRAPH (gs, gm,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

SETCOLOR(9);
bolumSayisi:=100;
{bolumSayisi klavyeden alinabilir ya da degistirilebilir}

FOR i:=1 bolumSayisi DO
BEGIN
LINE(0, 0 + getmaxy div bolumSayisi * i,
getmaxx, getmaxy - getmaxy div bolumSayisi *i);
END;


READLN;
CLOSEGRAPH;
END.

ÖDEV 2.2 - 19 Mart 2010 {FOR DÖNGÜSÜ İLE}






{FOR Dongusu kullanilarak}
PROGRAM Delahaout;
USES CRT, DOS, GRAPH;
VAR gs, gm, i,j, ara, araX, araY: INTEGER;


BEGIN
WRITELN('Lutfen 5 ile 300 arasinda bir tam sayi degerini yaziniz: ');
READLN(ara);

gs:=DETECT;
INITGRAPH (gs, gm,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE
{ilk dort dortgenin cizimi}
setfillstyle (1, 14);
bar (0, 0, getmaxx div 2, getmaxy div 2);
setfillstyle (1, 1);
bar (getmaxx div 2, 0, getmaxx, getmaxy div 2);
setfillstyle (1, 2);
bar (0, getmaxy div 2, getmaxx div 2, getmaxy);
setfillstyle (1, 6);
bar (getmaxx div 2, getmaxy div 2, getmaxx,getmaxy);

araX := round((getmaxx- (4 * ara)) div 3) + ara;
araY := round((getmaxy - (4* ara)) div 3) + ara;

FOR j:= 1 TO 3 DO
begin
FOR i:= 1 TO 3 DO
begin
setfillstyle(1, (i+2) * j);
bar(ara + (i-1)* araX ,
ara + (j-1) * araY, i * araX , j * araY);
end;
end;


READLN;
CLOSEGRAPH;
END.

18 Mart 2010 Perşembe

ÖDEV 2.4 - 19 Mart 2010

ÖDEV 2.3 - 19 Mart 2010

ÖDEV 2.2 - 19 Mart 2010


Joe Delahaout
http://www.gorselsanatlar.org/renk/geometrik-renkler/

ÖDEV 2.1 - 19 Mart 2010

Wassily Kandisky 1913, Squares with Concentric Rings

16 Mart 2010 Salı

UGULAMA 18 -12 Mart 2010


program mario;
uses dos,crt,graph,printer;
var gs, gm, iMax, jMax, i, j ,k:integer;
renk: text;

begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;

assign(renk,'C:/mario.txt');
reset(renk);
read(renk, iMax, jMax);

for i := 1 to iMAX do
begin
for j:= 1 to jMax do
begin
read(renk, k);
setfillstyle(1, k);
bar((i - 1) * 20, (j -1) * 20, i * 20, j * 20);
end;
readln;
end;



close(renk);

readln;
closegraph;
end.

{mario.txt olarak kullanilan text dosyasinin icerigi:
16 16

1 1 1 1 2 2 2 2 2 2 1 1 1 1 1 1
1 1 1 2 2 2 2 2 2 2 2 2 2 1 1 1
1 1 1 3 3 3 3 4 4 3 4 1 1 1 1 1
1 1 3 3 4 3 4 4 4 3 4 4 4 1 1 1
1 1 3 3 4 3 3 4 4 4 3 4 4 4 1 1
1 1 3 3 3 4 4 4 4 3 3 3 3 1 1 1
1 1 1 1 4 4 4 4 4 4 4 4 1 1 1 1
1 1 1 3 3 3 5 3 3 3 1 1 1 1 1 1
1 1 3 3 3 3 5 3 3 5 3 3 3 1 1 1
1 3 3 3 3 3 5 5 5 5 3 3 3 3 1 1
1 4 4 4 3 5 4 5 5 4 5 3 4 4 1 1
1 4 4 4 4 5 5 5 5 5 5 4 4 4 1 1
1 4 4 4 5 5 5 5 5 5 5 5 4 4 1 1
1 1 1 5 5 5 5 1 5 5 5 5 1 1 1 1
1 1 3 3 3 3 1 1 1 3 3 3 3 1 1 1
1 3 3 3 3 3 1 1 1 3 3 3 3 3 1 1
}

UYGULAMA 17 - 12 Mart 2010


program renkler;
uses dos,crt,graph,printer;
var gs, gm, i, j:integer;

begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;

for i := 1 to 16 do
begin
for j := 1 to 12 do
begin
setfillstyle(j, i);
bar(getmaxx div 16 * (i - 1),getmaxy div 12 *
(j-1),getmaxx div 16 * i, getmaxy div 12 * j);
end;
end;

readln;
closegraph;
end.

UYGULAMA 16 - 12 Mart 2010


program renkler; {UYGULAMA 15 ile yani ciktiyi verir!}
uses dos,crt,graph,printer;
var gs, gm, i:integer;

begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;
setbkcolor(8);

for i := 1 to 16 do
begin
setfillstyle(1, i);
bar(getmaxx div 16 * (i - 1),0,getmaxx div 16 * i, getmaxy);
end;

readln;
closegraph;
end.

UYGULAMA 15 - 12 Mart 2010

program renkler;
uses dos,crt,graph,printer;
var gs, gm:integer;
begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;

setfillstyle(1, 1);
bar(0,0,getmaxx div 16, getmaxy);

setfillstyle(1,2);
bar(getmaxx div 16, 0, getmaxx div 16 * 2, getmaxy);

setfillstyle(1, 3);
bar(getmaxx div 16 * 2,0,getmaxx div 16 * 3, getmaxy);

setfillstyle(1,4);
bar(getmaxx div 16 * 3, 0, getmaxx div 16 * 4, getmaxy);

setfillstyle(1,5);
bar(getmaxx div 16 * 4, 0, getmaxx div 16 * 5, getmaxy);

setfillstyle(1,6);
bar(getmaxx div 16 * 5, 0, getmaxx div 16 * 6, getmaxy);

setfillstyle(1,7);
bar(getmaxx div 16 * 5, 0, getmaxx div 16 * 6, getmaxy);

setfillstyle(1,8);
bar(getmaxx div 16 * 6, 0, getmaxx div 16 * 7, getmaxy);

setfillstyle(1,9);
bar(getmaxx div 16 * 7, 0, getmaxx div 16 * 8, getmaxy);

setfillstyle(1,10);
bar(getmaxx div 16 * 8, 0, getmaxx div 16 * 9, getmaxy);

setfillstyle(1,11);
bar(getmaxx div 16 * 9, 0, getmaxx div 16 * 10, getmaxy);

setfillstyle(1,12);
bar(getmaxx div 16 * 10, 0, getmaxx div 16 * 11, getmaxy);

setfillstyle(1,13);
bar(getmaxx div 16 * 11, 0, getmaxx div 16 * 12, getmaxy);

setfillstyle(1,14);
bar(getmaxx div 16 * 12, 0, getmaxx div 16 * 13, getmaxy);
setfillstyle(1,15);
bar(getmaxx div 16 * 13, 0, getmaxx div 16 * 14, getmaxy);

readln;
closegraph;
end.

UYGULAMA 14 - 12 Mart 2010


program dortRenk;
uses dos,crt,graph,printer;
var gs, gm:integer;

begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;
setbkcolor(8);

setfillstyle(3,3);
bar(0,0, getmaxx div 2, getmaxy div 2);


setfillstyle(1,10);
bar(getmaxx div 2,0, getmaxx, getmaxy div 2);

setfillstyle(1,9);
bar(0,getmaxy div 2, getmaxx div 2, getmaxy);

setfillstyle(7,3);
bar(getmaxx div 2,getmaxy div 2, getmaxx, getmaxy);

setcolor(15);
settextstyle(9,0,2);
outtextxy(getmaxx div 4, getmaxy div 4, '1. ALAN');
setcolor(3);
outtextxy(3 * getmaxx div 4, getmaxy div 4, '2. ALAN');
setcolor(4);
outtextxy(getmaxx div 4, 3 * getmaxy div 4, '3. ALAN');
setcolor(15);
outtextxy(3* getmaxx div 4, 3 * getmaxy div 4, '4. ALAN');

readln;
closegraph;
end.

UYGULAMA 13 - 12 Mart 2010


program dortRenk;
uses dos,crt,graph,printer;
var gs, gm:integer;

begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;
setbkcolor(8);

setfillstyle(3,3);
setcolor(3);
bar(0,0, getmaxx div 2, getmaxy div 2);
rectangle(0,0, getmaxx div 2, getmaxy div 2);

setfillstyle(1,9);
setcolor(7);
bar(getmaxx div 2,0, getmaxx, getmaxy div 2);
rectangle(getmaxx div 2,0, getmaxx, getmaxy div 2);

setfillstyle(1,9);
setcolor(3);
bar(0,getmaxy div 2, getmaxx div 2, getmaxy);
rectangle(0,getmaxy div 2, getmaxx div 2,getmaxy);

setfillstyle(3,3);
setcolor(7);
bar(getmaxx div 2,getmaxy div 2, getmaxx, getmaxy);
rectangle(getmaxx div 2,getmaxy div 2, getmaxx, getmaxy);

readln;
closegraph;
end.

14 Mart 2010 Pazar

UYGULAMA 12 - 12 Mart 2010



program ikiRenk;
uses dos,crt,graph;
var gs, gm:integer;

begin
gs:=detect;
initgraph(gs,gm, 'c:\tp\bgi');
if graphresult <>grok then halt(1);
cleardevice;

setbkcolor(15); {ya da 8 olabilir}
setcolor(3);
rectangle(0,0, getmaxx div 2, getmaxy);

setfillstyle(1,9);
bar(getmaxx div 2,0, getmaxx, getmaxy);

readln;
closegraph;
end.

5 Mart 2010 Cuma

UYGULAMA 11 - 05 Mart 2010


PROGRAM NESTED;
USES GRAPH,CRT;
VAR GRAFIKSURUCU,GRAFIKMODU,i:INTEGER;

PROCEDURE TEKRARLA (X1, Y1, X2, Y2, tekrar, kmiktar: integer);
BEGIN
FOR i:=0 to tekrar do
begin
setcolor(random(16));
rectangle (x1+i*kmiktar,y1+i*kmiktar, x2-i*kmiktar, x2-i*kmiktar);
end;
END;

BEGIN
GRAFIKSURUCU:=DETECT;
INITGRAPH(GRAFIKSURUCU,GRAFIKMODU,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

TEKRARLA (10, 15, 550, 420, 50, 3);

READLN;
CLOSEGRAPH;
END.

UYGULAMA 10 - 05 MART 2010


PROGRAM VAGON;
USES GRAPH,CRT;
VAR GRAFIKSURUCU,GRAFIKKONUMU:INTEGER;

BEGIN
GRAFIKSURUCU := DETECT;
INITGRAPH(GRAFIKSURUCU,GRAFIKKONUMU,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARVIEWPORT;

setfillstyle(6,7);
setcolor(8);
setbkcolor(10);
bar(10,350,160,420);
bar(170,350,320,420);
bar(330,350,480,420);
circle(50,430,17);
circle(110,430,17);
circle(210,430,17);
circle(270,430,17);
circle(370,430,17);
circle(430,430,17);
bar(400,220,450,350);
fillellipse(350,200,30,10);
fillellipse(405,200,30,10);
fillellipse(290,200,30,10);
settextstyle(triplexfont,horizdir,3);
outtextxy(40,370,'VAGON1');
outtextxy(190,370,'VAGON2');
outtextxy(340,370,'VAGON3');

READLN;
CLOSEGRAPH;
END.

UYGULAMA 9 - 05 MART 2010

PROGRAM KARELER;
USES GRAPH,CRT;
VAR GRAFIKSURUCU,GRAFIKKONUMU,i,j,rastgele:INTEGER;

PROCEDURE KARECIZ (X, Y,L:INTEGER );
VAR X1, X2, Y1, Y2: INTEGER;
BEGIN
X1:=X;
Y1:=Y;
X2:=X1+L;
Y2:=Y1+L;
LINE (X1,Y1,X2,Y1);
LINE (X2,Y1,X2,Y2);
LINE (X2,Y2,X1,Y2);
LINE (X1,Y2,X1,Y1);
END;

BEGIN
GRAFIKSURUCU:=DETECT;
INITGRAPH(GRAFIKSURUCU,GRAFIKKONUMU,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

repeat
FOR i:=0 TO 10 DO
BEGIN
FOR j:=0 TO 6 DO
BEGIN
rastgele:=random(5);
setcolor (random(16));
if (rastgele mod 2 =0)then
KARECIZ (100+(i*40),100+(j*40),25);
end;
end;
until keypressed;

READLN;
CLOSEGRAPH;
END.

UYGULAMA 8- 5 MART 2010


PROGRAM KARELER;
USES CRT,GRAPH;
VAR GRAFIKSURUCU,GRAFIKMODU,i,j,RASTGELE:INTEGER;

PROCEDURE KARECIZ (X,Y: INTEGER; L: INTEGER);
VAR X1, X2, Y1, Y2: INTEGER;
BEGIN
X1 := X;Y1 := Y;
X2 := X1 + L;Y2 := Y1 + L;
LINE (X1, Y1, X2, Y1);
LINE (X2, Y1, X2, Y2);
LINE (X2, Y2, X1, Y2);
LINE (X1, Y2, X1, Y1);
END;

BEGIN
GRAFIKSURUCU:=DETECT;
INITGRAPH (GRAFIKSURUCU,GRAFIKMODU, 'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

FOR i:=1 TO 10 DO {yataydaki tekrar sayısı}
BEGIN
FOR j:=1 TO 6 DO
BEGIN
RASTGELE:= RANDOM(5); {0 ile 5 arasında rastgele bir sayı üretir}
IF (RASTGELE MOD 2= 0) THEN { ikiye bölünebilirliğinin kontrolü}
SETCOLOR(RANDOM(15));
KARECIZ (100+(i*40), 100+(j*40), 25);
END;
END;

READLN;
CLOSEGRAPH;
END.

UYGULAMA 7 - 05 MART 2010


PROGRAM KARELER;
USES GRAPH,CRT;
VAR GRAFIKSURUCU,GRAFIKKONUMU,i,j:INTEGER;

PROCEDURE KARECIZ (X, Y,L:INTEGER );
VAR X1, X2, Y1, Y2: INTEGER;
BEGIN
X1:=X;
Y1:=Y;
X2:=X1+L;
Y2:=Y1+L;
LINE (X1,Y1,X2,Y1);
LINE (X2,Y1,X2,Y2);
LINE (X2,Y2,X1,Y2);
LINE (X1,Y2,X1,Y1);
END;

BEGIN
GRAFIKSURUCU:=DETECT;
INITGRAPH(GRAFIKSURUCU,GRAFIKKONUMU,'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

KARECIZ (100,100,25);
FOR i:=0 TO 10 DO {yataydaki tekrar sayisi}
BEGIN
FOR j:=0 TO 3 DO {düşeydeki tekrar sayisi}
BEGIN
SETCOLOR (RANDOM(15)); {rastge lerenk ata}
KARECIZ (100+(i*40),100+(j*40),25);
END;
END;

READLN;
CLOSEGRAPH;
END.

UYGULAMA 6, 5 MART 2010




PROGRAM KARELER;
USES CRT,GRAPH;
VAR GRAFIKSURUCU,GRAFIKMODU,i:INTEGER;

PROCEDURE KARECIZ (X,Y: INTEGER; L: INTEGER);
VAR X1, X2, Y1, Y2: INTEGER;
BEGIN
X1 := X;Y1 := Y;
X2 := X1 + L;
Y2 := Y1 + L;
LINE (X1, Y1, X2, Y1);
LINE (X2, Y1, X2, Y2);
LINE (X2, Y2, X1, Y2);
LINE (X1, Y2, X1, Y1);
END;

BEGIN
GRAFIKSURUCU:=DETECT;
INITGRAPH (GRAFIKSURUCU,GRAFIKMODU, 'C:\TP\BGI');
IF GRAPHRESULT<>GROK THEN HALT(1);
CLEARDEVICE;

FOR i:=0 TO 10 DO
KARECIZ (100+(i*40), 100, 25);

READLN;
CLOSEGRAPH;
END.