BAĞLAMDAN BAĞIMSIZ VE BAĞLAMDAN BAĞIMSIZ OLMAYAN DİLLER (CONTEXT-FREE AND NON-CONTEXT-FREE LANGUAGES)

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "BAĞLAMDAN BAĞIMSIZ VE BAĞLAMDAN BAĞIMSIZ OLMAYAN DİLLER (CONTEXT-FREE AND NON-CONTEXT-FREE LANGUAGES)"

Transkript

1 BAĞLAMDAN BAĞIMSIZ VE BAĞLAMDAN BAĞIMSIZ OLMAYAN DİLLER (CONTEXT-FREE AND NON-CONTEXT-FREE LANGUAGES) Context-free dillerin üretilmesi için context-free gramer ler kullanılmaktadır. Context-free dillerin tanınması için pushdown otomatlar kullanılmaktadır. Context-free gramer in ürettiği dili tanıyan bir pushdown otomat oluşturulabilir. Bir dilin context-free veya non-context-free olduğunu belirlemek için yöntemler vardır. Closure properties ve pumping lemma iki farklı yöntem olarak regular dillerde olduğu gibi kullanılabilir. Teorem: Context-free diller union, concatenation ve Kleene star işlemleri için kapalıdır. İspat: G 1 = (V 1, 1, R 1, S 1 ) ve G 2 = (V 2, 2, R 2, S 2 ) iki farklı gramer olsun. Bu iki gramer için nonterminal kümeleri disjoint olsun. (V 1 1 ) (V 2 2 ) = Union S yeni bir sembol, G = (V 1 V 2 {S}, 1 2, R, S) ve R = R 1 R 2 {S S 1, S S 2 } olsun. 1 Yrd.Doç.Dr.Hacer KARACAN

2 Amaç L(G) = L(G 1 ) L(G 2 ) olduğunu göstermektir. Herhangi bir w string i için ( S S 1, S S 2 olduğundan) S * G w olur eğer sadece ve sadece S 1 * G w veya S 2 * G w ise. Nonterminaller kümeleri disjoint olduğu için ilk kuralla S 1 veya S 2 ye geçildikten sonra diğerine tekrar dönülmez. Concatenation G = (V 1 V 2 {S}, 1 2, R 1 R 2 {S S 1 S 2 }, S) şeklinde tanımlanan bir gramer le L(G 1 )L(G 2 ) dili oluşturulabilir. Birinci gramer deki nonterminaller (S 1 içindeki) terminallere dönüştürüldükten sonra ikinci gramer deki nonterminaller (S 2 içindeki) terminallere dönüştürülür. Kleene star G = (V 1 {S}, 1, R 1 {S e, S SS 1 }, S) şeklinde tanımlanan bir gramer le L(G 1 ) * dili oluşturulabilir. S SS 1 kuralının tekrarı ile dildeki kuralın (S S 1 ) tekrarı istenen sayıda yapılabilir. 2 Yrd.Doç.Dr.Hacer KARACAN

3 Tanımlar: G = (V,, R, S) bir context-free gramer olsun. G nin fanout değeri (G) olarak gösterilir ve R kurallar kümesinde sağ kısmı en uzun olan kuralın sağ kısmındaki sembol sayısıdır. Bir parse tree üzerinde path root node ile yaprak node arasında farklı node lardan geçilerek elde edilen sıradır. Yolun length değeri üzerindeki çizgi sayısıdır. Bir parse tree için height en uzun yolun length değeridir. Lemma: G gramer ine ait h height değerine sahip bir parse tree nin ürettiği string in uzunluğu en çok (G) h olabilir. İspat: h = 1 için parse tree gramer içinde bir kuraldır (2.durum). Ençok (G) h = (G) uzunluğunda string üretilir. (S abc, S abcabcabc) h 1 olan her h değeri için yeni bir root oluşur h-1 yüksekliğindeki parse tree leri birbirine bağlar. h+1 için yüksekliği ençok h olan enfazla (G) adet parse tree birbirine bağlanır (3.durum). Her parse tree (G) h uzunluğunda string oluşturur ve toplam en çok (G) h+1 uzunluğunda string oluşur. 3 Yrd.Doç.Dr.Hacer KARACAN

4 R 1 = (A ababa, A aba,...), S R 2 = (S AAA, A ababa,...) h= 1 A A A A a b a b a a b a b a a b a b a a b a b a Pumping Teoremi: G = (V,, R, S) bir CFG olsun. Uzunluğu (G) V- dan büyük her w L(G) string i w = uvxyz şeklinde yazılabilir. Tüm n 0 değerleri için v veya y den birisi boş olmamak kaydıyla uv n xy n z L(G) olur. Bunu sağlamayan non-context-free dildir. Örnek: L = {a n b n c n : n 0} dili non-context-free dir. Bir CFG G = (V,, R, S) için L = L(G) olduğunu düşünelim. w = a n b n c n dile ait olmalıdır ve w = uvxyz şeklinde gösterilebilmelidir. Burada v veya y den en az birisi boş olamaz ve tüm n 0 için uv n xy n z L(G) olmalıdır. Eğer vy string i a, b ve c lerin üçünüde içerirse v ve y den birisi en az ikisini (ab, bc) içerir. uv 2 xy 2 z string i a,b,c lerin sırasını bozar. b lerden sonra a veya c lerden sonra b gelir. Eğer vy string i a, b ve c lerin bir kısmını içerirse uv 2 xy 2 z string i eşit olmayan sayıda a, b ve c ler üretir. 4 Yrd.Doç.Dr.Hacer KARACAN

5 Teorem: Context-free diller complementation ve intersection için kapalı değildir. İspat: {a n b n c m : m,n 0} ile {a m b n c n : m,n 0} dilleri context-free dir. Bu iki dilin kesişimi {a n b n c n : n 0} olur. Bu dil non-context-free dir. L 1 L2 L1 L2 kesişim için de kapalı olurdu. olduğu için eğer complementation için kapalı olsaydı Determinizm ve Parsing Context-free diller programlama dillerinin syntax analizinde yoğun bir şekilde kullanılmaktadır. Programlama dili için geliştirilmiş bir compiler bir parser oluşturmak zorundadır. Parser girilen bir string in ilgili dile ait olup olmadığını belirler. Dile aitse o string için bir parse tree oluşturur. Compiler daha sonra parse tree yi assembly dili gibi temel bir dildeki programa dönüştürür. Compiler için parser oluşturmada en başarılı sonuçlar pushdown otomat ile alınmaktadır. Ancak PDA lar deterministik değildir ve deterministik olarak çalıştırılması zorunludur. Bir pushdown otomat deterministik tir (DPDA) eğer herbir configuration için kendisini izleyen sadece bir configuration varsa. İki transition relation ((p, a, β), (q, γ)) ve ((p, a, β ), (q, γ )) compatible dır eğer ikisinide kabul eden bir durum varsa. 5 Yrd.Doç.Dr.Hacer KARACAN

