40
BİLGİSAYARLARIN YAPISI Bir bilgisayar sistemi donanım ve yazılım olmak üzere iki bölümden oluşur. Donanım (Hardware): Bilgisayarın fiziksel ve elektronik yapısını oluşturan ana ve çevre birimlerinin tümüne donanım denir. Donanım birimleri görev alanlarına göre 3 gruba ayrılır. Giriş birimleri (klavye, fare vb.), çıkış birimleri (ekran, yazıcı, çizici, hoparlör vb.) ve merkezi işlem ve bellek ünitesi (anakart, merkezi işlemci, harddisk, RAM vb.) Donanım Yazılım (Software): Donanım birimlerini istenen işlere yöneltip bir çalışma düzeni içerisinde kullanabilmek için gerekli tüm programlardan ve veri yapılarından oluşur. Yazılım Giriş Birimler i Bellek Birimleri İletişim (Uzak, yerel) Merkezi İşlem Ünitesi İletişim (Uzak, Yerel) Çıkış Birimler i 1 İşletim Sistemi (MS-DOS, Windows, Unix, Linux vs.)

ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

BİLGİSAYARLARIN YAPISI

Bir bilgisayar sistemi donanım ve yazılım olmak üzere iki bölümden oluşur.

Donanım (Hardware): Bilgisayarın fiziksel ve elektronik yapısını oluşturan ana ve çevre birimlerinin tümüne donanım denir. Donanım birimleri görev alanlarına göre 3 gruba ayrılır. Giriş birimleri (klavye, fare vb.), çıkış birimleri (ekran, yazıcı, çizici, hoparlör vb.) ve merkezi işlem ve bellek ünitesi (anakart, merkezi işlemci, harddisk, RAM vb.)

Donanım

Yazılım (Software): Donanım birimlerini istenen işlere yöneltip bir çalışma düzeni içerisinde kullanabilmek için gerekli tüm programlardan ve veri yapılarından oluşur.

Yazılım

Giriş Birimleri

Bellek Birimleri

İletişim(Uzak, yerel)

Merkezi İşlem Ünitesi

İletişim(Uzak, Yerel)

Çıkış Birimleri

1

İşletim Sistemi(MS-DOS, Windows, Unix, Linux vs.)

Programlama Dilleri(BASIC, Fortran, C, Pascal, Java vs.)

Uygulama Programları(Word, Excel, Autocad vs.)

Page 2: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Veri ve Bilgi Kavramları

Veri, bir konuda gözlemler veya faaliyetler sonucu ortaya çıkan gerçeklerdir. Örneğin, hava sıcaklığının gözlenmesi sonucu elde edilen değerler, sıcaklık verileridir veya bir sınıftaki öğrencilerin herhangi bir dersten aldıkları notlar, not verileridir.

Bilgi, verilerin işlenmesi sonucu ortaya çıkan toplam değere veya faydaya denir. Örneğin, sıcaklık verilerinin ortalaması alınarak o bölgenin ortalama sıcaklığı hesaplanır veya sıcaklık verileri daha başka işlemlere tabi tutularak o bölgenin iklimi hakkında bilgi sahibi olunur. Benzer şekilde not verilerinin işlenmesi sonucu sınıfın başarısı hakkında bilgi sahibi olunur.

Bir Problemin Bilgisayarla Çözülebilmesi İçin:

Problem iyi tanımlanabilmeli ve bütün ayrıntıları ile önceden bilinmeli Problemi çözebilmek için bir sayısal hesap yöntemi bilinmeli Problem, çözümde kullanılacak programın ve bilgisayarın özelliklerine

uymalı Bilgisayarla çözüm diğer çözümlerden daha güvenilir ve ekonomik

olmalıdır. Yukarıdaki koşulları sağlayan her problem bilgisayarla çözülebilir.

Programlamanın aşamaları şunlardır:

Algoritma (hesap düzeni) Akış diyagramı Kodlama Programın kontrolü (sınama) Çıktılar ve yorumlanması Programın yeni koşullara göre geliştirilmesi (güncelleme)

Verilerİşlem süreci(Bilgi İşlem)

Bilgi

2

Page 3: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

ALGORİTMA GELİŞTİRME

VE

BASIC PROGRAMLAMA DİLİ

A – Programlamaya Giriş

1- Program

Program, belirli bir işlemi gerçekleştirmek için bilgisayara iletilen komutlar

dizisidir.

2- Programlama dilleri

Programlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

yarayan araçtır. Programlama dillerinin komutları İngilizce kelimelerdir.

Örneğin; ekrana yazı yazdırmak için BASIC’te Print, Pascal’da Writeln, C’de

Printf komutları kullanılır.

Programlama dilleri üç gruba ayrılır:

Düşük düzeyli diller: Makine dilleridir (ASSEMBLY)

Orta düzeyli diller: Makine dillerine yakın dillerdir (C)

Yüksek düzeyli diller: Konuşma diline yakın dillerdir. (BASIC,

FORTRAN vb.)

Yüksek düzeyli dillerde yazılan bir program derleyici (compiler) adı verilen bir

program ile makine diline çevrilir. Bu işleme derleme (compile) adı verilir.

3

