Java ile Heximal ve Decimal Dönüşümler

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu makalemde heximal ve decimal sayıları birbirlerine nasıl çevireceğimizi ve 16'lık sayı sistemini öğreneceğiz.

Derste hocamızın bunu yapmamızı istediğin de aslında 2 satırda iki dönüşümüde yapmıştım, Java'nın bize verdiği sınıflar içersinde ki methodlar ile.Fakat bu sınıfların olmayacağı bir ortam düşünürsek ve yaptığımız işin mantığını anlamak istiyorsak bunu öğrenmemiz şart.

Decimal Nedir ?

İngilizce çevirilerden de bakacak olursak decimal'in sözlük anlamı, "ondalık" olarak geçer. Nitekim günlük hayatta kullandığımız sayıların hepsi zaten onluk sisteme aittir. 
Çeşitli dersler de taban aritmatiği konusunu mutlaka hatırlarız, bu konu da onluk sayıları başka taban da ki sayılara ve tam tersi işlemleri yapmayı öğrenmiştik.
 

Heximal Nedir ?

Heximal ise 16'lık sayı sistemine (tabanına) verdiğimiz isimdir. Ancak doğal olarak 10 adet rakamımız var ise geriye kalan 6 adet rakamı nerden bulacağız. İşte bu konuda bize harfler yardımcı olacak.
Kısacası 16 lık sistem, 10 dan sonraki rakamların yerini harflerin aldığı bir sayı sistemidir. Kullanım alanı çok olmamakla beraber aslında temelde kullandığınız bilgisayarlardan, cep telefonlarına özellikle de PIC programlama da entegrasyonlar heximal olarak yapılmaktadır.
Buna en kolay örnek C de yazdığımız bir elektronik devre temelli kodu PIC e aktacağımız zaman kesinlikle sınıfı heximal'e dönüştürmek zorundayız.
 

Devamı

Diziyi Tersine Çevirme (Reverse Array)

By Burak TUNGUT - 21.11.2012 - 2 Yorum - Kategori Java

Bu yazım da bize verilen herhangi bir türde ki diziyi başka bir dizi kullanmadan indisleri yardımıyla tersine çevireceğiz.

Hocamız bu örneği yapmamızı istediğin de ilk aklıma gelen başka bir dizi kullanmaktı fakat bellekten tasarruf ederek başka dizi tanımlamadan da bu işi yapabiliriz.

Neler yapabileceğimizi düşünelim

Yukarıda da belirttiğim gibi bize verilenin haricinde bir dizi tanımlayarak bunu yapmak çok basit, örneğin 5 elemanlı bir dizide 0. indisi 5. indise tanımlayacak şekilde yapabilirdik fakat özellikle de JVM de bellek yönetimini iyi yapabilmemiz şart.
Bu nedenle tek dizi ile bunu nasıl yapabileceğimizi düşünelim.

Eğer yukarıda verdiğim örnek gibi 5 elemanlı bir dizimiz varsa ve direk bunun üzerinde işlem yapacaksak uzunluğumuzun yarısı kadar dönecek bir döngü tasarlayarak baştan x. elemanı sondan x-1. elemanla yerini standart swap algoritmasıyla değiştirebiliriz.
Bunu yaparken dizi uzunluğunun tek sayı olması bizi korkutmasın, çift sayılarda 2 ye tam bölüneceğinden uzunluğun yarısı kadar iş yapılacak, tek olması durumunda ise en ortada ki elemanın zaten yeri değişmeyecektir.  

Devamı

C# ve Java da Foreach Döngüsü

By Burak TUNGUT - 21.11.2012 - Kategori C#

Bu yazımda C# ve Java da foreach döngüsünü küçük bir integer dizi örneği ile açıklayacağım.

Blog yazarken çokta düzensiz yazmak istemiyorum ama elime bir dil kitabını alıp indexi de takip etme taraftarı değilim :) Fakat temel bilgileride bunun gibi araya sıkıştıracağım.
 

Neden Foreach ?

Aslında neden foreach den önce "Nedir Foreach ?" sorusuna cevap verdiğimiz zaman aynı soruya da yanıtı vermiş olacağız zaten.
Klasik bir tanım yapmaktansa aşşağıda kod ile de göstereceğim gibi bir adet integer dizi düşünelim uzunluğu da 3 olsun ve içeriği sırasıyla 1,2,3 sayılarını içersin.

dizi[0] = 1
dizi[1] = 2
dizi[2] = 3

Şimdi kodlar ile dizi de işlem yaparken for kullanmaktansa foreach kullanmanın syntax kolaylığını görmüş olacağız. Fakat her for kullandığımız yer de foreach kullanamayada biliriz :)

C# ve Java için sıralama alfabetik yapılmıştır :)

Devamı

String İçindeki Harf Sayısını Bulma

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bugün ki ilk makalem de bir string in içinde hangi harfin kaç tane bulunduğunu döngü ile bularak diziye aktarıp bulacağız.

Sınava hazırlanırken oluşturduğum bir kaç küçük örneği incelerken bu güzel bahar akşamında ilk yazımı bu konu üzerine yazmaya karar verdim :)

Algoritmamızı Düşünelim

Saygı değer hocam Yrd.Doç.Dr. Ecir Uğur Küçüksille derste böyle bir soru sorunca ilk başta durup haylice düşünsemde ufak bir ip ucu aldıktan sonra çokta kolay bir şekilde yazılacağına karar vermiştim. Umarım sizlere de bunu aktarabilirim.

Öncelikle bana verilen ip ucuyla başlamak istiyorum, bu işi yaparken bir dizi yardımıyla yapacağız.
Öncelikle bir adet 26 uzunluğa sahip integer dizi (array) tanımlıyoruz. 26 sayısının önemi ise alfabemizdeki harf sayımız :)
Daha sonra verilen stringin uzunluğu kadar for döngüsü yardımıyla her gelen harfin (char) a yı 0 referans almak üzere kaçıncı indise sahip olduğunu bularak o değeri bir arttırmak olacak.
Ben bu algoritmaya char count adını veriyorum :)

Devamı

Java Sayısal Loto Algoritması

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu yazım da java ile 6 adet tekrar etmeyen sayılar üreterek sayısal loto yapıp algoritmayı inceleyeceğiz.
Uykusuzluktan olsa gerek bir üst paragrafda ki yazım bir hayli değişik oldu bende kabul ediyorum :)

Tekrarsız sayı üretme

Evet, önemli olan başlıkta belirttiğim gibi üreteceğimiz sayıların tekrarsız olması. Bunu nasıl sağlayacağımız ise gayet basit.
Öncelikle bir döngümüz sayı oluşturup bunları işleyecek fakat söz konusu bu döngü içinde bir de sayıları tutan dizimizde üretilen sayıyı arayarak sayının var olması durumunda döngüde artış operatörü yapılmadan başa dönülmesini sağlayacaktır.

Aşağıda da görüldüzü üzere while döngümüzün için de bulunan for döngüsü 0 dan 6 ya dönerek üretlien sayıyı dizinin içinde arıyor, var olması durumunda bulundu değerine 1 (true) olarak değiştiriyor.
Ardından ilk döngünün devamın da eğer bulundunun false olma durumunda gelen sayının kullanılmadığını anlıyor ve diziye aktarıyoruz, eğer true geliyorsa artış operatörü kullanılmadığı için aynı indisten üretilmeye devam ediyor sayılarımız.

Devamı
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Facebook
Son Yorumlar