Dersizle Forumları

Full Versiyon: Declarative diller(Sayfa sonunda sunuyu da bulabilirsiniz).
Şu anda tam olmayan bir veriyonu görüntülüyorsunuz. Tam versiyonu görmek için, buraya tıklayın
Declarative dillerde sadece durumu 'deklare' edilir. Sonra bu deklarasyonları değerlendirip işleyecek bir program çalıştırılır. Yani yazar sadece 'durmu budur, şudur ve odur' şeklinde durumu arzeder. İşi yapmak o deklarasyonları değerlendirecek programa kalır.
HTML sayfaları declarative dir çünkü sayfanın içeriğini tasvir eder. Ama bilgisayar ekranında bu tasvirler yorumlandığı gibi görünür. İmperative dillerden( Fortran C ve Java gibi) farkı ise, imparative dillerin çalışması için belli bir algoritma gereklidir. Yani imperative programlar bir amaca ulaşmak için algoritmayı kullanırken declarative programlar hedefi açıkça belirtir.
SQL de select cümlesi veri tabanından verileri seçmek için kullanılır.


Diğer bir tanım ise
Programcılıkta bir işi imperative yapmanız, işin detaylarına kadar adım adım emirleri sizin yazmanız anlamına geliyor. Declarative yapmanız ise, 'niyetinizi bildirmeniz' olarak tanımlanabilir. Kullandığınız altyapı sizin için gerekli yorumlamaları yaparak, işi yapıyor. Ama nasıl yaptığı konusunda ara adımlarla pek uğraşmıyorsunuz, bunları pek bilmiyorsunuz da zaten.

Deklaratif dillerin üç önemli üstünlüğü vardır.
• Lojik programlama işlemlerin mekanizmaları yerine mantığına odaklandığından doğal olarak yüksek seviyelidir. İşlemlerin nasıl yapılacağı makinaya bırakıldığı için karmaşık fikirler kolay bir şekilde ifade edilebilir.
• Lojik, verilerin gerçek (fact) ve kural (rule) olarak belirtilmesine olanak sağlar. Örneğin A noktası B noktasına bağlıdır, B noktası C noktasına bağlıdır şeklinde gerçekler belirtilebilir. X Y'ye ve Y Z'ye bağlı ise X Z'ye bağlıdır şeklinde genel kurallar belirtilebilir.
• Lojik programlama dilleri kullanılarak bilgisayar programları daha hızlı ve kolay bir şekilde geliştirilebilir. Programcının karmaşık fikirleri ifade edebilmesi ve veri yapılarını hızlı bir şekilde oluşturmasına olanak tanır.

Bu guruba dahil olan dillerden bazıları;
• SQL
• HTML
• XSL
• PROLOG
• LISP




SQL


- Structured Query Language ( Yapısal Sorgu )
- Database ( Veritabanı ) girişine izin veren bir dildir.
- ANSI ( American National Standards Institute ) Dilini kullanır.
- Veri tabanından verileri ele geçirebilir.
- Veri Tabanına karşı sorgu cümlelerini çalıştırır.
- Veri Tabanına yeni kayıt ekleyebilir.
- Veri Tabanından varolan kayıtları silebilir.
- Veri Tabanındaki verileri yenileyebilir.
- En önemlisi Çok kolay öğrenilebilir.


Veri İşlemleri : İlk olarak işe başlamadan evvel SQL de işlem yapabilmek için bazı kelimelerin anlamlarını öğrenmek gerekir.

SELECT : Veri tabanındaki dataları açmaya yarar.
UPDATE : Veri tabanındaki dataları güncellemeye yarar.
DELETE : Veri tabanındaki dataları silmeye yarar.
INSERT : Veri tabanına yeni bir data ekler.

HTML
HTML (Hyper Text Markup Language) internet üzerinde web sayfası oluşturmak için kullanılan bir betik dilidir.
HTML dosyaları sunucu bilgisayarın sabit diskinde .html ya da .htm uzantısı ile saklanır. Yazdığımız html dosyaları düz yazı dosyalarından başka bir şey değildir. Yani yazdığımız html dosyalarını bir C ya da Pascal programında olduğu gibi bir derleyici ile derlememize gerek yoktur.
Her html dökümanı <html> ile başlar ve </html> ile biter.<> şeklinde görülen komutlara etiket (tag) adı verilir.İki ana kısımdan oluşmaktadır: <head>...</head> ve <body>...</body>. head'ın içine <title>...</title> etiketi gömülür.title, browser'ımızın en üstünde yazan açıklamayı içerir.
title'dan sonra head kapatılır ve ana kısım olan body' ye geçilir.Sayfamızda görüntülemek istediğimiz herşeyi body içine gömeriz.
Örnek:
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
<title>Sayfa Başlığı</title>
</head>
<body>
Ekranda görünecek kısım
</body>
</html>


XSL

