Ana sayfa Blog

Ruby Başlangıç Rehberi (Operatörler)

1

Bu yazımızda özel olarak sadece Operatörlere değinmek istiyorum. Bir önceki yazımızda Karşılaştırma ve Mantıksal Operatörlere değinmiştik. Şimdi ise diğer Operatör türlerine değinme sırası !

Aritmetik Operatörler :

Bu Operatörler adından anlaşılacağı gibi basit aritmetik işlemleri yapmak için kullanılan Operatör türüdür.

Örnek vermek gerekirse :


Atama Operatörleri :

Bu Operatörleri örnek ile daha iyi açıklayabilirim.


Ruby’de bit düzeyinde işlem yapan operatörlerde mevcuttur.

Fakat ilk önce, bir sayının istenilen tabana nasıl dönüştürüldüğüne bakalım.

Bunu yapmak oldukça basit !

çevrilecek_sayı.to_s(dönüştürülecek_taban)

Genel formatı ile işlemi kolaylıkla gerçekleştirebiliriz.

.to_s(dönüştürülecek_taban) fonksiyonu belirtilen sayıyı temsil eden bir String’e dönüştürür.

.to_i(Geri_dönüştürülecek_sayının_tabanı) fonksiyonu ile sayıyı tekrardan 10’luk tabana dönüştürebiliriz.

Bit düzeyinde Operatörlere artık geçebiliriz.

Bunlar sırasıyla, 

& (ve) , | (veya) , ^ (XOR), ~ (Değili) Operatörleridir.

Şimdi sıra, bit düzeyinde sağa ve sola kaydırma operatörlerinde !

Gördüğünüz gibi bu operatörler 10’luk tabandaki bir sayının 2’lik tabandaki karşılığını istenilen düzeyde sağa ve sola kaydırılmasını sağlamaktadır.


Son olarak değineceğimiz Operatör ise, defined? Operatörü. Bu Operatör, ifadenin tanımlanıp tanımlanmadığını öğrenmemize yarar.

Daha değinmediğimiz birçok operatör mevcut. Onlara ise yeri geldiğinde değineceğiz. Şimdilik benden bu kadar, yeni bir yazıda görüşmek üzere. 🙂

Kaynaklar :

https://www.tutorialspoint.com/ruby/ruby_operators.htm

https://www.calleerlandsson.com/posts/rubys-bitwise-operators/

İngilizce Öğrenme Yolları

0

1 lisan, 1 insan; 2 lisan 2 insan diyerek söze başlamak istiyorum.
Yabancı dil öğrenmek bizim için bir sorun değil aslında. Ülke olarak sayısal olduğu kadar sözel yönü de kuvvetli olan insanlarız. Bizim asıl düşmanımız ön yargımız.

Türk gibi başlamak deyimi de bu konuya tam olarak uygun. Bir plan yapmadan, “öğreneceğim!” diyerek yola çıkıyoruz. Ancak etkili yolları bilmeden, yol haritası çıkarmadan çıkılan yolda, tükeniyoruz, hevesimizi kaybediyoruz.

1.HER ŞEYİ OKUYUN.

Yabancı gazeteleri takip edin, makaleleri okuyun. Hem dünya çapında güncel olaylardan haberdar olursunuz hem de yeni kelimeler öğrenirsiniz. Kalıp ifadeleri öğrenmek, koca bir paragrafın konusunu anlamak, günlük yaşamdaki diyalogları akıcı hale getirmek gibi detaylarda şaşıracağınız şekilde fayda sağlayacak.
Hobilerinizle ilgili yabancı dergiler okuyun. Ufkunuzu genişletin.
Temelden başlayıp seviyesi artan ingilizce kitap setleri edinin.
Masanızın üstünde, cebinizde bir dünya var. Kullanın!

