YZM 3217 YAPAY ZEKA DERS#7: PROLOG DİLİ

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

Download "YZM 3217 YAPAY ZEKA DERS#7: PROLOG DİLİ"

Transkript

1 YZM 3217 YAPAY ZEKA DERS#7: PROLOG DİLİ

2 Prolog un özellikleri PROgrammig in LOGic Semboller üzerinde çalışma Gerçekler ve kurallardan oluşur Büyük küçük harfe duyarlıdır Sabitler için Küçük harfler Değişkenler için Büyük harfler Program çıktıları çok sade Prolog da olmayanlar For, while döngüleri IF THEN yapısı Diziler ANCAK öz yinelemeli fonksiyonlarla yukarıdakiler sağlanır 2

3 Dekleratif Programlama Prolog Dekleratif programlama dili Prosedürel programlamada adım adım ne yapılması gerektiğini kodlarız (Ör: C, Pascal, Java vs.) Dekleratif programlamada bir durum tanımlanır. Bu tanıma göre yorumlayıcı ya da derleyici bir çözüm üretir Prolog bir cümlenin doğru / yanlış olduğunu cümle içinde değişken(ler) varsa cümlenin doğru olması için o değişken(ler)in değer(ler)inin ne olması gerektiğini söyler. 3

4 Örnek : Aile Ağacı pam tom bob liz ann pat jim 4

5 İlişkileri gerçek(fact)lerle tanımlama Tom, Bob un ebeveynidir gerçeğinin prolog da ifadesi: parent(tom, bob). parent: ilişkinin ismi tom ve bob: ilişkinin argümanları (atomlar).: sonlandırıcı 5

6 Aile Ağacı Tüm aile ağacını aşağıdaki Prolog ifadeleriyle tanımlarız: pam ann bob tom pat liz parent(pam, bob). parent(tom, bob). parent(tom, liz). parent(bob, ann). parent(bob, pat). parent(pat,jim). jim 6

7 Prolog Sorguları?- iliski(a,b). a ve b arasında iliski isminde bir ilişki var mı? cevap YES yada NO?- iliski(a,b). b ile iliski adlı ilişkiyi doğrulayan A lar nelerdir? cevap varsa A lar yoksa NO A: değişken a, b: atom (sabit) 7

8 İlişkileri sorgulamak-1 Bob, Pat in ebeveyni mi??- parent(bob, pat). yes Tom, Ben in ebeveyni mi? :?- parent(tom, ben). no pam ann bob tom pat liz jim 8

9 İlişkileri sorgulamak-2 Liz in ebeveyni kimdir??- ebeveyn(kim, liz). Prolog un cevabı : Kim = tom Bob un çocukları kimlerdir??- ebeveyn(bob, Cocuk). Prolog un cevabı : Cocuk = ann ; Cocuk = pat ; no pam ann bob jim tom pat liz 9

10 İlişkileri sorgulamak-3 Kimler kimlerin çocuğudur??- ebeveyn (Ebeveyn, Cocuk). Ebeveyn = pam Cocuk = bob; Ebeveyn = tom Cocuk = bob; Ebeveyn = tom Cocuk = liz; Çözümler listesini yarıda kesmek için enter Devam ettirmek için ; pam ann bob jim tom pat liz 10

11 İlişkileri sorgulamak-4 Jim in büyük ebeveyni (grandparent) kimdir? Bilgi tabanımızda büyük ebeveyn diye bir ilişki tanımlı değil. Büyük ebeveyn ilişkisi iki ebeveyn ilişkisinin «ve» lenmesiyle elde edilebilir.?- parent(y, jim), parent(x, Y). X=bob Y=pat X parent Y parent jim grandparent 11

12 İlişkileri sorgulamak-5 Torun ilişkisi de benzer biçimde tanımlanabilir. tom, X in ebeveyni, X, Y nin ebeveyni ise Y, tom un torunudur.?- parent(tom,x), parent(x, Y). X=bob Y=ann; X=bob Y=pat; no X parent Y parent jim grandparent 12

13 Çocuk ilişkisi pam ann bob jim tom pat liz parent(pam, bob). parent(tom, bob). parent(tom, liz). parent(bob, ann). parent(bob, pat). parent(pat, jim). offspring(bob, pam). offspring(bob, tom). offspring(liz, tom). offspring(ann, bob). offspring(pat, bob). offspring(jim, pat). 13

14 Kurallar Kurallar iki parçadan oluşur: head : böyledir (sonuç, çıkarım) body : eğer offspring(y, X) :- head parent(x, Y) body 14

15 Kuralların Çalışması Veritabanı: parent(pam, bob). parent(tom, bob). parent(tom, liz). parent(bob, ann). offspring(y, X) :- parent(x, Y). Sorgu: offspring(liz, tom). Çalışma Mekanizması: 1. offsprings ilişkisi için gerçek ara 2. Yok => offsprings ilişkisi için kural varsa uygula 3. Kuralda X tom la, Y liz le eşleştirilerek kuralın bir gerçeklemesi bulunur: offspring(liz,tom) :- parent(tom,liz). 4. parents(tom,liz). gerçeği aranır. Bulunduğunda kuralın eğer kısmı doğrulandığından böyledir kısmı da doğrulanmış olur ve prolog yes cevabını verir 15

