PDP 5 Veri Tipleri. İlkel tipler, çoğu programlama dilinde yer alan ve diğer tiplerden oluşmamış veri tiplerini göstermektedir.

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

Download "PDP 5 Veri Tipleri. İlkel tipler, çoğu programlama dilinde yer alan ve diğer tiplerden oluşmamış veri tiplerini göstermektedir."

Transkript

1 PDP 5 Veri Tipleri 1 Veri tipi (data type) bir değerler/nesneler kümesini ve bu nesneler üzerindeki bir takım ön tanımlı işlemlerini (predefined operations) tanımlar. Bir betimleyici/tanımlayıcı (descriptor) bir değişkenin (variable) özelliklerinin (attributes) koleksiyonudur. Bir programlama dilindeki veri tipleri, programlardaki ifade yeteneğini, gerçek hayattaki problemlere nasıl uygulanacagını programların güvenilirliğini doğrudan etkiledikleri için, bir programlama dilinin değerlendirilmesinde önemli bir yer tutarlar. 2 Bir problemin çözümü esnasında bilgisayarda tutulan, CPU komutu olmayan her türlü bilgiye veri denir. Von Neumann mimarisi CPU ile belleği belirgin bir şekilde ayırır. Bellek içeriği oldukça karışıktır. Bellekte: Her türlü CPU komutları: yazmaç (register), bellek transferleri, aritmetik işlemler, karşılaştırma, vs. Bazı işlemleri yapabilmek için ek bilgi: transfer etmek için adresler, vs. İşlenecek değerler, adres bilgileri gibi veriler (data). Belleğe erişim tamamen adrese göredir. Von Neumann makinesinde işlenecek bütün bilgiler ikili (binary) sayısal sisteme dönüştürülmek zorundadır. 3 İlkel Veri Tipleri (Primitive) Karakter, katar Tipleri (Character, String ) Kullanıcı-tanımlı Sıra Tipleri (Ordinal) Dizi Tipleri (Array) İlişkili (Çağrışımlı) Diziler (Associative Arrays) Kayıt (Tutanak) Tipleri (Record) Bileşim Tipleri (Union) İşaretçi Tipleri (Pointer) İlkel tipler, çoğu programlama dilinde yer alan ve diğer tiplerden oluşmamış veri tiplerini göstermektedir. Bileşik Tipler Çeşitli veri tiplerinde olabilen bileşenlerden oluşmuştur

2 Integer Genellikle her zaman donanımın tam yansımasıdır, bu yüzden eşlenme (mapping) önemsizdir Bir dilde en çok sekiz farklı integer tipi olabilir En bilinen temel veri tipi tamsayı (integer) dır. Bir tamsayı değer, bellekte en sol bit işaret biti olmak üzere bir dizi ikili (bit) ile gösterilir. Temel tamsayı veri tipine ek olarak Ada ve C programlama dillerinde, short int, int, long int gibi üç ayrı büyüklükte tamsayı tipi tanımlanmıştır. C'de işaretsiz tamsayı (unsigned int) veri tipi de bulunmaktadır. TÜR İSMİ UZUNLUK (byte) (DOS / UNIX) SINIR DEĞERLERİ signed char unsigned char signed short int unsigned short int signed int unsigned int long int unsigned long int Kayan Noktalı sayılar (Floating Point) Gerçel (real) sayıları modeller Sadece yaklaşık olarak (pi, e vb) kesirler ve üsler olarak iki bölümde ifade edilirler. duyarlılık (precision) ve alan (range) açısından tanımlanırlar. Duyarlılık, değerin kesir bölümünün tamlığıdır. Alan ise, kesirlerin ve üslerin birleşmesidir. Bilimsel kullanım için olan diller en az iki kayan-nokta tipini destekler Kayan Noktalı sayılar IEEE Kayan Nokta Formatları (IEEE Floating-Point Standard 754 ) Kayan noktalı sayılar, kesir (fraction) ve üst (exponent) olarak iki bölümde ifade edilirler. kayan noktalı veri tipi, gerçel (real) ve çift-duyarlılık (double) olmak üzere iki tiple gösterilebilirler Complex Bazı dillerde mevcuttur C99, Fortran, Python 7 + 3j her değer gerçel ve sanal olmak üzere iki parçadan oluşur Onlu / Ondalık (Decimal, BCD) Onlu veri tipi, ondalık noktanın sabit bir yerde bulunduğu sabit sayıda onlu basamak içeren bir veri tipidir. Bu veri tipi, az sayıda programlama dilinde (Örneğin; PL/I) tanımlanmıştır. Onlu veri tipi, onlu değerleri tam olarak saklayabilirse de, üsler bulunmadığı için gösterilebilecek değer alanı sınırlıdır. Her basamak için bir sekizli (byte) gerekli olması nedeniyle, belleği etkin olarak kullanmaz. Ticari uygulamalar için (para) Sabit sayıda ondalık basamak (decimal digits) saklar (kodlanmış) Avantaj: doğruluk (accuracy) Dezavantaj: sınırlı aralık, belleği gereksiz harcar