Page 4: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

3- İşlemler

a) Matematik İşlemler: Bilgisayarda en çok kullanılan işlemlerdir.

Matematik işlemlerin bilgisayar programlarındaki karşılıkları

İşlem Matematik Bilgisayar

Toplama a + b a + b

Çıkarma a - b a - b

Çarpma a . b a * b

Bölme a ÷ b a / b

Üs alma ab a ^ b

İşlem öncelik sıraları önemlidir ve matematiksel işlemler programa aktarılırken

öncelik sıralarına dikkat edilmelidir. İşlem sıralamasında yapılan hata derleyici

tarafından fark edilemeyeceği için sonucun yanlış çıkmasına neden olur.

Aşağıdaki tabloda işlem öncelik sıraları görülmektedir.

Öncelik

Sırasıİşlem Bilgisayar

1 Parantezler ((………))

2 Üs alma a ^ b

3 Çarpma ve bölme a * b ve a / b

4 Toplama ve çıkarma a + b ve a – b

Aynı önceliğe sahip işlemler soldan sağa doğru yapılır.

Matematik gösterim Programda gösterim (kodlama)a + b – c + 2abc - 7 a + b – c + 2 * a * b * c -7

a + b2 – c3 a + b ^ 2 – c ^ 3

a – b / c + 2 * a * c – 2 / (a + b)

(a + b) ^ (1 / 2) – 2 * a * b / (b ^ 2 – 4 * a * c)

4

Page 5: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

(a + b - c) / (a ^ 2 + b ^ 3) ^ (1 / 2) –

2 * (a * b + a * c + b * c) / 9

(a ^ 2 + b ^ 2) ^ (1 / 3) + a * b * c / (a + b / (c – b /

a ^ 3)^(1 / 2))

((a - b) ^ (1 / 5)/(a + b – c / (a * b)) ^ (1 / 4)) ^ 1 /

3)

+1 / (1 + 1/ (1 + 1 / (a * b * c)) ^ (1 / 2)) ^ (1 / 2)

Örnek: a=9 ve b=6 için

İfade Matematik eşdeğeri Sonuç

a + b ^ 1 / 2 12

a + b ^ (1 / 2) 11.449

(a + b) ^ 1 / 2 7.5

(a + b) ^ (1 / 2) 3.873

b) Karşılaştırma İşlemleri: İki değerin birbirine göre büyüklük,

küçüklük veya eşitlik durumlarını işlemlerdir.

İşlem sembolü Anlamı

= Eşittir

< > veya > < Eşit değildir

> Büyüktür

< Küçüktür

> = veya = > Büyük eşittir

< = veya = < Küçük eşittir

5

Page 6: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

c) Mantıksal İşlemler: Mantıksal işlem operatörleri, hem

karşılaştırma hem de matematik işlemlerde kullanılır. Karşılaştırma

ifadelerinde birden fazla koşulun sağlanması istenebilir.

Mantıksal İşlem Komut

VE AND

VEYA OR

DEĞİL NOT

“VE” işleminde bütün koşullar doğru ise sonuç doğrudur. “VEYA”

işleminde koşullardan biri doğru ise sonuç doğrudur. Bütün şartların sağlanması

isteniyorsa “VE”, şartların herhangi birinin sağlanması isteniyorsa “VEYA” ve

koşulu sağlamayanlar isteniyorsa “DEĞİL” operatörü kullanılır.

Mantıksal işlemlerde de matematiksel işlemlerde olduğu gibi işlem öncelik

sıraları vardır.

Sıra İşlem Komut

1 Parantez içindeki

işlemler

(…..)

2 DEĞİL NOT

3 VE AND

4 VEYA OR

6

Page 7: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

ALGORİTMA GELİŞTİRME

Bir problemin çözümünde izlenecek olan adımlar algoritma olarak adlandırılır.

Algoritmanın özel şekillerle gösterilmesine akış diyagramı denir.

Problemin algoritması hazırlanabiliyorsa bu problem bütün programlama

dillerinde yazılabilir.

Program yazarken izlenecek yol:

a. Programın algoritması hazırlanır, istenirse akış diyagramı çizilir.

b. Algoritma, herhangi bir programlama diliyle yazılır. (Kodlama)

c. Program çalıştırılır. (Run)

d. Derleyicinin belirttiği hatalar düzeltilir. (Syntax Error)

e. Program deneme verileriyle çalıştırılır. Böylece derleyicinin

bulamadığı hatalar yakalanmaya çalışılır. (Debug)

Algoritmalarda Kullanılan Özel Terimler

Değişken: Programın değişik aşamalarında farklı değerler alabilen bilgi

alanlarıdır. Değişken isimlendirmesinde temsil ettiği ifadeyi çağrıştıracak

şekilde olması programın anlaşılırlığını arttırır. Örneğin öğrencilerin ismi için

“ad”, “adsoyad”, “isim”; öğrencilerin aldığı notlar için “vize”, “final” gibi

değişken isimleri uygun olabilir.

Değişken İsimlerinde:

a. İngiliz alfabesinin harfleri kullanılır.

b. 0 – 9 arası rakamlar kullanılabilir.