2.NOT ALIN.
Yeni kelimeler öğrenmek aslında dil öğrenmenin temelini oluşturur. Fakat kelime öğrenmek, kitap okur gibi sözlük okuyup kelime ezberlemek demek değildir. İşe de yaramaz zaten bu yöntem.
Gün içinde vakit geçirdiğiniz bir yere, öğrendiğiniz kelimeleri post-it yardımıyla yapıştırın.
Kendi metinlerinizi oluşturun.

3.İNSANLARLA İLETİŞİMDE KALIN.
Akıllı telefonlar sayesinde, ağzımızı oynatmadan konuşabilir hale geldik. Fakat işin detayı şu, bir dili yazarken kullanılan jargon ile konuşurken kullanılan arasında büyük fark var. Konuşurken devrik, kuralsız cümleler kullanılırken yazı dilinde çoğunlukla nizami cümleler kullanılır.
İngilizce öğrenirken de koyacağımız temel hedeflerden biri, konuşma ve yazı dilimiz arasındaki farkı en aza indirmektir.
İmkanınız var ise yurtdışı kurslarına katılın. Yok ise, Cambly gibi uygulamaları değerlendirmenizi, arkadaşlarınız ile birlikte ingilizce saatleri belirleyip sadece ingilizce konuşmanızı tavsiye ederim.

4.ŞARKI SÖYLEYİN.
Dinlemeyi sevdiğiniz yabancı şarkıların “lyric” versiyonlarını dinleyerek eşlik edin. Kelimeleri ve telaffuzlarını öğrenmek için en etkili yollardan biridir.
“Metallica-Turn The Page”,”John Lennon-Imagine” tavsiyelerimdir.

5.ONLİNE ALIŞTIRMA SİTELERİ 
1. Lyricstraining.com
2. dersimizingilizce.com
3. chompchomp.com
4. 5minuteenglish.com
5. englishclub.com

 

Pes etmeden, baş koyduğunuz yolda yürümeye devam edin.
İyi çalışmalar, iyi günler dilerim…

 

 

Ruby Başlangıç Rehberi (Kullanıcıdan veri girişi,Mantıksal ve Karşılaştırma Operatörleri, Koşullar)

1813

Bu yazımızda Ruby programlama dilindeki kullanıcıdan veri girişi, Koşul durumları ve Döngü kavramına değineceğiz.

Kullanıcıdan veri girişini gets.to_veri-türü fonksiyonu ile almalıyız.

Örnek olarak,

Integer için gets.to_i

Float için gets.to_f şeklinde alabiliriz.

Koda dökecek olursak.

Bir de gets.chomp fonksiyonu vardır. Bu fonksiyonun gets‘den farkını şu şekilde açıklayabiliriz.

gets fonksiyonu eğer to dönüşümü yapılmazsa alınan veriyi String değer olarak algılar ve sonuna bir “\n” eki yapıştırır. Oysa gets.chomp bu sona eklemeyi yapmaz. Bunu koda dökecek olursak.

Karşılaştırma Operatörlerine gelecek olursak iki girdinin, büyüklük, küçüklük, denklik veya denk olmayışlarını saptamamıza yarayan operatörlerdir.

Mantıksal Operatörler ise matematikteki standart mantık operatörleridir.

Bunlar sırasıyla,


Karşlaştırma Operatörleri :

== (Denklik)

==== (Denklik ve veri tipi denkliği, Ruby’e özeldir !)

!= (Denk değildir)

>= (Büyük eşit)

<= (Küçük eşit)

Mantıksal Operatörler :

&& ya da and

|| ya da or

! ya da not


Koda dökecek olursak,

Sonuçlar Boolean değerde yani true veya false ile verilir.

Şimdi koşullara gelelim.

Neredeyse tüm programlama dillerinde koşullar üç şekilde bulunur. if, else if, else.

if –> Algoritmada ilk bakılan koşul iken,

else if –> (Ruby’de elsif) Ondan sonra bakılan koşullardır. ( Burada koşullar olarak belirtmemin sebebi bir tek if koşulu bulunurken, bir çok else if koşulu bulunabilir.)