3 Boolean (Mantıksal) Mantıksal veri tipi, ilk olarak ALGOL 60 tarafından tanıtılmış ve daha sonra çoğu programlama dilinde yer almıştır. sadece doğru (true) veya yanlış (false) şeklinde ifade edilen iki değer alabilir. bellekte bir ikili ile gösterilebilirse de, çoğu bilgisayarda bellekteki tek bir ikiliye etkin olarak erişim güç olduğu için, bir sekizlide (byte) saklanırlar. Avantaj: okunabilirlik Boolean İlişkisel işlemciler, ve seçimli deyimler gibi programlamadaki birçok yapı, mantıksal tipte bir ifade üzerinde çalıştığı için mantıksal veri tipinin dilde yer almasının önemi büyüktür. ALGOL 60'dan sonraki çoğu dilde yer alan mantıksal veri tipinin yer almadığı bir programlama dili C dilidir. C'de ilişkisel işlemciler, ifadenin sonucu doğru ise 1, değilse 0 değeri döndürürler. C'de if deyimi, sıfır değeri için yanlış bölümünü, diğer durumlarda ise doğru bölümünü işler Karakter (Character) Tipleri Karakter veri tipi, tek bir karakterlik bilgi saklayabilen ve bilgisayarlarda sayısal kodlamalar olarak saklanan bir veri tipidir. Karakter veri tipinde en yaygın olarak kullanılan kodlamalardan biri ASCII kodlamasıdır. ASCII kodlaması, 128 farklı karakteri göstermek için, arasındaki tamsayı değerleri kullanır. ASCII kodlamasıyla bağlantılı olarak bazı programlama dilleri, karakter veri tipindeki değerlerle tamsayı tipi arasında ilişki kurarlar. Alternatif, 16-bit kodlama: Unicode Tüm doğal dillerin karakterlerini barındırır. Burada karakterler 1-4 bayt ile gösterilirler. Java, C# ve JavaScript de Unicode u destekliyor Not: C'de char ve int veri tipleri dönüşümlü olarak kullanılabilmektedir Karakter Dizgi Tipi (Character String Types) Değerler karakterlerden (Character) oluşan sıradır Bir karakter dizgi veri tipinde, nesneler karakterler dizisi olarak bulunur. Tasarım problemleri: Karakter dizgi veri tipi bazı programlama dillerinde temel bir veri tipi olarak (dolayısıyla dizilim tipi indeksli kullanım yok), bazılarında ise özel bir karakter dizilimi olarak yer almıştır. Önemli tasarım özelliklerinden birisi de boyunun statik veya dinamik mi olmasıdır. 1. Bu bir ilkel (primitive) tip midir yoksa sadece bir çeşit özel dizi midir (array)? 2. Nesnelerin uzunluğu statik mi yoksa dinamik midir? Karakter Dizgi Tipi Bir karakter dizgi veri tipinde, nesneler karakterler dizisi olarak bulunur. Karakter dizgi veri tipi bazı programlama dillerinde ilkel bir veri tipi olarak, bazılarında ise özel bir karakter dizisi olarak yer almıştır. FORTRAN77, FORTRAN90 ve BASIC'te karakter dizgiler ilkel bir veri tipidir ve karakter dizgilerin atanması, karşılaştırılması vb. işlemler için işlemciler sağlanmıştır. Pascal, C, C++ ve Ada'da ise karakter dizgi veri tipi, tek karakterlerden oluşan diziler şeklinde saklanır. 18 3

4 Karakter Dizgi Tipi C and C++ İlkel değildir char dizileri kullanılır ve işlemler için kütüphane fonksiyonları vardır (strcpy(src,dst)). SNOBOL4 (bir string işleme dili) İlkel veri tipidir. Birçok işlem hazır vardır. Java String sınıfıyla ilkeldir. statik dizgi nesneleri yaratır. Nesneler değiştirilemez. StringBuffer sınıfı değiştirilebilir dizgi nesnelerinin sınıfıdır. Ada, FORTRAN 90, and BASIC Temel veri. Atama, karşılaştırma, birleştirme, alt dizgiye erişim FORTRAN da örüntülü eşleme var. Perl, JavaScript, C++, C# Patterns düzenli ifadeler (regular expressions) ile tanımlanır. Çok güçlü bir özellik Örneğin : /[A-Za-z][A-Za-z\d]+/ veya /\d+\.?\d* \.\d+/ Karakter String Tipleri İşlemler: Atama, tanımlama (char *str = özellikler ; ) (Assignment) Karşılaştırma (Kıyaslama)(Comparison) (=, >, strcmp, etc.) Birleştirme (Catenation) Alt dizgiye erişim / Altstring referansı (Substring reference) Örüntülü eşleme (Pattern matching) Örnekler: Pascal İlkel değildir ; sadece atama ve karşılaştırma (paketlenmiş diziler için) Ada, FORTRAN 90, ve BASIC Biraz ilkel Atama, kıyaslama (comparison), birleştirme (zincirleme)(catenation), altstring referansı (substring reference) FORTRAN desen eşleme (pattern matching) sahiptir Ada N := N1 & N2 (bireştirme) N(2..4) (alt string) C ve C++ İlkel(primitive) değildir char dizileri ve işlemleri sağlayan bir fonksiyonlar kütüphanesi kullanır SNOBOL4 (bir string işeleme dili) İlkel Birçok işlem, ayrıntılı desen eşleme(pattern matching) de içerir Perl ve JavaScript Desenler(Patterns) düzenli ifadeler şeklinde tanımlanır (regular expressions) Çok güçlü bir özellik örn., /[A-Za-z][A-Za-z\d]+/ Java - String sınıfı (char dizileri değil) Nesneler değiştirilemez (sabit(immutable)) StringBuffer, değiştirilebilir string nesneleri için bir sınıftır Karakter Dizgilerin Uzunlukları Gerçekleştirim / Implementasyon: 1. Static Uzunluk- FORTRAN 77, Ada, COBOL derleme-süresi betimleyici örn. (FORTRAN 90) CHARACTER (LEN = 15) NAME; 2. Sınırlı Dinamik Uzunluk C ve C++ mutlak uzunluk bir null karakter ile gösterilir (Limited dynamic length) uzunluk için bir yürütme-süresi betimleyicisine (run-time descriptor) ihtiyaç duyabilir (C ve C++ da değil) 3. Dinamik uzunluk SNOBOL4, Perl, JavaScript yürütme süresi betimleyicisine (run-time descriptor) ihtiyaç duyar; ayırma/serbest bırakma (allocation/deallocation) en büyük implementasyon problemidir 24 4

