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

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

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

Transkript

1 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. Cogu parser lar ambiguity elimine etmeye calisirlar Regular Expression vs. Context-Free Grammars - RE ile ifade edilebilen her bir dil CFG ile de ifade edilebilir. (a b)*abb A 0 aa 0 ba 0 aa 1 A 1 ba 2 A 2 ba 3 A 3 5/24/2004 Formal Diller 5.1 5/24/2004 Formal Diller 5.2 start (a b)*abb a/b 0 a 1 2 A 0 aa 0 ba 0 aa 1 A 1 ba 2 A 2 ba 3 A 3 b NFA to CFG b 3 NFA daki her bir state icin bir nonterminal olustur. Eger state i den state j ye a sembolu ile gecis varsa A i aa j bir turetimdir. Eger i start state ise A i dilin start semboludur. Neden RE ler kullanilir? Her RE ile ifade edilebilen dil, CFG ile ifade edilebiliyorsa neden RE lar dilin lexical syntax ini ifadede kullanilir? Lexical rules (kurallar) oldukca basit, dolayisiyle onlari tanimlamak icin grammar ler gibi guclu notasyonlara ihtiyacimiz yoktur. RE genellikle daha kolay anlasililir compact notasyonlar kullanir. Lexical analyzer lar RE lerden daha etkin bir sekilde otomatik olarak olusturulabilirler. Compiler design da basitlik saglanir Dilin syntactic yapisi lexical ve nonlexical bolumlere ayrilmak suretiyle compilerin front end kismi modulerize olmus olur. 5/24/2004 Formal Diller 5.3 5/24/2004 Formal Diller 5.4

2 CFG le Uretilen Dilin Ispati Grammar G nin L language ni olusturdugunu ispatlamak icin asagidaki iki seyi gostermemiz gerekir G nin urettigi her string in L de oldugunu gostermemiz L nin her bir stringi G tarafindan uretilebilir 5/24/2004 Formal Diller 5.5 S den uretilen her bir string balanced? Tume varim: Basis step: tek turetimle elde edilebilen tek string (balanced). Assumption: n stepten daha az sayida turtimle elde edilen tum stringler balanced olsun. S (S)S (x)s (x)y x ve y nin turetimi n den daha az steple oldugundan, x,y balanced Ornek S (S)S Her bir balanced string S den turetilebilinir mi? Tume varim: Basis step: S den turetilebilir. Assumption: boyu 2n (n >=1) den kucuk olan her string S den turetilebilsin ve w nun boyu 2n olsun. (x) in w nin esit sayida sol ve sag parantzleri olan en kisa prefixi oldugunu dusunelim. w (x)y olarak yazilabilir. 5/24/2004 Formal Diller 5.6 Ambiguity nin Elimine Edilmesi dangling-else if E 1 then if E 2 then S 1 else S 2 stmt if expr then stmt if expr then stmt else stmt other if stmt expr then stmt stmt if expr then stmt else stmt E 1 if expr then stmt else stmt E 1 if expr then stmt S 2 E 2 S 1 S 2 E 2 S 1 5/24/2004 Formal Diller 5.7 Iki farkli parse tree 5/24/2004 Formal Diller 5.8

3 Left Recursion stmt if expr then stmt if expr then stmt else stmt other Asagidaki verilen ozellige sahip grammar e left recursive denir. A + A turetimine imkan veren bir nonterminale sahip. stmt matched_stmt unmatched_stmt matched_stmt if expr then matched_stmt else matched_stmt other unmatched_stmt if expr then stmt if expr then matched_stmt else unmatched_stmt A A left recursion elimination A A A A 5/24/2004 Formal Diller 5.9 5/24/2004 Formal Diller 5.10 A A 1 A 2 A m 1 2 n Immediate left recursion elimination E E + T T T T * F F F (E ) id A 1 A 2 A n A A 1 A 2 A m A 5/24/2004 Formal Diller 5.11 E TE E +TE T FT T * FT F ( E ) id 5/24/2004 Formal Diller 5.12

4 S Aa b A Ac Sd S Aa Sda Left recursive, immediately left recursive degil Left recursion elimination Eger grammar de cycle yoksa (A + A yok) veya -production yok Input: Grammar G (no cycles veya -production ) Output: Esdeger grammar (no left recursion) 5/24/2004 Formal Diller /24/2004 Formal Diller Nonterminalleri A 1, A 2,, A n olarak duzenle. 2. for i:=1 to n do begin for j:= 1 to i-1 do begin A i A j seklindeki her bir production i A j 1 2 k ile yerdegistir. Burada A j 1 2 k original gram mardaki productionlardir. end A i productionlarindaki immediate left recursioni elimine et. end 5/24/2004 Formal Diller 5.15 S Aa b A Ac Sd Non-terminal sirasi: S, A S-productionlarda no immediate left recursion i=2 icin A Sd production i A Aad bd ile yer yer degistirilir. S Aa b A Ac Aad bd S Aa b A bda A A ca ada 5/24/2004 Formal Diller 5.16

5 Left factoring Left Factoring Predictive Parser larda kullanilir. stmt if expr then stmt else stmt if expr then stmt A 1 2 Left factoring A A A 1 2 5/24/2004 Formal Diller 5.17 Left Factoring Input. Grammar G Output. An equivalent left-factored grammar Method. Her bir nonterminal A icin iki veya daha cok alternatifindeki en uzun prefix yi bul. Eger dan farkli ise A ( Burada ile baslamayan tum alternatifleri gosterir) yi asagidaki turetimlerle yer degistir. A A A 1 2 n 5/24/2004 Formal Diller 5.18 Top-down Parsing stmt if expr then stmt else stmt if expr then stmt a expr b Giris stringi icin bir leftmost derivation bulma anlamina gelir Ayni zamanda root dan baslayarak treenin node larini preorder sirada bulmak suretiyle bir parse tree uretmek anlamina gelir stmt if expr then stmt stmt a stmt else stmt expr b 5/24/2004 Formal Diller /24/2004 Formal Diller 5.20

6 Recursive descend parsing Top-down parsing in genel halidir. Backtracking e ihtiyac duyulabilir S S cad A ab a Input string w=cad c S A d backtracking c c a S A S A d b d 5/24/2004 Formal Diller /24/2004 Formal Diller 5.22 a Predictive Parser Predictive Parser Predictive parser with no backtracking Eliminating left recursion Left factoring Verilen her bir input sembol icin yalniz bir alternatif turetim vardir. Stack X Y Input a + b Predictive Parsing Program Output Z stmt if expr then stmt else stmt while expr do stmt begin stmt_list end Parsing Table M 5/24/2004 Formal Diller /24/2004 Formal Diller 5.24