else –> ise tüm koşullar sağlanmadığında son olarak gelinen durumdur.

Şimdi girdiğimiz sayının, 10’a eşit 10’dan büyük veya negatif olup olmadığını bulan bir program yazalım

Burada kritik nokta, koşulların sonunda mutlaka end eki ile sonlandırılması gerektiğidir ! Dikkat edilmesi gereken diğer nokta ise,bir sayıyı puts fonksiyonu ile kullanıcıya gösterirkeni .to_s fonksiyonu ile String formatına getirmek zorundayız. Aksi taktirde hata alırız. Daha sonra arzu edilirse tekrardan Float veya Integer formatına getirebiliriz.

Son olarak birden fazla operatörü kullanarak bir program yazalım. Programımız, İlk önce iki adet sayıyı kullanıcıdan aldıktan sonra alınan üçüncü sayıyı, girilen ilk iki sayıdan büyük olup olmadığını veya 0’a eşit olmadığını sınayan bir algoritma olsun.

Şimdilik bu kadar. Bir sonraki yazımızda görüşmek üzere. 🙂

Ruby Başlangıç Rehberi (Yorum satırları, değişken tanımlama,print ve puts fonksiyonu)

1

Ruby nesne tabanlı modern bir programlama dilidir. Yapısı gereği fonksiyonel programlama işlemlerini de kolayca gerçekleştirebilir. Ruby’nin hikayesine arzu ederseniz aşağıdaki adresten ulaşabilirsiniz.

https://www.ruby-lang.org/tr/about/

Programın çalışması için kullandığınız sisteme göre indirmeniz gerekenleri ise şuraya bırakıyorum.

https://rubyinstaller.org/downloads/

Rahat bir kullanımı olan Visual Studio Code editörünün linkini de şuraya koyuvereyim.

https://code.visualstudio.com/

Kodları çalıştırmak için .rb uzantılı bir dosya oluşturup, yazdıklarınızı terminalden çalıştırabilirsiniz.

View > Integrated Terminal sekmesinden, DEBUG CONSOLE‘un yanındaki TERMINAL‘e ulaşmalısınız.

Yazılan kodları kaydettikten sonra, terminale ” ruby dosya_ismi.rb ” şeklinde bir komut yazarak kodunuzu rahatlıkla çalıştırabilirsiniz.”

Konsolu temizlemek için ” ctrl + k ” sekmesini kullanabilirsiniz.

Öncelikle Ruby programlama diline “yorum satırları” ile giriş yapmak istiyorum. Tüm programcıların bildiği gibi yorum satırları, daha sonra olası geliştirme için muazzam bir öneme sahiptir. Eğer algoritmanız kompleks bir yapıya sahipse olası karışıkları bu şekilde önleyebilirsiniz.

Yorum satırlarını aşağıdaki basit Syntax ile oluşturabilirsiniz.

Bir sonraki değineceğimiz konu ise, değişken tanımlama kavramı. Daha önce programlama geçmişi olanların aşina olacağı ve programlamada birincil öneme sahip olan değişken tanımlama kavramını, bilmeyenler için kısaca değinmek gerekirse.

Çeşitli işlemleri yapmak için programlayıcıdan veya kullanıcıdan alınan bilginin sembolik bir değişken ile temsil edilme olayına, değişken tanımlama denir.

Sonuçları veya göstermek istediklerimizi de iki şekilde yazabiliriz.

print yazılacak_veri  yazım şekli art arda yazılan yazıyı alt alta değil de yan yana yazar. Örnek olarak:

puts yazılacak_veri fonksiyonu ise, art arda yazılan verileri direkt alt alta yazar.

Değişken tanımlama olayını anladığımıza göre artık değişkenler arası tür dönüşümünün nasıl yapıldığına bakabiliriz.

Bunun için genel bir tanım yapacak olursak

yeni_degisken = eski_degisken.to_i 

burada veriyi Integer‘e çevirdik, oysa Float veya String  veri tipine de dönüştürebiliriz.