5 Değerlendirme Yazılabilirliğe yardımcıdır Statik uzunluklu (Static length) bir ilkel(primitive) tip olarak, temin edilmesi ucuz--neden kullanmayalım? Dinamik uzunluk (Dynamic length) iyidir, fakat masrafa değer mi? Statik stringler için derleme-süresi tanımı Sınırlı dinamik stringler için yürütme-süresi tanımı Bir sıralı (ordinal) tip, olası değerlerin pozitif tamsayılar kümesi ile ilişkilendirilebildiği veri tipidir. Sayılama (enumeration) Altalan (subrange) olmak üzere iki tür sıralı tip tanımlayabilir. Sayılama (enumeration) tipi, gerçek hayattaki verilerin tamsayı (integer) veri tipine eşleştirilmesi için kullanılan veri tipidir. Tasarım Problemi: Bir sembolik sabitin (symbolic constant) birden fazla tip tanımlaması içinde yer almasına izin verilmeli midir? Bir sayılama tip tanımı, parantezler arasında yazılmış belirli sayıdaki isimden oluşur. Java dilinde sayılama veri tipi bulunmamaktadır, fakat Enumeration arabirimini (interface) sağlar Ada, C# ve Java 5.0; C++ dan daha iyi sayma tipi desteği verir C++: enum renkler {kirmizi, mavi, yesil, sari, siyah}; C typedef enum {kirmizi, mavi, yesil, sari, siyah} renkler; ADA type gunler is (Pazartesi, Salı, Çarsamba, Persembe, Cuma, Cumartesi, Pazar) Bu tanımlamaya göre Pazartesi bilgisi 1 sayısı ile ve Pazar bilgisi 7 sayısı ile eşleştirilmiş olur. PASCAL type renkbilgisi=(kırmızı, mavi, yeşil, sarı); var renk:renkbilgisi; renk:=mavi; if renk > red;. 29 Değerlendirme (enumeration tipleri için): Okunabilirliğe yardım Bir rengi bir sayı olarak kodlamaya gerek yoktur Güvenilirliğe yardım derleyici şunları kontrol edebilir : i. İşlemler (renk eklenmesine izin vermez) ii. değerlerin aralıkları (ranges of values) (eğer 7 renk izin verir ve onları 1..7, diye integers olarak kodlarsa bu durumda 9 bir legal integer olacaktır ve bu yüzden bir legal renk olacaktır) İşlemleri (renklerin toplanması izin vermez) Tanımlandığı aralık dığında değerler atanamaz 30 5

6 Altaralık / Altalan (Subrange) Tipi Bir sıralı tipin (ordinal type), sıralı bir bitişik altdizisi Ana sınıfa uygulanabilen tüm işlemciler, altalan tiplerine de uygulanabilmektedir. Hem programlama dillerinin okunabilirliğine hem de güvenilirliğine olumlu katkı Tasarım Problemi: Nasıl kullanılabilirler? Pascal da: type pos = 0.. MAXINT; Örnekler: Pascal - Subrange tipleri kendi ebeveyn tipleri (parent types) gibi davranır; for değişkenleri(variables) ve dizi indisleri(array indices) olarak kullanılabilir örn. type pos = 0.. MAXINT; Ada Alttipler yeni tipler değildir, sadece kısıtlı varolan tiplerdir; Pascal daki gibi, artı case sabitleri(constants) kullanılabilir subtype POS_TYPE is INTEGER range 0..INTEGER'LAST; Subrange tiplerin değerlendirmesi: Okunabilirliğe yardım Güvenilirlik; kısıtlanmış aralıklar hata saptama sağlar Kullanıcı-tanımlı sıralı tiplerin gerçekleştirimi Enumeration tipleri integerlar olarak oluşturulur Aralık tipleri, subrange değişkenlerine atamaları sınırlamak için (derleyici tarafından) kod yerleştirilmiş ebeveyn tipleridir Aralık tipleri derleyici tarafından bazı şartlar eklenerek ebeveyn tip gibi gerçekleştirilirler. Bir dizi, homojen veri elemanların bir kümesidir, elemanlardan her biri kümedeki birinci elemana göre olan pozisyonuyla tanımlanır. Programlarda dizilere erişim, dizi ismi ve indis değeri şeklinde gerçekleştirilir Tasarım Problemleri: 1. indisler (indeks)(subscripts) için hangi tipler legaldir? 2. Eleman referansları aralığındaki indisleme ifadeleri kontrol edilmiş midir? 3. indis aralıkları ne zaman bağlanır (bounding)? 4. Ayırma (allocation) ne zaman olur? 5. indislerin (subscripts) maksimum sayısı nedir? 6. Dizi (array) nesneleri (objects) başlatılabilir mi (initialize)? 7. Herhangi bir çeşit kesite(slice) izin verilmiş midir? İndeksleme (Dizin oluşturma) indislerden elementlere eşleştirme (mapping) yapmaktır map(array_name, index_value_list) an element Bütün dillerde genel önce dizinin adı sonra parantezler veya köşeli parantezler gelir, bunların arasında da index bulunur. İndeks Sentaksı FORTRAN, PL/I, Ada parentezler kullanır Diğer dillerin çoğu köşeli parantez [ ] kullanır

7 Index Tipleri FORTRAN, C, Java sadece integer Pascal Her türlü sıralı tip (integer, boolean, char, enum) Ada integer veya enum (boolean ve char dahil) Indexler C tabanlı dillerde 0 dan başlar. Fortran da 1 dir. Bazı dillerde ise tamamen programcı tarafından belirlenir. Aralık kontrolü C, C++, Perl, ve Fortran aralık kontrolünü belirtmez. Java, ML, C# aralık kontrolünü belirtir. İndisin Üst Sınırı: Popüler olan programlama dillerinde dizi indislerinin sayısı sınırlanmaz. C'de ise diğer programlama dillerinden farklı bir tasarım vardır. C'de dizilerin tek indisi olabilir. Ancak, dizilerin elemanları diziler olabildiği için çok boyutlu diziler oluşturulabilir. (int mat [2][3];) 37 İndisin Alt Sınırı: C ve C++'da tüm indisler için alt sınır varsayılan olarak sıfır, FORTRAN 77 ve FORTRAN 90'da ise varsayılan olarak bir kabul edilir. Çoğu programlama dilinde ise, indislerin alt sınır değerleri dizinin tanımında belirtilmelidir indislerin (subscripts) sayısı FORTRAN I en çok 3 e kadar izin verir FORTRAN 77 en çok 7 ye kadar izin verir Diğerleri sınır yoktur Dizi Başlatma (Array Initialization) Genellikle sadece diziye, dizi elemanlarınmın bellekte saklandığı sıra ile sıralanmış olarak konulan değerlerin listesi Dizi başlatma (array initialization) : FORTRAN - DATA ifadesini kullanır, veya değerleri tanımda /... / içine koyar C ve C++ - Kıvrık parantezler içinde, derleyici elemanları sayar ve buna göre yer ayarlar: int sayilar [] = {2, 4, 6, 8}; char isim[] = tugrul ; // karakter string char *isimler[] = { ali, veli } //String dizi (array) Java String[] isimler = [ ali, veli ]; //String nesneleri Ada List : array (1..5) of Integer := (1 => 17, 3 => 34, others => 0); Pascal dizi başlatmaya izin vermez Kesitler (slices) Dizininin bir kısım altyapısıdır (substructure) ; bir referanslama mekanizmasıdır Sadece dizi işlemleri olan diller için kullanışlıdır FORTRAN 90 INTEGER MAT (1:4, 1:4) MAT(1:4, 1) ilk sütun MAT(2, 1:4) ikinci satır FORTRAN 95 Integer, Dimension (3, 3, 4) :: Cube Ada sadece tek-boyutlu diziler LIST(4..10) Dizilerin İmplementasyonu Erişim fonksiyonları (Access function) indis ifadelerini dizideki bir adrese eşler (map) Satıra göre veya sütuna göre sıralanır Erişim fonksiyonu indexleri hesaplayarak dizinin içindeki hücrenin bellekte durduğu adrese ulaşır. Bunu yaparken Sütün öncelikli (Fortran) veya Satır öncelikli (Diğer diller) yöntemini kullanır. Alt indis sınırı 1 ve her bir elemanının sözcük uzunluğu c olan bir dizinin A[k] nci elemanın adresi: Adres(A[k])=adres(A[1])+(k-1)*c Adres(A[k])={adres(A[1])-c}+k*c

