BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Benzer belgeler
Programlama Dillerinde Kullanılan Veri Tipleri

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Karşılaştırma İşlemleri ve Koşullu İfadeler

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Akış Diyagramı)

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

EMT2226 Nesne Yönelimli Programlamaya Giriş

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 11: Metot Kavramı

BBS515 Nesneye Yönelik Programlama. Ders 2 Zümra Kavafoğlu

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Algoritma ve Programlamaya Giriş II JAVA İLE PROGRAMLAMA. Muhammet BAYKARA

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

Temel Veri Türü İşlemleri

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Klavyeden Basit Giriş/Çıkış İşlemleri

Java da İşleçler, Ders #3 (4 Kasım 2009)

BİL-141 Bilgisayar Programlama I (Java)

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

BASİT VERİ TÜRLERİ, STRİNGLER, VE KONSOL GİRİŞ/ÇIKIŞ

D İ Z İ L E R A R R A Y S

Ders - 7 while döngüsü

Java Programlamada Paket Yapısı Ve Import

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1

Nesne Yönelimli Programlama

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 4. UYGULAMA

C# Çalışma Örnekleri

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

M.ilkucar MAKU MYO 1

Nesne Yönelimli Programlama

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

Örnek 1: Programı yazın ve çalıştırın.

BİL-141 Bilgisayar Programlama I (Java)

// hataları işaret eden referans

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String>

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

MAT213 Bilgisayar Programlama I

Nesne Yönelimli Programlama

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 6. UYGULAMA

Imports ifadesi, program satırlarının en üstüne (Public Class satırından önce) yazılmalıdır. Aksi halde hata mesajı ile karşılaşılır.

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

JAVA DEĞİŞKEN VE OPERATÖRLER. M.İLKUÇAR - 1

JAVADA DİZİ İŞLEMLERİ

PROGRAMLAMA DİLLERİ I

Algoritma ve Programlama: Karar Yapıları ve Döngüler

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

BİL-141 Bilgisayar Programlama I (Java)

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

HSancak Nesne Tabanlı Programlama I Ders Notları

BİL-141 Bilgisayar Programlama I (Java)

HSancak Nesne Tabanlı Programlama I Ders Notları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Dizi ( Array ) ve Dizgi ( String )

Fonksiyonlar (Altprogram)

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

Program Akış Kontrol Yapıları

String (Dizgi) İşlemleri

Görsel Programlama 1

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

BİL1001 Bilgisayar Bilimlerine Giriş 1

GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı Đlkbahar Dönemi 13 Nisan Ad, Soyad Öğrenci No.


PROGRAMLAMAYA GİRİŞ DERS 2

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

BİL-141 Bilgisayar Programlama I (Java)

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

Java ile Programlama

1. Her marka için 3 aylık satış toplamı nedir? (Tablodaki satır toplamları)

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Java String İşlemleri

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programlama Dilleri 1. Ders 4: Diziler

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

ESM-361 Mikroişlemciler. 3. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

1 PROGRAMLAMAYA GİRİŞ

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

Transkript:

2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr 04.03.2018

Java da Veri Tipleri Java da kullanılacak olan değişkenler ve veri tipleri önceden bildirilmelidir. 1. Tamsayı Veri Tipleri Veri Tipi Aktarılabilecek En Küçük Değer 2. Ondalıklı Sayı Veri Tipleri Aktarılabilecek En Büyük Değer Bellekte Kapladığı Alan (byte) byte -2 7 2 7-1 1 short -2 15 2 15-1 2 int -2 31 2 31-1 4 long -2 63 2 63-1 8 Veri Tipi Aktarılabilecek En Küçük Değer Aktarılabilecek En Büyük Değer Bellekte Kapladığı Alan (byte) float 3,4.10-38 3,4.10 38 4 double 1,7.10-308 1,7.10 308 8 2

Java da Veri Tipleri 3. Alfasayısal Veri Tipleri Tek karakter ve karakter grubu (kelime, cümle vb.) için kullanılabilecek iki veri tipi olup aşağıda gösterilmiştir: Veri Tipi char String Anlamı Tek tırnak içinde bir karakter aktarılabilir. Çift tırnak içinde birden fazla karakter aktarılabilir. 3

Java Program Yapısı Program Başlığı: Program hakkındaki açıklamaları ya da ismini içeren ifade veya ifadelerdir. // açıklamalar veya program başlığı Sınıf Çağırma Bölümü: Java dilinde sınıf lar (class), paket (package) olarak adlandırılan dosyalarda toplanmışlardır. Diğer sınıfların, yazılacak programda kullanılabilmesi için önceden çağrılması gerekir. Herhangi bir Java programı yazıldığında, Java standart kütüphanesi (java.lang paketi) otomatik olarak çağrılır. Fakat kullanılacak diğer paketlere ait sınıflar, nesneler, fonksiyonlar kullanılacaksa bunların import ile çağrılması gerekir. import paket.sınıf; 4

