BİLGİSAYAR
PROGRAMLAMAYA GİRİŞ
9. DERS NOTU

DİZİLER
Kaynak: Dr.Deniz DAL kitabı ve ders sunumları
DİZİLER
Dizi (array), en temel veri yapısıdır ve kabaca
birbirleri ile ilişkili nümerik veya metinsel
değerler topluluğudur.
 Değişkenler içerisinde yalnız bir tek bilgi
depolarken dizileri kullanarak aynı türden
birden fazla bilgiyi saklayabiliriz.
 Programımız içerisinde kullanacağımız 100
adet tam sayıyı 100 farklı değişken içinde
saklamak yerine bu amaçla içinde 100 tam
sayı saklı bir dizi kullanmak daha mantıklıdır.
 Dizi
elemanlarına ulaşmak
için indis
dediğimiz
yapılardan
ve
parantezlerden
faydalanırız.

MATLAB’DE DİZİLER
 Bir
dizi vektör veya matris olabilir.
 nx1 veya 1xm dizisi bir vektör gösterir.
 Bu çerçevede nx1dizisi sütun vektörü ve
1xm dizisi ise satır vektörü olarak da
düşünülebilir.
 mxn veya nxm dizisi bir matris gösterir.
 Bir dizinin eleman sayısı dizinin satır
sayısı ile sütun sayısının çarpımıdır.
MATLAB’DE TEK BOYUTLU DİZİLER (SATIR
VEKTÖRLERİ) VE LENGTH FONKSIYONU
MATLAB’DE TEK BOYUTLU DİZİLER (SÜTUN
VEKTÖRLERİ) VE LENGTH FONKSIYONU
İPUCU
Bir satır veya sütun vektörü içerisinde tek bir for
döngüsü kullanılarak kolaylıkla gezilebilir.
Eğer bu amaçla oluşturulacak bir for döngüsü i adında
bir döngü değişkeni ile kontrol edilirse, bu i aynı
zamanda dizinin indislerini de temsil etmiş olur.
for i=1:length(A)
fprintf('%d\n',A(i));
end
İPUCU
Kendisine A adlı bir satır veya sütun vektörünü
parametre olarak alan bir fonksiyon m-dosyası
vektörün boyutuyla ilgili bir işlem yapıyorsa
length(A) fonksiyonunu muhakkak kullanmak
zorundadır. (Bu fonksiyona komut penceresinden
nasıl bir vektörün parametre olarak verileceği
peşinen bilinemez çünkü.)
SATIR VEKTÖRLERİNİN İÇERİSİNİN OTOMATİK
OLARAK SAYILARLA DOLDURULMASI
satirVektoru=ilkDeger:artımMiktarı:sonDeger
artimMiktarı belirtilmezse ilkDeger den sonra 1’er artım
olacağı anlaşılır.
for DÖNGÜSÜNÜN BİR BAŞKA KULLANILIŞ
ŞEKLİ
for i=[4 6 8 10 12 14 -1 7]
fprintf('%d\n',A(i));
end
Nasıl yorumlarsınız?
UYGULAMA
Kendisine parametre olarak aldığı bir A satır
vektörünün en büyük elemanını bularak geriye
döndüren
bir
MATLAB
fonksiyonunu
DizininMaksimumunuBul.m adında bir fonksiyon mdosyasının içerisine yazınız.
DizininMaksimumunuBul.m
function enBuyuk=DizininMaksimumunuBul(A)
enBuyuk=A(1); %Dizinin İlk Elemanı En Büyük Olsun
for i=2:length(A) %Kaç Elemanlı Bir Vektör Acaba?
if A(i)>enBuyuk
enBuyuk=A(i);
end
KOMUT PENCERESİ
end
>>B= [2, 4, -5, 6, 7, 99, -132, 126];
>>DizininMaksimumunuBul(B)
ans=
126
>>DizininMaksimumunuBul( [2, 4, -5, 6, 7, 99, -132, 126] )
ans=
126
SORULAR…
 Bir A satır vektörünün elemanlarının toplamı
 Bir A satır vektörünün aritmetik ortalaması
 Bir A satır vektörünün harmonik ortalaması
 Bir A satır vektörünün elemanlarının çarpımı
 Bir A satır vektörünün geometrik ortalaması
 Bir A satır vektörünün içerisindeki çift sayıların adedi
TEŞEKKÜR

Ders
notlarından
yararlandığım
Değerli
Hocamız Dr. Deniz DAL’a teşekkürlerimle…
Download

Dosyayı İndir