8 Derleme Zamanı Tanımlamaları (Compile-Time Descriptors) Bir ilişkili dizi (associative array), anahtar (key) adı verilen eşit sayıda değerlerle indekslenmiş veri elemanlarının sırasız bir koleksiyonudur Bir ilişkili dizi kendisiyle aynı sayıdaki anahtar denilen değerlerle indekslenmiş rasgele verilerdir. Anahtar değerlerinden bir hash algoritması ile değerler bulunur. Tasarım Problemleri: 1. Elemanlara referansın şekli nedir? 2. Boyut statik midir yoksa dinamik mi? Perl de Yapı(Structure) ve İşlemler (Operations) Değişken isimleri % ile başlar. Değişken boyu değişkendir. Değerler parantezler arasına yazılır: %YuksekSicakliklar = ( Pazartesi => 45, Salı => 49, ); Indexleme parantezler ve anahtar verilerle yapılır: $YuksekSicakliklar{ Çarşamba } = 42; Elemanlar delete ile silinebilir: delete $ YuksekSicakliklar{ Salı }; Diziyi tamamen boşaltmak = (); import java.util.hashtable; import java.util.enumeration;... // create a new Hashtable Hashtable h = new Hashtable( 149 /* capacity */, 0.75f /* loadfactor */ ); // add some key/value pairs to the Hashtable h.put( "WA", "Washington" ); h.put( "NY", "New York" ); h.put( "RI", "Rhode Island" ); h.put( "BC", "British Columbia" ); // look up a key in the Hashtable String key = "NY"; String statename = (String)h.get( key ); System.out.println( statename ); // prints "New York" // enumerate all the contents of the hashtable Enumeration keys = h.keys(); while ( keys.hasmoreelements() ) { key = (String)keys.nextElement(); statename = (String)h.get( key ); System.out.println( key + " " + statename ); // prints lines of the form NY New York // in effectively random order. } // end while Bir kayıt (record) heterojen yapıdaki verilerin birleştirilmiş halidir. Her elemanın kendi tipi ve adı vardır. Tasarım problemleri: Referansların şekli nedir? Hangi birim işlemler tanımlanmıştır? Alanlara erişim sözdizimsel olarak nasıl yapılacak? Kayıt(Record) Tanımlama Sentaksı COBOL içiçe(nested) kayıtları(records) göstermek için düzey(level) sayılar kullanır; diğerleri özyineli(recursive) tanım kullanır Kayıt Alanı Referansları(Record Field References) 1. COBOL field_name OF record_name_1 OF... OF record_name_n 2. Diğerleri (nokta gösterimi - dot notation) record_name_1.record_name_2.... record_name_n.field_name 51 Her kayıt alanı için, kayıtın başlangıcına göre offset adresleri ilişkilendirilir Bir kayıt için bir derleme zamanı betimleyicisi (compile-time descriptor) 54 8

9 İlk olarak COBOL'da tanıtılmıştır. Altalan olarak isimlendirilen birden fazla ifadenin bulunduğu yapıdır. Kayıt veri tipi ile bir isim altında farklı tipte birden fazla alan tanımlanabilir. Yani dizilerde homojen elemanlar bulunurken kayıtlarda heterojen elemanlar vardır. Dizideki bir elemana indis numarası ile ulaşılırken kayıt veri tipinde alanlara her sahayı gösteren tanımlayıcılarla (mus.ad) ulaşılmaktadır. Kayıt içerisinde tanımlanan her alanın birbirinden farklı isimleri vardır. İstenirse bu isimler bu tipin dışında farklı tanımlamalar için de kullanılabilir. Kayıtlar ve Dizilerin Kıyaslanması 1. Dizi elemanlarına erişim kayıt alanlarına erişimden daha yavaştır, çünkü indisler dinamiktir alan adları statiktir 2. Dinamik indisler kayıt alanına erişimle kullanılabilirdi, fakat o zaman tip kontrolüne izin vermeyecekti ve çok daha yavaş olacaktı Pascal dilinde kayıt veri tipi aşağıdaki söz dizim ile tanımlanır. KayıtTipAdı=RECORD AlanAdı1:TipAdı; AlanAdı2;TipAdı; End; Bir bileşim, değişkenlerinin yürütme süresi sırasında farklı zamanlarda farklı tipteki değerleri tutmasına izin verildiği tiptir Tasarim problemleri : 1. Eğer varsa hangi tip tip kontrolü yapılmalıdır? 2. Bileşimle kayıtlar ile entegre edilmeli midir? Aynı bellek bölgesinin farklı değişkenler tarafından kullanılmasını sağlayan veri tipidir. Bu veri tipindeki değişkenlere ortak değişkenler de denir. Buradaki temel amaç farklı zamanlarda kullanılacak birden fazla değişken için ayrı ayrı yer ayırma zorunluluğunun ortadan kaldırılarak belleğin iyi kullanılmasıdır. üç şekil(shape) değişkeninin(variable) bir discriminated bileşimi(union)