16 Örnek: Anne ilişkisi Tüm X ve Y ler için, X, Y nin annesidir Eğer X, Y nin ebeveyni ise ve X kadınsa. İlişkinin Prolog da ifadesi : parent X Y female mother mother(x, Y) :- parent(x, Y), female(x). 16

17 Örnek: Kız kardeş ilişkisi Tüm X ve Y ler için, X, Y nin kız kardeşidir Eğer X ve Y aynı ebeveyne sahip ise ve X bayansa parent İlişkinin Prolog da ifadesi : sister(x, Y) :- parent(z, X), parent(z, Y), female(x). X Z sister parent Y Sorgu: sister(x,pat). 17

18 Örnek: Hala ilişkisi Tüm X ve Y ler için, X, Y nin halasıdır Eğer Z, Y nin ebeveyni ise ve Z, erkek ise ve X, Z in kız kardeşi ise İlişkinin Prolog da ifadesi : sister(x, Y) :- parent(z, X), parent(z, Y), female(x). hala(x,y) :- parent(z,y), male(z), sister(x,z). 18

19 Sonuç Ata İlişkisi parent(pam, bob). parent(tom, bob). parent(tom, liz). PR1 parent(bob, ann). PR2 parent(bob, pat). parent(pat,jim). predecessor(x, Z) :- parent(x, Z). predecessor(x, Z) :- parent(x, Y),predecessor(Y, Z). HEDEF / SORGU?-predecessor(tom, pat). 19

20 Cevap nasıl bulunur? Prolog hedefe ulaşmak için programdaki yazılış sırasına göre cümlecikleri kullanır. by rule pr1 parent(tom, pat) no predecessor(tom, pat) Y = bob by rule pr2 parent(tom, Y) predecessor(y, pat) predecessor(bob, pat) by fact parent(tom, bob) by rule pr1 parent(bob, pat) yes 20

21 Doğal Dil vs. Prolog Bütün çocuklar kısadır. kisa(x):-cocuk(x). Bütün erkek çocuklar arabaları sever. sever(x,araba):-erkek(x),cocuk(x). Bütün çocukların annesi vardır. var(x,anne):-cocuk(x). Sebzeyi hiçbir çocuk sevmez. sevmez(x,y):-sebze(y), cocuk(x). Çocuğunu döven öğretmeni hiçbir anne sevmez. sevmez(x,y):-anne(x,z),ogretmen(y,z),dover(y,z). 21

22 Doğal Dil vs. Prolog 2 Bütün insanlar canlıdır. Ahmet insandır. Dolayısıyla Ahmet canlıdır. canli(x):-insan(x). insan(ahmet).?-canli(ahmet). Ahmet 20 metre zıplayabilir. Birisi X metreye zıplayabilirse daha azlarına da zıplayabilir. ziplar(ahmet,20). ziplar(x,y):-ziplar(x,z),z>y.?-ziplar(ahmet,15). Kendi kalesine gol atan futbolcuyu kendi takımının taraftarları sevmez, karşı takımınkiler sever. sevmez(y,x):- futbolcu(x), taraftar(y), aynitakim(x,y), kendikalesinegolatar(x). sever(y,x):- futbolcu(x), taraftar(y), karsitakim(x,y), kendikalesinegolatar(x). 22

23 SWI Prolog la çalışmak SWI prolog kurulur. Gerçekler ve kurallar.pl uzantılı bir dosyaya kaydedilir.

24 SWI Prolog la çalışmak.pl uzantılı dosyanın üzerine çift tıklanarak

25 SWI Prolog la çalışmak Yada SWI prolog açıldıktan sonra file menüsünden dosya consult edilerek

26 SWI Prolog la çalışmak Gerçek ve kurallarımız prolog a yüklenir. Artık sorgularımız komut satırından girilerek çalıştırılabilir.

27 Aşırı Yükleme Aynı isimde farklı ilişkiler olabilir: point(1, 1), point(1, 1, 1), point(1, 1, 1, 1), +(X,Y,Z):-Z is X+Y. +(X,Y,Z,F):-F is X+Y+Z.?- +(200,0.03,7.2,G). G = ; No?- +(200,0.03,G). G = ; No 27

28 Ve, veya ; (1) P :- Q; R. P doğrudur Eğer Q doğruysa veya R doğruysa Aynı ifadeyi aşağıdaki şekilde de yazabiliriz: P :- Q. P :- R. 28

29 Ve, veya ; (2) Ve, veya dan daha yüksek önceliklidir. Aşağıdaki iki ifade aynı sonucu verir: P :- Q, R; S, T, U. P :- (Q, R); (S, T, U). Aynı ifadeyi aşağıdaki şekilde de yazabiliriz: P :- Q, R. P :- S, T, U. 29

