You are on page 1of 16

AYRIK YAPILAR

UYGULAMALARI

Hafta - 6
İÇERİK

 GLOBAL VE PERSISTENT DEĞİŞKENLER


 STRING İŞLEMLERİ

Ayrık Yapılar - Hafta 6 2


Global Değişkenler
 Birçok fonksiyon aynı değişken adını
“global” olarak bildirerek, bu değişkenin
tek bir kopyasını paylaşabilir. Çalışma
ortamı da bu paylaşıma katılabilir.

Ayrık Yapılar - Hafta 6 3


Örnek 1 :
 Aşağıdaki fonksiyonu tanımlayınız.

function h = sdusme(t)
global GRAVITY
h = 1/2 * GRAVITY * t.^2;

Ayrık Yapılar - Hafta 6 4


Örnek 1 (Devam) :

>> global GRAVITY


>> GRAVITY = 32;
>> t = (0:.1:5)';
>> y = sdusme(t);
>> plot(t,y)

Ayrık Yapılar - Hafta 6 5


Global Değişkenlerin Özellikleri
 Global değişkenler ilk kullanıldıkları yerden
önce yaratılmalıdırlar.
 Bir global değişkeni silmek için :

>> clear global değişken_adı


 Tüm global değişkenleri silmek için :

>> clear global


 Tanımlı global değişkenleri görmek için :

>> whos global


 Global değişken kullanımı önerilmez.

Ayrık Yapılar - Hafta 6 6


Persistent Değişkenler
 Global değişkenlere benzerler ancak
sadece tanımlandıkları fonksiyon içinden
erişime izin verilir.
>> persistent sum_x  şeklinde
tanımlanır.
 Fonksiyona yapılan çağrılar arasında

değerini korur. (Global değişkenler de


böyledir)

Ayrık Yapılar - Hafta 6 7


String İşlemleri - 1
 String ifadeler ' ' (Tek tırnak işaretleri) arasına
yazılır.
>> g = 'Program';
 String'ler sayı vektörleri olarak işlenebilirler.

>> kod = double(g)


 double harfleri ascii karşılıklarına

çevirmektedir.
 char ise tam tersini yapar.

>> char(kod)
Ayrık Yapılar - Hafta 6 8
String İşlemleri - 2
 size bir string'in boyutunu verir.
>> size(g)
 Rakamlardan oluşan string'ler, string olarak

işlenir.
>> x = '120885'
 >> x*1 ile string'in ascii karşılıkları
yazdırılabilir.
 >> x+5 ile string ifade, sayı vektörü
olarak işleme sokulabilir.

Ayrık Yapılar - Hafta 6 9


String İşlemleri - 3
String'ler sayı vektörleri gibi birbirlerine
eklenebilir.
>> k = [g, 'Sayı:', x]

Ayrık Yapılar - Hafta 6 10


String'lerin Karşılaştırılması - 1
 strcmp
>> st1 = 'akropol'
>> st2 = 'Akropol'
>> strcmp(st1,st2)
 Sonuç “0” olur, yani string'ler aynı

değildir.

Ayrık Yapılar - Hafta 6 11


String’lerin Karşılaştırılması - 2
 strcmpi
 Büyük / küçük harf ayrımı yapmadan

karşılaştırır.
>> strcmpi(st1,st2)
 Sonuç “1” olur, yani string'ler aynıdır.

Ayrık Yapılar - Hafta 6 12


Tüm Karakterlerin
Karşılaştırılması

>> a = 'aslan'
>> b = 'ayhan'
>> a == b
 Sonuç : 1 0 0 1 1

Ayrık Yapılar - Hafta 6 13


Karakterleri Sınıflandırma
>> n = 'E123'
>> isletter(n)
 Sonuç : 1 0 0 0

>> n = 'A 10'


>> isspace(n)
 Sonuç : 0 1 0 0

Ayrık Yapılar - Hafta 6 14


Sayı - String Dönüşümü

>> x = 236
>> xs = int2str(x)

>> y = 13.75
>> ys = num2str(y)

Ayrık Yapılar - Hafta 6 15


String - Sayı Dönüşümü

>> c = str2num('236')

>> c = str2num('Ali')

>> c = str2num('2+36')

Ayrık Yapılar - Hafta 6 16

You might also like