5 Mayıs 2016 Perşembe

PROGRAMLAMA SORULARI

BU SORULAR TAMAMİYLE PROGRAMLAMAYA İLGİ DUYANLAR İÇİN PAYLAŞILMIŞTIR. BU SORULARIN HERHANGİ BİR NOT DEĞERİ VEYA SINAVLA İLİŞKİSİ YOKTUR.

1- Parametre olarak iki sayının değerini değiştiren takas adlı metodu yazınız.

2- Girilen iki sayının obebini hesaplayan metodu yazınız.

3- 1 ile 1000 arasındaki asal sayıları dosyaya yazdıran java kodunu yazınız. Asal sayıyı metot olarak yazınız.

4- Kendine gelen parametre değerine göre aşağıdaki çıktıyı veren graph adında bir metot tanımlayınız.
graph(1)
*
graph(2)
*
***
***
***
graph(3)
*
***
***
***
*****
*****
*****
*****
*****

5- Graph(10)' da kaç tane yıldız kullanıldığını döndüren say metodunu yazınız.

6- Graph metodunun çıktılarını yildiz.txt dosyasına yazdıran java kodunu yazınız.

7- E. Djikstra' nın tanımladığı fonksiyonu yazını ve bu fonksiyonun alacağı 0 ile 100 arasında alacağı değerleri dosyaya yazdırınız.
f(0)=0
f(1)=1
f(2n)=f(n)
f(2n+1)=f(n)+f(n+1)

8-Soru 7' de tanımlanan problemi aşağıdaki şartlara göre gerçekleştiriniz.
f(0)=13
f(1)=17
f(2)=20
f(3)=30
n>1 için
f(2n)=43f(n)+57f(n+1)
f(2n+1)=91f(n)+179f(n+1)

9- Parametre olarak girilen dizinin maksimum elemanını geri döndüren metodu yazınız.

10- Parametre olarak girilen dizinin minimum elemanını geri döndüren metodu yazınız.

11- Aşağıdaki şartlara göre verilmiş arama algoritmasını javada rekürsif kodlayınız.
DİZİ=[2 4 6 8 10 12 14 16 18 20 22 24 26] aranan değer=4;
Adım 1: Dizinin ortanca değeri bulunur. Ortanca değer=14
Adım 2: 4 < 14 olduğu için dizideki 14' ten büyük elemanları silin
yDİZİ=[2 4 6 8 10 12 14]
Adım 3: yDİZİ' nin ortanca değeri=8
Adım 4: 4 < 8 olduğu için yDizinin 8 den büyük elemanlarını silin.
Adım 5: yyDİZİ[2 4 6 8] yyDİZİNİN ortanda değeri 6' dır.
Adım 6: 4<6 olduğu için yyDizinin 6' dan büyük elemanlarını silin.
Adım 7: yyyDİZİ=[2 4 6]
Adım 8: Bu dizinin ortanca değeri 4 ve aranan değer 4' tür.
Adım 9: Bitir.

12- 0' dan 127' ye kadar olan sayıları gray code formuna çevirip gray.txt adlı dosyaya yazdıran java kodunu yazınız.



13- Aşağıdaki şekle göre matrisi oluşturup elde edilen değerleri ekrana yazdıran JAVA programını yazınız.



14- Eğer parametre olarak girilen string mor, yeşil, sarı, siyah, beyaz, kırmızı, mavi gibi renk isimlerinden başlıyorsa sadece renk değerlerini geri döndüren fonksiyonu yazınız.

renkgor("kirmizixx") → "kirmizi"
renkgor("xxyeşil") → ""
renkgor("mavimorzamanlar") → "mavimor"

15- Parametre olarak stringteki en fazla tekrar eden harfin sayı değerini döndüren metodu yazınız.
maxtekrar("hopppala") → 3
maxtekrar("adanalılar") → 4




15 Nisan 2016 Cuma

Tek Döngü İle Sıkıştırma Algoritması

int s=1;
        for (int i = 0; i < str.length()-1; i++) {
            if(str.charAt(i)==str.charAt(i+1))
                s++;
            else
            {
                cumle+=str.charAt(i);
                cumle+=s;
                s=1;
            }
            if(i+1==str.length()-1)
            {
                cumle+=str.charAt(i+1);
                cumle+=s;}
           
        }
        System.out.println(" "+cumle);