30 Hedefleri Birleştirme araba(chrysler,130000,3,kirmizi,12000). araba(ford,90000,4,gri,25000). araba(ferrari,30000,5,siyah,30000). kamyon(mercedes,10000,2,mavi,20000). kamyon(ford,50000,8,sari,28000). kamyon(volvo,35000,2,siyah,35000). arac(marka,kilometresi,yas,renk,fiyat):- araba(marka,kilometresi,yas,renk,fiyat); kamyon(marka,kilometresi,yas,renk,fiyat). 30

31 Fiyatı den az olan araçlar:?- arac(marka,kilometre,yasi,renk,fiyat), Fiyat< Marka = chrysler KiloMetre = Yasi = 3 Renk = kirmizi Fiyat = ; Marka = mercedes KiloMetre = Yasi = 2 Renk = mavi Fiyat = ; No 31

32 Hedef Birleştirme Hasta mı? tahlil(ahmet,tahlil1,90). tahlil(ahmet,tahlil2,25). tahlil(ahmet,tahlil3,10). yuksektansiyon(x) :- (tahlil(x,tahlil1,y),y>100); (tahlil(x,tahlil2,z),z<30). kalphastasi(x) :- yuksektansiyon(x), tahlil(x,tahlil3,q), Q<20.?-kalphastasi(ahmet).