Java Program Yapısı Örneğin import java.util.scanner komutu ile Scanner sınıfı ilgili programda artık kullanılabilir veya import java.util.* ile de java.util paketindeki tüm sınıflar çağrılıp kullanılabilir. Paket java.lang java.applet java.awt java.io java.sql javax.net Sınıfları Java programlama dilinin temel sınıfları Applet uygulamaları sınıfları Grafiksel arayüz uygulamaları sınıfları Sistem giriş/çıkış sınıfları Veritabanı programlama sınıfları Ağ uygulamaları sınıfları 5

Java Program Yapısı Sınıflar: Java ile geliştirilen uygulamaların bileşenleri.class uzantılı dosyalarda saklanırlar. Java da sınıf tanımlama en genel haliyle aşağıdaki gibi yapılır. denetleyiciler class sınıfadı{ program kodları 6

Java Program Yapısı Değişken Tanımlama: Java da kullanılacak değişkenler önceden bildirilmelidir. veri tipi değişken adı; Sabit Tanımlama: Java da sabit tanımlamak için final kullanılmaktadır. final veri tipi sabit adı = sabit değeri; 7

Java Program Yapısı Ekrana merhaba yazan programı inceleyelim. //Merhaba public class Merhaba { public static void main (String[ ] args) { System.out.println ( Merhaba ); Dosya adı ile sınıf adının aynı olması gerekir. main deki public deyimi, sınıfın veya yöntemin herkese açık (dışarıdan erişilebilir) olduğunu belirtir. static deyimi sınıf tarafından paylaşıldığını, void de bir değer geri göndermediğini (dönmediğini) belirtir. 8

Akış Diyagramından Kodlamaya Geçiş

Sembollerin Karşılıkları Şekil Başla Java daki Karşılığı Açıklamalar, bildirimler Değişken değişken=nextint(); değişken=nextline(); Değişken System.out.println(değişken); System.out.print(değişken); İşlem İşlem değişken= başla,dur,adım for (başla; şart; adım) { 10

Sembollerin Karşılıkları koşul H işlem2 Şekil E işlem1 Java daki Karşılığı if (koşul) { işlem1; else { işlem2; 11

Veri Giriş Komutları Java da klavyeden very girişi için java.util paketindeki Scanner sınıfının yöntemleri (System.in) kullanılır. Bu nedenle programın başında import java.util.scanner ile sınıf çağrılır. Scanner sınıfının bazı yöntemleri aşağıdaki gibi özetlenebilir. Paket next() nextboolean() nextbyte() nextdouble() nextint() nextline() nextlong() nextshort() Sınıfları Klavyeden girilen ifadeyi ilk özel karakterine (boşluk) kadar alır. Klavyeden girilen ifadeyi boolean tipinde alır. Klavyeden girilen ifadeyi byte tipinde alır. Klavyeden girilen ifadeyi double tipinde alır. Klavyeden girilen ifadeyi int tipinde alır. Klavyeden girilen tüm satırı alır. Klavyeden girilen ifadeyi long tipinde alır. Klavyeden girilen ifadeyi short tipinde alır. 12

Veri Giriş/Çıkış Komutları //Veri Girişleri import java.util.scanner; public class VeriGiris { public static void main (String[ ] args) { String a; int b; Scanner klavye = new Scanner(System.in); System.out.print ( Bir cümle giriniz: ); a=klavye.nextline(); System.out.println ( Girdiğiniz cümle: +a); System.out.print ( Bir sayı giriniz: ); b=klavye.nextint(); System.out.println ( Girdiğiniz sayı: +b); 13

Döngü Komutları Tekrarlı işlemlerin yapılmasını sağlarlar. Döngüler üçe ayrılırlar: - Sayıcılı döngüler: Döngü işlemleri bir sayaca bağlı olarak gerçekleştirilir. - Ön koşullu döngüler: Döngü işlemleri, döngü öncesinde kontrol edilen koşula bağlı olarak gerçekleştirilir. - Son koşullu döngüler: Döngü işlemleri, döngü sonunda kontrol edilen koşula bağlı olarak gerçekleştirilir. Bu durumda döngü en az bir kez çalıştırılır. 14

Döngü Komutları - for for { döngü değişkeni=başlangıç,bitiş,adım İşlemler for (tip başlangıç değeri; koşul; adım) { İşlemler Alternatif gösterim Başlangıç değeri E koşul H adım işlem 15

Döngü Komutları - for //Döngü 1 public class ornek { public static void main (String[ ] args) { int t=0; int N=0; for (int i=1; i<=n; i++){ t+=i; System.out.println ( Birden N e kadar sayıların toplamı: +t); 16

Döngü Komutları - while while koşul E işlemler H while ( koşul ) { İşlemler 17

Döngü Komutları - while //Döngü 2 import java.util.scanner; public class ornek { public static void main (String[ ] args) { float t=0; Scanner klavye = new Scanner(System.in); System.out.print ( Tek sayıların üst sınırı: ); int N=klavye.nextInt(); int i=1; while (i<=n) { t+=i; i+=2; System.out.println( Toplam: +t); 18

Döngü Komutları - do while do işlemler while koşul H E do { while ( koşul ); İşlemler 19

Döngü Komutları - do while //Döngü 2 import java.util.scanner; public class ornek { public static void main (String[ ] args) { float t=0; Scanner klavye = new Scanner(System.in); System.out.print ( Çift sayıların üst sınırı: ); int N=klavye.nextInt(); int i=2; do { t+=i; i+=2; while (i<=n); System.out.println( Toplam: +t); 20

Karar (Karşılaştırma) Komutları IF ELSE YAPISI Koşulların kontrolünde kullanılan komutlardır. Karar komutları dört farklı yapıda olabilirler: - Yarım Form: Sadece koşul doğru ise yapılacak işlemler vardır. - Tam Form: Koşul doğru olduğunda ve koşul yanlış olduğunda yapılacak işlemler vardır. - Çok Koşullu Form: Birçok koşulun durumuna göre yapılacak işlemler vardır. - Seçimli Form: Kontrol değişkeninin değerine göre yapılacak işlemler vardır. Çok koşullu formun sade biçimidir. if koşul E işlem1 else H işlem2 21

Karar (Karşılaştırma) Komutları IF ELSE YAPISI //Karar 1 import java.util.scanner; public class ornek { public static void main (String[] args) { Scanner klavye = new Scanner(System.in); System.out.print ( Bir tamsayı giriniz: ); int a=klavye.nextint(); if (a>0) { System.out.println ( Pozitif ); else if (a<0){ System.out.println( Negatif ); else{ System.out.println( Sıfır ); 22

Karar (Karşılaştırma) Komutları SWITCH-CASE switch case değişken=değer1 E işlem1 H case değişken=değer2 E işlem2 H case değişken=değern E işlemn default H varsayılan 23

//Karar 2 import java.util.scanner; public class ornek { public static void main (String[] args) { Scanner klavye = new Scanner(System.in); System.out.print ( Notunuzu (1-5) giriniz: ); int a=klavye.nextint(); switch (a) { case 1: { System.out.println ( Çok zayıf ); break; case 2: { System.out.println ( Zayıf ); break; case 3: { System.out.println ( Orta ); break; case 4: { System.out.println ( İyi ); break; case 5: { System.out.println ( Çok iyi ); break; default: { System.out.println( Geçersiz Not ); break; 24

Bazı Matematiksel İşlem Komutları π: Math.PI() e: Math.E() x y : Math.pow(x,y) x: Math.sqrt(x) Rastgele(x): Math.random()*(x+1) Radyan Derece: : Math.toDegrees() Derece Radyan: toradians() e x : Math.exp(x) Üste Yuvarla: Math.ceil() Aşağı Yuvarla: Math.floor() Ondalıklı Kısmı At: Math.round() Mutlak Değer: Math.abs() Mod: % En Büyük: Math.max() En Küçük: Math.min() Sırala: Arrays.sort() Ln(x): Math.log(x) Log(x): Math.log10(x) Sin(x): Math.sin(x) Cos(x): Math.cos(x) Tan(x): Math.tan(x) 25

Bazı Alfasayısal İşlem Komutları Uzunluk:.length() Büyüt:.toUpperCase() Küçült:.toLowerCase() Ters:.reverse() Bul:.indexOf() veya.contains() Değiştir:.replace Dönüştür Sayısal Tam:.parseInt() Dönüştür Sayısal Ondalıklı:.parseFloat() Dönüştür Alfasayısal:.toString() 26

Çalışma Sorusu: Önceki slaytlarda (örneğin 5 ve 6 numaralı slaytlar) algoritmaları verilen programları JAVA dilinde kodlayınız. Kaynaklar Algoritma Geliştirme ve Programlamaya Giriş, 13. Baskı, Fahri Vatansever, Seçkin Yayıncılık, 2017 Algoritma: Uygulamalı Algoritma Klavuzu, 5. Baskı, Kadir Çamoğlu, KODLAB, 2011 Algoritma ve Programlamaya Giriş, 6. Baskı, Ebubekir Yaşar, Ekin Basım Yayın, 2016 Java ile Programlama, 3. Baskı, Timur Karaçay, Seçkin Yayıncılık, 2016 27