22 Mart 2016 Salı

Java Ödev 2



1- Dışarıdan girilen metni tahmin eden adam asmaca oyunu kendi algoritmanızı oluşturarak yazınız. Oluşturduğunuz algoritmayı adım adım yazınız, akış diyagramını çiziniz ve java kodunu yazınız.

2- [1,100] arasında rastgele üretilen 10 adet sayıyı 10 elemanlı bir diziye atayınız ve dizinin elamanları arasındaki farkı fark adında bir diziye atayınız.

3- Bilindiği üzere Türkiye süper liginde 18 adet takım ve her bir takım 2 sezon boyunca 17+17=34 maç oynamaktadır. Kullanılacak bir rastgele sayı üreteci [0,2] sayılarını üretmektedir ve bu sayıların maçın sonucunu belirlemektedir. Örneğin 10 ve 20 numaralı takımlar arasında maç oynanıyor eğer maç sonucu 0 ise her iki takım birer puan alacak maç sonucu 1 ise 10 numaralı takım 3 puan alacak, eğer maç sonucu 2 ise 20 numaralı takım 3 puan kazanacaktır.

18 elemanlı puan adında bir dizi oluşturulacak ve bu diziye takımların puanları atanacaktır. Örneğin 0. indisteki puan 1 numaralı takımın puanını 17. indiste bulunan puan ise 18. takımın puanını vermektedir.

a) İlk sezon sonunda oluşan puan listesini ekrana yazdırınız.

b) En düşük puana sahip 3 takım düşme hattındaki takımlardır. Düşme hattındaki takımları ekrana yazdırınız.

c) En yüksek puana sahip 3 takım liderliğe oynayan takımlardır. Liderliğe oynayan takımları ekrana yazdırınız.

4- 3141592653589793238462643383 sayılarından oluşan kaç adet asal 2 basamaklı sayı olduğunu bulan, bu sayılar iki_basamak adında diziye atayan ve bu sayılardan kaç tanesinin asal olduğunu ekrana yazdıran programı java kullanarak yazınız.
Not: Ödevlerin son gönderim tarihi 25.03.2016 23:59' dur. Ödevleri Word dosyasında rapor olarak yollayınız.

23 Şubat 2016 Salı

Programlama Dilleri Dersi 1. Ödev