c. Alt çizgi ( _ ) karakteri dışında özel işaretler kullanılmaz.

d. Değişken isimleri mutlaka harf ile başlamalıdır.

7

Page 8: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Örneğin öğrencilerin 1. vize notu için “1.VİZE” hatalı bir değişken ismidir,

doğrusu “VIZE_1” olabilir.

Aktarma: Bir değişkene değer aktarılması işlemidir.

Değişken İsmi = Değer

Eşitliğin sağ tarafındaki “değer” matematiksel, mantıksal veya karakter bir ifade

olabilir. Aktarma operatörü “ = “ ile ifadenin değeri değişkene aktarılır. Eğer

değişkene yeni bir değer aktarılırsa eski değer silinir.

Sayaç: Değişkene başka bir değer aktarıldığında eski değerin silinmesi

prensibine göre değişkenin değerinin düzenli olarak artması veya azalması

işlemine sayaç denir.

Yeni Sayaç Değeri = Eski Sayaç Değeri ± Artım

Örnek:

X = X + 3 (üçer üçer artan bir sayaç)

S = S – 5 (beşer beşer azalan bir sayaç)

Sayaç oluşturulurken, sayaç değişkenine bir başlangıç değeri verilir. BASIC

dilinde başlangıç değeri verilmemesi durumunda 0 olur.

8

Page 9: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Örnek: Aşağıdaki algoritmada 1 ve 5 arasındaki sayılar ekrana

yazdırılmaktadır.

1- Başla

2- S = 0

3- Eğer S = 5 ise git 7

4- S = S + 1

5- Yaz S

6- Git 3

7- Dur

Eski S Yeni S Ekran

0 0+1=1 1

1 1+1=2 2

2 2+1=3 3

3 3+1=4 4

4 4+1=5 5

Ardışık Toplama: Başlangıç değeri 0 ve artım değeri düzensiz olan bir sayaçtır.

Yeni Toplam Değeri = Eski Toplam Değeri + Sayı

Örnek: 5 sayıdan oluşan bir dizinin ortalaması probleminin algoritması

gösterilmektedir.

1. Başla

2. Toplam = 0

3. S = 0

4. EĞER S = 5 ise GİT 9

5. S = S + 1

6. Sayı GİR

7. Toplam = Toplam + Sayı

8. GİT 4

9. Ortalama = Toplam / S

10. YAZ Ortalama

11. DUR

Eski

S

Yeni

S

Sayı Eski

Toplam

Yeni

Toplam

0 0+1=1 7 0 0+7=7

1 1+1=2 3 7 7+3=10

2 2+1=3 45 10 10+45=55

3 3+1=4 32 55 55+32=87

4 4+1=5 8 87 87+8=95

Ortalama = 95 / 5 = 19

9

Page 10: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Ardışık Çarpma: Başlangıç değeri 1 olan çarpım sayacıdır.

Yeni Çarpım Değeri = Eski Çarpım Değeri * Sayı

Örnek: 5 faktöryeli ( 5! ) hesaplayan algoritmayı yazınız.

1. Başla

2. Faktor = 1

3. S = 0

4. EĞER S = 5 ise GİT 8

5. S = S + 1

6. Faktor = Faktor * S

7. GİT 4

8. YAZ Faktor

9. DUR

Eski

S

Yeni

S

Eski

Faktor

Yeni

Faktor

0 0+1=1 1 1*1=1

1 1+1=2 1 1*2=2

2 2+1=3 2 2*3=6

3 3+1=4 6 6*4=24

4 4+1=5 24 24*5=120

AKIŞ DİYAGRAMLARI

10

Page 11: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Algoritmanın özel şekillerle çizilmesi “akış diyagramı” olarak adlandırılır.

İşlem Şekil

Başla / Dur

Veri girişi

Atama

Döngü

Karar

Çıktı, Yazdırma

Bağlantı

İşlem akış yönü

BASIC PROGRAMLAMA DİLİ

11

Page 12: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

BASIC kelimesi, “Beginner’s All-Purpose Symbolic Instruction Code” (Yeni Başlayanlar İçin Tüm Amaçlara Yönelik Sembolik Öğretim Kodu) kelimelerinin baş harflerinden üretilmiştir. 1964 yılında geliştirilmiştir. Bilgisayarda işlenen veriler iki çeşittir. Sayısal (nümerik) ve karakter (alfanümerik). Sayısal veriler, sayısal bir değeri olan tamsayılar, ondalıklı sayılar vb. gibi verilerdir. Karakter veriler ise sayısal değeri olmayan harfler, kelimeler ve diğer karakterlerdir.

BASIC Dilinde Kullanılan Değişken Türleri:

BASIC’te işlenen bilgileri temsil eden değişkenlerin yanına yazılan sembollerle bilgi tipi belirtilir.

Değişken Türü Belirtme SembolüTamsayı %Tek duyarlıklı ondalık sayı !Çift duyarlıklı ondalık sayı #Karakter $

BASIC dilinde tamsayılar -32768 ile 32767 arasında bir değer alır. Tek ve çift duyarlıklı ondalık sayılar -1.7E38 ve 1.7E38 aralığında olabilirler. Tek duyarlıklı sayı da anlamlı basamak sayısı 7 veya daha az; çift duyarlıklı sayıda ise anlamlı basamak sayısı 8 ile 18 arasındadır. Aşağıda tek ve çift duyarlıklı sayılara örnekler verilmiştir.