7 4 kisimdan olusur Input buffer: Parserin inputunu icerir. Buffer in sonuna input string in sonunu gosteren eklenir. Stack: Grammar sembollerini icerir. Stack in dibinde (stackin dibi oldugunu gosteren) sembolu bulunur. Baslangicta stack de sadece vardir. Parsing Table: Iki boyutlu bir dizidir. Dizininin herbir elemani M[A,a] (A nonterminal, a ise terminal veya dir) seklindedir. Output: Eger input verilen grammar tarafindan taninirsa cikis, girisin leftmost derivation i, aksi halde error. 5/24/2004 Formal Diller 5.25 Baslangicta S stackte ve w giris bufferinda. ip w nin ilk sembolune isaret ediyor repeat X stack in ustundeki sembol ve ip a yi isaret ediyor; if X bir terminal veya then if X = a then pop X from the stack ve ip i sonraki sembolu gosterecek sekilde ilerlet else error( ) else /* X nonterminal */ if M[X,a] = X Y 1 Y 2 Y k then begin pop X from the stack; push Y k,y k-1,, Y 1 onto stack ( Y 1 en ustte olacak sekilde); output the production X Y 1 Y 2 Y k end else error( ) until X = /* stack is empty */ 5/24/2004 Formal Diller 5.26 Predictive Parsing Program E TE E +TE T FT T *FT F ( E ) id Input: Giris stringi w ve grammar G icin parsing table M Output: Eger w L(G) nin bir elemani ise, cikis w nin bir leftmost derivation i, aksi halde error. Nonter minal E E T T F id E TE T FT F id + E +TE T Input Symbol * ( E TE T FT T *FT F (E) ) E T E T 5/24/2004 Formal Diller /24/2004 Formal Diller 5.28

8 Stack E E T E T F E T id E T E E T + E T E T F E T id E T E T F * E T F E T id E T E Input id + id * id id + id * id id + id * id id + id * id + id * id + id * id + id * id id * id id * id id * id * id * id id id Output E T E T F T F id T E + T E T F T F id T * FT F id T E FIRST and FOLLOW Predictive Parser in Table ini doldurmak icin kullanilir FIRST Eger grammar sembollerinden olusan bir string ise FIRST( ) dan tureyen stringlerin basindaki nonterminallerin kumesi Eger * ise, FIRST( ) yi icerir. FOLLOW Nonterminal A icin FOLLOW(A) sentential formdaki A nin hemen saginda bulunan terminallerin kumesi Eger S * A a ise, FOLLOW(A) a yi icerir 5/24/2004 Formal Diller /24/2004 Formal Diller 5.30 Algorithm for FIRST Algorithm for FOLLOW 1. Eger X bir terminal ise, FIRST(X) = {X} 2. Eger X ise, yi FIRST(X) e ekle 3. Eger X Y 1 Y 2 Y k ise, ve bazi i icin FIRST(Y i ) a yi iceriyor ve FIRST(Y 1 ), FIRST(Y 2 ),, FIRST(Y i-1 ) yi iceriyorsa, a yi FIRST(X) e ekle. Nonterminal A icin FOLLOW(A) asagidaki gibi hesaplanir. 1. S start sembolu ise FOLLOW(S) yi icerir. 2. Eger A B ise, haric FIRST( ) deki her seyi FOLLOW(B) icerir 3. Eger A B, veya A B ve FIRST( ) yi icerirse FOLLOW(A) daki her seyi FOLLOW(B) icerir 5/24/2004 Formal Diller /24/2004 Formal Diller 5.32

9 E TE E +TE T FT T *FT F ( E ) id Algorithm for Predictive Parsing Table FIRST(E) = FIRST(T) = FIRST(F) = { (,id } FIRST(E ) = { +, } FIRST(T ) ={ *, } FOLLOW(E) = FOLLOW(E ) = { ), } FOLLOW(T) = FOLLOW(T ) = { +, ), } FOLLOW(F) = { +, *, ), } Input: Grammar G Output: Parsing table M 1. Her bir kural A icin 2. ve 3. adimlari yap 2. First( ) daki her bir nonterminal a icin M[A,a] A dir 3. Eger FIRST( ) da ise, FOLLOW(A) daki her bir nonterminal b icin M[A,b] A dir 4. M nin geri kalan entry lerini error olarak isaretle 5/24/2004 Formal Diller /24/2004 Formal Diller 5.34 Nonter minal E E T T F E TE E +TE T FT T *FT F ( E ) id id E TE T FT F id FIRST(E) = FIRST(T) = FIRST(F) = { (,id } FIRST(E ) = { +, } FIRST(T ) ={ *, } FOLLOW(E) = FOLLOW(E ) = { ), } FOLLOW(T) = FOLLOW(T ) = { +, ), } FOLLOW(F) = { +, *, ), } + E +TE T Input Symbol * T *FT ( E TE T FT F (E) ) E T E T S ie tss a S es E b Nonter minal S S E a S a b E b Input Symbol e S es S i S ie tss t S 5/24/2004 Formal Diller 5.35 FOLLOW(S ) = {e, } 5/24/2004 Formal Diller 5.36

10 LL(1) Grammars LL(1): ilk L inputun soldan saga dogru tarandigini ifade eder. Ikinci L leftmost turetiminin uygulandigini ve (1) lookahead symbol sayisini gosterir. LL(1) Grammars Ambiguous veya left recursive grammar ler LL(1) olamaz Grammar G LL(1) dir ancak ve ancak eger A iki farkli turetim ise asagidaki kosullari saglamalidir. ve ayni nonterminal a ile baslayan stringler turetmemeli. En fazla ve dan biri (empty string) turetebilir. Eger * ise, FOLLOW(A) bulunan herhangi bir nonterminal ile baslayan bir string turetmemeli. 5/24/2004 Formal Diller /24/2004 Formal Diller 5.38 BOTTOM-UP PARSING Shift-reduce parsing bottom-up parsing in genel bir seklidir. Operator-precedence shift-reduce parsing in ozel bir hali Parse tree leaves (yapraklar) dan baslanip root (koke) dogru design edilir. Giris stringi w grammar in baslangic sembolu S ye reduce (indirgenir) S aabe A Abc b B d abbcde aabcde aade aabe S w = abbcde S rm aabe rm aade rm aabcde rm abbcde 5/24/2004 Formal Diller /24/2004 Formal Diller 5.40

11 Handles Bir string in handle i asagidaki kosulu saglayan substring e denir. Bir production in sag tarafi ile uyusmasi ve o production in solundaki nonterminale indirgenmesi rightmost derivation in tersinin bir adimini gostermesi. (Informal) Bir baska deyimle S * rm Aw rm w ve A ise, A w stringinde dan sonraki pozisyonda bir handle dir. (Formal) S aabe A Abc b B d w = abbcde S rm aabe rm aade rm aabcde rm abbcde abbcde bir right-sentential form dur ve handle i 2. pozisyondaki A b dir. 5/24/2004 Formal Diller /24/2004 Formal Diller 5.42 (1) E E + E (2) E E * E (3) E ( E ) (4) E id E rm E + E rm E + E * E rm E + E * id 3 rm E + id 2 * id 3 rm id 1 + id 2 * id 3 id 3, E + E * id 3 un bir handle dir E rm E * E rm E * id 3 rm E + E * id 3 rm E + id 2 * id 3 rm id 1 + id 2 * id 3 E + E, E + E * id 3 un bir handle dir 5/24/2004 Formal Diller 5.43 (1) E E + E (2) E E * E (3) E ( E ) (4) E id Right sentential form id 1 + id 2 * id 3 E + id 2 *id 3 id 1 + id 2 * id 3 E + E * id 3 E + E * E E + E E handle id 1 id 2 id 3 E * E E + E Reducingproduction E id E id E id E E * E E E + E 5/24/2004 Formal Diller 5.44