10 Union ların Değerlendirilmesi Potansiyel olarak güvensiz yapılardır. Tip kontrolüne izin vermezler. Günümüzde programlama dillerinde güvenlik önemlidir. Java and C# union desteklemez. Bir küme değişkenlerinin bazı sıralı tiplerin ayrık değerlerinin sıralı olmayan koleksiyonlarını tutabildiği tiptir Tasarım Problemi: Herhangi bir set tipinde maksimum eleman sayısı nedir Kodlar =set of [0..255]; Harf =set of [ A.. Z ]; Rakam =set of [0..9]; kesişim * Birleşim + fark işlemler - mantıksal operatörler 6-66 (=, <>, <=, >=, in) İşaretçi tipi, belirli bir veriyi içermek yerine başka bir veriye başvuru amacıyla kullanılır. Bir gösterge tipi sadece bellek adreslerinden oluşan değerler ve boş (null) değerini içerebilen bir tiptir. Gösterge tipindeki değerler, gösterdikleri veriden bağımsız olarak sabit bir büyüklüktedirler ve genellikle tek bir bellek yerine sığarlar. Bu yüzden işaretçilerin kullanımıyla bellek kullanımı ve yönetimi daha etkin hale gelmektedir. Liste, ikili ağaç ve dizi gibi veri yapıları işaretçilerle daha kolay kullanılabilir. Atama işlemi j = *ptr Pascal: sadece dinamik bellek yönetimi için kullanılır Explicit dereferencing (postfix ^) Askıdaki İşaretçiler (Dangling Pointers) olabilir (dispose) Askıda nesneler (Dangling objects) de olabilir Ada: Pascal dan biraz daha iyidir Bazı askıdaki işaretçilere(dangling pointers) izin verilmez çünkü dinamik nesneler işaretçinin(pointer) tip kapsamının(type scope ) sonunda otomatik olarak serbest bırakılır(deallocated) Bütün işaretçiler(pointers) null değerine başlatılır(initialize) Benzer askıda nesne(dangling object) problemi (fakat nadiren olur, çünkü belirtik serbest bırakma(explicit deallocation) nadiren yapılır) C ve C++ Dinamik Bellek Yönetimi ve adresleme için kullanılır Explicit dereferencing ve address-of operatorü Tanım Kümesi Tipi (Domain type) sabit olmak zorunda değildir (void *) void * herhengi bir tipe işaret edebilir ve tip kontrolü yapılabilir (dereference yapılamaz) Adres aritmetiğini sınırlı biçimlerde yapabilir, örn.: float stuff[100]; float *p; p = stuff; *(p+5) eşittir stuff[5] ve p[5] *(p+i) eşittir stuff[i] ve p[i] (Implicit scaling)

11 FORTRAN 90 heap ve non-heap değişkenleri gösterebilir Implicit dereferencing İşaretçiler sadece TARGET özelliğine sahip olan değişkenleri gösterebilir TARGET özelliği tanımlama sırasında atanır: INTEGER, TARGET :: NODE non-dereferenced referanslar için özel bir atama operatörü kullanılır, REAL, POINTER :: ptr (POINTER bir özelliktir) ptr => target (target ya bir pointer veya TARGET özelliğine) sahip bir non pointer olabilir) Bu ptr yi target ile aynı değere ayarlar 73 C++ Referans tipleri Ötrük (Implicit) olarak dereference edilmiş sabit işaretçiler (constant pointers) Parametreler için kullanılır pass-by-reference ve pass-by-value nin ikisinin de avantajları Java sadece referanslar pointer aritmetiği yoktur Sadece nesneleri gösterir (hepsi heap üzerinde) Belirtik serbest bırakma (explicit deallocator) yoktur (Garbage collection kullanılır) Askıda referanslar olamayacağı anlamına gelir Dereferencing her zaman örtüktür 74 İşaretçilerin değerlendirilmesi: 1. Askıda İşaretçiler (Dangling Pointers) ve Askıda Nesneler (dangling objects) problemlerdir, heap yönetiminde olduğu gibi 2. İşaretçiler goto lar gibidir, bir değişkenin erişebileceği hücreler(cells) aralığını (range) genişletirler 3. İşaretçiler veya referanslar dinamik veri yapıları için gereklidir,bu yüzden onlar olmadan bir dil tasarlayamayız İşaretçi Veri Tipinin Sorunları Bir işaretçi değişkenini gösterebileceği veri tipi kısıtlanmazsa güvenlik sorunu oluşabilir. (gösterge kullanımlarında durağan tip denetimi yapılamadığı için) PL/I Bir işaretçi değişkeninin gösterdiği adreste geçerli bir veri olmayabilir. (Pascal, C, C++) GÜVENİLİRLİK tehlikeye girebilir. C'de bir gösterge değişken tanımlanırken, adresini tutabileceği değişken tipi de belirtilmelidir (int *a;) Java pointer kullanımına izin vermez #include <stdio.h> void main() { int a=4, b=7; //int tipinde a ve b değişkenleri tanımlanmış ve 4 ve 7 değerleri atanmıştır. int *pa,*pb; // pa ve pb adında, yine int tipinde iki işaretçi değişken tanımlanmıştır printf("a=%d, b=%d\n",a,b); // a = 4, b = 7 olarak ekrana yazdırır. pa=&a; //a değişkeninin adresini pa işaretçi değişkenine ata pb=&b; //b değişkeninin adresini pb işaretçi değişkenine ata *pa=*pa+10; // pa nin işaret ettikleri değere 10 değerini ekler *pb=*pb+10; // pb nin işaret ettikleri değere 10 değerini ekler printf("a=%d, b=%d",a,b); } Burada *pa=*pa+10; *pb=*pb+10; ifadelerinde pa ve pb nin işaret ettikleri değerlere sırasıyla 10 değerini ekler. pa işaretçi değişkeni a değişkenine ve pb işaretçi değişkeni ise b değişkenini işaret ettiğine göre aslında değeri artırılan değişkenler a ve b dir. Bu programın ekran çıktısı a = 4, b = 7 a = 14, b = 17 olur

Karakter, katar Tipleri (Character, String ) Kullanıcı-tanımlı Sıra Tipleri (Ordinal)

Karakter, katar Tipleri (Character, String ) Kullanıcı-tanımlı Sıra Tipleri (Ordinal) PDP 5 Veri Tipleri 1 Veri tipi (data type) bir değerler/nesneler kümesini ve bu nesneler üzerindeki bir takım ön tanımlı işlemlerini (predefined operations) tanımlar. Bir betimleyici/tanımlayıcı (descriptor)

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ı

Bölüm 6. Veri Türleri ISBN

Bölüm 6. Veri Türleri ISBN Bölüm 6 Veri Türleri ISBN 0-321-49362-1 Bölüm 6 Konular Giriş İlkel Veri Türleri Karakter Dizisi Türleri Kullanıcı Tanımlı Sıra Türleri Dizi Türleri İlişkili Diziler Giriş Bir veri türü veri nesnelerinin

Detaylı

