Bölüm 15. Fonksiyonel Programlama Dilleri ISBN

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

Download "Bölüm 15. Fonksiyonel Programlama Dilleri ISBN 0-321-49362-1"

Transkript

1 Bölüm 15 Fonksiyonel Programlama Dilleri ISBN

2 15. Bölüm konuları Giriş Matematiksel fonksiyonlar Fonksiyonel programlama dillerinin temelleri İlk fonksiyonel programlama dili LISP Scheme Haskell Fonksiyonel dillerin uygulama alanları Fonksiyonel ve komut dillerinin karşılaştırması Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-2

3 Giriş Komutlu diller direkt olarak von Neumann mimarisi ne dayalı Birinci öncelik verimlilik, yazılım geliştirmeye uygunluk değil Fonksiyonel dillerin tasarımı matematiksel fonksiyonlara dayalı Sağlam kuramsal temel. Kullanıcıya yakın. Üzerinde çalışacağı makine ile uyumunu önemli değil. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-3

4 Matematiksel fonksiyonlar Matematiksel fonksiyon: bir kümeden başka bir kümeye eşleme lambda ifadesi: fonksiyonun parametrelerini belirtir. cube = (x).x * x * x Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-4

5 Lambda ifadeleri Lambda ifadeleri isimsiz fonksiyonları belirtir Lambda ifadelerinin parametrelere uygulanışı: parametreler fonksiyondan sonra yazılır. ör: ( (x). x * x * x)(2) (cevap: 8) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-5

6 Yüksek-sıralı fonksiyon Yüksek-sıralı (higher-order) fonksiyon, başka bir fonksiyonu parametre olarak alır ve/veya netice olarak verir Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-6

7 Fonksiyon bileşimi (composition) İki fonksiyonu parametre olarak alıp, birinci fonksiyonu, ikinci fonksiyonun neticesine uygulayan tek bir fonksiyon veren yüksek sıralı bir fonksiyon. Gösterim: h f g h (x) f ( g ( x)) f (x) x + 2 ve g (x) 3 * x ise h f g = (3 * x)+ 2 Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-7

8 Hepsine-uygula Bir fonksiyon ve bir listeyi parametre olarak alıp, fonksiyonu listenin her elemanına uygulayan yüksek sıralı fonksiyon. Gösterim: h (x) x * x ise ( h, (2, 3, 4))bize (4,9,16)verir Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-8

9 Fonksiyonel programlama dillerinin temelleri Amaç: mümkün olduğunca matematik fonksiyonlarını taklit etmek Hesaplama yöntemi: Fonksiyon ugulama Değişkenler tek atamalık (bir tür sabit) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-9

10 Atıfsal saydamlık (referential transparency) Saf bir fonksiyonel programlama dilinde, bir fonksiyonun parametrelere uygulanması her zaman ayni neticeyi verir (çağrılmanın nerde olduğunun önemi yok) Yerel olmayan tanımlanmışlara erişilmediğinde geçerli Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-10

11 LISP veri tipleri ve yapıları Veri tipleri: önceleri sadece atomlar ve listeler Liste şekli: parantez içinde alt listeler ve atomlar ör: (A B (C D) E) LISP listeleri, hafızada tekli bağlamalı listeler şeklinde saklanır. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-11

12 LISP tercümesi '(A B C) A, B ve C atomlarından oluşan listedir (A B C) B ve C parametrelerine uygulanan A fonksiyonudur Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-12

13 Scheme 1970 lerde gerçeklenmiş, benzerlerine göre daha temiz, modern ve basit LISP lehçesi Statik etki alanı kullanır Fonksiyonlar birinci sınıf varlık İfadelerin değeri ve listelerin elemanı olabilirler Değişkenlere atanabilir, parametre olarak geçilebilirler Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-13

14 Hesaplama Parametreler hesaplanır (sıra belirsiz) Parametrelerin değerleri fonskiyon gövdesinde paremetrelerin yerlerine konur. Gövdedeki son ifadenin değeri fonksiyonun değeridir Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-14