12 Shift Reduce Parsing in Stack le Gerceklestirilmesi (1) E E + E (2) E E * E (3) E ( E ) (4) E id id 1 + id 2 * id 3 E rm E + E rm E + E * E rm E + E * id 3 rm E + id 2 * id 3 rm id 1 + id 2 * id 3 Stack grammar sembollerini tutmak icin kullanir. Input buffer ise giris stringi w yu tutmak icin kullanilir. stack in dibini isaretlemek ve giris stringinin sonunu gostermek icin kullanilir. baslangic: stack input w bitis: stack input 5/24/2004 Formal Diller 5.45 stack input action (1) id 1 + id 2 * id 3 shift (2) id 1 + id 2 * id 3 Reduce by E id (3) E + id 2 * id 3 shift (4) E + id 2 * id 3 shift (5) E + id 2 * id 3 reduce by E id (6) E + E * id 3 shift (7) E + E * id 3 shift (8) E + E * id 3 reduce by E id (9) E + E * E reduce by E E *E (10) E + E reduce by E E +E (11) E accept 5/24/2004 Formal Diller 5.46 Shift-reduce Actionlari Shift Bir sonraki giris sembolu stack e itilir Reduce Handle in sagi stack in ustunde. Stack de handle nin soluna komsu nonterminal tespit edilir. Daha sonra belirlenen handle sag tarafi ile yer degistirilir. Accept Parsing isleminin basarili oldugu karari verilir Error Syntax error un olduguna karar verilir ve error recovery routine i cagrilip parsing islemi sonlandirilir. Operator-precedence parsing LR grammar ler shift-reduce parsing yontemiyle gerceklestirilen en genis grammar grubudur. Operator-precedence parsing Elle shift-reduce parsing yontemiyle kolayca gerceklestirilebilirler Genellilkle expression lar icin gerceklestirilirler Temel ozellikleri Herhangi bir turetimin saginda veya yanyana iki nonterminal bulunmaz 5/24/2004 Formal Diller /24/2004 Formal Diller 5.48

13 E EAE (E ) -E id A + - * / m Operator grammar degil Nonterminaller arasinda uc disjoint precedence relations tanimlanir Bu relationlar handle larin seciminde kullanilirlar E E +E E E E *E E /E E me (E ) -E id relation a b a =. b a b anlami a nin onceligi b den sonra gelir a ile b ayni oncelige sahip a, b den daha onceliklidir 5/24/2004 Formal Diller /24/2004 Formal Diller 5.50 Bu relation lar aritmetik relation lara ( <, >, =) benziyor gibi gozukebilir. Ama gercekte anlmalari oldukca farklidir. Ayni dil icin a b ve a b olabilir a b, a b, a =. b den hic biri olmayabilir Iki nonterminal arasinda hangi iliskinin olmasi gerektigine karar vermek icin baslica iki yontem vardir Operatorlerin associativity ve precedence (oncelik) durumlari Eger *, + dan oncelikli ise + * ve * + Ambiguity nin cozumlenmesi 5/24/2004 Formal Diller 5.51 id + * id + * id + id * id id + id * id E + id * id E + E * id E + E * E + * + 5/24/2004 Formal Diller 5.52

14 Operator-precedence Algorithm Associativity ve Operator Precedence Kurallari Input: input string w ve precedence relation larin tablosu Output: Eger w grammar tarafindan kabul edilirse parse tree, aksi durumda hata messaji. Baslangicta stack icerir ve input buffer da w var. ip yi w nin ilk sembolunu gosterecek sekilde set et repeat forever if stack in usunde ve ip a isaret ediyorsa then return else begin a stack in ustundeki terminali ve b ip tarafindan isaret edilen sembolu gostersin if a b veya a =. b then begin /* shift */ b yi stack e it (push); ip yi bir sonraki sembolu gosterecek sekilde duzenle end else if a >. b then /* reduce */ repeat stack te pop islemi yap until stack in ustundeki nonterminal en son stack den cekilen nonterminal else error() end 5/24/2004 Formal Diller Eger 1, 2 den daha oncelikli ise 1 2 ve 2 1 Ornek: *, + dan daha oncelikli ise, * + ve + * ( E+ E * E + E ) 2. Eger 1, 2 esit oncelikli ise ( 1 ve 2 ayni operator olabilir ), 1 2 ve 2 >. 1 (eger 1, 2 left-associative ise), 1 2 ve 2 1 (eger 1, 2 right-associative ise). ( E E + E ) Ornek: + ve left associative ise + +, + -, - -, - + dir. Eger m right associative ise m m dir. 3. Her bir operator icin, id, id, (, (, ), ),, ve dir. Ayni zamanda, ( =. ) ( id ( ( id ) ( 5/24/2004 id id ) ) ) Formal Diller * / m id ( ) E E +E E E E *E E /E E me (E ) -E id 1. m en yuksek oncelige sahip ve right-associative 2. * ve / sonraki en yuksek oncelige sahip ve left-associative 3. + ve en dusuk oncelige sahip ve left associative + - * / m 5/24/2004 Formal Diller 5.55 id ( ) =. Stack input (1) id * ( id m id ) id / id (2) id * ( id m id ) id / id (3) * ( id m id ) id / id (4) * ( id m id ) id / id (5) * ( idm id ) id / id (6) * ( id m id ) id / id (7) * ( m id ) id / id (8) * ( m id ) id / id (9) * ( m id ) id / id (10) * ( m ) id / id (11) * ( ) id / id (12) * ( ) id/ id (13) * id/ id (14) id/ id (15) - id / id (16) - id / id (17) - / id (18) - / id (19) - / id (20) - / (21) - (22) 5/24/2004 Formal Diller 5.56

15 Precedence Functions Operator-precedence parser kullanan compiler lar precedence relationlarin tablosunu tutmalarina gerek yoktur. Cogu kez terminal sembolerinden integerlara tanimli f ve g precedence fonksiyonlari yukarida belirtilen tabloyu kodlanabilir. f ve g yi asagidaki ozellikleri saglayacak sekilde secebiliriz f(a) < g(b) eger a b ise f(a) = g(b) eger a =. b ise f(a) > g(b) eger a b ise a ve b terminalleri arasindaki precedence iliskisi f(a) ve f(b) nin kiyaslanmasiyla elde edilir. 5/24/2004 Formal Diller * / m id ( ) + - * / m id ( =. ) + - * / m ( ) id f g * id dolayisiyle f(*) =4 < g(id) = 5 5/24/2004 Formal Diller 5.58 Precedence fonksiyonlarin elde edilmesi Input: Operator precedence matrix Output: input matrixi temsil eden precedence fonksiyonlari veya precedence fonksiyonlarin bulunamayacaginin ifadesi id + * id + * 1. Her bir terminal a veya icin f a ve g a olmak uzere iki sembol olustur. 2. Eger a =. b ise f a ve f b ayni grupta olmak sartiyla sembolleri maximum sayida gruba ayir. 3. Node lari 2. adimda bulunan gruplar olan bir directed graph olustur. a ve b icin eger a <. b ise g b nin bulundugu gruptan f a nin bulunduga gruba bir edge var. Eger a >. b ise f a nin bulundugu gruptan g b nin bulundugu gruba bir edge var. 4. Eger elde edilen graph bir cycle olusturuyorsa, precedence fonk siyonlari bulunamaz (yoktur). Aksi takdirde f(a) grup f a dan baslayan en uzun path (longest path) in uzunlugudur, g(a) grup g a dan baslayan en uzun path in uzunlugudur. 5/24/2004 Formal Diller 5.59 g id f id f * g * g + f + f g + * id f g Precedence fonksiyonlari Precedence fonksiyonlarini gosteren graph 5/24/2004 Formal Diller 5.60