33 /*Unification Ch05Ex01.pro*/ domains title, author = symbol pages = integer predicates book(title, pages) written_by(author, title) long_novel(title) Goal: written_by(x, Y) X=fleming, Y=DR NO X=melville, Y=MOBY DICK 2 Solutions Goal: Trace CALL: written_by( _, _) RETURN: *written_by("fleming","dr NO ) YES clauses written_by(fleming, "DR NO"). written_by(melville, "MOBY DICK"). book("moby DICK", 250). book("dr NO", 310). long_novel(title) :- written_by(_, Title), book(title, Length), Length > 300. Goal: long_novel(title)

34 /* Backtracking Cho5ex02.pro */ predicates likes(symbol,symbol) tastes(symbol,symbol) food(symbol) clauses likes(bill, X) :- food(x), tastes(x, good). tastes(pizza, good). tastes(brussels_sprouts, bad). food(brussels_sprouts). food(pizza). Goal: likes(bill, X) X=pizza 1 Solution CALL: likes("bill",_) CALL: food(_) RETURN: *food("brussels_sprouts") CALL: tastes("brussels_sprouts","good") REDO: tastes("brussels_sprouts","good") REDO: food(_) RETURN: food("pizza") CALL: tastes("pizza","good") RETURN: tastes("pizza","good") RETURN: likes("bill","pizza")

35 /* Backtracking Cho5ex02.pro */ predicates likes(symbol,symbol) tastes(symbol,symbol) food(symbol) clauses likes(bill, X) :- food(x), tastes(x, good). tastes(pizza, good). tastes(brussels_sprouts, bad). food(brussels_sprouts). food(pizza). Goal: likes(bill, X) X=pizza 1 Solution CALL: likes("bill",_) CALL: food(_) RETURN: *food("brussels_sprouts") CALL: tastes("brussels_sprouts","good") REDO: tastes("brussels_sprouts","good") REDO: food(_) RETURN: food("pizza") CALL: tastes("pizza","good") RETURN: tastes("pizza","good") RETURN: likes("bill","pizza")

36 Arama Kontrolü Fail --- geriye doğru taramaya devam etmeyi zorlamak için. Cut(!) --- geriye doğru taramayı engellemek için kullanılır.

37 /* use of fail - Ch05ex06.pro */ domains name = symbol predicates father(name, name) everybody clauses father(leonard, katherine). father(carl, jason). father(carl, marilyn). everybody :- father(x, Y), write(x, " is ", Y, "'s father\n"), fail. Goal: father(x, Y) X=leonard, Y=katherine X=carl, Y=jason X=carl, Y=marilyn 3 Solutions Goal: Without fail Goal: everybody leonard is katherine s father YES Goal: With fail Goal: everybody leonard is katherine's father carl is jason's father carl is marilyn's father No Goal:

38 /* Cut Example - Ch05ex07.pro */ predicates buy_car(symbol, symbol) car(symbol, symbol, integer) colors(symbol, symbol) clauses buy_car(model, Color) :- car(model, Color, Price), colors(color, sexy),!, Price < car(maserati, green, 25000). car(corvette, black, 24000). car(corvette, red, 26000). car(porsche, red, 24000). colors(red, sexy). colors(black, mean). colors(green, preppy). Goal: buy_car(x, Y) No Solution Goal: buy_car(x, red) No Solution CALL: buy_car(_,"red") CALL: car(_,"red",_) REDO: car(_,"red",_) REDO: car(_,"red",_) RETURN: *car("corvette","red",26000) CALL: colors("red","sexy") RETURN: colors("red","sexy") 26000<25000 FAIL: buy_car(_,"red")

YZM 3217 YAPAY ZEKA DERS#7: PROLOG DİLİ

YZM 3217 YAPAY ZEKA DERS#7: PROLOG DİLİ YZM 3217 YAPAY ZEKA DERS#7: PROLOG DİLİ Prolog un özellikleri PROgrammig in LOGic Semboller üzerinde çalışma Gerçekler ve kurallardan oluşur Büyük küçük harfe duyarlıdır Sabitler için Küçük harfler Değişkenler

Detaylı

Dekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili

Dekleratif Programlama. Örnek : Aile Ağacı. SWI-Prolog. Prolog Dekleratif programlama dili Prolog Programlarının özellikleri: PROgrammig in LOGic Semboller üzerinde çalışma Problemlerin çözümünü tanımlama yerine çıkarım yapma Doğal ğ dille düşünülen ş şeylerin y kodlanması kolay Gerçekler ve

Detaylı

Prolog da Veri Türleri. Prolog la 4.Hafta. Atom lar (2) Atom lar (1)

Prolog da Veri Türleri. Prolog la 4.Hafta. Atom lar (2) Atom lar (1) Prolog da Veri Türleri Prolog la 4.Hafta Prolog bir veri türünü onun şeklinden tanır. Prolog herhangi bir veri tanımına ihtiyaç duymaz. 2 Atom lar (1) Atom lar aşağıdakilerde oluşan string lerdir. Büyük

Detaylı

Sorguların Çalışması. Kurallar. ?-anne(ayse,ahmet). ?-anne(ayse,ahmet). Geriye Doğru İz Sürme

Sorguların Çalışması. Kurallar. ?-anne(ayse,ahmet). ?-anne(ayse,ahmet). Geriye Doğru İz Sürme Örnek : Aile Ağacı Kural oluşturmak Ahmet in annesi yada babası kimdir? Bilgi tabanımızda anne yada baba diye bir ilişki ş tanımlı değil. Bunlar tek tek tanımlanabilir. Fakat bu pek anlamlı olmaz. anne(ayse,fatma).

Detaylı

Uygulamalı Yapay Zeka. Dr. Uğur YÜZGEÇ Ders 2: Prolog Giriş

Uygulamalı Yapay Zeka. Dr. Uğur YÜZGEÇ Ders 2: Prolog Giriş Uygulamalı Yapay Zeka Dr. Uğur YÜZGEÇ Ders 2: Prolog Giriş Prolog Yazılımı Bedava Prolog yorumlayıcıları var Linux, Windows, Mac OS Çok fazla sayıda Prolog yazılımı indirmek mümkün Bunlardan birkaçı SWI

Detaylı

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ İLERİ PROGRAMLAMA DİLLERİ SUNUM RAPORU MANTIK PROGRAMLAMA HAZIRLAYAN: Tahir Emre KALAYCI TESLİM ALAN:

EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ İLERİ PROGRAMLAMA DİLLERİ SUNUM RAPORU MANTIK PROGRAMLAMA HAZIRLAYAN: Tahir Emre KALAYCI TESLİM ALAN: EGE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ İLERİ PROGRAMLAMA DİLLERİ SUNUM RAPORU MANTIK PROGRAMLAMA HAZIRLAYAN: Tahir Emre KALAYCI TESLİM ALAN: Doç. Dr. N.Yasemin TOPALOĞLU 17 KASIM 2003 Bornova,

Detaylı

İçerik. Prolog la 5.Hafta. soru. Hedef Birleştirme Hasta mı? Geçen Hafta Hedef Birleştirme Çıkarımlar.

İçerik. Prolog la 5.Hafta. soru. Hedef Birleştirme Hasta mı? Geçen Hafta Hedef Birleştirme Çıkarımlar. İçerik Prolog la 5.Hafta Geçen Hafta Hedef Birleştirme Çıkarımlar Bu Hafta Listeler Hedef Birleştirme Hasta mı? tahlil(ahmet,tahlil1,90). tahlil(ahmet,tahlil2,25). tahlil(ahmet,tahlil3,10). yuksektansiyon(x):-

Detaylı

Mantık Programlama Hazırlayan:Tahir Emre KALAYCI kalayci@bilmuh.ege.edu.tr

Mantık Programlama Hazırlayan:Tahir Emre KALAYCI kalayci@bilmuh.ege.edu.tr Mantık Programlama Hazırlayan:Tahir Emre KALAYCI kalayci@bilmuh.ege.edu.tr Mantık Programlama Mantık Nedir? Mantık Programlama Prolog Sonuçlar Mantık Nedir? İnsan düşünce sürecini aydınlatır Biçimselleştirir

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1

İsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1 İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:

Detaylı

YZM 3217 YAPAY ZEKA DERS#8: PROLOG: LİSTELER

YZM 3217 YAPAY ZEKA DERS#8: PROLOG: LİSTELER YZM 3217 YAPAY ZEKA DERS#8: PROLOG: LİSTELER Listeler Liste: elemanlar dizisi Örnek: ann, tennis, tom, skiing Prolog daki ifadesi: [ann, tennis, tom, skiing] 2 Listelerin gösterimi (1) Boş dizi: [ ] Her

Detaylı

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?

Detaylı

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları

Endüstri Mühendisliği Bölümü Bilgisayar Programlama Ders Notları 8- Turbo Pascal Programlama İle Dosya İşlemleri Dosya işlemleri bilgisayar programlamada verilerin tekrar kullanılması açısından çok önemlidir. Yazılan bilgisayar programlarında elde edilen sonuçlar eğer

Detaylı

1 PROGRAMLAMAYA GİRİŞ

1 PROGRAMLAMAYA GİRİŞ İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 2 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 2 HTML 2 Hyper Text Markup Language = Yüksek/İleri Metin İşaretleme Dili Web sayfaları oluşturmak için kullanılan içerik biçimlendirme dilidir. Yüksek/ileri metin

Detaylı

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN

Bölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN Bölüm 8 İfade Seviyesindeki Kontrol Yapıları ISBN 0-321-49362-1 Bölüm 8 Konular Giriş Seçme İfadeleri Yinelemeli İfadeler Şartsız Dallanma Korumalı Komutlar Sonuçlar Kontrol Akışının Seviyeleri İfadeler

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ı

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ı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA BLM-111 PROGRAMLAMA DİLLERİ I Ders-12 Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı

Detaylı

Hafta 12 Karakter Tutan Diziler

Hafta 12 Karakter Tutan Diziler BLM111 Programlama Dilleri I Hafta 12 Karakter Tutan Diziler Yrd. Doç. Dr. Caner ÖZCAN Katar (String) Tanımlama Dizileri ve çok boyutlu dizileri gördük. Katar dediğimiz şey de aslında bir dizidir. Değişken

Detaylı

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1

1) Programlama dillerinin temel kavramlarını öğrenir. 1,2,4 1 DERS BİLGİLERİ Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS Programlama Dilleri BIL204 4 3+0 3 5 Ön Koşul Dersleri Dersin Dili Dersin Seviyesi Dersin Türü Türkçe Lisans Zorunlu / Yüz Yüze Dersin

