Professional Documents
Culture Documents
Java Programlama 2
Java Programlama 2
PRİZREN ÜNİVERSİTESİ
BİLGİ TEKNOLOJİLERİ VE İLETİŞİM FAKÜLTESİ
PROGRAMLAMA JAVA
-2-
Temel kavramlar, Problem çözüm evreleri, Akış
diyagramları, Operatörler, Değişken Atama,
Döngü Kavramları.
TEMEL KAVRAMLAR
Bilgisayar çok karmaşık bir elektronik cihazdır,
şimdilik bizi ilgilendiren kısım onun çalışma
prensibi değil, programlama kısmıdır. Bilgisayar
öğrendiğini unutmaz, eğer iyi programlarsanız
kusursuz olarak işlemleri yapar, yorulmadan hep
aynı işlemi tekrar yapabilir. Programcı izin vermiş
ise, programlar bilgisayarın tüm kaynaklarına
erişebilir.
Bilgisayar, bir konuda yorum yapamaz, yeni
durumlara uyum sağlamak için çaba sarf etmez.
İnsan unutkandır, hata yapabilir, yorulur ve
beyninin tamamını kullanamaz, moral durumu
değişebilir ve duygusal olarak etkilenir.
İnsanların en büyük avantajı, yeni durumlar
karşısında bocalasa bile zamanla uyum
sağlayabilmesidir. Başına gelen olaylardan ders
çıkartabilir. Tek başına birçok sorunu çözebilirler.
Bilgisayar ise her zaman aynı tepkiyi verir, kendini
geliştiremez. İnsan tarafından kontrol edilmedikçe
etkinliklerini değiştirmezler.Bu noktada program
kavramını aşağıdaki gibi tanımlayabiliriz.
Program
• Belirli bir problemi, nasıl çözeceğini anlatmak
üzere bilgisayara verilen komutlar dizisidir. Bu
tanımdan bilgisayarın kendi planını kendisinin
yapamayacağı ortaya çıkmaktadır. Bu planlar o
programı yapan kişi tarafından ona verilir.
Günümüzde bilgisayarların insan beyni yanında
çok az yetenekli olduğu söylenebilir. Fakat rutin
(sıradan) işlemleri, insanlara oranla daha hızlı
yapabilirler.
İyi bir programın temel özellikleri şunlardır:
• Doğruluk: Verilen görevlerin tam olarak yerine
getirilmesidir.
• Dayanıklılık: Beklenmedik hatalardan dolayı
programın çalışması kesilmemelidir.
• Genişletilebilme: İleri aşamalarda görevlerin
değişikliği veya yenilerinin eklenmesi kolay olmalıdır.
• Basitlik: Karmaşık tasarımlardan kaçınmak gerekir.
• Modülerlik: Program kodları başka programlar içinde
de kullanılabilmelidir.
• Uyumluluk: Başka bilgisayar ve sistemlerde
çalışabilmelidir.
• Kontrol edilebilirlik: Hata olabilecek yerlere
açıklayıcı hata mesajları konulmalıdır.
• Kolay kullanım: Kullanıcı arayüzü kolay olmalı
ve rahat öğrenilebilmelidir.
• Parçalanabilirlik: Problemin küçük parçalara
ayrılarak yazılmasıdır.
• Anlaşılırlık: Başkasının yazdığı program elden
geçirilirken rahatça okunabilmelidir.
• Koruma: Modüller birbirlerine müdahale
etmemelidirler.
Programlama ve Programcı
• Program kavramına bağlı olarak, bilgisayara
verilecek olan komutlar listesinin hazırlanması
işlemine programlama, bu işi gerçekleştiren
kimselere de programcı denir.
• Bilgisayar Türkçe, İngilizce veya başka bir dilden
anlamaz. Bilgisayarın fonksiyonel bir beyni
olmadığı için programcının komutlar listesini
yazabilmesine imkan sağlayan bu özel dile
“programlama dili” denir.
• Komutlar bir araya gelerek “program”ı meydana
getirir. Belli bir programlama dili ile yazılmış
komutlara “kaynak kod” da diyebiliriz.
Programlama dilleri seviyelerine göre iki gruba
ayrılabilir
• 1. Düşük seviyeli diller
• Makine Dili: Bilgisayarın anlayabileceği tek dildir.
Bu sistemde sayılar ondalıklı sistem yerine 2'li
sayı sisteminde ifade edilmektedirler. Bu da
demektir ki herhangi bir program parçası yan
yana gelmiş 0 ve 1'lerden ibarettir. Bu dilde
program yazabilmek için makinenin iç yapısının
bilinmesi gerekir.
• Assembler Dili: Bu dilde 0 ve 1’lerin yerine
kelimeler ve semboller kullanılır.
• 2. Yüksek seviyeli diller
• İlk bilgisayarlarda genel bilgilere göre hazırlanmış
program 2’lik sayı sistemine uygun olarak
yeniden ifadelendirilirdi. Bu işleme makine diline
çevirme denir. Her geçen gün bilgisayarların özel
matematiği kullanabilecek kişilerin haricinde;
matematikten hiç anlamayan meslek gruplarında
da kullanılma ihtiyacı doğduktan sonra, makine
dili yerine herkes tarafından kullanılabilen diller
geliştirilmiştir.
• Yüksek seviyeli diller olarak nitelendirilen bu
diller, bilgisayardaki derleyici program vasıtasıyla
otomatik olarak makine diline çevrilir. Böylece
makine dili veya Assembler dili öğrenme
zorunluluğu ortadan kalkmıştır.
• Yüksek seviyeli dillere örnek olarak, Fortran,
Cobol, Basic ve Pascal gösterilebilir. Yüksek
seviyeli bir dilde yazılan program öncelikle
derleyici (compiler) denen bir program ile makine
diline dönüştürülür.
PROBLEM ÇÖZÜM EVRELERİ
• Karmaşık, zaman alıcı bir problemin insan beyni
ile çözülmesi imkansız hale gelebilmektedir veya
problem çözülebilse bile çok zaman alıcı
olabilmektedir. Dolayısıyla bu problemlerin
bilgisayar yardımı ile çözülebilmesi fikri, bilgisayar
problemlerinin ortaya çıkmasına neden olmuştur.
• Problemler çözülürken aşağıdaki evrelere dikkat
edilmesinde fayda vardır:
• 1. Problemin tanımlanması
• 2. Problemin çözümü için bir algoritma belirlenmesi
• 3. Kaynak dosyaların oluşturulması
• 4. Kaynak dosyaların derlenmesi
Problemin Tanımlanması
• Bilgisayarda her tür problemin çözümü şu
düşünceler ve işlemler ile gerçekleştirilir:
• Problemle ilişkili veriler nelerdir?
• Çözüm yöntemi nasıl olacaktır? Hangi
hesaplamalar nasıl gerçekleştirilecektir?
• Problemin sonucunda hangi bilgiler elde edilecektir?
Bilgisayar bize hangi bilgileri, hangi düzende
vermelidir?
• Öncelikle problemin tanımlanabilmesi için
yukarıdaki soruların açıklığa kavuşturulması
gereklidir.
Problemin Çözümü İçin Bir Algoritma
Belirlenmesi
• Algoritma tanımı aşağıdaki gibi yapılabilir:
• Algoritma, belirli bir problemi çözmek için gerekli
adımlar kümesidir veya problemi çözmek için
gerekli özgün adımlar serisidir.
• Çözmek, özgün ve seri kelimeleri tanıma
aşağıdaki anlamları katmaktadır.
• Seri: Adımlar belirli bir sırada gerçekleştirilmeli ve
adımların her biri kullanılmalıdır.
• Özgün: Bir adım, benzer başka bir adımla yer
değiştirmemelidir.
• Çözmek: Algoritma bir problemin çözümünü
teşkil eden bir sonuç üretir.
• Bir algoritmada bulunması gereken önemli
özellikler şunlardır:
• Basit ve anlaşılır olmalı
• Problemin çözümünü mümkün olan en az
adım ile (en kısa sürede) gerçekleştirmeli
• Bu özelliklere sahip algoritmalara etkin algoritma
(efficient algorithm) denir.
• Algoritmalar aşağıdaki seçeneklerden birisi ile
ifade edilebilir:
• Algoritmanın doğal dil ile ifade edilmesi
• Algoritmanın akış diyagramı ile ifade edilmesi
• Algoritmanın bir programlama dili kullanılarak
ifade edilmesi
AKIŞ DİYAGRAMLARI
• Önceki konuda algoritmaların geometrik şekillerle ifade
edilmesi akış diyagramı olarak tanımlanmıştı. Akış
diyagramı ile ifade edilen algoritma istenilen bir
programlama dilinin komutları ile kodlanır. Aynı problem
farklı programlama dilleri ile çözülebilir.
Algoritmanın Doğal Dil Kullanılarak
İfade Edilmesi
• Bir algoritmanın, doğal dil kullanılarak ifade
edilmesi, akla gelen en kolay yoldur. Fakat biraz
daha detaylı düşününce bazı sakıncalarla
karşılaşılabilir. Bu sakıncalar şunlardır:
• Bu yöntemde belirsizlik veya çok anlamlılık
olabilir. Yani bazı ifadeler yanlış anlaşılabilir.
• Doğal dil ile ifade edilmiş bir algoritmanın
bilgisayar kodu haline dönüştürülmesinde
güçlükler ve belirsizlikler olabilir.
• Örnek: Doğal dil kullanılarak ifade edilmiş bir
algoritma
• 30 adet öğrencinin sınav notlarını giriş bilgisi
olarak alınız. Notların toplamını hesapladıktan
sonra toplam değeri 30’a bölerek ortalama notu
bulunuz. Ortalama not 60’ın üzerinde ise ekranda
“Sınıf ortalaması iyi”; 60’ın altında ise ekranda
“Sınıf ortalaması kötü” mesajı yazdırılsın.
Algoritmanın Akış Diyagramı İle İfade Edilmesi