16 LR PARSERS Efficient bottom-up parsing technique En genel hali LR(k): L: left to right scanning of the input, R: rightmost derivation in reverse, k: parsing kararinda lookahead icin gerekli sembol sayisi LR parser lar context-free grammar lerle ifade edilebilen hemen hemen tum diller icin kullanilabilirler LR parsing yontemi bilinen en genel nonbactracking shift-reduce parsing methodudur LR parser larla parse edilebilen dillein kumesi predictive parser larla parse edilebilen diller kumesinin bir supersetidir. LR parser larin elle gerceklestirilmesi zordur LR parser generators Yacc (yet another compiler compiler) : verilen context free grammar a gore otomatik olarak LR parser uretir 5/24/2004 Formal Diller 5.61 LR Parsers SLR (simple LR) En kolay implemet edilebilen LR dir En az guclu Canonical LR En guclu olani En zor implement (gerceklestirilebilen) LR dir LALR (lookahead LR) Gucu ve implementation zorlugu SLR ile Canoniical LR arasinda Cogu programlama dilleri kucuk degisikliklerle LALR parserlariyle parse edilebilirler 5/24/2004 Formal Diller 5.62 LR Parsing LR Parsing stack s m X m s m-1 X m-1 s 0 a 1 a 2 a i a n LR Parsing Program action goto Input LR parsing 5 kisimdan olusur Input buffer Output Stack s 0 X 1 s 1 X 2 s 2 X m s m, s m stackin en ustunde. X i ler grammar sembol (terminal veya nonterminal), s i ler ise stateleri gosterir Stack en ustundeki state ve input symbol kullanilarak parsing table indekslenir ve indeklenen tablonun elemanina gore shift/reduce parsing karari verilir Driver program Otomatik olarak uretilir (verilen context free grammar gore) Parsing table 5/24/2004 Formal Diller /24/2004 Formal Diller 5.64

17 Parsing table Iki bolumden olusur Parsing action fonksiyonu Goto fonksiyonu action[s m,a i ] Shift s, oyleki s bir state dir Reduce (A ) Accept Error goto State i ve grammar sembolu giris olarak alir ve buna gore sonraki state i verir LR Parsing Algorithm Input: input string w ve grammar icin LR parsing table Output: Eger w L(G) nin elemani ise w icin bottom-up parse tree, aksi durumda error 5/24/2004 Formal Diller /24/2004 Formal Diller 5.66 LR Parsing Algorithm ip yi w nin ilk sembolu isaret edecek sekilde duzenle repeat forever begin s stack in en ustundeki state ve a ip tarafindan isaret edilen sembol olsun if action[s,a] = shift s then begin once a yi sonra s ni stacke push et; ip yi sonraki sembole isaret edilecek sekilde ilerlet end else if action[s,a] = reduce A then begin 2* sembolu stack ten pop et s stack in ustundeki state olsun once A yi sonra goto[s,a] yi stack e push et output production A end else if action[s,a] = accept then return else error() end 5/24/2004 Formal Diller 5.67 action goto (1) E E + T State id + * ( ) E T F (2) E T 0 s5 s s6 acc (3) T T * F 2 r2 s7 r2 r2 (4) T F 3 r4 r4 r4 r4 (5) F (E) 4 s5 s (6) F id 5 r6 r6 r6 r6 6 s5 s s5 s s6 s11 9 r1 s7 r1 r1 10 r3 r3 r3 r3 11 r5 r5 r5 r5 5/24/2004 Formal Diller 5.68

18 (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) Stack 0 0 id 5 0 F 3 0 T 2 0 T 2 * 7 0 T 2 * 7 id 5 0 T 2 * 7 F 10 0 T 2 0 E 1 0 E E id 5 0 E F 3 0 E T 9 0 E 1 Input id * id + id * id + id * id + id * id + id id + id + id + id + id + id id Action shift reduce F id reduce T F shift shift reduce F id reduce T T * F reduce E T shift shift reduce F id Reduce T F E E + T accept LL Parsers versus LR Parsers LL ile LR arasinda onemli bir fark var Bir grammar in LR(k) olabilmesi icin, Bir production in sag tarafininin turetimde kullanildigini anlayabilmemiz gerekir (bu sag taraftan k lookahead sembolu kullanilarak turetilebilecek tum stringlerin gorulmesi ) Bir grammar in LL(k) olabilmesi icin Bir production in sag tarafinin turetimde kullanildigini anlayabilmemiz gerekli (bu production in sag tarafinin turettigi stringin sadece ilk k sembolunun gorulmesiyle belirlenmesi) LR grammar lar LL grammar lerden daha fazla dil tanimlarlar 5/24/2004 Formal Diller /24/2004 Formal Diller 5.70 SLR Parsing Tables LR(0) item: Grammar G nin LR(0) item i (item) G nin production larindan birinin sag tarafinin herhangi bir pozisyonuna dot (.) eklenmis hali A XYZ bir production ise: A.XYZ, A X.YZ, A XY.Z ve A XYZ. nin her biri G nin bir item idir. A yalnizca A. Production ini uretir. Item bir cift integerla represent edilir Production in numarasi Dot (.) nin production daki pozisyonu Augmented Grammar Eger G start sembolu S olan bir grammar ise, G G nin augmented grammar idir ve G nin start sembolu S olmak uzere production lari S S G nin tum productionlari 5/24/2004 Formal Diller /24/2004 Formal Diller 5.72

19 Closure Operation Eger I, grammar G nin bir item i ise, closure(i) asagidaki iki kuralla elde edilir I daki her item closure(i) ya eklenir Eger A.B closure(i) nin elemani ve B ise B. closure(i) da degilse buna eklenir. Bu islem closure(i) ya yeni bir item eklenemeyene kadar tekrarlanir. E E + T T T T * F F F (E) id E E E E + T T T T * F F F (E) id Augmented grammar I= {E E} ise Closure(I) = { E.E, E.E+T, E.T, T.T*F, T.F F.(E), F.id} 5/24/2004 Formal Diller /24/2004 Formal Diller 5.74 Goto Operation function closure(i) begin J:= I; repeat for J deki her bir item A.B ve her bir production B icin, eger B. J de yoksa, B. yi J ye ekle until yeni bir item J ye eklenemeyene kadar return J end goto(i,x) (I item ler kumesi ve X grammar sembol) closure{a X. } oyleki A.X I nin bir elemanidir E E E E + T T T T * F F F (E) id I={E E., E E.+T} ise goto(i,+)= {E E+.T, T.T*F, T.F, F.(E), F.id} 5/24/2004 Formal Diller /24/2004 Formal Diller 5.76