6 Eğer M pushdown otomat deterministik ise iki farklı compatible geçiş olamaz. Örnek: L = {wcw R : w {a, b} * } dilini kabul eden aşağıdaki PDA deterministik tir M = ( K,, Γ, Δ, s, F), K = {s, f}, = {a, b, c}, Γ = {a, b}, F = {f} Δ toplam 5 adet geçiş ilişkisine sahip olsun; 1. ((s, a, e), (s, a)) 2. ((s, b, e), (s, b)) 3. ((s, c, e), (f, e)) 4. ((f, a, a), (f, e)) 5. ((f, b, b), (f, e)) Herbir durum ve giriş sembolü için sadece bir geçiş vardır. Örnek: L = {ww R : w {a, b} * } dilini kabul eden aşağıdaki PDA deterministik değildir M = ( K,, Γ, Δ, s, F), K = {s, f}, = {a, b}, Γ = {a, b}, F = {f} Δ toplam 5 adet geçiş ilişkisine sahip olsun; 1. ((s, a, e), (s, a)) 2. ((s, b, e), (s, b)) 3. ((s, e, e), (f, e)) 4. ((f, a, a), (f, e)) 5. ((f, b, b), (f, e)) Transition 3, 1 ve 2 ile compatible dır. Ayrıca string in orta noktası tahmin edilmektedir. Deterministik context-free diller DPDA tarafından kabul edilir. 6 Yrd.Doç.Dr.Hacer KARACAN

7 Deterministik context-free diller giriş string inin sonunu gösterebilmelidirler. L * deterministik context-free dildir eğer DPDA M için L$ = L(M) ise. Burada $ işareti string in sonunu göstermektedir ve $ dir. $ işareti tüm string lere otomatik olarak eklenmiştir. Top-Down Parsing Örnek : L = {a n b n : n 0 } context-free dildir ve G = ({a, b, S}, {a, b}, R, S) gramer i tarafından üretilir. R = (S e, S asb) kurallarına sahiptir. Önce bir PDA oluşturalım. M 1 = ({p, q}, {a, b}, {a, b, S}, Δ 1, p, {q}). Δ 1 ={((p, e, e), (q, S)), ((q, e, S), (q, asb)), ((q, e, S), (q, e)), ((q, a, a), (q, e)), ((q, b, b), (q, e))} M 1 otomatı deterministik hale dönüştürülebilir ve L$ dilini kabul eder. M 2 =({p, q, q a, q b, q $ }, {a, b}, {a, b, S}, Δ 2, p, {q $ }) Δ 2 ={((p, e, e), (q, S)), (1) ((q b, e, b), (q, e)), (5) ((q, a, e), (q a, e)), (2) ((q, $, e), (q $, e)), (6) ((q a, e, a), (q, e)), (3) ((q a, e, S), (q a, asb)), (7) ((q, b, e), (q b, e)), (4) ((q b, e, S), (q b, e)) } (8) M 2 q durumundayken stack ta işlem yapmadan girişten bir sembol okur ve q a, q b veya q $ durumlarından birisine geçer. Böylece compatible iki geçiş olan ((q, e, S), (q, asb)) ve ((q, e, S), (q, e)) geçişlerini ayırır. 7 Yrd.Doç.Dr.Hacer KARACAN

8 DPDA M 2 nin ab$ için geçişleri aşağıda verilmiştir. M 2, L = {a n b n } diline ait string leri tanımak için deterministik olarak çalışır. M 2 giriş string ini leftmost derivation ile üretir. Örnekteki 3. ve 6. adımlar parse tree nin oluşturulduğu adımlardır. M 2 string in dile ait olup olmadığını bulur, aynı anda parse tree oluşturur. Parse tree compiler ların kullandığı parser larda assembly dilinde program oluşturmak için kullanılmaktadır. 8 Yrd.Doç.Dr.Hacer KARACAN

9 M 2 top-down parser dır, parse tree top-down ve left-to-right yaklaşımıyla oluşur. Örnek: Daha önce doğru yazılmış aritmetik ifadeler için oluşturulmuş gramer e F (E), şeklinde bir kural ekleyelim. Bu yeni kural fonksiyon çağırmalarını sağlar. (Örn.: sqrt(x * x + 1) ) Bu gramer için bir top-down parser oluşturalım. M 3 = ({p, q},, Γ, Δ, p, {q}), = {(, ), +, *, id}, Γ = {E, T, F} Δ= 0. ((p, e, e), (q, E)) 1. ((q, e, E), (q, E+T)) 2. ((q, e, E), (q, T)) 3. ((q, e, T), (q, T*F)) 4. ((q, e, T), (q, F)) 5. ((q, e, F), (q, (E))) 6. ((q, e, F), (q, id)) 7. ((q, e, F), (q, id(e))) ve son olarak tüm a için ((q, a, a), (q, e)) Δ olsun. 9 Yrd.Doç.Dr.Hacer KARACAN