Detaylı

Programlama Dilleri 1. Ders 4: Diziler

Programlama Dilleri 1. Ders 4: Diziler Programlama Dilleri 1 Ders 4: Diziler Genel Bakış Tanım Dizilerin tanımlanması Dizilere ilk değer verilmesi Yerel ve Global diziler Dizilerin birbirine atanması Diziler ile ilgili örnekler Çalışma soruları

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 Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;

Detaylı

EYLÜL ÜNİTELERİ SEPTEMBER UNITS AGE 3-4. www.englishkidsacademy.com

EYLÜL ÜNİTELERİ SEPTEMBER UNITS AGE 3-4. www.englishkidsacademy.com EYLÜL ÜNİTELERİ SEPTEMBER UNITS AGE 3-4 Ailem My Family Bebek-Baby Baba-Father Anne-Mother Abi-Brother Kızkardeş-Sister Kız-Girl Erkek Çocuk-Boy Çocuğunuza Sorun: Türkçe-İngilizce Bebek ne demek? What

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ı

Öğ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ı

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( ) Ders Tanıtım Formu Dersin Adı Öğretim Dili ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Türkçe Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( ) Eğitim Öğretim Sistemi Örgün Öğretim (X )

Detaylı

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır.

Pascalda oluşturulacak dosyalar değişkenler gibi programın başında tanımlanır. DOSYALAMALAR Programlama bilgilerin her zaman ekrana yazdırılması veya değişkenlerde tutulması yeterli olmayabilir. Programın çalışması sonucu girilen yada hesaplanan her bilgi manyetik ortama programda

Detaylı

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Yapay Zekâ Dersi. Final Soruları A KİTAPÇIĞI. Güz,

Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM Yapay Zekâ Dersi. Final Soruları A KİTAPÇIĞI. Güz, Sayfa#1 (A KİTAPÇIĞI Manisa Celal Bayar Üniversitesi Yazılım Mühendisliği Bölümü YZM 3217- Yapay Zekâ Dersi Final Soruları A KİTAPÇIĞI Güz, 2018-2019 Süre: 60 Dakika Adı Öğrenci Numarası Soyadı İmza Tarih

Detaylı

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6

Yazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6 ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman

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ı

http://alikoker.name.tr İÇİNDEKİLER

http://alikoker.name.tr İÇİNDEKİLER i İÇİNDEKİLER TEġEKKÜR... Hata! Yer işareti tanımlanmamış. ĠÇĠNDEKĠLER... i ÖZET... vii ABSTRACT... ix 1.GĠRĠġ... 1 2. PROLOG UN (PROGRAMMING IN LOGIC) TEMELLERĠ... 3 2.1. Gerçekler: Bilinen olgular...

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ı

