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

Benzer belgeler
3- Turbo Pascal Programlamada Giriş Çıkış İşlemleri

PASCAL PROGRAMLAMA DİLİ YAPISI

Pascal Programlama Dili

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

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

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

PROGRAMLAMA TEMELLER. C Program Yap s

HSancak Nesne Tabanlı Programlama I Ders Notları

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

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

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


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

C Programlama Dilininin Basit Yapıları

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

C#(Sharp) Programlama Dili

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

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

Diziler İndisli Değişkenler

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

Pascal Programlama Dili (2. hafta)

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

Bölüm 1 PROGRAMLAMAYA GİRİŞ. Bölüm 2 ALGORİTMA

C Programlama Dilinde Değişkenler

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

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

Yrd. Doç. Dr. Caner ÖZCAN

MTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2

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

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

HSancak Nesne Tabanlı Programlama I Ders Notları

7- Turbo Pascal Programlamada Alt Programlar (Procedure)

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

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

PASCAL ARŞİVİ BÖLÜM Giriş. 7.2 Sistem Birimi ve Katarlar Chr

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Yrd. Doç. Dr. Caner ÖZCAN

Internet Programming II

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

Ders Tanıtım Sunumu. Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı. Öğr. Gör. Murat KEÇECİOĞLU 1

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

PROGRAMLAMAYA GİRİŞ DERS 2

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

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

Değişken adları 63 karakter uzunluğunu geçmemelidir. Değişken adının 63 karakteri geçmesi halinde 63. karakterden sonraki kısımlar göz ardı edilir.

Pointers (İşaretçiler)

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

BLG 1306 Temel Bilgisayar Programlama

ALGORİTMA VE PROGRAMLAMA II

Access e Nasıl Ulaşılır. Araç çubuklarını yeniden düzenlemek için Görünüm komutunun Araç çubukları seçeneği kullanılır.

DİZİLER-KATARLAR ALGORİTMA VE PROGRAMLAMA II

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-2 Değişken Kavramı ve Temel Operatörler

Sunum İçeriği. Programlamaya Giriş

C Konsol Giriş Çıkış Fonksiyonları

-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı

GİRİ ÇIKIŞ İŞLEMLERİ VE BİLGİ TÜRLERİ

Program Akış Kontrol Yapıları

ALGORİTMA VE PROGRAMLAMA I

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

Karabük Üniversitesi, Mühendislik Fakültesi... WEB TEKNOLOJİLERİ

Temel Giriş/Çıkış Fonksiyonları

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

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

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER DEĞİŞKENLER VE VERİ TİPLERİ

Genel Programlama II

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

Hafta 8 C Dilinde Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

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

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

KAYITLAR BÖLÜM Giriş

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

YZM 2105 Nesneye Yönelik Programlama

Byte (Tamsayı) 1 0 ile 255 arasında 10 sayısı

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

Genel Programlama II

BTP 207 İNTERNET PROGRAMCILIĞI I. Ders 8

C PROGRAMLAMA D İ L İ

BBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu

/*int sayi1, sayi2,toplam=0;

Programlama Dilleri III 1

MATLAB/Değişkene Değer Atamak

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

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

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

Pointer Kavramı. Veri Yapıları

Java da Program Denetimi ve Operatörler

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

Veri Tipleri Aşağıdaki programdaki 5 hatayı bulunuz.

Birlik (Union) 1 Birlik (Union), enum, typedef

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

Nesne Tabanlı Programlama

Bölüm 4 C de Program Kontrolü

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

Kitaplik adlı Programın Turbo Pascal Kodları:

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

C PROGRAMLAMA DİLİNE GİRİŞ

Transkript:

2. Veri Tipleri Turbo Pascal bilgisayar programlama dili ile programlama yapabilmek için bilgisayara işlem yapacağımız verilerin tiplerini bildirmemiz gereklidir. Veri tipleri değişken olabileceği gibi sabit de olabilir. Yazdığımız bilgisayar programı çalışma esnasında içerisinde kullandığımız değer atadığımız değişkenler bazı durumlarda programın çalışması boyunca aynı değeri alması da beklenebilir. Turbo pascal da temel olarak dört veri tipi vardır. bu veri tiplerinin haricinde kullanıcı tanımlı olan kayıt tipinde de veriler vardır. bu tipte olan veriler kullanıcılara Turbo pascal içerisinde sunulandan hariç bir veri tipi oluşturulması gerektiği durumlarda çözüm sunmaktadır. Belirleyeceğimiz kendimize ait bir kayıt tipi ile pascal programlamada kullanacağımız kendimize ait veri tipi oluşur. Veri tipleri VAR kısmında programa başlarken bildireceğimiz yerde tanımlanırlar. Kayıt tipi olarak yeni tanımlanacak olan veri tipleri ise var kısmından önce olmak zorundadır. Veri tiplerinin bildirimi kısmında TYPE bildirimi VAR bildiriminden önce olmalıdır. Program degisken; var name : veri_tipi; TYPE Başka için örnek; Program degisken; Type Gunler=(Pazartesi, Salı, Carsamba, Persembe, Cuma, Cumartesi, Pazar); Hafta=(1_hafta, 2_hafta, 3_hafta, 4_hafta) Var Hafta_gunu:Gunler; AY:Hafta; 15

TYPE tanımlamasında Gunler adlı dizinin elemanlarından oluşan yeni bir veri tipi tanımlanmıştır. Bu elemanlar haftaya ait günleri göstermektedir. VAR kısmında ise Hafta_gunu ile tanımladığımız veri tipine ait değişken tanımlıyoruz. Önemli olan konu veril tipi ile değişkenin tanımlandığı veri tipinin birbirinden ayrı olduğudur. Veri tipi Integer gibi veya Real gibi bir veri tipinden bahsetmektedir. Değişkenin veri tipi ise işlem yapacak olan değişkenin alabileceği değerlerin tipidir. var sayı1,sayı2, sayı3: integer; sayı1 := 24; { bu işlem sayı1 değerini 24 yapar} sayı2 := 20; { bu işlem sayı1 değerini 20 yapar } sayı3 := sayı1 + sayı2; writeln(sayı1, ' + ', sayı2, ' = ', sayı3, olur ) end. Programın ekran çıktısı 24 + 20 = 44 olur Aynı tipten verilerin arasıdan virgül ile ayırarak tanımlayabiliriz. sayı1: integer; sayı2: integer; sayı3: integer; gösterimi ile sayı1,sayı2, sayı3: integer; gösterimi aynıdır. Turbo pascal da değişkenlere değer atama işlemi sol tarafta bulunan değerin sağ taraftakine eşitlenmesi ile yapılmaktadır. Elimizdeki bir değeri bir değişkene aktarmak istiyor isek sol tarafa değişken sağ tarafa ise değişkene aktaracağımız değer yazılarak yapılır. degisken:=deger; 16

Burada degisken program içerisinde kullanacağımız değişken listesinden herhangi birisi deger ise değişkenin almasını istediğimiz değeridir. Değişkenleri belirlerken Turbo Pascal tarafından kullanılan kayıtlı kelimelerden olmamasına dikkat etmemiz gerekir. Ayrıca değişkeleri isimlendirirken nokta, virgül, ünlem, yıldız, soru işareti gibi karakterler ile başlamamasına ayrıca Türkçe karakterler kullanmamaya dikkat edilmesi gerekmektedir. İngilizce de küçük ı büyük İ gibi karakterlerin olmayışından dolayı dikkatten kaçak bu küçük ayrıntılardan dolayı yazdığımız kaynak kodlar derlenemeyebilir. CONST TYPE gibi var kısmından önce tanımlanması gereken diğer önemli bildirimdir. Bu bildirimde program içerisinde kullanacağımız sabitler vardır. CONS tanımlamasının en büyük yararı bir program kaynak kodu içerisinde birden fazla kullanılan sabit tipte bulunan değerlerin kullanılmasında sağladığı kolaylıktır. Program içerisinde birden fazla fonksiyon veya alt program (procedure) içerisinde 20 kez kullandığımız sabit değerler olduğunu düşünelim. Bu sabitin aldığı değerin değiştirmek istediğimizde 20 ayrı yere gidip bu düzeltmeyi yapmamız gerekir. Bu işlem gereğinden fazla uzun ve güvenilir olmayan bir yöntemdir. Bu değişikliklerden birisini unutsanız programınız doğru çalışmayacaktır. CONST ile yaptığımız tek bir değişikliğin bütün programa anında uygulanmasını sağlayabiliriz. program Metrik; const MTY = 1.196; {degisim sabiti} var SMetre, SYard: Real; ReadLn (SMetre); WriteLn ('Metre cinsinden ölçü ', SMetre:3:1); SYard := MTY * SMetre; WriteLn ('Yard cinsinden ölçü ', SYard :4:2) end. 17

2.1 Integer (Tamsayı ) Veri Tipi : bu tipte olan verilen matematikten bildiğimiz -/+ aralığındaki tam sayılardan oluşur. Z - ve Z + negatif işaretli ve pozitif işaretli tamsayıları ifade etmektedir. Integer veri tipinin aralığı eksi sonsuz ve artı sonsuz aralığında bildirdiğimiz veri tipinin hafızada tuttuğu alan ile sınırlıdır. Bir değişkene değer ataması yaparken veri tipini yanı sıra veri için hafızada ayrılan yeri göz önüne almamız gerekir. degisken : Integer; şeklinde genel gösterimi vardır. Ayrıca degisken1 : Integer; degisken2 : Integer; degisken3 : Integer; şeklinde de gösterilebilir. degisken1,degisken2,degisken3 : Integer; gösterimleri aynı gösterimdir. Integer tipinde veriler için hafızada 2 byte (8 bit) yer ayrılır. Hafızada ayrılan yerler içerisine atanacak olan değerler -32768 den 32767 e kadardır. Eğer bir değişkenin örneğin x gibi bir değişkenin değerinin program çalıştığı sırada alabileceği değer -32768 ile 32767 aralığındadır. Bu değer aşılır ise program hafıza taşma hatası verecektir. Bu durumu aşabilmek için değişkenin tipini tam sayı değerini uzun tamsayı (longint) değeri ile değiştirmemiz gerekir. Uzun tam sayı tipinin alabileceği değişken değeri -2147483648 ile 2147483647 aralığındadır. Program BUYUK; USES CRT; const MinDeg = -MaxInt; var sayi, CokBuyuk : Integer; 18

CokBuyuk := MinDeg; WriteLn ('Sıradaki en büyük Değeri Bulundu:'); repeat Write ('Bir tam sayı girin', MinDeg :1, ' durmak için 1 girin '); ReadLn (sayi); if sayi > CokBuyuk then CokBuyuk := sayi until sayi = MinDeg; WriteLn ('En Büyük Değer ', CokBuyuk :1, dir ) end. Yukarıdaki programda bir sıra halinde girilen sayıların içerisindeki en büyük tam sayıyı bulur. Klavyeden girilen sayılar eğer tamsayı değil ise programın çalışması duracaktır. ShortInt veri tipi -128 ile 127 aralığındaki tamsayıları değişkenlere aktarmak için kullanılan veri tipidir. Küçük sayılar ve hafızayı çok meşgul etmeyecek şekilde kullanımlar için uygundur. 2.2 Byte (Byte ) Veri Tipi ; Byte türünden olan veri tiplerinin alabileceği değer aralığı 0 ile 255 sayıları arasındadır. Değişkenler bu değerin daha üstünde veri depolayamazlar. Genellikle küçük sıra numaraları, daire numarası veya buna benzer küçük numaralar ile işlem yapmak için kullanılırlar. 8 bit olduğundan işaret bitleri kullanılmaz. 2.3 Real (Gerçel) Veri Tipi ; Gerçel tipte veriler rasyonel sayılardan oluşan sayılardır. Sayıların ondalıklı olması dolayısı ile farklı şekilde gösterilmesini zorunlu kılmaktadır. Donanımsal özelliklerin yanı sıra sayıların gösteriminde ondalık ve işaret bu tipte değişkenlere atanacak değerlerinde ayrı gösterilmesini gerektirmektedir. Tam sayı değişkenlerde değişkenin alabileceği değerin yaklaşık olarak belirli olması veri tipinin belirlenmesinde kolaylık 19

sağlamaktadır. Değişkenin alacağı değerin kaç bayt alana sığacağı veya kaç baytlık alan işgal edeceği yaklaşık olarak belirlenebilir. Ancak ondalıklı sayılarda bu işlem kolay değildir. Ondalıklı sayılarda işlemler yapılırken bir sayı başka bir sayıya bölündüğünde bazı sayının mantis (ondalık) değerlerin çok fazla uzun olmadığı görülmektedir. Diğer bir durum bir sayı başka bir sayıya bölündüğünde sayının mantis kısmı gereğinden fazla büyük olabilir. Mantis kısmı burada belirleyici faktördür. Hassas bir hesaplama işleminde mantisin yuvarlama veya hassasiyet oranı çıkacak olan sonucu direk etkilemektedir. Örnek : 3/2 = 1.5 7/3 = 2.3333.. Programlamada yapılacak olan yuvarlama hatası değişkenin alabileceği değer ve sonuç ilişkisini belirlemektedir. Bir vidanın üzerine uygulanacak momenti, bir plak burkulması, elastisite veya istatistiksel analizde kullanılan standart sapma yuvarlama problemin yanlış çözümüne sebep olacaktır. degisken : Real ; şeklinde genel gösterimi vardır. Ayrıca degisken1 : Real; degisken2 : Real; degisken3 : Real ; şeklinde de gösterilebilir. degisken1,degisken2,degisken3 : Real; gösterimleri aynı gösterimdir. Real (gerçel) tipte veri tipinin gösterilmesi tamsayı tipindeki ile aynıdır. Tamsayı tipi ile gerçel tipteki verilerin arasındaki farkların en önemlisi tam sayı veri tipinin hafızada gerçel tipteki verilerden daha az yer tutmasıdır. Gerçel veri tipinde ondalık belirteci (mantisin ayracı) alan hesabı yapılırken veri tipinin kullandığı alan üzerine dahil edilir. Gerçel tipteki verinin alabileceği değerler derleyicilerin özellikleri ve bilgisayarın donanımı ile ilişkilidir. Genellikle gerçel tipte verinin alabileceği değer -2.9*10 39 ile 1.7*10 38 arasındadır. 20

Program EGIM_Fonk ; const bg = 0.0; var egim, Y2, Y1, X2, X1 : Real; WriteLn ('Aralıklı dört sayı girin'); WriteLn ('Aynı iki sayı girildiginde program durur'); WriteLn ('Dört Sayi Girin --> '); ReadLn (Y2, Y1, X2, X1); egim := (Y2 - Y1) / (X2 - X1); while egim <> bg do WriteLn ('Eğim ', egim :5:2); WriteLn ('Dört sayı daha girin --> '); ReadLn (Y2, Y1, X2, X1); egim := (Y2 - Y1) / (X2 - X1); end end. 2.4. Bool ( Mantıksal ) Veri Tipi; Mantıksal veri tipi iki değişkenin bir operatör yardımı ile karşılaştırılması sırasında değişkenin alabileceği değerlerin mantıksal olmasını sağlayan ver tipidir. Değişkenlerin alabileceği değer TRUE (DOĞRU) veya FALSE (YANLIŞ) olarak değerlendirilir. Değişkenin yorumlanacak değerleri sonuç olarak mantıksal olmak zorundadır. 2.5 Char ( Karakter) Veri Tipi; Karakter veri tipinde belirlenen değişkenlerin alacağı değer sadece bir karakteri içerebilir. Bu karakterler ASCII karakter setinde bulunan değerlerden birisi olabilir. Bu veri tipinin kullanım amacı genelde 21

klavyeden girilecek olan sadece bir karakterlik Evet veya Hayır gibi sonuç oluşturan değerleri belirlemektir. E,H: char; Hafıza alanında çok fazla yer işgal etmezler. Genelde kontrol amaçlı olduğundan her zaman kullanılması bir zorunluluk değildir. Ancak gerekli olduğunda kullanılmalıdır. 2.6 Word (Kelime) Veri Tipi ; Kelime veri tipinde 0 ile 65535 sayıları arasındaki değerler değişkelere atanmaktadır. Bazı özel durumların gerektirdiği değer atamaları sayı aralığının kesin belli olduğu durumlarda bu veri tipinin kullanılması oldukça güvenilirdir. degisken: word; 22