Bunun için:

.to_f (Float’a dönüştürmek için)

.to_s (String’e dönüştürmek için)

Bir veriyi (Mesela bir Integer yani tam sayı değerini, float yani ondalıklı sayıya dönüştürmeye çalışalım.)

 

Şimdilik bu kadar, yeni bir yazımızda görüşmek üzere ! 🙂

Özdeğer ve Özvektörlerin Python Programlama ile çözümü

1938
Özdeğer Denklemi

Özdeğer ve Özvektörlerin Python Programlama ile çözümü

Kuantum mekaniği içinde garipliklerin  olduğu bir mekaniktir. Biraz matematiksel yönü ağır bir alandır. Kendine has ve sadece kuantum mekaniğinde geçerli olan kavramlar bulunmaktadır. Bunların başında süperpozisyon, dolanıklık, teleportasyon, belirsizlik gibi kavramlar gelmektedir. Kuantum mekaniğinin varsayımların başında dalga fonksiyonu vardır. Bu dalga fonksiyonu mekaniksel sistemin tüm bilgilerini içermektedir.  gibi fonksiyon var. Sistemin her şeyini biliyor. Zaman ve koordinatlara bağlıdır. Hem reel hemde komplex olabilir. Hilbert uzayının tüm özelliklerini sağlıyor. Hilbert uzayı çok uzun bir konudur. Bu alanda çalışanlar hilbert uzayını iyice kavramalıdır. Öz olarak söylersek  Hilbert uzayı bir iç çarpım uzayıdır. Bu uzayın en temel özellikleri tek değerlidir. Sonlu olmalıdır. Sürekli olmalıdır. Kendisi ile skaler çarpımının yapılabilmesi gerekir. Dalga fonksiyonu tüm bu özellikleri sağlamalıdır. dalga fonksiyonun  karesi taneciğin uzayda herhangi bir noktada bulunma olasılığını verir. Hilbert uzayının diğer bir önemli özelliği ise elemanlarını birbirine dönüştüren komutlara operatör (İşlemci) denir. Bu müthiş bir olaydır.  Bir operatör dalga fonksiyonuna uygulandığı zaman sistemin gözlenebilen bir özelliğini vermektedir.

Schrödinger denklemi kuantum mekaniğinin en önemli denklemlerinden biridir.   Bu denklem bir özdeğer denklemidir.  Kuantum mekaniği bir özdeğer denklemidir şeklinde bir yargıya varabiliriz. Kuantum bilgisayarların matematik modellemesi özdeğer denklemidir. Kuantum mekaniğinde bu kadar önemli özdeğerler matematiksel olarak tanımı çok basittir. Özdeğer kavramını açıklamak için öncelikle özvektör kavramını açıklamak gerek. Bazı vektörler bir A matrisi ile işleme girdikleri zaman yön değiştirir, bazıları ise değiştirmezler. Bazı özel x vektörleri, Ax vektörü ile aynı yönde kalmaktadır. İşte bu vektörlere “özvektörler” denir.   olacak şekilde     skalerleri ve sıfırdan    farklı   x  vektörlerini bulma  problemine, öz değer -öz vektör problemi ve skalerlerine de  A matrisinin  öz değerleri yada karekteristik değerleri denir.

Biz bu yazımızda özdeğerleri ve öz vektörleri pyton programlama ile nasıl çözeriz. Aslında özdeğer bulma işlemi çok uzun sürmektedir. Özellikle kuantum programlamada çok kullanılan özdeğer bulma işlemi pyton programlama ile çok kolay bir şekilde bulunmaktadır.

 

 

Fortran 95 (Fonksiyonlar)

464

Bu yazımızda Fonksiyonlar Konusuna giriş yapacağız.

Fonksiyonlar genelde rutin olarak yapılan bir hesaplamayı, fonksiyon şeklinde yazılması ile istenilen her yerde kullanılmasına yarar. Python’da ise “def” kavramına tekabül eder.