Tek duyarlıklı: 23.29456, -1.234567, -2.34567E-3, 1756.345! Çift duyarlıklı: 1.2345678901234567, -1.432D-12, 3.141592654#, 56#

Tek duyarlıklı sayılar için ( ! ) belirteci kullanılmayabilir. Programın başında, programda kullanılacak değişkenlerin türü belirtilirse her seferinde tür belirteci kullanılmayabilir.

DEFSTR Karakter tür belirteciDEFINT Tamsayı tür belirteciDEFSNG Tek duyarlıklı ondalık sayı tür belirteciDEFDBL Çift duyarlıklı ondalık sayı tür belirteci

Karakter değişkenler için değişken isminden sonra ( $ ) belirteci konur ve karakter tırnak (“ “ ) içinde yazılır. Örneğin; isim$ = “Ali” gibi.

BASIC’teki Veri Giriş Komutları

12

Page 13: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

1. INPUT

Programın çalışması sırasında klavyeden programa veri girilmesini sağlar.

INPUT değişken1, değişken2, ……..

INPUT “mesaj”, değişken1, ….

Örnek:

……..INPUT aINPUT “b ve c sayılarını giriniz”, b, cd=a+b+c…….

INPUT komutundan sonra girilen değişken değeri ile istenen değişken türü aynı olmalıdır.

Örnek:………INPUT “bir sayı giriniz”, aPRINT “girilen sayının karesi=”; a^2……..

Bu örnekte eğer a için bir karakter girilirse hata mesajı alınır.

Örnek:……..INPUT “iki sayı giriniz”, a$,b$PRINT “girilen sayıların toplamı=”;a$+b$…………

Burada 5 ve 6 değerleri a$ ve b$ için girilirse program a ve b birer karakter değişken olduğu için onları sayı olarak değil sadece karakter olarak algılar ve 11 yerine 56 sonucunu verir. Buradaki + operatörü toplama işlemi yerine karakterleri birleştirme işlemini yapar.

13

Page 14: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

2. READ-DATA VE RESTORE

Değişkenlere program içinden bilgi girilmesini sağlar. “READ” deyiminden sonra girilen değişkenlerin değerleri “DATA” deyiminden sonra sırayla girilir.

READ değişken 1, değişken 2, …..DATA değişken 1, değişken 2, …..

READ deyimleri ile istenen veri sayısı ile DATA deyimleri ile girilen veri sayısı eşit olmalıdır.

Eğer READ deyiminden sonra verilen yeni değişkenlere de DATA’daki eski değerler verilmek isteniyorsa RESTORE komutu kullanılır.

READ A, BRESTORE 50READ C, DPRINT A, B, C, D50 DATA 3, 11

Programı sonucunda elde edilen çıktı: 3 11 3 11 şeklinde olur. Böylece READ deyimleriyle istenen veri sayısı DATA deyimiyle girilenlerden daha fazla olduğu halde hata mesajıyla karşılaşılmaz.

BASIC’teki Çıkış/Yazdırma Komutları

1. PRINT

Değişken değerlerinin ekrana yazılmasını sağlar.

PRINT değişken PRINT “mesaj” değişken

Birden fazla değişken ( , ) veya ( ; ) kullanılarak ayrılır. BASIC derleyicileri 40 veya 80 karakter genişliğindeki ekranı 14 , 15 karakterlik sütunlara böler. Ayraç olarak ( , ) kullanılırsa değerler sütun başlarından başlayarak yazılır. Ayraç olarak ( ; ) kullanılırsa değerler bitişik olarak yazılır.

2. PRINT USING

14

Page 15: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Ekranda veya yazıcıda düzenli (formatlı) gösterim sağlar.

PRINT USING “Alan tanımlayıcı” ; Değişken ListesiAlan tanımlayıcıları çıktının hangi düzende olacağını belirtir. Karakter ve sayısal değerler için farklı alan tanımlayıcıları vardır.

a) Karakter Alan Tanımlayıcıları

! : Değişken listesinde yer alan ifadelerin sadece ilk karakterlerinin yazılmasını sağlar.

READ A$, B$, C$PRINT USING “!”;A$, B$, C$DATA İstanbul, Teknik, Üniversitesi

Ekranda İTÜ görünür.

\ n tane boşluk \ : Değişken listesindeki karakterlerin (n+2) kısmını yazar.

b) Sayısal Alan Tanımlayıcıları

# : Sayının basamaklarının yerini tanımlar. Eğer tanımlanan alan değerden büyükse değer sağa dayalı olarak yazılır. Tanımlanan alan değerden küçükse değerin önüne % işareti belirir.

. : Yazdırılacak sayının ondalık kısmını ayırmak için kullanılır.

** : Tanımlanan alan değişken değerinden büyük ise bu boşlukların yıldızlarla doldurulmasını sağlar. Ayrıca iki karakterlik ek alan oluşturur.

PRINT USING "**##.###";a,b

