Jump to content

Genel Araştırma

'step' etiketi için arama sonuçları.

  • Etiketlere Göre Ara

    Aralarına virgül koyarak ekleyin
  • Yazara Göre Ara

İçerik Türü


Forumlar

  • Genel
    • Forum Hakkında
    • Projeler
  • Bilgi Alışverişi
    • Makaleler
    • Elektronik
    • Robotik
    • Arduino
    • PIC
  • Ürün İncelemeleri
    • Tanıtım istekleri
    • Elektronik Malzemeler
    • Arduino
    • Robotik Malzemeler
    • PIC
    • Sensörler
  • Yazılım
    • Yazılımlar
  • Öğrencilere Özel
    • KOU Elohab
    • KOU Mekatronik

Sonuçlar içinde bul...

Sonuçlarda bul...


Oluşturma Tarihi

  • Start

    End


Son Güncelleme

  • Start

    End


Numaralar ile filtreleme...

Katılım

  • Start

    End


Üye Grubu


Hakkımda

Araştırmada 1 sonuç bulundu

  1. Brainfuck, "ezoterik" diye adlandırılan programlama dillerinden en beğendiğim dil. Diğer ezoterik diller genellikle "işi zorlaştırmak" amacıyla yapılmış ama brainfuck, işi "kısaltmak" için yapılmış. Olabildiğince küçük bir interpreter'a sahip. O kadar basit ki, bu dil için yazılan bir yorumlayıcı 200 byte'ın altında olabiliyor. Dilin sadece sekiz tane komutu var ve öğrenmesi çok kolay. Komutlar da "kısa" olsun diye tek bir karakterden oluşuyor: < > + - . , [ ] Mantık da şu şekilde: 30000 adet hücremiz ve bir işaretçimiz var. İşaretçi, bu hücrelerden birini gösteriyor. Her bir hücre 0-255 arası değer alabiliyor. Başlangıçta işaretçi en baştaki hücrede ve tüm hücrelerin içeriği sıfır. > komutu ile işaretçi, bir sonraki, < komutu ile de bir önceki hücreye geçiyor. + komutu, işaretçinin gösterdiği belleği bir arttırırken, - komutu bir azaltıyor. . komutu, işaretçinin gösterdiği hücreyi YAZIYOR , komutu ise klavyeden (ya da giriş biriminden diyelim) girilen değeri işaretçinin gösterdiği hücreye yazıyor. [ komutuna geldiğimizde, eğer işaretçinin gösterdiği hücre sıfır ise, bundan sonraki ] komutuna gidiliyor. (Burada iç içe parantezlere dikkat edin) ] komutuna geldiğimizde, eğer işaretçinin gösterdiği hücre sıfır DEĞİLSE, bundan ÖNCEKİ [ komutuna gidiyoruz. Dilin tamamı bu. Artık bir program bile yazabiliriz Örneğin 0. ve 1. hücrelerde sayılar olsun, işaretçimiz sıfırıncı hücreyi gösteriyor olsun ve biz 0. ve 1. hücreleri toplamak isteyelim. Sonuç da sıfırıncı hücrede olsun: >[<+>-] hepsi bu. O kadar da zor değil sanırım. Şimdi bu program nasıl çalışıyor onu anlatalım: Yöntemimiz şu olacak: Birinci hücreyi bir azaltıp sıfırıncı hücreyi bir arttıracağız. Ta ki birinci hücre sıfır olana dek bunu tekrar ettiğimizde, toplama işlemi gerçekleşmiş olur. Örnek: 9 3 10 2 11 1 12 0 9+3=12 Şimdi bu "program"i yorumlayıcı tarafından nasıl yorumlanıyor onu inceleyelim: İşaretçimiz sıfırıncı hücrede iken > ile birinci hücreye geçiyoruz. Ardından [ komutu geliyor. Eğer işaretçinin gösterdiği hücre (1. hücre) sıfır ise, ] komutuna, yani programın sonuna gidecek. Çünkü bir sayıyı sıfırla topladığımızda bir şey değişmez. Ama birinci hücre sıfır değilse, parantezin içine girecek. Buraya girdiğimize göre, birinci hücre sıfır değildir. O halde sıfırıncı hücreye bir şeyler eklememiz gerekecek. + ile sıfırıncı hücreye bir ekleyip > ile birinci hücreye geçerek onu da - komutu ile bir azaltıyoruz. Sonra gelen ] komutu ise, işaretçinin gösterdiği (birinci) hücrenin değeri henüz sıfır olmadı ise, [ komutuna geçerek, birinci hücre sıfır olana dek işlemi tekrarlayacaktır. Ekte, kendi yazdığım bir excel dosyası var. Bu excel dosyası, GÖRSEL bir brainfuck yorumlayıcı. Burada istediğiniz bir programı çalıştırıp sonuçlarını görebilir, yazdığınız kodları deneyebilir, debug edebilirsiniz. Burada amaç programları "çalıştırıp kullanmak" değildir. Bunu yapan çok sayıda yazılım var. Ekteki excel dosyası, kodun çalışmasını göstermek içindir, adım adım göstererek çalışır, bu yüzden çok yavaştır. Excel programının kullanımı: Öncelikle Excel size, dosyayı açtığınızda VBA scriplerini çalıştır / engelle sorusunu soracak. Buna doğal olarak "çalıştır" demeniz gerekiyor. Anlayamadığım bir şekilde form üzerindeki butonlar kimi zaman basılı gibi görünüyor, ama bu çalışmasına engel olmadığı için üzerinde durmadım. Sorunu bulursanız buradan bildirin ki düzeltelim. Programda başlangıçta yukarıdaki toplama kodu ve ilk iki hücrede de örnekteki gibi 9 ve 3 değerleri var. Dolayısı ile "step" düğmesine basarak her seferinde bir adım ilerleterek kodun nasıl çalıştığını, işaretçinin ve hücre değerlerinin nasıl değiştiğini izleyebilirsiniz. İsterseniz doğrudan Run ALL düğmesine basarak adım adım değil de tüm kodu baştan sona işletebilirsiniz. CLS düğmesi çıktı ekranını temizler, reset ise programı ve işaretçiyi başa alır ve tüm hücreleri sıfırlar. Save düğmesi ekrandaki programı diske kaydederken Load düğmesi de diskten bir program yükler. Yüklenecek ya da kaydedilecek dosyanın yol+ad bilgisi, sarı renkli "FileName" kutusundadır. En alttaki <, >, +, - düğmeleri ise, işaretçi ve hücreleri manuel olarak değiştirmeye yarar. Hücreler, B stunu boyuncadır. Ayrıca B stunundaki her hücrenin ASCII karşılığı da A stunundadır. Böylece hem sayı hem ASCII olarak izleyebilirsiniz. İsterseniz kodunuzu canlı olarak excel tablosu üzerinde değiştirebilir / geliştirebilirsiniz. En güzeli de, program üzerinde bir hücreye çift tıklarsanız, orada breakpoint koymuş gibi program o hücreye kadar çalışır ve orada durur. Durduktan sonra çift tıkladığınız için hücrenin içine girmiş olacaksınız, oradan esc ile çıkabilirsiniz. Bu sırada hücre içeriğini bozmamaya dikkat edin. Excel tablosu ile ya da brainfuck ile ilgili sorularınız olursa, bunun altına yazabilirsiniz. İyi eğlenceler. bf.xlsm
×
×
  • Yeni Oluştur...

Önemli Bilgilendirme

Facebook / Twitter / Google hesabınızla kolayca kaydolup cevap verebilir, soru sorabilir, istekte bulunabilirsiniz.
Devam etmeniz, forum kurallarını kabul ettiğiniz anlamına gelir.            Forum Kuralları