20 Sets-of-items larin bulunmasi E E E E + T T T T * F F F (E) id procedure items(g ) begin C:={closure({S S})}; repeat for C deki her bir item kumesi I ve grammar sembol X icin oyleki goto(i,x) bos olmayip C de degilse do goto(i,x) i C ye ekle until C ye yeni itemlar kumesi eklenemeyene kadar end I 0 : E.E E.E+T E.T T.T*F T.F F.(E) F.id I 1 : E E. E E.+T I 2 : E T. T T.* F I 3 : T F. I 4 : F (.E) E.E+T E.T T.T*F T.F F.(E) F.id I 5 : F id. I 6 : I 7 : I 8 : E E+.T T.T*F T.F F.(E) F.id T T*.F F.(E) F.id F (E.) E E.* T I 9 : E E+T. T T.* F I 10 :T T*F. I 11 :F (E). Canonical LR(0) items setleri 5/24/2004 Formal Diller /24/2004 Formal Diller 5.78 SLR Parsing Table nin Elde Edilmesi E + T I * 0 I I I I Input: Augmented grammar G id F ( Output: SLR parsing table functions actions, goto I 5 I I 4 3 T I * F 1. LR(0) item lerinin setlerinin kolleksiyonu C={I 2 I I 0, I 1,, I n } yi bul State i I i den elde edilir id ( a) Eger A.a I i nin elemani ve goto(i i,a) =I j ise action[i,a]=shift j F burada a terminaldir. I 3 I I 5 4 b) Eger A. I i nin elemani ise action[i,a] = reduce A dir (FOLLOW(A) daki her bir terminal a icin, A S den farkli) ( c) Eger S S. I i nin elemani ise action[i,] = accept ( E ) 3. State i icin goto transitionlari tum nonterminaller A icin : I 4 I 8 I 11 Eger goto(i i,a) = I j ise goto[i,a] =j dir T Ve 3. Kuralla tanimlanmayan tablonun tum elemanlari error olarak id I 2 + I 6 isaretlenir id F I 5. Parser in baslangic state i S.S nin closure undan elde edilen state dir. 5 5/24/2004 I Formal Diller /24/2004 Formal Diller

21 (1) E E + T (2) E T (3) T T * F (4) T F (5) F (E) (6) F id State id s5 s5 s5 s5 + s6 r2 r4 r6 s6 r1 r3 * s7 r4 r6 s7 r3 action 11 r5 r5 r5 r5 5/24/2004 Formal Diller 5.81 ( s4 s4 s4 s4 ) r2 r4 r6 s11 r1 r3 acc r2 r4 r6 r1 r3 E 1 8 goto T F

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ı

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

BAĞLAMDAN BAĞIMSIZ VE BAĞLAMDAN BAĞIMSIZ OLMAYAN DİLLER (CONTEXT-FREE AND NON-CONTEXT-FREE LANGUAGES) 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

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

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ı

PASCAL PROGRAMLAMA DİLİ YAPISI

PASCAL PROGRAMLAMA DİLİ YAPISI BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama

Detaylı

Sentaks (Syntax): ifadelerin (statements), deyimlerin (expressions), ve program birimlerinin biçimi veya yapısı

Sentaks (Syntax): ifadelerin (statements), deyimlerin (expressions), ve program birimlerinin biçimi veya yapısı Sentaks (Syntax): ifadelerin (statements), deyimlerin (expressions), ve program birimlerinin biçimi veya yapısı PDP 3 Semantik (Semantics): ifadelerin, deyimlerin, ve program birimlerinin anlamı Sentaks

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ı

Bölüm 4. Sözcüksel ve sözdizimsel analiz ISBN

Bölüm 4. Sözcüksel ve sözdizimsel analiz ISBN Bölüm 4 Sözcüksel ve sözdizimsel analiz ISBN 0-321-49362-1 Bölüm 4 Konular giriş Sözcüksel Analiz Ayrıştırma(parsing) problemi Özyinelemeli aşağıya iniş ayrıştırma(recursive-descent Parsing) Aşağıdan-yukarıya

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ı

Bölüm 3. Sentaks ve semantik tarifi ISBN 0-321-49362-1

Bölüm 3. Sentaks ve semantik tarifi ISBN 0-321-49362-1 Bölüm 3 Sentaks ve semantik tarifi ISBN 0-321-49362-1 Bölüm 3 Konuları Giriş Genel olarak sentaks tarifi Sentaks tarifinin matematiksel yöntemleri Özellik gramerleri (Attribute Grammars) Programların anlamını

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ı

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ı

Graflar bilgi parçaları arasındaki ilişkileri gösterirler.

Graflar bilgi parçaları arasındaki ilişkileri gösterirler. Graflar (Graphs) Graf gösterimi Uygulama alanları Graf terminolojisi Depth first dolaşma Breadth first dolaşma Topolojik sıralama Yrd.Doç.Dr. M. Ali Akcayol Graflar Graflar bilgi parçaları arasındaki ilişkileri

Detaylı

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları

Algoritma Analizi ve Büyük O Notasyonu. Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları Algoritma Analizi ve Büyük O Notasyonu Şadi Evren ŞEKER YouTube: Bilgisayar Kavramları Algoritmaların Özellikleri Algoritmalar Input Girdi, bir kümedir, Output ÇıkF, bir kümedir (çözümdür) Definiteness

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ı

Şekil 6.2 Çizgisel interpolasyon

Şekil 6.2 Çizgisel interpolasyon 45 Yukarıdaki şekil düzensiz bir X,Y ilişkisini göstermektedir. bu fonksiyon eğri üzerindeki bir dizi noktayı birleştiren bir seri düzgün çizgi halindeki bölümlerle açıklanabilir. Noktaların sayısı ne

Detaylı

VT Sistem Gerçeklemesi. Ders Notları- #8

VT Sistem Gerçeklemesi. Ders Notları- #8 VT Sistem Gerçeklemesi Remote: Kullanıcıdan gelen JDBC isteklerini karşılar. Planner: SQL ifadesi için işleme planı oluşturur ve karşılık gelen ilşkisel cebir ifadesini oluşturur. Parse: SQL ifadesindeki

Detaylı

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Fatih University- Faculty of Engineering- Electric and Electronic Dept. Dijital Devre Tasarımı EEE122 A Ref. Morris MANO & Michael D. CILETTI DIGITAL DESIGN 4 th edition Fatih University- Faculty of Engineering- Electric and Electronic Dept. Chapter 3 Boole Fonksiyon Sadeleştirmesi

Detaylı

Selection Sort Insertion Sort

Selection Sort Insertion Sort Ozet Selection Sort Selection Sort Insertion Sort Linear Search.. Growth Rates. Implementation. Once dizinin en buyuk element ini bul ve bunu en son pozisyondaki element le degistir, daha sonra en buyuk

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ı

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR

Çizgeler (Graphs) Doç. Dr. Aybars UĞUR Çizgeler (Graphs) ve Uygulamaları Doç. Dr. Aybars UĞUR Giriş Şekil 12.1 : Çizge (Graph) Çizge (Graph) : Köşe (vertex) adı verilen düğümlerden ve kenar (edge) adı verilip köşeleri birbirine bağlayan bağlantılardan

Detaylı

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Nedir? Değişkenler, programın veya kodların icra süresince belirli bir değer tutan ve istenilirse bu değer

Detaylı

Fatih University- Faculty of Engineering- Electric and Electronic Dept.

Fatih University- Faculty of Engineering- Electric and Electronic Dept. Dijital Devre Tasarımı EEE122 A Ref. Morris MANO & Michael D. CILETTI DIGITAL DESIGN 4 th edition Fatih University- Faculty of Engineering- Electric and Electronic Dept. 2. BÖLÜM Boole Cebri ve Mantık

Detaylı

Alıştırma 1: Yineleme