$$ : Yazdırılacak değerlerin başına ( $ ) işaretinin yazılmasını sağlar. Ayrıca iki karakterlik ek alan oluşturur.

**$ : Sayıların başına ( $ ) işaretinin yazılmasını ve boşlukların ( * ) dolmasını sağlar. Üç karakterlik ek alan oluşturur.

, : Tam kısım ile ondalıklı kısmı ayıran noktanın hemen önünde yer alan ( , ) işareti yazdırılacak rakamların üçer hane virgülle ayrılmasını sağlar. ^^^^ : Yazdırılacak sayının üstel formda yazılmasını sağlar. Alan tanımlayıcısından sonra yazılır.

15

Page 16: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

BASIC’teki Döngü Komutları

1. FOR-NEXT

FOR Kontrol değişkeni = Başlangıç TO Bitiş STEP Artım…………………………NEXT Kontrol değişkeni

Eğer artım 1’er 1’er olacaksa STEP komutuna gerek yoktur. NEXT deyiminden sonra kontrol değişkeni yazılmayabilir. İç içe açılan döngüler birbirini kesmemelidir.

2. WHILE-WEND

WHILE … koşul….…………………………………………WENDKoşul sağlandığı sürece döngü devam eder.

BASIC’teki Karar Komutları

1. IF-THEN

IF’ den sonra yazılan koşul doğru ise THEN’ den sonraki işlem yapılır.

IF …koşul…THEN ….işlem…

Örnek:

INPUT “İki sayı giriniz”, a , bIF a > b THEN PRINT “a > b”IF a = b THEN PRINT “a = b”IF a < b THEN PRINT “a < b”END

2. IF – THEN – ELSE

16

Page 17: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

IF – THEN komutunda koşul sağlanmadığı zaman program bir alt satırdan devam ediyordu. Ancak ELSE komutu ile koşul sağlanmadığı zaman yapılacak işlem belirtilebilir.

IF …koşul… THEN …koşul sağlanırsa yapılacak işlem… ELSE … koşul sağlanmayınca yapılacak işlem …

Örnek:

INPUT “iki sayı giriniz” , a , bIF a < b THEN PRINT “a < b” ELSE PRINT “a = b veya a > b”

3. IF – THEN - ELSE IF – THEN – ELSE

Eğer ikiden fazla koşul varsa bu yapı kullanılabilir.

IF …koşul 1… THEN …koşul 1 sağlanırsa yapılacak işlem… ELSE IF …koşul 2 … THEN …koşul 2 sağlanırsa yapılacak işlem… ELSE …tüm koşullar yanlış ise yapılacak işlem

Örnek:

INPUT “iki sayı giriniz”, a, bIF a > b THEN PRINT “a > b” ELSE IF a = b THEN PRINT “a = b” ELSE PRINT “a < b”END

Bazı Matematik Fonksiyonların BASIC Karşılıkları

17

Page 18: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Matematiksel Fonksiyon BASIC Karşılığı|x| ABS(x)

SQR(x)sgn(x)x > 0 ise sgn(x) = 1x = 0 ise sgn(x) = 0x < 0 ise sgn(x) = -1

SGN(x)

ex EXP(x)Ln(x) LOG(x)Log(x) LOG(x)/LOG(10)Sin(x) SIN(x)Cos(x) COS(x)Tan(x) TAN(x)Cotan(x) 1 / TAN(x)Arctan(x) ATN(x)Arcsin(x) ATN(x / SQR(1 – x * x))Arccos(x) 1.570796 - ATN(x / SQR(1 – x * x))Arccotg(x) 1.570796 – ATN(x)Sinh (x) (EXP(x) – EXP(-x)) / 2Cosh(x) (EXP(x) + EXP(-x)) / 2Tanh(x) (EXP(x) – EXP(-x)) / (EXP(x) + EXP(-x))Coth(x) (EXP(x) + EXP(-x)) / (EXP(x) - EXP(-x))Arcsinh(x) LOG(x + SQR(x * x + 1))Arccosh(x) LOG(x + SQR(x * x - 1))Arctanh(x) LOG((1 + x) / (1 – x)) / 2Arccotanh(x) LOG((1 + x) / (x – 1)) / 2x sayısını en yakın küçük tam sayıya yuvarlar

INT(x) INT(2.51) = 2 INT(-3.4) = -4

x sayısını en yakın tam sayıya yuvarlar

CINT(x) CINT(2.51) = 3 CINT(-3.4) = -3

X sayısının ondalık kısmını atar FIX(x) FIX(2.51) = 2 FIX(-3.4) = -3

0 ile 1 arasında rasgele bir sayı üretir

RND(x)

BASIC’teki Bazı Karakter Fonksiyonlar

18

Page 19: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Fonksiyon İşlevi ÖrneklerRIGHT$(A$,n) A$ değişkeninde sağdan

başlayarak n karakter alır.RIGHT$(“pamukkale”,4) =”kale”

LEFT$(A$,n) A$ değişkeninde soldan başlayarak n karakter alır.

LEFT$(“pamukkale”,5)=”pamuk”

MID$(A$,m,n) A$ değişkeninde m. karakterden başlayarak m. dahil n karakter alır.