Yeni dönemle beraber yeni bir programlama dilini öğrenmeye başladık ancak geçen dönemden bildiğimiz gibi önemli olan dillerin sentaksı değil algoritma ve akış diyagramının nasıl yazılacağıdır.
İlk ödevimizde akıllı taşıtlarla ilgili olsun.
Son haberlere göre google firmasının geliştirdiği akıllı taşıt 200.000 km hiç kaza yapmadan sürücüsüz noktadan hedefe ulaşabilmiştir. Aynı özelliklerde aracın tasarlanması için TÜBİTAK Türkiye' de ilk ve tek olan adli bilişim mühendisliğinden destek almak ister ve aşağıdaki maddeleri sıralar.
1- Yağmurlu havalarda görüş mesafesi kısalınca otomatik olarak silecekleri çalıştıran mekanizmanın algoritmasını ve akış diyagramını çiziniz.
2- Ön ve arka koltuklar algoritma içerisinde tanımlanacaktır. Bu koltuklardan önde bulunan ikisinin kemeri takılı olmadığında uyarı sireni ötecektir. Ayrıca uyarı sireninin çalışması için aracın hızının 30 km/h' den fazla olması gerekmektedir. Bunun için gerekli olan algoritmayı yazınız ve akış diyagramını çiziniz.
3- Kemeri takılı olmayan yolcuları ve tam kapanmamış kapıları sürücü konsol ekranında gösteren algoritmayı yazınız ve akış diyagramını çiziniz.
4- Araçta 5 ileri 1 geri vites bulunmaktadır. Ayrıca araçta motor dönüş hızını sayan bir RPM sayacıda bulunmaktadır. Araç geri vitese takıldığında RPM sayacı çalışmayacak ve arka kamera devreye girerek dış mekanı konsol ekranında gösterecektir. İleri viteslerde de RPM sayacı devreye girecektir. Eğer RPM sayacı 3500 ve üzerini gösterirse vites artacak ve 5. viteste sabitleme modülü devreye girecektir. Bu modülün gerçeklenmesi için gerekli olan algoritmayı yazınız, akış diyagramını çiziniz.
5- Koltuklarda titreşim sensörü, ısıtıcı ve ağırlık sensörü bulunmaktadır. Koltukların sıcaklığının sürekli 25 derece olması istenmektedir. İstenilen işlemi yapabilmek için gerekli algoritmayı yazınız ve akış diyagramını çiziniz.
6- Titreşim sensörü 0 ile 1 arasında çıkışlar üretmektedir. Yapılan eğitim ve test çalışmaları sonucunda 600 saniye boyunca üretilen titreşim değerinin ortalama 0.3' den büyük ise koltukta bir yolcunun bulunduğundan bahsetmek mümkündür. Ayrıca bu yolcunun ağırlığı ağırlık sensöründen gelen değerle ölçülmektedir. Eğer yolcunun ağırlığı 40 kg' dan küçük ise yolcunun çocuk olması ihtimali yüksektir. Eğer bu yolcu ön koltukta oturuyorsa, araç konsol ekranına ön koltukta çocuk oturuyor sürüş güvenli değil yazacak, eğer bu yolcu arka koltukta seyahat ediyorsa kemer sireni devreye girecektir. Bu işlemi gerçekleştirmek için gerekli olan algoritmayı yazınız ve akış diyagramını çiziniz.
7- Aracın otomatik pilotta şerit çizgisini takip etmesi istenmektedir. Bu işlem için sağ, orta ve sol adında üç adet sensör bu araca yerleştirilmiştir. Yol sağa doğru kıvrılıyorsa sağ sensör devreye girerek aracı sağa, sola kıvrılıyorsa sola eğer yolda kıvrım yoksa orta sensör devreye girerek araç yola devam edecektir. Tüm ihtimaller düşünülerek gerekli olan otomatik pilot algoritmasını yazınız ve akış diyagramını çiziniz.

NOT: Ödevlerin son gönderim tarihi 26.02.2016 23:59:59' dur. Ödevler word dosyası halinde gönderilecektir. 


14 Aralık 2015 Pazartesi

Algoritma Ödev - 7

1- strcpy fonksiyonunun görevini yapan fonksiyonu yazınız.
2- strcat fonksiyonunun görevini yapan fonksiyonu yazınız.
3- strlen fonksiyonunun görevini yapan fonksiyonu yazınız.
4- Klavyeden girilen stringin tersini alan ve adı TERS fonksiyonu yazınız.
5- Tersi alınan stringin harflerini ikili koda çeviren ve adı IKILI olan fonksiyonu yazınız.
6- Stringin kendiyle tersini XOR'layıp sonucu karakter olarak ekrana yazdırın.
7- Parametre olarak girilen iki sayıyı bölen ve bölümünü geri döndüren fonksiyonu yazınız. (Yazacağınız fonksiyonda "/" işlemini kullanmak yasaktır)
8- MOD işlemi yapan fonksiyonu yazınız. Yazacağınız fonksiyonda "/" ve "%" operatörlerini kullanmak yasaktır.
9- 1/1!-2/2!+3/3!....n/n! faktoriyel işleminin sonucunu USTAL ve FAKTORIYEL adlı metotlar yazarak bulunuz.
10- Sezar şifreleme harfin ötelenmesiyle yapılan bir şifrelemedir. BABA kelimesi 3 harf ötelenirse EDED olacaktır. Öteleme sayısı ve dizi parametre olarak girilecek ve sezar şifreli hali çıktı olarak yazılacaktır. (sezar("abc",1) yazıldığında çıktı bcd olacaktır.)
11- Parametre olarak girilen stringte türkçe karakter varsa false yokse true dönderen fonksiyonu yazınız.
12- Parametre olarak girilen stringte rakam varsa rakamın indislerini ekrana yazdıran fonksiyonu yazınız.
13- Parametre olarak 1. sayı, 2. sayı ve işlem girilecektir. Parametrelere görse işlemi geri döndüren fonksiyonu switch - case yapısı kullanarak yazınız. (Örnegin hesapla(3,5,'*') yazıldığında geriye 15 değerini döndüren fonksiyonu yazınız)