15 Basit fonksiyonlar Aritmetik: +, -, *, /, ABS, SQRT, REMAINDER, MIN, MAX ör: (+ 5 2) bize 7 verir QUOTE tek parametre alır, parametreyi hesaplamadan verir Listeleri fonksiyon çağırması olarak değerlendirmemek için kullanılır QUOTE tek tırnak olarak da yazılabilir. '(A B) ile (QUOTE (A B)) ayni şeyi ifade eder Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-15

16 Fonksiyon tanımı: LAMBDA Lambda ifadeleri (isimsiz fonksiyonlar) Şeklini notasyonundan alır ör: (LAMBDA (x) (* x x)) x bağlı değişken olarak anılır (bound variable) Lambda ifadeleri uygulanabilirler ör: ((LAMBDA (x) (* x x)) 7) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-16

17 Özel fonksiyon: DEFINE Foksiyon tanımlamaya yarayan ve sembollere değer bağlamaya yarayan özel şekil İki türü var: 1. Sembolü değere bağlamak için ör: (DEFINE pi ) Kullanım örneği: (DEFINE two_pi (* 2 pi)) 2. İsimleri lambda ifadelerine bağlamak için ör: (DEFINE (square x) (* x x)) şuna eşdeğer: (DEFINE square (lambda (x) (* x x))) Kullanım örneği: (square 5) - Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-17

18 Özel fonksiyon: DEFINE DEFINE için hesplama süreci diğer fonksiyonlara göre farklı. İlk parametre hiç hesplanmaz. Ikinci parametre hesaplanır ve birinciye bağlanır. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-18

19 Çıktı (output) fonksiyonları (DISPLAY expression) (NEWLINE) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-19

20 Sayısal yüklem (predicate) fonksiyonları #T doğru, #F yanlış demek. =, <>, >, <, >=, <= EVEN?, ODD?, ZERO?, NEGATIVE? Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-20

21 Kontrol akışı: IF Seçim (IF predicate then_exp else_exp) ör: (IF (<> count 0) (/ sum count) 0) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-21

22 Kontrol akışı: COND Çoklu seçim (COND (predicate_1 expr {expr}) (predicate_2 expr {expr})... (predicate_n expr {expr}) (ELSE expr {expr})) Önce doğru olan ilk şart bulunur, o şartın sağındaki son değer cevaptır. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-22

23 COND örneği (DEFINE (compare x y) (COND ((> x y) x is greater than y ) ((< x y) y is greater than x ) (ELSE x and y are equal ) ) ) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-23

24 CONS ve LIST liste fonksiyonları CONS iki parametre alır. Birincisi bir atom veya liste, ikincisi bir liste. Birinci parametrenin ikinci parametrenin başına koyulmuş halini yeni bir liste olarak verir. ör: (CONS 'A '(B C)) bize (A B C)verir. LIST aldığı parametrelerin listesini verir. Ör: (LIST 'a 'b 'c) bize '(a b c) verir. Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-24

25 CAR ve CDR liste fonksiyonları CAR liste cinsinden parametre alır, ilk elemanını verir Ör: (CAR '(A B C)) bize A verir (CAR '((A B) C D)) bize '(A B) verir CDR liste cinsinden parametre alır, listenin ilk elemanı dışındakileri liste olarak verir Ör: (CDR '(A B C)) bize '(B C)verir (CDR '((A B) C D)) bize '(C D) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-25

26 EQ? yüklem fonksiyonu EQ? İki sembol alır, ayni iseler #T, farklı iseler #F verir ör: (EQ? 'A 'A) bize #T verir (EQ? 'A 'B) bize #F verir Not: liste ile çağrılırsa, sonuç güvenilir değil EQ? sayısal atomlarla çalışmaz Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-26

27 LIST? ve NULL? Yüklem fonksiyonları LIST? tek parametre alır, eğer parametresi liste ise #T, değilse #F verir NULL? tek parametre alır, eğer parametresi boş liste ise #T, değilse #F verir Ör: (NULL? ()) bize #T verir Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-27