MID$(“pamukkale”,5,2)= ”kk”

LEN(A$) A$ karakter sayısını bulur. LEN(“pamukkale”) = 9SPACE$(n) n adet boşluk koyarSTRING$(n,m) ASCII kodu m olan n

uzunluğunda bir karakter dizi oluşturur.

STRING$(5,80) = ”PPPPP”

STRING$(n,A$) A$ değişkeninin ilk karakteri ile n uzunluğunda bir dizgi oluşturur.

STRING$(5,”inşaat”) = ”iiiii”

UCASE$(A$) A$ değişkeninin tüm harflerini büyük harf yapar

UCASE$(“Pamukkale”)=”PAMUKKALE”

TAB(x) PRINT deyimi ile birlikte kullanılır. Kendinden sonra gelen bilginin ilk karakteri x’inci kolona gelecek şekilde basılmasını veya kayıt yapılmasını sağlar.

PRINT TAB(5);”İnşaat”= İnşaat

SPC(x) PRINT deyimi ile birlikte kullanılır, yazımı istenen iki değişken arasında x boşluk bırakır.

PRINT “A”; SPC(5);”B”=A B

DATE$ Sistem tarihini verir PRINT DATE$= 03-21-2003TIME$ Sistem saatini verir PRINT TIME$= 16:14:18ASC(A$) A$ karakterinin ASCII

kodunu verirASC(“P”)= 80

CHR$(x) ASCII kodu x olan karakteri verir

CHR$(80)= “P”

ASCII: American Standard Code for Information Interchange (Bilgi Değişimi için Standart Amerikan Kodu) 0'dan 255'e kadar toplam 256 (28) karakter.

19

Page 20: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

ALT SIRALI (İNDİSLİ) DEĞİŞKENLER

20

Page 21: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Bir değişkene değer atandığında, bu değer ilgili değişken ismi altında bellekte saklanmakta ve program içinde işlem görmektedir. Aynı değişkene başka bir değer atandığında eski değer silinmektedir. Aynı değişkenin önceki değerlerini saklamanın yolu değişkeni alt sıralı tanımlamaktır.

DIM DEYİMİ

Alt sıralı değişkene bilgisayar belleğinde yer ayırmak için kullanılır.

DIM Değişken(indis1, indis2, …. indisN)

DIM vize(20)

Burada vize değişkenine 0'dan başlayarak 21 tane yer ayrılır. Ancak indisler genellikle 1 den başladığı için

OPTION BASE 1

komutu ile 1'den başlar ve 20 yer ayrılır. Option Base komutu unutulursa bellekte indisli değişkenler için 1 yer fazladan ayrılmış olur.

Basic’te DIM ifadesi tanımlanmadan altsıralı değişken kullanılırsa indisin alabileceği maksimum değer 10'dur.

Bir değişkene DIM deyimiyle atanandan daha büyük indis kullanılırsa indis sınır dışı" (subscript out of range) hata mesajıyla karşılaşılır.

DIM deyimiyle değişken için ayrılan yer eleman sayısından fazla ise hata olmaz ancak bellekte gereksiz yer işgal edilmiş olur.

OPTION BASE 1DIM x(8)x(1)=5x(2)=8x(3)=12x(4)=20PRINT x(2)END

Ekranda 8 görülür.

KURALLAR:

21

X(1) X(2) X(3) X(4) X(5) X(6) X(7) X(8)5 8 12 20

Page 22: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

1- Bir değişken en çok 255 indisli olabilir.2- Bir indis en çok 32767 değerini alabilir.3- İndis değerleri ondalık veya tamsayı olabilir. Ondalık sayılar ifadeler

tamsayıya yuvarlanarak indis değeri belirlenir.

Alt sıralı/indisli Matematik İfade BASIC Karşılığıai,j A(I;J)yk Y(K)xi-k+1 X(I-K+1)yk=xk-1+3xk+xk+1 Y(K)=X(K-1)+3*X(K)+X(K+1)

BASIC’te Alt Programlar

Bir programın sık tekrarlanan bölümleri programı sadeleştirmek için ana programdan ayrılarak alt program adı altında program parçaları oluşturulur. Alt programlarla çalışılması ana programın daha kısa oluşmasına neden olmaktadır. Ayrıca, genel amaçlı hazırlanmış alt programların, başka kullanıcılar tarafından kullanılması da mümkündür.

BASIC programlama dilinde, kullanıcı tarafından DEF FN deyimiyle tanımlanmış fonksiyonlar ve GOSUB deyimiyle çağrılan alt programlar bu amaçla kullanılır.

DEF FN fonksiyon ismi (değişken listesi) = fonksiyon

Fonksiyon programın başında tanımlanır ve gerektiği zaman programın herhangi bir yerinde sadece ismi ve gerekli değişkenleri verilerek kullanılır.

Örnek:

REM silindir hacmipi=3.14159DEF FNhacim(D , H) = pi * D ^ 2 * H / 4………………………………….D1=…….V1=FNhacim(D1,2)D2=……V2=FNhacim(D2,2)PRINT V1, V2……………….

22

Page 23: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