Fonksiyonların genel halini şu şekilde tanımlayabiliriz.



(yeni pencerede açılır)

 


Şimdi örnek olarak, girilen iki sayıyı toplayıp ekrana yazdıran basit bir program yazalım, tabi “fonksiyon” kavramını kullanarak…

Bir sonraki yazımızda görüşmek üzere. 🙂

Swift 4 – Type Alias Kullanımı

219

Merhaba arkadaşlar,

Bugünkü dersimizde Type Alias kullanımından bahsedeceğiz.

Type Alias sayesinde, hali hazırda var olan tipleri dilediğimiz şekilde adlandırabiliriz.

Bazen kod yazarken, kodumuzun içeriğine bağlı olarak kullandığımız class struct vb. gibi tipleri farklı adlandırmak, daha mantıklı olabiliyor.

Aşağıdaki örneğimizi inceleyerek daha iyi anlamaya çalışalım:

Öncelikle Car adında yalnızca model özelliğine sahip olan bir araba sınıfı yaratalım.

Daha sonra aşağıdaki gibi arabalardan oluşacak olan boş bir array oluşturalım:

Burada okunulurluğu artırabilmek adına “Array<Car>” tanımlamasını Type Alias yardımıyla “Cars” olarak belirteceğiz ve ilerde arabalardan oluşan başka bir array tanımlamak istediğimizde daha okunur ve kısa bir şekilde tanımlama yapabileceğiz.

typealias’ı ayarladıktan sonra artık objemizin tipini kısaca Cars olarak belirtebiliyoruz.

Ayrıca typealias yardımıyla değiştirdiğimiz tipin metodlarını kullanmaya devam edebiliyoruz. Örneğin yukarıdaki örneğimizde bir array’e typealias yaptığımız için, typealias ile tanımlanan “newCars” array’inde normal array metodlarımızı kullanabiliriz:

Hata almadan array metodu olan .count’u burada da kullanabildik.

Type Alias zaman zaman okunulurluğu artırmada ve temiz kod yazmada büyük rol oynayabiliyor. Özellikle closure, ve tuple gibi yerlerde çok etkili olabiliyor.

Type Alias’ı basitçe görmeye çalıştık, umarım faydalı olmuştur.

Bir sonraki dersimizde görüşmek üzere 🙂

Bilgi Güvenliği ve Siber Güvenlik arasındaki farklar nelerdir ?

1

Bu iki kavram “Siber Güvenlik” ve “Bilgi Güvenliği” genellikle güvenlik terminolojisinde eş anlamlı olarak kullanılmaktadır ve güvenlik uzmanları arasında çok fazla karışıklık yaratmaktadır. İkisi de günümüzde çok yakından ilişkilidir. Bazı bilgi güvenliği uzmanları siber güvenliğin bilgi güvenliğinin alt kümesi olduğunu düşünürken, diğerleri bunun tersini düşünüyor. Peki iki kavram aslında neyi kapsıyor ?

Veri güvenliği ile başlayalım. Veri güvenliği, verileri güvenceye almakla ilgilidir. Şimdi başka soruların ortaya çıkmaması için şunu açıklayalım, veri ve bilgi birbiriyle ilişkili ama farklı kavramlardır. Her bilgi bir veridir fakat her veri bir bilgi olmayabilir. Veri bir bağlamda yorumlandığında ve anlam verildiğinde bilgi olarak çağrılabilir. Örneğin, “23051993″ veridir ve eğer bu verinin bir kişinin doğum tarihi olduğunu biliyorsak, o zaman bilgi demektir. Yani Bilgi, bir anlamı olan verileri ifade eder.