28 Örnek Scheme fonksiyonu: member member bir atom ve bir liste alır. Eğer atom listenin üyesi ise #T, değilse #F verir. (DEFINE (member atm lis) (COND ((NULL? lis) #F) ((EQ? atm (CAR lis)) #T) ((ELSE (member atm (CDR lis))) )) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-28

29 Örnek Scheme fonksiyonu: equalsimp equalsimp iki tane liste alır, eşitseler #T, değilseler #F verir. (DEFINE (equalsimp lis1 lis2) (COND ((NULL? lis1) (NULL? lis2)) ((NULL? lis2) #F) ((EQ? (CAR lis1) (CAR lis2)) (equalsimp(cdr lis1)(cdr lis2))) (ELSE #F) )) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-29

30 Örnek Scheme fonksiyonu: append append iki liste alır, birleştirilmiş olarak geri verir (DEFINE (append lis1 lis2) (COND ((NULL? lis1) lis2) (ELSE (CONS (CAR lis1) (append (CDR lis1) lis2))) )) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-30

31 Scheme yapısı: LET (LET ( (name_1 expression_1) (name_2 expression_2)... (name_n expression_n)) body ) Tüm ifadelerin değerini bul ve değişkenlere bağla, sonra gövdeyi (body) çağır Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-31

32 LET örneği (DEFINE (quadratic_roots a b c) (LET ( (root_part_over_2a (/ (SQRT (- (* b b) (* 4 a c)))(* 2 a))) (minus_b_over_2a (/ (- 0 b) (* 2 a))) (DISPLAY (+ minus_b_over_2a root_part_over_2a)) (NEWLINE) (DISPLAY (- minus_b_over_2a root_part_over_2a)) )) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-32

33 Scheme yüksek sıralı fonksiyonu Bir fonksiyonu listenin tüm elemanlarına uygula: (DEFINE (mapcar fun lis) (COND ((NULL? lis) ()) (ELSE (CONS (fun (CAR lis)) (mapcar fun (CDR lis)))) )) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-33

34 Kod üreten fonksiyonlar Fonksiyon önce kod üretir, sonra kodun değerini bulur EVAL foksiyonu sayesinde Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-34

35 Sayılardan oluşan listeyi topla ((DEFINE (adder lis) (COND ((NULL? lis) 0) (ELSE (EVAL (CONS '+ lis))) )) Önce liste başına + operatorünü koy, sonra bu yeni listeyi EVAL kullarak çalıştır (listenin değerini bul) Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-35

36 Haskell Statik etki alanı Kuvvetli tipli Tip çıkarımı Desen eşleme (pattern matching) Sa fonksiyonel fact 0 = 1 fact n = n * fact (n 1) fib 0 = 1 fib 1 = 1 fib (n + 2) = fib (n + 1) + fib n Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-36

37 Başka örnekler fact n n == 0 = 1 n > 0 = n * fact(n 1) sub n n < 10 = 0 n > 100 = 2 otherwise = 1 square x = x * x Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-37

38 Listeler Liste notasyonu: Elemanlar köşeli parantez içinde ör: directions = ["north", "south", "east", "west"] Uzunluk operatörü: # ör: #directions = 4.. Operatorü ile aritmetik seriler ör: [2, 4..10] = [2, 4, 6, 8, 10] Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-38

39 Listeler... Liste birleştirme operatörü: ++ ör: [1, 3] ++ [5, 7] = [1, 3, 5, 7] CONS, CAR, CDR : operatorü ile ör: 1:[3, 5, 7]=[1, 3, 5, 7] Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-39

40 Factoriyel yeniden product [] = 1 product (a:x) = a * product x fact n = product [1..n] Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-40

41 Liste kapsamlama (comprehension) Küme notasyonu İlk 20 pozitif tamsayının karesi: [n * n n [1..20]] Bir tamsayının tüm çarpanları: factors n = [i i [1..(n div 2)], (n mod i) == 0] Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-41

42 Quicksort sort [] = [] sort (a:x) = sort [b b x; b <= a] ++ [a] ++ sort [b b x; b > a] Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-42

43 Tembel hesaplama (lazy evaluation) Bir dil eğer tüm fonksiyon parametrelerinin tamamen hesplanmasını gerektiriyorsa, bu dile sıkı (strict) denir. Aksi halde dile gevşek (nonstrict) denir. Gevşek diller daha verimlidirler ve sonsuz listelere olanak tanırlar. Tembel hesaplama: Sadece ihtiyacın olan ifadelerin değerini bul. Pozitif sayılar positives = [0..] 16 tam karemidir? member b [] = False member b(a:x) = (a == b) member b x squares = [n * n n [0..]] member 16 squares Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-43

44 Member yeniden member eğer aradığımız eleman listedeyse çalışır. Aksi hade sonsuza kadar gider. Aşağıdaki fonksiyonun öyle bir sorunu yok. member2 n (m:x) m < n = member2 n x m == n = True otherwise = False Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-44

45 Fonksiyonel dillerin uygulama alanları LISP, Haskell vs. yapay zekada kullanılır Biigi temsiliyeti (knowledge representation) Makine öğrenmesi (machine learning) Doğal dil işleme (natural language processing) Konuşma ve görme modellemesi Scheme bazı üniversitelerde programlamaya giriş dersi olarak kullanılır Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-45

46 Fonksiyonel ve komut dillerinin karşılaştırması Komut dilleri: Verimli çalışma Karmaşık semantik Karmaşık sentaks Paralellik programcının sorumluluğunda Fonksiyonel diller: Verimsiz çalışma Basit semantik Basit sentaks Programlar otomatik olarak paralel hale getirilebilir Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-46

47 Özet Fonksiyonel diller, değişkenler, atamalar ve döngüler gibi komut dillerine ait yapılar yerine, fonksiyon uygulaması, şartlı ifadeler, özyineleme ve yüksek seviyeli fonksiyonlar kullanırlar LISP önceleri saf bir fonksiyonel dil olarak başladı ama sonraları komut dilleri yapıları dahil edildi Scheme sadece statik etki alanı kullanan bir LISP lehçesidir Haskell sonsuz listeleri ve küme kapsamlarını (list comprehension) destekleyen tembel bir fonksiyonel dildir Saf fonksiyonel dillerin komutlu dillere göre avantajları vardır ama komutlu dillere göre varolan bilgisayar mimarileri üzerinde daha yavaş çalıştıklarından çok yaygın kullanıma ulaşmadılar Tercüme edip geliştiren: Doç. Dr. Zeki Bayram, DAÜ 1-47

Bölüm 15. Fonksiyonel programlama dilleri (Functional Programming Languages)

Bölüm 15. Fonksiyonel programlama dilleri (Functional Programming Languages) Bölüm 15 Fonksiyonel programlama dilleri (Functional Programming Languages) Fonksiyonel programlama dilleri Buyurgan dillerin tasarımı doğrudan von Neumann mimarisine (von Neumann architecture) dayanır.

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ı

Bölüm 7. İfadeler ve atamalar ISBN

Bölüm 7. İfadeler ve atamalar ISBN Bölüm 7 İfadeler ve atamalar ISBN 0-321-49362-1 7. Bölüm konuları Giriş Aritmetik ifadeler Çok anlamlı (overloaded) operatörler Tip dönüşümleri (conversions) İlişkisel ve Boolean İfadeler Kısa-devre hesaplama

Detaylı

Chapter 8. Komut düzeyi kontrol yapıları ISBN

Chapter 8. Komut düzeyi kontrol yapıları ISBN Chapter 8 Komut düzeyi kontrol yapıları ISBN 0-321-49362-1 8. bölüm konuları Giriş Seçme komutları Tekrarlayan komutlar Şartsız dallanma Korumalı komutlar Sonuç Tercüme edip geliştiren: Doç. Dr. Zeki Bayram,

Detaylı

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1

Bölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli

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ı

A KİTAPÇIĞI. Final Soruları. Sayfa#1(A Kitapçığı) Süre: 60 Dakika

A KİTAPÇIĞI. Final Soruları. Sayfa#1(A Kitapçığı) Süre: 60 Dakika Sayfa#1(A Kitapçığı 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 2017-2018 Süre: 60 Dakika Adı ve Soyadı Öğrenci Numarası Grubu

Detaylı

Lambda, Map, Filter ve Dizi Tamamlama

Lambda, Map, Filter ve Dizi Tamamlama Lambda, Map, Filter ve Dizi Tamamlama Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları *Kaynakça bölümünde verilen kaynaklardan derlenmiştir. Lambda Lambda fonksiyonu veya Lambda operatörü

Detaylı

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1 Bölüm1 İlk Bilgiler ISBN 0-321-49362-1 Bölüm 1 Konuları Niye Programlama Dilleri prensiplerini öğreniyoruz? Programlama alanları Dil değerlendirme kriterleri Dit tasarımına etkiler Dil kategorileri Dil

Detaylı

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için,

İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, PDP 7 1 İfadeler bir programlama dilinde hesaplamaları belirtmede temel araçtır. İfadelerin değerlendirmesini anlamak için, operatörlerin sırası ve İşlenenlerin (operant) değerlendirmesine aşina olmamız

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ı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

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ı

Bölüm 12. Nesne yönelimli programlama desteği

Bölüm 12. Nesne yönelimli programlama desteği Bölüm 12 Nesne yönelimli programlama desteği 12. Bölüm konuları Giriş Nesne yönelimli programlama Nesne yönelimli diller için tasarım konuları C++ dilinde nesne yönelimli programlama desteği Nesne yönelimli

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ı

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ı

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ı

Bölüm 9. Altprogramlar ISBN 0-321-49362-1

Bölüm 9. Altprogramlar ISBN 0-321-49362-1 Bölüm 9 Altprogramlar ISBN 0-321-49362-1 9. Bölüm konuları Giriş Altprogram temelleri Yerel atıf ortamları (local referencing environments) Parametre geçme yöntemleri Altprogram olan parametreler Çok anlamlı

Detaylı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

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ı

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK Giriş-Tanımlamalar Program Nedir? Tanımlanmış bir problemi bilgisayar ortamında çözen ürüne program denir. Programlama Nedir? Tanımlanmış

Detaylı

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1

Bölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 Bölüm 10 Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 10. Bölüm konuları Çağırma / geri dönme semantiği Yığıt-dinamik yerel değişkeni olan altprogramların gerçeklenmesi İçiçe altprogramlar Statik

Detaylı

OPERATÖRLER BÖLÜM 4. 4.1 Giriş. 4.2. Aritmetik Operatörler

OPERATÖRLER BÖLÜM 4. 4.1 Giriş. 4.2. Aritmetik Operatörler BÖLÜM 4. OPERATÖRLER 4.1 Giriş Turbo Pascal programlama dilinde de diğer programlama dillerinde olduğu gibi operatörler, yapılan işlem türüne göre aritmetik, mantıksal ve karşılaştırma operatörleri olmak

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ı

Veritabanı. SQL (Structured Query Language)

Veritabanı. SQL (Structured Query Language) Veritabanı SQL (Structured Query Language) SQL (Structured Query Language) SQL, ilişkisel veritabanlarındaki bilgileri sorgulamak için kullanılan dildir. SQL, bütün kullanıcıların ve uygulamaların veritabanına

Detaylı

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI

2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI 2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki

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ı

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ı

3. ARİTMETİK FONKSİYONLAR ~ (~ tamsayı)

3. ARİTMETİK FONKSİYONLAR ~ (~ tamsayı) . ARİMEİK FONKSİYONLAR.1. ~ (~ tamsayı) Yalnız bir tam sayının değerini bir arttırarak tersini veren fonksiyondur. amsayı pozitif ise bir arttırır ve negatifini, tamsayı negatif ise bir arttırır ve pozitifini

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 Bellek ve Adresleme İşaretçi Kavramı

Detaylı

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21

2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21 İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde

Detaylı

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler

BMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır.

Hem lw hem de sw komutlarının ofseti 16-bitlik işaretli tamsayıdır. DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR 2012-2013 BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ DENEY #2 DİZİLERE ERİŞİMDE MIPS BELLEK TALİMATLARI Amaç: Veri bölütü kullanımını ve tek-modüllü dizi

Detaylı

ÜNİTE 1: TEMEL KAVRAMLAR

ÜNİTE 1: TEMEL KAVRAMLAR MATEMATİK ÜNİTE : TEMEL KAVRAMLAR Temel Kavramlar ADF 0 RAKAM Sayı oluşturmak için kullanılan sembollere... denir. 0 luk sayma düzenindeki rakamlar 0,,,... 8 ve 9 olup 0 tanedir. örnek a, b, c sıfırdan

Detaylı

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK

Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL. Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK MATLAB de Bilgisayar Programlama Dersin Sorumlusu: Yrd. Doç. Dr. Birol SOYSAL Sunumları Hazırlayan: Doç. Dr. Bülent ÇAKMAK M-dosyası Genel tanıtımı : Bir senaryo dosyası (script file) özel bir görevi yerine

Detaylı

BM202 SAYISAL ÇÖZÜMLEME

BM202 SAYISAL ÇÖZÜMLEME BM202 SAYISAL ÇÖZÜMLEME DOÇ.DR. CİHAN KARAKUZU DERS-2 1 Ders2-Sayısal Hesaplamalarda Gerek Duyulabilecek Matlab İşlemleri MATLAB, çok paradigmalı (bir şeyin nasıl üretileceği konusunda örnek, model) sayısal

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Derse Giriş Ders Web Sitesi: www.canerozcan.net Ofis Saatleri: Salı 11:00-13:00 Perşembe 15:30-17:30 ya da email ile randevu alınız: canerozcan@karabuk.edu.tr Kaynak Kitaplar:

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ı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

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ı

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ı

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 13 Mayıs Matematik Sorularının Çözümleri

Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı. ALES / Đlkbahar / Sayısal II / 13 Mayıs Matematik Sorularının Çözümleri Akademik Personel ve Lisansüstü Eğitimi Giriş Sınavı ALES / Đlkbahar / Sayısal II / 1 Mayıs 01 Matematik Sorularının Çözümleri 1. 9! 8! 7! 9! + 8! + 7! 7!.(9.8 8 1) 7!.(9.8+ 8+ 1) 6 81 9 7. 4, π, π π,14

Detaylı

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015

Excel Formüller ve Fonksiyonlar. Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel Formüller ve Fonksiyonlar Yusuf MANSUROĞLU Mühendislik Hizmetleri Müdür Yardımcısı 11.02.2015 Excel de Yapabileceklerimiz Temel aritmetik işlemler (4 işlem) Mantıksal karşılaştırma işlemleri (>,>=,

Detaylı

JAVASCRIPT JAVASCRIPT DİLİ

JAVASCRIPT JAVASCRIPT DİLİ JAVASCRIPT JAVASCRIPT DİLİ Netscape Navigator 2.0 ile birlikte geliştirilen JavaScript dili istemci taraflı (client-side) script dilidir. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 5 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Çoklu Koşul Yapıları, Sözde Kod, Algoritmalar Arasında Dönüşüm) Yrd. Doç. Dr. İbrahim

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ı

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir.

Burada dikkat edilmesi gereken nokta, bilinmeyen veya değişkeninizi yazarken diğer bilinmeyenler ile arasına boşluk koymanız gerektiğidir. yatay kısa çizgi, komutun girilmesi için hazir olunduğunu söyler. Yapacağınız işlemin (input) sonucunu görmek için (output) shift+enter tuşlarına birlikte basmalısınız. + 4 Çarpma işlemi yapmak için *

Detaylı

Algoritmalar ve Karmaşıklık

Algoritmalar ve Karmaşıklık Algoritmalar ve Karmaşıklık Ders 11 Algoritma Ayrık matematikte karşılaşılan bir çok problem sınıfı mevcuttur. Örneğin, verilen tamsayı grubu içindeki en büyük olanının bulunması, verilen bir kümenin bütün

Detaylı

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1

BMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 7. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Program Denetimi Yük. Müh. Köksal Gündoğdu 2 Program Denetimi Bir program, belirli deyim satırlarından oluşur ve genellikle bu

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

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ı

Bilgisayar Mimarisi Nedir?

Bilgisayar Mimarisi Nedir? BİLGİSAYAR MİMARİSİ Bilgisayar Mimarisi Nedir? Bilgisayar mimarisi, diğer mimariler gibi, bir yapı kullanıcısının ihtiyaçlarını belirleme ve bu ihtiyaçları ekonomik ve teknolojik kısıtlamalar dahilinde

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar

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ı

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar

BLM-112 PROGRAMLAMA DİLLERİ II. Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar BLM-112 PROGRAMLAMA DİLLERİ II Ders-1 Kapsama Kuralları & Rasgele Sayı Üretimi & Rekürsif (Özyinelemeli) Fonksiyonlar Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/

Detaylı

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz?

Aşağıdaki programı inceleyip ekrana ne yazacağını söyleyebilir misiniz? PYTHON DERS-8 LİSTELER-2 Geçen ders listeler oluşturmayı, listedeki her elemanın bir index numarası olduğu ve bu numaranın 0'dan başladığını, listenin tamamını veya index numarası sayesinde belirli bir

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 İşaretçiler ve Diziler Fonksiyon

Detaylı

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

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

Detaylı

Java da Program Denetimi ve Operatörler

Java da Program Denetimi ve Operatörler Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi

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 Özyinelemeler veya artık teknik Türkçeye girmiş olan rekürsiflik en çok duyulan fakat kullanımında zorluklar görülen tekniklerdendir.

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? 1. Matlab ve Programlama Ortamı 2. Matlab Komut Penceresi 3. Matlab de değişken tanımlama 4.

Detaylı

Algoritmanın Hazırlanması

Algoritmanın Hazırlanması Algoritmanın Hazırlanması Algoritma, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade

Detaylı

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

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

Detaylı

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ı

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Basit Sorgulamalar a. Tablodan tüm alanları sorgulama b. Tablodan alanları belirterek sorgulama c. Tekrarlı satırları önleme d. Belirli sayıda veya oranda sorgulama yapma

Detaylı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı Internet Programming II Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 8 Mar. 2016 PHP de Değişken Tipleri Dizi (Array) Aynı değişken içerisinde birden fazla değer tutmak

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ı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

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ı

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ı

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ı

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü

MATLAB İLE PROGRAMLAMAYA GİRİŞ. Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü MATLAB İLE PROGRAMLAMAYA GİRİŞ Nedim TUTKUN Elektrik Elektronik Mühendisliği Bölümü nedimtutkun@gmail.com 1 3. Hafta Ders İçeriği M Dosyası Oluşturma Fonksiyon Yazma Fonksiyonlar ve Alt Programlar MATLAB

Detaylı

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız. Bu Derste Öğrenecekleriniz: 1- Sorgulama Yaparken Gruplama (GROUP BY) 2- Gruplamada Koşul Kullanımı (HAVING) 3- Sorgulama Yaparken Sıralama (ORDER BY) 4- Sorgulamalarda İşlem Yapma 5- Güncellemelerde İşlem

Detaylı

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım

Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Nisan 2009 9031150 - Temel Bilgisayar Bilimleri Ders Notu #4-2. kısım Referans: Bugün: 1. Ders Notları. Ders #4.1 Tekrar Dowhile ve for döngüleri Diziler Göstergeler 1. Tekrar for döngüleri Genel yazılımı

Detaylı

VERİTABANI Veritabanı Sorgulama

VERİTABANI Veritabanı Sorgulama VERİTABANI Veritabanı Sorgulama VERİ SORGULAMA DİLİ (DATA QUERY LANGUAGE) Veritabanı platformunda veri sorgulamak için geliştirilmiş en temel araç SQL (Structured Query Language)'dir. SQL'in veritabanı

Detaylı

Matlab - Giriş (İleri Yapı Statiği II. Kısım)

Matlab - Giriş (İleri Yapı Statiği II. Kısım) - Giriş (İleri Yapı Statiği II. Kısım) Doç. Dr. Özgür Özçelik Dokuz Eylül Üniversitesi, Müh. Fak., İnşaat Müh. Böl. Matrisler Hakkında Alman amatör matematikçi Albrecht Dürer in (1471-1528) Rönesans Gravürü

Detaylı

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları. Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi

Detaylı

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır.

Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. I. GİRİŞ Günümüz bilgi toplumunda bilgisayar, her alanda kendine yer edinmiş ve insana, bir çok işlemde yardımcı olarak büyük kolaylık sağlamaktadır. İnsanların elle yaptığı ve yapmakta olduğu bir çok

Detaylı

Bölüm 7. Deyimler ve Atama ifadeleri ISBN

Bölüm 7. Deyimler ve Atama ifadeleri ISBN Bölüm 7 Deyimler ve Atama ifadeleri ISBN 0-321-49362-1 Bölüm 7 Konuları Giriş Aritmetik deyimler Aşırı yüklenmiş operatörler Tip dönüşümleri İlişkisel ve mantıksal deyimler Kısa devre hesaplamalar(short-circuit

Detaylı

Esnek Hesaplamaya Giriş

Esnek Hesaplamaya Giriş Esnek Hesaplamaya Giriş J E O L O J İ M Ü H E N D İ S L İ Ğ İ A. B. D. E S N E K H E S A P L A M A Y Ö N T E M L E R İ - I DOÇ. DR. ERSAN KABALCI Esnek Hesaplama Nedir? Esnek hesaplamanın temelinde yatan

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

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 Yapılar ve Birlikler enum Deyimi

Detaylı

MS Excel. Excel Microsoft Office in bir parçasını oluşturur. Office 2007, Office 2010, Office 2013, Office 2016

MS Excel. Excel Microsoft Office in bir parçasını oluşturur. Office 2007, Office 2010, Office 2013, Office 2016 MS Excel Elektronik tablolama veya hesaplama programı olarak da adlandırılan Excel, girilen veriler üzerinde hesap yapabilme, tablolar içinde verilerle grafik oluşturma, verileri karşılaştırıp sonuç üretebilme

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 6 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Temel Algoritma Örnekleri, Genel Uygulamalar) Yrd. Doç. Dr. İbrahim Küçükkoç Web:

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ı

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9 BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)

Detaylı

C Programlama Dilininin Basit Yapıları

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

Detaylı

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ı

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama

Detaylı

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları

Hafta 9 C Dilinde Kontrol ve Döngü Yapıları BLM111 Programlama Dilleri I Hafta 9 C Dilinde Kontrol ve Döngü Yapıları Yrd. Doç. Dr. Caner ÖZCAN Karar (Karşılaştırma) Komutları if-else Koşulların kontrolünde kullanılan komutlardır. Koşulların doğru

Detaylı

Internet Programming II

Internet Programming II Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 1 Fonksiyonlar Değişken Kontrol Fonksiyonları isset() Fonksiyonu Parametre olarak aldığı değişken

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ı

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 9 Ağaç Veri Modeli ve Uygulaması Ağaç, verilerin birbirine sanki bir ağaç yapısı oluşturuyormuş gibi sanal olarak bağlanmasıyla elde edilen hiyararşik yapıya sahip

Detaylı