ÖDEVLERİN SON GÖNDERİM TARİHİ 16/12/2015 08:00

27 Kasım 2015 Cuma

Vize Öncesi Algoritma Hazırlık Soruları

1-      1 ile 10.000 arasındaki mükemmel sayıları bulan programı yazınız (6 mükemmel sayıdır 6=1+2+3, 28 mükemmel sayıdır 28=1+2+4+7+14)
2-      1 ile 1000 arasındaki asal sayıları ekrana yazdıran programı yazınız.
3-      100-999 arasındaki Armstrong sayıları ekrana yazdıran programı yazınız (153 armstrong sayıdır ve 153=13+53+33)
4-      int a=5,b,c;     b=a--;    c=++a;   a^=++c; işleminin sonucunu kağıt üzerinde hesaplayınız ve programını yazarak bulduğunuz sonucu doğrulayınız.
5-      6. Ödevin 3. Sorusunu çözünüz.
6-      M.Ö. 2589-2566 yılları arasında yapıldığı tahmin edilen ve dünyanın 7 harikasından biri olan Keops Piramdi’nin en az 2.3 milyon taş bloktan oluştuğu tahmin edilmektedir.Piramidin tabanında kare biçiminde yerleştirilmiş N*N adet, ikinci katında (N-1)*(N-1), üçüncü katında (N-2)*(N-2), ... , N. katında (son kat) 1 taş blok olduğu kabul edilirse, piramitin kaç taş bloktan oluştuğunu ve kaç katlı olduğunu bulan programı yazınız (2.3 milyondan büyük olacak şekilde en az kaç kat olmalıdır).
7-      10 elemanlı dizinin elemanları [-5,10] arasında değer atanacaktır. Oluşturulan matrisin elemanlarını kaydırınız.
8-      Yukarıda oluşturulan diziyi tersten yazdırınız.
9-    int sonuc=0,sayac=0;
for(int i=1;i<=5;i++)
for(int j=1;j<=i;j++)
for(int k=1;k<=j;k++)
{sayac++; sonuc+=sayac;}
Yukarıdaki sayaç ve sonuç değerlerini elle hesaplayınız ardından programı yazarak sonuçları doğrulayınız.
10-  Klavyeden girilen sayıların pozitif asal tam bölenlerini bulan programı yazınız (175=5,5,7).
11- 25 elemanlı fibonacci dizisini oluşturunuz ve bu dizinin ortalamasını bulan C kodunu yazınız.
12- Oluşturulan bu dizinin tüm elemanlarına mod 2 işlemi uygulayıp elde edilen binary sayıları 5 x 5 boyutundaki matrise yazınız.



22 Kasım 2015 Pazar

Algoritma Ödev-6

Aşağıdaki programları C dilinde yazınız.
1- 4 x 4' lük matrisi (matrisin elemanları 10-30 arasında rastgele atanacaktır) saat yönünde 90 derece çeviren programı yazınız.
2- Aşağıda verilen matris hexadecimal (16 tabanında) kodlanmıştır. Bu matrisi onluk tabana göre kodlayan programı yazınız.

3- 4x4' lük dizinin elemanların [0,20] aralığında rastgele atanacaktır. Aşağıdaki karıştırma kutucuğunu kullanarak yeni karıştırılmış matrisi oluşturan programı yazınız.

4- 8x8 boyutunda A matrisini (elemanları 0-255 arasında rastgele atanacaktır.) yukarıdaki 4x4'lük karıştırma kutucuğunu kullanarak karıştıran programı yazınız.
5- 4. soruda karıştırılmış matrisi, kullanıcı tarafından girilen 8x8' lik anahtarla XOR'layan programı yazınız.
6- 5. soru sonunda elde edilen matrisle A matrisiyle farkını F matrisi adında bir matrise yazdıran ve F matrisinin çıktısını ekrana formatlı olarak yazdıran programı yazınız.

Son gönderim tarihi 25 Kasım Çarşamba saat 13.00' dır.