Professional Documents
Culture Documents
Bilgisayar Uygulamaları 2 - Nodrm
Bilgisayar Uygulamaları 2 - Nodrm
•
Bu kitabın Türkiye'deki tüm yayım hakları ''YÜCE" reklam/yayım/dağıtım a.ş."ye aittir. Bu kitap,
5846 sayılı yasa uyarınca kısmen ya da tamamen basılamaz, mikrofilme çekilemez, dolaylı
dahi olsa kullanılamaz; teksir, fotokopi veya başka bir teknikle çoğaltılamaz; bilgisayarlarda,
dizgi makinalarında işlenebilecek bir ortama aktarılamaz.
•
ÖNEMLİ NOT: Bu kitapta yer alan tüm yöntemler, devre ve programlar, patent durumu göz
önünde bulundurulmadan verilmiştir. Bunlar sadece öğretim amacına yöneliktir ve lisans
sahibinin izni olmadan profesyonel amaçlarla kullanılamaz.
Bu kitaptaki bütün devreler ve teknik bilgiler, yazar tarafından büyük bir özenle hazırlanmıştır.
Buna rağmen, olabilecek çeşitli hatalar ve baskı hataları bütünüyle önlenmiş sayılamaz. Bu
nedenle, yayınevi ve yazar, herhangi bir hatalı bilgi dolayısıyla oluşabilecek sonuçlara karşı
garanti vermediklerini ve hukuki sorumluluk kabul etmediklerini belirtirler. Kitapta gördükleri
hataları bildirecek okuyuculara, yazar ve yayınevi şimdiden teşekkür ederler.
•
Bu kitabın metinlerini Kemal Yarcı ve Orhan Öztürk yazdı, dil ve imlô incelemesini Nilay H.
Yarapsan, grafik tasarımını Zafer Bengi, baskıyı tavaslı matbaacılık (İstanbull, ciltlemeyi
savaş ciltevi yaptı.
•
Baskı: Eylül 2003
111 ..
N !~m~~~m/dağıtım a.ş.
Nato Caddesi, No: 23, Kat: 3,
www.literaturtr.com
ISBN 975-411-089-1
kitabın adı : bilgisayar uygulamaları 2
Seyrantepe 34418 İSTANBUL
TELEFON : (0212) 279 16 07 yazanlar : kemal yarcı, orhan öztürk
(0212) 279 94 10 düzenleme : yüce a. ş.
(0212) 279 10 26 (PBX) baskı : tavaslı matbaacılık (2003)
TELEFAKS : (0212) 279 18 64
E-MAIL : yuce@literaturtr.com cilt : savaş ciltevi
f(orkma, sönmez bu şafaklardayüzen al sancak;
Sönmeden yurdumun üstünde tüten en son ocak.
O benim milletimin yıldızıdır, parlayacak;
O benimdir, o benim milletimindir ancak.
A
t t
Garbın afakını sarmışsa çelik zırhlı duvar,
Kemal YARCI
ÖNSÖZ
Bu kitap Endüstri Meslek Liseleri Elektronik Bölümü' nün müfredatı
temel alınarak hazırlanmıştır.
Kitapta konular en basit ve en anlaşılır örneklerle anlatılmıştır.Bazı
o·kullarımızda teknik donanım eksikliği de gözönüne alınarak ; konular
anlatılırken adım adım açıklanmış ve gerekli şekiller mümkün olduğunca
orjinal programdan getirilmiştir.
Excel hakkında hiçbir fikri olmayan bir kullanıcı dahi, sadece bu kitabı
okumakla, kendi başına programa girip; birçok işini yardımsız yapabilecek
seviyeye gelebilir.
Kitapta geçen örnekler, en çok işe yarayacak şekildedir.Bu örneklerden
esinlenerek; kullanıcının kendi amaçlarına uygun çalışma sayfalarını
oluşturması mümkündür.
Kitapta müfredata uygunluk, sadelik, kolay anlaşılır olmak ön plana
alınmıştır ve hazırlanırken gerekli özen gösterilmiş olmasına rağmen gözden
kaçan hatalar olabilir.Okuyucular bu hataları şahsen veya mektupla
bildirdikleri takdirde memnuniyet duyacağım . Kitabın tüm okuyuculara
faydalı olmasını dilerim.
Tülay DİRLİK
Kemal YARCI - Orhan ÖZTÜRK
programlama dili
•
içindekiler
BASIC
1- Basic sisteminin tanıtımı ............................................................. 1
2- Basic değerleri - Sabitler, değişkenler ve isim atama ................ 7
3- Basic programlamaya giriş ........................................................ 15
4- Algoritma ve akış diyagramları ................................................. 39
5- Dallanma ve karşılaştırma deyimleri ........................................ 43
6- Döngü düzenleme ..................................................................... 57
7- İndisli değişkenlerin işletimi, diziler.. ....................................... 69
8- Standart fonksiyonlar ................................................................ 79
9- Ekran düzenleme ve printerden çıktı alma ............................ 101
10- Sıralama ve arama işlemleri .................................................. 109
11- Altprogramlar (subroutine) ................................................... 119
12- Data (veri) dosyası oluşturma ............................................... 133
. 13- Basic'te grafik ........................................................................ 175
14- Basic'te ses üretme ................................................................ 195
15- Bilgisayar portlarının kontrolu .............................................. 199
Ek 1: Hata mesajları ..................................................................... 217
Ek 2: ASCII kodlar tablosu .......................................................... 221
1- BASIC, öğrenilmesi çok kolay olan bir programlama dilidir. Uzmanlık gerek-
tirmez.
2- Program yazımı kolaydır.
3- Birçok makina (bilgisayar) BASIC yüklü olarak satılmaktadır. (ROM BASIC).
4- Matematiksel işlem yeteneği bütün ihtiyaçlara cevap verecek niteliktedir.
KOMUT : RUN, RENUM, SAVE, LOAD, LIST gibi program ın işletimiyle (yani
programın yüklenmesi, kaydedilmesi, ça lıştırılması) ilgili kelimeler komut olarak
adlandırılırlar. Bunlar genellikle BASIC programının içinde yer almazlar ve direkt
modda (yani satır numarasız olarak) kullanılırlar.
DEYİM : PRINT, INPUT, LOCATE gibi program içinde yer alan ve programda
2
BASIC SİSTEMİNİN TANITIMI
bir görevleri olan kelimeler DEYİM olarak adlandırılırlar. Az. önce de belirttiğimiz
gibi genellikle (hemen hemen her zaman) program içinde yer alırlar ve bu nedenle
başlarında bir satır numarası bulunur. Ayrıca FOR, NEXT, WHILE, WEND, IF,
THEN, ELSE .. gibi program içinde çeşitli yapıların oluşturulmasında kullanılan ke-
limeler de DEYiM olarak adlandırılabilir.
100 CLS
110 PRINT TIME$
999 END
100 CLS
110 TIME$="08:00:00"
999 END
3
BASIC SİSTEMİNİN TANITIMI
100 CLS
110 A=INT(34.7)
120 PRINT A
999 END
100 CLS
110 PRINT INT(34.7)
999 END
Buna göre bir standart fonksiyon hiçbir şekilde tek başına yazılamaz. Örneğin
şimdi inceleyeceğimiz program yanlıştır :
100 CLS
110 INT(34.7)
999 END
Görüldüğü gibi 1 1O nolu satırda INT fonksiyonu tek başına yazılmıştır. Üretti-
ği değer ne bir değişkene aktarılmış ne de başka bir deyim aracılığıyla kullanıl
mıştır. Bu program çalıştırıldığında Syntax Error (Yazım hatası) mesajı görüntüle-
nir.
4
BASIC SİSTEMİNİN TANITIMI
YANLIŞ DOGRU
PRİNT PRINT
Prınt Print
LİST LIST
Lıs t Lis t
İN PUT INPUT
DİM DIM
Dım Dim
5
BASIC SİSTEMİNİN TANITIMI
+ * / \
? $ > <
>= <= < >
Ok
PRINT 3*5 <ENTER>
15
Ok
6
ÜNİTE
BA§IC DEGEHLEHi
SABiTLEH~ DEGiŞKENLEH ve
iSiM ATAMA
A- BASIC DEGERLERİ
BASIC programı tarafından kullanılan, işlenen ve üretilen bilgilere Basic de-
ğerleri denir. Bu bilgiler iki türlü olabilir :
Sabit türü bilgiler program içinde değişikliğe uğramazlar. Sabit türü bilgiler sa-
yısal ya da alfanümerik olabilir. Alfanümerik tipi sabitler " " karakterleri arasında
yer alır. Değişken türü bilgiler ise program içinde değişikliğe uğrayabilecekleri
gibi programın her çalıştırılmasında da farklı olabilirler. Değişken türü bilgiler de
sayısal ya da alfanürnerik olabilir. Şimdi sırasıyla sabit ve değişken türü bilgileri
inceleyeceğiz.
7
BASIC DEGERLERİ
B- SABiTLER
Program içersinde değerleri sabit olan ifadelerdir. Sabitler, sayısal ve alfasa-
yısal sabitler olarak iki gruba ayrılırlar.
1- Sayısal sabitler:
Sayısal sabitler 0-9
arasındaki rakamların kombinasyonundan oluşurlar. Bu sa-
yılar, duruma göre +, - işaretlerini ve ayraç karakteri olarak . (nokta) içerebilir-
ler.
Tek duyarlıklı gerçel sayılar, noktadan sonra 7 basamak, çift duyarlıklı gerçel
sayılar ise noktadan sonra 15 basamak hassasiyetindedirler.
Aşağıda, çeşitli sayısal sabit örnekleri görülmektedir.
"TUZLA"
"AHMET"
"l 5"
8
BASIC DEGERLERİ
c- DEGİŞKEN DEGERLERİ
DEGİŞKEN ADI ÖRNEKLERİ
l'-0 Tek duyarlıklı gerçel sayı tipi değişken
SUM! Tek duyarlıklı gerçel sayı tipi değişken
NUM% Tamsayı tipi değişken
TOPLAM# Çift duyarlıklı gerçel sayı tipi değişken
AD$ String tipi değişken
String tipi değişkene bir harf aktarılabileceği gibi, maksimum olarak 255 karak-
ter de aktarılabilir.
Tamsay'ı tipi değişkenlere -32768 ile 32767 arasındaki tamsayılar aktarıla
bilir. Kesirli sayılar aktarılamaz.
Tek ve çift duyarlıklı gerçel sayı değişkenlere ise yukarıdaki tabloda belirtilen
sınırlar arasındaki fam veya kesirli sayılar aktarılabilir.
9
BASIC DEGERLERİ
A = 5
AD$ "AHMET"
A 5
A$ "AHMET"
B= 3
B=5
Yukarıdaki işlemlerde B değişkeninin içine önce 3 daha sonra ise 5 sayısı ak-
tarılmıştır. Sonuçta 3 sayısı silinir ve değişkenin içinde 5 sayısı bulunur.
Bir değişken, sayaç olarak kullanılarak, içersindeki değere başka bir değer de
eklenebilir.
A=3
A=A+l
10
BASIC DEGERLERİ
100 A=5
110 PRINT A
999 END
RUN
5
BASIC programlama dilinde her satıra bir satır numarası verilir. Satır numarala-
rı tamsayı olmak zorundadır. En küçük satır numarası l, en yüksek satır numarası
da 65529 olabilir. Bu arada kalmak şartıyla istenilen bir sayı ilk satır numarası
olarak tayin edilebilir ve artış miktarı serbestçe seçilebilir. Geleneksel olarak ar-
tış miktarı l O olarak alınmaktadır ancak bu yönde bir zorunluluk yoktur. Satır nu-
maralarının l O'ar (veya daha fazla) olarak arttırılmasının bir yararı, sonradan ara-
ya yeni satırlar ilave etme imkanı vermesidir.
Yukarıdaki programa gelelim. l 00 nolu satırda A değişkenine 5 sayısı atan-
mıştır. 11 O nolu satırda ise PRINT komutu kullanılarak A değişkenindeki sayı ek-
randa görüntülenmiştir. Programın en son satırı en yüksek numarayı taşımalıdır.
999 nolu satırdaki END komutu programı sona erdirir. Ancak bu satırın numarası
nın 999 .. olma zorunluluğu yoktur. Programdaki en büyük numaralı satır olması ye-
terlidir. Orneğin bu programda en son satıra, 120 numarası da verilebilirdi. An-
cak, yine geleneksel olarak en son satırlara 99, 999, 9999 gibi numaralar veril-
mektedir.
BASIC programlama dilinde yazılan programlar, en düşük numaralı satırdan
başlamak üzere sırayla satır satır çalışırlar.
Yukarıdaki programda herhangi bir dallanma (programın akış yönünün değişmesi)
olmadığı için en son satırda END komutunun kullanılması zorunluluğu da yoktur.
Ancak biz yine de bütün programlarda END komutunu kullanmayı tercih edeceğiz.
D- OPERATORlER
Operatörler, aritmetiksel işlemlerin yapılmasında ve program akış yönünün de-
ğiştirilmesinde kullanılacak şart önermelerinin oluşturulmasında kullanılırlar. Ope-
ratörler 3 grupta toplanabilir:
1- Aritmetiksel operatörler
2- İlişkisel operatörler
3- Mantıksal operatörler
i1
BASIC DEGERLERİ
ARİTMETİKSEL OPERATÖRLER
BASIC programlama dilinde; aritmetiksel işlemler aritmetiksel operatörler vası
tasıyla gerçekleştirilirler. Aşağıda, BASIC programlama dilinde kullanılan aritme-
tiksel operatörler ve işlevleri görülmektedir.
Buna göre, birden fazla operatörü olan işlemlerde, önce üs alma, daha sonra
çarpma ve bölme, en sonra da toplama ve çıkarma işlemleri yapılacaktır. Eğer ay-
nı işlem sırasında bulunan operatörler varsa (örneğin çarpma ve bölme) bu durumda
önce soldaki işlem yapılacak daha sonra da sağa doğru işlemler gerçekleştirilecek
tir.
ÖRNEK:
3+5*2 = ?
ÖRNEK:
7+5-2 =?
Bu işlemde ise, toplama ve çıkarma işlemleri aynı öncelik sırasında bulunduğu
için soldan itibaren önce iki sayı toplanır, bulunan sayıdan 2 çıkarılır.
12
BASIC DEGERLERİ
ÖRNEK:
7*(5+2)=?
İLİŞKİSEL OPERATÖRLER
İlişkisel operatörler iki değer arasındaki büyüklük, küçüklük veya eşitlik ilişki
sinin bulunmasında kullanılırlar.
Karşılaştırılan değerler sayısal olabileceği gibi alfasayısal da olabilir. Karşı
laştırma işlemi sonucunda, önermenin doğru veya yanlış oluşuna göre TRUE (Doğ
ru) veya FALSE (Yanlış) sonucu üretilir.
Aşağıdaki tabloda, ilişkisel operatörler ve kullanım yerleri görülmektedir.
13
BASIC DEGERLERİ
MANTIKSAl OPERATÖRLER
14
ÜNİTE
A-LET, PRINT, RUN, NEW, CLS, REM, SAVE, MKDIR, FILES, CD1
RD, INPUT, DELETE, lOAD DATA, .READ, RESTORE,
1
lET KOMUTU
BASIC programlama dilinde, değişkenlere değer atama işlemlerinde LET komutu
da kullanılabilir. LET komutunun kullanılması, BASIC'in ilk versiyonlarında zorun-
lu idi. Ancak şimdi kullanılan yeni versiyonlarda, değişkenlere değer atama işlem
lerinde LET komutunun kullanılması zorunlu değildir. Bununla birlikte, LET komutu-
nun kullanılması konusunda bir örnek verilmesini de uygun gördük. Aşağıdaki prog-
ramda LET komutu kullanılarak A ve B değişkenlerine değerler atanmaktadır.
RUN
TOPLAM =80
15
BASIC PROGRAMLAMAYA GİRİŞ
PRINT KOMUTU
PRINT komutu değişken, sabit ve ifadelerin ekranda görüntülenmesi amacıyla
kullanılır. PRINT komutunun sintaksı aşağıdaki gibidir.
PRINT değişken/sabit/ifade
ÖRNEKLER:
PRINT komutu yalnız başına (parametresiz) kullanılırsa bir satır boşluk bırakır.
RUN
TUZLA
TEKNİK
Her PRINT komutu bilgiyi ayrı bir satıra yazar. Eğer PRINT komutu bulunan sa-
16
BASIC PROGRAMLAMAYA GİRİŞ
tırın sonunda ";" (noktalı virgül) karakteri kullanılırsa, kürsör bir alt satıra inmez
ve yeni PRINT komutu bilgiyi öncekinin bittiği yerden itibaren yazdırır. Aşağıda
ki örnekleri inceleyelim:
100 PRINT "T"
110 PRINT ııu"
120 PRINT ıızıı
RUN
T
u
z
L
A
REN UM
BASIC programının satır numaralarının değiştirilmesi amacıyla kullanılır. Prog-
ramın bellekte yüklü olması gerekir.
RENUM <ENTER>
17
BASIC PROGRAMLAMAYA GİRİŞ
RUN
Bellekte veya disket ya da harddiskte bulunan bir programı çalıştırmak için kul-
lanılan komuttur. O anda bellekte bulunan bir programı çalıştırmak için RUN ya-
zıp ENTER tuşuna basmak yeterlidir. Sadece F2 fonksiyon tuşuna basılarak da bel-
lekteki program çalıştırılabilir. Bu durumda ENTER tuşuna basmaya gerek yoktur.
Disket veya harddiskte bulunan bir BASIC programını çalıştırmak için ise RUN
komutunun yanında çalıştır~!mak istenen programın adının yazılması ve ENTER tu-
şuna basılması gereklidir. Orneğin diskette bulunan TOPLAM adlı BASIC programı
çalıştırılmak istendiğinde:
komutu yazılmalıdır.
NEW
Bellekteki (RAM) programı ve değişkenleri siler. Yeni bir program yazmaya baş
lamadan önce NEW komutu kullanılarak bellek temizlenmelidir. Bu komut ayrıca
açık olan bütün dosyaları da kapatır.
cıs
Bu komut ekranı siler ve kürsör'ü l. satır, l. sütuna konumlandırır.
KEY OFF
Editörün en alt satırında bulunan komut yazılarının silinmesini sağlar.
KEYON
Editörün en alt satırındaki komut yazılarının tekrar görüntülenmesini sağlar.
KILL
Disket veya harddiskte bulunan bir dosyayı silmek için kullanılır. Örneğin dis-
kette bulunan TOPLAM.BAS adlı programı silmek için:
KILL "TOPLAM.BAS" yazıp ENTER tuşuna basmak yeterlidir. Silinmek istenen
program, diskette mevcut değilse file not found mesajı görüntülenir.
REM
BASIC programlama dilinde, progra_mın çeşitli yerlerinde açıklamalar yapmak
amacıyla REM komutu kullanılır, REM, lngilizce REMARK (Açıklama, yorum) keli-
mesinin ilk üç harfinden meydana gelmiştir. REM komutu ile başlayan satırlar
programın çalıştırılması sırasında INTERPRETER tarafından atlanır yani işleme kon-
maz. Bu satırlar sadece program hakkındaki açıklayıcı bilgi vermek amacıyla kul-
lanılırlar. REM komutu yerine, tek tırnak (') işareti de aynı işlevi görmek üzere kul-
lanılabilir.
18
BASIC PROGRAMLAMAYA GİRİŞ
RUN
BİR SAYI GİRİNİZ = 5 <ENTER>
SAYI =5 KARESİ = 25
SAVE
Bilgisayar'ın belleğinde (RAM) bulunan bir program diskete veya harddiske kay-
detmek amacıyla kullanılır. Program diskete veya harddiske kaydedilirken bir prog-
ram ismi verilir. Program ismi en fazla 8 karakterden oluşur ve yine en fazla 3 ka-
rakterden oluşan bir uzantı alabilir. Basic dilinde yazılmış bir program kaydedilir-
ken herhangi bir uzantı verilmediği taktirde otomatik olarak BAS uzantısını alır.
19
BASIC PROGRAMLAMAYA GİRİŞ
belirtilmesi gerekir.
Korumalı olarak kaydedilen bir BASIC programının listesi alınamaz. Liste alın
mak istendiğinde illegal function cali mesajı görüntülenir. Bu şekilde kaydedilen
programlar çalıştırılabilir. Koruma etkisi sonradan ortadan kaldırılamaz. Yani bir
program korumalı olarak kaydedilmişse bir daha o programın listenmesi mümkün ol-
maz.
CONT
Bir BASIC programının çalışması CTRL-BREAK tuşlarına basılarak sona erdirile-
bilir. CONT komutu, programın kaldığı yerden çalışmaya devam etmesini sağlar.
F5 fonksiyon tuşu da bu işlevi yerine getirebilir.
EDIT
~.ellekte bulunan programın belli bir satırını ekrana getirmek amacıyla kullanı
lır. Orneğin bir programın 160 numaralı satırını görmek ya da düzeltmek amacıy
la ekrana getirmek istediğimizde:
komutu çalıştırılmalıdır.
FILES
En çok kullandığımız komutlardan birisidir. Disket veya Harddiskte bulunan
programların isimlerinin görüntülenmesini sağlar. DOS'taki DIR komutunun işlevini
20
BASIC PROGRAMLAMAYA GİRİŞ
yerine getirir.
FILES <ENTER> biçiminde kullanılırsa disket veya harddiskteki bütün program-
ların isimleri görüntülenir. Aşağıda da FILES komutunun diğer kullanım biçimleri
açıklanmaktadır.
MERGE
Disk veya harddisk'e ASCll formunda kaydedilmiş olan bir programı, bellekte
yüklü bulunan bir program ile birleştirmek amacıyla kullanılır.
Örneğin DENEME adlı programı TOPLAM adlı program ile birleştirmek için ön-
ce DENEME adlı program ASCll formunda diskete kaydedilir:
Daha sonra da TOPLAM adlı program LOAD komutu ile belleğe yüklenir.
21
BASIC PROGRAMLAMAYA GİRİŞ
INPUT KOMUTU
10 INPUT A
RUN
? 5 <ENTER>
10 INPUT AD$
RUN
? TUZLA <ENTER>
Bu örnekte ise ? işaretinden sonra yazılan TUZLA stringi AD$ değişkenine ak-
tarılmıştır.
Aşağıdaki programda, klavyeden iki sayı girilmekte, bu sayılar toplandıktan
sonra da sonuç görüntülenmektedir.
100 CLS
110 INPUT A
120 INPUT B
130 C=A+B
140 PRINT
150 PRINT "A=" ;A
160 PRINT "B=" ;B
170 PRINT
180 PRINT "TOPLAM=";C
999 END
RUN
? 5
? 4
A=5
22
BASIC PROGRAMLAMAYA GİRİŞ
B = 4
TOPLAM =9
Bu programda 100 nolu satırdaki CLS komutu, ekranı silerek kürsörü sol üst kö-
şeye konumlandırmaktadır. 11 O ve 120 nolu satırlar ise klavyeden girilen sayıla
rı A ve B değişkenlerine aktarırlar. 140 ve 170 nolu satırlardaki PRINT komutla-
rı, sonuçların görüntülenmesi sırasında birer satırlık boşluk meydana getirirler.
INPUT komutu sadece değişken adı ile birlikte kullanıldığında ekranda bir soru
işareti belirir. Bu durum kullanıcının ne yapması gerektiği konusunda tereddüt et-
mesine yol açabilir. Bu nedenle INPUT komutu genellikle kullanıcıya yönelik bir
mesaj vererek yazılır. Aşağıdaki örneklerde INPUT komutunun bir mesajla (prompt)
kullanılması görülüyor.
100 CLS
110 INPUT "BIRINCİ SAYIYI GİRİNİZ=" ,A
12 o INPUT İKİNCİ SAYIYI GİRİNİZ=" B
il I
130 C=A+B
140 PRINT
150 PRINT "A=" ;A
160 PRINT "B=" ;B
23
BASIC PROGRAMLAMAYA GİRİŞ
170 PRINT
180 PRINT "TOPLAM=" ;C
999 END
RUN
BİRİNCİ SAYIYI GİRİNİZ = 5 <ENTER>
İKİNCİ SAYIYI GİRİNİZ = 6 <ENTER>
A =5
B =6
TOPLAM = 11
100 CLS
110 INPUT "BIRINCİ SAYIYI GİRİNİZ=",A
120 INPUT "İKİNCİ SAYIYI GİRİNİZ=",B
130 C=A-B
140 PRINT
150 PRINT ııA=ıı ;A
160 PRINT "B=" ;B
170 PRINT
180 PRINT "FARK=" ;C
999 END
RUN
BİRİNCİ SAYIYI GİRİNİZ = 8 <ENTER>
İKİNCİ SAYIYI GİRİNİ.Z = 3 <ENTER>
A =8
B = 3
FARK = 5
100 CLS
110 INPUT "BİRİNCİ SAYIYI GİRİNİZ=" ,A
120 INPUT "İKİNCİ SAYIYI GİRİNİZ=",B
130 C=A*B
140 PRINT
150 PRINT "A=" ;A
160 PRINT "B=" ;B
24
BASIC PROGRAMLAMAYA GİRİŞ
170 PRINT
180 PRINT "ÇARPIM=";C
999 END
RUN
BİRİNCİ SAYIYI GİRİNİZ = 4
İKİNCİ SAYIYI GİRİNİZ = 3
A =4
B =3
ÇARPIM = 12
100 CLS
110 INPUT "BİRİNCİ SAYIYI GİRİNİZ=" ,A
120 INPUT "İKİNCİ SAYIYI GİRİNİZ=",B
130 C=A/B
140 PRINT
150 PRINT A= ;A
11 11
160 PRINT B= ;B
11 11
170 PRINT
180 PRINT USING "BÖLÜM=###.##";C
999 END
RUN
"· BİRİNCİ SAYIYI GİRİNİZ = 15
İKİNCİ SAYIYI GİRİNİZ = 4
A = 15
B = 4
BÖLÜM= 3.75
Bir değişkene birden fazla değer aktarıldığında önceki değerler silinir, değiş
ken, en son aktarılan değeri muhafaza eder. Aşağıdaki program bu durumu göster-
mektedir.
100 A=5
110 A=8
120 PRINT "A=" ;A
999 END
25
BASIC PROGRAMLAMAYA GİRİŞ
· RUN
A =8
Bu programda l 00 nolu satırda A değişkenine 5 sayısı atanıyor. 11 O nolu sa-
tırda ise yine aynı değişkene 8 sayısı atanıyor. 120 nolu satır aracılığıyla A de-
ğişkeninin tuttuğu sayı görüntülendiğinde, 8 sayısının bulunduğunu görüyoruz.
Yani ilk atanan 5 sayısı silinmiş yerine ikinci atanan 8 sayısı gelmiştir.
BASIC programlama dilinde, sayısal değişkenlere herhangi bir değer atanma-
mışsa, bu değişkenlerin içinde 0 sayısı bulunur. Aşağıdaki program bu durumu gös-
termektedir.
100 PRINT A
110 PRINT B
999 END
RUN
0
0
Örnek:
100 A=5
110 B=A
120 PRINT "A=" ;A
130 PRINT "B=" ;B
999 END
A=5 A 5
26
BASIC PROGRAMLAMAYA GİRİŞ
RUN
A = 5
B =5
Bu programda önce A değişkenine 5 sayısı atanmış, daha sonra da 1 1O nolu
satırdaki B = A komutuyla, A değişkeninin içindeki sayı B değişkenine aktarılmış
tır. aktarma işlemi sırasında A değişkeninin içindeki sayı kaybolmaz. Yani bu iş
lem bir tür kopyalama işlemidir.
Örnek program:
100 A$="TUZLA"
110 B$=" TEKNİK"
120 C$=" LİSESİ"
130 D$=A$+B$+C$
140 PRINT D$
999 END
RUN
TUZLA TEKNİK LİSESİ
RUN
27
BASIC PROGRAMLAMAYA GİRİŞ
Aşağıdaki programda, işçinin adı, soyadı, kaç saat çalıştığı ve saat ücreti klav-
yeden girilmekte, hak edilen ücret hesaplanarak görüntülenmektedir.
RUN
ADINIZI GİRİNİZ : Ahmet
SOYADINIZI GİRİNİZ : Can
ÇALIŞMA SAATİNİZİ GİRİNİZ : 20
SAAT ÜCRETİNİZİ GİRİNİZ : 40000
Ahmet Can
28
BASIC PROGRAMIAMAYA GİRİŞ
DELETE
Bellekte yüklü bulunan programın belli satırlarını silmek amacıyla kullanılır.
DELETE -50 <ENTER> Programın ilk satırından 50. satıra kadar olan bö-
lümü (50. satır dahil) silinir.
DELETE 50- <ENTER> Programın 50. satırından, sonuna kadar olan bölü-
mü (50. satır dahil) silinir.
DELETE 120-160 <ENTER> Programın 120. satırı ile 160. satırı arasındaki
bölümü ( 120. ve 160. satırlar dahil) silinir.
MKDIR
Yeni bir dizin oluşturmak için kullanılır. Dizine geçerli bir isim verilmesi gere-
kir. Sürücü tanımlaması yapılmazsa yeni dizin aktif sürücüde oluşur. Şimdi incele-
yeceğimiz program aktif sürücüde "ABC" adlı bir dizin oluşturur.
100 CLS
110 MKDIR "ABC"
999 END
Bu program çalıştırıldığında aktif sürücüde ABC adlı bir dizin oluşur. Daha
sonra FILES komutuyla (ya da DOS ortamındayken DIR komutuyla) ABC adlı dizi-
nin oluşturulduğunu görebilirsiniz.
MKDIR "A:ABC"
Komutu bu şekilde yazarsak hangi sürücüde olursak olalım ABC dizini A sürü-
cüsünde oluşur.
MKDIR "C:ABC"
Komut bu şekilde yazıldığı taktirde ise ABC dizini C sürücüsünde (yani hard-
diskte) oluşur.
CHDIR
29
BASIC PROGRAMLAMAYA GİRİŞ
100 CLS
11 O CHDIR "ABC 11
120 END
Bu kullanımda ise aktif sürücü ne olursa olsun A sürücüsüne takılı olan disket-
teki ABC dizinine girilir.
CHDIR komutu bir dizinden çıkmak amacıyla da kullanılır.
CHDIR " .. 11
RMDIR
RMDIR komutu mevcut bir dizini yok etmek amacıyla kullanılır. Yok edilecek
dizinin içinde herhangi bir program ya da başka altdizin olmamalıdır. Aksi taktir-
de program hata mesajı verir. Şimdi inceleyeceğimiz program daha önce oluşturul
muş olan ABC dizinini yok eder.
100 CLS
110 RMDIR 11 ABC 11
999 END
LINE INPUT
30
BASIC PROGRAMLAMAYA GİRİŞ
mutu kullanılmıştır.
100 CLS
110 LINE INPUT "Adresinizi giriniz : ",A$
120 PRINT A$
999 END
Run
Adresinizi gırınız Bahar sokak, No 22 <ENTER>
Bahar sokak, No 22
LOAD
Disket veya harddiskte bulunan bir programın belleğe yüklenmesi amacıyla kul-
lanılır.
31
BASIC PROGRAMLAMAYA GİRİŞ
RUN
5 3 6
READ A, B, C
DATA 5, 3, 6
READ ve DATA deyimleri birden fazla satırda da yer alabilir. Ancak bu durum-
da da değişkenlerin sayısıyla bilgilerin sayısı birbirine eşit olmalıdır.
Şimdi inceleyeceğimiz programda bir READ satırına karşılık, bilgiler birden
fazla DATA satırında yer almıştır.
32
BASIC PROGRAMLAMAYA GİRİŞ
999 END
RUN
7 3 5 8
READ A, B, C, D
DATA 7, 3, 5
DATA 8
RUN
BİLGİSAYAR EKRAN 486
33
BASIC PROGRAMLAMAYA GİRİŞ
READ A, B, C
DATA 5, 3
Bu durumda 5 sayısı A değişkenine , 3 sayısı da B değişkenine aktarıl ır. C de-
ğişkeninin okuyacağı bilgi bulunmadığı için ekrana OUT OF DATA hata mesajı gö-
rüntülenir ve programın ça lı şması durur.
Aşağıdaki programda, bir değişkenler bir READ satırında, bilgiler ise üç DATA
satırınd a verilmektedir.
999 END
RUN
34 55 27 70
RUN
25 15 55 45
34
BASIC PROGRAMLAMAYA GİRİŞ
RESTORE KOMUTU
RUN
ÖNCE
A=lO
B=20
C=30
D=40
E=50
SONRA
A=lO
B=20
C=30
D=lO
E=20
35
BASIC PROGRAMLAMAYA GİRİŞ
Bu programda önce, 100 nolu satırdaki READ komutuyla, 11 O nolu DATA satı
rındaki bilgiler A, B, C değişkenleri ne aktarılır. 130 nolu READ komutuyla da
120 nolu DATA satırındaki bilgiler D ve E değişkenlerine aktarılır. 21 O nolu sa-
tırdaki RESTORE komutu, 220 nolu satırdaki READ komutunun, 11 O nolu DATA sa-
tırındaki ilk iki bilgiyi okumasını sağlar.
RESTORE komutu, satır numarası belirtilmeden kullanılırsa, en küçük numaralı
DATA satırındaki bilgiler aktif hale gelir. (Yani, RESTORE komutundan sonra çalı
şan READ komutu, en küçük numaralı DATA satırındaki bilgileri okur). Yu karı da in-
celediğimiz programda, RESTORE komutu, satır numarası belirtilmeden kulla nılmış
tır .
RESTORE komutu, satır numarası belirtilerek kullan ıldığında ise (bu satır numa-
rası bir DATA satırına ait olmalıdır) o satırdaki bilgiler aktif hale gelir, yan i RES-
TORE komutundan sonra çalışan READ komutu, satır numarası bildirilen DATA satı
rındaki bilgileri okur.
Aşağıdaki programda RESTORE komutu, satır numarası belirtilerek kullanılmı ş
tır .
RUN
ÖNCE
A=lOO
B=200
C=300
SONRA
A=3 00
36
BASIC PROGRAMLAMAYA GİRİŞ
B=400
C=SOO
NAME
Bu komut, disket veya harddiskte bulunan bir programın adını değiştırmek ama-
cıyla kullanılır.
AUTO
Satır numaralarını otomatik olarak yazdırmak için AUTO komutu kullanılır. Baş
langıç satır numarası ve artış miktarı belirtilmeksizin sadece AUTO yazılıp ENTER
tuşuna basılırsa, ilk satır numarası 1O olacak bundan sonraki satır numaraları da
1O'ar artarak devam edecektir. CTRL-BREAK tuşlarına basılarak AUTC komutunun
etkisi sona erdirilir.
AUTO komutu, ilk satır numarası ve artış miktarı belirtilerek de kullanılabilir.
Bu durumda AUTO komutu:
AUTO 100, 1O şeklindeki bir yazımdan sonra ilk satır numarası 100, artış
miktarı ise 1O olur.
KEY
BASIC editörünün en alt satırında çeşitli komutlar ve bu komutların hangi fonk-
siyon tuşlarıyla (HOT KEYS) çalıştırılacakları yazılıdır. Örneğin en alt satırda en
solda 1 LIST ifadesi yer alıyor. Bu demektir ki klavyedeki F1 tuşuna basılırsa
LIST komutu ekrana yazılacaktır. Soldan ikinci sırada ise 2 RUN" yazısı vardır.
Buna göre F2 tuşuna basıldığında editördeki program çalışır. RUN yazısının sağın
daki ·· işareti ENTER tuşunu temsil eder yani bu durumda F2 tuşuna basıldıktan
sonra ENTER tuşuna da basılmasına gerek yoktur. KEY komutu BASIC editörün en
alt satırındaki fonksiyon tuşlarına yeni tanımlamalar yapılmasını sağlar. KEY ko-
mutu aşağıdaki gibi kullanılır.
KEY n, "ifade"
37
BASIC PROGRAMLAMAYA GİRİŞ
38
ÜNİTE
AL60HiTMA ve
AHIŞ DiYA6HAMLAHI
A- ALGORİTMA HAZIRLAMA
39
ALGORİTMA ve AKIŞ DİYAGRAMLAR!
Döngü (loop)
1 1 1 1
o Bağlantı noktası
40
ALGORİTMA ve AKIŞ DİYAGRAMLARI
Programın başlangıcı
Programın sonu.
Programın başlangıcı
41
ALGORİTMA ve AKIŞ DİYAGRAMLAR!
3- l 'den l O'a kadar olan sayıları ekrana yazan programın akış diyagram ı
42
ÜNİTE 5
DALLANMA ve . .
KAHŞILAŞTIHMA DEYIMLEHI
. .
A- GOTO DEYiMi
GOTO komutu, BASIC dilinde en çok kullanılan komutlardan birisi olup, prog-
ram kontrolunun bulunduğu noktadan, numarasıyla tanımlanan bir satıra dallanma-
sını sağlar.
Bu örnekte program kontrolu, satır numarası ile tanımlanan satıra gider. Satır
numarası, GOTO komutunun bulunduğu satırdan daha önce gelen satırlardan biri-
ne ait olabileceği gibi, sonra gelen satırlardan birine de ait olabilir.
10
20
30 GOTO 10
40
50
Bu örnekte, program kontrolu 30 nolu satırdan 1O nolu satıra gitmektedir.
10
20
30 GOTO 60
40
50
60
70
Bu örnekte ise, program kontrolu 30 nolu satırdan 60 nolu satıra geçmektedir.
43
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
10
20
30 IF A=5 THEN GOTO 60
40
50
60
70
Yukarıdaki örnekte, GOTO komutu A=5 olması şartına bağlanmıştır. Buna göre
A=5 ise program kontrolu 60 nolu satıra geçecek, aksi halde 40 no'lu satırdan
itibaren normal akışına devam edecektir. .
Aşağıdaki programda, vergi iadesi hesaplanmaktadır. Bir önceki programdan
farklı olarak, burada, bir kişiye ait vergi iadesi hesaplandıktan sonra, kullanıcıya
devam etmek isteyip istemediği sorulmakta, kullanıcı devam etmek istediğinde (
"E" veya "e" harfine bastığında) program yeniden başa dönerek diğer bir kişiye ait ·
vergi iadesini hesaplamaktadır. Kullanıcı, devam etmek istediği sürece program
çalışır .
260 PRINT
270 PRINT "ADI : ";AD$
280 PRINT "SOYADI :";SOY$
290 PRINT "MAAŞI :";NM;ıı TL.
il
320 PRINT
330 PRINT "DEVAM ETMEK İSTİYOR MUSUNUZ (E/H) >";
340 C$=INPUT$(1)
350 PRINT
360 IF C$="E " OR C$="e" THEN GOTO 140
999 END
44
DAllANMA ve KARŞllAŞTIRMA DEYİMLERİ
-b~
xı=------
2a
-b--Jb 2 -4ac
X2 = 2a
Formülleriyle hesaplanır.
45
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
RUN
A DEGERİNİ GİRİNİZ =1
B DEGERİNİ GİRİNİZ = -5
C DEGERİNİ GİRİNİZ =3
x1 4.302776
X2 O. 6972224
8- IF..THEN ..GOTO
IF .. THEN .. GOTO yapısında IF ile THEN kelimeleri arasında verilmiş olan şart
gerçekleşirse program akışı GOTO kelimesinden sonra yazılan satır numarasına
gider.
100
110
120
130 IF A=2 THEN GOTO 110
140
150
100
110
120
130 IF A=2 THEN GOTO 160
140
150
160
170
Bu durumda A değişkenindeki sayı 2 ise 140 ve 150 numaralı satırlar hiç ça-
lı şmadan kontrol 160 numaralı satıra geçecektir. A değişkenindeki sayı 2 'den
farklı ise l 30 numaralı satırdan sonra program normal yoluna devam eder.
46
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
A=2 ise satırların çalışma sırası A<>2 ise satırların çalışma sırası
100 100
110 110
120 120
130 130
160 140
170 i 50
160
170
Bu yapıda, IF kelimesinden sonra gelen şart önermesi DOGRU (TRUE) ise Ko-
mut l, YANLIŞ ise de Komut2 çalışacaktır. Yani önerme DOGRU ise THEN keli-
mesi ile ELSE kelimesi arasındaki komut, YANLIŞ ise de ELSE kelimesinden sonra
gelen komut çalışacaktır.
999 END
RUN
POZİTİF SAYI
IF KOMUTU
IF komutu, bir veya birden fazla şartın gerçekleşmesine bağlı olarak bir veya
birden fazla komutun çalışmasını sağlar.
47
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
j
doğru
yanlış
KOMUT
RUN
BİR SAYI GİRİNİZ > 8 <ENTER>
POZİTİF BİR SAYI GİRDİNİZ ..
48
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
AND BAGl.ACI
Birden fazla şartın aynı anda gerçekleşmesinin arandığı durumlarda, bu şartlar
birbirine AND bağlacıyla bağlanır.
49
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
Bu örnekte de, A=O ve AD$="AHMET" şartlarının her ikisi de DOGRU old uğu
taktirde THEN kelimesinden sonra gelen komut çalışacaktı r .
Aşağıdaki programda, Dijital Elektronik devrelerinde kullanılan iki girişl i VE
kapısının girişlerine gelen değerlere göre çıkışında bulunan değer bulunmakta ve
görüntülenmektedir.
220 PRINT
230 PRINT "X GİRİŞİ u ;X
RUN
X GİRİŞİ 1
Y GİRİŞİ o
Z ÇIKIŞI o
50
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
OR BAGLACI
Birden fazla şartın herhangi biri veya birkaçının gerçekleşmesinin arandığı du-
rumlarda, bu şartlar birbirine OR bağlacıyla bağlanır.
RUN
x GİRİŞİ 1
Y GİRİŞİ o
Z ÇIKIŞI 1
51
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
BASIC programlama dilinde, bir satırda birden fazla komut yer alabilir. Bu du-
rumda, komutlar birbirinden ":" (iki nokta üstüste) karakteriyle ayrılırlar.
Örnek l :
RUN
TUZLA
TEKNİK
LİSESİ
Burada l 00 nolu satırda üç adet PRINT komutu yer almıştır. Bu komutlar peş
peşe çalış ır. Komutların arasında : karakteri bulunduğuna dikkat ediniz .
Örnek 2:
RUN
5 3
52
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
240 YA=BA-DA
250 YY=BY-DY
260 PRINT
270 PRINT "DOGUM GÜNÜNÜZ ";DG; "-";DA;"-" ;DY
280 PRINT "BUGÜNÜN TARİHİ ";GBG; "-" ;GBA; "-" ;GBY
290 PRINT
300 PRINT "BUGÜNE KADAR" ;YY;" YIL," ;YA;" AY," ;YG;" GÜN YAŞA:JINIZ .. "
999 END
RUN
Sağlıklı .bir kişinin kilosu, boy uzunluğu ve cinsiyeti göz önüne alınarak hesap-
lanabilmektedir. Şimdi inceleyeceğimiz programda, kişinin boyu (cm olarak) ve
cinsiyeti klavyeden girilmekte ve ideal kilosu belirlenmektedir.
RUN
53
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
Buna göre, örneğin 50000 TL. fatura toplayan bir k işi bu miktarın % 1O'u ka-
dar, yani 5000 TL. vergi iadesi alacaktır.
70.000 TL. lık fatura toplayan bir kişi ise, bu m i ktarın 60000 l i ra l ı k kısmı
için %1O' dan 6000 TL, 10000 liralık kısmı için ise %20 den 2000 TL. olmak
üzere toplam 8000 TL. vergi iadesi alacaktır.
Aşağıdaki program, çalışanların maaş miktarını ve fatura toplamını gözönüne
alarak, hak ettikleri vergi iadesi miktarını hesaplamaktad ır .
180 '
190 IF FT>NM THEN NM=FT
200 IF FT<=60000! THEN VI=FT* . l
210 IF FT>60000! AND FT<=l20000! THEN VI=6000+(FT-60000!} *.2
220 IF FT>l20000! AND FT<=2000 00 ! THEN VI=lSO OO+ (FT-120000!} *.12
230 I F FT>200000! THEN VI =27600 +(FT- 200000!) * . 05
240 '
250 PRINT
54
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
RUN
ADINIZI GİRİNİZ > ORHAN <ENTER>
SOYADINIZI GİRİNİZ > ÖZTÜRK <ENTER>
NET MAAŞINIZI GİRİNİZ > 5000000 <ENTER>
FATURA TOPLAMINIZI GİRİNİZ > 4000000 <ENTER>
ADI : ORHAN
SOYADI : ÖZTÜRK
MAAŞI : 5000000 TL.
FATURA : 4000000 TL.
VERGİ İADESİ : 217600 TL.
SÖZLÜK PROGRAMI
55
DALLANMA ve KARŞILAŞTIRMA DEYİMLERİ
56
ÜNİTE
DÖN6V DVZENLEME
A- DÖNGÜLER (LOOP)
Değişkenler, akış kontrolu ve döngüler, bir programlama dilinin temel taşları
dır. Döngüler, bir veya bir grup işlemin belirli bir sayıda veya belirli bir şarta
bağlı olarak tekrarlanmasını sağlar.
Örneğin, ekrana l O kez "BİLGİSAYAR" yazdırmak istiyoruz. Döngüler olma-
saydı, programda 1O tane PRINT komutu kullanmamız gerekecekti. Hele, işlemin
l 00-200 kere tekrarlanması gerektiği durumlarda, işimizin ne kadar zor olduğu
daha iyi anlaşılır. Döngüler, bizi bu zorluklardan kurtarıyor.
RUN
1
2
3
4
5
57
DÖNGÜ DÜZENLEME
6
7
8
9
10
Yukarıdaki iki yaz ım şekli de doğrudur. Ara lı klı yazımda GO ve TO kel imeleri
arasında l karakterl ik boşlu k bu lu nma l ı d ır .
58
DÖNGÜ DÜZENLEME
tekrarlanan blok
NEXT değişken
FOR kelimesinden sonra, bir sayısal değişkene ilk değer atanır. Sayısal değiş
ken, herhangi bir değişken adı olabilir, ancak uygulamada geleneksel olarak 1, J, K
harfleri kullanılmaktadır.
FOR I=l TO 5
NEXT I
RUN
1 2 3 4 5 6 7 8 9 10
Bu programda, 1 kontrol değişkenine ilk değer olarak 1 atanmış, son değer ola-
rak da 1O sayısı tesbit edilmiştir. Buna göre FOR ile NEXT kelimeleri arasındaki
11 O nolu satır 1O kez çalışacaktır. 1 değişkeninin değeri her defasında 1 artmak-
tadır.
59
DÖNGÜ DÜZENLEME
Örnek 1:
FOR I 1 TO 10 STEP 2
tekrarlanan blok
NEXT I
Örnek 2:
FOR J= 2 TO 6 STEP 0 . 5
tekrarlanan blok
NEXT J
Burada ise, kontrol değişkeninin değeri, her defasında 0.5 artar. Buna göre, ar-
tış miktarı, kesirli sayı olarak da tanımlanabilmektedir.
Örnek 3:
tekrarlanan blok
NEXT I
60
DÖNGÜ DÜZENLEME
Aşağıdaki programda FOR NEXT döngüsü kullanılarak 6'1ar çarpım tablosu çıka
rı im ıştır.
RUN
1*6 = 6
2*6 = 12
3*6 = 18
4*6 = 24
5*6 = 30
6*6 = 36
7*6 = 42
8*6 = 48
9*6 = 54
10*6 = 60
61
DÖNGÜ DÜZENLEME
120 '
130 CLS
140 PRINT "TUŞ", "ASCII"
15 O PRINT " ", "
160 PRINT
170 A$=INKEY$
180 IF A$="" THEN GOTO 170
190 G=LEN(A$)
200 IF G=2 THEN A$=RIGHT$(A$,l)
210 PRINT A$,ASC(A$)
220 GOTO 170
230 END
RUN
TUŞ ASCII
A 65
c 67
Programda kullan ılan INKEY$ komutu, klavye tamponunu sürekli kontrol ederek
herhangi bir tuşa basılıp basılmadığını kontrol eder.
170 A$ = INKEY$
180 IF A$ = "" THEN GOTO 170
Yukarıdaki iki satı r INKEY$ komutunun ça lı şmas ın ı gösteriyor. 170 nolu sa tır
da A$ = INKEY$ komutuyla klavye tamponu kontrol edilmektedir. Klavyede her-
hangi bir tuşa basılmadığı müddetçe, tamponda (buffer). " " (null string) karakteri
bulunacağından 180 nolu satır vasıtasıyla kontrol yine 170 nolu satıra gönderi-
lir ve klavyede herhangi bir tuşa basılıncaya kadar bu işlem devam eder.
Herhangi bir tuşa basıldığı taktirde, kontrol 190 nolu satına inecektir. Bu sa-
tırda bulunan G = LEN (A$) komutuyla basılan tuşun koç karakterden meydana
geldi ği bulunur ve bu sayı G değişkenine aktarıl ır.
G d eğ i ş kenine l sayısı aktar ılmı şsa basılan tuş tek karakter genişliğinde bir
tuş demektir. G değişkenine 2 sayı sı aktar ıldı ğ ı taktirde ise, basılan tuş iki karak-
ter genişliğinde demektir. Bu durumda A$ = RIGHT$(A$, l) komutuyla sağdaki ka-
rakter A$ değişkenine aktar ılır. Tek karakterli tuşlarda bu i ş lem yap ıl maz . Daha
sonra do 21 O nolu satır aracılığıyla , basılan tuş ve ASCll kodu görüntüleni r.
İki karakterli tuşlara, ÖZEL TUŞLAR denir. Örneğin yukarı ok (İ). aşağ ı ok (.!..) ,
PgUp, Ese ... gibi tuşlar özel tuşlardır .
62
DÖNGÜ DÜZENLEME
Daha önce de belirtildiği gibi özel tuşların iki kodu vardır ve bu tuşlar ikinci
(yani sağdaki) kodları vasıtasıyla birbirinden ayrılırlar. Örneğin yukarı ok (İ) tuşu
iki kodludur ve sağdaki karakterinin ASCll kodu 72 dir. 72 sayısı aynı zamanda
"H" harfinin de ASCll kodudur. Peki "H" harfine mi yoksa yukarı ok tuşuna mı ba-
sıldığını nasıl anlayacağız? Cevap basit: Basılan tuş tek karakterli ve kodu 72
ise "H" tuşuna basılmıştır. Tuş iki karakter genişliğinde ve sağdaki kod 72 ise yu-
karı ok (İ) tuşuna basılmış demektir. O halde, her şeyden önce LEN komutu kulla-
nılarak, basılan tuşun kaç karakterden oluştuğu tesbit edilmelidir.
Şimdi inceleyeceğimiz programda, klavyedeki bazı özel tuşların ASCll kodları
üretilmektedir.
RUN
130 CLS
140 INPUT "CÜMLEYİ GİRİNİZ :",C$
150 K=LEN(C$)
160 IF K=O THEN GOTO 330
63
DÖNGÜ DÜZENLEME
270 CLS
280 PRINT "GİRİLEN CÜMLE : ";D$
290 PRINT
3 OO PRINT "OLUŞAN CÜMLE : " ; S$
310 PRINT
320 GOTO 140
330 CLS
999 END
RUN
tuzla teknik lisesi
Örnek
D
11
~ 68
11
"d" ~ l 00 (68+32)
13 O TOPLAM= O
140 FOR I=l TO 100
150 TOPLAM=TOPLAM+I
160 NEXT I
170 1
64
DÖNGÜ DÜZENLEME
100 A$=ıı 11
RUN
*
**
***
65
DÖNGÜ DÜZENLEME
****
*****
******
WHILE Şart
- - - - - - - Tekrarlanan komutlar
WEND
WHILE kelimesinin yanında belirtilen şart DOGRU (TRUE) ise WH ILE kelime-
siyle WEND kelimesi arasında yer alan komut veya komutlar ça lı şır. Kontrol
WEND kelimesine geldiğinde, tekrar WHILE kelimesinin yer aldığ_ı sa tıra döner
ve şartın doğru olup olmadığı yeniden kontrol edilir, şart yine DOGRU ise komut-
lar yine çalış ır . Şart yanlış olduğu ta kti rde, WEND kelimesinden sonra gelen sa-
tır çal ı şır, yani döngüden çıkıl ır .
100 I=l
110 WHILE !<10
120 PRINT I
130 I =I+l
140 WEND
999 END
RUN
1
2
3
4
5
6
7
8
9
66
DÖNGÜ DÜZENLEME
Aşağıdaki program, klavyeden girilen bir cümleyi, her satırda bir karakter arttı
rarak yazar.
230 PRINT
240 GOTO 140
999 END
RUN
CÜMLEYİ GİRİNİZ > TUZLA TEKNİK <ENTER>
T
TU
TUZ
TUZL
TUZLA
TUZLA
TUZLA T
TUZLA TE
TUZLA TEK
TUZLA TEKN
TUZLA TEKNİ
TUZLA TEKNİK
TRON
Editördeki program çalıştırılmadan önce TRON yazılıp ENTER tuşuna basılırsa
(veya sadece F7 fonksiyon tuşuna basılırsa) programın çalışan komutlarının satır
numaraları ekrana yazılır.
TROFF
Bu komut TRON komutunun etkisini ortadan kaldırır. F8 fonksiyon tuşuna bası
larak da aynı sonuç alınır.
67
DÖNGÜ DÜZENLEME
68
ÜNİTE
iNDiSLi DEGiŞHENLEHiN
iŞLETiMi~ niziLEH
A- DIM DEYİMİ
Kural olarak, bir değişken herhangi bir anda sadece bir tane değer tutabilir.
Değişkene yeni bir değer aktarıld~ğında, önceki değer silinir yerine yeni değer ge-
lir. Bu tip değişkenler, BASiT DEGIŞKENLER olarak adlandırılmaktadır.
Basit değişkenlere örnekler:
A, AD$, S, B$
Bu değişkenler, basit değişken olup herhangi bir anda sadece bir değer tutabi-
lirler.
İndisli değişkenler ise bir isim altında, birden fazla değer tutabilirler. İndisli
değişkenlere, DİZİ DEGİŞKENLER de denilmektedir.
İndisli değişkenler DIM komutuyla tanımlanır. DIM, DIMENSION (boyut) keli-
mesinin ilk üç harfinden oluşmuştur. DIM kelimesinden sonra değişken adı ve bu-
nun yanında parantez içinde indis numarası yer alır. İndisli değişkenlerde, bellek-
te indis numarasının bir fazlası kadar sayıda alan ayrılır. Bu alanlarc, indisli de-
ğişkenin elemanları denir ve her eleman ayrı bir indis numarasıyla tar:ımlanır.
DIM A (5)
Değişken İndis
adı numarası
A(5)
Yukarıdaki tanımlamadan sonra,
bilgisayarın belleğinde A değişkeni A(O)
69
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
İndisli değişkenlerde, ilk elemanın indis numarası sıfırdır. Son indis numarası
ise, indisli değişkenin tanımlanmasında parantez içinde belirtilen numaradır. Buna
göre DIM A(5) tanımı yapıldığında, A indisli değişkeni 6 elemandan oluşur. A de-
ğişkeni, her elemanında bir sayı olmak üzere, aynı anda 6 tane sayı tutabilir.
İndisli değişkenler, alfasayısal (string) tipinde de tanımlanabilirler.
AD$(5)
AD$(0)
AD$(1)
AD$(2)
AD$(3)
AD$(4)
AD$(5)
AD$ değişkeni , her elemanda bir tane olmak üzere 6 tane alfasayısa l (string)
ifadeyi tutabilir.
Bir indisli değişkenin elemanlarına, değişken adı ve o elemanın indis numara-
sıyla ulaşılır.
A(3)
İndisli değişkenin tanımı sırasında, indis numarası sabit sayı olarak verilebile-
ceği gibi, değişken olarak da verilebilir.
70
iNDİSlİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
Örnek:
A(5)
A( 0) I=2 olduğunda:
A ( 1)
A ( 2) ~ A(I)
A(3) ~ A(I+l)
A(4)
A(5)
Örnek:
DIM B (20)
10 OPTION BASE 1
20 DIM A (5)
71
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
A{5)
A(l)
A(2)
A{3)
A(4)
A(5)
RUN
23 87 54 12 8 70 48 35 59 60
Bu program ça lıştırıldı ğ ında, ilk FOR N EXT döngüsündeki READ N(I) komutu
aracılığıyla, DATA satırındaki bilgiler, N değişkeninin elemanlarına aktarılır .
N{lO)
N(O)
N (l) 23 N{6) 70
N(2) 87 N(7) 48
N(3) 54 N(8) 35
N(4) 12 N(9) 59
N(5) 8 N(lO) 60
72
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
RUN
EN BÜYÜK SAYI = 9
73
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
A(5)
A(O) MAX
A(l) 3 ITJ
A(2) 5
A(3) 9
A(4) 2
A(S) 7
Bundan sonra, A( l) elemanındaki sayı, en büyük kabul edilerek MAX değ iş keni
ne aktarılır. ( 150 nolu satır). Daha sonra A(2) elemanından başlama k üzere sıray
la bütün elemanlardaki sayılar, MAX değişkenindeki say ıyla karşılaştırılır. Eğer
elemandaki sayı, MAX değişkenindeki sayıdan büyükse, o sayı MAX değ i şke nine
aktarılır. Böylece, döngünün sonuna ge lindiğ inde , elemanlarda bulunan sayıların
en büyüğü. MAX değişkenine aktarılmış olur.
Minimum sayı da aynı teknikle bulun ur. Aradaki tek fark 170 nolu satı rda >
operatörü yerine < operatörünün kullanılmasıdır.
RUN
1. SAYIYI GİRİNİZ > 5
2. SAYIYI GİRİNİZ > 2
3. SAYIYI GİRİNİZ > 9
4. SAYIYI GİRİNİZ > 4
5. SAYIYI GİRİNİZ > 6
EN KÜÇÜK SAYI : 2
74
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
DIM A (3,4)
sütun satır
A(3, 4)
DIM B (5,6)
75
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
180 '
190 FOR I=l TO 3
200 FOR J=l TO 4
210 READ B(I,J)
220 NEXT J
230 NEXT I
240 '
250 FOR I=l TO 3
260 FOR J=l TO 4
270 C(I,J)=A(I,J)+B(I,J)
280 NEXT J
290 NEXT I
300 '
310 CLS:KEY OFF
320 PRINT "A l<T_ATRİSİ"
330 PRINT
340 FOR I=l TO 3
350 LOCATE I+2,l
360 FOR J=l TO 4
370 PRINT A(I,J);
380 NEXT J
390 NEXT I
400 '
410 PRINT:PRINT
42 O PRINT "B MATRİSİ"
430 PRINT
440 FOR I=l TO 3
450 LOCATE I+8,l
460 FOR J=l TO 4
470 PRINT B(I,J);
480 NEXT J
490 NEXT I
500 '
510 PRINT :PRINT
520 PRINT "C MATRİSİ"
530 FOR I=l TO 3
540 LOCATE I+l4,1
550 FOR J=l TO 4
560 PRINT C(I,J);
570 NEXT J
580 NEXT I
590 '
600 DATA 2,1,3,4,2,3,3,1,4,2,4,1
610 DATA 3,l,4,2,1,3,2,4,1,3,4,2
999 END
76
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
77
İNDİSLİ DEGİŞKENLERİN İŞLETİMİ, DİZİLER
78
ÜNİTE8
STANDART FONKSiYONLAH
A- ABS, INT, FIX, SIN, CQS, TAN, ATN, ~OG, SQR, CDBl,
CSGN, HEX$, RND ARiTMETiK FONKSiYONLAR!
ABS
100 CLS
110 A=35. 4
120 B=-35.4
130 PRINT ABS(A)
140 PRINT ABS(B)
999 END
Run
35.4
35.4
Negatif bir sayının mutlak değeri işaretten arınmış değer olarak ortaya çıkmak
tadır.
INT FONKSİYONU
INT fonksiyonu, parametre olarak verilen kesirli bir sayının sadece tamsayı
kısmını üretir. Yuvarlama işlemi yapmaz.
INT (x)
79
STANDART FONKSİYONLAR
100 X=l2.67
110 Y=45.12
120 PRINT INT (X)
130 PRINT INT(Y)
999 END
RUN
12
45
CINT FONKSİYONU
CINT fonksiyonu, parametre olarak verilen sayının tamsayı kısmını üretir. Ke-
sirli kısım 0.5 veya daha büyükse yuvarlama işlemi yapar.
CINT (x)
100 X=12.49
110 Y=12. 5
120 PRINT CINT(X)
130 PRINT CINT(Y)
999 END
RUN
12
13
FIX FONKSİYONU
100 CLS
110 PRINT FIX(34.12)
80
STANDART FONKSİYONIAR
Run
34
34
-34
SIN FONKSİYONU
Bu fonksiyon bir açının sinüs değerini üretir. Sin fonksiyonunda parametre ola-
rak verilecek açının değeri radyan cinsinden verilmelidir. Açının değeri derece
cinsinden verilmişse, önce radyana çevrilmelidir. Derece ile radyan arasındaki
ilişki aşağıdaki gibidir.
360. = 2n radyan
Buna göre:
l. = 2n / 360
l 0 = 1t / ı 80
RUN
~AÇIYI GİRİNİZ 60 <ENTER>
AÇININ SİNÜSÜ = .866025
81
STANDART FONKSİYONLAR
COS FONKSİYONU
RUN
AÇIYI GİRİNİZ 45 <ENTER>
AÇININ KOSİNÜSÜ = . 707107 2
TAN FONKSİYONU
82
STANDART FONKSİYONLAR
RUN
AÇIYI GİRİNİZ 60 <ENTER>
ATN FONKSİYONU
Tanjantı girilen bir açının kaç radyan olduğunu bulur. Açı derece cinsinden is-
teniyorsa radyan cinsinden bulunan değeri 180/3.14 ile çarpmak gerekir.
100 CLS
110 INPUT "Açının tanjantını giriniz :",A
120 B=ATN(A)
130 PRINT B*l80/3.14
999 END
Run
LOG FONKSİYONU
100 CLS
110 INPUT "Sayıyı giriniz>",S
120 A=LOG(S}
83
STANDAR1 FONKSİYONLAR
Run
100 CLS
110 INPUT "Sayıyı giriniz>", S
120 A = Log (S) / Log(lO)
130 PRINT S ; " sayısının 10 tabanına göre logaritması ";A
999 END
Run
Yani 1O sayısının üzerine 3 konursa (üs olarak) 1000 sayısı bulunur. Üssün
bulunması işlemi logaritma işlemidir.
SQR FONKSİYONU
84
STANDART FONKSİYONLAR
170 NEXT I
999 END
RUN
SAYI KAREKÖKÜ
1 1
2 1.414214
3 1.732051
4 2
5 2.236068
6 2.44949
7 2.645751
8 2.828427
9 3
10 3.162278
CDBL FONKSİYONU
100 CLS
110 PRINT (22/7)
120 PRINT CDBL (22/7)
999 END
Run
3.142857
3.142857074737549
CDBL fonksiyonu 22/7 sayısını (bu pi sayısıdır) çift duyarlıklı sayıya çevir-
miştir. 120 nolu satırda çevirme ve görüntüleme işlemi birlikte yapılmaktadır.
CSNG FONKSİYONU
100 CLS
110 A#=95.3421815679#
120 B=CSNG(A#)
130 PRINT "Çift duyarlıklı =" ;A#
85
STANDART FONKSİYONLAR
Run
HEX$ FONKSİYONU
RUN
17 21 11
18 22 12
19 23 13
20 24 14
R.ND KOMUTU
RUN
0.1213501
0.651861
0.8688611
0.7297625
0.798853
100 CLS
110 FOR I=l TO 5
120 PRINT INT(RND*6)+1,
130 NEXT I
999 END
RUN
3 6 5 5 1
87
STANDART FONKSİYONLAR
100 CLS
105 RANDOMIZE
110 FOR I=l TO 5
120 PRINT INT{RND*6)+1,
130 NEXT I
999 END
RUN
1 4 3 2 4
RUN
4 5 1 1 3
100 CLS
105 RANDOMIZE{TIMER)
110 FOR I=l TO 5
120 PRINT INT{RND*6)+1,
130 NEXT I
999 END
88
STANDART FONKSİYONLAR
RUN
2 5 5 4 1
RUN
1 3 2 4 5
RUN
2 5 4 2 3
CHR$ FONKSİYONU
ASCll kodu verilen karakteri üretir. ASCll kodlar tablosu kitabın sonunda ek
olarak verilmiştir.
CHR$(n)
RUN
AAAAAAAAAAAAAAAAAAAA
89
STANDART FONKSİYONLAR
RUN
205 sayısı "=" karakterinin ASCll kodudur. Bu karakterden 20 tane üreti lerek
ikili yatay çizgi elde edilmiştir .
Pek çok programda ekranda text modunda, çizgilerden oluşan şekiller old uğunu
ve yazıların buralara yazılarak düzenli bir görünüş elde edildiğini biliyoruz . Şim
di inceleyeceğimiz programda, çizgi karakterlerinin ASCll kodları kullan ılarak ek-
rana şeki l çizilmektedir.
100 CLS
110 LOCATE 5,20
120 PRINT CHR$(201);
130 FOR I=l TO 40
140 PRINT CHR$(205);
150 NEXT I
160 PRINT CHR$(187)
170 FOR I=l TO 10
180 LOCATE I+5,20
190 PRINT CHR$(186);SPACE$(40);CHR$(186)
200 NEXT I
210 LOCATE 16 , 20
220 PRINT CHR$(200);
230 FOR I=l TO 40
240 PRINT CHR$(205 ) ;
250 NEXT I
260 PRINT CHR$(188)
999 END
RUN
Örneğin 20 l sayısı " n- " (sol üst köşe) karakterin in ASCll kodudur. CHR$
(20 l) komutuyla bu karakter üretilmektedir. 205 say ısı ise "=" (ikili yatay çizg i)
karakterinin ASCl l kodudur FOR NEXT döngüsü yard ımıyla CHR$ (205) komutu
40 kez ça lı ştırılarak yanyana 40 adet "=====================" ka rakte-
90
STANDART FONKSİYONLAR
INKEY$ FONKSİYONU
Klavyede herhangi bir tuşa basılıp basılmadığını kontrol eder. Genellikle bir
döngü ile kontrol edilerek programın akışını herhangi bir tuşun baslımasına kadar
durdurma işleminde kullanılır. Klavyede herhangi bir tuşa basılmamışsa '"' (null
string) üretir.
100
110
120 A$=INKEY$
130 IF A$="" THEN GOTO 120
140
150
100 CLS
110 FOR I=l TO 10
120 PRINT I
130 PRINT "Devam etmek için herhangi bir tuşa basınız .. "
140 A$=INKEY$
150 IF A$="" THEN GOTO 140
160 NEXT I
999 END
91
STANDART FONKSİYONLAR
STRING$ FONKSİYONU
RUN
**********
SPACE$ FONKSİYONU
Belirli sayıda boşluk karakteri üretmek için kullanılır. SPACE$(n) biçiminde ya-
zılır ve n sayıda boşluk üretir. Örneğin A$=SPACE$(4) şeklindeki yazım sonunda
4 tane boşluk karakteri üretilerek A$ değişkeni ne aktarılır . Şimdi inceleyeceğimiz
programda SPACE$ fonksiyonu ku lla nılm ı ştır.
100 CLS
110 FOR I=l TO 10
120 A$=SPACE$(I)
130 LOCATE I,5
140 PRINT A$ ; "TUZLA" ;A$; "TUZLA"
150 NEXT I
999 END
ASC FONKSİYONU
100 CLS
110 X=ASC( "T")
92
STANDART FONKSİYONlAR
Run
T harf inin ASCII kodu 84
INPUT$ FONKSİYONU
100 A$=INPUT$(1)
110 PRINT A$
999 END
RUN
A
100 A$=INPUT$(5)
110 PRINT A$
999 END
RUN
abcde
93
STANDART FONKSİYONLAR
LEFT$ FONKSİYONU
100 A$="BİLGİSAYAR"
110 PRINT LEFT$(A$,5)
999 END
RUN
BİLGİ
Bu program, BİLGİSAYAR kelimesinin soldan itibaren 5 karakterini üretip gö-
rüntülem iştir.
RIGHT$ FONKSİYONU
RIGHT$ fonksiyonu, bir stringin sağdan itibaren beli rli sayıda karakterini üre-
tir.
RIGHT$ (A$, n)
Bu komutla, A$ stringinin sağdan itibaren n sayıda karakteri üretilir.
Aşağıdaki programda RIGHT$ fonksiyonu kullanılmıştır.
100 A$="BİLGİSAYAR"
11 O PRINT RIGHT$ (A$, 5)
999 END
RUN
SAYAR
MID$ FONKSİYONU
Yazım ı;
94
STANDART FONKSİYONLAR
100 A$="BİLGİSAYAR"
110 PRINT MID$(A$,6,3)
999 END
RUN
SAY
INSTR FONKSİYONU
INSTR fonksiyonu bir stringde, belirli bir karakterin baştan kaçınca sırada oldu-
ğunu bulur.
INSTR ("TUZLA", "L") 4 sayısı üretilir, çünkü "L" harfi baştan 4. sırada
INSTR ("TEKNİK", "E") 2 sayısı üretilir, çünkü "E" harfi baştan 2. sırada.
Eğer string içinde, aranılan karakterden birden fazla varsa ilkinin sıra numarası
üretilir.
INSTR ("ANNE", "N") 2 sayısı üretilir, çünkü ilk "N" harfi soldan 2. sırada
Örnek program:
100 A$="ABCDE"
110 X=INSTR(A$, "A")
120 PRINT X
130 X=INSTR(A$, "C")
140 PRINT X
150 X=INSTR(A$, "G")
160 PRINT X
999 END
RUN
1
3
o
95
STANDART FONKSİYONLAR
VAL FONKSİYONU
Alfanümerik bir sabit veya değişkendeki sayısal değeri bulur. X = VAL(A$) bi-
çiminde yazılır ve A$ değişkenindeki alfanümerik sabitteki sayısal değeri bulur.
100 CLS
110 X=VAL ( "A35GHB")
120 Y=VAL("l")
130 Z=VAL( "345"}
140 PRINT X
150 PRINT Y
160 PRINT Z
170 PRINT Z+4
999 END
Run
o
1
345
347
Alfanümerik sabitteki ilk karakter alfabetik ise (yani bir harf ise) VAL fonksiyo-
nu O değerini üretir.
STR$ FONKSİYONU
Sayısal bir değeri alfanümerik bir değere dönüştürür. VAL fonksiyonunun tersi-
ni yapar. A$=STR$(X) biçiminde yazılı r. Bu durumda X sayısı alfanümeriğe çevri-
lerek sonuç A$ değişkenine aktarılır.
100 A$ =STR$(123}
110 PRINT A$
120 PRINT A$+2
Bu program çalıştırıldığında 120 nolu satırda Type mismatch hata mesajı ve-
rir. Çünkü A$ 'da 123 sayısı alfanümerik değer olarak bulunmaktadır ve toplama
işlem ine konu olamaz.
Aşağıdaki programda, FORNEXT döngüsü kullanılarak, 1 'den 9'a kadar sayılar,
alfasayısal tipe çevrilerek yanyana görüntülenmiştir. STR$ komutu, sayısal ifade-
yi string tipine çevirir.
100 A$=""
110 FOR I =O TO 9
96
STANDART FONKSİYONLAR
120 A$=A$+STR$(I)
130 PRINT A$
140 NEXT I
999 END
RUN
o
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
TAB FONKSİYONU
TAB fonksiyonu stringlerin ekrana belli bir aralıkta yazılmasını sağlar. Genel-
likle PRINT komutuyla birlikte kullanılır.
RUN
BİLGİSAYAR PRINTER
97
STANDART FONKSİYONLAR
LEN FONKSİYONU
LEN fonksiyonu, parametre olarak verilen bir alfasayısal (string) ifadenin kaç
karakterden oluştuğunu (yani uzunluğunu) bulur.
LEN (X$)
Yukarıdaki yazım sonucunda X$ stringinin kaç karakterden oluştuğu bulunur.
Örnek:
100 A$="KLAVYE"
110 PRINT LEN(A$)
999 END
RUN
6
TiME$ FONKSİYONU
02:42:19
98
STANDART FONKSİYONLAR
TiME$ fonksiyonu, komut olarak kullanılarak yeni bir zaman tanımı da yapıla
bilir. Örneğin hafızadaki saat yanlış olduğundan doğru saat tanımı yapılmak iste-
nebilir. Bu durumda TiME$ komutu aşağıdaki gibi kullanılacaktır:
10 TIME$="04:45:20"
RUN
04:45:20
PR41
100 CLS
110 PRINT TIME$
999 END
RUN
02:50:49
DATES FONKSİYONU
"Ay : Gün : Yıl" formatında, günün tarihini üreten fonksiyondur. Ayrıca komut
olarak kullanılıp yeni bir tarih tanımlanabilmesini de sağlar.
10 PRINT DATE$
RUN
07-30-1993
07-30-1993
Ay Gün Yıl
DATE$ fonksiyonu, komut olarak kullanılarak yeni bir tarih tanımı da yapılabi-
1i r.
99
STANDART FONKSİYONLAR
10 DATE$ = "08-15-1993"
RUN
08-15-1993
Ay Gün Yıl
100 CLS
110 PRINT DATE$
999 END
RUN
07-30-1993
100
•@
EH.BAN DlJZENLEME -ve
PHINTEHDEN ÇHHTI ALMA
"###.##"
Tamsayı kısmı Kesirli kısmı
RUN
1256.459
Yukarıdaki örnekte ise 1256.4589 sayısının tam sayı kısmı 4 basamakta, ke-
sirli kısmı ise 3 basamakta görüntülenmiştir. Kesirli kısmın görüntülenmesinde yu-
varlama işlemi yapılmıştır.
####.###
Tarnsayı kısmı Kesirli kısmı
101
EKRAN DÜZENLEME ve PRİNTERDEN ÇIKTI ALMA
## . ##
B- LOCATE DEYiMi
Kürsörü, ekranın tanımlanan satır ve sütununa konumlandırmakta kullanı l ır. LO-
CATE komutunun sintaksı aşağıdaki gibidir.
10 LOCATE 15, 25
20 PRINT "BİLGİSAYAR"
99 END
Bazı profesyonel programlarda, programın çalıştırı l ması kullanı c ının doğ ru şif
reyi girmesi şartına bağlanmıştır . Aşağıdaki programda , şifrenin nasıl veri ldiği
gösterilmektedir.
100 CLS
110 LOCATE 12,20 : PRINT "ŞİFREYI G İ RİNİZ **** **"
120 LOCATE 10,38
130 A$=INPUT$ (6)
140 IF A$="BOLTON" THEN LOCATE 18,20:PRINT "ŞİFREYI BİLDİNİZ" : GOTO 999
150 LOCATE 18,20:PRINT "YANLIŞ ŞİFRE ... "
999 END
RUN
102
EKRAN DÜZENLEME ve PRİNTERDEN ÇIKTI ALMA
ŞİFREYİ GİRİNİZ: * * * * *
ŞİFREYİ BİLDİNİZ
C- COLOR DEYiMi
Text modunda, zemin, çerçeve ve yazı renklerini tanımlar.
Zemin rengi : Yazının yazıldığı zeminin rengini belirler, 0-37 arası değer
ler alabilir.
Çerçeve rengi: Ekranın etrafına belirlenen renkte bir çerçeve çizer, 0-15
arası değerler alabilir.
Bu kullanıma göre, ekrana çerçeve çizilmeyecektir, çünkü çerçeve rengi ile il-
gili parametre verilmemiştir.
103
EKRAN DÜZENLEME ve PRİNTERDEN ÇIKTI ALMA
120 CLS
130 FOR I=l TO 7
140 FOR J=l TO 15
150 FOR K=l TO 31
160 COLOR K,I,J
170 CLS
180 LOCATE 12,30
190 PRINT "BİLGİSAYAR"
200 FOR M=l TO 1000
210 NEXT M
220 NEXT K
230 NEXT J
240 NEXT I
999 END
104
EKRAN DÜZENLEME ve PRİNTERDEN ÇIKTI ALMA
COLOR 2, l Burada yazı rengi yeşil, zemin rengi ise mavi olarak ta-
nımlanmıştır. Çerçeve parametresi yer almadığı için çerçe-
ve çizilmez.
COLOR 4,,2 Bu örnekte, yazı rengi kırmızı olarak tesbit edilmiştir. İkin
ci parametrenin yeri boş bırakıldığı için zemin rengi siyah
olarak kalmaya devam edecektir. Çerçeve ise yeşil renkte
tanımlanmıştır.
D- WIDTH DEYİMİ
Ekranda ve yazıcıda (printer) bir satırda yer alabilecek karakter sayısını belir-
lemekte kullanılır. Ekran genişliği için iki seçenek vardır. Bunlar 40 ve 80 sayı
larıdır.
Örnek program :
100 CLS
110 WIDTH 40
120 PRINT "BİLGİSAYAR"
105
EKRAN DÜZENLEME ve PRİNTERDEN ÇIKTI ALMA
UST
Bellekte yüklü bulunan programın ekranda görüntülenmesi amacıyla kullanılır.
LIST yazıp ENTER tuşuna basıldığında bellekteki program ekranda görüntülenir.
Sadece LIST yazılarak ENTER tuşuna basıldığında programın tümü listelenecek-
tir. BASIC editöründe ekran 24 satırdan oluştuğu için 24 satırı aşan programların
listelenmesinde son 24 satır ekranda görüntülenir, diğer satırlar ise yukarı doğru
kayarak görüntüden çıkar.
LIST komutunu çeşitli parametrelerle kullanılarak, programın belirli yerlerinin
listelenmesi de mümkündür. Aşağıda, LIST komutunun çeşitli parametrelerle kulla-
nılması görülmektedir:
lllST
Bellekte yüklü bulunan programın yazıcıya (Printer) listelenmesi amacıyla kul-
lanılır. LLIST komutunun tüm özellikleri LIST komutu ile aynıdır.
106
EKRAN DÜZENLEME ve PRİNTERDEN ÇIKTI ALMA
LLIST 50- <ENTER> 50. satır dahil programın sonuna kadar olan
bölümü yazıcıya listelenir.
LLIST -50 <ENTER> Programın ilk satırından 50. satıra kadar olan
bölümü yazıcıya listelenir.
LPRINT KOMUTU
Şimdiye kadar işlediğimiz programlarda, çıkış cihazı olarak hep ekran kullanıl
dı. Yani elde edilen değerler hep ekranda görüntülendi. LPRINT komutu ise değiş
ken, sabit ve ifadelerin yazıcıya (printer) yazdırılmasında kullanılır. LPRINT ko-
mutunun kullanımı aynı PRINT komutunda olduğu gibidir. LPRINT komutuyla yazı
cıya birtakım değerler yazdırılmak istendiğinde, yazıcı (printer) bilgisayara bağlı
ve açık durumda olmalıdır.
100 A$="BİLGİSAYAR"
110 B=25
120 LPRINT A$
130 LPRINT B
999 END
107
10
§JIHALAMA ve
ABAMA iŞLEMLEHi
A- SIRALAMA İŞLEMLERİ
SAYll.AR.IN SIRAlANMASI
109
SIRALAMA ve ARAMA İŞLEMLERİ
RUN
GİRİNİZ > 56
1. SAYIYI
2 . SAYIYI GİRİNİZ > 25
3 . SAYIYI GİRİNİZ > 9
4 . SAYIYI GİRİNİZ > 47
5. SAYIYI GİRİNİZ > 12
6. SAYIYI GİRİNİZ > 3
7 . SAYIYI GİRİNİZ > 97
8 . SAYIYI GİRİNİZ > 40
9. SAYIYI GİRİNİZ > 14
10. SAYIYI GİRİNİZ > 37
97
56
47
40
37
25
14
12
9
3
110
SIRALAMA ve ARAMA İŞLEMLERİ
Aşağıdaki program ise, klavyeden girilen sayıları küçükten büyüğe doğru sıra
lar.
270 PRINT
280 FOR I=l TO 10
290 PRINT A(I}
300 NEXT I
999 END
STRINGLERİN SIRAl.ANMASI
Stringlerin karşılaştırılmasında önce ilk harflere bakılır. İlk harfler aynı ise
ikinci ve sırasıyla daha sonraki harflere bakılarak değerlendirme yapılır.
111
SIRALAMA ve ARAMA İŞLEMLERİ
150 '
160 FOR I=l TO 10
170 PRINT !;". İSMİ GİRİNİZ >"o f
RUN
1. İSMİ GİRİNİZ > SUAT
2. İSMİ GİRİNİZ> KEMAL
3. İSMİ GİRİNİZ> ORHAN
4. İSMİ GİRİNİZ > AHMET
5. İSMİ GİRİNİZ > SALİH
6. İSMİ GİRİNİZ >ALİ
7. İSMİ GİRİNİZ> EMİN
8. İSMİ GIRINIZ > CELAL
9. İSMİ GİRİNİZ > ZEKERİYA
10. İSMİ GİRİNİZ >OSMAN
AHMET
ALİ
CELAL
EMİN
KEMAL
ORHAN
OSMAN
SALİH
SUAT
ZEKERİYA
112
SIRALAMA ve ARAMA İŞLEMLERİ
yer değiştirmiştir.
8- SWAP İŞLEMİ
İki değişkende bulunan değerlerin birbirine aktarılması işlemi ise iki şekilde
yapılır:
113
SIRALAMA ve ARAMA İŞLEMLERi
100 A=15
110 B=80
120 PRINT "DEGİŞİMDEN ÖNCE .. "
130 PRINT A= 11 ;A, 11 B= 11 ;B
11
140 PRINT
150 C=A
160 A=B
170 B=C
180 PRINT "DEGİŞİMDEN SONRA .. •
190 PRINT 11 A= 11 ;A 1 11 B= 11 ;B
999 END
RUN
DEGİŞİMDEN ÖNCE ..
A=15 B = 80
DEGİŞİMDEN SONRA ..
A=80 B=15
SWAP komutu, parametre olarak verilen iki değişkenin içindeki değerleri birbi-
rine aktarır.
SWAP A,B
100 A=50
110 B=60
120 PRINT "DEGİŞİMDEN ÖNCE .. "
13 O PRINT "A=" ; A, "B=" ; B
140 PRINT
150 SWAP A,B
160 PRINT "DEGİŞİMDEN SONRA .. "
170 PRINT "A=" ;A, "B=" ;B
114
SIRALAMA ve ARAMA İŞLEMLERİ
999 END
RUN
DEGİŞİMDEN ÖNCE ..
A=50 B = 60
DEGİŞİMDEN SONRA ..
A=60 B=50
.. . . .
C- BASIC PROGRAMLAMA DiLiNDE ARAMA iŞLEMLERi:
150 NEXT I
160 '
170 INPUT "Aradığınız öğrencinin numarasını giriniz >",ARA
180 FOR I=l TO 10
190 IF ARA=NO(I) THEN GOTO 220
200 NEXT I
210 GOTO 270
220 B=l
230 PRINT "Numarası : ";NO(I)
240 PRINT "Adı : ";AD$ (I)
250 PRINT "Semti :";SEMT$(I)
260 PRINT "Telefonu : ";TEL$ (I)
270 PRINT
280 IF B=O THEN PRINT "Bu numaralı bir kişi yok .. "
290 PRINT
300 INPUT "Devam etmek istiyor musunuz (E/H) >",C$
310 IF C$="E" OR C$="e" THEN B=O : PRINT : GOTO 170
320 END
115
SIRALAMA ve ARAMA İŞLEMLERİ
Şimdi de bu programda bazı değişiklikler yaparak isme göre arama yapan prog-
ramı inceleyelim.
116
SIRALAMA ve ARAMA İŞLEMLERİ
Bu programda, önceki programa göre temel değişiklik 170 ve 190 numaralı sa-
tırlarda yapılmıştır. Diğer değişiklikler programın çalışmasına etkili olmayan sade-
ce programın yeni fonksiyonuna uygun mesajların yazılması şeklindeki değişiklik
lerdir. Orneğin 280 nolu satırdaki "Bu numaralı bir kişi yok .. " mesajı "Bu isimde
bir kişi yok .. " şeklinde değiştirilmiştir.
117
SIRALAMA ve ARAMA İŞLEMLERİ
118
ÜNİTE il
ALT PH06HAMLAH (Subroutine)
A- AlTPROGRAM KAVRAMI
Daha önceki bölümlerde incelediğimiz programlar, genellikle kısa ve bütünsel
bir yapıya sahip programlardı. Uzun programların yazılması ve/veya bazı program
parçalarının tekrar tekrar çalıştırılmaları gerektiğinde altprogramlar (Subprogram-
subroutine) gündeme gelir.
Adının da çağrıştırdığı gibi altprogram, esas programın bir parçasıdır. Altprog-
ram, belli bir işi yapan bir program parçasıdır ve esas programın herhangi bir nok-
tasında, kontrol altprograma aktarılarak altprogram çalıştırılır. Altprogram çalıştık
tan sonra, kontrol tekrar esas programın alt programı çağıran noktasına geri döner.
Kontrolün, esas programdan altprograma gönderilmesine 11 altprogramın çağrılması 11
denir. Bir altprogram, programın birkaç yerinde çağrılıp kullanılabilir. Altprogramı
çağıran esas programa 11 ana program 11 (main program) denir.
Aşağıdaki şekilde, bir altprogramın ana program tarafından çağrılıp kullanılma
sı görülmektedir.
Ana
program
Altprogramı çağıı
Altprogram
RETURN
Altprogramı çağır ~
1-----'------t / -----
119
ALTPROGRAMLAR
Altprogramların ikinci bir kullanım alanı da, uzun programların, mantıksal bü-
tünlük gösteren parçalara bölünüp, bu parçaların altprogramlar şeklinde yazılması
dır. Uzun programların, parçalar (altprogramlar) halinde yazılması programların ka-
rışıklığını önler, programın yazımını ve anlaşılmasını kolaylaştırır. Bir programın
üç işlem yaptığını düşünelim. Bu işlemleri yapan bölümlerin her biri altprogram
şeklinde yazılırsa hem işimiz kolaylaşır hemde hata yapma ihtimali azalır. Aşağı
daki şekilde de, bir programın altprogramlar biçiminde yazılması görülüyor.
Ana
program
Ana
program
Altprogram 1'i
çağır ~
ı-------+\ ~.------.
Altprogram
1
Altprogram2'yi
çağır
-----. Altprogram
~
2
RETURN
RETURN
120
ALTPROGRAMLAR
Örnek:
100
110
120
130 GOSUB 1000
140
150
160
170
1000 REM ALTPROGRAM BURADA BAŞLIYOR
1010
1020
1030
1040 RETURN
Bu örnekte, anaprogramda yer alan GOSUB 1000 komutu ile kontrol 1000 no-
lu satırdan başlayan altprograma gönderilir. Altprogramda bulunan RETURN komutu
ise kontrolu altprogramdan, ana programda GOSUB komutundan bir sonraki komuta
gönderir. Yukarıdaki örnekte, RETURN komutu, kontrolu ana programın 140 nolu
satırına gönderir. ·
Altprogram, yukarıdaki örnekte olduğu gibi herhangi bir şarta bağlı olmaksızın
çağrılabileceği gibi, bir şarta bağlı olarak da çağrılabilir.
Örnek:
100
110
120 IF A=2 THEN GOSUB 500
130
140
150
500 REM ALTPROGRAM
510
520
530
540 RETURN
121
ALTPROGRAMLAR
Örnek:
100
110
120
130
140 GOSUB 1000
150
160
1000 REM ALTPROGRAM
1010
1020
1030 IF B=l THEN RETURN
1040
1050
1060 RETURN
100 CLS
110 GOSUB 1000
120 PRINT
130 PRINT "ALT PROGRAMDAN ANA PROGRAMA GERİ GELİNDİ .. "
140 END
1000 PRINT "ALT PROGRAMA GELİNDİ .. "
1010 RETURN
RUN
ALT PROGRAMA GELİNDİ ..
ALT PROGRAMDAN ANA PROGRAMA GERİ GELİNDİ ..
122
ALTPROGRAMLAR
o • • •
C- AlTPROGRAMlARIN BiRLEŞTiRiLMESi
MENÜ PROGRAM!
123
ALTPROGRAMLAR
RUN
124
ALTPROGRAMLAR
MENÜ
1- TOPLAMA
2- ÇIKARMA
3- ÇARPMA
4- BÖLME
5- ÇIKIŞ
A=9
B=5
FARK=4
125
ALTPROGRAMLAR
126
ALTPROGRAMLAR
4020 B$=INPUT$(1)
4030 RETURN
RTJN
ANAMENÜ
KAYIT ARAMA
DEGİŞİKLİK
ÇIKIŞ
ON GOTO KOMUTU
127
ALTPROGRAMLAR
MENÜ
1- SİNÜS
2- KOSİNÜS
3- TANJANT
AÇI: 60
KOSİNÜSÜ : .5
128
AlTPROGRAMLAR
120 PRINT "Tarih için 1, saat için 2 tuşuna basınız ... "
130 T=VAL(INPUT$(1))
140 ON T GOTO 150,180
150 PRINT "Tarih: ";DATE$
160 PRINT
170 GOTO 120
180 PRINT "Saat:";TIME$
190 PRINT
200 GOTO 120
RUN
FONKSİYONLAR
Fonksiyon kavramını cebirden biliyoruz. y=f (x) fonksiyonu, bağımsız değişken
olan X'in aldığı çeşitli değerlere göre Y değerini üretir.
BASIC programlama dilinde tanımlı olan (SIN, COS, HEX$ gibi) standart fonk-
siyonlar dışında, programcı tarafından da fonksiyon tanımlanabilir. Bu fonksiyon-
ları, standart fonksiyonlardan ayırmak için, bunlara KULLANICI TARAFINDAN
TANIMLANAN FONKSİYONLAR denir.
Kullanıcı tarafından tanımlanan fonksiyonlar, DEF FN kelimeleri ve bir fonksi-
yon adıyla tanımlanır.
Örnek:
129
ALTPROGRAMLAR
RUN
130
ALTPROGRAMLAR
220 Y=B
230 PRINT FN NM{X,Y}
240 PRINT FN NM(Y,X}
999 END
RUN
16
36
49
40
22
23
120 nolu satırda SQ(X) = X*X fonksiyonu tanımlanmıştır. 130 nolu satırda
ise SQ fonksiyonu 4 değeriyle kullanılır. Fonksiyon 4 sayısının karesini almakta-
dır.
140 nolu satırda, bir X değişkenine 6 değeri aktarılmış, 150 nolu satırda da
SQ fonksiyonu 6 parametresiyle çağrılmıştır.
190 nolu satırda bulunan NM fonksiyonu, iki parametreli olarak tanımlanmış
tır. 190 nolu satırdaki NM fonksiyonu 200 nolu satırda l O ve 20 sayıları gön-
derilerek kullanılmıştır. l O sayısı X değ işlerine, 20 sayısı ise Y değişkenine gi-
der. Bu sayılar 2* X+Y formülündeki X ve Y değerlerinde kullanılır ve üretilen
sonuç 200 nolu satırdaki PRINT komutu aracılığıyla görüntülenir.
230 ve 240 nolu satırlarda ise yine ayrı fonksiyona (NM) değişkenler aracılı
ğıyla iki değer aktarılmıştır.
131
ALTPROGRAMLAR
132
ÜNİTE 1
BATA (veri) DOSYASI OLlJŞTlJH1':1A
133
DATA DOSYASI OLUŞTURMA
134
DATA DOSYASI OLUŞTURMA
SIRALI KAYITLAR
Dosya sonu -- -- --
işareti ---. e
OPEN
WRITE #, PRINT #
EOF ()
INPUT #
CLOSE #
OPEN KOMUTU
135
DATA DOSYASI OLUŞTURMA
veya
OPEN "0", #1, "OKUL.DAT"
Yukarıdaki yazımlardan herikisi de aynı işlemi yapar. Şimdi birinci yazım şek
lini ele alarak OPEN komutunun sintaksını inceleyelim.
1- OUTPUT MODU: Bir sıralı dosyanın, disket veya harddisk üzerinde ilk
defa oluşturulmasında kullanılır. Dosya, OUTPUT mo-
dunda açıldığında yazıcı kafa (dosyaya bilgi yazan ay-
gıt), dosyanın başına konumlanır. Disket veya harddisk-
te mevcut olan bir dosya, OUTPUT modunda açılırsa,
içindeki bilgiler silinmiş olur.
Örnek:
2- INPUT MODU: Disket veya hardiskte mevcut bir sıralı dosyanın içinde-
ki bilgileri okumak için, dosyanın okuma modunda açıl-
. masında kullanılır. INPUT modunda açılarak içindeki
bilgiler okunan dosyadaki bilgiler silinmez. Bir sıralı
dosyanın INPUT modunda açılabilmesi için, o dc:~yanın
diskette veya harddiskte mevcut olması gerekir. Ornek:
OPEN "REHBER.DAT" FOR INPUT AS #2
136
DATA DOSYASI OLUŞTURMA
3- APPEND MODU: Disket veya harddiskte mevcut bir sıralı dosyanın, yeni
bilgiler eklemek amacıyla açılmasında kullanılır. Mev-
cut bir dosya, APPEND modunda açıldığında, yazıcı ka-
fa dosyada daha önceden mevcut olan bilgilerin sonuna
konumlanır. Böylece yeni girilen bilgiler, önceki bilgi-
lere eklenmiş olur.
Daha önceden mevcut olmayan bir dosya, APPEND mo-
duyla açıldığında bu dosya disket veya harddiskte oluş
turulur. Yani, yeni bir dosyanın OUTPUT modunda açıl
ması işlemi gerçekleşir.
Örnek:
Örnek:
137
DATA DOSYASI OLUŞTURMA
WRITE # KOMUTU
Örnek:
138
DATA DOSYASI OLUŞTURMA
PRINT # KOMUTU
PRINT # komutu da açık olan bir veri dosyasına bilgi yazmakta kullanılır.
PRINT # komutu kullanılarak dosyaya yazılan bilgilerin okunmasında bazı prob-
lemlerle karşılaşılabilir. Çünkü PRINT # komutuyla bilgilerin dosyaya yazılmasın
da, bilgiler arasında otomatik olarak ayırdedici karakterler kullanılmaz. Bu zorluk-
ların tümünden kurtulma yolu, dosyaya bilgi yazılması işlemlerinde WRITE # ko-
mutunun kullanılmasıdır.
INPUT # KOMUTU
Veri okumak amacıyla (INPUT modunda) açılmış olan bir veri dosyasından bilgi
okumak amacıyla kullanılır.
INPUT #1, A, B
Bu komut çalıştırıldığında veri dosyasındaki ilk bilgi A değişkenine, onun ya-
nındaki bilgi ise B değişkenine aktarılır. Dosya sonuna gelindiği halde INPUT #
komutuyla dosyadan bilgi okunmak istenirse hata mesajı verilir. Bunun önüne geç-
mek için, dosya sonuna gelinip gelinmediği INPUT # komutundan önce mutlaka
kontrol edilmelidir.
EOF 0 KOMUTU
Dosyadaki bilgilerin sonuna gelinmişse TRUE, aksi halde FALSE değerini üreten
bir fonksiyondur. EOF () fonksiyonu, INPUT # komutundan önce kullanılmalıdır.
EOF fonksiyonunun yanındaki parantez içinde, kontrolu yapılan veri dosyası
nın mantıksal birim numarası yazılır.
Örnek:
EOF (1)
CLOSE # KOMUTU
Açık olan bir dosyanın kapatılmasında kullanılır. Bir dosya herhangi bir amaçla
açılıp kullanıldıktan sonra mutlaka kapatılmalıdır.
Bir dosya CLOSE # komutuyla kapatıldıktan sonra, programın başka bir yerinde
139
DATA DOSYASI OLUŞTURMA
CLOSE
Örnek:
Bir dosyayı, bilgi ekleme amacıyla açmak için açılış modu parametresi olarak
"A" harfi kullanılır.
140
DATA DOSYASI OLUŞTURMA
Bir veri dosyasını, bilgi okumak amacıyla açarken, açılış modu parametresi ola-
rak "I" harfi kullanılır.
veya
veya
veya
Yeni bir dosya oluşturmak için, dosya OPEN komutu kullanılarak OUTPUT mo-
dunda açılır. Bilgiler, WRITE # komutu kullanılarak değişkenler aracılığıyla dos-
yaya kaydedilir. aşağıdaki şekilde dosyaya bilgi kaydedilmesinde program veri
dosyası ilişkisi görülüyor.
141
DATA DOSYASI OLUŞTURMA
Veri VERİ
PROGRAM - DOSYASI
Şimdi inceleyeceğimiz program ise, diskette DOSYA l .DAT adlı veri dosyası
oluşturarak bu dosyaya 3 sayı kaydetmektedir.
4
6
7
130 PRINT
140 INPUT "ÖGRENCİNİN ADINI GİRİNİZ >",AD$
142
DATA DOSYASI OLUŞTURMA
RUN
Görüldüğü gibi, her öğrencinin adı ile notu yanyana kaydedilmiştir. Bunun se-
bebi programın 160 nolu satırındaki WRITE # komutuna parametre olarak öğrenci
nin adını tutan AD$ değişkeni ile notunu tutan Nü değişkeninin yanyana verilme-
sidir. Programcı, devam etmek isteyip istemediği sorusuna karşılık "E" veya "e"
harflerini girdikçe, klavyeden girilen isim ve notlar NOTLAR.DAT dosyasına kay-
dedilecektir.
Sıralı dosyaların ilk defa oluşturularak bu dosyalara bilgi kaydedilmesinde aşa-
ğıdaki işlem sırası uygulanır.
143
DATA DOSYASI OLUŞTURMA
Veri VERİ
PROGRAM - DOSYASI
Dosyalarla ilgili ilk programımızda DOSYA 1.DAT adında sıralı bir dosya oluş
turmuş ve bu dosyaya sırasıyla 4,6 ve 7 sayılarını kaydetmiştik. Aşağıdaki prog-
ram, DOSYA 1.DAT adlı sıralı dosyayı açıp içindeki bilgileri okumaktadır.
RUN
4
6
7
DOSYA 1.DAT adlı dosyada 3 tane bilgi bulunduğunu bildiğimiz için, bu prog-
ramda FOR NEXT döngüsü kullanılarak 140 nolu satırdaki INPUT # 1, D komutu üç
defa çalıştırılmıştır.
Döngünün ilk çalışmasında, dosyadaki ilk bilgi olan 4 sayısı D değişkenine
okunur ve 150 nolu satırdaki PRINT komutuyla, 4 sayısı ekrana yazdırılır. Döngü-
144
DATA DOSYASI OLUŞTURMA
nün ikinci çalışmasında da, 140 nolu satırdaki INPUT # komutu dosyadaki ikinci
bilgi olan 6 sayısını D değişkenine okur. 150 nolu satırdaki PRINT komutu da bu
sayıyı ekrana yazdırır. Döngünün üçüncü çalışmasında da, dosyadaki üçüncü bilgi
olan 7 sayısı D değişkenine okunur ve ekranda görüntülenir.
Şimdi inceleyeceğimiz program ise, daha önceden oluşturulmuş olan NOT-
LAR.DAT dosyasını açarak bu dosyadaki bilgileri okumakta ve ekrana görüntüle-
mektedir.
RUN
ADI NOTU
AHMET 70
MEHMET 80
Sıralı bir dosyaya yeni bilgiler eklenmesinde aşağıdaki işlem sırası uygulanır.
Dosya APPEND modunda açıldığında, yazıcı kafa önceki bilgilerin sonuna ko-
145
DATA DOSYASI OLUŞTURMA
numlanır ve yeni bilgileri buradan itibaren kaydeder. Bu suretle, eski bilgiler si-
linmeksizin dosyaya yeni bilgiler kaydedilmiş olur.
RUN
ÖGRENCİNİN ADINI GIRINIZ > ALİ <ENTER>
ÖGRENCİNİN NOTUNU GİRİNİZ > 60 <ENTER>
Böylece, NOTLAR.DAT dosyasına iki öğrenciye ait bilgi daha eklenmiş oldu.
DOS ortamına geçip TYPE komutuyla NOTLAR.DAT dosyasındaki bilgileri ekranda
görüntüleyebiliriz.
Görüldüğü gibi, dosyadaki eski bilgiler silinmemiş ve bunlara iki yeni bilgi ek-
lenmiştir.
146
DATA DOSYASI OLUŞTURMA
Sıralı dosyalarda herhangi bir bilgi aranırken, ilk sıradaki bilgiden başlanır ve
bilgi bulununcaya kadar sırayla bütün kayıtlar taranır. Aranılan bilgi bulunamazsa
(yani dosyada böyle bir bilgi yoksa) dosya sonuna gelinir. Aşağıdaki programda,
daha önceden oluşturulmuş olan NOTLAR.DAT dosyasında bilgi arama işlemi ya-
pılmaktadır.
RUN
Bu programda, 150 nolu satırda WHILE NOT EOF ( 1) komutu kullanılarak dön-
günün her çalışmasında dosya sonuna gelinip gelinmediği kontrol edilmektedir.
Dosya sonuna gelinmişse, aranan bilgi dosyada kayıtlı değil demektir.
Aranılan kayıt bulunduğunda B değişkenine 1 sayısı atanır. Aranılan kayıt bu-
lunamadığı taktirde ise B değişkeninin değeri O olarak kalır.
Aranılan kişinin adı ARA$ adlı değişkene aktarılır. Daha sonra 160 nolu satır
daki INPUT # l komutuyla dosyadaki ilk kayıt AD$ ve Nü değişkenlerine okunur.
AD$ değişkeninde birinci kişinin adı bulunmaktadır. Eğer girilen isim (ARA$), dos-
yadan okunan ilk isme (AD$) eşit ise aranılan şahıs bulunmuş demektir. Aksi taktir-
de, dosya sonuna geli1nip gelinmediği kontrol edilerek, dosya sonuna gelinmemişse
ikinci kayıttaki bilgiler AD$ ve NO değişkenlerine okunur. Arama işlemi bu şekil
de devam eder.
147
DATA DOSYASI OLUŞTURMA
Sıralı dosyadan herhangi bir kaydın silinmesinde, aşağıdaki işlem sırası takip
edilir.
RUN
KAYITTAN SİLMEK İSTEDİGİNİZ Kİ ŞİNİN ADINI GİRİNİZ > ALİ
DEVAM ETMEK İSTİYOR MUSUNUZ (E/H) > H <ENTER>
Yukarıdaki program çalıştırıldı ğında, NOTLAR .DAT dosyası INPUT (bilgi oku-
ma) modunda, GEC.DAT ad lı bir geçici dosya da OUTPUT (bilgi yazma) modunda
açılmaktadır . 150 nolu satı r arac ılı ğıyla kayd ı silinmek istenen ki ş inin adı klav-
yeden girilir. Bu ad ile dosyadaki adlar sırayla karşıla ştırılır. Bu ada raslayınca-
148
DATA DOSYASI OLUŞTURMA
ya kadar olan bütün kayıtlar sırayla GEC.DAT dosyasına kaydedilir. Silinmek is-
tenilen kayda roslanıldığında bu kayıt atlanır ve geri kalan kayıtlar yine sırayla
GEC.DAT dosyasına kaydedilir.
230 nolu satırda, NOTLAR.DAT dosyası disketten silinmekte ve 240 nolu sa-
tırda da GEC.DAT dosyasının adı NOTLAR.DAT olarak değiştirilmektedir. NOT-
LAR.DAT dosyasının yeni şeklinin, silinen kaydı ihtiva etmediği görülecektir.
Bu programda iki dosya birden açıldığı için, dosyalarda birinin mantıksal birim
numarası 1, diğerinin ise 2 olarak tanımlanmıştır.
REHBER.DAT dosyasında 4 bilgi bulunmaktaydı. Yukarıdaki silme programı ça-
lıştırılarak üçüncü kayıt silinmiştir. Şimdi yapılan işlemi şematik diya~ıramda in-
celeyelim:
4 kişiye
ait kayıt
Dosya sonu
işareti
KILL "REHBER.DAT"
149
DATA DOSYASI OLUŞTURMA
~
REHBER.DAT
Aşağıdaki program, sırasal dosyalarla ilgili olarak buraya kadar öğrenmiş oldu-
ğumuz bütün konuları kapsamaktadır. Programda bir firma çalışanlarına ait, ad so-
yad, maaş ve sicil bilgileriyle ilgili işlemler yapılmaktadır.
Program, menü sistemiyle çalışmaktadır. Buna göre istenilen menü seçeneği ça-
lıştırılarak, bilgi girişi ve değişiklik, bilgi silme, bilgileri ekrana veya yazıcıya
listeleme ve programdan çıkış işlemleri yapılabilmektedir.
5 KEY OFF
10 CLS
20 BEEP
30 LOCATE 4,23:PRINT"A NA MEN Ü"
40 LOCATE 7,20:PRINT"l. BİLGİ GİRİŞ / DEGİŞİKLİK"
50 LOCATE 9,20:PRINT"2. BİLGİ SİLME"
6O LOCATE 11, 2 O: PRINT" 3 . EKRANA LİSTELEME"
70 LOCATE 13,20:PRINT"4. YAZICIYA LİSTELEME"
80 LOCATE 15,20:PRINT"5. PROGRAM ÇIKIŞI"
90 LOCATE 18,20:PRINT"SEÇENEGI GİRİNİZ
100 LOCATE 18,47:INPUT "",SEC
120 ON SEC GOTO 1000,4000,2000,3000,5000
130 LOCATE 22,20:PRINT"LÜTFEN 1 - 5 ARASI DEGER GİRİNİZ"
140 FOR I=l TO 3000:NEXT I
150 LOCATE 22,l:PRINT STRING$(80,32)
160 GOTO 100
1000 '
1010 KEY OFF
1020 BEEP
1030 CLS
1040 CLS
1050 1
150
DATA DOSYASI OLUŞTURMA
1070 '
1080 CLS
1090 K=O
1100 LOCATE 5,20:PRINT"BİLGİ GİRİŞ/DEGİŞİKLİK "
1110 LOCATE 8,20:PRINT"SİCİL NO ·"
1120 LOCATE 10,20:PRINT"ADI SOYADI ·"
1130 LOCATE 12, 20: PRINT"MAAŞI ·"
1140 LOCATE 8,33:INPUT "",S
1150 IF S=O TREN GOTO 1390
1160 OPEN "I",#1,"SICIL.DAT"
1170 OPEN "0",#2,"GECICI.DAT"
1180 IF EOF(l) TREN GOTO 1230
1190 INPUT #l,SICIL,AD$,M
1200 IF S=SICIL TREN GOSUB 1320
1210 WRITE #2,SICIL,AD$,M
1220 GOTO 1180
1230 IF K<>O TREN GOTO 1280
1240 LOCATE 20,20:PRINT"YENI BİLGİ GİRİLİYOR"
1250 LOCATE 10, 33: INPUT '"',AD$
1260 LOCATE 12,33:INPUT "",M
1270 WRITE #2,S,AD$,M
1280 CLOSE #1,#2
1290 KILL "SICIL.DAT"
1300 NAME "GECICI.DAT" AS "SICIL.DAT"
1310 GOTO 1080
1320 LOCATE 20,20:PRINT"ESKİ BİLGİ DÜZELTİLİYOR"
1330 LOCATE 10,33:PRINT AD$
1340 LOCATE 12,33:PRINT M
1350 LOCATE 10, 33: INPUT "",AD$
1360 LOCATE 12, 33: INPUT "" ,M
1370 K=l
1380 RETURN
1390 CLS
1400 LOCATE 12,20:PRINT"PROGRAMDAN ÇIKIYORSUNUZ"
1410 FOR I=l TO lOOO:NEXT I
1420 1
1430 GOTO 10
2000 1
2040 CLS
2050 OPEN "I", #1, "SICIL. DAT"
2060 IF EOF(l) TREN GOTO 2280
2070 LOCATE 1, 10 :PRINT"SICIL"
2080 LOCATE l,2l:PRINT"ADI SOYADI"
2090 LOCATE l,47:PRINT"MAAS"
2100 LOCATE 2,lO:PRINT"-----"
2110 LOCATE 2,2l:PRINT STRING$(20,45)
151
DATA DOSYASI OLUŞTURMA
152
DATA DOSYASI OLUŞTURMA
3200 CLS
3210 GOTO 3230
3220 LOCATE 12,20:PRINT"HİÇ KAYIT YOK"
3230 FOR I=l TO lOOO:NEXT
3240 CLS
3250 CLOSE #1
3260 1
3270 CLS
3280 LOCATE 12,20:PRINT"LİSTELEME PROGRAMINDAN ÇIKIYORSUNUZ"
3290 1
3320 GOTO 10
3340 LPRINT CHR$(12)
3350 LPRINT TAB(lO); "SİCİL" ;TAB(21); "ADI SOYADI" ;TAB(47); "MAAŞI"
3360 LPRINT TAB(lO); "-----" ;TAB(21) ;STRING$ (20, 45) ;TAB(47); "-----"
3370 LPRINT
3380 K=l
3390 RETURN
4000 '
4010 KEY OFF
4020 BEEP
4030 CLS
4040 CLS
4050 '
4060 'SİLME PROGRAMI
4070 '
4080 CLS
4090 K=O
4100 LOCATE 5,20:PRINT"BİLGİ SİLME MENÜSÜ "
4110 LOCATE 8,20:PRINT"SİCİL Nü ·"
4120 LOCATE 10,20:PRINT"ADI SOYADI :"
4130 LOCATE 8,33:INPUT 1111 ,S
4140 IF S=O THEN GOTO 4350
4150 OPEN "I", #1, "SICIL.DAT"
4160 OPEN "O", #2, "GECICI. DAT"
4170 IF EOF(l) THEN GOTO 4290
4180 INPUT #l,SICIL,AD$,M
4190 IF S=SICIL THEN GOTO 4220
4200 WRITE #2,SICIL,AD$,M
4210 GOTO 4170
4220 LOCATE 10,33:PRINT AD$
4230 K=l
4240 LOCATE 20,20:INPUT "SİLİNSİN Mİ ( E/H )",EH$
4250 IF EH$="E" OR EH$="e" THEN LOCATE 20,20:PRINT"BİLGİ SİLİNDİ "·
GOTO 4170
4260 LOCATE 20,20:PRINT"BİLGİ SİLİNMEDİ"
4270 WRITE #2,SICIL,AD$,M
153
DATA DOSYASI OLUŞTURMA
OPEN PUT
FIELD GET
154
DATA DOSYASI OLUŞTURMA
MK1$ cvı
MKS$ cvs
MKD$ CVD
LSET CLOSE
RSET
OPEN
Bu komut bir dosyayı açmak için kullanılır. OPEN komutu iki farklı formda ya-
zılabilir:
Örnek:
Bu örnekte SINIF.DAT adlı bir Rasgele erişimli dosya genel amaçlı olarak açıl
maktadır. Genel amaçlı derken kastımız şudur: Dosya RANDOM modunda açıldı
ğında bu dosya hem ilk defa oluşturulabilir, eğer daha önceden böyle bir dosya
mevcutsa bu dosyada hem okuma hem de yazma işlemleri yapılabilir.
Örnek:
Bu örnekte de OKUL.DAT adlı rasgele erişimli dosya genel amaçlı olarak açıl
mış olur.
Aşağıdaki örneklerde, OPEN komutunun iki farklı formu karşılaştırmalı olarak
verilmektedir:
veya
veya
155
DATA DOSYASI OLUŞTURMA
FIELD #
Örnek:
Bu örnekte:
MK1$
Geçici belleğin ancak alfasayısal (string) türü bilgileri tutabildiğini daha önce
belirtmiştik. MKI$ komutu, tamsayı tipi bir bilgiyi, alfasayısal (string) tipine çe-
virir. Herhangi bir tamsayı bilgi, alfasayısala çevrildiğinde, bellekte 2 byte
uzunluğunda yer kaplar.
156
DATA DOSYASI OLUŞTURMA
MKS$
MKS$ komutu, tek duyarlıklı gerçel sayı tipi bir bilgiyi, alfasayısal (string) ti-
pine çevirir. Tek duyarlıklı gerçel sayı tipi bilgi, alfasayısala çevrildiğinde bel-
lekte 4 byte uzunluğunda yer kaplar.
MKD$
Çift duyarlıklı gerçel sayı tipi bilgiyi, alfasayısal (string) tipi bilgiye çevırır.
Sayısal bilgiler, geçici bellek olanına aktarılmadan önce tiplerine uygun fonksi-
yon kullanılarak alfasayısal tipi bilgiye çevrilmelidirler. Aşağıdaki listede hangi
tip sayısal bilginin alfasayısala çevrilirken hangi fonksiyonun kullanılacağı ve
geçici bellekte kaplayacağı olan görülmektedir.
lSET KOMUTU
RSET KOMUTU
PUT# rı,m
Geçici bellekte, (tamponda) bulunan bir kaydı, rasgele erişimli dosyaya kayde-
der. n parametresi, dosyanın. mantıksal birim numarası, m ise kayıt numarasıdır.
Örnek:
PUT #1,5
157
DATA DOSYASI OLUŞTURMA
GH # n,m
Dosyada bulunan bir kayıttaki bilgileri, geçici belleğe (tampon) okur, n para-
metresi dosyanın mantıksal birim numarası, m ise okunan kaydın numarasıdır.
Örnek:
GET #2,6
cvı
cvs
Daha önce MKS$ komutu kullanılarak alfasayısal tipe çevrilmiş olan tek duyar-
lıklı gerçel sayı tipi bilgiyi tekrar eski haline döndürür.
CVD
Daha önce MKD$ komutu kullanılarak alfasayısal tipe çevrilmiş olan çift du-
yarlıklı gerçel sayı tipi bilgiyi tekrar eski haline (yani gerçel sayı tipi bilgiye)
döndürür.
ClOSE KOMUTU
Açık olan bir veya birkaç rasgele erişimli dosyanın kapatılmasında kullanılır.
CLOSE # 1
Bu komut, mantıksal birim numarası 1 olan dosyayı kapatır.
CLOSE #1, #3
Yukarıdaki komut ise 1 ve 3 numaralı dosyaları kapatır.
CLOSE komutu yalnız başına kullanılırsa, açık olan bütün dosyaları kapatır.
CLOSE
Yukarıdaki kullanımda, o anda açık olan bülün dosyalar kapanır.
158
DATA DOSYASI OLUŞTURMA
Rasgele erişimli (Random) bir dosyaya bilgi kaydedilmesinde aşağıdaki işlem sı
rası takip edilir:
RUN
159
DATA DOSYASI OLUŞTURMA
Yukarıdaki programda, 140 nolu satırdaki FIELD komutu aracılığıyla kayıt de-
seni tanımlanmaktadır.
140 FIELD #1, 10 AS AD$, 15 AS SOY$, 2 AS YAS$
Bu komut çalıştırıldığında geçici belleğin kayıt deseni aşağıdaki gibi olur.
160
DATA DOSYASI OLUŞTURMA
161
DATA DOSYASI OLUŞTURMA
ğı kontrol edilebilmektedir. 160 nolu satırdaki GET komutuyla, kayıt yapılmak is-
tenen alan önce okunup burada bir kayıt olup olmadığı kontrol edilmektedir.
Önemli not: Rasgele erişimli dosyalarda, daha önceden kayıt yapılmış bir ka-
yıt alanına yeni bir kayıt yapıldığında o kayıttaki eski bilgiler silinir ve yerine
yeni bilgiler gelir.
Bir önceki programda, "Ol(UL. DAT" adlı bir rasgele erişimli dosya oluşturulmuş
ve bu dosyaya bilgiler yazılmıştı. Şimdi inceleyeceğimiz program ise,
"OKUL.DAT" adlı rasgele erişimli dosyayı açarak bu dosyadan belirli bir kayıt
alanındaki bilgileri okur.
OKUL.DAT isimli dosyada, her öğrenciye ait okul numarasının, o öğrenciye ait
bilgilerin bulunduğu kayıt alanı numarası olduğunu biliyoruz. Yukarıdaki program
çalıştırıldığında, öğrencinin okul numarası girildiğinde aynı kayıt numarasını taşı
yan kayıt alanındaki bilgiler okunacaktır. Kayıt alanındaki ilk eleman "*" değilse,
o alanda herhangi bir kayıt mevcut değil demektir.
150 nolu satırdaki GET komutu, N numaralı kaydı, disketten geçici belleğe
okumaktadır.
Aşağıdaki program, ADRES. DAT adlı rasgele erişimli bir dosya oluşturarak bu
dosyaya kişilere ait ad-soyad, adres ve telefon numarası bilgilerini kaydetmekte-
dir.
162
DATA DOSYASI OLUŞTURMA
Rasgele erişimli dosyalarda, dosyaya kayıt yapan programda hangi kayıt dese-
ni kullanılmışsa, kayıt okuyan programda da aynı kayıt deseni kullanılmalıdır.
163
DATA DOSYASI OLUŞTURMA
Başka deyişle kayıt yapan programda FIELD komutu aracılığıyla tanımlanan kayıt
deseni değişkenlerinin sırası ve byte olarak uzunluklarıyla, aynı dosyadan kayıt
okuyan programdaki FIELD komutu aracılığıyla tanımlanan kayıt deseni değişken
lerinin sırası ve uzunlukları aynı olmalıdır. Ancak, kayıt desenlerindeki değişken
adlarının aynı olması zorunluluğu yoktur.
Aşağıdaki program, bir önceki program tarafından oluşturulan ve içine bilgi
kaydedilen "ADRES.DAT" adlı rasgele erişimli dosyadan bilgi okumaktadır.
164
DATA DOSYASI OLUŞTURMA.
Rasgele erişimli dosyalarda, daha önceden bilgi yazılmış bir kayıt alanına ye-
ni bilgi yazıldığında, önceki bilginin silinip yerine yeni bilginin yazıldığını daha
önce belirtmiştik. Buna göre, bir kaydın değiştirilmesi veya düzeltilmesi işlemi, o
kayıt çağrılıp aynı alana yeni bilgilerin yazılmasıyla mümkün olabilmektedir.
Aşağıdaki program, "ADRES.DAT" dosyasında, mevcut bulunan kayıtların düzel-
tilmesi-değiştirilmesi işlemini yapmaktadır.
165
DATA DOSYASI OLUŞTURMA
3000 '
3010 '****RANDOM DOSYALARDA EKRANA BİLGİ LİSTELEME****
3020 1
3030 CLS
3040 OPEN "R", #1, "ADRES.DAT"
3050 FIELD #1,2 AS S$,20 AS A$,25 AS ADR$,4 AS TEL$
3060 LOCATE 1,l:PRINT "SIRA"
3070 LOCATE 1,8:PRINT "ADI SOYADI"
3080 LOCATE l,33:PRINT "ADRESİ"
3090 LOCATE l,65:PRINT "TELEFON"
3100 LOCATE 2,l:PRINT "----"
3110 LOCATE 2,8:PRINT STRING$(20,45)
3120 LOCATE 2,33:PRINT STRING$(25,45)
3130 LOCATE 2,65:PRINT "-------
3140 I=3
3150 FOR J=l TO 32767
3160 IF EOF(l) THEN GOTO 3360
3170 GET #1,J
3180 S=CVI(S$)
3190 IF S=O THEN GOTO 3290:I=2
3200 AD$=A$
3210 ADRES$=ADR$
3220 TEL=CVS(TEL$)
3230 LOCATE I,l:PRINT S
3240 LOCATE I,B:PRINT AD$
3250 LOCATE I,33:PRINT ADRES$
3260 LOCATE I,65:PRINT TEL
3270 IF I>20 THEN GOSUB 3310
3280 I=I+l
3290 NEXT J
3300 GOTO 3360
3310 LOCATE 22,20:INPUT "DEVAM İÇİN ENTER TUŞUNA BASIN",EH$
3320 FOR I=3 TO 24
3330 LOCATE I,l:PRINT STRING$(80,32)
166
DATA DOSYASI OLUŞTURMA
3340 NEXT I
3350 RETURN
3360 LOCATE 22,25:INPUT "DOSYA SONU ",EH$
3370 CLS
3380 CLOSE #1
3390 '
3400 CLS
3410 LOCATE 12, 20: PRINT "1,İSTELEME PROGRAMINDAN ÇIKIYORSUNUZ"
3420 '
3430 FOR I=l TO 2000:NEXT
3440 CLS
9999 END
2000 '
2010 '****RANDOM DOSYALARDAN BİLGİ SİLEN PROGRAM****
2020 '
2030 KEY OFF
2040 OPEN "R", #1, "ADRES.DAT"
2050 FIELD #1,2 AS S$,20 AS A$,25 AS ADR$,4 AS TEL$
2060 CLS
2070 LOCATE 4,20:PRINT "BİLGİ SİLME MENÜSÜ"
2080 LOCATE 8,20:PRINT "SIRA Nü ."
2090 LOCATE 10,20:PRINT "ADI SOYADI . "
2100 LOCATE 12,20:PRINT "ADRESİ ."
2110 LOCATE 14,20:PRINT "TELEFON ."
2120 LOCATE 18,20:PRINT "ÇIKIŞ İÇİN SIRA NO=:O GİRİN"
213 O LOCATE 8, 33 : INPUT " " , S
2140 IF S=O THEN GOTO 2390
2150 GET #1,S
2160 SIRA=CVI(S$)
2170 AD$=A$
2180 ADRES$=ADR$
2190 TEL=CVS(TEL$)
2200 IF SIRA=O THEN GOSUB 2330:GOTO 2060
167
DATA DOSYASI OLUŞTURMA
2420 CLOSE #1
2430 CLS
9999 END
Buraya kadar, rasgele erişimli dosyalarla ilgili bütün işlemleri tek tek incele-
dik. Aşağıdaki pr9gram, ADRES.DAT adlı bir rasgele erişimli dosya oluşturarak bu
dosyaya ilişkin bütün işlemleri yapabilmektedir.
50 KEY OFF
60 1
70 ' *************************************************************
80 ' * *
90 ' * ANA ME N Ü B Ö L Ü MÜ *
100 * 1
*
110 *************************************************************
1
120 CLS
130 LOCATE 3,25:PRINT"A NA MEN Ü"
140 LOCATE 6,25:PRINT"l. PROGRAM ÇIKIŞI"
150 LOCATE 8,25:PRINT"2. BİLGİ GİRİŞ/DEGİŞİKLİK"
160 LOCATE 10,25:PRINT"3. ADRES SİLME"
170 LOCATE 12,25:PRINT"4. EKRANA LİSTELEME"
180 LOCATE 14,25:PRINT"5. YAZICIYA LİSTELEME"
190 LOCATE 16,25:PRINT"6. DOSYA OLUŞTURMA"
168
DATA DOSYASI OLUŞTURMA
169
DATA DOSYASI OLUŞTURMA
680 TEL=O
69O LOCATE 8, 33 : INPUT " " , S
700 IF S=O THEN GOTO 970
710 FOR I=2 TO KAYIT
720 GET #1,I
730 SIRA=CVI(S$)
740 AD$=A$
750 ADRES$=ADR$
760 TEL=CVS(TEL$)
770 IF S=SIRA THEN K=O:GOTO 840
780 NEXT I
790 AD$=SPACE$(20)
800 TEL=O
810 ADRES$=SPACE$(25)
820 KAYIT=KAYIT+l
830 K=l
840 LOCATE 10,33:PRINT AD$
850 LOCATE 12,33:PRINT ADRES$
860 LOCATE 14,33:PRINT TEL
87 O LOCATE 10, 33: INPUT "",AD$
880 LOCATE 12,33:INPUT "",ADRES$
890 LOCATE 14,33:INPUT "",TEL
900 IF K=O THEN L=I ELSE L=KAYIT
910 LSET S$=MKI$(S)
92 O LSET A$=AD$
930 LSET ADR$=ADRES$
940 LSET TEL$=MKS$(TEL)
950 PUT #1,L
960 GOTO 580
970 1
1060 1
1070 ***************************************************************
1
1080 * 1
*
1090 ' * ADRE S S İ L ME B Ö L Ü MÜ *
1100 * 1
*
1110 ' ***************************************************************
1120 1
170
DATA DOSYASI OLUŞTURMA
1160 KAYIT=CVI(S$)
1170 IF KAYIT<>O THEN GOTO 1230
1180 LOCATE 22,32:PRINT"HİÇ KAYIT YOK"
1190 FOR I=l TO 3000:NEXT I
1200 LOCATE 22,l:PRINT STRING$(80,32)
1210 CLOSE #2
1220 GOTO 210
1230 '
1240 CLS
1250 LOCATE 5,20:PRINT"ADRES SİLME MENÜSÜ"
1260 LOCATE 8,20:PRINT"SIRA NO ·"
1270 LOCATE 10,20:PRINT"ADI SOYADI ·"
1280 LOCATE 12,20:PRINT"ADRESİ ·"
1290 LOCATE 14, 20: PRINT"TELEFON ·"
1300 LOCATE 8,33:INPUT "",S
1310 IF S=O THEN GOTO 1540
1320 FOR I=2 TO KAYIT
1330 GET #2,I
1340 SIRA=CVI(S$)
1350 AD$=A$
1360 ADRES$=ADR$
1370 TEL=CVS(TEL$)
1380 IF SIRA=S THEN GOTO 1430
1390 NEXT I
1400 LOCATE 22,20:PRINT"ARANAN KAYIT BULUNAMADI"
1410 FOR I=l TO 3000:NEXT I
1420 GOTO 1240
1430 LOCATE 10,33:PRINT AD$
1440 LOCATE 12,33:PRINT ADRES$
1450 LOCATE 14,33:PRINT TEL
1460 LOCATE 22,20:INPUT "SİLİNSİN Mİ (E / H) ",EH$
1470 IF EH$<>"E" THEN GOTO 1240
1480 LSET S$=MKI$(0)
1490 LSET A$=SPACE$(20)
1500 LSET ADR$=SPACE$(25)
1510 LSET TEL$=MKS$(0)
1520 PUT #2,I
1530 GOTO 1240
1540 '
1550 CLOSE #2
1560 GOTO 120
1570 '
1580 ' ***************************************************************
1590 ' * *
1600 ' * E KRANA L İ S T E L E ME B Ö L Ü MÜ *
1610 ' * *
1620 ' ***************************************************************
1630 '
171
DATA DOSYASI OLUŞTURMA
172
DATA DOSYASI OLUŞTURMA
173
DATA DOSYASI OLUŞTURMA
2600 ' * *
2610 ****************************************************************
2620 '
2630 OPEN "R", #1, "ADRESl .DAT"
2640 FIELD #1,2 AS S$,20 AS A$,25 AS ADR$,4 AS TEL$
2650 CLS
2660 LOCATE 12,lO:PRINT "ADRESl.DAT DOSYASI OLUŞTURULUYOR"
2670 LSET S$=MKI$(1)
2680 LSET A$=SPACE$(20)
2690 LSET ADR$=SPACE$(25)
2700 LSET TEL$=MKS$(0)
2710 FOR I=l TO 3000:NEXT I
2720 PUT #1,l
2730 CLOSE #1
2740 GOTO 120
174
iıNiTE 1
BASIC'DE 6HAFiK
SCREEN KOMUTU
Grafik modunda SCREEN komutu O, 1,2 veya 9 parametreleriyle kullanılarak
çeşitli duyarlıklarda ekran tanımlamaları yapılabilir.
200
---
160 piksel
piksel
Alçak duyarlı~
SCREEN O
160 x 200
175
BASIC'DE GRAFİK
320 piksel
200
i ------
-------
piksel
Orta duyarlık
SCREEN 1
320 x 200
200
-
640 piksel
176
BASIC'DE GRAFİK
350
-
640 piksel
640x350
(0,0) (639,0)
~ ,,,,..-
(319,174)
/ ..............
(0,349) (639,349)
(50, 100)
Koordinatları (50, l 00) olarak tanımlanan pikselin yeri, yatan doğrultuda 50.,
düşey doğrultuda ise l 00. sıradadır.
Şimdi de, grafik modunda kullanılan komutları çeşitli örnek programlarla açıkla
yalım.
177
BASIC'DE GRAFİK
LINE KOMUTU
Örnek:
Bu komut 50, 100 noktasıyla 200, 100 noktasını bir çizgiyle birleştirir.
(0,0) (639,0)
(0,349) (639,349)
178
BASIC'DE GRAFİK
RUN
Bu programda, LINE komutunda renk parametresinin yeri boş bırakıldığı için ku-
tunun çizgileri beyaz renkte olacaktır. B parametresi, kutunun içinin boş olmasını
sağlar.
179
BASIC'DE GRAFİK
RUN
180
BASIC'DE GRAFİK
PSET KOMUTU
PSET komutu, koordinatları verilen pikseli belirli bir renkte aydınlatır. Renk pa-
rametresi belirtilmediği taktirde piksel (nokta) beyaz renkte olur.
SAYI RENK
O Siyah
l Mavi
2 Kırmızı
3 Beyaz
PSET (100,50)
Bu komut, koordinatları ( l 00,50) olan pikseli beyaz renkte aydınlatır.
Yanyana pikselleri aydınlatarak çeşitli çizgiler oluşturulması da mümkündür.
Aşağıdaki programda, yanyana pikseller beyaz renkte aydınlatılarak çizgi oluştu
rulmaktadır.
120 SCREEN 9
13 O CLS : KEY OFF
140 FOR I=O TO 100
150 PSET(I,I)
160 NEXT I
999 END
RUN (0,0)
(100,100)
181
BASIC'DE GRAFİK
PRESET KOMUTU
PRESET komutu, ekrandaki bir noktayı (pikseli) zemin rengine (siyaha) dönüştü-
rür.
PRESET (100,50)
Yukarıdaki komut, koordinatları ( l 00,50) olan pikseli zemin rengine (siyaha)
dönüştürür. Başka deyişle daha önce PSET veya başka bir komutla bu piksele her-
hangi bir renkte nokta konulmuşsa bu noktayı siler.
Şimdi inceleyeceğimiz programda önce PSET komutu kullanılarak bir çizgi oluş
turulmakta, daha sonra da PRESET komutuyla bu çizgi silinmektedir.
182
BASIC'DE GRAFİK
RUN
n:/180 = 0.01746
183
BASIC'DE GRAFİK
RUN
CIRCLE KOMUTU
CIRCLE (100,100), 50
Bu komut, koordinatları l 00, 100 olan noktayı merkez alarak yarıçapı 50 pik-
sel olan bir daire çizer.
RUN
184
o
BASIC'DE GRAFİK
CIRCLE komutunda, dairenin başlangıç ve bitiş noktaları yer alırsa çeşitli di-
limleri kesilmiş daireler de oluşturulabilir. Bu durumda, CIRCLE komutunun sintak-
sı aşağıdaki gibi olur:
190 A$=INKEY$
200 IF A$ = THEN GOTO 190
1111
999 END
RUN
185
BASIC'DE GRAFİK
ELİPS ÇİZİMİ
Oran l 'den küçük ise yatay elips, l 'den büyük ise dikey elips çizilir.
160 CIRCLE(300,150),100,,,,5/15
180 1
190 A$=INKEY$
200 IF A$="" THEN GOTO 190
999 END
RUN
186
BASIC'DE GRAFİK
130 SCREEN 9
150 1
160 CIRCLE(300,150),100,,,,l.5
180 1
190 A$=INKEY$
200 IF A$="" THEN GOTO 190
999 END
RUN
187
BASIC'DE GRAFİK
-y
(-100,-100)
-x (O,O) x
(100,100)
---
L~===l=======t-----
(100,100)
--
188
BASIC'DE GRAFİK
notlarında bir soyut koordinat sistemi tanımlanarak bu sistemde LINE komutu kul-
lanı im ıştır.
(-10,-10)
(10, 10)
VIEW KOMUTU
VIEW komutu kullanılarak, ekranın sadece belli bir bölgesi aktif olarak tanım
lanabilir. Bu nedenle, VIEW komutunun parametreleri ekrandaki fiziki noktaların
koordinatları olabilir. Aşağıda, VIEW komutunun sintaksı görülmektedir.
Burada:
189
BASIC'DE GRAFİK
Sol üst köşe ve sağ alt köşe koordinatları mutlaka ekran üzerindeki noktaların
koordinatları olmalıdır, soyut koordinatlar VIEW komutunun parametresi olamaz.
Örnek:
Aktif ekran
(0,0)
Ekran
(200,100)
(-20,-20)
(20,20)
190
BASIC'DE GRAFİK
Bir program içinde birden fazla VIEW komutu kullanılarak, görüntülerin ekranın
farklı bölgelerinde oluşmdları sağlanabilir.
Aşağıdaki programda, soyut koordinat sisteminde oluşturulan bir görüntü, ekra-
nın iki farklı bölgesine yansıtılmaktadır.
Bu programın 130 ve 150 nolu satırlarında iki farklı VIEW tanımı yapılarak,
LINE (-20,-20) - (20,20) komutuyla oluşturulan çizginin, ekranın iki farklı böl-
gesine yansıması sağlanmıştır.
191
BASIC'DE GRAFİK
PARABOL ÇİZİMi
Geometride Y=X 2 fonksiyonunun X değerinin belli sınırlar içinde aldığı değer
ler için çizimine PARABOL denir.
RUN
192
BASIC'DE GRAFİK
130·LINE(-30,0)-(30,0)
140 LINE(0,-30)-(0,30)
150 FOR X=-5 TO 5 STEP .1
160 Y=X"2+3
170 PSET(X,-Y)
180 NEXT X
999 END
RUN
193
BA§IC'DE SES fJHETME
100 CLS
110 BEEP
999 END
100 CLS
110 INPUT "Birinci sayıyı giriniz : ",A
12 O INPUT "İkinci sayıyı giriniz : " , B
130 PRINT
140 PRINT "Toplam =" ,A+B
150 PRINT
160 INPUT "Devam etmek istiyor musunuz (E/e/H/h) >",C$
170 IF C$<>"E" AND C$<>"e" AND C$<>"H" AND C$<>"h" THEN BEEP GOTO
160
180 IF C$="E" OR C$="e" THEN PRINT : GOTO 110
999 END
195
BASIC'DE SES ÜRETME
100 CLS
110 PRINT CHR$(7)
999 END
SOUND KOMUTU
Frekans: 37 ile 32767 arasında bir sayı olabilir ve sesin frekansı bu sayı
kadar olur.
Süre: 0.0015 ile 65535 arasında bir sayı olabilir. 18.2 sayısı l sani-
yelik süreye karşılık gelir. Buna göre örneğin süre olarak 36.4 sa-
yısı verilirse ses 2 saniye devam edecektir.
SOUND l 000, 36.4 ~ 1000 Hz. frekansında, 2 saniye süren bir ses üreli-
1i r.
Örnek program:
196
BASIC'DE SES ÜRETME
197
ÜNİTE
o •
BIL6XSAYAH POHTLAHXNIN
HONTHOLlJ
Bilindiği gi~i bilgisayarla dış dünya arasındaki bilgi alışverişi portlar aracılı
ğıyla yapılır. Orneğin yazıcı (printer) bilgisayarın paralel portuna bağlanır. Port-
lar bilgisayarın kasasının arka tarafında bulunur. Bilgisayarda seri ve paralel ol-
mak üzere iki çeşit port vardır.
Seri portlar COM l, COM2, COM3 ... olarak adlandırılırlar. Seri portlarda bil-
gi alışverişi bilgilerin peşpeşe gönderilmesi suretiyle (yani seri olarak) yapılır.
Yüksek hız gerektirmeyen uygulamalarda seri portlar kullanılır.
Paralel portlar ise LPTl, LPT2, LPT3 ... olarak adlandırılırlar. Paralel portlarda
l byte'lık (yani 8 bit) bilgi aynı anda ayrı ayrı iletkenler aracılığıyla gönderilir.
Yüksek hız gerektiren uygulamalarda paralel portlar kullanılır. Ayrıca paralel por-
tun kullanımı daha pratiktir.
Bir bilgisayarda en az l seri l de paralel port bulunur. Seri portların sayısı en
fazla 4, paralel portların sayısı ise en fazla 3 olabilir.
Şimdi göreceğimiz BASIC programlarında paralel port kullanılacaktır. Bu neden-
le paralel portu biraz daha yakından tanıyalım.
LPTl adlı ilk paralel portun 25 ucu vardır. Bu uçlar (pinler) l, 2, 3, 4 ... 25
olarak numaralandırılırlar. Uç numaraları dikkatle bakıldığında okunabilir. Bu uç-
lardan 2, 3, 4, 5, 6, 7, 8, 9 numaralı olanları 8 bitlik bilgi alışverişinde kulla-
nılabilir ve adresi hexadesimal formatta 378'dir. Bu sayının hexadesimal (onaltılı)
sayı olduğunu belirtmek iÇin BASIC programlama dilinde &H378 biçiminde yazı
lır. Şekilde &H378 adresi görülüyor.
9 8 7 6 5 4 3 2
Burada sadece &H378 adresini gösterdik. LPTl portunun 19, 20, 21, 22,
23, 24 ve 25 numaralı uçları da şase (GND) seviyesindedir. Örneğin program
199
BİLGİSAYAR PORTLARININ KONTROLU
aracılığıyla 2 nolu çıkışa lojik l seviyesinde bir sinyal gönderilirse 2 nolu çıkış
ta +5 voltluk bir gerilim oluşur. Bu gerilimi kullanarak bir LED'i yakmak gerekirse
LED ve seri dirençten oluşan bir devre kurup bir ucunu 2 numaralı pine, diğer ucu-
nu da şase ucuna (yani l 9'dan 25'e kadar pinlarden birisine) bağlamak gerekir.
Bu durumda LED yanacaktır. Biz bu bölümde hazırladığımız programlarda 2'den
9'a kadar uçlara bağlı olan LED'leri çeşitli şekillerde yakıp söndürdük. O nedenle
bu programları çalıştırabilmeniz için paralel porto şöyle bir bağlantının yapılması
gerekmektedir.
8 7 6 5 4 3 2
19 ile 25
arasında herhangi
bir pine
bağlanacak
Bu devrede seri bağlı LED'lere seri bağlı olan tüm dirençlerin değeri 390
Q'dur. Hangi pinde lojik l (yani +5 Volt) olursa o pine bağlı LED yanar. Buna
göre 8 bitlik bir bilgi bu porttan gönderilebilmekte ya da okunabilmektedir. (Bu
uçlar kullanılarak bilgisayardan dışarıya bilgi gönderilebildiği gibi dış dünyadan
bilgi de okunabilir). 2 numaralı uç LSB, 9 numaralı uç MSB'dir.
Çıkışa LED'lerden oluşan bir devre değil de 7 segmentli display bağlanmak is-
tenirse şöyle bir bağlantı yapılabilir.
9 8 7 6 5 4 3 2
g f d c b a
200
BİLGİSAYAR PORTLARININ KONTROlU
Bu devre ortak katotlu displayi sürmektedir. Buna göre displayin katot ucunun -
geril.im alabilmesi için 19 ile 26 arasındaki uçlardan birisine bağlanması gerekir.
Devrede kullanılan dirençlerin tümü 390 n'dur.
Örneğin 7 segmentli display'de 1 sayısını yakmak için b ve c segmentlerine
lojik 1 uygulamak gerekir. Buna göre 3 ve 4 nolu uçlara 1, diğer uçlara O gönde-
rildiği taktirde b ve c segmentleri yanacak ve disploy l sayısını görüntüleyecek-
! i r.
8 7 6 5 4 3 2
o o o o 1 l o
g f d c b
şeklindedir. Adres LPTl portu için &H378 biçiminde yazılır. Bilgi ise heksadesi-
mal ya da onlu sayı olarak verilebilir ... Bilgi hexadesimal (onaltılı) sayı formatında
yazılırsa başına &H yazmak gerekir. Orneğin FF hexadesimal sayısı &HFF şeklin
de yazılır.
Örnek:
OUT &H3 7 8, &HFF : Bu komut bütün pinlere l gönderir ve bağlı olan tüm
led'leri yakar. Çünkü FF hexadesimal sayısı 11111111 ikili sayısına eşittir.
Böylece 8 bite'de 1 uygulanmıştır.
201
BİLGİSAYAR PORTLARININ KONTROLU
Örnek:
Örnek:
Örnek:
Değişken=INP(Adres)
şeklindedir. Adres LPTl portu için &H378 biçiminde yazılır. Örneğin A=INP
(&H378) komutu, paralel portu okur ve oradaki bilgiyi A değişkenine aktarır.
100 CLS
110 OUT &H378,l
120 A=INP(&H378)
130 PRINT A
999 END
202
BİLGİSAYAR PORTLARININ KONTROLU
Şimdi inceleyeceğimiz program ise 2 nolu pine bağlı olan bir LED'i yakıp sön-
dürmektedir.
100 CLS
110 OUT &H378,l
120 FOR I=l TO 30000 NEXT I
130 OUT &H378,0
140 FOR I=l TO 30000 NEXT I
150 GOTO 110
999 END
Bu program paralel porto bağlı olan LED'leri sırayla yakar. Herhangi bir anda
sadece bir LED yanmaktadır.
100 CLS
110 '
120 FOR I=O TO 7
130 OUT &H378,2AI
140 FOR J=l TO 30000 NEXT J
150 PRINT 2AI
160 NEXT I
170 GOTO 110
999 END
203
BİLGİSAYAR PORTLARININ KONTROLU
Bu program çıkış portuna bağlı olan 7 segmentli display'e sırayla 0-9 arasın-
daki sayıları gönderir. '
Bu program paralel porto bağlı olan LED'leri kara şimşek biçiminde yakıp sön-
dürür.
100 CLS
110 OUT &H378,24
120 FOR I=l TO 60000! NEXT I
130 OUT &H378,36
140 FOR I=l TO 60000! NEXT I
150 OUT &H378,66
160 FOR I=l TO 60000! NEXT I
204
BİLGİSAYAR PORHARININ KONTROLU
24 00011000
36 00100100
66 01000010
129 10000001
Görüldüğü gibi burada içten dışa bir açılma olmaktadır. Daha sonra da kapan-
mayı sağlayan komutlar gelmektedir.
Buraya kadar örnek olarak sadece LED'lerin ve 7 segmentli display'in sürülme-
sini gördük. Ancak burada önemli olan husus portun pinlerine lojik 1 (yani + 5
volt) ve lojik O (yani O volt) seviyelerini gönderebilmektir. Bu loiik seviyeler da-
ha başka devre elemanlarını (örneğin transistör, opto izolatör) sürüp çeşitli devre-
leri kontrol edebilir.
Hatırlatmak istediğimiz önemli bir husus daha var : Bilgisayarın portlarına doğ
rudan doğruya bağlanan elektronik devrelerinde olabilecek arızalar bilgisayarın
1/0 devrelerine zarar verebilir. Bu nedenle bilgisayarın portlarıyla buraya bağla
nacak elektronik devreleri optoizolatör aracılığıyla elektriksel olarak yalıtmanızı
tavsiye ederiz.
205
BİLGİSAYAR PORTLARININ KOl\ITROLU
nans devresi hesaplamaları, her ne kadar hesap maki~aları yardımımıza koşsa da,
karışık ve hata oluşması ihtimali yüksek işlemlerdir. işte bütün bunları gözönüne
alarak bu bölümde elektronikçilere büyük kolaylıklar sağlayacak programlar veri-
yoruz.
206
BİLGİSAYAR PORTLARININ KONTROLU
207
BİLGİSAYAR PORTLARININ KONTROLU
İkinci opsiyon : Örneğin elimizde 3 ohm değerinde bir direnç var. Biz ise 2
208
BİLGİSAYAR PORTLARININ KONTROLU
ohm değerinde direnç istiyoruz. 2 ohmluk eşdeğer direnci elde etmek için, elimiz-
deki 3 ohmluk dirence paralel olarak bağlamamız gereken direnci hesaplamak için
de ikinci opsiyonu kullanmamız gerekir.
209
BİLGİSAYAR PORTLARININ KONTROLU
Şimdi inceleyeceğimiz programda, kaç tane direncin paralel olarak bağlı oldu-
ğu, bu dirençlerin herbirinin değeri klavyede girilmektedir. Bunlardan başka ya
kaynak gerilimi ya da ana kol akımı değeri girilmelidir. Bu ikisinden birisinin de-
ğeri girilecek diğeri sorulunca da ENTER tuşuna basılacaktır. Program, her koldan
geçen akımı ve her dirençte harcanan gücü hesaplar ve sonuçları görüntüler.
210
BİLGİSAYAR PORTLARININ KONTROLU
211
BİLGİSAYAR PORTLARININ KONTROLU
T=R*C
T= 2 * l 06 * 4 * l 0-6
T=8 saniye.
212
BİLGİSAYAR PORTLARININ KONTROLU
213
BİLGİSAYAR PORTLARININ KONTROLU
214
BİLGİSAYAR PORTLARININ KONTROLU
255 PRINT
260 ON N GOTO 270,320,370
270 INPUT ; "Kondansatörün değeri>" ;C:PRINT " farad"
280 INPUT ; "Bobinin değeri>" ;L:PRINT " henri"
290 F=l/(2*PI*SQR(L*C))
300 PRINT "Rezonans frekansı ='" ;F;" hertz"
310 GOTO 410
320 INPUT ;"Frekans >";F:PRINT " hertz"
330 INPUT ;"Bobinin değeri>";L:PRINT" henri"
340 C=.02533/(F*F*L)
350 PRINT "Kondansatörün değeri =" ;C
360 GOTO 410
370 INPUT ;"Frekans>";F:PRINT " hertz"
380 INPUT ;"Kondansatörün değeri>";C:PRINT" farad"
390 L=.02533/(F*F*C)
400 PRINT "Bobinin değeri=";L;" henri"
410 PRINT
420 INPUT "Devam etmek istiyor musunuz[E/H]";A$
430 IF A$="E" OR A$="e" THEN GOTO 100
215
EK
HATA MESAJLARI
BASIC programlama dilinde program çalışırken herhangi bir hata ile karşılaştı
ğında çalışma durur ve hata mesajı görüntülenir. Hata mesajında, hatanın ne oldu-
ğu belirtilerek kullanıcıya yol gösterilmiştir. Aşağıda, BASIC programlama dilinde
en sık karşılaşılan hatalar listelenmiştir.
6 Overflow (taşma)
Hesaplamada BASIC'te kullanılan sınırlar aşılmış.
217
HATA MESAJLAR!
218
HATA MESAJLAR!
219
ASCII KODLAR TABLO§V
221
ASCll KODLAR TABLOSU
222
ASCll KODLAR TABLOSU
223
ES
p
225
LOS
Şekil 3-1
Şekil 3-2
227
Hücreler ise kesiştikleri
sütun ve satır adlarının birleştirilmesiyle ad-
landırılır. Örneğin A sütununun 1. satırla kesiştiği hücre Al hücresi ola-
rak adlandırılır.
Başka bir hücreyi aktif hale getirmenin çeşitli yollan vardır. Örneğin
herhangi bir hücre aktif durumdayken sağa ok tuşuna bir kez basarsa-
nız o hücrenin bir sağındaki hücre aktif olur. Aşağı ok tuşuna bir kez
basmakla da aktif hücrenin bir altındaki hücreyi aktif yaparsınız.
Excel çalışma sayfasında herhangi bir hücreye bilgi girmek için ön-
ce o hücrenin aktif hale getirilmesi gerekir. Başka deyişle o anda hangi
hücre aktifse o hücreye bilgi girişi yapabilir, formül ya da fonksiyon
yazabilirsiniz.
Şekil 3-3
228
Herhangi bir anda hangi çalışma sayfası seçili durumdaysa o çalış
ma sayfasındaki hücrelere bilgi girişi yapılabilir. Aynı şekilde herhangi
bir çalışma sayfasındaki bilgileri görmek için de önce o sayfayı seçili
hale getirmeniz gerekir.
Bir çalışma sayfasında toplam 16864 adet satır ve 256 adet sütun
bulunmaktadır. Demek ki bir çalışma sayfasında toplam 4317184 hücre
bulunuyor. Bir çalışma kitabında da 16 çalışma sayfası bulunduğunu
düşünürsek sanırım programın kapasitesi ortaya çıkar. Üstelik çalışma
sayfalarının sayısını da 256'ya kadar çıkarabiliyoruz. Her eklenen çalış
ma sayfasında da 4317184 hücre bulunuyor.
Şekil 3-4
229
Bu sayfanın adını Ocak olarak değiştirelim. Ad başlıklı metin kutu-
suna Ocak yazdıktan sonra diyalog kutusundaki Tamam düğmesini tık
larsanız ya da ENTER tuşuna basarsanız sayfanın adı Ocak olarak de-
ğişmiş olur (Şekil 3-5).
Şekil 3-5
230
Şimdi gelelim Excel programının menü satırında yer alan menülere
ve bu menülerde yer alan komutların kısaca tanıtılmasına.
DOSYA MENÜSÜ
Şekil 3-6
Aç: Daha önce bir ad vererek kaydetmiş olduğunuz bir Excel dos-
yasınıyeniden bilgisayara yüklemek için bu komut kullanılır.
Farklı Kaydet: Bir dosyayı ilk defa isim verip kaydederken bu ko-
mutu kullanırız. Aynca mevcut dosyayı başka bir adla kaydetmek için
de bu komut kullanılır.
231
Sayfa Yapısı: Bu komut çalıştırıldığında
ekrana gelen diyalog kutu-
su aracılığıyla çalışma sayfasının kağıt
üzerinde duruş biçimiyle ilgili
bazı ayarlamalar yapabilirsiniz. Aynca sayfa boyutlarıyla marjinleri de
bu diyalog kutusundan tanımlayabilirsiniz.
DÜZEN MENÜSÜ
Bu menüde kopyalama, taşıma, silme gibi çalışma sayfasının işlen
mesiyle ilgili komutlar yer alır. Şekil 3-7'de Düzen menüsü görülüyor.
Şekil 3-7
232
Yinele: Son işlemi tekrarlar.
Sil: Aktif hücrenin bulunduğu satırı veya sütunu silmek için bu ko-
mut kullanılır. Sil komutu çalıştırıldığında ekrana bir diyalog kutusu
gelir. Bu diyalog kutusunu kullanarak satır veya sütun silme işlemini
seçebilirsiniz.
Sil komutuyla yapılan işlem basit bir içerik silme işlemi değildir, sili-
nen satır veya sütun tümüyle ortadan kalkar. İşaretlemek suretiyle bir-
den fazla satır veya sütun da aynı anda silinebilir.
233
Sayfayı Taşı veya Kopyala: Bu komutu çalıştırdığınızda ekrana ge-
len diyalog kutusunu kullanarak Çalışma kitapları arasında sayfa taşı
ma ve kopyalama işlemleri yapabilirsiniz. Örneğin halen çalışmakta ol-
duğunuz dosyadaki bir veya birkaç sayfayı başka bir excel dosyasına
taşıyabilir ya da kopyalayabilirsiniz.
GÖRÜNÜM MENÜSÜ
Bu menüyü kullanarak Excel penceresinin görünümüyle ilgili deği
şiklikler yapabilirsiniz. Şekil 3-8'de Görünüm menüsü görülüyor.
Şekil 3-8
Formül çubuğu: Ekranın üst bölümünde bulunan ve aktif hücrede-
ki formülü görüntüleyen formül çubuğunu ekrandan kaldırmakta veya
ekrana getirmekte kullanılır. Formül Çubuğu komutunun solundaki
onay işareti o anda ekranda olduğunu gösterir.
234
çubuklan bulunur. Excel programını çalıştırdığınızda Standart ve Biçim
adlı araç çubuklan varsayım olarak ekrana gelir.
Çizim
ipucu Sihirbaz;
Formlar
Kaydı Durdur
Visual 8asic
Denetim
Şekil 3-9
235
EKLE MENÜSÜ
Bu menüdeki komutları kullanarak çalışma kitabına yeni çalışma
sayfası, hücrelere not (özel açıklama), çalışma sayfanıza resim ekleme
gibi işlemleri yapabilirsiniz. Şekil 3-lO'da Ekle menüsü görülüyor.
Şekil 3-10
Satll": Aktif hücrenin bulunduğu satırın olduğu yere yeni bir satır
ekler. Diğer satırlar aşağı doğru ötelenir. Sayfadaki toplam satır sayısı
değişmez. Satırların sıralama numarası da değişmez.
Sütun: Aktif hücrenin bulunduğu sütunun olduğu yere yeni bir sü-
tun ekler. Diğer sütunlar sağa doğru ötelenir. Sayfadaki toplam sütun
sayısı değişmez. Sütunların sıralama düzeni de değişmez.
236
Makro: Bir dizi işlemi makro olarak kaydettikten sonra bir simgeye
ya da tuş kombinasyonuna bağlayabilirsiniz.
Not: Bir hücreyi aktif hale getirdikten sonra Not komutunu çalıştır
dığınızda serbestçe yazı yazabileceğiniz bir editör ekrana gelir. Bu edi-
törü kullanarak o hücreye not girebilirsiniz. Böylece hücre formunun
sınırlamalarından kuıtulup uzun açıklamalar yapılabilir. Hücreye girilen
not normal durumda görüntülenmez. Maus okunu o hücrenin üzerine
götürüp bir müddet orada tutarsanız not görüntülenir.
Bir hücrede not olduğunu o hücrede bulunan küçük kırmızı bir işa
retten anlayabilirsiniz. (Dikkat: Burada bahsedilen Not, ek açıklama
anlamındadır.)
BİÇİM MENÜSÜ
Şekil 3-11
237
Hücreleri Biçimle diyalog kutusunda seçenekler 6 ayrı grupta top-
lanmış ve her grup ayrı bir sayfada yer almıştır. Sayı adlı sayfa varsa-
yım olarak aktif durumdadır. Diğer bir sayfayı aktif hale getirmek ve
böylece içindeki seçenekleri kullanılabilir hale getirmek için o sayfanın
başlığını tıklamak yeterlidir. Şekil 3-12'de Hücreleri Biçimle diyalog ku-
tusu ve aktif durumdaki Sayı adlı sayfa görülüyor.
Şekil 3-12
Sayı adlı sayfadaki liste kutusunda bulunan seçenekleri hücrelere
uygulayarak o hücrelerdeki sayıların görüntülenme biçimlerini (örne-
ğin virgülden sonra kaç basamak görüntüleneceğini, tarih formatırn
vb) tanımlayabilirsiniz.
Şekil 3-13
238
Hücreleri Biçimle diyalog kutusundaki Yazıtipi sayfasının başlığını
tıklarsanız bu sayfa aktif olur (Şekil 3-14).
Şekil 3-14
Şekil 3-15
239
Sütun: Bu komutu çalıştırdığınızda da ekrana başka bir menü gelir.
Bu yeni menüde bulunan komutları kullanarak aktif hücrenin bulun-
duğu sütunun veya seçili durumdaki sütunların genişliklerini değiştire
bilir, sütunları gizleyebilir ve tekrar ekrana getirebilirsiniz.
ARAÇLAR MENÜSÜ
Bu menüdeki komutları aynı kategoride toplamak güçtür. Ancak şu
nu söyleyebiliriz: Bu menüde diğer kategorilere girmeyen ve Excel
programının yararlılığını arttıran çeşitli fonksiyonları içeren komutlar
yer alır. Şekil 3-16'da Araçlar menüsü görülüyor.
Şeki/3-16
Hedef Ara: Sonuç yani hedef bilgisini taşıyan bir hücredeki hedefi
tutturmak için başka bir hücrenin alması gereken değeri hesaplar. Ör-
neğin, bir öğrenci birinci yazılıdan 40, ikinci yazılıdan 42 almışsa orta-
lamanın 50 olması için üçüncü yazılıdan alması gereken notu hesaplar.
240
İçine-Ekle: Excel'de bulunan bazı hazır makrolan aktif hale getirip,
bu makrolan çalıştıran komutların menülere eklenmesini sağlar.
Makro: Bir dizi işlemi makro olarak tanımlayıp bir simgeye veya
tuş kombinasyonuna bağlamanızı sağlar.
Şekil 3-17
Seçenekler diyalog kutusunda 10 adet sayfa bulunmaktadır. Hangi
sayfanın başlığını tıklarsanız o sayfa aktif olur ve ön plana geçer. Şekil
3-17'de Görünüm adlı sayfa aktif durumdadır. Bu sayfadaki onay kutu-
larını, radyo düğmelerini ve liste kutusunu kullanarak Excel penceresi-
nin görünümünü değiştirebilirsiniz. Örneğin Yatay ve Dikey kaydırma
çubuklarını ekrandan silebilir veya ekrana getirebilirsiniz.
PENCERE MENÜSÜ
Excel penceresinde aynı anda birden fazla dosyaya ait sayfalar da
yer alabilir. Pencere menüsündeki komutlar sayfaların ekrandaki yerle-
şimlerini ayarlar. Şekil 3-18'de Pencere menüsü görülmektedir.
241
Şekil 3-18
Şekil 3-19
Bu yeni menüde bulunan seçeneklere bağlı olarak açık olan birden
fazla sayıda dosyanın ekrandaki yerleşimleri ayarlanabilir. Dosyalar
yanyana, üstüste, peşpeşe görüntülenebilir.
VERİ MENÜSÜ
242
Şekil 3-20
Form: Veri tabanında bulunan her kayıt için bir form oluşturur.
YARDIM MENÜSÜ
Excel'deki komutlar, kavramlar ve fonksiyonlara ilişkin, kimileri ör-
neklerle de desteklenen geniş bir yardım sağlar. Şekil 3-21'de Yardım
menüsü görülüyor.
Şekil 3-21
243
Bu düğmelerin görevleri şöyledir:
Bu düğme
de onay düğmesidir ve bilgi girişi sırasında bu düğme
yi tıklarsanız
hücreye bilgi girişini tamamlamış olursunuz. Bu düğmeyi
tıklamak yerine ENTER tuşuna veya ok tuşlarına da basabilirsiniz. Bir
hücreye bilgi girişini ENTER tuşuyla tamamlarsanız hem o hücreye bil-
gi girişi tamamlanır hem de o hücrenin bir altındaki hücrenin aktif ol-
masını sağlar. Bir hücreye bilgi girişini ok tuşlarına basarak tamamlar-
sanız hem o hücreye bilgi girişi tamamlanır hem de bastığınız ok tuşu
nun yönüne göre o hücrenin komşularından birisi aktif olur.
İşlem basamakları :
244
Rakam, hücreye sağa dayalı olarak yerleşmiştir.
İşlem basamakları :
246
2 - Biçim menüsündeki Hücreler komutunu çalıştırın.
p
a
z
a
mi sonlandırın.
Hücrenin düşey doğrultuda büyüdüğünü ve yazının da düşey doğ
rultuda yazıldığını gözleyeceksiniz.
247
UYGULAMA 3 : Bir dizi sayının toplanması
İşlem basamakları :
248
Sonuç B8 hücresinde görüntülenecektir. Formül çubuğunda ise bu
hücreye yazılan formül görüntülenmektedir.
İşlem basamakları :
249
Cebir derslerinden bildiğimiz işlem öncelikleri EXCEL'de de geçerli-
dir. Bu işlemde parantez kullanılmasaydı önce C5/D6 işlemi yapılacak,
bulunan sayı B3 hücresindeki sayıyla toplanacaktı. Parantez koymakla
işlem önceliğini değiştirmiş oluyoruz.
İşlem basamakları :
250
dıktan sonra ENTER tuşuna basmayı unutmayın.
İşlem basamakları :
251
maktadır. Formülü biz yazıyoruz, EXCEL hem sonucu buluyor hem de
formülün mantığını keşfediyor.
İşlem basamakları :
253
3 - Şimdi de B7 hücresindeki formülü C7, D7 ve E7 hücrelerine
kopyalayıp Şubat, Mart ve Nisan aylarındaki satış toplamlarını bulaca-
ğız.
4- Şimdi
de her satış görevlisinin dört aylık performansını hesapla-
yalım.Ali adlı satış görevlisinin dört aylık satış performansını hesapla-
mak için G3 hücresini aktif hale getirin ve =TOPLA(B3:E3) formülünü
yazın.
254
B9 hücresini aktif hale getirin. Dört aylık satış toplamı formülü olan
=TOPLA(B7:E7) yazın ve ENTER tuşuna basın. (Satış elemanlarının
toplam satışlarından hareket etmek istiyorsanız B9 hücresine =TOP-
LA(G3:G5) yazmanız gerekir.) Her iki formül de aynı sonuca ulaşacak
tır.
İşlem basamakları :
255
2 - H3 hücresini tıklayıp aktif hale getirin. D3, E3, F3 ve G3 hücre-
lerindeki notlar toplanıp dörde bölünecektir. Böylece Buırak Can adlı
öğrencinin ortalaması bulunacaktır. H3 hücresine =(D3+E3+F3+G3)/4
yazıp ENTER tuşuna basın. Ortalama görüntülenecektir.
256
durumlarda formülde yer alan hücre adreslerinden bir veya birkaçının
sabitlenmesi gerekir. Bu uygulamada hücre sabitleme üzerinde durula-
caktır.
İşlem basamakları :
257
Formülü kopyaladık ancak sonuçlar doğru çıkmadı. Çünkü formü-
lün mantığına göre, formülün bulunduğu hücrenin solundaki hücrede-
ki sayıyla iki sağındaki sayı çarpılıyor. Yani örneğin formül E6 hücresi-
ne kopyalandığ111da =D6*G6 şeklini alıyor. D6 doğru da G6 yerine GS
olması gerekir. Çünkü saatlik kira bedeli GS hücresinde yazılı. Yani
formülü nereye kopyalarsak kopyalayalım GS hücresinin değişmemesi
lazım. İşte böyle durumlarda hücre sabitleme işlemi yapılıyor. Şimdi
GS hücresini sabitleyeceğiz.
258
Formül başarıyla kopyalandı. E6 hücresini tıklayıp formül çubuğuna
bir göz atarsanız formüldeki hücrelerden DS'in D6 olarak değiştiğini
buna karşılık sabitlemiş olduğumuz GS hücresinin değişmediğini göre-
ceksiniz.
UYGUIAMA 10 - Kopyalama
İşlem basamakları :
259
Seçili hale getirilen bölgede sol üstteki hücrenin renginin değişme
miş olduğunu gözleyin. Burası başlangıç hücresidir ve bu nedenle ren-
gi değişmemektedir. Şimdi seçili durumdaki bölgeyi çalışma sayfasının
başka bir bölgesine kopyalayacağız.
İşlem basamakları :
260
2 - Çalışma sayfasındaki 222 yazılı hücrelerin tümünü sileceğiz. Ön-
ce SÜRÜKLE VE BIRAK yöntemiyle işaretlemeniz gerek. Cl hücresine
gidin. Sol maus tuşunu basılı tutarak mausu biraz aşağı ve biraz da sa-
ğa doğru sürükleyin. 222 sayılarıyla dolu hücrelerin rengi değiştiğinde
sol maus tuşunu bırakın. 222 yazılı hücreler seçili hale gelmiştir.
261
12,12345!
43.!.Ş5:
: 34,876 .
....................... T. . .T.98642;.........
.·,·····:··,,,,,.,.,,.. ·,-, .......... -..-.-.-.·.-.·,,•,-,.
'''·«'Para Birimi
~m~ Finansal
im~ Tarih
lii!-~~~d~rıOranı
il~~~'
5- Ondalık Yerleri liste kutusundaki yukarı oku bir kez tıklayarak
sayıyı. 3 yapın.
İşlem basamakları :
263
3 - Sürükle ve Bırak yöntemi yerine daha pratik bir yöntem daha
var. Maus okunu B ve C kolon başlıklarının tam arasındaki çizginin
üzerine götürüp yatay oku gördüğünüz anda sol maus tuşunu çift tık
larsanız o kolon sayının gerektirdiği en uygun genişliğe ulaşır.
4 - Kolon genişliklerini
Biçim menüsünün altında bulunan Sütün
komutunu çalıştırarak da değiştirebilirsiniz. Sütun komutu çalıştırıldı
ğında ekrana gelen menü penceresinden Genişlik seçeneğini çalıştırır
sanız kolon genişliklerini değiştirebileceğiniz bir metin kutusu görün-
tülenir.
İşlem basamakları :
264
B2 hücresindeki yazının C2 hücresine taşan bölümünün bastırıldığı
nı ve C2 hücresinde sadece Fransa yazısının görüntülendiğini görecek-
siniz. B2 hücresindeki yazının tümünü görebilmeniz için B kolonunu
genişletmeniz gerekir.
İşlem basamakları :
265
Böyle başlıkfar ve altında bilgiler içeren yapılar veri tabanı olarak
adlandmhr. Başlıkların altındaki her bir sıra bir kayıt olarak adlandırılır.
örneğin "Hakan Can 57" birinci kayıttır. Bu veri tabanında toplam 6
kayıt bulunmaktadır.
266
4 - Bu diyalog kutusunda Sıralama başlığı altında bir liste kutusu
bulunmaktadır. Bu liste kutusunda başlıkların isimleri yer alır. Liste ku-
tusunu açmak için ADI kelimesinin sağındaki oku tıklayın. Notlara gö-
re sıralama yapacağınız için liste kutusundaki NOTU yazısını tıklayın.
Listedeki bilgileri notlara göre yukardan aşağı sıralayacağız. Yani en
yüksek not alan kişinin adı, soyadı ve notu listenin en üstünde olacak.
Bu sıralama, azalan sıralama olarak adlandırılır. Bunun için diyalog
kutusunda Azalan kelimesinin hemen solundaki daireyi tıklayıp içinin
dolmasını sağlayın. Son olarak da Tamam düğmesini tıklayın.
İşlem basamakları :
267
1 - Önce veri tabanını oluşturun. Veri tabanında AD, SOYAD ve ŞE
HİR başlıkları,bu başlıkların altında da kayıtlar yer alsın. 8 kişiye ait
kayıt girin.
2 - Başlıklar
dahil veri tabanının tümünü seçili hale getirin. Menü
çubuğundaki Veri seçeneğini tıklayın. Açılan menü perceresinde Süz
seçeneğini tıklayın. Yeni bir menü penceresi açılacaktır. Bu pencerede-
ki Otomatik Süz seçeneğini tıklayın.
268
4 - Bu düğmelerin hangisi tıklanırsa o başlığın altındaki bilgileri içe-
ren liste kutulan görüntülenir. ŞEHİR başlığının sağındaki düğmeyi tık
layın.
269
6- Adı Meltem olan öğrenciye ilişkin kaydı arayalım. Önce AD
başlığının sağındaki düğmeyi tıklayın. Açılan
listedeki Meltem yazısını
tıklayın. Meltem adlı kişiye ait kayıt görüntülenecektir.
İşlem basamaldan :
270
penceredeki Otomatik Süz seçeneğini tıklayın. Veri tabanında her
başlığın sağında
üzerinde aşağı doğru bir ok bulunan birer düğme be-
lirecektir.
271
Tüm listeyi görüntülemek için NOTU kelimesinin sağındaki düğme
yi tekrar tıklayın. Açılan diyalog kutusundaki Tümü kelimesini tıkla
yın. Veri tabanının tümü tekrar görüntülenir.
İşlem basamakları:
272
3 - Dosya adı yazısının sağındaki metin kutusunda varsayım olarak
Kitapl adı yazılı. Kürsörü Kitapl yazısının üzerine götürüp çift tıklarsa
nız yazı seçili hale gelir. Şimdi dosyanıza yeni bir ad verebilirsiniz. Bu
yazı kutusuna Adres yazıp diyalog kutusundaki Kaydet düğmesini tık
layın veya ENTER tuşuna basın. Yaptığınız çalışma Adres adlı dosyaya
kaydedilmiştir.
273
İşlem basamakları :
= EGER(Koşul; 1.seçenek;2.seçenek)
Koşul olarak verilen önerme Doğru ise l .seçenek geçerli olur. Ko-
şul olarak verilen önerme Yanlış ise 2.seçenek geçerli olur.
Şimdi göreceğimiz
uygulamada öğrencilerin not ortalamaları hesap-
lanmaktadır.Bir öğrencinin ortalama notu 50 veya daha yüksekse So-
nuç hanesine Geçti yazılacaktır. Öğrencinin ortalaması 50'nin altınday
sa Sonuç hanesine Kaldı yazılacaktır.
İşlem basamakları :
274
1- Çalışma sayfasını şekildeki gibi oluşturun.
275
4 - Şimdi de H3 hücresindeki formülü Sürükle ve Bırak yöntemiyle
H8 hücresine kadar kopyalayın. Böylece Sonuç başlıklı kolonda diğer
öğrencilere ilişkin sonuçlar da görüntülenecektir.
orı313·nıa)sü·;;ücl
. . 6i 25 . . ., . . . . . ,.~·
..... 1?1.2ş:ggç:n.;. .
4füKALDI i
36.25li<ACDl1
:. ?9l 651 .. 6.1:25'·················,·
50 1 40)
"•"<;'"·"••"-"oW.".' ••• ,...... 46 ,25 l<A.LDI ·•
,._.,.,·,·-·,.w.W''·"·"'·"·"•W•W."."."o"+"·'·'•"•"•"•".'•'•'•'•"•"••'.'•"•"•'•'•"•"•"-'•'"~·W."oW.-•.·-·.·.-,·
Koşul olarak =>50 (yani 50'ye eşit veya büyük) önermesi verildiği
için referans hücredeki sayı 50'ye eşit veya 50' den büyükse fonksiyo-
nun bulunduğu hücreye GEÇTI yazılır. Referans hücrede (yani ortala-
manın bulunduğu hücrede) bulunan sayı 50'den küçükse fonksiyonun
bulunduğu hücrede KALDI yazısı oluşur.
= EGER(Koşul; 1.seçenek;2.seçenek)
Koşul olarak verilen önerme Doğru ise l.seçenek geçerli olur. Ko-
şul olarak verilen önerme Yanlış ise 2.seçenek geçerli olur. EGER
fonksiyonunu iç içe kullanırken 2. Seçenek yerine yeni bir EGER fonk-
siyonu yazılır. Bu ikinci EGER fonksiyonunun da ayrı bir koşuluyla 1.
ve 2. Seçenekleri bulunur.
=EGER(Koşul;1.Seçenek;EGER(Koşul;1.Seçenek;2.Seçenek))
A 85-100
B 70-84
c 55-69
D 45-54
E 0-44
276
İşlem basamakları :
3 - H3 hücresine
=EGER(G3>=85;"A";EGER(G3>=70;"B";EGER(G3>=55;"C";EGER(
G3>=45;"D";"E"))))
277
4 - H3 hücresine yazdığınız fonksiyonu Sürükle ve Bırak yöntemiyle
H4-H8 aralığındaki hücrelere de kopyalayın.
İşlem basamakları :
278
2 - G2 hücresine =ORTALAMA(C2:F2) yazın. Bu durumda C2-F2
aralığındaki
hücrelerde bulunan sayıların ortalaması bulunacak ve so-
nuç G2 hücresine yazılacaktır.
Uygulama 23 - VE bağlacı
İşlem basamakları ;
279
2 - E2 hücresine =EGER(VE(C2>=90;D2>=90);".KAZANDI";"KA-
ZANAMADI") yazıp ENTER tuşuna basın.
.. . . . lŞQNPÇ . . . . . . . . ·.........
95,! -
.,.......,. ············aaii<AiANAMADl
.. ,
......•.......•....•,, ......·.........·..·...•...•.·.............· ..
. . . . . . .·. ·. ·. · 93li<AZ.A:i\iöı'·'·····
n
uat !Can
........... 7tfii<AZ.A:i\i.A.iV1Aüi
.
1~~~9],~~J:.- a. . . ,n.·.· .·.·.·, . '· · , ·.·- ·..··.····~········~-...,...,..,., ...,..... .. . . ,..971'1<..AZA~lôi···
Her iki notu da 90 veya daha yukarı olan öğrencilerin kazandığı, di-
ğerlerinin kazanamadığı bilgisi görüntülenecektir.
280
hangi birinin 90 veya daha yüksek olması durumunda bir burs kaza-
nacağını varsayalım. Bu durumda bu iki şart birbirine YADA bağlacıyla
bağlanacaktır. Bu uygulamada bir grup öğrencinin fizik ve matematik
notları listelenecek ve iki notundan herhangi biri 90 veya daha yukarı
olanlar burs kazanacak, diğerleri ise kazanamayacaktır.
İşlem basamakları :
2 - E2 hücresine =EGER(YADA(C2>=90;D2>=90);"KAZAN-
DI";"KAZANAMADI") yazıp ENTER tuşuna basın.
281
YADA bağlacını kullanarak ikiden fazla (örneğin 3,4,5 .. ) koşulu da
bağlayabilirsiniz. Bu koşullar YADA kelimesinden sonra açılan paran-
tez içinde sıralanırlar ve birbirinden noktalı virgül (;) ile ayrılırlar.
İşlem basamakları :
282
3 - Ekrana Özet Tablo Sihfrbazı adlı bir diyalog kutusu gelecektiL
Buradaki İleri düğmesini tıklayın.
283
4 - Ekrana Özet Tablo Sihirbazı diyalog kutusunun 2. adımı gele-
cektir.
284
Bu diyalog kutusundaki Son yazılı düğmeyi tıklayın.
285
Diğer illerdeki satış
raporunu görmek için de yine B2 hücresindeki
aşağı ok düğmesini tıkladıktan sonra açılan liste kutusunda ilgili şehir
adını tıklamak gerekir. Listenin tümünü görmek için aynı liste kutusun-
daki (Tümü) yazısını tıklamalısınız.
İşlem basamakları :
.-.-.-.--.1.-.-.-......,
286
3 - Sürükle ve Bırak yöntemiyle B5 hücresindeki formülü C5-E5
aralığına kopyalayın.
287
yalog kutusu gelecektir. Bu diyalog kutusunda Pencere seçenekleri
başlığı altındaki Kılavuz Çizgileri yazısının hemen sağındaki kutunun
içini tıklayıp onay işaretini kaldırın.
288
lendirebilirsiniz. EXCEL size bir dizi şablon sunar; siz de bunlardan di-
lediğinizi seçebilirsiniz. Böylesi kimi zaman daha pratiktir.
İşlem basamakları :
289
5 - Ekrana Otomatik Biçim adlı bir diyalog gelecektir.
290
Tablonuz yeni bir biçimde görüntülendi. Bu görünüş öncekine göre
daha profesyonel. Başlıkların altının çizilmiş olduğuna, tablonun
en altına kalın bir çizgi çizildiğine dikkat ediniz. rakamlar
daha anlamlı bir görüntü kazandırılmak üzere ayraç karakterleriyle ay-
rılmış, para birimi TI ibaresi eklenrn.iştir.
1JOO)JJTL 1.lEü,OOTL
985,COTL ro:o.oo
1.050,0JTL 1.2m.oo TL
3"100 ,00 TL 3.1 TL
291
Uygulama 28 - Veri tabanında alt topla:mların
hesaplanması
İşlem basamakları :
2 - Biz markalara göre alt toplamları alacağız. Onun için önce veri
tabamnm markalara göre gerekiyor. Veri tabanını seçili ha-
le Menü Veri başlığını menü pencere-
sindeki Sırala komutunu çalıştmn.
292
3 - Ekrana Sırala diyalog kutusu gelir.
293
5 - Ekrana Alt Toplamlar adlı bir diyalog kutusu gelecektir.
294
Görüldüğü gibi Doğan, Kartal ve Şahin marka otomobillerin satış
toplamları ve genel toplam alındı. Ekranın en sol tarafında da üzerinde
- işareti bulunan düğmeler görülüyor. Herhangi bir markanın ayrıntısını
gizlemek ve sadece toplamını görmek istiyorsanız toplamının
hizasındaki - işaretini tıklamanız gerekir. Şimdi Topfa.m Doğan yazılı
satırın hizasında bulunan - işaretini tıklayın.
295
Uygulama 29- Graiık (1)
EXCEL programıyla grafikler oluşturarak sayısal verilerin daha anla-
şılırbiçimde görüntülennıesini sağlayabilirsiniz. Bu uygulamada bir ga-
lerinin üç otomobil markasına ait bir aylık satış rakamlarının grafiği
oluşturulacaktır. Galeride Doğan, Kartal ve Şahin marka otomobiller
satılmaktadır. Bir aylık dönemde 12 adet Doğan, 16 adet Kartal ve 9
adet Şahin marka otomobil satılmıştır.
İşlem basamakları :
296
Not : Bu aşamada ileri düğmesi yerine Son düğmesini tıklarsanız
grafik en basit şekliyle oluşacaktır.
297
5 - Ekrana Gırafik Siliirbazı - Adım 4 / 5 diyalog kutusu gelir.
298
Grafik görüntülendi. Grafiğin üzerini bir kez tıklarsanız grafik alanı
seçili hale gelir. Seçili durumdayken Sürükle ve Bırak yöntemiyle grafi-
ği ekranda başka bir yere taşıyabilirsiniz. Aynca seçili durumdayken
grafiğin köşe ve kenarlarında oluşan tutamaklardan maus ile tutarak
grafiğin boyutlarını büyütüp küçültebilirsiniz.
299
Verileri temsil eden sütunlardan herhangi birisinin üzerini çift tıkla
dığınızda ise Veri Se:ril.edni Biçimle adlı bir diyalog kutusu gelecektir
ekrana.
Bu diyalog kutusu
desenleri, sınır çizgilerinin renkleri
tunlanm üzerine yazdma biçimi
İşlem ba."lamalda:n. :
300
geyi tayin edebilirsiniz. Kürsör + şeklini alınca sol maus tuşunu basılı
tutarak mausu sağ-aşağı doğru çapraz olarak sürükleyin. Yeteri kadar
bir alan tanımladıktan sonra sol maus tuşunu bırakın. Ekrana Gıraf':ı.k
Sihirbazı - Adım 1/5 yazılı bir diyalog kutusu gelecektir.
302
Bu diyalog
Bunu
adlar da
Grafikte her aya ilişkin üç adet bilgi yer alıyor. Hangi bilginin hangi
otomobile ait olduğu da sağ taraftaki kodianndan anlaşılıyor.
İşlem basamakları :
303
2 - B4-C6 hücre aralığım seçili hale getirin ve Standart araç çubu-
ğundaki simgesini tıklayın. Kürsör hassas seçim moduna
geçecek ve + şeklini alacaktır. Şimdi ekranda grafiğin yer alacağı
bölgeyi tayin edebilirsiniz. Kürsör + şeklini alınca sol maus tuşunu ba-
sılı tutarak mausu sağ-aşağı doğru çapraz olarak sürükleyin. Yeteri ka-
dar bir alan tanımladıktan sonra sol maus tuşunu bırakın. Ekrana Gra-
fik Sihirbazı - Adım 1/5 yazılı bir diyalog kutusu gelecektir.
304
Bu diyalog kutusunda Pasta yazılı kutuyu tıklayıp seçili hale getir-
dikten sonra Son düğmesini tıklayın. Grafik görüntülenecektir.
Şehin
36% Doğan
43%
l<aıi:al
21%
İşlem basamakları :
Bunun için:
.. Başlıkları yazın .
., B3 hücresine 5000 yazın.
"' C3 hücresine 100 yazm .
., Toplam maliyeti bulmak için D3 hücresine =B3*C3 formülünü ya-
zın.
305
" E3 hücresine birim satış fiyatı olarak 150 yazın.
" Toplam geliri bulmak için F3 hücresine =B3*E3 formülünü yazın .
.. Net kar formülü olarak G3 hücresine =F3-D3 yazın.
306
Bu diyalog kutusundaki Ekle düğmesini tıklayın.
6 - Farklı
senaryolara göre değeri değişecek olan E3 hücresine ilk
değeri (adı AZ olan senaryo için öngörülen değer) girebileceğiniz bir
diyalog kutusu görüntülenecektir.
307
7 - Ekrana gelen Senaryo Ekle diyalog kutusundaki Senaryo Adı
adlı metin kutusuna ORTA yazın. İkinci senaryonun adı tanımlanmış
oldu. Tamam düğmesini tıklayın.
308
9 - Ekrana yine Senaryo Yöneticisi diyalog kutusu gelir. Ekle düğ
mesini tıklayın.
11- Ekrana yine Senaryo Değerleri diyalog kutusu gelir. Metin ku-
tusuna 250 yazıp Tamam düğmesini tıklayın. ÇOK adlı üçüncü senar-
yoya göre kundura fiyatı 250 lira olarak belirlenmiştir.
309
12 - Ekrana gelen Senaryo Yöneticisi diyalog kutusunda Senar-
yolar başlığı altında üç senaryo adının yazılı olduğunu göreceksiniz.
Senaryolar tamamlanmış oldu.
310
14 - Senaryo Yöneticisi diyalog kutusunda ORTA yazısını tıklayıp
seçili hale getirdikten sonra Göster düğmesini tıklayın. Tablonuzda E2
hücresindeki birim satış fiyatının 200 olduğunu ve bütün hesaplamala-
rın buna göre yapıldığını göreceksiniz.
311
Burada E3 hücresinin (birim satış fiyatının bulunduğu hücre) aldığı
çeşitli değerlere göre G3 hücresinin (toplam net karın bulunduğu hüc-
re) aldığı değerler görülmektedir.
İşlem basamakları :
..................~··· .... .
~
312
3 - BlO hücresine yazdığınız fonksiyonu Süriiıhle ve Bırak. yönte-
miyle ClO-ElO hücre aralığına kopyalayın.
313
5 - Ekrana gelen Hücreleri Biçimle adlı diyalog kutusunda Kate-
gori listesindeki Para Birimi seçeneğini tıklayın. Son olarak da aynı
diyalog kutusundaki Tamam düğmesini tıklayın,
esiı
ilimsel
Metin
Özel
isteğe Uyatl<ınmış
314
Ayrıca her sayıdan sonra TL ibaresi yazılmıştır. Böylece para birimi
de anlaşılmaktadır.
~A~t . . ·. ·. ·. ·. ·. ·. ·. ·. .· füŞ~ff•••··············
7J300.000,00 TU 7.E00.000
3s:999:99§.99.••rkr3şçgçı.9çı9 .
.000.00Q,QQI~ . . . §,gQQ,QQQ_,QQ_. I~.·-
- - TU 7.ı:cıo.oocı,oo TL
·.·§.Çgçı:9çı9,çı9yç;
4.ÇOOQOQ,OQ TL
6-Cdö.ooo ,oO 'rL]
. . . . . 4DQ.QQQ.PQI~.·71_.JQiJ:Q9Q. Ç!QI~1 . .
Bankadan yıllık %90 faizle 1000000 TI. (bir milyon) borç alıyoruz.
Bu borcu 12 taksitte ödeyeceğiz. Bu fonksiyon ödememiz gereken tak-
sit tutarını hesaplıyor.
İşlem basamakları :
Yıllık
faiz oranını C2 hücresine 0,9 (yani yüzde doksan) olarak ya-
zın. Daha sonra göıüntü formatmı değiştireceğiz. C3 hücresine taksit sa-
yısını 12 olarak yazın. Borçlandığımız ana parayı da C4 hücresine yazın.
315
3 - C7 hücresine =DEVRESEI._ÖDEME(C2/12;C3;C4) yazıp ENTER
tuşuna basın.
Bir kişiye yıllık %80 faizle 3000000 n. (üç milyon) kredi açıyorsu
nuz. Parayı size 5 ayda eşit taksitlerle geri ödeyecek. Taksit tutarını he-
saplayalım.
İşlem basamakları :
316
C4 hücresine ana para miktarını yazarken başma eksi (-) işareti ko-
yun. Bu, parayı (yani borcu) sizin verdiğinizi gösteriyor.
İşlem basamaldaırı :
317
2 - C7 hücresine =DEVRESEL_ÖDEME(C2/12;C3;0;C4) yazıp EN-
TER tuşuna basın.
l-Faı·z-·oranı".... ···gö·-~~r·
··· . .,O.deme sayısı....................$$.1.
Hedef 500000000
·ı·
·. . ···········+·.......... .
;Q~e11l~.~11.~~n.
'" •• •" • ;" "'. ı
:
Üç yıl (36 ay) sonra beşyüzmilyon liranızm olması için her ay ban-
kaya yatırmanız gereken para miktarı C7 hücresinde görüntülendi. Sa-
yının başındaki eksi(-) işareti parayı sizin ödeyeceğinizi gösteriyor.
UYGULAMA 37 : GD fonksiyonu
Bankaya 2 yıl (24 ay) boyunca her ay 1000000 TL. (bir milyon) yatı
rıyorsunuz. Bankanın paranıza uyguladığı yıllık faiz oranı %90 olduğu
na göre 24 ay sonra bankada kaç paranız birikmiş olur? GD fonksiyo-
nunu kullanarak bunu hesaplayalım.
İşlem basamakları :
318
2 - C7 hücresine =GD(C2/12;C3;C4) yazıp ENTER tuşuna basın.
UYGULAMA 38 : BD fonksiyonu
İşlem basamakları :
319
2 - C7 hücresine =BD(C2/12;C3;C4) yazıp ENTER tuşuna basın.
İşlem basamakları :
320
2 - C13 hücresini tıklayarak aktif hale getirin. Bu hücreye
=BAG_DEG_SAY(C3:C11) formülünü yazın.
Bir dizi hücre aralığındaki bilgilerden belli bir şartı taşıyanların sa-
yısımbulur. Bu uygulamada bir sınıftaki öğrencilerin adlan ve notlan
321
bir listede yer almaktadır. Bu listedeki öğrencilerin kaç tanesinin notu-
nun 50 ve daha yukarı olduğunu (yani kaç kişinin geçer not almış ol-
duğunu) bulacağız.
İşlem basamakları :
322
Uygulama 41- Yazıcıdan çıkış alınması
İşlem basamakları:
323
3 - Bu diyalog kutusunu kullanarak yazdırma işlemine ilişkin çeşitli
tanımlamalar yapabilirsiniz. Diyalog kutusundaki Yazdırılacak Olan
başlığının altındaki radyo düğmelerini kullanarak şu seçimleri yapabi-·
lirsiniz:
İşlem basamakları:
324
2 - Dosya menüsündeki Sayfa Yapısı komutunu çalıştırın.
Not: Dikkat edilirse Sayfa Yapısı diyalog kutusunda Yazdır adlı bir
düğme bulunmaktadır. Bu düğme tıklanırsa da Yazdır adlı diyalog ku-
tusu görüntülenir ve yazdırma sürecini buradan da başlatabilirsiniz. Ay-
rıca bu diyalog kutusundaki Baskı Önizleme düğmesini tıklayarak
325
önizleme yapabilir, tablonuzun kağıt üzerinde nasıl duracağını önce-
den görebilirsiniz.
İşlem basamakları:
i
• Hafta,····:···
..... ...................
326
j 1.Jlaf'lıı .
i.11".k.~t,i
'Burak
. . . . Js~ıi;;~--
3 - C2-C4 aralığını seçili hale getirin.
4 - Maus okunu seçili alanın sağ alt bölgesindeki çok küçük kare-
nin üzerine götürün. Maus işareti + şeklini alır. O anda sol maus tuşu
na basın ve basılı tutarak altıncı haftanın altına kadar sürükleyin. Kop-
yalama işlemi sonunda nöbet listesi oluşacaktır. Referansların aynı
mantık çerçevesinde kopyalandığını gözleyin.
327
Uygulama 44- Birden fazla çalışma sayfasında çalışmak (1)
Excel programında birden fazla çalışma sayfasında yer alan verilerle
işlem yapabilirsiniz. Farklı sayfalardaki hücrelere bulunan sayılarla ilgili
işlemler de yapılabilir. Bu uygulamada farklı sayfalarda bulunan iki sa-
yı toplanacak ve sonuç diğer bir sayfaya yazılacaktır.
Gerçi daha önce anlatılmıştı ancak bir kez daha hatırlatayım. Excel
programı birden fazla çalışma sayfası sunar. Bu çalışma sayfalarının ad-
ları ekranın alt bölümünde başlıklar biçiminde yazılıdır. Sayfa! adlı ça-
lışma sayfası varsayım olarak aktif durumdadır.
· · . ···•ılh_ş_~J!t~IA~~t~?{ttitş__lı~~l;~~»l~~lt~~l!j
:~~~:~~~~~:~~~*~~:i~:i:~{$~:~~:i~;~:i;~~:t~·~i:~~@i{:~:fi{~~:~~~=~:i::~w~~~~~:~:f:w~~~~~:'.:~{:11~:~~:~&~~:::~~~~~~~~~~{:~@~:
Hangi sayfayı aktif yapmak istiyorsanız o sayfa ismini bir kez tıkla
manız yeterlidir. Örneğin Sayfa3 adlı sayfayı aktif yapmak için Sayfa3
adını tıklayalım.
İşlem basamakları:
61
B:m:a:m:mımmımmıııı· ··· ·· ·-- ·· ···· ···· ..·········:····
• "." ........ . ,. ..... . ... .. ... .............. •-, ." •• •• ·:<- •• .••• - ~· .... . .... , ,.
328
2- Sayfa2 adlı sayfayı aktif hale getirin. C3 hücresine 8 sayısını ya-
zın.
3- Şimdi
de Sayfal adlı çalışma sayfasında B2 hücresindeki 6 sayı
sıyla Sayfa.2 adlı çalışma sayfasında C3 hücresindeki 8 sayısını top-
layacağız. Sonuç Sayfa3 adlı çalışma sayfasında D4 hücresinde görün-
tülenecek.
Bunun için önce Sayfa3 adlı çalışma sayfasını aktif hale getirin. D4
hücresine =Sayfal!B2+Sayfa2!C3 yazıp ENTER tuşuna basın. Diğer
iki çalışma sayfasındaki sayıların toplamı bu sayfada görüntülenecektiı:.
İşlem Basamakları:
1- Sayfal adlı sayfaya sınıfın Fizik notlarını girin. Lütfen hücre ad-
reslerine dikkat edin, çünkü tüm sayfalardaki formüller birbirleriyle
329
bağlantılı olacak.
Bınlm1Bı1:&1rn@:l)n
ı@1[:1:m: II F
Teknik
..................Lise
..
.,
3. sınıf Fizik Dersi Notları
,:.··""''"'•"•'•"•'•";'•••···" •" ·"·"··· · ··· •."•"•"'"''•"•'•"•"••••.··· ··
' !t
.. . .,_[,!
. . .._:_·._-.-.. __ ,t~-~~:.:·50:··:;·~.~-......., t~~v· .:.· :~·~-~~. .~.....1~.-..·55. _· .·~-·•";·~~1.s1.2s·
. . . s5r ~.~~-~--'·
·'"i'-·N 5ı:::' ····· ·4;::···· .. · ·40' .. ..~i:f 52,5:
;~-~:ııı:f3~~:~ . . ,· · . ·tı~' 7~: ' ''''i~J' ''' ''' ' ~b· _6?5:
330
,....... ,_ ..;. .................,..... i.... ,..........,....... .
ı~~ımıı~~~~j~~f~~~;~ı~ı~ı111
5- Sayfa2 adlı çalışma sayfasına aynı sınıfın Kimya notlarını girin ve
ortalamalarını alın .
Bilgi girişi sırasında lütfen hücre adreslerine dikkat edin, çünkü di-
ğer bütün sayfalardaki formüller birbirleriyle bağlantılı olacak
~~JrfJŞJlŞ.!'.1,Y.[~.~"'4ill~l!.$§1
:~~~~~~:~:~:~{~~:~~~:i:~~~~;:~~~:fü~g:~:;:~i~~~%~:i:i:~i$i:~:~~:I~:;:~ı~:~i:;:
331
Sayfa4 adlı çalışma sayfasına aşağıdaki bilgileri girin.
"•'• , ••, • • • ' . '•' ·' "" " · • -~· • " M • • • , .... - . ; - •. •__. .~....' • " ' " • ', . ' " • ,,. " .-- -•. "••, " • '..' , . • ....,. , • ._.,• , -·, ,• •,' , ,• •, ' ;. ' . '• • , : • , •• •,
·Fizik
Burak 62,5;
...............,. ........ .·.···r··-- ........ ... .,..... ?··· · ...... .................. .. .... . ... .
=Sayfa2!F4
332
11- Sürükle ve Bırak yöntemiyle C4 hücresindeki formülü C5 ve
C6 hücrelerine kopyalayın.
333
UYGUIAMA 46- Ücret bordrosu (1)
İşlem Basamakları:
334
alır. Böylece G2 hücresi sabitlenmiştir. Formül nereye kopyalanırsa
kopyalansın bu adres değişmeyecektir.
335
6- D2 hücresindeki formülü Sürükle ve Bırak yöntemiyle D3-D6
hücre aralığına kopyalayın .
'"·..,··!··········---····· ·'"""':.....
L\,kut , T?if · 1ioiiF. 34001
iiT --· .,,,.,.,. .. T2qL:::::J.?9@··-·.·)~oöt··-·.- . .. , ............-:. :... ·.:·...
8- E2 hücresindeki formülü E3-E6 aralığına kopyalayın. Diğer per-
sonelin ücretleri de görüntülenecektir.
336
10- Biçim araç çubuğundaki simgesini tıklayın. Sayıların ya-
nında T.L yazısı da belirecektir.
337
da evliler için E, bekarlar B harfi yer alacak. Evli olanların net ücretle-
rine 100 TI. eklenecek.
Kolay anlaşılması için sayılan küçük olarak seçtim
İşlem Basamakları:
338
UYGULAMA 48- EGERSAY fonksiyonu (2)
Daha önce ( 40 nolu uygulamada) EGERSAY fonksiyonun kullan-
mış, notları SO ve daha yukarı olan öğrencilerin sayısını bulmuştuk.
Şimdiki uygulamada ise aynı fonksiyonun diğer bir kullanım tarzını gö-
receğiz. Bir sınıfta çeşitli illerden gelen öğrenciler var. Hangi ilden kaç
kişi var, onu hesaplayacağız.
İşlem Basamakları:
-
ı Aşağıdaki bilgileri çalışma sayfasına girin.
1
!
2- cıs hücresine =EGERSAY(D3:D12;"İstanbul") fonksiyonun ya-
zıp ENTER tuşuna basın.
339
UYGUIAMA 49- SIKIJK fonksiyonu
Bu fonksiyon bir grup sayının dağılımını bulur. Örneğin bir sınıftaki
öğrenciler bir sınavda çeşitli notları alırlar. Kaç öğrenci 85-100 arasında
not aldı? Kaç öğrenci 0-50 arasında not aldı? Bu fonksiyon bunu hesap-
lar.
İşlem Basamakları:
SOYAD! 'NOTU
45:
Jo§_r!n . :__ 67 ~
Kart::ıl i_~I ·
r~18;8~~ş8 34
·Sümbül .. 93;
·Sr3rç_
e· 34 :
'Zambak 87 '·
Bülbül .ttG;
Dernrr '~3:
.:x ""
. ··elik 82i
;öztürk 83
· 8a)'ır 78;
............................~····· · - - - -- - - -- "·······""'"""''"""""""-" · - - - --
3- Fonksiyonu yazdıktan sonra CTRL-SHIIT-ENTER tuşlarına basın .
(Önce CTRL ve SHIIT tuşlarına basın. Bunlar basılıyken bir de ENTER
tuşuna basın.) Dağılım rakamları görüntülenecektir.
340
Bu rakamlara göre 4 öğrenci 50 ve daha aşağı not almıştır. 51-70
arasında not alan öğrencilerin sayısı da 2'dir. 4 öğrenci 71-85 arasında,
2 öğrenci de 86-100 arasında not almıştır. Dağılımda sınır olarak veri-
len rakamların nasıl değerlendirildiğine dikkat ediniz. Örneğin 85-100
aralığı 85 rakamını kapsamıyor ve 86'dan başlıyor. Eğer 85 rakamını da
aralığa dahil etmek isterseniz E3 hücresindeki 85 rakamını 84 olarak
değiştirmeniz gerekir.
341
UYGUIAMA 50- Dizilerde şartlı işlemler
İşlem Basamakları:
}\rçeHk
Vestel
. . ·.·.·.· p~ı("' '
...... •··· .. ···~· ....
ı
!
! 20
·fg;
25;
10
20 ,
20.i.
5 j
·ıo ı
---~:_ J
\eı ;
342
3- Vestel firmasının toplam cirosunu bulup görüntülemek için E2
hücresine =TOPLA(EGER(A2:Al5="Vestel";B2:B15) yazdıktan sonra
CTRL-SIDFT-ENTER tuşlarına basın. Vestel firmasının toplam cirosu
görüntülenir.
4- Beka firmasının toplam cirosunu bulan formülü E3 hücresine ya-
zıp CTRL-SHIFT-ENTER tuşlarına basın. Sonucu göreceksiniz.
İşlem Basamakları:
1 ·jMenel<şe
L.........~..............................................~.......................~......................................................................_ . ___
343
2- Çizim araç çubuğundaki simgesini tıklayın. Maus işareti
+ işaretine benzer bir biçim alır. Bu durumda maus işaretini metin ku-
tusu oluşturacağınız yere götürdükten sonra sol maus tuşunu basılı tu-
tarak sağ-aşağı doğru mausu çapraz biçimde sürükleyin. Metin kutusu
uygun büyüklüğe ulaşınca sol maus tuşunu bırakın.
'.A.iiı . :soyadi
Sedat Han ·············· 56 '
Vedat Tan .· '. .· · 8(
:~;ri~s ··~:~ ···· ·· 1· ·· ···· · f~
Hakan Demir 48
Orhan Çelik 82
Beril .. Menekşe 70
Yazıyı yaz-
dıktan sonra
metin kutusu- Adı . .... Soyadı
Sedat Han 56
nun dışında Tan si
Vedat
bir hücreyi tık · 'f..ıergis San 45
layın, metin :Aylin Can 76 '
kutusu seçili ·Hakan Demir 48
durumda ol- 'Orhan Çelik 82
Beril Menekşe 70
maktan çıksın.
Metin kutusu- Bu notlar bilgisayar öğrencilerinin Excel dersinde
mı tekrar seçili almış oldu kları notlardır. Toplam yedi öğrenciden
.......... sadece iki tanesi 50'nin altında not almıştır. Daha
hale getirmek
. · sonra da VVord programından aldıkları notlarla
için maus işa bunların ortalaması alınacaktır.
reti metin ku-
tusunu göste-
rirken sol maus tuşunu bir kez tıklayın. Metin kutusu seçili hale gele-
cek, kenar ve köşelerinde tutamaklar belirecektir.
344
·Hakan Demir 49:
Orhan .çelik 82
Beril ·1v1enekşe 70
.. ~~~~~~cm!J~~~~~~~.,
~ Bu notlar bilgisayar öğrencilerinin Excel dersinde
.~ almış oldukları notlardır. Toplam yedi öğrenciden
.~ sadece iki tanesi 5~'nin altında not almıştır. Daha
·····
sonra da Word programından aldıkları notlarla
bunların ortalaması alınacaktır.
345
Uygulama 52- Demirbaş listesi hazırlamak
İşlem Basamakları:
346
yukarı doğru kayacak buna karşılık başlıklar ekranda görünecektir. Ya-
ni alt sıralardaki
verileri görürken bunların hangi başlıkların altında ol-
duklarını da görebileceksiniz.
....................
-:rcı·i;~~;:c;r-·· . --·· ·"·. · ·
Güç 1r:ı •öıçrrım L<ıtı
122•_f.:ıi!gi%1aı 21_.Bilgisay<1r Lı.ıb
·123: Yaz~o L4:s-er 2 Eilgisııyar Lmb
124 foıayıcı B4 ı •6B~isayar L•!ı
125 fhb ;>how 1 8Hgisayat Lah.
· j;:•f'.;f'Jil!jH'Pl~;llf kleM')l fai!girgyar Lıı!ı
Ekrana Bul adlı bir diyalog kutusu geldi. Diyalog kutusundaki Ara-
nan başlığı altındaki metin kutusuna Yazıcı yazın. sonra da diyalog
kutusundaki Sonrakini Bul düğmesini tıklayın. Listedeki Yazıcı keli-
mesi bulunacaktır.
347
Uygulama 53- "Böyle Olsa" mantığıyla
veri listesi hazırlamak (1)
İşlem Basamakları:
348
4- D3-D6 hücre aralığını seçili hale getirdikten sonra Biçimlendir-
me araç çubuğundaki % simgesini tıklayın.
Hücrelerdeki sayılar ile görüntülenecektir.
%95
%99
349
Veri menüsündeki Tablo komutunu çalıştırın. Ekrana Tablo adında
bir diyalog kutusu gelir. Bir diyalog kutusundaki Sütun Giriş Hücresi
metin kutusunu bir kere tıklayıp ekleme noktasını oraya getirdikten
sonra C3 hücresini tıklayın. Sütun giriş hücresi metin kutusunda $C$3
hücre adresi belirir. Formüldeki değişecek hücreyi böylece tanımlamış
olduk. Son olarak da diyalog kutusundaki Tamam düğmesini tıklayın.
· ltiıiiöi·aiıt
. . . iAna Para
H~t1~1·1~ ş~y·
. ·~-- .. •· . , -~·.. -· ·--~ '
'
Örneğin faiz oranı %85 olursa taksit 126.277,83 TL. oluyor. Buna
karşılık
faiz oranı %95 olursa taksit 132.122,64 TL olarak bulunuyor.
Her sonuç ilgili faiz oranının yanındaki hücrede görüntüleniyor.
350
ödeme miktarının) hesaplanmasını ve tablosunun çıkarılmasını görece-
ğiz.
Bir bankadan %90 oranında faizle 1000000 TI (Bir milyon) borç al-
dığımızı varsayalım. Borcumuzu 12 ayda, 14 ayda, 16 ayda, 18 ayda
veya 20 ayda geri ödemeyi planlıyoruz. Her alternatife karşılık taksit
tutarını gösteren veri tablosunu hazırlayalım.
İşlem :Basamakları:
%90
12
1000000
.Faiz Oram 12
Ödeme Sayısı 14
Arıa Parn
·········~······················~···········-··--··------~~-------
'Faiz Oram
. Ödeme Sayısı
Ana Para
20
1
...........................!
351
4- Dl-E6 hücre aralığını seçili hale getirin. Veri menüsünden Tablo
komutunu çalıştırın. Ekrana gelen Tablo diyalog kutusundaki Sütun
Giriş Hücresi metin kutusunu bir kez tıklayıp ekleme noktasını oraya
getirdikten sonra G3 hücresini tıklayın. Metin kutusunda $C$3 belire-
cektir. Tamam düğmesini tıklayın.
352