Prolog Programlama LİSTELER (LISTS).

Slides:



Advertisements
Benzer bir sunumlar
KÜMELER BİRLEŞİM KESİŞİM FARK.
Advertisements

KÜME DÜNYASINA GİDELİM
ERÜNAL SOSYAL BİLİMLER LİSESİ
BU KONUDA ÖĞRENECEKLERİMİZ
BTEP 203 – İnternet ProgramcIlIğI - I
Kofaktör Matrisler Determinantlar Minör.
VEKTÖRLER.
ÜÇGENLER.
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
KÜMELER.
MATEMATİK 6. SINIF KONU: KÜMELER.
KÜMELER.
VARLIKLAR BİRARAYA GELEREK TOPLULUK OLUŞTURURLAR.
Java Programlama Koleksiyon(Collection) Sınıfları
Sonlu Durum Makinesi M=(S, I, O, f, g, s0) S:durumlar kümesi
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
KÜMELER GEZEGENİNE HOŞ GELDİNİZ.
MATRİS-DETERMİNANT MATEMATİK.
İŞLEM TANIM: A boş olmayan bir küme olmak üzere,A×A nın bir R alt kümesinden A ya tanımlanan her fonksiyona, işlem denir.İşlemi tanımlarken,’’
Diziler Dizi, bellekte aynı isim altında toplanmış değişkenler kümesidir. Eğer ki aynı türden veriler grubunu bellekte tutmak gerekirse diziler kullanılır.
DERS 3 DETERMİNANTLAR ve CRAMER YÖNTEMİ
PROLOG PROGRAMLAMA DİLİNDE
KÜMELER İLERİ.
DÜZENLİ GRAMERLER Yılmaz Kılıçaslan.
ÇARPANLARA AYIRMA Bu power point projesi çarpanlara ayırma metodları
Aşağıda bir tam elma eş parçalara
BAZI VERİ YAPILARI Yılmaz KILIÇASLAN.
BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini.
CEBİRSEL İFADELERİ ÇARPANLARINA AYIRMA
ÖDEVİ HAZIRLAYANLAR ÇİĞDEM DEMİR 3/B ZAHİDE TRAMPACI
TEK FONKSİYON-ÇİFT FONKSİYON
DİZİLER Arrays.
FONKSİYON TARİHİ FONKSİYON
Kümeler ve Gösteriliş Şekilleri
KÜMELER.
KÜMELER GEZEGENİNE HOŞ GELDİNİZ
Mantıksal Programlama-Prolog
KÜMELER.
Üçgenin Özellikleri.
KÜME ÇEŞİTLERİ 2. Sonlu ve Sonsuz Küme 1.Boş Küme 3. Evrensel Küme
BOŞ KÜME DENK KÜME EVRENSEL KÜME EŞİT KÜME İÇİNDEKİLER.
MUSTAFA GÜLTEKİN Matematik A Şubesi.
KÜMELER.
Öğretmenin; Adı Soyadı :
KÜMELER.
MERAL GÜNEŞ B(GECE). KÜMELER Herkes tarafından bilinen, elemanları iyi tanımlanmış,birbirinden farklı nesnelerin veya şekillerin bir araya.
BASİT CEBİRSEL İFADELER
BİL551 – YAPAY ZEKA Prolog: Listeler
KÜMELER ERDİNÇ BAŞAR.
KÜMELER.
ÇOKGENLER VE DÖRTGENLER
KÜMELER KAZANIM:Bu konu 6. sınıf konusu olup bir kümeyi modelleri ile belirler, farklı temsil biçimleri ile gösterir.
BAĞINTI & FONKSİYONLAR.
KÜMELER.
HAZIRLAYAN:İMRAN AKDAĞ NO:
ÖKLİD’İN ELEMANLAR İSİMLİ
VARLIKLAR BİRARAYA GELEREK TOPLULUK OLUŞTURURLAR.
pointerverisonraki 0Tülay 1Vedat6 LB3=22Pelin15 3Burak9 4Kadir 5Seyhan13 6Utku16 LB1=77Ayşe3 8 9Ceyda Dilek 12 13Şükrü4 LB2=1414Zeynep17.
KUYRUK (QUEUE).
YAPAY ZEKA P ROLOG 3. Geriye İz Sürme Mekanizması sever(oktay, okuma). * sever(yavuz, bilgisayar). sever(orhan, tavla). sever(vedat, uyuma). sever(ismail,
Hashing (Çırpılama).
ÇEMBERİN ELEMANLARI,YAYLAR VE ÇEMBERDE AÇILAR
çıkış ANA SAYFA Fonksiyonun tanımı Denk kümeler
Cebirsel bir ifadede bir sayı ve değişkenin çarpımıdır Örneğin; 3x+2y cebirsel ifadesinde 3x ve 2y terimdir.
SAYI PROBLEMLERİ.
BİRLEŞİM VE ARAMA (UNIFICATION & SEARCH)
ÇARPANLARA AYIRMA Konular Örnekler.
Özel Çakabey Anadolu Lisesi
YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ
Sunum transkripti:

Prolog Programlama LİSTELER (LISTS)

Listeler Sonlu sayıda elemandan oluşan bir Prolog veri gösterimidir. Örneğin; [ali, veli, hasan, yusuf] [ali, akıllı(hasan), X, 2, kamil] [ ] [ali, [veli, hasan], [kamil, kısa(mustafa)]] [[ ], a(z), [2, [b,c]], [ ], Z, [2, [b,c]]]

Listeler Liste elemanları kare parantezler arasına yazılır. Listenin uzunluğu listede bulunan eleman sayısıdır. Her tür Prolog terimi liste elemanı olabilir. [ ] özel bir liste olan boş listeyi gösterir.

Baş ve Kuyruk Boş olmayan bir listenin Baş (Bas) ve Kuyruk (Kuyruk) şeklinde iki parçadan oluştuğu düşünülür. Baş kısmı listedeki ilk elemandır. Kuyruk ise, listedeki ilk elemanı ayırdığımızda geriye kalan listedir. Boş listenin baş ve kuyruğu yoktur.

Örnekler [ali, veli, yusuf, hasan] Baş: Kuyruk: ali • [[ ], a(z), [2, [b,c]], [ ], Z, [2, [b,c]]] Baş: [ ] Kuyruk: [a(z), [2, [b,c]], [ ], Z, [2, [b,c]]] [a(z)] Baş: a(z) Kuyruk: [ ]

Örnekler ?- [Bas|Kuyruk] = [ali, veli, yusuf, hakan]. Bas = ali Kuyruk = [veli,yusuf,hakan] yes ?- [X|Y] = [ ]. no ?- [X|Y] = [ali, veli, yusuf, hakan]. X = ali Y = [veli,yusuf,hakan] yes

?- [X,Y|Kuyruk] = [[ ], a(z), [2, [b,c]], [], Z, [2, [b,c]]] . Y = a(z) Z = _4543 Kuyruk = [[2, [b,c]], [ ], Z, [2, [b,c]]] yes ?-

?- [X1,X2,X3,X4|Kuyruk] = [ali, veli, mustafa, yusuf, hakan]. X1 = ali X2 = veli X3 = mustafa X4 = yusuf Kuyruk = [hakan] yes ?- ?- [ _,X2, _,X4|_ ] = [ali, veli, mustafa, yusuf, hakan]. X2 = veli X4 = yusuf yes ?-

eleman/2 eleman(X,[X|T]). eleman(X,[H|T]):- eleman(X,T). ?- eleman(hakan,[hakan,tahir,veli,yusuf]). yes ?-

eleman/2 eleman(X,[X|T]). eleman(X,[H|T]):- eleman(X,T). ?- eleman(veli,[hakan,tahir,veli,yusuf]). yes ?-

eleman/2 eleman(X,[X|T]). eleman(X,[H|T]):- eleman(X,T). ?- eleman(zeki,[hakan,tahir,veli,yusuf]). no ?-

eleman/2 eleman(X,[X|T]). eleman(X,[H|T]):- eleman(X,T). ?- eleman(X,[hakan,tahir,veli,yusuf]). X = hakan; X = tahir; X = veli; X = yusuf; no

a2b([a|L1],[b|L2]):- a2b(L1,L2). ?- a2b([a,a,a],[b,b,b]). yes ?-

a2b([a|L1],[b|L2]):- a2b(L1,L2). ?- a2b([a,a,a,a],[b,b,b]). no ?-

a2b([a|L1],[b|L2]):- a2b(L1,L2). ?- a2b([a,t,a,a],[b,b,b,c]). no ?-

a2b([a|L1],[b|L2]):- a2b(L1,L2). ?- a2b([a,a,a,a,a], X). X = [b,b,b,b,b] yes ?-

a2b([a|L1],[b|L2]):- a2b(L1,L2). ?- a2b(X,[b,b,b,b,b,b,b]). X = [a,a,a,a,a,a,a] yes ?-

Ekle ve Tersi ekle([],L,L). ekle([H|T],L2,[H|L3]):- ekle(T,L2,L3). tersi([],[]). tersi([H|T],L) :- tersi(T,R), ekle(R,[H],L).

Listeler ile SDO başlangıç(q0). son(q2). geçiş(q0, a, q1). geçiş(q1, b, q2). geçiş(q2, b, q2). % Başlama Durumu parser(String) :- başlangıç(SimdikiDurum), parser(String, SimdikiDurum). % Bitme Durumu parser([], SimdikiDurum) :- son(SimdikiDurum). % Ara İşlemler parser([Ilk|Gerisi], SimdikiDurum) :- geçiş(SimdikiDurum,Ilk, SonrakiDurum), parser(Gerisi,SonrakiDurum).

- parser([a,b,b,b,b]). Yes. - parser([a,b,b,b,a]). No. - parser(X) ?- parser([a,b,b,b,b]). Yes ?- parser([a,b,b,b,a]). No. ?- parser(X). X = [a, b] ; X = [a, b, b] ; X = [a, b, b, b] ...