Siber güvenlik, bilişim ve iletişim teknolojileri aracılığıyla savunmasız olan dijital sistemleri, bilgileri, verileri güvenceye almakla ilgilidir. Ayrıca verilerin saklandığı, depolandığı ve verilerin güvenliğini sağlamak için teknolojilerin kullanıldığı bir alandır. Bilgi ve iletişim teknolojilerinin korunmasına ilişkin siber güvencenin bir kısmı, yani donanım ve yazılım, BIT(Bilişim ve İletişim Teknolojileri) güvenliği olarak bilinir. Kısaca Siber Güvenlik, siber uzayların siber saldırılardan korunma ve koruma yeteneği olarak tanımlayabiliriz.

Oysa Bilgi Güvenliği, genellikle bilgilerin gizliliğini(confidentiality), bütünlüğünü(integrity), erişilebilirliğini(availability) sağlamak için bilgi ve bilgi sistemlerinin yetkisiz erişim, kullanım, ifşa, bozulma, değişiklik veya imhasından korunmasıdır.

Bilgi Güvenliği, fiziksel veya bilgisayarlı olsun, bilgi ve bilgilerin korunmasıyla ilgilenen daha geniş bir alandır.

Siber Güvenlik ise siber uzayın korunması ve onu herhangi bir suçla (CIA-Confidentiality, Integrity, Availability ilgili ya da ilgili olmayan) karşı kullanmasıyla ilgilidir.

Şimdi, bu iki kavramla ilgili tüm kafa karışıklığı, günümüzde bilgilerin çoğunun elektronik olarak kaydedilmesi, siber uzay içerisinde yer alması ve siber saldırıların çoğunun gizli bilgileri ifşa etmek, bütünlüğüne zarar vermek veya yetkili kullanıcılara erişimi engellemek için yürütüldüğünden kaynaklanmaktadır.

Buna göre, elektronik ortamdaki bilgilerin güvenliği tehdit altındaysa ve bunu kategorize etmemiz isteniyorsa, incelediğimizde “Bilgi” tehdit altındadır dolayısıyla Bilgi Güvenliği ile doğrudan ilgilidir. Fakat bilgi siber uzay içerisinde yer aldığı için aynı zamanda Siber Güvenlik kapsamına girer. Bu durum Siber Güvenliği, Bilgi Güvenliğinin alt kümesi haline getirir.

Şöyle bir senaryo düşündüğümüzde bilgi tehdidini içermeyen siber suçlar, Bilgi Güvenliğinin bir parçası değil, aslında Siber Güvenliğin bir endişe kaynağıdır. Aynı şekilde siber uzayı içermeyen bilgi tehditleri Bilgi Güvenliği kapsamına girer, Siber Güvenlik kapsamına girmez.

Şu görselin daha açıklayıcı olacağını düşünüyorum.

Hatta biraz daha görseli detaylandırıp, Türkçeleştirmek gerekirse:

Kısaca bu tanımlara göre, siber güvenlik, siber alemdeki her şeyin güvenliği ile ilgilidir. Bilgi güvenliği ise, bu alandan bağımsız olarak bilgilerin güvenliği ile ilgilidir. Siber güvenlikte “bilginin güvenliği” konusu çok kritik önem taşıdığı için, bilgi güvenliğinin siber güvenlik için temel taşlarını oluşturduğunu söyleyebiliriz.

Ek olarak, bu kavramların kullanımı ile ilgili kültürel ve hatta politik yönleri de vardır. Örneğin, Amerika Birleşik Devletler’inde genellikle “siber güvenlik” yaygın olarak kullanırken, Rusya’da ise “bilgi güvenliği” söylemi daha ön plandadır.

 

Tensörler

327

Giriş.