10 Bu otomatta nondeterminizm 1-2, 3-4 ve kurallarından kaynaklanmaktadır. Transition 6 ve 7: M 3 otomatının (q, id, F) konfigürasyonunda olduğunu düşünelim. M 3 bu durumda 5, 6 veya 7 geçişlerinden birisini seçebilir. Input string teki bir sonraki sembole (id) bakarak 5 elenir. Transition 5 te (()bir sonraki semboldür. Ancak bir sonraki sembol 6 ve 7 için aynıdır (id). Bu problem sağ tarafı aynı olmasada ilk sembolü aynı olan F id ve F id(e) kurallarından kaynaklanmaktadır. F id ve F id(e) kurallarının yerine F ida, A e ve A (E) kuralları konularak giderilebilir. Burada A yeni bir nonterminaldir. Transition 6 ve 7 yerine aşağıdaki kurallar konur; 6. ((q, e, F), (q, ida)) 7. ((q, e, A), (q, e)) 8. ((q, e, A), (q, (E))) Geçişler (q, id(id), F) M (q, id(id), ida) M (q, (id), A) M (q, (id), (E)) M... olur. Nondeterminismi ortadan kaldırmak için kullanılan bu teknik left factoring olarak adlandırılır. Aşağıdaki kural ile özetlenebilir; Heuristic Rule 1: Eğer A αβ 1, A αβ 2,..., A αβ n şeklinde kurallar varsa ve α e ve n 2 ise, bu kurallar A αa, A β i kurallarıyla değiştirilir. A yeni nonterminaldir. 10 Yrd.Doç.Dr.Hacer KARACAN

11 Transition 1 ve 2: Eğer M 3 otomatı bir sonraki input sembol için id görürse, ve stack taki E ise birkaç farklı işlem yapılabilir. Transition 2 yapılarak E yerine T yazılır. Girişin sadece id olması durumunda bu geçerlidir. Transition 1 kullanılarak E yerine E + T yazılır. Girişin id + id olması durumunda geçerlidir. Transition 1 iki defa ve Transition 2 bir defa kullanılabilir. Girişin id + id + id olması durumunda geçerlidir. Burada sağ taraftaki işlemin kaç defa tekrarlanacağının sınırı belli değildir. Bu olay left recursion olarak adlandırılır. Bu problem E E + T kuralından kaynaklanmaktadır. Soldaki nonterminal sağdaki ilk semboldür. E E + T ve E T kuralları yerine E TE, E +TE ve E e kuralları konularak giderilebilir. Burada E yeni bir nonterminaldir. Aynı işlem T T * F, T F içinde yapılır. T FT, T *FT ve T e Örnekteki gramer in son şekli aşağıdaki gibi olur. G = (V,, R, E), V = {E, E, T, T, F, A}, R = 1. E TE 6. T e 2. E +TE 7. F (E) 3. E e 8. F ida 4. T FT 9. A e 5. T *FT 10. A (E) 11 Yrd.Doç.Dr.Hacer KARACAN

12 Nondeterminizmi ortadan kaldırmak için kullanılan bu left recursion tekniği aşağıdaki kural ile özetlenebilir; Heuristic Rule 2: Eğer A Aα 1,..., A Aα n ve A β 1,...,A β m şeklinde kurallar varsa ve β i ler A ile başlamıyorsa ve n > 0 ise, bu kurallar A β 1 A,..., A β m A ve A α 1 A,..., A α n A ve A e kurallarıyla değiştirilir. A yeni nonterminaldir. Örnek: Önceki gramer i tanıyan DPDA M 4 = L(G )$ oluşturalım. M 4 = (K, {$}, V, Δ, p, {q $ }), K = {p, q, q id, q +, q *, q ), q (, q $ }, Δ=((p, e, e), (q, E)) ((q, a, e), (q a, e)) tüm a { $ } ((q a, e, a), (q, e)) tüm a ((q a, e, E), (q a, TE )) tüm a { $ } ((q +, e, E ), (q +, +TE )) ((q a, e, E ), (q a, e)) tüm a { ), $ } ((q a, e, T), (q a, FT )) tüm a { $ } ((q *, e, T ), (q *, *FT )) ((q a, e, T ), (q a, e)) tüm a { +, ), $ } ((q (, e, F), (q (, (E))) ((q id, e, F), (q id, ida)) ((q (, e, A), (q (, (E))) ((q a, e, A), (q a, e)) tüm a { +, *, ), $ } 12 Yrd.Doç.Dr.Hacer KARACAN

13 M 4 deterministik pushdown otomat ı G gramer i için bir parser dır. id * (id)$ giriş string i aşağıdaki tabloda görüldüğü gibi kabul edilir. 13 Yrd.Doç.Dr.Hacer KARACAN

14 G deki kurallar ile stack üzerinde nonterminal değiştirilen adımlar tabloda son sütunda numaralandırılmıştır. Sırayla bu kurallar uygulandığında id*(id)$ string inin leftmost derivation ı elde edilir. Oluşturulan parse yandadır. E TE FT E idt E id *FT E id *(E)T E id *(TE )T E id *(FT E )T E id *(idt E )T E id *(ide )T E id *(id)t E id *(id)e id *(id) Parse tree top-down ve left-first olarak oluşmuştur. Bottom-Up Parsing Context-free dillerin parse edilmesinde en iyi yol yoktur. Farklı gramer ler için farklı yöntemler vardır. 14 Yrd.Doç.Dr.Hacer KARACAN

15 Farklı bir yaklaşımda otomat ilk önce girişi okur ve derivation sonra yapılır. Sonuçta parse tree yapraklardan root node a doğru gerçekleşir. Bu yöntemler bottom-up olarak adlandırılırlar. G = (V,, R, S) bir CFG için M = (K,, Γ, Δ, p, F) bottom-up pushdown otomat ı oluşturalım. Burada K = {p, q}, Γ = V, F = {q} ve Δ aşağıdaki geçişlere sahip olsun. 1. ((p, a, e), (p, a)) tüm a için 2. ((p, a, α R ), (p, A)) tüm A α R için 3. ((p, e, S), (q, e)) Her transition bir transition sınıfını göstermektedir. Transition 1 input sembolleri stack a aktarır. Transition 2 stack ta kuralların sağ kısmının yerine sol kısmını değiştirir. Kuralların sağ kısmı ters sırada bulunmalıdır. Transition 3 ise sonuç durumuna geçerek çalışmayı sonlandırmayı sağlar. Örnek: Aritmetik deyimleri üreten gramer için bir bottom-up pushdown otomat oluşturalım. Kurallar aşağıdaki gibi olsun. E E + T (R1) E T (R2) T T * F (R3) T F (R4) F (E) (R5) F id (R6) M pushdown otomat ı için aşağıdaki geçişler oluşturulur. 15 Yrd.Doç.Dr.Hacer KARACAN

16 (p, a, e), (p, a) tüm a için (Δ0) (p, e, T + E), (p, E) (p, e, T), (p, E) (p, e, F * T), (p, T) (p, e, F), (p, T) (p, e, )E(), (p, F) (p, e, id), (p, F) (p, e, E), (q, e) (Δ1) (Δ2) (Δ3) (Δ4) (Δ5) (Δ6) (Δ7) id * (id) aşağıdaki gibi kabul edilir. M otomatı deterministik değildir. Çünkü Δ0 diğer tüm geçişlerle (Δ1 - Δ8) compatible dir. 16 Yrd.Doç.Dr.Hacer KARACAN

17 Herhangi bir anda M bir terminali stack a aktarabilir (1, 4, 5, 6 ve 10 adımlar) veya stack taki birkaç sembolü bir kuralın sağ kısmı olarak elde edebilir. Kuralın sağ kısmı olarak görülen string sol kısımla değiştirilerek indirgenir (Δ1 Δ6). İndirgeme yapılan adımlar ters sırada alınırsa rightmost derivation yapılır. İndirgeme yapılan adımların ters sırada alınmasıyla elde edilen rightmost derivation aşağıdaki gibidir. E T T * F T * (E) T * (T) T * (F) T * (id) F * (id) id * (id) 17 Yrd.Doç.Dr.Hacer KARACAN

! " # $ % & '( ) *' ' +, -. /.,

!  # $ % & '( ) *' ' +, -. /., !"#$ %& '()*' ' +,-./.,-. 0 12.30.420 ,-./.,-,-.5' $-.5 6# #",-.5 2(3 # #",-.5 6') 7 2(3 87" $-.5.$-.5) 7 # * ",222 2 #5# * #)7 #7",-./.,- Theorem: Context-free diller union, concatenation ve Kleene star

Detaylı

BAĞLAMDAN BAĞIMSIZ (CONTEXT-FREE) GRAMERLER (CFG) VE DİLLER (CFL)

BAĞLAMDAN BAĞIMSIZ (CONTEXT-FREE) GRAMERLER (CFG) VE DİLLER (CFL) BAĞLAMDAN BAĞIMSIZ (CONTEXT-FREE) GRAMERLER (CFG) VE DİLLER (CFL) Dil tanıyıcı cihaz bir dile ait geçerli string leri kabul eder. Dil üreteci cihaz bir dile ait string leri oluşturur. Dil üreteci cihazlar

Detaylı

1 $/ " {ww R : w {a, b} * } ## S asa, S bsb S e#(3 * 5 $(6 )# (2 #$,(- (25 #5

1 $/  {ww R : w {a, b} * } ## S asa, S bsb S e#(3 * 5 $(6 )# (2 #$,(- (25 #5 !"#$ %& '()*' ' +,./0% 1 $/02 2 3 " {ww R : w {a, b} * } ## #4 S asa, S bsb S e#(3 5 2'5" * 5 $(6 )# (2 #$ 5#77 #" ' #" (25 #5 #" 8)5*# 73'" 5#$#$257" 379()379" :))##2)7 5)32) #5 6*" :5)$#$2#5" ;! Pushdown

Detaylı

! " # $ % & '( ) *' ' +, -. /) /) 0 # /) %, %, 1 2

!  # $ % & '( ) *' ' +, -. /) /) 0 # /) %, %, 1 2 !"#$ %& '()*' ' +,-./) /) 0 #/) %,%, 12 $$(/3#/ " '$$(/34" '$$(//44 / 4 /4/ 4# ##4" 5-6/'$##/" 7#! a(a * b * )b regular expression ile önce bir a üretilir. Ardından iki durumdan birisine göre devam edilir.

Detaylı

Syntax Analysis. 4/5/2004 Formal Diller 4.1

Syntax Analysis. 4/5/2004 Formal Diller 4.1 Syntax Analysis Her programlama dilinin yazilan bir programin syntax olarak dogru olup olmadigini belirleyen kurallari vardir. Programlama dillerinin syntactic yapisi Contex-Free Grammer / BNF (Backus-Naur

Detaylı

! " # $ % & '( ) *' ' +, -. / $ 2 (.- 3( 3 4. (

!  # $ % & '( ) *' ' +, -. / $ 2 (.- 3( 3 4. ( !"#$ %& '()*' ' +,-. / 0 100$ 2 (.-3( 34.( ,-. '45 45 6#5 6+ 6"#0" '7086 $ $ 89 44" :#! ;{0, 1, 2, 3,..., 9}, L * olarak tanımlı olsun ve sadece 2 ye veya 3 e bölünebilen ve önünde 0 olmayan pozitif sayılara

Detaylı

Regular Expression vs. Context-Free Grammars. Ambiguity. NFA to CFG. Neden RE ler kullanilir?

Regular Expression vs. Context-Free Grammars. Ambiguity. NFA to CFG. Neden RE ler kullanilir? Ambiguity Ambiguous Grammar: Bazi sentence lar icin birden fazla parse tree ureten grammarlere denir. Ambiguous Grammar ler bazi sentence lari birden fazla leftmost/rightmost derivation larla utetirler.

Detaylı

Dilbilgisi ve Diller

Dilbilgisi ve Diller Dilbilgisi ve Diller Doç.Dr.Banu Diri 1. Her biçimsel dil belirli bir alfabe üzerinde tanımlanır. 2. Alfabe sonlu sayıda simgelerden oluşan bir kümedir. 3. Alfabedeki simgelerin arka arkaya getirilmesi

Detaylı

Formal Diller Ve Otomat Teorisi

Formal Diller Ve Otomat Teorisi Formal Diller Ve Otomat Teorisi Ismail Kadayif Canakkale Onsekiz Mart Universitesi Bilgisayar Muhendisligi 4/5/2004 Formal Diller 1.1 Strings ve Languages (Diller) alphabet (character set): Sonlu sayida

Detaylı

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114) Otomata Teorisi (BİL 2114) Fırat İsmailoğlu Hafta 8: İçerikten Bağımsız Diller (I1I. Bölüm) 1 Hafta 8 Plan l. Pushdown Otomata (PDO) Giriş 2. PDO Geçişler 3. PDO Ornekler 4. PDO nun Formal Gösterimi 5.

Detaylı

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114) Otomata Teorisi (BİL 2114) Fırat İsmailoğlu Hafta 6: Pumping Lemma İçerikten Bağımsız Diller (1. Bölüm) 1 Hafta 6 Plan 1. Olmayana Ergi Yöntemi 2. Güvercin Yuvası Prensibi 3. Pumping Lemma 4. İçerikten

Detaylı

Derleyici Kuramı (Compiler Theory)

Derleyici Kuramı (Compiler Theory) Derleyici Kuramı (Compiler Theory) Yrd. Doç. Dr. Şadi Evren ŞEKER Bu sunum, İstanbul Üniversitesi, Bilgisayar Mühendisliği, BMG dersi kapsamında hazırlanmıştır ve kavramlara genel bir giriş yapmayı hedefler.

Detaylı

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114) Otomata Teorisi (BİL 2114) Fırat İsmailoğlu Hafta 9: Turing Makinesi (I. Bölüm) 1 Hafta 9 Plan l. Turing Makinesi (TM) Örnek 2. TM Giriş 3. TM Yapısı 4. TM Bantının Özellikleri 5. TM Formal Gösterimi 6.

Detaylı

Otomata Teorisi (BİL 2114)

Otomata Teorisi (BİL 2114) Otomata Teorisi (BİL 2114) Fırat İsmailoğlu Hafta 4: Düzenli İfadeler (I. Bölüm) 1 Hafta 4 Plan 1. Düzenli Diller 2. Düzenli Operatörler 3. Düzenli İfade Örnekleri i. R den L ye ii. L den R ye 4. Online

Detaylı

Chomsky Hiyerarşisi. Düzenli Diller ve Đfadeler 03/09/2014. Doç.Dr.Banu Diri

Chomsky Hiyerarşisi. Düzenli Diller ve Đfadeler 03/09/2014. Doç.Dr.Banu Diri Düzenli Diller ve Đfadeler Doç.Dr.Banu Diri Chomsky Hiyerarşisi 0 1 2 3 Karmaşıklık Özyinelemeli Sayılabilir Diller (Recursively Enumerable) Bağlama Bağımlı Diller (Context- Sensitive) Bağlamdan Bağımsız

Detaylı

YZM Biçimsel Diller ve Otomata Teorisi. Ders#06

YZM Biçimsel Diller ve Otomata Teorisi. Ders#06 YZM 3229- Biçimsel Diller ve Otomata Teorisi Ders#06 İçerikten Bağımsız Diller İçerikten Bağımsız Diller (Context-Free Languages) Şu ana değin Düzenli Dilleri İfade Etmek için Kullanılabilecek Yapıları

Detaylı

,$( -./(,$( 0$0$ 1 2 134(,$(

,$( -./(,$( 0$0$ 1 2 134(,$( !"#$ %& '()*' ' + -./( 0$0$ 1 2 134( 5(/ 4 2 " $#56L = {a n b n c n : n 0}222 #.(.)", #22(# 7# 2", #6,489: 7", #24$62.. ' # #2(; 7 #", #2, #2.24$;7" $.7 2# < #44 )" -2 # 22)#( #4# 7 #7= 8"- 2 " >"",.'#

Detaylı

VEKTÖR UZAYLARI 1.GİRİŞ

VEKTÖR UZAYLARI 1.GİRİŞ 1.GİRİŞ Bu bölüm lineer cebirin temelindeki cebirsel yapıya, sonlu boyutlu vektör uzayına giriş yapmaktadır. Bir vektör uzayının tanımı, elemanları skalar olarak adlandırılan herhangi bir cisim içerir.

Detaylı

BM312 Ders Notları 2014

BM312 Ders Notları 2014 Kümeler ve Bağıntılar Bir küme nesnelerden oluşur L = {a, b, c, d} a, b, c, d kümenin elemanları veya üyeleridir c L, k L şeklinde ifade edilir. Elemanların sırası ve tekrarı önemli değildir {üzüm, kiraz,

Detaylı

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler

Lineer Cebir. Doç. Dr. Niyazi ŞAHİN TOBB. İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler Lineer Cebir Doç. Dr. Niyazi ŞAHİN TOBB İçerik: 1.1. Lineer Denklemlerin Tanımı 1.2. Lineer Denklem Sistemleri 1.3. Matrisler Bölüm 1 - Lineer Eşitlikler 1.1. Lineer Eşitliklerin Tanımı x 1, x 2,..., x

Detaylı

Otomata Teorisi (BIL 2114)

Otomata Teorisi (BIL 2114) Otomata Teorisi (BIL 2114) Hafta 1: Amaç ve Genel Kavramlar bas kapa aç bas 1 Hafta 1 Plan 1. İletişim ve Ders Bilgisi 2. Otomata Teorisi Genel Bakış 3. Hedeflenen Kazanımlar 4. Matematiksel Nosyonlar

Detaylı

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 1

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 1 FORMEL DİLLER VE SOYUT MAKİNALAR Hafta 1 DİL VE FORMEL DİL KAVRAMLARI Dil, insanların karmaşık iletişim sistemlerini edinme ve kullanma becerisidir. Bir dilin formel olabilmesi için bazı niteliklerinin

Detaylı

Context-Free Grammars and Languages

Context-Free Grammars and Languages Context-Free Grammars and Languages We have seen that many languages cannot be regular. Thus we need to consider larger classes of langs, called Context- Free Languages (CFL). These langs have a natural,

Detaylı

! " # $ % & '( ) *' ' +, $ $ - $ (. $- $ ( / $ % / $ 0 -( 1( $ (2- -(

!  # $ % & '( ) *' ' +, $ $ - $ (. $- $ ( / $ % / $ 0 -( 1( $ (2- -( !"#$ %& '()*' ' +. $-$( /$% /$0 -(1($(2--( 3 #*'- # 4(5 (6" #7##0 7 $$(5 (6",7 - #, $$ -$(2,-0 # # *'6' (6" 6(50 #" #06 $8# 0 #0 7" 976 0#$ 6 $$" 76 $:;)8) (6",-07#$87 07" $8#< 6 $ < 6))70" ,-$#',-$#'

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya

Detaylı

BM312 Ders Notları - 3 2014

BM312 Ders Notları - 3 2014 DETERMİNİSTİK SONLU OTOMATLAR (DETERMINISTIC FINITE AUTOMATA) Bir Sonlu Otomat (FA) sabit ve sonlu kapasitede bir merkezi işlem ünitesine sahiptir. Giriş bilgisini input tape üzerinden string olarak alır.

Detaylı

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES)

BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES) BÖLÜNMÜŞ FARKLAR (DİVİDED DİFFERENCES) Lagrange ve Neville yöntemlerinin bazı olumsuz yanları vardır: İşlem sayısı çok fazladır (bazı başka yöntemlere kıyasla) Data setinde bir nokta ilavesi veya çıkartılması

Detaylı

MİNTERİM VE MAXİTERİM

MİNTERİM VE MAXİTERİM MİNTERİM VE MAXİTERİM İkili bir değişken Boolean ifadesi olarak değişkenin kendisi (A) veya değişkenin değili ( A ) şeklinde gösterilebilir. VE kapısına uygulanan A ve B değişkenlerinin iki şekilde Boolean

Detaylı

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır.

Buna göre, eşitliği yazılabilir. sayılara rasyonel sayılar denir ve Q ile gösterilir. , -, 2 2 = 1. sayıdır. 2, 3, 5 birer irrasyonel sayıdır. TEMEL KAVRAMLAR RAKAM Bir çokluk belirtmek için kullanılan sembollere rakam denir. 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sembolleri birer rakamdır. 2. TAMSAYILAR KÜMESİ Z = {..., -3, -2, -1, 0, 1, 2, 3, 4,... }

Detaylı

Bil 2114 Otomata Teorisi Çalışma Soruları ve Cevapları III (Hafta 7,8,9)

Bil 2114 Otomata Teorisi Çalışma Soruları ve Cevapları III (Hafta 7,8,9) Bil 2114 Otomata Teorisi Çalışma Soruları ve Cevapları III (Hafta 7,8,9) 1. Formal olarak G = ({S}, {a, b}, R, S) ve R türetim kuralları olarak verilen grammerinin türettği dili bulunuz. S asa S bsb Cevap:

Detaylı

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 3

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 3 FORMEL DİLLER VE SOYUT MAKİNALAR Hafta 3 Karmaşıklık CHOMSKY HİYERARŞİSİ 0 1 2 3 Özyinelemeli - Sayılabilir Diller : Turing Makinesi (Recursively Enumerable Languages : Turing Machine) Bağlama - Duyarlı

Detaylı

Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur.

Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur. 4. EKLE SEKMESİ Ekle sekmesi Excel de tablo, grafik, köprü ve resim eklendiği sekmedir. 4.1. Tablolar Ekle sekmesindeki Tablolar grubundaki Tablo seçeneği ile tablo oluşturulur. Tablo oluşturulmak istenen

Detaylı

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1

2 İlişkisel Veritabanı Tasarımı. Veritabanı 1 2 İlişkisel Veritabanı Tasarımı Veritabanı 1 Veritabanı Tasarımı Tasarım yapılırken izlenecek adımlar; Oluşturulacak sistemin nelerden oluşması gerektiği ve hangi işlemlerin hangi aşamalarda yapıldığı

Detaylı

Tokenlarin Taninmasi

Tokenlarin Taninmasi Tokenlarin Taninmasi stmt t if expr then stmt if expr then stmt else stmt expr t term relop term term term t id num if, then, else, relop, id, ve num terminal (token), stmt, expr, term nonterminal olarak

Detaylı

11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler

11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler 11.Konu Tam sayılarda bölünebilme, modüler aritmetik, Diofant denklemler 1. Asal sayılar 2. Bir tam sayının bölenleri 3. Modüler aritmetik 4. Bölünebilme kuralları 5. Lineer modüler aritmetik 6. Euler

Detaylı

DERLEYİCİ TASARIMI ÖDEV-2 RAPORU

DERLEYİCİ TASARIMI ÖDEV-2 RAPORU DERLEYİCİ TASARIMI ÖDEV-2 RAPORU Nadia Erdoğan Mustafa Cantürk (Image generated by unlicensed version of UMLStudio.) Sınıf tanımları: Token: tokenize() fonksiyonu sonucunda gelen stringi Token lara ayrılır.

Detaylı

1.4. KISMİ SIRALAMA VE DENKLİK BAĞINTILARI

1.4. KISMİ SIRALAMA VE DENKLİK BAĞINTILARI Reel sayılar kümesinin "küçük ya da eşit", bağıntısı ile sıralanmış olduğunu biliyoruz. Bu bağıntı herhangi bir X kümesine aşağıdaki şekilde genelleştirilebilir. Bir X kümesi üzerinde aşağıdaki yansıma,

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR

KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR KARAKTER DİZGİLERİ, BAĞINTILAR, FONKSİYONLAR KESİKLİ MATEMATİKSEL YAPILAR 2012-2013 Karakter Dizgisi Karakter Dizgisi Üzerine İşlemler Altdizgi Tanım 3.1.1: Bir X kümesi üzerinde bir karakter dizgisi (string)

Detaylı

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş Yard. Doç. Dr. Alper Kürşat Uysal Bilgisayar Mühendisliği Bölümü akuysal@anadolu.edu.tr Ders Web Sayfası: http://ceng.anadolu.edu.tr/ders.aspx?dersid=101

Detaylı

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Soruları A KİTAPÇIĞI

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Soruları A KİTAPÇIĞI Sayfa#1(A Kitapçığı) Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 3229- Biçimsel Diller ve Otomata Teorisi Final Sınavı Soruları A KİTAPÇIĞI Bahar 2017-2018 Süre: 45 Dakika Adı ve Soyadı

Detaylı

EK 2: VADELİ İŞLEM VE OPSİYON PİYASASI HATALI İŞLEM DÜZELTME KILAVUZU. 2.1 Hatalı Hesap: Orijinal emrin girilmiş olduğu hesaptır.

EK 2: VADELİ İŞLEM VE OPSİYON PİYASASI HATALI İŞLEM DÜZELTME KILAVUZU. 2.1 Hatalı Hesap: Orijinal emrin girilmiş olduğu hesaptır. EK 2: VADELİ İŞLEM VE OPSİYON PİYASASI HATALI İŞLEM DÜZELTME KILAVUZU 1. GİRİŞ Hatalı işlem düzeltmeleri 20 Aralık 2013 tarihinden itibaren üyeler tarafından yapılabilecektir. Hatalı işlem düzeltmelerinin

Detaylı

Ağaçlar (Trees) Ağaçlar (Trees)

Ağaçlar (Trees) Ağaçlar (Trees) Giriş Binary Trees (İkilik Ağaçlar) Full Binary Trees Proper Binary Trees Complete Binary Trees Heap Binary Trees Balanced Binary Trees Binary Search Trees (İkilik Arama Ağaçları) Yrd.Doç.Dr. M. Ali Akcayol

Detaylı

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1

Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1 Ağaç Yapıları (Tree Structures) Kütük Organizasyonu 1 İçerik Temel Kavramlar Ağaçlarda Dolaşım İkili Ağaçlar (Binary Trees) İkili Arama Ağacı (Binary Search Tree ve Temel İşlemler Kütük Organizasyonu 2

Detaylı

Boole Cebri. (Boolean Algebra)

Boole Cebri. (Boolean Algebra) Boole Cebri (Boolean Algebra) 3 temel işlem bulunmaktadır: Boole Cebri İşlemleri İşlem: VE (AND) VEYA (OR) TÜMLEME (NOT) İfadesi: xy, x y x + y x Doğruluk tablosu: x y xy 0 0 0 x y x+y 0 0 0 x x 0 1 0

Detaylı

1. BÖLÜM DÜZLEM GEOMETRİNİN TEMEL KAVRAMLARI İÇİNDEKİLER

1. BÖLÜM DÜZLEM GEOMETRİNİN TEMEL KAVRAMLARI İÇİNDEKİLER 1. BÖLÜM DÜZLEM GEOMETRİNİN TEMEL KAVRAMLARI İÇİNDEKİLER 1. TANIMSIZ KAVRAM, AKSİYOM, TEOREM VE İSPAT NE DEMEKTİR? 2. NOKTA, DOĞRU, DÜZLEM VE UZAY KAVRAMLARI * Nokta, Doğru ve Düzlem * Doğru Parçası *

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Koşul Karşılaştırma Operatörleri Mantıksal

Detaylı

BSE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits)

BSE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates And Logic Circuits) SE 207 Mantık Devreleri Lojik Kapılar ve Lojik Devreler (Logic Gates nd Logic Circuits) Sakarya Üniversitesi Lojik Kapılar - maçlar Lojik kapıları ve lojik devreleri tanıtmak Temel işlemler olarak VE,

Detaylı

14.Konu Reel sayılarının topolojisi. 1.Tanım:, verilsin. açık aralığına noktasının -komşuluğu denir. { } kümesine nın delinmiş -komşuluğu denir.

14.Konu Reel sayılarının topolojisi. 1.Tanım:, verilsin. açık aralığına noktasının -komşuluğu denir. { } kümesine nın delinmiş -komşuluğu denir. 14.Konu Reel sayılarının topolojisi 1.Teorem: cismi tamdır. 1.Tanım:, verilsin. açık aralığına noktasının -komşuluğu denir. { } kümesine nın delinmiş -komşuluğu denir. 2.Tanım: ve verilsin. nın her komşuluğunda

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 VERİ YAPILARI Sunu Planı Kendini-gösteren Yapılar Dinamik Bellek Tahsisi Bağlı Listeler Yığınlar Kuyruklar Ağaçlar 1 Veri Yapıları Şu ana kadar, diziler, matrisler ve yapılar

Detaylı

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Örnek Soruları A0 KİTAPÇIĞI

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Biçimsel Diller ve Otomata Teorisi. Final Sınavı Örnek Soruları A0 KİTAPÇIĞI Sayfa#1(A0 Kitapçığı) Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 3229- Biçimsel Diller ve Otomata Teorisi Final Sınavı Örnek Soruları A0 KİTAPÇIĞI Bahar 2017-2018 Süre: 45 Dakika Adı

Detaylı

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 2

FORMEL DİLLER VE SOYUT MAKİNALAR. Hafta 2 FORMEL DİLLER VE SOYUT MAKİNALAR Hafta 2 OTOMATA TEORİSİ Otomata teorisi (özdevinim kuramı ya da otomat teorisi), teorik bilgisayar biliminde soyut makineleri (ya da daha uygun bir deyimle soyut 'matematiksel'

Detaylı

FORMÜLLER VE FONKSİYONLAR

FORMÜLLER VE FONKSİYONLAR C FORMÜLLER VE FONKSİYONLAR Konuya Hazırlık 1. Excel de formül kullanmanın faydalarını açıklayınız. Formüller, bir sayfadaki verileri kullanarak işlem yapan denklemlerdir. Bir formülde, aynı sayfadaki

Detaylı

Kafes Yapıları. Hatırlatma

Kafes Yapıları. Hatırlatma Kafes Yapıları Ders 7 8-1 Hatırlatma Daha önce anlatılan sıra bağıntısını hatırlayalım. A kümesinde bir R bağıntsı verilmiş olsun. R bağıntısı; a. Yansıma (Tüm a A için, sadece ve sadece ara ise yansıyandır(reflexive)).

Detaylı

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No.

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013. Ad, Soyad Öğrenci No. Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü BLGM 318 Ara Sınavı 2012 2013 Đlkbahar Dönemi 13 Nisan 2013 Ad, Soyad Öğrenci No. : : Öğretim Üyesi: Doç. Dr. Zeki BAYRAM Süre: 100 dakika Talimatlar:

Detaylı

BÖLÜM 3: AKIŞ DİYAGRAMLARI

BÖLÜM 3: AKIŞ DİYAGRAMLARI BÖLÜM 3: AKIŞ DİYAGRAMLARI Geliştirilecek olan yazılımın genel yapısının şematik gösterimine akış diyagramı (flowchart) adı verilir. Akış diyagramları, yazılımı oluşturacak program parçalarını ve bu parçaların

Detaylı

MATM 133 MATEMATİK LOJİK. Dr. Doç. Çarıyar Aşıralıyev

MATM 133 MATEMATİK LOJİK. Dr. Doç. Çarıyar Aşıralıyev MATM 133 MATEMATİK LOJİK Dr. Doç. Çarıyar Aşıralıyev 4.KONU Latisler, Boole Cebri 1. Kısmi sıralı kümeler 2. Hasse Diyagramı 3. Infimum, Supremum 4. Latis (Kafes Lattice) 5. Latis (Kafes) Yapıları ve Özellikleri

Detaylı

Tanım Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki. boş karakter dizgisi (null string) denir ve l ile gösterilir.

Tanım Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki. boş karakter dizgisi (null string) denir ve l ile gösterilir. BÖLÜM 3 Karakter Dizgileriil i Tanım 3.1.1 Bir X kümesi üzerinde bir karakter dizgisi (string) X kümesindeki öğelerden oluşan bir sonlu dizidir. Hiç bir öğesi olmayan bir karakter dizgisine boş karakter

Detaylı

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF

ANA SINIF TÜRETİLEN BİRİNCİ SINIF TÜRETİLEN İKİNCİ SINIF JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kalıtım Kavramı Java da Çok Biçimlilik Kavramı Fonksiyonların Çok Biçimliliği Yapıcı Fonksiyonun Çok Biçimliliği Java da Kalıtım Kavramı 4 Kalıtım;

Detaylı

BÖLÜM 2 Biçimsel Dillerin Matematiksel Temelleri

BÖLÜM 2 Biçimsel Dillerin Matematiksel Temelleri BÖLÜM 2 Biçimsel Dillerin Matematiksel Temelleri 2.1 Kümeleri tümevarım yolu ile tanımlama E tanımlanacak küme olsun: Taban: Yapı taşı elemanları kümesi veya taban B ile gösterilsin. Bu kümenin içindeki

Detaylı

8. HOMOMORFİZMALAR VE İZOMORFİZMALAR

8. HOMOMORFİZMALAR VE İZOMORFİZMALAR 8. HOMOMORFİZMALAR VE İZOMORFİZMALAR Şimdiye kadar bir gruptan diğer bir gruba tanımlı olan fonksiyonlarla ilgilenmedik. Bu bölüme aşağıdaki tanımla başlayalım. Tanım 8.1: ve iki grup ve f : G H bir fonksiyon

Detaylı

Bilgisayar Programlama MATLAB

Bilgisayar Programlama MATLAB What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi

Detaylı

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:

Programın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir: Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler

Detaylı

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 Akış Diyagramları ve Sözde Kodlar Yük. Müh. Köksal GÜNDOĞDU 2 Sözde Kodlar (pseudo-code) Yük. Müh. Köksal GÜNDOĞDU 3 Sözde Kod Sözde

Detaylı

Ders 8: Konikler - Doğrularla kesişim

Ders 8: Konikler - Doğrularla kesişim Ders 8: Konikler - Doğrularla kesişim Geçen ders RP 2 de tekil olmayan her koniğin bir dönüşümün ardından tek bir koniğe dönüştüğü sonucuna vardık; o da {[x : y : z x 2 + y 2 z 2 = 0]} idi. Bu derste bu

Detaylı

PROGRAMLAMAYA GİRİŞ DERS 2

PROGRAMLAMAYA GİRİŞ DERS 2 PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı

Detaylı

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

DOSYA ORGANİZASYONU. Ağaç Yapıları ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DOSYA ORGANİZASYONU ÖZLEM AYDIN TRAKYA ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ Ağaç Yapıları Sunum planı Genel kavramlar İkili ağaç İkili arama ağacı AVL Tree B-Tree Genel Kavramlar Bir ağaç yapısı

Detaylı

2 İlişkisel Veritabanı Tasarımı ve Normalizasyon. Veritabanı 1

2 İlişkisel Veritabanı Tasarımı ve Normalizasyon. Veritabanı 1 2 İlişkisel Veritabanı Tasarımı ve Normalizasyon Veritabanı 1 Veritabanı Tasarımı Tasarım yapılırken izlenecek adımlar; Oluşturulacak sistemin nelerden oluşması gerektiği ve hangi işlemlerin hangi aşamalarda

Detaylı

ELN1001 BİLGİSAYAR PROGRAMLAMA I

ELN1001 BİLGİSAYAR PROGRAMLAMA I ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave

Detaylı

SAYILAR MATEMATİK KAF03 BASAMAK KAVRAMI TEMEL KAVRAM 01. İki basamaklı en küçük sayı : İki basamaklı en büyük negatif sayı :.

SAYILAR MATEMATİK KAF03 BASAMAK KAVRAMI TEMEL KAVRAM 01. İki basamaklı en küçük sayı : İki basamaklı en büyük negatif sayı :. SAYILAR BASAMAK KAVRAMI İki basamaklı en küçük sayı : İki basamaklı en büyük negatif sayı :. Üç basamaklı rakamları farklı en küçük sayı :. SORU 5 MATEMATİK KAF03 TEMEL KAVRAM 01 Üç basamaklı birbirinden

Detaylı

KISITLI OPTİMİZASYON

KISITLI OPTİMİZASYON KISITLI OPTİMİZASYON SİMPLEKS YÖNTEMİ Simpleks Yöntemi Simpleks yöntemi iteratif bir prosedürü gerektirir. Bu iterasyonlar ile gerçekçi çözümlerin olduğu bölgenin (S) bir köşesinden başlayarak amaç fonksiyonunun

Detaylı

Bilgisayar Programlama

Bilgisayar Programlama Bilgisayar Programlama M Dosya Yapısı Kontrol Yapıları Doç. Dr. İrfan KAYMAZ Matlab Ders Notları M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine getirmek için gerekli

Detaylı

Ç.Ü Fen ve Mühendislik Bilimleri Dergisi Yıl:2012 Cilt:28-2

Ç.Ü Fen ve Mühendislik Bilimleri Dergisi Yıl:2012 Cilt:28-2 SERBEST LİE CEBİRLERİNİN ALT MERKEZİ VE POLİSENTRAL SERİLERİNİN TERİMLERİNİN KESİŞİMLERİ * Intersections of Terms of Polycentral Series and Lower Central Series of Free Lie Algebras Zeynep KÜÇÜKAKÇALI

Detaylı

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I

KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I KONU 4: DOĞRUSAL PROGRAMLAMA MODELİ İÇİN ÇÖZÜM YÖNTEMLERİ I 4.1. Dışbükeylik ve Uç Nokta Bir d.p.p. de model kısıtlarını aynı anda sağlayan X X X karar değişkenleri... n vektörüne çözüm denir. Eğer bu

Detaylı

1. Medisoft ile ETS arasındaki bütünle ik yapı : hatasız ve hızlı ETS hastane otomasyonu için neden çok önemlidir :

1. Medisoft ile ETS arasındaki bütünle ik yapı : hatasız ve hızlı ETS hastane otomasyonu için neden çok önemlidir : ETS hastaneler için geliştirilmiş kullanımı kolay ve Medisoft ile bütünleşik çalışan bir kurumsal kaynak planlama sistemidir. Amacımız; Medisoft ile sağlanan eksiksiz hastane otomasyonunu tam entegre bir

Detaylı

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Veritabanı Tasarımı NOT NULL ve UNIQUE Kısıtlamaları Tanımlama NOT NULL ve UNIQUE Kısıtlamaları Tanımlama Konular Kısıtlama terimini veri bütünlüğü ile ilişkilendirerek tanımlama Sütun seviyesinde ve tablo

Detaylı

ULAŞIM YOLLARINA İLİŞKİN TANIMLAR 1. GEÇKİ( GÜZERGAH) Karayolu, demiryolu gibi ulaşım yollarının yuvarlanma yüzeylerinin ortasından geçtiği

ULAŞIM YOLLARINA İLİŞKİN TANIMLAR 1. GEÇKİ( GÜZERGAH) Karayolu, demiryolu gibi ulaşım yollarının yuvarlanma yüzeylerinin ortasından geçtiği ULAŞIM YOLLARINA İLİŞKİN TANIMLAR 1. GEÇKİ( GÜZERGAH) Karayolu, demiryolu gibi ulaşım yollarının yuvarlanma yüzeylerinin ortasından geçtiği varsayılan eksen çizgilerinin topoğrafik harita ya da arazi üzerindeki

Detaylı

BLM210 HAFTA 2 FORMAL METHODS OF SYNTAX DESCRIPTION (SÖZDİZİM TARİFİNİN BİÇİMSEL YÖNTEMLERİ)

BLM210 HAFTA 2 FORMAL METHODS OF SYNTAX DESCRIPTION (SÖZDİZİM TARİFİNİN BİÇİMSEL YÖNTEMLERİ) 1 BLM210 HAFTA 2 FORMAL METHODS OF SYNTAX DESCRIPTION (SÖZDİZİM TARİFİNİN BİÇİMSEL YÖNTEMLERİ) Programming language implementors must be able to determine how the expressions, statements, and program units

Detaylı

OTOMATİK KONTROL SİSTEMLERİ BLOK DİYAGRAM İNDİRGEME KURALLARI

OTOMATİK KONTROL SİSTEMLERİ BLOK DİYAGRAM İNDİRGEME KURALLARI OTOMATİK KONTROL SİSTEMLERİ BLOK DİYAGRAM İNDİRGEME KURALLARI BLOK DİYAGRAM İNDİRGEME KURALLARI Örnek 9: Aşağıdaki açık çevrim blok diyagramının transfer fonksiyonunu bulunuz? 2 BLOK DİYAGRAM İNDİRGEME

Detaylı

YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü

YIĞINLAR YIĞINLAR. Yığın İşlemleri Postfix, Prefix, Infix. G. Ü. Bilgisayar Mühendisliği Bölümü Yığın İşlemleri Postfix, Prefix, Infix Yrd.Doç.Dr. M. Ali Akcayol 1 Yığındaki elemanlardan sadece en son eklenene erişim yapılır. Yığına ilk eklenen eleman en son elde edilir. FILO (First-in-Last-out)

Detaylı

C Programlama Dilininin Basit Yapıları

C Programlama Dilininin Basit Yapıları Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade

Detaylı

Nesne Yönelimli Programlama

Nesne Yönelimli Programlama 1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin

Detaylı

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü Konular Giriş math Kütüphane Fonksiyonları Çok Parametreyle Fonksiyon

Detaylı

Ağaç (Tree) Veri Modeli

Ağaç (Tree) Veri Modeli Ağaç (Tree) Veri Modeli 1 2 Ağaç Veri Modeli Temel Kavramları Ağaç, bir kök işaretçisi, sonlu sayıda düğümleri ve onları birbirine bağlayan dalları olan bir veri modelidir; aynı aile soyağacında olduğu

Detaylı

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Uzaktan Eğitim Uygulama ve Araştırma Merkezi JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Diziler Dizi Tanımlama ve İlk Değer Atama Dizi Elemanlarının Kullanılması Dizi İşlemleri Java da Diziler JAVA DA DİZİLER 4 Dizi; tek bir veri tipinde,

Detaylı

MAT223 AYRIK MATEMATİK

MAT223 AYRIK MATEMATİK MAT223 AYRIK MATEMATİK Saymanın Temelleri 1. Bölüm Emrah Akyar Anadolu Üniversitesi Fen Fakültesi Matematik Bölümü, ESKİŞEHİR 2014 2015 Öğretim Yılı Ayşe nin Doğum Günü Partisi Saymanın Temelleri Ayşe

Detaylı

2 şeklindeki bütün sayılar. 2 irrasyonel sayısı. 2 irrasyonel sayısından elde etmekteyiz. Benzer şekilde 3 irrasyonel sayısı

2 şeklindeki bütün sayılar. 2 irrasyonel sayısı. 2 irrasyonel sayısından elde etmekteyiz. Benzer şekilde 3 irrasyonel sayısı 1.8.Reel Sayılar Kümesinin Tamlık Özelliği Rasyonel sayılar kümesi ile rasyonel olmayan sayıların kümesi olan irrasyonel sayılar kümesinin birleşimine reel sayılar kümesi denir ve IR ile gösterilir. Buna

Detaylı

Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks ve semantik bir dilin tanımı sağlar

Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks ve semantik bir dilin tanımı sağlar PDP 3 1 Sentaks (Syntax): ifadelerin (statements), deyimlerin (expressions), ve program birimlerinin biçimi veya yapısı Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks

Detaylı

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi

Graf Veri Modeli. Düğümler kümesi. Kenarlar kümesi Graf Veri Modeli Graf, bir olay veya ifadenin düğüm ve çizgiler kullanılarak gösterilme şeklidir. Fizik, Kimya gibi temel bilimlerde ve mühendislik uygulamalarında ve tıp biliminde pek çok problemin çözümü

Detaylı

: Yetmiş yedi milyon altı yüz doksan beş bin dokuz yüz dört

: Yetmiş yedi milyon altı yüz doksan beş bin dokuz yüz dört Matematik Bir Bakışta Matematik Kazanım Defteri Özet bilgi alanları... Doğal Sayılar DOĞAL SAYILARI OKUMA ve YAZMA Türkiye İstatistik Kurumu (TÜİK), adrese dayalı nüfus kayıt sistemi sonuçlarına göre Türkiye

Detaylı

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) Algoritma Geliştirme ve Akış Diyagramları BİLGİSAYARLA PROBLEM ÇÖZÜMÜ AŞAMALARI Analiz Algoritma Geliştirilmesi

Detaylı

B-Tree Dosya Sistemi (BTRFS)

B-Tree Dosya Sistemi (BTRFS) B-Tree Dosya Sistemi (BTRFS) Alev Erzurumlu Kasım, 2014 İçindekiler 1 Giriş.................................................... 2 2 Peki nedir bu dosya sistemi?....................................... 3

Detaylı

Sonlu Durum ve Turing Makineleri

Sonlu Durum ve Turing Makineleri Sonlu Durum ve Turing Makineleri Ders 12 Yrd.Doç.Dr. İbrahim TÜRKYILMAZ Sonlu Durum Makinesi Sonlu durum makinesi aşağıdakilerden oluşur: a) Bir σ başlangıç durumu, b) Sonlu sayıda duruma sahip olan sonlu

Detaylı

EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME

EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME EXCEL DE BENZETİM ÖRNEKLERİ BMÜ-422 BENZETİM VE MODELLEME GİRİŞ Bu bölümde benzetim için excel örnekleri önerilmektedir. Örnekler excel ile yapılabileceği gibi el ile de yapılabilir. Benzetim örnekleri

Detaylı

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü

Mustafa Sezer PEHLİVAN. Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü * Yüksek İhtisas Üniversitesi Beslenme ve Diyetetik Bölümü SAYILAR Doğal Sayılar, Tam Sayılar, Rasyonel Sayılar, N={0,1,2,3,,n, } Z={,-3,-2,-1,0,1,2,3, } Q={p/q: p,q Z ve q 0} İrrasyonel Sayılar, I= {p/q

Detaylı

Elementer matrisler, ters matrisi bulmak, denk matrisler

Elementer matrisler, ters matrisi bulmak, denk matrisler 4.Konu Elementer matrisler, ters matrisi bulmak, denk matrisler 1. Elementer matrisler 2. Ters matrisi bulmak 3. Denk matrisler 1.Elementer matrisler 1.Tanım: tipinde Tip I., Tip II. veya Tip III. te olan

Detaylı

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır.

1. GRUPLAR. c (Birleşme özelliği) sağlanır. 2) a G için a e e a a olacak şekilde e G (e ye birim eleman denir) vardır. 1. GRUPLAR Tanım 1.1. G boş olmayan bir küme ve, G de bir ikili işlem olsun. (G yapısına aşağıdaki aksiyomları sağlıyorsa bir grup denir., ) cebirsel 1) a b cg,, için a( bc) ( ab) c (Birleşme özelliği)

Detaylı

18.034 İleri Diferansiyel Denklemler

18.034 İleri Diferansiyel Denklemler MIT AçıkDersSistemi http://ocw.mit.edu 18.034 İleri Diferansiyel Denklemler 2009 Bahar Bu bilgilere atıfta bulunmak veya kullanım koşulları hakkında bilgi için http://ocw.mit.edu/terms web sitesini ziyaret

Detaylı

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while

Değişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne

Detaylı

4- ALGORİTMA (ALGORITHM)

4- ALGORİTMA (ALGORITHM) (ALGORITHM) Algoritma: Bir Problemin çözümünün, günlük konuşma diliyle adım adım yazılmasıdır. Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki Türkistan'lı alimden kaynaklanır. Bu

Detaylı