Bölüm 6. Veri Tipleri ISBN 0-321 49362-1

Bölüm 6. Veri Tipleri ISBN 0-321 49362-1 Bölüm 6 Veri Tipleri ISBN 0-321 49362-1 6. Bölüm konuları Giriş Basit veri tipleri Karakter dizisi tipleri Kullanıcı tanımlı sıralı tipler Dizi tipleri İlişkisel diziler Kayıt (record) tipleri İşaretçi

Detaylı

Bölüm 6. Veri Tipleri ISBN 0-321 49362-1

Bölüm 6. Veri Tipleri ISBN 0-321 49362-1 Bölüm 6 Veri Tipleri ISBN 0-321 49362-1 Bölüm 6 Başlıkları Giriş İlkel Veri Tipleri Karakter String Tipleri Kullanıcı Tanımlı Tipler Dizi Tipleri Birleşmiş Diziler Kayıt Tipleri Küme Tipleri İşaretçi ve

Detaylı

Ders 6. Bölüm 6: Veri Tipleri (devam)

Ders 6. Bölüm 6: Veri Tipleri (devam) Ders 6 Bölüm 6: Veri Tipleri (devam) Dizilimler (Arrays) Dizilim bir toplam homojen veri alanıdır. İçindeki her bir elemana ilk elemana göre olan pozisyonuna göre erişilir. Örnek: C: int aa[4][3][7]; sum

Detaylı

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ 3. Hafta YAPILAR Farklı veri tipindeki bilgilerin bir araya gelerek oluşturdukları topluluklara yapı (structure) denir. Yani yapılar, birbiriyle ilişkili değişkenlerin

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ı

Veri Tipleri. Ders 6

Veri Tipleri. Ders 6 Veri Tipleri Ders 6 Giriş Temel veri tipleri Konu Başlıkları Karakter dizgi tipleri (character string) Kullanıcı tanımlı sıralı tipler (user defined ordinal types) Dizilimler (arrays) İlişkili dizilimler

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ı

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ı

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi

Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları. Mustafa Kemal Üniversitesi Algoritma Geliştirme ve Veri Yapıları 3 Veri Yapıları Veri yapısı, bilginin anlamlı sırada bellekte veya disk, çubuk bellek gibi saklama birimlerinde tutulması veya saklanması şeklini gösterir. Bilgisayar

Detaylı

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi

Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek

Detaylı

Bağlama (Binding) Kavramı

Bağlama (Binding) Kavramı Bağlama (Binding) Kavramı Programlarda yer alan tüm program elemanlarının - örneğin; değişkenler, altprogramlar vb.- çeşitli özellikleri vardır. Değişkenlerin isim, adres, değer gibi çeşitli özelliklerini

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ı

Ç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ı

enum bolumler{elektronik, insaat, bilgisayar, makine, gida};

enum bolumler{elektronik, insaat, bilgisayar, makine, gida}; BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı

Detaylı

Pointer Kavramı. Veri Yapıları

Pointer Kavramı. Veri Yapıları Pointer Kavramı Veri Yapıları Pointer Kavramı- Pointer Nedir? Göstericiler, işaretçiler ya da pointer adı da verilmektedir. Gösterici (pointer); içerisinde bellek adresi tutan değişkenlerdir. Şu ana kadar

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ı

Bölüm 5. Adlar(Names), Bağlamalar(Binding s),tip Kontrolleri (Type Checking), ve Etki Alanları ( Scopes) ISBN 0-321-49362-1