Alıştırma 1: Yineleme Alıştırma 1: Yineleme Alıştırma 2: Yineleme H10->H2 çevrimini yapınız 7 2 1 3 2 1 1 1 2 0 Hafta 3: Yineleme Alıştırmaları(1) E1. (44/174) S değerini yineleme kullanarak hesap ediniz S = 1 + 2 + 3 + n Hafta3:

Detaylı

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > = Week 9: Trees 1. TREE KAVRAMI 2. İKİLİ AĞAÇ VE SUNUMU 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI < 6 2 > = 1 4 8 9 1. TREES KAVRAMI Bir ağaç bir veya daha fazla düğümün (T) bir kümesidir : Spesifik olarak

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ı

1 JAVASCRIPT NEDİR? 1

1 JAVASCRIPT NEDİR? 1 İÇİNDEKİLER IX İÇİNDEKİLER 1 JAVASCRIPT NEDİR? 1 2 TEST ORTAMINI TANIMAK (FİREFOX VE FİREBUG) 5 Firefox 6 Firebug 8 CSS Sekmesi 10 DOM Sekmesi 11 Net ve Çerezler Sekmeleri 11 Script Sekmesi 11 Konsol Sekmesi

Detaylı

sayıların kümesi N 1 = { 2i-1: i N } ve tüm çift doğal sayıların kümesi N 2 = { 2i: i N } şeklinde gösterilebilecektir. Hiç elemanı olmayan kümeye

sayıların kümesi N 1 = { 2i-1: i N } ve tüm çift doğal sayıların kümesi N 2 = { 2i: i N } şeklinde gösterilebilecektir. Hiç elemanı olmayan kümeye KÜME AİLELERİ GİRİŞ Bu bölümde, bir çoğu daha önceden bilinen incelememiz için gerekli olan bilgileri vereceğiz. İlerde konular işlenirken karşımıza çıkacak kavram ve bilgileri bize yetecek kadarı ile

Detaylı

DOĞRUSAL OLMAYAN PROGRAMLAMA -I-

DOĞRUSAL OLMAYAN PROGRAMLAMA -I- DOĞRUSAL OLMAYAN PROGRAMLAMA -I- Dışbükeylik / İçbükeylik Hazırlayan Doç. Dr. Nil ARAS Anadolu Üniversitesi, Endüstri Mühendisliği Bölümü İST38 Yöneylem Araştırması Dersi 0-0 Öğretim Yılı Doğrusal olmayan

Detaylı

Zeki Optimizasyon Teknikleri

Zeki Optimizasyon Teknikleri Zeki Optimizasyon Teknikleri Ara sınav - 25% Ödev (Haftalık) - 10% Ödev Sunumu (Haftalık) - 5% Final (Proje Sunumu) - 60% - Dönem sonuna kadar bir optimizasyon tekniğiyle uygulama geliştirilecek (Örn:

Detaylı

Eln 1002 Bilgisayar Programlama II

Eln 1002 Bilgisayar Programlama II Eln 1002 Bilgisayar Programlama II Recursive Fonksiyonlar Ne ÖĆreneceĆiz? Recursion nedir? Recursive Fonksiyon tanımı Uygulama ve Örnekler Recursive Çözüm Tasarlama Recursion Nedir? Birçok problem, kendisinin

Detaylı

BIL222 Veri Yapıları ve Algoritmalar

BIL222 Veri Yapıları ve Algoritmalar BIL222 Veri Yapıları ve Algoritmalar 1. ĠKĠLĠ AĞAÇLAR (BIARY TREES) Bütün düğümlerinin derecesi en fazla iki olan ağaca ikili ağaç denir. Yani bir düğüme en fazla iki tane düğüm bağlanabilir ( çocuk sayısı

Detaylı

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste

Week 7. Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Week 7 Düğüm bulma Tekli bağlı liste: phead ve ptail Dairesel bağlı liste Çift bağlı liste Düğüm bulma While kullanarak Loop kullanarak Düğüm bulma: While döngüsü ile Node* temp; temp=phead; while (temp->!=xvalue)

Detaylı

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? 1) I. Tablo Oluşturma II. Veri Güncelleme III. Veri Silme IV. Veri Ekleme V. Tablo Silme Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir? a) I, IV ve V b) II, III ve IV

Detaylı

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1

Kullanıcı Dökümanı. Flash B2B. Versiyon 0.1 Kullanıcı Dökümanı Flash B2B Versiyon 0.1 12 Kasım 2004 Geçmiş Değişiklikler İsim Tarih Değişiklik Nedeni Versiyon İçindekiler GEÇMİŞ DEĞİŞİKLİKLER... 2 1. KURULUM... 4 2. KULLANIM... 5 2.1. MAP OLUŞTURMA...

Detaylı

Gramer Tabanlı Değerlendirme Yöntemleri

Gramer Tabanlı Değerlendirme Yöntemleri Gramer Tabanlı Değerlendirme Yöntemleri 1. Giriş Bir gramer biçimsel bir dilde karakter dizileri yada kelimeler oluşturabilen kurallar seti olarak ifade edilir. Kurallar, dil alfabesini kullanarak, dilin

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ı

«BM364» Veritabanı Uygulamaları

«BM364» Veritabanı Uygulamaları HAFTA 6 T-SQL ile Programlar Yazmak" Yaşar GÖZÜDELİ ygozudeli@verivizyon.com http://blog.verivizyon.com/ygozudeli «BM364» Veritabanı Uygulamaları Konu Akışı Programlama dili olarak T-SQL Fonksiyonlar Programlamak

Detaylı

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K); 2009-2010 BAHAR DÖNEMİ MC 689 ALGORİTMA TASARIMI ve ANALİZİ I. VİZE ÇÖZÜMLERİ 1. a) Böl ve yönet (divide & conquer) tarzındaki algoritmaların genel özelliklerini (çalışma mantıklarını) ve aşamalarını kısaca

Detaylı

Inheritance. Inheritance (turetim)

Inheritance. Inheritance (turetim) Inheritance (turetim) Bir cok problemin cozumu icin belirlenen class lar hierarsik bir yapi seklinde organize edilebilir C++ gibi bir cok Object-oriented diller class benzerliklerinin etkin bir sekilde

Detaylı

OTOMATİK KONTROL SİSTEMLERİ TEMEL KAVRAMLAR VE TANIMLAR

OTOMATİK KONTROL SİSTEMLERİ TEMEL KAVRAMLAR VE TANIMLAR OTOMATİK KONTROL SİSTEMLERİ TEMEL KAVRAMLAR VE TANIMLAR KONTROL SİSTEMLERİ GİRİŞ Son yıllarda kontrol sistemleri, insanlığın ve uygarlığın gelişme ve ilerlemesinde çok önemli rol oynayan bir bilim dalı

Detaylı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