Hafta 13 Fonksiyonlar

Hafta 13 Fonksiyonlar BLM111 Programlama Dilleri I Hafta 13 Fonksiyonlar Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonlar Fonksiyonlar C de modüller Programlar kullanıcı tanımlı fonksiyonları ve kütüphane fonksiyonlarını birlikte kullanırlar.

Detaylı

Lambda İfadeleri (Lambda Expressions)

Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki

Detaylı

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri

ORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en

Detaylı

Bölüm 9. Altprogramlar ISBN

Bölüm 9. Altprogramlar ISBN Bölüm 9 Altprogramlar ISBN 0-321-49362-1 Giriş Bu bölümde, programlarda sıkça kullanılan işlemlerin bir araya gruplanması ile oluşturulan altprogramlar incelenecektir. Altprogramlar sayesinde bir programda

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ı

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı Öğr. Gör. Cansu AYVAZ GÜVEN NESNE TABANLI PROGRAMLAMA Java Değişkenler ve Veri Tipleri Operatörler JAVA Java Java SUN bilgisayar şirketince

Detaylı

Linux'ta Kabuk ve Kabuk Programlama

Linux'ta Kabuk ve Kabuk Programlama Linux'ta Kabuk ve Kabuk Programlama Kabuk Nedir? Kabuk, kullanıcı ile bilgisayar sistemi arasındaki bir yazılım katmanıdır. Kabuk, kullanıcının hareketlerini yorumlayıp, işletim sistemini ve uygulamaları

Detaylı

Programlama Dili Prensipleri. Lab Notları 8 ve 9

Programlama Dili Prensipleri. Lab Notları 8 ve 9 Programlama Dili Prensipleri Lab Notları 8 ve 9 Fonksiyonel Programlama Fonksiyonel programlamada bir fonksiyon aynı parametreler aldığı sürece aynı sonucu üretecektir. Daha çok yapay zeka için kullanılan

Detaylı

PYTHON PROGRAMLAMA DİLİ

PYTHON PROGRAMLAMA DİLİ PYTHON PROGRAMLAMA DİLİ Ege Bilmuh GNU/Linux ve Özgür Yazılım Çalışma Grubu http://tinyurl.com/ozgurbilmuh Enes Ateş enes@enesates.com 26.04.2012 Nedir bu Python? Adını Monty Python's Flying Circus adlı

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ı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Temel Kavramlar Algoritma: Bir problemin çözümünü belirli bir zamanda çözmek için sonlu sayıdaki adım-adım birbirini takip eden

Detaylı

İNGİLİZCE AİLE VE AKRABA BİREYLERİ, SOY AĞACI (FAMILY AND RELATIVE INVIDUALS, FAMILY TREE)

İNGİLİZCE AİLE VE AKRABA BİREYLERİ, SOY AĞACI (FAMILY AND RELATIVE INVIDUALS, FAMILY TREE) İNGİLİZCE AİLE VE AKRABA BİREYLERİ, SOY AĞACI (FAMILY AND RELATIVE INVIDUALS, FAMILY TREE) İngilizcede aile ve akraba bireylerinin tanıtımı ve soy ağacı konu anlatımı örneklerini öğreneceğiz. Ayrıca ailenizi

Detaylı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar

Detaylı

İnternet Programcılığı Dersi 2.Dönem Ders Notu

İnternet Programcılığı Dersi 2.Dönem Ders Notu İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı

Detaylı

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya

Detaylı

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir:

Gereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir: Gereksiz Kodlar Kaan Aslan 9 Temuz 1997 Kapalı spor salonu, durak yeri, taşıt aracı, en optimum, geri iade etmek, davranış biçimi Bu ifadelerde bir gariplik var, değil mi? Açık spor salonu göreniniz var

Detaylı

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 4 MasterPage İNTERNET PROGRAMLAMA 2 A S P. N E T Marmara Teknik Bilimler MYO / Hafta 4 MasterPage Bir web sitesi birden fazla sayfadan oluşur. Bu sayfalarda içerik değişirken her sayfada tekrarlanan ögeler ve özellikler

Detaylı

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

VERİ YAPILARI VE PROGRAMLAMA (BTP104) VERİ YAPILARI VE PROGRAMLAMA (BTP104) Yazar: Doç.Dr. İ. Hakkı CEDİMOĞLU S1 SAKARYA ÜNİVERSİTESİ Adapazarı Meslek Yüksekokulu Bu ders içeriğinin basım, yayım ve satış hakları Sakarya Üniversitesi ne aittir.