Eğer tekrarlanan işlemler bir fonksiyondan daha büyük ise alt programlar kullanılır. Alt programa GOSUB n deyimi ile gidilir. Burada n alt programın ilk satırının numarasıdır. Alt programın sonundaki RETURN komutu ile GOSUB komutunun altından program işleyişi devam eder.

………….GOSUB n………….………….ENDn ……….……………………RETURN

Ana program için geçerli olan tüm kurallar alt program için de geçerlidir. Değişkenler ortak olarak kullanılmaktadır. Yani bir değişkenin değeri hem ana hem de alt programda aynıdır. Bir ana programda birden fazla alt program olabileceği gibi bir alt programın içinde de başka bir alt program olabilir.

QBASIC'te program listesi dışında da alt program yazılabilmektedir. Edit menüsünden New Sub komutu seçilerek yeni bir alt program oluşturulabilir.

DECLARE SUB Komutu:

Program listesi dışında yazılmış alt program olduğunu ve bunlarla ilgili değişkenleri belirtir. Programcı tarafından yazılmazsa derleyici tarafından program listesine eklenir.DECLARE SUB Alt program ismi (değişken 1, değişken 2, …)

CALL Komutu:

Ayrı yazılan alt programları program içinde çağırmak için kullanılır. DECLARE komutunda belirtilen değişkenlerin tamamı CALL komutunda bulunmalıdır.

CALL Alt program ismi (Değişken 1, Değişken 2, ……)

CALL deyimi ve parantezler kullanılmayabilir.

Alt program ismi Değişken 1, Değişken 2, …..

23

Page 24: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

COMMON SHARED Komutu:

Ayrı yazılan alt programlarda kullanılan parametrelerin değerlerinin ortak kullanıldığını belirtir. Genellikle ana programın ilk satırlarına yazılır.

COMMON SHARED Değişken 1, Değişken2, ….

EXIT SUB Komutu:

Ayrı yazılan bir alt program END SUB komutuyla sona eriyordu ve ana program CALL komutunun altından devam ediyordu. EXIT SUB komutuyla alt program tamamlanmadan ana programa dönülebilir.

BASIC’te Dosya (Kütük) İşlemleri

Veri giriş ve çıkışları için kullandığımız INPUT ve PRINT komutları klavyeden girilen veriyi okuyup, sonuçları ekrana yazıyordu; ancak büyük hacimli veriler söz konusu olduğunda, programın her çalışmasında bunların klavyede yazılıp sonra da sonuçların ekrandan alınması zor olmaktadır. Böyle durumlarda verilerin daha önceden açılmış dosyalardan okutulup, elde edilen sonuçların da yine başka dosyalara yazdırılması daha uygun olmaktadır.

OPEN “kütük ismi” FOR INPUT AS # dosya no OUTPUT APPEND…………..………….CLOSE # dosya no

Dosyadan veriler okunurken

INPUT # dosya no, değişken1, değişken 2

Sonuçlar dosyaya yazdırılırken

PRINT #dosya no, değişken1, değişken2

Formatlı yazdırmada

PRINT # dosya no , USING “… Alan tanımlayıcı…” ; … Değişken Listesi …

Örnek:

24

Page 25: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

OPEN “veri.dat” FOR INPUT AS #1 OPEN "I", #1, "veri.dat"OPEN “sonuc.cık” FOR OUTPUT AS #2 OPEN "O", #2, "sonuc.cık" INPUT #1, a,bc=a+bPRINT #2, c

OPEN " O " , # kütük no, "kütük ismi" " I " " A "

Program her çalıştırıldığında çıktı kütüğü yeniden yazılır ve eski bilgiler kaybolur bunu önlemek için OUTPUT kütüğü yerine APPEND kütüğü açılmalıdır.

Kütüklerin Kapatılması

OPEN komutu ile açılan kütüklere ilişkin işlemler tamamlandıktan sonra bunların program içinde kapatılmaları gerekmektedir.

CLOSE #kütük no, #kütük no, ……

CLOSE komutundan sonra kütük ismi ve kütük numarası arasındaki ilişki ortadan kalkar. Bir kütük kapandıktan sonra onunla ilgili işlem yapılamaz. Kütük daha sonra aynı veya farklı kütük numarasıyla ve farklı kütük tipiyle açılabilir. CLOSE ifadesinde kütük numarası belirtilmezse açılan bütün kütükler kapatılır.

Kütüklerin Durumlarının Elde Edilmesi

Bir kütüğün durumu hakkında, yani bir okuma işlemi sırasında kütüğün sonuna gelinip gelinmediğinin veya program içerisinde açılan kütüklerden kaç kayıt okunduğunun veya kaç kayıt yazıldığının veya kütüğün kaç kayıttan oluştuğunun bilinmesi isteniyorsa

LOF fonksiyonu, çalışılan kütüğün uzunluğunu byte cinsinden verir.LOC fonksiyonu, kütüğün açılmasından itibaren kütükten okunan veya yazılan kayıt sayısını verir

IF LOC(1) > 30 THEN STOP (1 numaralı kütükte 30 ncu kayıt geçildiğinde program durdurulmaktadır.)

25

Page 26: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

EOF fonksiyonu, bir kütüğün sonuna erişilip erişilmediğinin kontrol edilmesinde kullanılır.