ELN1002 BİLGİSAYAR PROGRAMLAMA 2 ELN1002 BİLGİSAYAR PROGRAMLAMA 2 SIRALAMA ALGORİTMALARI Sunu Planı Büyük O Notasyonu Kabarcık Sıralama (Bubble Sort) Hızlı Sıralama (Quick Sort) Seçimli Sıralama (Selection Sort) Eklemeli Sıralama (Insertion

Detaylı

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü BİL 203 Veri Yapıları ve Algoritmalar I GENEL DERS BİLGİLERİ Öğretim Elemanı : İzzet TAMER Ofis : MUH 311 Ofis Saatleri : Pazartesi: 14:10 15:00, Salı:

Detaylı

Matematik Mühendisliği - Mesleki İngilizce

Matematik Mühendisliği - Mesleki İngilizce Matematik Mühendisliği - Mesleki İngilizce Tanım - Definition Tanım nasıl verilmelidir? Tanım tanımlanan ismi veya sıfatı yeterince açıklamalı, gereğinden fazla detaya girmemeli ve açık olmalıdır. Bir

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ı

TCP/IP ye Genel Bir Bakis

TCP/IP ye Genel Bir Bakis Ilker TEMIR (ilker@ulak.net.tr) 23.04.1999 / 23.04.1999 TCP/IP ye Genel Bir Bakis Internet üzerinde bilgisayarlar nasil adreslenirler ve paketler yollarini nasil bulurlar. Bu soru bilgisayar aglari ile

Detaylı

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi 1. 2. 3. 4. 5. 6. Görünüm (view) için özellikle aşağıdakilerden hangisi söylenebilir?? a) Veritabanındaki kayıtlı verileri düzenlemek, yönetmek ve elde etmek için kullanılan bir dildir b) Bir ilişkinin

Detaylı

Kelime (Text) İşleme Algoritmaları

Kelime (Text) İşleme Algoritmaları Kelime (Text) İşleme Algoritmlrı Doç.Dr.Bnu Diri Trie Ağcı Sonek Ağcı (Suffix Tree) Longest Common String (LCS) Minimum Edit Distnce 1 Ağçlrın Bğlı Ypısı Düğüm (node), çeşitli ilgiler ile ifde edilen ir

Detaylı

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI

Konular. Hafta 5 Veri Tipleri (Devam) BLG339 PROGRAMLAMA DİLLERİ KAVRAMI BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 5 Veri Tipleri (Devam) Yrd. Doç. Dr. Melike Şah Direkoğlu Konular Dizi Tipleri Kayıt Tipleri Birleşik Tipler Küme Tipleri İşaretçi ve Referans Tipleri Alındığı

Detaylı

BM-311 Bilgisayar Mimarisi

BM-311 Bilgisayar Mimarisi 1 BM-311 Bilgisayar Mimarisi Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Operand türleri Assembly dili 2 İşlemcinin yapacağı iş makine komutlarıyla belirlenir. İşlemcinin

Detaylı

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Gerçek-Zamanlı Veri Dağıtımı Dokümanı v 1.0.1 01.08.2011

DGridSim Gerçek Zamanlı Veri Grid Simülatörü. Gerçek-Zamanlı Veri Dağıtımı Dokümanı v 1.0.1 01.08.2011 DGridSim Gerçek Zamanlı Veri Grid Simülatörü Gerçek-Zamanlı Veri Dağıtımı Dokümanı v 1.0.1 01.08.2011 Mustafa Atanak Sefai Tandoğan Doç. Dr. Atakan Doğan 1. Tek Rotadan Veri Dağıtımı 1.1 Gerçek-Zamanlı

Detaylı

Veri Yapıları ve Algoritmalar

Veri Yapıları ve Algoritmalar 1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde

Detaylı

Eln 1001 Bilgisayar Programlama I

Eln 1001 Bilgisayar Programlama I Eln 1001 Bilgisayar Programlama I GiriŞ / ǹk¹Ş Fonksiyonlar¹ Ne ÖĆreneceĆiz? Temel Giriş/Çıkış Yapısı Giriş Fonksiyonları Karakterler için giriş fonksiyonları Scanf fonksiyonu Formatlı giriş Çıkış Fonksiyonları

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ı

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ı

Özyineleme (Recursion)

Özyineleme (Recursion) C PROGRAMLAMA Özyineleme (Recursion) Bir fonksiyonun kendisini çağırarak çözüme gitmesine özyineleme (recursion), böyle çalışan fonksiyonlara da özyinelemeli (recursive) fonksiyonlar denilir. Özyineleme,

Detaylı

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1

Programlama Dilleri. C Dili. Programlama Dilleri-ders02/ 1 Programlama Dilleri C Dili Programlama Dilleri-ders02/ 1 Değişkenler, Sabitler ve Operatörler Değişkenler (variables) bellekte bilginin saklandığı gözlere verilen simgesel isimlerdir. Sabitler (constants)

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 5.KONU Cebiresel yapılar; Grup, Halka 1. Matematik yapı 2. Denk yapılar ve eş yapılar 3. Grup 4. Grubun basit özellikleri 5. Bir elemanın kuvvetleri

Detaylı

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net

Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)

Detaylı

Küçük sinyal analizi transistörü AC domende temsilş etmek için kullanılan modelleri içerir.

Küçük sinyal analizi transistörü AC domende temsilş etmek için kullanılan modelleri içerir. Küçük Sinyal Analizi Küçük sinyal analizi transistörü AC domende temsilş etmek için kullanılan modelleri içerir. 1. Karma (hibrid) model 2. r e model Üretici firmalar bilgi sayfalarında belirli bir çalışma

Detaylı

olsun. Bu halde g g1 g1 g e ve g g2 g2 g e eşitlikleri olur. b G için a b b a değişme özelliği sağlanıyorsa

olsun. Bu halde g g1 g1 g e ve g g2 g2 g e eşitlikleri olur. b G için a b b a değişme özelliği sağlanıyorsa 1.GRUPLAR Tanım 1.1. G boş olmayan bir küme ve, G de bir ikili işlem olsun. (G, ) cebirsel yapısına aşağıdaki aksiyomları sağlıyorsa bir grup denir. 1), G de bir ikili işlemdir. 2) a, b, c G için a( bc)

Detaylı

1. LabVIEW ile Programlama

1. LabVIEW ile Programlama 1. LabVIEW ile Programlama LabVIEW ile programlama mantığı, program kodu yazılan programlama mantığına benzemekle birlikte, kontrol adı verilen nesneler arasında veri yolu bağlantısı ile program akışı

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ı

2008 09 Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

2008 09 Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları 2008 09 Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları Hayali bir şirket için BizimŞirket isimli bir veritabanı oluşturulmuş ve aşağıdaki tablolar yapılmıştır. Lütfen tabloları dikkatlice

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ı

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA 3. HAFTA EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA Öğr. Gör. S. M. Fatih APAYDIN apaydin@beun.edu.tr EMYO Bülent Ecevit Üniversitesi Kdz. Ereğli Meslek Yüksekokulu PROBLEM ÇÖZME (PROBLEM SOLVING) nereden

Detaylı

1.4 Tam Metrik Uzay ve Tamlaması

1.4 Tam Metrik Uzay ve Tamlaması 1.4. Tam Metrik Uzay ve Tamlaması 15 1.4 Tam Metrik Uzay ve Tamlaması Öncelikle şunu not edelim: (X, d) bir metrik uzay, (x n ), X de bir dizi ve x X ise lim n d(x n, x) = 0 = lim n,m d(x n, x m ) = 0

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU 1 M-Dosya Yapısı Bir senaryo dosyası (script file) özel bir görevi yerine getirmek

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.

Detaylı

BİL 201 Boole Cebiri ve Temel Geçitler (Boolean Algebra & Logic Gates) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi

BİL 201 Boole Cebiri ve Temel Geçitler (Boolean Algebra & Logic Gates) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi BİL 201 Boole Cebiri ve Temel Geçitler (Boolean Algebra & Logic Gates) Bilgisayar Mühendisligi Bölümü Hacettepe Üniversitesi Temel Tanımlar Kapalılık (closure) Birleşme özelliği (associative law) Yer değiştirme