Detaylı

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (

BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ ( BİLGİSAYAR UYGULAMALARI Şırnak Üniversitesi Mühendislik Fakültesi 2018-19 Güz Dönemi Arş.Gör. Eren DEMİR ve Arş.Gör. Veysel KIŞ (e-mail: edemir@sirnak.edu.tr ) 04.10.2018 1 MATLAB da Workspace ve Workspace

Detaylı

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz. Fonksiyonlar tamamen işimizi kolaylaştırmak adına sürekli olarak tekrarladığımız sql sorgularına tek bir noktadan erişmemizi sağlar. Buda bize hızlı bir erişim imkanı,hızlı bir hata kontrol mekanizması,

Detaylı

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları

4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları 4- Turbo Pascal Bilgisayar Programlamada Kullanılan Şart Yapıları Şart yapıları bir bilgisayar programının olmazsa olmazlarındandır. Şart yapıları günlük hayatımızda da çok fazla karşılaştığımız belirli

Detaylı

1. PROGRAMLAMAYA GİRİŞ

1. PROGRAMLAMAYA GİRİŞ 1. PROGRAMLAMAYA GİRİŞ Bilgisayardaki İşlem Akışı Hammadde İşletme Makine, Teçhizat vs. İnsan Ürün Veri Bilgisayar Program İnsan Sonuç Bilgisayarın Genel Bileşenleri Bilgisayar Yazılım Donanım Sistem Uygulama

Detaylı

Matematiksel Operatörler

Matematiksel Operatörler Matematiksel Operatörler Genel olarak matematiksel işlemlerde kullanılan operatörlerdir. Operatör Anlamı Açıklama ^ Üs Alma C^3 Matematikdeki üs operatörüdür. Verilen ilk sayının ikinci sayı kadar kuvvetini

Detaylı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8 BTP 27 İNTERNET PROGRAMCILIĞI I Ders 8 Değişkenler 2 Tamsayı Değerler (Integer) Tamsayılar, tabanlı (decimal), 8 tabanlı (octal) veya 6 tabanlı (hexadecimal) olabilir. 8 tabanındaki sayıları belirtmek

Detaylı

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI

OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI 23.01.2016 1. (6 puan) İnternetten, kod.txt isimli bir dosyayı Linux kurulu bir

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ı

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu

Detaylı

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler:

Veri Yapıları. Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz. İçindekiler: Veri Yapıları Amaçlar: Temel Veri Yapılarını Tanımlamalı Veri Yapılarını Veri Modeli ve Türlerini Öğreneceksiniz İçindekiler: Giriş Temel Veri Yapıları Tanımlamalı Veri Yapıları Veri Modeli ve Türleri

Detaylı

C Konsol ve Komut Satırı

C Konsol ve Komut Satırı C Konsol ve Komut Satırı Öğr. Gör. M. Ozan AKI Rev 1.0 C:\> Konsol ekranı, işletim sistemi ve dosya yönetiminin metin tabanlı yönetilebilmesini sağlayan arabirimdir. Windows işletim sistemi ortaya çıkmadan

Detaylı

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü

MATLAB a GİRİŞ. Doç. Dr. Mehmet İTİK. Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü MATLAB a GİRİŞ Doç. Dr. Mehmet İTİK Karadeniz Teknik Üniversitesi Makine Mühendisliği Bölümü İçerik: MATLAB nedir? MATLAB arayüzü ve Bileşenleri (Toolbox) Değişkenler, Matris ve Vektörler Aritmetik işlemler

Detaylı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1 Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit

Detaylı

ALGORİTMA VE PROGRAMLAMA II

ALGORİTMA VE PROGRAMLAMA II ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Veri Hiyerarşisi Dosyalara Giriş

Detaylı

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra

Detaylı

C PROGRAMLAMA D İ L İ

C PROGRAMLAMA D İ L İ C PROGRAMLAMA DİLİ C Programlama Dilinin Temelleri C Programlama Dili'ni popüler kılan önemli nedenler aşağıda listelenmiştir: C, güçlü ve esnek bir dildir. C ile işletim sistemi veya derleyici yazabilir,

Detaylı

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak.

Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : dak. Selçuk Üniversitesi Mühendislik Fakültesi Harita Mühendisliği Bölümü ra Sınavı Test Soruları dı soyadı :... Öğrenci no :... İmza :... Tarih, Süre :13.04.2017 60 dak. Dikkat!!! Soru kitapçığında ve cevap

Detaylı

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. PROGRAMLAMAYA GİRİŞ Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir. C de yazılan bir programın çalışması için çoğunlukla aşağıdaki

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ı

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ı

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido.

PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan <hdogan@hido. PHP'ye Giriş Türkiye PHP Grubu - Linux Şenlikleri PHP Eğitim / Tanıtım Seminerleri Ankara, 11 Mayıs 2006 Hidayet Doğan PHP Nedir? Genel kullanım amaçlı bir betik/programlama dilidir.

Detaylı

ALT PROGRAMLAR BÖLÜM 11. 11.1 Giriş. 11.1.1 Alt Programlar Hakkında Genel Bilgiler

ALT PROGRAMLAR BÖLÜM 11. 11.1 Giriş. 11.1.1 Alt Programlar Hakkında Genel Bilgiler BÖLÜM 11 ALT PROGRAMLAR 11.1 Giriş Yapısal programlamanın en önemli yaklaşımlarından biri, temel uygulamayı bir takım parçalara bölerek gerçekleştirmektir. Pascal'da bu parçalar altyordam (procedure) veya

Detaylı

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true

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ı

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu. Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html

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ı

1.1. Yazılım Geliştirme Süreci

1.1. Yazılım Geliştirme Süreci Kazanımlar Bu bolümde; Yazılım geliştirme sureci konusunda bilgi sahibi olacak, Yazılım geliştirme surecinde gerekli olan araçları tanıyacak, Python dilinde program geliştirme ortamlarını inceleyebileceksiniz.

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

YZM 2116 Veri Yapıları

YZM 2116 Veri Yapıları YZM 2116 Veri Yapıları Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği Bu bölümde, BÖLÜM - 8 Problem Tanımı Arama Ağaçları İkili Arama

Detaylı

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? İÇİNDEKİLER VII İÇİNDEKİLER 1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? 1 Neden Python? 3 Python Neden Bütün Hacker ların Favori Programlama Dili? 4 Hangi Editörü Kullanmalıyım? 5 Bu Kitabı Nasıl Kullanmayalıyım?

Detaylı

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.

Kodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır. GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.

Detaylı

R ile Programlamaya Giriş ve Uygulamalar

R ile Programlamaya Giriş ve Uygulamalar R ile Programlamaya Giriş ve Uygulamalar İçerik R ye genel bakış R dili R nedir, ne değildir? Neden R? Arayüz Çalışma alanı Yardım R ile çalışmak Paketler Veri okuma/yazma İşleme Grafik oluşturma Uygulamalar

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 Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri

Detaylı

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi 2011-2012 Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Programlama Dili Nedir? 2 Programlama dili, yazılımcının bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasını

Detaylı

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN Basit C Programları: Bir Metni Yazdırmak #include /* program çalışmaya main fonksiyonundan başlar*/ int main() { printf( "C diline hoşgeldiniz!\n"

Detaylı

Göstericiler (Pointers)

Göstericiler (Pointers) C PROGRAMLAMA Göstericiler (Pointers) C programlama dilinin en güçlü özelliklerinden biridir. Göstericiler, işaretçiler yada pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi

Detaylı

Bilgisayar Programlama (COMPE 102) Ders Detayları

Bilgisayar Programlama (COMPE 102) Ders Detayları Bilgisayar Programlama (COMPE 102) Ders Detayları Ders Adı Ders Kodu Dönemi Ders Saati Uygulama Saati Laboratuar Kredi AKTS Saati Bilgisayar Programlama COMPE 102 Bahar 2 2 0 3 4 Ön Koşul Ders(ler)i Dersin

Detaylı

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş Kurulum için ilk önce Sun Microsystems in sitesinden uygun J2SE sürümünü indirin. Ben J2SE v1. 4. 2_16 Windows Installer paketini kullandım J2SE SDK Kurulumu aşağıdaki gibi başlayacaktır. 1 Kurulum tamamlandıktan

Detaylı

BİL-142 Bilgisayar Programlama II

BİL-142 Bilgisayar Programlama II BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Sınıflar, Nesneler, Fonksiyon ve Veri Üyeleri Sınıf ve Fonksiyon Üyeleri

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken] Sayaçlar Düzenli olarak artan (+) veya azalan (-) sayı veya string ifadeler elde etmek için kullanılırlar. Eşitliğin her iki tarafındaki değişken isminin aynı olmasına dikkat edin. Bu durum matematik olarak

Detaylı

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi 5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını

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ı

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ı

PostgreSQL ve PL/pgSQL

PostgreSQL ve PL/pgSQL PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız

Detaylı

Bölüm 10: PHP ile Veritabanı Uygulamaları

Bölüm 10: PHP ile Veritabanı Uygulamaları Bölüm 10: PHP ile Veritabanı Uygulamaları -231- Öğr.Gör. Serkan DİŞLİTAŞ 10.1. PHP PHP, platformdan bağımsız sunucu taraflı çalışan betik bir web programlama dilidir. PHP programlama dili ile MySQL, MSSQL,

Detaylı

VERİ TABANI ve YÖNETİMİ

VERİ TABANI ve YÖNETİMİ VERİ TABANI ve YÖNETİMİ Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü 2 BÖLÜM -10- FONKSİYONLAR 3 Giriş Geçen haftaki derslerimizde Görünümleri (View) ve Stored Procedure (SP) leri öğrendik. Bu hafta

Detaylı

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz.

Bir dizinin boyutları sabittir ve kullanılmadan önce belirlenmelidir. Dizi boyutunu belirlemek için başka bir değişkende kullanabilirsiniz. C# da Diziler Diziler için aynı tipteki verilerin tutulduğu bir koleksiyon diyebiliriz. Örneğin integer verinin bir yığın şeklinde tutulması için dizileri kullanırız. C# da diziler referans tipinde değişkenlerdendir.

Detaylı