Bölüm 5. Adlar(Names), Bağlamalar(Binding s),tip Kontrolleri (Type Checking), ve Etki Alanları ( Scopes) ISBN 0-321-49362-1 Bölüm 5 Adlar(Names), Bağlamalar(Binding s),tip Kontrolleri (Type Checking), ve Etki Alanları ( Scopes) ISBN 0-321-49362-1 Bölüm 5 Konular Giriş Adlar(Names) Değişkenler(Variables) Bağlama Kavramı(The

Detaylı

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler

3/7/2011. ENF-102 Jeoloji 1. Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Veri Tanımları ve Mantıksal Đşlemler Veri Tanımları ve Mantıksal Đşlemler Tekrar -- Değişken Tanımlamaları (Definition) ve Veri Türleri (Data Type) Kullanılacak bütün değişkenlerin kullanılmadan önce C derleyicisine bildirilmeleri gerekir.

Detaylı

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır:

Değişkenler tanımlanırken onlara ne tür veriler atanabileceği de belirtilir. Temel veri türleri oldukça azdır: C VERİ TÜRLERİ BASİT VERİ TÜRLERİ Değişkenler, program içinde üzerinde işlem yapılan, veri saklanan ve durumlarına göre programın akışı sağlanan nesnelerdir. C de bir değişken kullanılmadan önce tanımlanmalıdır.

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ı

Operator Aşırı Yükleme (Operator OverLoading)

Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme (Operator OverLoading) Operator Aşırı Yükleme Operatör metotları bir nesnenin ifadeler içinde operatörlerle kullanıldığı zaman davranışını belirler. Temel veri türleri için operatörler

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ı

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri BLM-111 PROGRAMLAMA DİLLERİ I Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri Yrd. Doç. Dr. Ümit ATİLA umitatila@karabuk.edu.tr http://web.karabuk.edu.tr/umitatilla/ Temel Veri Tipleri C dilinde

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Elemanları Bu bölümde;

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ı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 (Değerler, Değişkenler, İşleçler, Tip Dönüşümleri, Mantıksal Operatörler) Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler

Detaylı

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

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

Detaylı

Nesne Tabanlı Programlama

Nesne Tabanlı Programlama Nesne Tabanlı Programlama Ders Notu - 1 Dicle Üniversitesi Mühendislik Fakültesi Elektrik Elektronik Mühendisliği Bölümü 1 Değerler ve Değişkenler Values & Variables 2 1 Değişkenlerin Özellikleri Tipi

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Diziler ile Pointer Arası İlişki Bir dizi adı sabit bir pointer gibi düşünülebilir. Diziler ile pointer lar yakından ilişkilidir. Pointer lar değişkenleri gösterdikleri gibi,

Detaylı

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

BMT 101 Algoritma ve Programlama I 6. Hafta. Yük. Müh. Köksal Gündoğdu 1 BMT 101 Algoritma ve Programlama I 6. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Veri Tipleri Yük. Müh. Köksal Gündoğdu 2 Veri Tipleri Tam sayı ve Ondalık sayı veri tipleri Veri Tipi Alt Sınıf Üst Sınıf Duyarlı

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ı

İ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ı

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

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

Detaylı

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Ders #2 (2 Kasım 2009) İçerikç Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili

Detaylı

BÖLÜM 11: YAPISAL VERİ TİPLERİ

BÖLÜM 11: YAPISAL VERİ TİPLERİ BÖLÜM 11: YAPISAL VERİ TİPLERİ I. STRUCTURE-YAPI (struct) TİPİ DEĞİŞKENLER Birbiriyle bağlantılı ve bir küme teşkil eden değerler bir tek değişkenin çatısı altında bu değişkenin alt alanları olarak tanımlanabilirler.

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ı

HSancak Nesne Tabanlı Programlama I Ders Notları

HSancak Nesne Tabanlı Programlama I Ders Notları SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama

Detaylı

Pointers (İşaretçiler)

Pointers (İşaretçiler) Pointers (İşaretçiler) Pointers (İşaretçiler) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ile ilişkilidir. Donanımsal açıdan

Detaylı

JAVADA DİZİ İŞLEMLERİ

JAVADA DİZİ İŞLEMLERİ JAVADA DİZİ İŞLEMLERİ Javada diziler nesnedirler, cdeki gibi hafızada yer kaplayan pointer değillerdir. Javada diziler, cye göre daha güvenilirdir. Dizilerin elemanlarına gelişigüzel değerler atayamazsınız.

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ı

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama İçerik Temel Kavramlar BBS-515 Nesneye Yönelik Programlama Geçen hafta: Nesneye yönelik programlama Ne demektir, nasıl ortaya çıkmıştır? Nesneye yönelik dil olarak JAVA ve ilişkili kavramlar Bu hafta:

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ı

Bölüm 5. İsimler, Bağlama, Tür Kontrolü ve Kapsam(Etki Alanı) ISBN

Bölüm 5. İsimler, Bağlama, Tür Kontrolü ve Kapsam(Etki Alanı) ISBN Bölüm 5 İsimler, Bağlama, Tür Kontrolü ve Kapsam(Etki Alanı) ISBN 0-321-49362-1 Bölüm 5 Konular Giriş İsimler Değişkenler Bağlama Kavramı Tür Kontrolü Güçlü Yazım Tür Uyumu Kapsam (Etki Alanı) ve Yaşam

Detaylı

C Programlama Dilinde Değişkenler

C Programlama Dilinde Değişkenler C Programlama Dilinde Değişkenler Değişkenler bir programlama dilinin en önemli bileşenlerindendir. En basit bir aritmetik işlemin bile kullanıcının girdiği değerleri saklamak için çeşitlik bellek alanlarına

Detaylı

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié DERSİN WEB SİTESİ: http://nucleus.istanbul.edu.tr/~bilprog2/ DeğiĢkenler ve Data Türleri

Detaylı

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir

Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir DİZİLER (ARRAYS) Değişkenler, içerisinde tek bir değer tutabilen yapılardır. Örneğin haftanın günlerini değişkenlerde tutmak istersek, her bir gün adı için bir değişken tanımlamak gereklidir. string gun1,

Detaylı

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers)

BLM 112- Programlama Dilleri II. Hafta 4 İşaretçiler (Pointers) 1 BLM 112- Programlama Dilleri II Hafta 4 İşaretçiler (Pointers) Dr. Öğr. Üyesi Caner Özcan İyilik insanları birbirine bağlayan altın zincirdir. ~Goethe Hafıza Yapısı 2 Bir değişken tanımlandığında arka

Detaylı

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki

Detaylı

Diziler İndisli Değişkenler

Diziler İndisli Değişkenler Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın

Detaylı

8. İŞARETCİLER (POINTERS)

8. İŞARETCİLER (POINTERS) 8. İŞARETCİLER (POINTERS) Verilerin bilgisayar hafızasında tutulduğu fiziki alan adres olarak tanımlanabilir. Adres, hem donanımla hem de yazılımla ilişkilidir. Donanımsal açıdan adres bellekte yer gösteren

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ı