Vektörler bir uzaydan başka bir uzaya taşındığında bileşenleri değişmektedir. Koordinat dönüşümleri altında fiziksel bağımlıkları birimsel bileşenleri değişmektedir. Bu nedenle bilim insanları evrendeki temel kanunların uzayın her yerinde geçerli olması gerekir. Fiziksel nesneler bir uzaydan başka bir uzaya geçildiğinde, bileşenleri değişmeyen niceliklere ihtiyaç duyarlar ki bunun adı tensörlerdir. Bir uzaydan başka bir uzaya geçildiğinde bileşenleri değişmeyen niceliklerdir. Matematiksel olarak bir nesnenin koordinatlarını bir sayı ile tanımlarız. x bileşeni, y bileşeni, z bileşeni (3,2,-5). Fizikte bu hep böyle değildir. Koordinat dönüşümleri altında bu değerlerin beleşenleri temsil eden değerler değişmektedir. Reel düzlemde matematiksel bir doğru denklemi complex uzayda bir bir çemberi temsil eder. Bir nesnenin konum değerlerini koordinat eksenleri ile tanımlarız ve bunu vektörel olarak gösterebiliriz. Bu nesnenin hız, ağırlık, sıcaklık, hacim gibi birimlerini de sayı olarak ifade ederiz. Ama bu değerler fiziksel olarak başka düzleme geçtiğinde bileşenlerindeki değişimleri tanımlarsak bunu tensörler ile ifade ederiz. Kuantum bilgisayarlarda bilginin ifadesi tensörel çarpım şeklinde olmaktadır. Klasik bilgisayarlarda bu işlem kartezyen çarpım şeklinde iken kuantum bilgisayarlarda bu işlem tensörel çarpım şeklinde olmaktadır. Tensörler ile ilgili detalı bilgiye http://kitaplar.ankara.edu.tr/dosyalar/pdf/736.pdf adresinden ulaşabilirsiniz.

Sütun Vektörlerinin Tensörel Çarpmı

Sutun vektörlerin Tensörel Çarpım

Yukarıda görüldüğü gibi tensörel çarpım sonucunda oluşan boyut her iki vektörün bulunduğu uzayın boyutlarının çarpımına eşittir..

Örnek olarak tensörel çarpım için

Matrislerin tensörel çarpımı da sütun vektörlerinin çarpımına benzemektedir. Bu bağlamda matrislerin tensörel çarpımı her bir eleman diğer matrisin tüm elemanları ile çarpılarak çarpım sonucu bulunduğu satır ve sütun yazılır.

Matrislerin Tensörel Çarpımı

olsun.

Python için geliştirilen QUTIP modülü tensörler için biçilmiş kaftandır. Çok kolay yapılmaktadır.

>>tensor(sigmax(), sigmaz())

şeklinde hazır fonksiyon bu işlemi yapmaktadır. Tensörlerin uygulamaları ile ilgili çok geniş bir alan bulunmaktadır. Özellikle Kuantum bilgisayarlarda çok geniş bir alan bulunmaktadır.  

>>> tensor(op1, op2, op3)

H = tensor(sigmaz(), identity(2)) + tensor(identity(2),
  …:          sigmaz()) + 0.05 * tensor(sigmax(), sigmax())

 

H = (tensor(sigmaz(), identity(2), identity(2)) +
  …:    tensor(identity(2), sigmaz(), identity(2)) +
  …:    tensor(identity(2), identity(2), sigmaz()) +
  …:    0.5 * tensor(sigmax(), sigmax(), identity(2)) +
  …:    0.25 * tensor(identity(2), sigmax(), sigmax()))

 

Fortran 95 (Decisions – Karar Yapıları)

2

Bu yazımızda, Fotran 95 dilindeki karar yapılarından söz edeceğiz.Neredeyse tüm programlama dillerinde Karar yapıları, if temelli söz dizimi ile tanımlanır.

Fortran’da Karar yapısı temel olarak şu yapıya sahiptir.


if (1.koşul)

  Yapılacak eylemler…

else if (2.Koşul)

  Yapılacak eylemler…

….

else

   Yapılacak en son eylem.

end if


Bunu bir örnekle tanımlamak gerekirse, girilen 3 notun ortalamasını alıp bir başarı kıstası yapan program yazalım.

Bir sonraki yazımızda görüşmek üzere. 🙂

Kaynaklar:

https://www.tutorialspoint.com/fortran/fortran_loops.htm

https://www.tutorialspoint.com/fortran/if_elseif_else_construct.htm