27 Kasım 2017 Pazartesi

Algoritma Soruları 037 - Üçlü Toplam

Seviye : İleri

Kullanıcıdan dizi boyutu bilgisi ve toplam bilgisi alındıktan sonra -10 ile +10 arasında random sayılardan oluşan diziyi oluşturunuz. Ardından dizi elemanlarından herhangi 3'ü istenen toplama eşitse onları aşağıya yazınız?

Açıklama: Kullanıcıdan boyut ve toplam bilgisini alalım,
Boyutu giriniz : 20
Toplam kaça eşit olsun : 0

Çıktı
[9 -6 -5 9 8 3 -4 8 1 7 -4 9 -9 1 9 -9 9 4 -6 -8]  //20 elemanlı dizi

Toplamları 0'a eşit olan 3'lüler

-9  1  8
-8  1  7
-5 -4  9
-5  1  4
-4  1  3
-4 -4  8

16 Kasım 2017 Perşembe

Basit UML sorusu

Aşağıdaki UML diagramındaki sınıfları(class) ve değişkenleri tanımlayınız. Müşteri sınıfı hesap sınıfından extend edilecektir. Müşteri ve hesap sınıflarının constructorları olduğu varsayılacaktır. Banka sınıfının içindeki hesap bilgileri metodu parametre olarak müşteri ve hesap nesnelerini alacak ve ekrana müşteri ad, soyad, hesabın para cinsi (tl,dolar,euro vs.) ve miktarını yazacaktır.


Çözüm;


Class Hesap{
       public int hesap_id;
       public String  para_cinsi;
       public int niktar
     
       Hesap(){   //varsayılan constructor
       .......
      }
}

Class Musteri extends Hesap{
        public int id;
        public String ad;
        public String soyad;

        Musteri(){   //varsayılan constructor
       .......
      }}

Class Banka{
       public String banka_ad;
       Hesap hesap;
       Musteri musteri;

       Banka(){   //bankanın constructorı
            hesap = new Hesap();
            musteri = new  Musteri();
       }

       public void hesap_bilgileri(String banka_ad, Hesap hesap, Musteri musteri){
            System.out.println("Banka : " + banka_ad);
            System.out.println("Musteri : " + musteri.ad +" "+musteri.soyad);
            System.out.println("Hesap : " + hesap.para_cinsi);
            System.out.println("Banka : " + hesap.miktar);
       }
}

5 Kasım 2017 Pazar

Algoritma Soruları 036 - Saat dönüşümü

Seviye - Orta

Girilen saati yazıyla yazdırmak. Saat 24 saat formatında ve SS:DD  (saat ve dakika) şeklinde girilecek. Yazı ile yazdırıldıktan sonra; öğleden önce ÖÖ ve öğleden sonra ÖS şeklinde ek yazdırılacak.

Açıklama:
Kullanıcı saati aşağıdaki formatta girecek;
03:21
çıktı şu şekilde olacaktır;
üç yirmibir ÖÖ
----------------------

Öğleden sonra için girilen bir örnek;
21:45
Çıktı:
dokuz kırkbeş ÖS
 ----------------------
Bir örnek daha;
00:00
Çıktı;
oniki ÖÖ

-----------------------
Bir örnek daha;
12:00
Çıktı;
oniki ÖS


Algoritmaya giriş 1 dersi Vize ödevi :
1-  Öncelikle yukarıdaki açıklamaları iyi okuyarak soruyu iyi anlayınız. Aşağıdaki GIF soruyu anlamanıza yardımcı olacaktır.

2- Sadece java dosyasını göndereceksiniz. Dosya ismini "numaranız.java" olarak adlandırın.

3- Ödevinizi 26.Kasım.2017 Pazar 23:59'a kadar, myasinozsaglam@gmail.com adresine gönderiniz. Konu kısmına "Vize Ödev - Numaranız" yazınız. Formata uymayan ödevlere bakılmaz. Dersi alttan alan öğrencilerde ödevi yapabilirler.

4-ÇOK ÖNEMLİ : Ödevleriniz "Code compare" programları ile karşılaştırılacaktır. %70'den fazla benzerlik bulunan ödevlere puan verilmez. O yüzden yapan arkadaşların kodları kimse ile paylaşmamaları gerekmektedir.

5. Vizeye +20 puan olarak eklenecektir. Yapmayan arkadaşların vizesi yine 100 üzerinden değerlendirilecektir.


Algoritma Soruları 035 - Matris içindeki en büyük 4'lüyü bulmak.

Seviye : İleri

Amaç: Kullanıcıdan alınan rastgele bir sayının boyutunda kare array (2D) yaratılacak. Bu array’in içerisindeki tüm 2x2’lük küçük karelerin toplamı bulunup değeri en büyük olan karenin sol üst köşedeki indisi ve toplamı ekrana yazdırılacak.

Açıklama:
Kullanıcıdan bir sayı alınacak ve o sayı ölçüsünde kare matris oluşturulacak. Örneğin kullanıcıdan 6 alınmışsa 6x6 matris oluşturulacak.

Bir sayı giriniz:
6

Oluşturulan matris:
0 9 8 7 5 8
4 2 5 3 9 6
2 8 6 4 7 1
8 7 9 7 7 0
2 7 8 6 3 9
1 6 5 4 7 6

En büyük toplam: 31
Indis: 3, 1

 
Nesne Tabanlı Programlama 1. Ödevi Ek açıklama
Öncelikle yukarıdaki açıklamaları iyice okuyup soruyu anlayınız. Program görsel olarak yazılacaktır. Aşağıdaki GIF ile görsel arayüz ve programın çalışma şeklini inceleyiniz.

1) Matris boyutu kullanıcıdan alınacak. Matris boyutu en az 3, en fazla 10 girilebilecek. Bu sayı aralığında olmadığında kullanıcı uyarılacak yada giriş izni verilmeyecek. Matris içindeki sayılar 10-99 aralığında rastgele oluşturulacaktır.


// Eski ödev için geçerli
2) Matris oluşturma ve hesaplama işlemi "matris" isimli ayrı bir class ile nesnel yapılacak. Dosyanızda form için bir java ve matris.java dosyası olacak.

3)Matris.java içinde içerisinde Olustur ve MaksimumBul adında iki fonksiyon olacaktır. Form sınıfı (frm1.java) üzerinden nesnel olarak çağrılacaktır.

4) Bulunan maksimum dörtlünün arka planı turuncu veya başka bir renk ile boyanmalıdır.(Bkz. Yukarıdaki GIF)

5) Proje dosyaları Eclipse'den File/Export seçeneği ardından Archieve File seçeneği ile sıkıştırılacaktır.

6) Dosya ismi "numaranız.zip" olarak adlandırılacaktır. Formata uymayan dosyalar incelenmez.

7) Ödevinizi 26.Kasım.2017 Pazar 23:59'a kadar, myasinozsaglam@gmail.com adresine gönderiniz. Konu kısmına "Vize Ödev - Numaranız" yazınız.

8) ÇOK ÖNEMLİ : Ödevleriniz "Code compare" programları ile karşılaştırılacaktır. %70'den fazla benzerlik bulunan ödevlere puan verilmez. O yüzden yapan arkadaşların kodları kimse ile paylaşmamaları gerekmektedir.

9) Puantaj
    -Matris oluşturma +5 puan
    -Nesnellik +5
    -Maksmimumu ve adresi bulma +5 puan
    -Bulunan 4'lünün arka planının renklendirilmesi +5 puan
olmak üzere vizeye toplam +20 puan olarak eklenecektir. Ödev yapmak istemeyen arkadaşların vizesi yine 100 üzerinden olacaktır.