xsl style sheet dokümanlarını ifade etmede kullanılan bir dildir. XSL aynen CSS gibi XML dokümanlarının nasıl görüneceğini belirlerler.

XSL CSS2 nin bütünlüğünü ve fonksiyonerliğini kullanır fakat bunu yaparken değişik syntax yani yazım teknikleri kullanır.

Aynı zamanda ;

XSLT, XML dökümanları için dönüştürücü bir dildir. Tablo içerikleri , indexlemeler gibi karmaşık style operasyonları için geliştirilmiştir.
XSL (Extensible Style Language) bir XML document'in başka biçimlere dönüştürmeye yarayan dildir. XML document'i başka bir XML'e, Text'e veya HTML dönüştürülebilir. XSL'in kendisi XML'de yazılmıştır. Başka bir deyişle XSL, XML formatında yazılmış element ve attribute'lerden oluşur.

Örneğin sınav belirten bir XML document'ini XSL'le HTML'e çevirmeye çalışalım. XSL yazarı 'şuraya soruları koy demez. 'Soru' element'iyle karşılaşınca şunu koy, şu şablona (template'e) uygun olarak çıktı üret diyebilir. XML transformer, tek tek XMLelementleriyle karşılaştıkla XSL'de ki şablonları 'uygular' .

<xsl:template match="/Yeni">
<h3>Sınav</h3>
<xsl:apply-templates select="question"/>
</xsl:template>
<xsl:template match="deneme">
<h4> Soru </h4>
</xsl:template>

Prolog

Prolog dünyayı ifade etmek için nesneleri (object) ve aralarındaki ilişkiyi (relation) kullanır. Aşağıdaki bildirime bakalım:

• Ali ders verir.

Bu cümle iki nesne (Ali ve ders) arasındaki ilişkiyi belirtmektedir. İlişki nesnelerden daha soyut bir kavramdır. Bu nedenle aynı ilişkiyi diğer nesneler için de kullanabiliriz:

• Oya ders verir.
• Ali seminer verir.
• Hasan ders verir.

Yukarıda verilen gerçekler kullanılarak bu dünya için sorular sorabiliriz. Yalnız belirtilen gerçek ve kurallar doğru kabul edilmektedir. Bunların dışındakiler yanlış kabul edilir.

Örneğin; Ali'nin ders verdiği doğru mu ? şeklinde bir soru sorarsak cevap Evet olmalıdır. Oya'nın seminer verdiği doğru mu? Sorusunun cevabı Hayır olmalıdır. Kimler ders vermektedir? Şeklindeki bir sorunun cevabı : Ali, Oya, Hasan olmalıdır. Çünkü bu kişiler ders ilişkisini gerçeklemektedirler

1.1 PROLOG SÖZDİZİMİ (syntax)

İlişkiler yüklem (predicate) olarak aşağıdaki formda belirtilir:

* verir(ali, ders). % Ali ders verir.

Burada "verir" yüklemi iki nesne arasındaki ilişkiyi belirtmektedir. Nesne sayısı 0 veya herhangi bir sayıda olabilir. Bu sayı "arity" olarak isimlendirilir.

Kuralların yazımında bazı sınırlamalar vardır:

• Nesne ve yüklem isimleri küçük harf ile başlar.
• Önce yüklem yazılır. Eğer nesneler var ise parantez içinde virgülle ayrılmış şekilde yazılır.
• Her gerçek nokta karakteri ile sonlandırılır.

Yineleme (Recursion)

Prolog'un en ilgi çekici özelliklerinden birisi yineleme kapasitesidir. Yineleme bir şey kendisi ve sonlandırma koşulu kullanarak tanımlanırsa olur. Faktöriyel tanımı klasik bir örnektir:

• N'in faktöriyeli N kere N-1'in faktöriyeline eşittir.
• Sıfırın faktöriyeli 1'dir.

Faktöriyelin bu tanımı prologda kolayca ifade edilebilir:

faktoriyel(0,1).  gerçek
faktoriyel(N,X) :- M is N-1,  kural
faktoriyel(M,Y),
X is N * Y.

Bu örnekte gerçek kuraldan önce yazılmalıdır. Prolog'da gerçek ve kurallar programdaki yazılış sırasına göre işlem görmektedir. Prolog kuralın içinde faktoriyel(M,Y)'yi bulurken programda yüklemin ilk geçtiği yerden başlayarak çözümü arar. M sıfıra kadar azaltılmaktadır. M sıfır olduğunda "gerçeğe" erişildiği zaman geri dönüş işlemi başlar. Eğer gerçek kuraldan sonra yazılırsa sonsuz döngüye girilir.



SUNUNUN İÇERİĞİNE LISP(PROG. DİLİ)DE DAHİLDİR
kanka okuldan sonra burayada sızdık..emeğine sağlık öğrenicez inş sayendesiritan
eywalah saol.
Referans URL