Ders 4: Diziler (Arrays( Arrays) barisgokce.com

Ders 4: Diziler (Arrays( Arrays) barisgokce.com Ders 4: Diziler (Arrays( Arrays) Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler Hafızada

Detaylı

Programlama Dilleri 3

Programlama Dilleri 3 Diziler (Arrays) 1 Dizi Kavramı 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

Detaylı

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler C Programlama Dr. Serkan DİŞLİTAŞ 3.1. Sabitler Sabitler, tanımlanmasıyla birlikte program içerisinde

Detaylı

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak:  Published by Juan Soulié Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama

Detaylı

Nesne Yönelimli Programlama

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

Detaylı

BİL1001 Bilgisayar Bilimlerine Giriş 1

BİL1001 Bilgisayar Bilimlerine Giriş 1 DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar

Detaylı

Nesne Yönelimli Programlama

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

Detaylı

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ı

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ Prof. Dr. Necmettin Kaya C PROGRAMLAMA DİLİ ÖZELLİKLERİ C programlama dili, 1972 yılında Bell Labortuvarı nda Dennis Ritchie tarafından geliştirilmiştir.

Detaylı

Giriş. ENF102 Jeoloji

Giriş. ENF102 Jeoloji DİZİLER Arrays Giriş Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU Diziler Yrd.Doç.Dr.Bülent ÇOBANOĞLU Dizi (Array) Nedir? Bellekte sürekli yer kaplayan artarda sıralanmış aynı türden verilerin oluşturduğu kümeye dizi (array) denir. Dizi, çok fazla miktardaki tek tip

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ı

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini

Her veri tipine yetecek ve ancak o kadar anabellek alanı ayrılır. Programcı, ana bellekte ayrılacak adresin büyüklüğünü bilerek değişkenlerini 1 Veri Tipleri Bazı diller veri tiplerini önceden ayırır, bazıları ayırmaz. Teknik olarak, veri tipini önceden belirleyen diller, anabelleğe yerleşecek verileri, orada kapsayacakları alanlara göre gruplara

Detaylı

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler

Bölüm 6. Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Bölüm 6 Diziler (arrays) Temel kavramlar Tek boyutlu diziler Çok boyutlu diziler Chapter 6 Java: an Introduction to Computer Science & Programming - Walter Savitch 1 Genel Bakış Dizi: Hepsi aynı türde

Detaylı

Java: printf() Metodu İle Çıktıyı Biçemleme

Java: printf() Metodu İle Çıktıyı Biçemleme 1 Java: printf() Metodu İle Çıktıyı Biçemleme PrintStream ve PrintWriter sınıflarının yapısı: java.io Class PrintStream java.lang.object java.io.outputstream java.io.filteroutputstream java.io.printstream

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ı

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ı

Diziler (Arrays) Çok Boyutlu Diziler

Diziler (Arrays) Çok Boyutlu Diziler Diziler (Arrays) Çok Boyutlu Diziler ÇOK BOYUTLU DİZİLER Birden fazla indis numarası ile elemanlarına ulaşılan dizilere çok boyutlu diziler denir. Bunlardan en sık kullanılanı çift boyutlu dizilerdir.

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Fonksiyonu Referans ile Çağırma (Call by Reference) Bir fonksiyona gönderilen parametrenin normalde değeri değişmez. Fonksiyon içinde yapılan işlemlerin hiçbiri argüman değişkeni

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ı

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ı

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0 Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden

Detaylı

Yrd. Doç. Dr. Caner ÖZCAN

Yrd. Doç. Dr. Caner ÖZCAN Yrd. Doç. Dr. Caner ÖZCAN Hafıza Yapısı Bir değişken tanımlandığında arka planda bilgisayarın hafızasında bir konuma yerleştirilir. Hafıza küçük hücrelerden oluşmuş bir blok olarak düşünülebilir. Bir değişken

Detaylı

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez... Javada Diziler Java da diziler nesnedir; içerisinde belirli sayıda eleman bulunur. Eğer bu sayı sıfır ise, dizi boş demektir. Dizinin içerisindeki elemanlara eksi olmayan bir tam sayı ile ifade edilen

Detaylı

Genel Programlama II

Genel Programlama II Genel Programlama II 15.02.2011 1 Genel Programlama Tekrar Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Önceki bölümde bir problemin çözümü ile

Detaylı

D İ Z İ L E R A R R A Y S

D İ Z İ L E R A R R A Y S D İ Z İ L E R A R R A Y S 1 Örneğin 120 adet öğrencinin adını klavyeden girip, daha sonra bunları ekrandan yazdıralım. Bunun için, her öğrenci için ayrı bir değişken tanımlanmalıdır. String ad1; String

Detaylı

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf

Örnek 4: Örnek Özyinelemeli fonksiyon örneği Bölüm 9. C++ programlama dilinde Nesne ve sınıf İçindekiler 1. Giriş... 1 1.2. c++ Programı Yapısı... 2 1.3.Using Direktifi... 5 Bölüm 2. Veri türleri, değişken kavramı, sabit ve değişken bildirimleri ve c++ da kullanımı 7 2.1. Temel veri türleri...

Detaylı

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1 Görsel Programlama DERS 04 Görsel Programlama - Ders04/ 1 Diziler ve Kolleksiyonlar(Collections) Diziler aynı tipli değişkenleri tutmak için kullanılan veri yapılarıdır. Diziler sabit uzunlukludur. Birkez

Detaylı

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER,

BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, BİLGİSAYAR MÜHENDİSLİĞİ ALGORİTMA VE PROGRAMLAMA II 2.HAFTA SWİTCH (CASE), SAYAÇLAR, DÖNGÜLER, C++ İÇİN UFAK HATIRLATMALAR Değişken adları bir harf ile başlamalıdır. (a-z, A-Z). Değişken adı numara içerebilir.

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ı

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir

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ı

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ı

Dizi ( Array ) ve Dizgi ( String )

Dizi ( Array ) ve Dizgi ( String ) Java da Dizi ( Array ) ve Dizgi ( String ) Tanımlama BBS-515 Nesneye Yönelik Programlama Ders #6 (25 Kasım 2009) İçerikç Geçen ders: Kalıtım ( inheritance ) -- tekrar ziyaret Java da super kullanımı Java

Detaylı

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları

Visual Basic 6.0. Anadolu Üniversitesi Endüstri Mühendisliği Bölümü. Değişkenler ve Veri tipleri. Ders Notları 1 Anadolu Üniversitesi Endüstri Mühendisliği Bölümü Değişkenler ve Veri tipleri Visual Basic 6.0 Ders Notları Kaynak: İhsan Karagülle, Zeydin Pala, Visual Basic 6.0, Türkmen Kitabevi, 1999, Beyazıt İstanbul,

Detaylı

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) { Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel

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ı

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ı

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI

2.2- DEĞİŞKENLER VE SABİTLER ÇALIŞMA YAPRAĞI 2.2 Değişkenler Ve Sabitler 2.2.1 Değişkenler Değişkenler bir programlama dilinde verilerin depolanma alanlarını temsil eder. Tanımlanan her değişkene bellek bölgesinden bir alan ayrılır. Bu bellek bölgesine

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ı

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ

C# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı

Detaylı

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek

DİZİLER 5/4/2010. ENF-102 Jeoloji Giriş. Tek Boyutlu Diziler. Tek Boyutlu Diziler. Örnek. Örnek Giriş DİZİLER Arrays Aynı isim altında, aynı türde birden fazla değer tutmak için kullanılan veri yapılarıdır (Data Structure). Dizi bir kümedir; aynı türde verilere tek bir isimle erişmek için kullanılır.

Detaylı

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar

Pros and Cons of Pointers. Pointers. Avantajlar. Dezavantajlar Pointers Java haric, cogu programming languages memory address lerine ait abstract data type destigine sahiptirler C++ da buna pointer denir Pointers lar data structures ve parameter passing in karmasikligini

Detaylı

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir. Bilgisayar Mimarisi İkilik Kodlama ve Mantık Devreleri Yrd.Doç.Dr. Celal Murat KANDEMİR ESOGÜ Eğitim Fakültesi - BÖTE twitter.com/cmkandemir Kodlama Kodlama (Coding) : Bir nesneler kümesinin bir dizgi

Detaylı

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir.

PHP, nesne-yönelimli (object-oriented) bir dil olduğu için, nesne oluşturma imkânına ve bunların kullanılmasını sağlayan metodlara da sahiptir. PHP'nin Temelleri PHP Nedir? PHP, bir programlama dili olarak, değişkenler, değişkenlerin değerleriyle bir işlem yapmayı sağlayan işlemciler (operatörler), işlemcilerle oluşturulan deyimler ve nihayet

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ı