IF EOF(1) THEN CLOSE #1 (1 numaralı kütüğün sonuna erişildiğinde kütük kapatılmaktadır.)

BASIC' DE ÇİZİM KOMUTLARI

SCREEN Komutu:

SCREEN komutu ekran çözünürlüğünü değiştirerek çizim için uygun ortamı sağlar. Çünkü yazı yazmak için daha az çözünürlük yeterli olmaktadır ve QBASIC varsayılan ortam olarak metin (text) ortamını kabul eder. Ekrandaki görüntü noktaların birleşiminden oluşur. Bu noktalara piksel denir. Çözünürlüğün artması demek ekrandaki piksel sayısının artması demektir.

SCREEN Mod

Mod Tanım0 Yazı modu, grafik çizilemez1 320 x 200 piksel, 4 renk, 25 satır 40 kolon2 640 x 200 piksel, 2 renk (siyah, beyaz), 25 satır 80 kolon7 320 x 200 piksel, 16 renk, 25 satır 40 kolon8 640 x 200 piksel, 16 renk, 25 satır 80 kolon9 640 x 350 piksel, 16 renk10 640 x 350 piksel, 9 gri ton11 640 x 480 piksel, 2 renk12 640 x 480 piksel, 16 renk13 320 x 200 piksel, 256 renk, 25 satır 40 kolon

Grafik kartımıza uymayan SCREEN Mod'ları "Illegal Function Call" hata mesajı verir. Bu durumda başka bir mod denenir.

26

Page 27: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

PSET (Pixel Set) Komutu:

Bu komut ile ekrandaki herhangi bir yere nokta koyabiliriz.

PSET (x,y), Renk No

Renk No Renk Renk No Renk0 Siyah 8 Koyu gri1 Lacivert 9 Mavi2 Yeşil 10 Parlak yeşil3 Açık mavi 11 Parlak mavi4 Kırmızı 12 Parlak kırmızı5 Pembe 13 Parlak pembe6 Kahverengi 14 Sarı7 Açık gri 15 Beyaz

LINE Komutu:

Çizgi çizmek için kullanılır. (x1,y1) ve (x2,y2) noktaları arasında bir çizgi çizmek için

LINE (x1,y1)-(x2,y2), Renk no

Köşegeni (x1,y1) ve (x2,y2) noktaları olan bir dikdörtgen çizdirmek için

LINE (x1,y1)-(x2,y2), Renk no, B (Box)

Bu kutuyu doldurmak için

LINE (x1,y1)-(x2,y2), Renk no, BF (Box Fill)

Screen 13

(0,0) (320,0)

(320,200)(0,200)

( x )

( y )

27

Page 28: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

CIRCLE Komutu:

Çember çizmek için kullanılır. Merkezi (x,y) yarıçapı R olan bir çemberi çizdirmek için

CIRCLE (x,y), R, Renk No

Bir çemberin tamamını değil de bir kısmını çizdirmek için renk parametresinden sonra -2 ve 2 arasında değişen başlangıç ve bitiş parametreleri kullanılır.

CIRCLE (x,y), R, Renk No, Başlangıç, Bitiş

Çemberin yatay ve dikey koordinatlarının birbirine oranını belirleyerek çemberi elips şekline dönüştürmek te mümkündür.

CIRCLE (x,y), R, Renk No, Başlangıç, Bitiş, Yatay/Düşey

Arada girilmek istenmeyen değerler boş bırakılır. Virgüller konur.

PAINT Komutu:

Ekran üzerinde belirtilen bir noktadan başlayarak ekranı belirtilen renge boyar. Kapalı bir alanla karşılaşıncaya kadar bu işlem sürer.

PAINT (x,y), Renk No

CIRCLE (100,100),75,4 PAINT (100,100),4 (Çemberin içini boyar) PAINT(200,200),4 (Çemberin dışını boyar)

BASIC'te SES KOMUTLARI

BEEP Komutu:

Programların gerekli yerlerinde bazen sesle uyarı vermek gerekebilir. BEEP komutu belirli bir tonda ve standart uzunlukta zil sesi çıkarır. Komutun kullanım parametresi yoktur.

SOUND Komutu:

BEEP komutu hep aynı sesi çıkardığı için farklı uyarı mesajları için yeterli olmayabilir. SOUND komutu iki parametreyle kullanılır. Birincisi frekansı, ikincisi ise uzunluğu verir.

28

Page 29: ALGORİTMA GELİŞTİRME VE BASIC …ackoc.pamukkale.edu.tr/ackoc_dosyalar/ALGOR%DDTMA%20G… · Web viewProgramlama dili, programcı ile bilgisayar arasındaki iletişimi sağlamaya

SOUND frekans, uzunluk

Frekans parametresi 37 ile 32767 arasında değişebilse de 14000 den yüksek frekanslı sesler insan kulağı tarafından duyulamaz.

SLEEP Komutu:

Programın belirtilen sürede veya bir tuşa basılıncaya kadar durmasını sağlar.

SLEEP Zaman

Burada zaman saniye cinsinden bir tamsayıdır. Zaman belirtilmezse bir tuşa basılıncaya kadar bekler.

29