PROGRAMLAMA
Programlama Nedir? Bir iĢi yapmak için gerekli iĢlemlerin tespit edilmesi,
tanımlanması ve bu iĢlerin sırasının bilinmesidir.
Programlama Basamakları:
1- Problemi Tanıma: Programın programcı tarafından çok iyi
anlaĢılması ve tanıması gerekir Bu adımda problemi
anlayamamaktan doğacak küçük bir yanlıĢlık etkisini diğer
adımlarda da gösterecektir.
2- Algoritma GeliĢtirme: Algoritma bir problemin çözümü için
izlenecek yolun basamaklandırılmasıdır.
3- AkıĢ diyagramları hazırlama: Algoritmanın Ģekillerle gösterilmesidir.
Bu Ģekiller program geliĢtirme araçları ve ihtiyaçlar geliĢtikçe
değiĢmektedir. Artık AkıĢ diyagramları UML –Utility Multiply
Language-Yararlı dil üretmek(Çoklandırmak) olarak
sembolleĢtirilmektedir.
4- Girdi/Çıktı Birimleri Belirleme: Girdi çıktı birimlerinin istenilene göre,
mevcut olduğunca anlaĢılır biçimde belirlenmesi gerekir.
5- Kod’lama: Yukarıdaki aĢamalardan geçen bir program artık
bilgisayarın anlayacağı bir dile çevrilmelidir. Bunun içinde bir
programlama dili seçilerek kodlanması gerekir.
6- Sınama: Program yazıldıktan sonra o programı kullanıcı olarak test
etmek gerekir. Ġstenilen verilerin dıĢında farklı bir veri girildiğinde
program bir hata mesajı vermeden çalıĢmasına dvam ediyorsa o
program hatalıdır.
ALGORĠTMA
Herhangi bir iĢin, bir problemin çözümü için izlenecek yolların
sıralanması
Örnek: Verilen iki sayının toplatılması ve sonucun ekrana yazdırılması
1- Birinci sayıyı gir
2- Ġkinci sayıyı gir
3- Bu iki sayıyı topla
4- Toplamı ekrana yaz
Algoritma Geliştirme Kuralları:
1- Her iĢlem adımına tamsayı ve artan rakamlar verilmelidir.
2- Program mutlaka bir yerde bitmelidir.
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
3- Veriler kendilerini barındıran simgelerle ifade edilmelidir.
(DeğiĢkenlerle)
Değişkenler: Programın her adımında ya da her çalıĢtığında içindeki
değerlerin değiĢtiği sembollerdir. (örnek: ADS, YAS,NT gibi)
Değişken Adı Verme Kuralları:
1- Mutlaka harfle baĢlamalıdır.
2- DeğiĢken adı aralarına özel iĢaret ve boĢluk konulmamalıdır.
3- 255 karakteri geçmemelidir.
4- Türkçe karakter kullanılmamalıdır
Sabitler: Program içinde herhangi bir değiĢime uğramayan değerlerdir.
Alfasayısal sabitler ve sayısal sabitler olmak üzere ikiye ayrılırlar.
Alfasayısal sabitler “ “ iĢareti içinde gösterilir. (örnek: “ADI SOYADI”,
2007)
Aritmetik İşlemler: Aritmetik iĢlemler sağda gerçekleĢir. Sonuç, sola
aktarılır. (örnek: C=A+B)
Aritmetik İşlem İşaretleri:
+  Toplama
_  Çıkarma
/  Bölme
*  Çarpma
^  Üs alma
Aritmetik İşlem Öncelik Sırası:
1- Parantez içi iĢlemler (en içteki ve en soldaki parantez iĢlem
önceliklidir.)
2- Üs alma
3- Çarpma
4- Bölme
5- Toplama
6- Çıkarma
Mantıksal İşlem İşaretleri:
> Büyüktür
< Küçüktür
= EĢittir
<> Farklıdır
<= Küçük ya da eĢittir
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
>= Büyük ya da eĢittir
ġart bağlaçları (ve, veya)
ALGORİTMA ÖRNEKLERİ
1- Basit Örnekler:
o Girilen iki sayının karelerinin toplamını aldıran algoritma
10 OKU A
20 OKU B
30 C=A^2 * B^2
40 YAZ C
o Girilen doğum yılından faydalanarak yaĢ hesaplatan
algoritma
10 OKU DY
20 YAS=2007-DY
30 YAZ YAS
o Girilen iki sayı arasından büyük olanı buldurup yazdıran
algoritma
10 OKU A
20 OKU B
30 EĞER A>B ĠSE YAZ A DEĞĠLSE YAZ B
o Ġki sayı girilmektedir. Bu sayılar birbirine eĢitse, toplatan
değilse çarpan ve sonucu ekrana yazdıran algoritma
10 OKU A
20 OKU B
30 EĞER A=B ĠSE C=A+B DEĞĠLSE C=A * B
40 YAZ C
2- Bitiş Koşullu örnekler
* Toplam bulduran örnek:
Girilen sayıların içinden pozitif olanların toplamını bulduran
algoritma
NOT: 0 Girildiğinde program biter
5 TP=0
10 OKU A
20 EĞER A<0 ĠSE GĠT 10
30 EĞER A=0 ĠSE GĠT 50
40 EĞER A>0 ĠSE TP=TP+A:GĠT 10
50 YAZ TP
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
* Bitiş koşulu evet/Hayırlı örnek
o Rastgele girilen sayılar içinden kaç tanesinin pozitif, kaç
tanesinin negatif, kaç tanesinin de 0 olduğunu bulduran
algoritma
10 SS=0:PS=0:NS=0
20 OKU A
30 EĞER A=0 ĠSE SS=SS+1:GĠT 60
40 EĞER A<0 ĠSE NS=NS+1:GĠT 60
50 EĞER A>0 ĠSE PS=PS+1
60 OKU "DEVAM MI <E/H>":C$
70 EĞER C$="E" ĠSE GĠT 20
80 EĞER C$="H" ĠSE GĠT 100
90 GĠT 60
100 YAZ SS,PS,NS
TEK abonelerinin kuruma ödeyecekleri borç faturalarını
bilgisayarla hesaplatmaktadır. Bu nedenle abonenin adı soyadı, unvanı,
tükettiği elektrik miktarı ve kullanım kodu bilgisayara girilmektedir. (1-ev,
2-ĠĢyeri, 3-Kamu kr.)
- evlerde elektriğin kws 10 ytl
- iĢ yerlerinde 20 ytl
- kamu da ise 5 ytl dir.
Buna göre bilgileri girilen bir abonenin borç miktarını
bulunuz.
10 OKU "ADI SOYADI:";ADS
20 OKU "UNVANI
:";UNV
30 OKU "TÜKETĠM MĠKTARI:";TM
40 OKU "KULLANIM YERĠ :"; KY
50 EĞER KY=1 ĠSE TB=10 * TM
60 EĞER KY=2 ĠSE TB=20 * TM
70 EĞER KY=3 ĠSE TB=5 * TM
80 YAZ "TOPLAM BORCU:";TB
3- Karışık algoritma örnekleri:
- 1 ile 1000 arasındaki çift sayıların toplamını bulduran
algoritma
- Girilen 1 sayının girilen 2.sayı kadar üssünü aldıran
program algoritması (üs alma iĢlemi yapmadan)
- 100 kiĢilik bir gruba ait ad soyad, yaĢ ve cinsiyet bilgileri
girilmektedir. Buna göre kadınların ve erkeklerin ayrı ayrı yaĢ
ortalamalarını bulduran algoritma
- Girilen 10 sayının ortalamasını bulduran algoritma
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
BASIC
Basic Programlama Dilinde kullanılan Karakterler:
- Harfler
- Özel ĠĢaretler
- Rakamlar
Basic Programlama Dilinde Değişkenler:
- DeğiĢken Adı Kuralları:
1- DeğiĢken adı mutlaka harfle baĢlamalıdır
2- Karakterler arasına boĢluk ya da özel iĢaret konamaz (yalnızca _
iĢareti konabilir)
3- DeğiĢken adı uzunluğu 40 karakteri geçemez
4- Basic komutları değiĢken adı olamaz
- DeğiĢken Türleri:
1- Sayısal DeğiĢkenler: Rakam ve rakam gruplarını içeren
değiĢkenlerdir.
Genel olarak iki türlüdür.
a- Tamsayı DeğiĢkenler (Integer DeğiĢkenler) Bu değiĢken türleri 32767 ile +32767 arasında değerler alırlar. Ondalıklı sayıları en
yakın tamsayıya tamamlarlar. DeğiĢken adı sonuna (%) iĢareti
alırlar. (örnek: A%, KOD%)
b- Gerçek Sayı DeğiĢkenler (Real DeğiĢkenler): Her türlü sayıyı
içeren değiĢken türleridir. DeğiĢken adı sonuna herhangi bir iĢaret
almazlar. (örnek: A, S, TP, ORT)
2- Alfasayısal DeğiĢkenler: Karakter setindeki 255 karakterle de iĢlem
yapan değiĢken türleridir. Ġçerdiği verilerle matematiksel iĢlemler
yapılamaz. DeğiĢken adı sonuna ($) iĢareti alırlar (örnek: ADS$,
ADR$)
Basic Programlama Dilinde Sabitler: Programın hiçbir adımında
değiĢmeyen sembollerdir. Genel olarak iki türlüdür.
a- Sayısal sabitler: Program içinde kullanılan tüm sayılar
(değiĢkenlere atanmamıĢ) sayısal sabitlerdir. (örnek: 2007, 3,14 ,
% 11)
b- Alfasayısal Sabitler: Programlamada “ “ içinde ifade edilen her
türlü sembol alfasayısal sabittir. (örnek: “ADI GĠRNĠZ”, “YAġ
ORTALAMALARI:”)
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
BASIC KOMUTLARI:
1- CLS: Ekranı silen komuttur
2- INPUT: Veri giriĢi yapmak için kullanılan komuttur. (örnek: 10
INPUT “NOTU GĠRNĠZ:”; NT)
3- PRINT : Elde edilen sonuç ya da sonuçları ekrana yazdıran
komuttur. (örnek: PRINT “YAġI:”;A)
Print Komutunun formatları:
- Ġfadeler arasına (;) konulduğunda ifadeler yan yana ve hiç boĢluk
olmaksızın yazılır.(örnek:PRINT “NET MAAġI:”;NTM)
- Ġfadeler arasına (,) konulduğunda, ifadeler 15 karakter aralıklarla
yazdırılır. (örnek: PRINT “YAġI:”,YAS)
- Ġfadeden sonra hiçbir iĢaret konmazsa sonraki yazdırılan ifade bir
alt satırdan itibaren yazılır. (örnek 10 PRINT “Gülcay”
20 PRINT “KORKMAZ”)
4- IF/THEN/ELSE: Program içinde Ģartlı cümlelerde kullanılır.
IF: EĞER
THEN: ĠSE
ELSE : DEĞĠLSE
(Örnek: IF A>10 THEN GOTO 100 ELSE GOTO 20)
5- GOTO : ĠĢ akıĢını belirtilen satıra gönderen komuttur. (örnek:
GOTO 20)
6- LOCATE: Ġfadeleri ekranın belirtilen satır ve sütundan itibaren
yazdıran komuttur. Formatı: LOCATE satır,sütun: PRINT ya da
INPUT ifadeler
Örnek: LOCATE 12,37:PRINT “GÜLCAY” Ekranın
12. satır, 37. sütunundan GÜLCAY ifadesini yazdır.
7- TAB: ifadeleri belirtilen sütundan yazdırma komutudur. Print
komutu ile kullanılır. Formatı: PRINT TAB (kolon numarası); ifade1;
……….. TAB(kolon numarası);ifaden
Örnek: PRINT
TAB(10);ADS$;TAB(40);YAS;TAB(60);DY$
8- FOR/NEXT Döngüsü: Bir iĢin birden fazla yaptırılması durumunda
kullanılan komutlardır.
Formatı: FOR <döngü değiĢkeni>=<Döngü baĢlangıç
değeri>
TO <döngü bitiĢ değeri> STEP <döngü artıĢ
değeri>
…………….
…………….
NEXT <döngü değiĢkeni>
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
Örnek:
FOR I=1 TO 10 STEP 1
PRINT “GÜLCAY”
NEXT I
Not: Döngü artıĢ değeri 1 ise STEP’i yazmaya gerek yok çünkü
zaten döngü artıĢ değeri varsayılanı 1’dir.
HAZIR KOMUTLAR
1- LEFT$:Alfasayısal ifadelerin soldan belirtilen sayı kadar karakterini
aldırıp iĢlem yaptıran komuttur.
Formatı: LEFT$(Alfasayısal ifade,alınacak karakter sayısı)
Örnek: PRINT LEFT$(“GÜLCAY”,3)  parantez içinde belirtilen
ifadenin soldan 3 karakterini al ve ekrana yazdır.
2- RIGHT$ : Alfasayısal ifadelerin sağdan belirtilen sayı kadar
karakterini aldırıp iĢlem yaptıran komuttur.
Formatı: RIGHT$(Alfasayısal ifade,alınacak karakter sayısı)
Örnek: PRINT RIGHT$(“GÜLCAY”,3)  parantez içinde belirtilen
ifadenin sağdan 3 karakterini al ve ekrana yazdır.
3- MID$: Alfasayısal ifadelerin belirtilen karakterinden itibaren, yine
belirtilen karakter kadarını aldırıp, iĢlem yaptıran komuttur.
Formatı: MID$(ifade,alınacak karakterlerin baĢlangıç sayısı,alınacak
karakter adedi)
Örnek: PRINT MID$(“GÜLCAY”,4,2)
4- LEN: Alfasayısal ifadelerin karakter uzunluklarını veren komuttur.
Formatı: LEN(alfasayısal ifade)
Örnek: PRINT LEN(“GÜLCAY”) Ekrana 6 yazar
4- CHR$: Bilgisayar karakter setindeki karakterleri veren komuttur.
Formatı: CHR$(sayısal değer)
Örnek : PRINT CHR$(65)
Formatı: CHR$(sayısal değer)
Örnek : PRINT CHR$(65)
5- ASC: Belirtilen karakterin, karakter setindeki numarasını verdiren
komuttur.
Formatı: ASC(Karakter)
Örnek: PRINT ASC(“A”)
6- STR$: Sayısal ifadeleri alfasayısal hale çeviren komuttur.
Formatı: STR$(sayısal ifade)
Örnek: STR$(1234)
7- ABS : Belirtilen sayısal ifadenin mutlak değerini veren komuttur.
Formatı: ABS(Sayısal ifade)
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
Örnek: PRINT ABS(-120)
8- FIX: Ondalıklı sayıların tam olan kısmını aldıran fonksiyon.
Formatı: FIX(sayısal ifade)
Örnek: PRINT FIX(10,5)
9- SQR: Belirtilen sayının karekökünü veren fonksiyon
Formatı: SQR(sayısal ifade)
Örnek: PRINT SQR(25)
10- VAL: Alfasayısal bir ifadeyi sayısal hale dönüĢtüren komuttur.
Formatı: VAL(alfasayısal ifade)
Örnek: PRINT VAL(“1980”)
Gülcay KORKMAZ
Bilgisayar Öğretmeni
Yazılım Uzmanı
e_post@: [email protected]
web: http://www.egitimde-bilisim.com
Download

PROGRAMLAMA ALGORĠTMA