Detaylı

15. Bağıntılara Devam:

15. Bağıntılara Devam: 15. Bağıntılara Devam: Yerel Bağıntılardan Örnekler: Doğal sayılar kümesi üzerinde bir küçüğüdür (< 1 ) bağıntısı: < 1 {(x, x+1) x N} {(0,1), (1, 2), } a< 1 b yazıldığında, a doğal sayılarda bir küçüktür

Detaylı

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Tanımlama Değişken isimlerinin başında @ sembolü bulunur. @ad, @soyad, @tarih değişken isimlerine birer örnektir.

Detaylı

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları Güven Fidan AGMLAB Bilişim Teknolojileri 18/10/11 GRID ÇALIŞTAYI 2007 1 MapReduce Nedir? Büyük data kümelerini işlemek ve oluşturmak

Detaylı

Fen ve Mühendislik Uygulamaları ile MATLAB

Fen ve Mühendislik Uygulamaları ile MATLAB Fen ve Mühendislik Uygulamaları ile MATLAB Doç. Dr. M. Akif CEVİZ Atatürk Üniversitesi Mühendislik Fakültesi Makine Mühendisliği Bölümü M-Dosyaları Kontrol İfadeleri - İlişkisel ve Mantıksal Operatörler

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ı

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır. Stack Sınıfı (yığıt) java.util Class Stack java.lang.object java.util.abstractcollection java.util.abstractlist java.util.vector java.util.stack Stack (yığıt) sınıfı nesnelerin LIFO (last-input-first-output)

Detaylı

(a,b) şeklindeki ifadelere sıralı ikili denir. Burada a'ya 1. bileşen b'ye 2. bileşen denir.

(a,b) şeklindeki ifadelere sıralı ikili denir. Burada a'ya 1. bileşen b'ye 2. bileşen denir. BĞANTI - FONKSİYON 1. Sıralı İkili : (a,b) şeklindeki ifadelere sıralı ikili denir. Burada a'ya 1. bileşen b'ye 2. bileşen denir.! (x 1,x 2, x 3,x 4,...x n ) : sıralı n li denir. Örnek, (a,b,c) : sıralı

Detaylı

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1

Öğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1 Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte

Detaylı

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler Doç.Dr.Mehmet Hakan Satman mhsatman@istanbul.edu.tr İstanbul Üniversitesi 2014.10.22 Doç.Dr.Mehmet Hakan Satmanmhsatman@istanbul.edu.tr Tedarik Zinciri

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ Yrd. Doç. Dr. Fatih TOSUNOĞLU Erzurum Teknik Üniversitesi Mühendislik Fakültesi İnşaat Mühendisliği Bölümü DERS NOTU 3 KONU: M-dosya yapısı ve Kontrol Yapıları M-Dosya Yapısı

Detaylı

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1

TEMPLATES. Binnur Kurt kurt@cs.itu.edu.tr. Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi. C++ ile Nesneye Dayalı Programlama 1 PARAMETRİKÇOKŞEKİLLİLİK: TEMPLATES Binnur Kurt kurt@cs.itu.edu.tr Bilgisayar Mühendisliği Bölümü İstanbul Teknik Üniversitesi C++ ile Nesneye Dayalı Programlama 1 Sınıf Yapısı Kalıtım Çok Şekillilik Templates

Detaylı

Problem. N sayıda öğrencinin boy ortalaması. N: Öğrenci sayısı S: Başlangıç değeri TOP: Toplam BOY: Boy ORT: Ortalama. Algoritma

Problem. N sayıda öğrencinin boy ortalaması. N: Öğrenci sayısı S: Başlangıç değeri TOP: Toplam BOY: Boy ORT: Ortalama. Algoritma TÜRK DİLİ VE EDEBİYATI BÖLÜMÜ TEMEL BİLGİSAYAR BİL. VE BASIC PROG. DİLİ DERS NOTLARI 1. Sınıf - 2. Dönem İsa SARI www.isa-sari.com Problem N sayıda öğrencinin boy ortalaması N: Öğrenci sayısı S: Başlangıç

Detaylı

KABA KÜME TEORİSİ (Rough Set Theory) Dr. Sedat TELÇEKEN

KABA KÜME TEORİSİ (Rough Set Theory) Dr. Sedat TELÇEKEN KABA KÜME TEORİSİ (Rough Set Theory) Dr. Sedat TELÇEKEN Giriş Bilgi teknolojisindeki gelişmeler ve verilerin dijital ortamda saklanmaya başlanması ile yeryüzündeki bilgi miktarı her 20 ayda iki katına

Detaylı

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır. KULLANICI TANIMLI FONKSİYONLAR Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır. Fonksiyonları veritabanı programlamada

Detaylı

Bölüm 3. Sözdizimi(Syntax) ve Anlamsal(Semantics) Tanımlama ISBN 0-321-49362-1

Bölüm 3. Sözdizimi(Syntax) ve Anlamsal(Semantics) Tanımlama ISBN 0-321-49362-1 Bölüm 3 Sözdizimi(Syntax) ve Anlamsal(Semantics) Tanımlama ISBN 0-321-49362-1 Bölüm 3 Konuları Giriş Sözdizim(Syntax) tanımlamanın genel problemi Sözdizim(Syntax) tanımlamada resmi metotlar Özellik Gramerleri

Detaylı

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü

BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü BBM 231 Yazmaçların Aktarımı Seviyesinde Tasarım! Hacettepe Üniversitesi Bilgisayar Müh. Bölümü Bu derste! Büyük, karmaşık sayısal sistemlerin tasarımı ele alınacaktır. ASM ve ASMD çizgeleri Tasarım Örnekleri

Detaylı

KULLANICI TANIMLI FONKSİYONLAR

KULLANICI TANIMLI FONKSİYONLAR KULLANICI TANIMLI FONKSİYONLAR Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır. Fonksiyonları veritabanı programlamada

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ı

Temel Giriş/Çıkış Fonksiyonları

Temel Giriş/Çıkış Fonksiyonları Temel Giriş/Çıkış Fonksiyonları Temel giriş/çıkış fonksiyonları, bütün programla dillerinde mevcuttur. Bu tür fonksiyonlar, kullanıcıya ekrana veya yazıcıya bilgi yazdırmasına, ve bilgisayara klavyeden

Detaylı

Matris İşlemleri Uygulaması

Matris İşlemleri Uygulaması Matris İşlemleri Uygulaması Uygulama Konusu Uygulama 3x3 boyutlu matrislerle toplama, çıkarma ve çarpma işlemleri üzerinedir. Toplama İşlemi AA = aa iiii mmmmmm ve BB = bb iiii mmmmmm aynı tipte iki matris

Detaylı

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 10 Graf Veri Modeli Graf, matematiksel anlamda, düğümler ve bu düğümler arasındaki ilişkiyi gösteren kenarlardan oluşan bir kümedir; mantıksal ilişki düğüm ile düğüm

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. vardır. 3) a G için 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. vardır. 3) a G için denir) vardır. 1.GRUPLAR Tanım 1.1. G boş olmayan bir küme ve, G de bir ikili işlem olsun. (G, ) cebirsel yapısına aşağıdaki aksiyomları sağlıyorsa bir grup denir. 1) a, b, c G için a ( b c) ( a b) c (Birleşme özelliği)

Detaylı