You are on page 1of 4

%/*6$<$5%/09(0h+(1'6/1(*5'(56

)21.6<21(/%5<$./$,0
Halit 28=7h=h1

Gktrk OLUK

2UWD 'RX 7HNQLN hQLYHUVLWHVL


%LOJLVD\DU 0KHQGLVOLL %|OP

06531 Ankara

ABSTRACT

gUHQFL\H ND]DQGUPDN LVWHGLLPL] \HWHQHNOHU NVDFD


YHULOHQ ELU SUREOHP EHOLUWLPLQL DQODPD SUREOHPL GHLLN

Institutions adopt different approaches to teaching


introductory courses in Computer Science and
Engineering. There is an ongoing debate regarding the
best way of introducing students, both majors and
non-majors, to the fundamentals of the discipline.
Middle East Technical University Department of
Computer Engineering has recently redesigned its
introductory course for the majors. The new approach
aims at both developing computing literacy and
improving skills for abstract procedural thinking. For
the latter the functional programming paradigm
provides a convenient vehicle. The experience gained
from the 1996-97 Fall semester offering, although
limited, is found encouraging.

soyutlama dzeylerinde analiz etme, alternatif


zmler retme, bu zmleri bilgisayar zerinde
VQDPD YH EX VQDPDQQ VRQXoODUQ GHHUOHQGLUPH
\HWHQHNOHULGLU
\DUDWFON

'DKDV

\|QQ

|UHQFL

NXOODQPDO

EX

oDOPD

]LKLQVHO

LoLQGH

\HWHQHNOHULQL

]RUODPDO \DSW LWHQ ]HYN DOPDO YH HLWLP KD\DWQQ


EXQGDQ

VRQUDNL

DDPDODU

LoLQ

PHUDN

YH

KHYHVL

X\DQPDOGU
gUHQFL NDUODW ELU SUREOHPL oRN VD\GD NoN
DGPODU DWDUDN GHLO D] VD\GD E\N DGPODU DWDUDN
o|]PH\H

oDOPDOGU

NDSODQPD

gUQHLQ

WDKWDQQ

NRQILJUDV\RQXQGDQ

EHOLUOL

\HQL

ELU

ELU
DWQ

NRQXOPDV\OD EDND ELU NRQILJUDV\RQD JHoLL WHN ELU


LOHP DGP RODUDN GQHELOPHOL YH EX ILNUL GRUXGDQ
LIDGH HGHELOPHOLGLU 2 KDOGH |UHQFL\H YHUHFHLPL]
DUDo

 *LUL

RQXQ

E\N

DGPODU

DQODPO

DOWSUREOHPOHULQ

o|]POHUL RODUDN D\U D\U LIDGH HWPHVLQL YH EXQODU


%LOJLVD\DU %LOLPL YH 0KHQGLVOLL %%0 ROJXQODPD

\DSD\ HQJHOOHUH PDUX] NDOPDGDQ DNF ELU

VUHFLQL \DD\DQ ELU GLVLSOLQGLU 0IUHGDW SURJUDPODU

ELUOHWLUPHVLQL

VUHNOL

VHQWH]

VUHFLQH

ELU

GHLLP

LOLNLQ

LoLQGHGLU

NDSVDPO

ELU

'LVLSOLQLQ

UDSRUXQ

JHOLPH

|]HWL

>@GH

NROD\ODWUPDOGU

\DSPD

\HWHQHLQL

.VDFD

HNLOGH

|UHQFLQLQ

DUWWUDQ

ELU

DUDo

istenmektedir.

VWDQGDUW ELU PIUHGDW PRGHOL ROXWXUPD oDEDODUQQ


\HQL ELU UQ >@GH \HU DOPDNWDGU hQLYHUVLWH\H \HQL

*LUL GHUVLQLQ ELU SURJUDPODPD GHUVLQH EXQXQ GD

EDOD\DQ |UHQFLOHULQ %%0 DODQQGD DOGNODU LON NUHGLOL

bir

GHUVLQ NDSVDPQQ QH ROPDV YH QDVO ELU \DNODPOD

LQGLUJHQPHVLQH

programlama

dilinde

YHULOPHVL JHUHNWLL DNDGHPLN oHYUHOHUGH \RXQ RODUDN

KD\DWODUQGD

WDUWOPDNWDGU %X ELOGLUL\H NRQX RODQ JLUL GHUVL >@GH

DODFDNODU GHUVOHUH VNoD J|QGHUPH \DSDUDN GD ROVD

nerilen modelle uyumludur.

WDQWPDN GXUXPXQGD\] 'HUVLQ ELU NVP EX QHGHQOH

NDU\]

kodlama

dersine

gUHQFLOHULPL]H

NDUODDFDNODU

WHNQRORML\L

JQON
LOHULGH

|UHQFL\L EL]]DW NXOODQG YH\D VNoD EDKVLQL GX\GXX


%X ELOGLULGH GLOH JHWLULOHQ J|UOHUL VRPXWODWUPDN
DPDF\OD |UHQFLOHULPL]LQ HY |GHYL RODUDN o|]GNOHUL

GHUVL KDOLQGH LOHQPHOLGLU

ELU SUREOHPGHQ \DUDUODQDFD] 3UREOHP


VDWUDQo

WDKWDVQ

HQ

oRN

nxnOLN ER ELU
k tane at kullanarak

teknolojiler konusunda bilgilendiren bir genel kltr

NDSODPDNWU 7DKWD ]HULQH NRQXODQ ELU DWQ EXOXQGXX


YH WHKGLW HWWLL NDUHOHU NDSODQP VD\OPDNWDGU $WODUQ
ELUELULQL

WHKGLW

HGLS

HWPHPHVL

SUREOHP LoLQ 6FKHPH

GLOLQGH

|QHPOL
\D]OP

GHLOGLU
ELU

%X

SURJUDP

HNLO GH VXQXOPDNWDGU 6XQXODQ NRG ELU |UHQFLQLQ


|GHYLQGHQ

ED]

ELoLPVHO

GHLLNOLNOHU

X\DUODQPWU .XOODQODQ \|QWHP

\DSODUDN

backtracking

HVDVQD

GD\DQPDNWDGU %DDUV]ONOD VRQXoODQDQ DGP JHUL


DOQPDNWD YH EDND ELU DOWHUQDWLI GHQHQPHNWHGLU

gUHQFLOHUH

ND]DQGUPD\

DPDoODGP]

YHULPOLOLL

|]\LQHOHPH\OH

IRQNVL\RQODU

]HULQGH

IRQNVL\RQ

LOHP

\DSPD

*LUL

'HUVL

1HOHUL

2OPDO"

EEBM7UK, Ankara, 1998

$PDoODPDO"

.DSVDP

WDQP
\RUGDPVDO

soyutlama, veri tipi soyutlama, zyinelemeli veri


\DSODU

%X

NDYUDPODU

YHULUNHQ

IRQNVL\RQHO

SURJUDPODPD SUDWLLQGHQ \DUDUODQOPDO YH |UHQFLOHULQ


EX

NDYUDPODU

VDODQPDOGU
LOJLOL

KLVVHWPHOHUL

<RNVD

WHUPLQRORMLN

YH

|UHQFLOHUGHQ
WDQPODU

NXOODQPDODU
EX

NDYUDPODUOD

H]EHUOHPHOHUL

LVWHQPHPHOLGLU 'DKD VRQUDNL GHUVOHU EX NDYUDPODU


WHNQLN D\UQWODU\OD LOH\HUHN SHNLWLUHFHNWLU



WHPHO

NDYUDPODU XQODUGU DOJRULWPD ELU DOJRULWPDQQ ]DPDQ

1H

3. Niin Fonksiyonel Programlama?

3URJUDPODPD GLOL SUREOHPLQ GQ\DV LOH ELOJLVD\DUQ

WDQPODQP

GQ\DVQ

iermektedir.

LOHPFLVL

ELUELULQH
EX

EDOD\DQ

EDODQWQQ

\RUXPODPD

LOHYOHULQL

GQ\DVQD

\DNQ

ELU

RUWDP

JHUHNWLUGLL

\HULQH

ELU

'LO

oHYLUL

YHYH\D

'LOLQ

SUREOHP

\DQGDQ

o|]P

JHWLULU

ROPDV

VXQDU

GLHU

IRQNVL\RQODUQ

X\JXODQPDVQ

GD

'LOLQ VHPDQWLN NXUDOODU |UHQFLQLQ PDWHPDWLNVHO


VH]JLVLQH

EDYXUXODUDN

LQDQGUF

ELU

WDU]GD

\|QWHPLPL]L LIDGH HWPHPL]L YH EXQX GLHU LQVDQODUD GD

DoNODQDELOPHNWHGLU hONHPL]GH PHUNH]L VLVWHPOH %%0

LOHWPHPL]L

ELOJLVD\DU

LOH LOJLOL E|OPOHUH \HUOHWLULOHQ |UHQFLOHULQ PDWHPDWLN

NXOODQPDP]

WHPHOOHUL J|UHFHOL RODUDN L\L GXUXPGDGU gUHQFLOHULQ

NROD\ODWUUNHQ

ND\QDNODUQ

HQ

]RUODWUU 'LOLQ

|WH

YHULPOL

\DQGDQ

HNLOGH

ELOJLVD\DUQ GQ\DVQD \DNQ ROPDV

PDWHPDWLN

NDYUDPODUQD

LVH WHUVLQH ELU HWNL \DUDWU %X WDUWPD NDSVDPQGD

SDUDGLJPD

\DNODPQQ

\HOSD]HQLQ DOW XFXQGD ELUOHWLULFL GLOOHULQL VW XFXQGD

QRNWDV ROPDNWDGU $\Q ]DPDQGD |UHQFLOHULQ OLVH

LVH NVW SURJUDPODPD GLOOHULQL GQHELOLUL] %LOJLVD\DU

PDWHPDWLN ELOJLOHUL LoLQGH \HU DODQ IRQNVL\RQ WDQPODPD

ND\QDNODUQ

YH X\JXODPD NDYUDPODUQQ IRUPHOOHWLULOPHVL NPH YH

YHULPOL

HNLOGH

NXOODQPDN

ELUoRN

endstriyel uygulama iin kritik neme sahiptir ve

GL]L

PKHQGLVOLN

WPHYDUP

HLWLPLQLQ

EXQX

J|]DUG

HWPHVL

NDYUDPODUQD

\DWNQONODU

IRQNVL\RQHO

\DUDUODQG

VHPEROLN

PDQWN

PHNDQL]PDVQD

ELU

NDOGUDo

LOHPOHULQH

RSHUDV\RQHO

YH

\RUXP

GQOHPH] $QFDN EDODQJo G]H\LQGH YHULPOLOLN

ND]DQGUOPDV

NDYUDPQQ

WXWXOPDV

ROJXQODPDODUQD NDWNGD EXOXQPDNWDGU HNLO GHNL

\HWHUOLGLU ON GLOLQ \HOSD]HQLQ DOW XFXQD \DNQ LPSHUDWLI

SURJUDPGD DQODQ PDWHPDWLNVHO NDYUDPODUQ ELU oRX

ELU GLO ROPDV %DVLF 3DVFDO )RUWUDQ & YE |UHQFLQLQ

URO R\QDPDNWDGU

DVLPWRWLN

DQODP\OD

VQUO

|UHQFLOHULQ

PDWHPDWLN

\|QQGHQ

VR\XW GQPH JFQ NVWOD\F ELU HWNL \DSPDNWDGU


oQN |UHQFL SUREOHPLQ o|]PQ GN VR\XWODPD
G]H\LQGHNL

LOHPOHU

]RUODQPDNWDGU
|UQHLQ

<HOSD]HQLQ

3URORJ

SURJUDPODPD

FLQVLQGHQ

JLEL

VW

LIDGH

XFXQD

\DNQ

RODQ

GLOOHUGH

LVH

LOHWLOHELOLU

ELU

PDQWNVDO

SUREOHPLQ

ELOJLVD\DUGD

HWPH\H

belirtimini ifade etmeye ynelik deklaratif bir tarz


DOPDNWDGU

(QGVWULGH

GRUXODPD
DoVQGDQ
$QFDN

RWRPDWLN
GHNODUDWLI

EDODQJo

G]H\GH

IDNDW

EHOLUWLPOHPH

NRG

UHWPH

G]H\LQGHNL
\RUGDPVDO

IRQNVL\RQX

RODUDN

oRX

]DPDQ

DoNONOD

grlebilmektedir. nk verimlilik analizi fonksiyon


X\JXODPDODUQQ VD\OPDVQD LQGLUJHQPHNWHGLU

4. Hangi Programlama Dili?

SURWRWLSOHPH

JLEL

SURJUDPODPDQQ

%LU SURJUDPQ ]DPDQ YHULPOLOLL JLUGL E\NOQQ


ELU

X\JXODPDODU

|QHPL

DoNWU

|UHQFLQLQ

VR\XW

*LUL

GHUVLQLQ

DPDFQQ

KHUKDQJL

ELU

SURJUDPODPD

GLOLQL |UHWPHN ROPDGQ VDYXQX\RUX] $QFDN

ELU

SUREOHPL o|]PHN LoLQ ELU \|QWHP WDVDUOD\DQ |UHQFLQLQ

GQPH

\HWHQHLQL

KHGHIWLU

<HOSD]HQLQ

JHUHNVLQLPL YDUGU %L]H J|UH EX L LoLQ HQ X\JXQ DUDo

SURJUDPODPD

dilleri hem algoritmik srelerin ifadesine hem de

bir fonksiyonel programlama dilidir. Belirli bir


programlama dilinin seimi ise taktik dzeyde bir

GHNODUDWLI WDU]D \DWNQON J|VWHUPHNWHGLU )RQVL\RQHO

NDUDUGU

SDUDGLJPD\ EDODQJo G]H\L LoLQ FD]LS KDOH JHWLUHQ

G]H\LQGH

GLHU

6FKHPH 0LUDQGD 0/ YH +DVNHOO VD\ODELOLU %X GLOOHULQ

JHOLWLUPHN

GDKD

|QFHOLNOL

RUWDODUQGD

J|UGP]

|]HOOLNOHU

ELU

IRQNVL\RQHO

DDGDNL

SDUDJUDIODUGD

DoNODQPDNWDGU

EXQX

KHU

ELOJLVD\DUGD

%LUoRN

ELUL

GHUV

HQ

SDUDGLJPDVGU

GHLNHQOHU
IRQNVL\RQODU

WHPHO

LOHPOHU

PDWHPDWLNWHNL
PDWHPDWLNWHNL
VWDWVQGHGLU

DoN

IDUNV]

ELU

a) GLOLQ

LoHULLQL GHLWLUHQ DGPODUQ VUDODQPDVQGDQ GHLO


EHOLUOL ELU UHIHUDQV RUWDPQGD \DSODQ WDQPODPDODU YH
KHVDSODQDQ LIDGHOHUGHQ ROXPDNWDGU %LU SURJUDPQ
oDOWUOPDV ELU LIDGHQLQ PHYFXW UHIHUDQV RUWDPQGD
KHVDSODQPDVQGDQ LEDUHWWLU

kapla DG YHULOHQ

IRQNVL\RQ EXOXQPDNWDGU 'L\HOLP NL [OLN ELU WDKWDQQ


 DWOD NDSODQPDV SUREOHPLQLQ o|]P

(kapla 5 6)

LIDGHVLQLQ KHVDSODQPDV VRQXFXQGD HOGH HGLOPHNWHGLU


LIDGHQLQ

DQODP

DUJPDQODUQD

kapla fonksiyonunun 5 ve 6

X\JXODQPDVGU

EEBM7UK, Ankara, 1998

%L]LP

NDYUDPODU

6FKHPH

GLOLQL

GDKD

|QHPOLVL

GHQH\LPOL

|UHWLP

IRQNVL\RQHO
\HOHUL

YH

b) GLOL

HVDV DODQ VWQ NDOLWHOL ELU GHUV NLWDEQQ YH

EDODQJo G]H\LQGHNL GLHU ND\QDNODUQ EXOXQPDV

c)

GLO LOHPFLVLQLQ OLVDQV VRUXQODUQD \RO DoPDGDQ HOGH


HGLOHELOLU

NRS\DODQDELOLU

YH

|UHQFLOHULQ

HULHELOHFHNOHUL SODWIRUPODUD WDQDELOLU ROPDV


0RGHUQ

ELU

/LVS

WUHYL

RODQ

6FKHPH

HLWLP

DPDF\OD ELU oRN NXUXPGD NXOODQOPDNWDGU 6FKHPH

gUQHLQ HNLO GHNL SURJUDP  DGHW IRQNVL\RQ

%X

YXUJXODQDQ

DUDVQGD

\DUGPFODUQQ PHYFXW ROPDV

IRQNVL\RQ X\JXODPDVQQ VRQXFX RODUDN UHWLOHELOLUOHU


%LU SURJUDP LPSHUDWLI SDUDGLJPDGD ROGXX JLEL EHOOHN

NXOODQPQGD

SDUDGLJPDGD

GH\LOH

IRQNVL\RQODU EDND IRQVL\RQODUD JLUGL RODELOLUOHU YH ELU

WDQPQGDQ LEDUHWWLU (Q VW G]H\GH

NDSVDPQGD

GHVWHNOHPHNWHGLU

EDODQJo

GLOOHU

|OoWOHU 3UDJPDWLN |OoWOHU DUDVQGD XQODU VD\DELOLUL]

GHLNHQOHUGHQ

IRQNVL\RQODUGDQ
GDKD

NXUXPXQGD

IRQNVL\RQHO

DUDFD

ELU

GDYUDQU )RQNVL\RQODU \D\JQ ELU GH\LPOH ELULQFL VQI


YDWDQGD

ELU

SDUDGLJPDGD

ROGXX

%X

LoLQ

sememize etken olan nedenleri iki grup halinde


belirtebiliriz: dilin kendi zellikleri ve
pragmatik

)RQNVL\RQHO SURJUDPODPD IRQNVL\RQ WDQPODPD YH


SURJUDPODPD

HLWLP

NXOODQODQ

GRUXGDQ
X\JXODPDQQ

oDOWUPDV

%X

X\JXODPD

GLOLQLQ

HQ

IRQNVL\RQHO

ROXPOX
GLOOHUFH

EXOGXXPX]
GH

SD\ODODQ

DVOQGD

GLHU

|]HOOLLQL

NVDFD

|\OH EHOLUWHELOLUL] LIDGHGH EDVLWOLN YH JoOOQ ELU


DUDGD ROPDV

Basit
PLQLPDOLVW

szdizim:
ELU

'LOLQ

\DNODP

VHQWDNV
L]OHQPLWLU

WDVDUODQUNHQ
%X

QHGHQOH

|UHQFLOHU

GLOLQ

\D]P

|UHQPHNWHGLUOHU
PDWHPDWLNVHO

ON

NXUDOODUQ

GHUV

]DKPHWVL]FH

VDDWLQLQ

KHVDSODPDODU

VRQXQGD

\DSDU

EDVLW

GXUXPD

JHOPHNWHGLUOHU 'DKD VRQUD GLOLQ ELU |]HOOLL WDQWOUNHQ


EXQD

LOLNLQ

V|]GL]LP

\DSV

|UHQFLOHUL

DUWPDPDNWDGU oQN VHQWDNV GLOL WDVDUOD\DQODUQ


HVWHWLN

DQOD\QD

EDO

WHUFLKOHUOH

GHLO

PLQLPDOLVW

LONH\H J|UH EHOLUOHQPHNWHGLU 9HUL WLSOHULQLQ VDGHOLL YH


GLQDPLN

RODUDN

GHQHWOHQPHVL

GLO

LOHPFLVLQLQ

K]

JHUHN GLO LOHPFLVLQLQ UHWLL NRGXQ K]OO JHUHNVH GLO


LOHPFLVLQLQ NHQGL LLQL GDKD K]O YH NROD\ \DSPDV
DQODPQGD

ND\JVQGDQ

|UHQFLQLQ

ND\QDNODQDQ

NDIDVQQ

PHJXO

D\UPODUOD

HGLOPHPHVLQL

VDODPDNWDGU gUQHLQ |UHQFLQLQ WDPVD\ UHHO VD\


D\UPQ

|UHQPHVL

WDQPODPDV

YH

EX

GHLNHQOHULQL
IDUN

KHU

DQ

EXQD

J|UH

NDIDVQGD

te

prefix

yandan

notasyonu

LOHoOHULQ |QFHOLN YH ELUOHPH |]HOOLNOHULQL KDWUGD WXWPD


VRUXQXQX RUWDGDQ NDOGUPDNWDGU .VDFD ]RUXQOX ELU

nedeni

olmayan,

sadece

konvansiyon

olarak

|UHQLOPHVL JHUHNHQ NXUDOODU HQ D]D LQGLUJHQPLWLU


%|\OHFH

|UHQFL

PDWHPDWLNVHO

WP

|]QH

GLNNDWLQL

o|]P

\RUGDPVDO

ELU

\|QWHPLQLQ

EDN

DoV\OD

yneltebilmektedir.
(WNLOHLPOL

RUWDP

'LOLQ

JHUoHNOHWLULPLQGH

VNoD

L]OHQHQ \RO \RUXPODPDGU <RUXPOD\F LOH HWNLOHLPOL


RODUDN

oDOPD

RUWDP

JHULELOGLULP

DOPD\

oDEXNODWUGQGDQ |UHQPH VUHFL K]ODQPDNWDGU


(WNLOHLPOL

RUWDP

UHWPH\H

YH

HWPHNWHGLU

+DWD

oNPDNWDGU
SUREOHPOH

|UHQFL\L

EXQODU

PHVDMODU

'HUOHPH

LOJLVL

ROPD\DQ

GHLLN

KHPHQ

VHoHQHNOHU

GHQHPH\H
WHN

ELU

EDODPD

JLEL

LOHPOHU

\RNWXU

; 'konum' konumuna bir atin konulmasindan


; sonra acik 'kalan' kareler:
(define (kalan aciklar konum)
(let ((kapali (kapat konum)))
(filter (lambda (a)
(not (member a kapali)))
aciklar)))

FDQO

WXWPDV VD\VDO KDVVDVL\HW V|] NRQXVX ROPDGNoD

gerekmemektedir.

((null? hamleler) 'basarisiz)


(else
(let ((alt-cozum (yerlestir (- k 1)
(kalan aciklar (car hamleler))
(cdr hamleler))))
(if (equal? alt-cozum 'basarisiz)
(yerlestir k aciklar
(cdr hamleler))
(cons (car hamleler)
alt-cozum))))))

WHYLN

ND\QDNWDQ
XUDODQ
+DWWD

LON

; 'konum' karesindeki atin kapattigi


; kareler:
(define (kapat konum)
(let ((sutun (car konum))
(satir (cdr konum)))
(list konum
(cons (- sutun 1) (- satir
(cons (- sutun 1) (+ satir
(cons (+ sutun 1) (- satir
(cons (+ sutun 1) (+ satir
(cons (- sutun 2) (- satir
(cons (- sutun 2) (+ satir
(cons (+ sutun 2) (- satir
(cons (+ sutun 2) (+ satir

2))
2))
2))
2))
1))
1))
1))
1)))))

;;; Destekleyici Fonksiyonlar


; l1 ve l2 kmelerinin kartezyen carpimi:
(define (carp l1 l2)
(if (empty? l1) '()
(append
(map (lambda (s)
(cons (car l1) s)) l2)
(carp (cdr l1) l2))))

DOWUPDODUGD HGLW|U NXOODQPD\D GDKL JHUHN \RNWXU

Scheme, Lisp ailesi iinde en ok Common Lispe


\DNQGU

6FKHPH

ELU

HQGVWUL

VWDQGDUG

RODQ

Common Lispten ok daha sade olmakla birlikte


HLWLP DPDF\OD VQUODQGUOP ELU R\XQFDN GLO GHLO

aksine gl bir algoritmik programlama dilidir. Gncel


WXWXODQ ELU UHIHUDQV GRNPDQ >@ YH EXQD GD\DO ELU

UHVPL VWDQGDUG ,(((  PHYFXWWXU %RO


PLNWDUGD |UQHN NRG HOGH HWPHN PPNQGU +]O
LOHUOH\HQ |UHQFLOHU NHQGL EDODUQD 6FKHPH GLOLQLQ
|]HOOLNOHULQL NHIH oNPDNWDGUODU $\UFD |UHWLPGH
NXOODQODQ GLOLQ HQGVWUL\HO EDODQWV RODQ ELU GLO ROPDV
|UHQFL PRWLYDV\RQXQX ROXPOX \nde etkilemektedir.
;;; nxn'lik satranc tahtasini
;;; en cok k atla kapla:
(define (kapla n k)
(yerlestir k (bos-tahta n n)
(bos-tahta n n)))
; k ati mumkun 'hamleler'le 'yerlestir'erek
;'aciklar'i kapat:
(define (yerlestir k aciklar hamleler)
(cond
((null? aciklar) '())
((= k 0) 'basarisiz)
((> (length aciklar) (* 9 k)) 'basarisiz)

EEBM7UK, Ankara, 1998

; [p,q] tamsayi araligini uret:


(define (aralik p q)
(if (> p q) '()
(cons p (aralik (+ p 1) q))))
; n1xn2 boyutlarinda bos bir tahta yarat:
(define (bos-tahta n1 n2)
(carp (aralik 1 n1) (aralik 1 n2)))

(./  gUQHN ELU 6FKHPH SURJUDP

%LU SURJUDPODPD GLOLQL HLWLP DPDoO NXOODQUNHQ


\HQL EDOD\DQ |UHQFL\H ED] VW G]H\ YHUL WLSOHUL
|UQHLQ GRDO GLOOHUOH LOJLOL RODUDN NHOLPH FPOH JLEL
YHUL WLSOHUL VXQXOPDV |UHQFLQLQ GLOLQ DQODOPDV
QLVSHWHQ ]RU D\UQWODUQD ERXOPDGDQ LOJLQo
SUREOHPOHUOH XUDPDVQ VDODPDNWDGU 'HUVLQ LOHUL
DDPDODUQGD EX YHUL WLSOHULQLQ \LQH GLOLQ NHQGL
RODQDNODU\OD QDVO JHUoHNOHWLULOGLLQL J|VWHUPHN KHP
|UHQFLQLQ WHNQLN ELOJLVLQL SHNLWLUPHNWH KHP GH
|UHQFL\H X\JXODPD DODQQD X\JXQ |]HO QRWDV\RQ
\DUDWPD NDYUDPQ KLVVHWWLUPHNWHGLU 6WDQGDUG GLOL
ELOHQ RNX\XFXODUQ LQFHOHPHVLQL NROD\ODWUPDN
DPDF\OD HNLO GHNL SURJUDPGD |UHQFLOHUH
VDODQDQ NXOODQP GDKD NROD\ IRQNVL\RQODU \HULQH
EXQODUQ VWDQGDUG NDUONODUQD \HU YHULOPLWLU
5. ODT Deneyimi

2UWD 'RX 7HNQLN hQLYHUVLWHVL %LOJLVD\DU 0KHQGLVOLL


%|OP  |UHWLP \OQQ ELULQFL G|QHPLQGHQ
EDOD\DUDN &(1* NRGOX %LOJLVD\DU 0KHQGLVOLL
.DYUDPODUQD *LUL GHUVLQLQ \HQL \DNODP YH LoHULNOH
YHULOPHVLQL EHQLPVHGL %X ELOGLULQLQ \D]DUODU o
DUDWUPD J|UHYOLVLQLQ \DUGP\OD GHUVL \UWWOHU 
ELULQFL VQI |UHQFLVL LNL JUXS KDOLQGH KDIWDGD o VDDW
GHUVH JLUGLOHU EH JUXS KDOLQGH KDIWDGD LNL VDDW L
LVWDV\RQX ODERUDWXYDUQGD oDOWODU %X ODERUDWXYDUQ
LPNDQODU  6XQ L LVWDV\RQX YH ELU GRV\D
VXQXPFXVXQGDQ ROXPDNWDGU /DERUDWXYDU VDDWOHUL
GQGD |UHQFLOHU E|OPQ YH QLYHUVLWHQLQ GLHU
RODQDNODUQGDQ |]HOOLNOH 3& ODERUDWXYDUODUQGDQ
\DUDUODQGODU
'|QHPLQ LON G|UW KDIWDVQGD ELOJLVD\DU PLPDULVL
LOHWLP VLVWHPL YH GLHU VLVWHP \D]OPODU DQD
KDWODU\OD GHUVOHUGH DQODWOG /DERUDWXYDU VDDWOHULQGH
|UHQFLOHUH ELOJLVD\DUQ WHPHO SDUoDODU WDQWOG 8QL[
LOHWLP VLVWHPL ; SHQFHUHOHPH RUWDP YH EXQGDQ
VRQUD VNoD NXOODQDFDNODU SURJUDPODU vi editr, tin,
elm YE KDEHUOHPH \D]OPODU JLEL WHPHO NXOODQP
G]H\LQGH |UHWLOGL
'|QHPLQ NDODQ RQ KDIWDV ER\XQFD IRQNVL\RQHO
SDUDGLJPD\D GD\DO RODUDN WHPHO SURJUDPODPD HLWLPL
\DSOG %X DDPDGD GHUV NLWDE RODUDN >@ \DUGPF
ND\QDN RODUDN >@ NXOODQOG gUHQFLOHU GHUVOHUGH
NDYUDPODUOD WDQWODU ODERUDWXYDUGD EX NDYUDPODU
JHUHNWLUHQ SUREOHPOHUL ELOJLVD\DU EDQGD ELUH\VHO
oDODUDN DVLVWDQODUQ J|]HWLPL DOWQGD o|]GOHU
3UREOHPOHUGH VD\VDO YH VHPEROLN KHVDSODPD\D HLW
DUON YHULOGL
gUHQFLOHULQ NDUQH QRWODU o HY |GHYL ODERUDWXYDU
|GHYOHUL LNL DUD VQDY YH ELU ILQDO VQDYQQ ELOHNHVL
RODUDN RUWD\D oNW 2UWDJHoHU DQODPQD JHOHQ && YH
]HULQGH QRW DODQODU  RUDQQGD\NHQ GHUVL
WHNUDUODPDN ]RUXQGD NDODQODUQ RUDQ GD NDOG
gUHWLP HOHPDQODU YH |UHQFLOHU DUDODUQGD
NHVLQWLVL] LOHWLLP LoLQ E|OPQ RUWDN GRV\D VLVWHPLQGH
NXUXOX ELU KDEHUOHPH JUXEXQGDQ HOHNWURQLN SRVWD
RODQDQGDQ YH world wide webGHQ \DUDUODQGODU
EEBM7UK, Ankara, 1998

www
VD\IDVQD
85/LQGHQ XODODELOLU
%|OPGH D\Q G|QHP YHULOHQ &(1* NRGOX
\|QOHQGLUPH GHUVL D\Q |UHQFL JUXEXQD ELOJL
WHNQRORMLOHUL ELOJLVD\DU PKHQGLVOLL GLVLSOLQL YH
PHVOHL QLYHUVLWH YH E|OP KDNNQGD WDQWF ELOJLOHU
YHUPHVLQLQ \DQVUD ELOJLVD\DU RNXU\D]DUO ,QWHUQHW
NXOODQP JLEL EHFHULOHU GH ND]DQGUDUDN &(1*

(Ders
ile
ilgili
http://www.ceng.metu.edu.tr

dersini btnledi.

Bir dnemlik deneyim kesin sonulardan sz etmek

LoLQ HOEHWWH NL NVDGU OHUL VQIODUGDNL |UHQFLOHULQ


|]POHPHNWH ]RUODQG NDYUDPODU \HQL EDOD\DQ
|UHQFLOHULQ E\N ELU GRDOONOD EHQLPVH\LS
NXOODQGNODUQ J|UGN $NDGHPLN EDDUODUQQ
|WHVLQGH |UHQFLOHULPL]GH G|QHP ER\XQFD
J|UGP] HYN YH KH\HFDQ GRUX \ROGD
ROGXXPX]D GDLU EL]GH ELU NXNX EUDNPDPWU
7((..h5

'HUVLQ LOHQLLQGH |QHPOL NDWNODU RODQ DUDWUPD


J|UHYOLOHUL ONHU $OWQWD 6HOoXN HQNXO YH +DVDQ
8OXVR\D WHHNNU HGHUL]
REFERANSLAR
1. Hartmanis, J. (editor) Computing the future.
Summary report of the Committee to Assess the
Scope and Direction of Computer Science and
Technology of the National Research Council,
Communications of the ACM 35, 11 (November
1992), 30-40.
2. Walker, H.M. and Schneider, G.M. A revised
curriculum for a liberal arts degree in computer
science, Communications of the ACM 39, 12
(December 1996), 85-95.
4

3. Clinger, W. and Rees, J. (editors) Revised Report


on the Algorithmic Language Scheme. November
1991.
Available
from
URL:
http://wwwswiss.ai.mit.edu/scheme-home.html.
4. Harvey, B. and Wright, M. Simply Scheme:
Introducing Computer Science. MIT Press,
Cambridge, Massachusetts, 1994. ISBN 0-26208226-8.
5. Friedman, D.P. and Felleisen, M. The Little
Schemer. MIT Press, Cambridge, Massachusets,
1996 (4th edition). ISBN 0-262-56099-2.

You might also like