DİZİLER. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.

Benzer belgeler
Uygulama 1) Tur sayısını 1 den klavyeden girilen n e kadar ekrana yazarak birikimli (kümülatif) toplam alan kaynak kodları yazınız.

MT 373 Visual Basic Programlama Dersi

Uygulama 1) Sabit olarak belirlenen sayıda tekrar eden (5 kez) Visual Basic kaynak kodlarını yazınız.

Algoritma, Akış Şeması ve Örnek Program Kodu Uygulamaları Ünite-9

De iflken = InputBox Görüntülenecek Metin Bafllık. InputBox tan gelecek cevap, bir de iflkene aktarılmalıdır. End Sub B R SAYI TUT

Diziler İndisli Değişkenler

Uygulama1) Şart yapısının kullanımı CheckBox1 bileşeninin işaretlendiğinde ekranda Kutu işaretlendi mesajı veren kodları yazınız.

Length: metin uzunluğunu yada diğer bir deyişle dizi elaman sayısını döndürür.

ALGORİTMA VE PROGRAMLAMA I


Visual Basic Uygulamaları-4. Dİ Zİ LER (ARRAYS) ve Nesne Kü meleri

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

Her Select Case bloğu, mutlaka End Select ile bitmek zorundadır.

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

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

Command Nesnelerini Kullanarak Tablolarda Değişiklik Yapmak:

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

HSancak Nesne Tabanlı Programlama I Ders Notları

Genel Kullanılış 1: [değişken ismi] = [değişken ismi] [işlem] [sayı veya string ifade veya değişken]

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

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

ALGORİTMA VE PROGRAMLAMA I

KONTROL YAPILARI (CONTROL STRUCTURES)

C# Örnek Uygulamalar I

İnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler

BLG 1306 Temel Bilgisayar Programlama

ÖDEV (Vize Dönemi) CEVAPLAR. 1. Ekrana Merhaba Dünya! yazdıran algoritmanın akış diyagramını çiziniz ve sözde kod olarak yazınız.

Algoritmalar ve Programlama. Algoritma

BİLGİSAYAR PROGRAMLAMA DERSİ

Algoritma ve Programlamaya Giriş

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

Özyineleme (Recursion)

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Diziler. Yukarıdaki bilgileri bilgisayar belleğinde saklamak için aşağıdaki gibi değişkenler tanımlanır ve değerler bu değişkenlere aktarılır :

Uygulama 1) Aşağıdaki genel (global) değişken tanımlamalarını VB üzerinde yapınız. Süre 10 dak.

Matlab da Dizi ve Matrisler. Mustafa Coşar

Pythonda değişkenlerin türlerini tanımlamaya gerek yoktur

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

F(A, N, K) // A dizi; N, K integer if N<0 then return K; if A[N]>K then K = A[N]; return F(A, N-1, K);

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

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

Vbnet Vbne access bağ ba lant lan ı t s ı ı s, ekleme, güncelleme,,silme

BİL1001 Bilgisayar Bilimlerine Giriş 1

ÜNİT E ÜNİTE KONTROL DEYİMLERİ KARAR YAPILARI. IF Deyimi GİRİŞ

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#3: ALGORİTMA ANALİZİ#2

YZM 2105 Nesneye Yönelik Programlama

Yukardaki gibi sonsuz döngülü programlara Ctrl+Break tuş takımı ile müdahale edilmesi gerekir, aksi halde program sonsuz döngüye girer.

INPUTBOX KULLANIMI. Komut Düğmesine uygulanan algoritma örneği

Timer İle arka plan renk değişimi

elemanlarının gezilmesine yönelik bir örnek sunulmuştur, inceleyiniz.

BÖLÜM 3: AKIŞ DİYAGRAMLARI

ALGORİTMA VE PROGRAMLAMA I

PROGRAMLAMA DİLLERİ I

Internet Programming II

TBP101 (4. Hafta) Alıştırma Soruları ve Cevapları

İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

ALGORİTMA (ALGORITHM) M.İLKUÇAR -

BPR152-Algoritma ve Programlama II Uygulama -13

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

Olimpiyat Soruları. sonuçları tekrar fonksiyonda yerine koyup çıkan tüm sonuçları toplayan program (iterasyon sayısı girilecek)

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

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

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-10 Diziler. Yrd. Doç. Dr. Ümit ATİLA

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

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BLM111 Programlama Dilleri I. Hafta 10 Diziler. Yrd. Doç. Dr. Caner ÖZCAN

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

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

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

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

Dr. Musa KILIÇ Öğretim Görevlisi

Veri Yapıları Laboratuvarı

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

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

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

4- ALGORİTMA (ALGORITHM)

İNTERNET TABANLI PROGRAMLAMA

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

Algoritma ve Akış Diyagramları

BLG 1306 Temel Bilgisayar Programlama

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

Örnek 1: Girilen iki sayıyı toplayıp yazdıran algoritmayı ve akış diyagramını tasarlayınız.

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

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

Yeni bir proje açarken File New - Web Site diyoruz. Gelen ekranda Visual Basic veya C# seçilebilir. Biz ders kapsamında C# programlama dilini seçtik.

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

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

SEÇİM İŞLEMLERİ. Yüzde Hesaplamaları HÜCRE KOPYALAMA & TAŞIMA FORMÜL GİRİŞİ FORMULLER 3) DÖRT İŞLEM. a) Bugün: b) Şimdi: c) Topla: d) Çarpım:

Visual Basic. Dosya İşlemleri

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

Pointer Kavramı. Veri Yapıları

PROGRAMLAMAYA GİRİŞ DERSİ II. ÖDEVİ

BÖLÜM 2: ALGORİTMALAR

4- ALGORİTMA (ALGORITHM) M.İLKUÇAR - 1

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

Nesneye Dayalı Programlama Laboratuvarı

Transkript:

DİZİLR GİRİŞ Bu ünitede, akış diyagramlarının yardımıyla birçok veriyi tek bir alanda nasıl saklayabileceğimiz, işleyebileceğimiz ve çağırabileceğimiz konusundaki bilgiler anlatılacaktır. Teknolojinin gün geçtikçe gelişmesi, çoğalan bilgiyi saklama ve bu saklanan bilgiyi de istenilen anda kullanabilecek alanların oluşturulmasına sebep olmuştur. Bir veri yığınındaki bilgiler saklanırken bu verilerin aynı türden olması büyük önem taşımaktadır. Aksi takdirde saklanılan veriler içinde karmaşıklık ortaya çıkacak ve istenilen sonuca ulaşmak mümkün olmayacaktır. Bilgiyi saklamada kullanılan en önemli alanlardan biri de dizilerdir. (Dizi kelimesi İngilizce kaynaklarda ARRAY olarak geçer) Bu ünitede bir boyutlu dizilerden bahsedilecek ve bir sonraki ünitede iki boyutlu diziler üzerinde durulacaktır. Bu ünitede yapılan örnekler Visual Studio 2010 programındaki Visual Basic programlama diliyle çözülmüştür.. BİR BOYUTLU DİZİLR Tek sıradan, yani yalnızca satır veya sütundan oluşan ardışıl veri yığınlarıdır. İçinde aynı tip birden fazla veriyi depolayabilen değişkenlerdir. Bu da diğer değişkenlerden ayırt eden bir özelliktir. "VKTÖR" olarak da adlandırılırlar. elma kivi muz Meyve isimlerinin listelendiği tek sütundan oluşan bir dizi örneği. 10 Kg 35 Kg 23 Kg Aynı tür ölçü birimlerinin listelendiği tek satırdan oluşan bir dizi örneği. 2

DİZİLRİ KULLAIMI Dizilerde indis adı verdiğimiz her elemanın bir numarası vardır. Değişiklik yapmak istediğimiz dizi elemanın indisi kesinlikle belirtilmelidir. leman sayısı girilen bir dizinin elamanlarını atayan programın akış diyagramı ve örnek kod yazılımı: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.ventArgs) andles Button1.Click Olayın Dim As ew Integer gerçekleştiği nesne = Textbox1.text Dizinin eleman sayısı elemanlı dizi değişkeni Dim a() As Integer For i = 1 To 10 a(i) = InputBox("") nd Sub Dizi elemanlarının veri tipi Dizi elemanlarının girildiği döngü 3

DİZİ LMALARIYLA İŞLMLR lemanlarını atadığımız bir dizinin üstünde bir takım işlemler yapmamız gerekebilir. Bunlara; sayısal değerlerinin toplamı, en büyük ifadenin bulunması, elemanlar içinde bir sıralama yapılması gibi örnekler verilebilir. Bu başlıkta, çeşitli örneklerle yapılabilecek işlemler üzerinde duracağız. 10 elemanlı bir dizinin elemanlarını toplayıp sonucunu ekrana yazdıran programın akış diyagramı ve örnek kod yazılımı: I = 1, 10, 1 T=0 I = 1, 10, 1 T=T+ T Dim t As ew Integer Dim a(10) As Integer t = 0 For i = 1 To 10 a(i) = InputBox("") t = t + a(i) Msgbox(t) Sonucun mesajla verilmesi 4

elemanlı bir dizideki tek sayıların çarpımını yapıp sonucunu ekrana yazdıran programın akış diyagramı ve örnek kod yazılımı: C=1. mod 2 = 0 C = C * C For i = 1 To n If a(i) Mod 2 = 0 Then lse c = c * a(i) ListBox1.Items.Add(c) nd If Örnekte görüldüğü gibi dizi elemanları döngü içinde tek tek kontrol edilip çift olan dizi elemanları çarpma işlemine dahil edilmeden tek olan dizi elemanlarının çarpımı yapılacaktır. 5

100 elemanlı bir dizideki elemanlardan en büyüğünü bulup ekrana yazdıran programın akış diyagramı ve örnek kod yazılımı: I = 1, 100, 1 nb = A(1) I = 2, 100, 1 > nb nb = nb nb = a(1) For i = 2 To 100 If a(i) > nb Then nb = a(i) nd If Msgbox(nb) Bir karar verebilmek için elemanları bir değerle karşılaştırmamız gerekir. Bu örnekte de mantıklı olan ilk elemanı en büyük olarak atayıp dizinin sonraki elemanlarıyla sırayla kıyaslamaktır. 6

Örne elemanlı bir dizide 50 den küçük sayıların olup olmadığını ve varsa 50 den küçük olanları ekrana yazdıran programın akış diyagramı ve örnek kod yazılımı: < 50 For i = 1 To n If a(i) < 50 Then ListBox1.Items.Add(a(i)) nd If Örnekte görüldüğü gibi dizi elemanları girildikten sonra dizinin tüm elemanları tek tek kontrol edilp 50 den küçük olan dizi elemanları listbox içinde yazdırılıyor. 85 43 77 50 29 92-15 Yukardaki algoritmaya göre bu dizinin çıktısı: 43-15 29 7

elemanlı bir dizideki elemanları küçükten büyüğe doğru sıralayan programın akış diyagramı ve örnek kod yazılımı: I = 1, -1, 1 J = I+1,, 1 A(J) < TUT = = A(J) A(J) = TUT For i = 1 To n - 1 For j = i + 1 To n If a(j) < a(i) Then tut = a(i) a(i) = a(j) a(j) = tut nd If Yukardaki örnekte iç içe döngülere bakacak olursak dikkat edilmesi gereken nokta dıştaki döngü birinci elamandan başlayıp sondan bir 8

önceki elemana kadar dönmektedir. Son elemanı kıyaslaması hataya yol açar çünkü karşılaştıracağı bir eleman kalmıyor. Burada her bir eleman içteki döngü sayesinde kendinden sonra gelen bütün elemanlarla karşılaştırılır ve işlem şeması içinde yer değiştirme olayı gerçekleştirilir. Dikkat edilmesi gereken bir diğer hususta yer değiştirme olayıdır. TUT diye bir değişken tanımladık ve bu değişken sayesinde yerlerini değiştireceğimiz elemanlardan birinin diğerinin üzerine yazılarak yerini değiştireceğimiz elmanın kaybolmasını önlemiş olduk. Yani yedekleme işlemi gerçekleştirdik. DİZİLRİ BİRLŞTİRM V AYIRMA Bir dizi içindeki elemanlardan belirli şartları sağlayanlar üzerinde bir takım işlemler yapılması istenebilir. Bu işlemleri tek tek uygulamak yerine şartı sağlayan elemanları bir diziye aktarmak ve oluşacak dizinin tüm elemanlarına o işlemi uygulamak daha mantıklı olacaktır. Bu işleme dizileri ayırma adını verebiliriz. Bununla birlikte bazen de farklı diziler üzerinde aynı işlemleri yapmamız gerekebilir. Bu durumda da o dizileri yeni bir dizi üzerinde birleştirip olaylarımızı gerçekleştirmek işimizi kolaylaştıracaktır. Bu işleme de dizileri birleştirme adını verebiliriz. A() B() 7 22 9 5 C() 5 13 22 7 9 5 5 13 9

elemanlı bir A dizisindeki pozitif elemanların iki katını B dizisine negatif elemanların karesini de C dizisine yerleştiren programın akış diyagramı ve örnek kod yazılımı: X = 0, Y = 0 = 0. > 0 Y = Y + 1 C(Y) = ^2 X = X + 1 B(X) = 2* C(Y) B(X) x = 0 y = 0 For i = 1 To If a(i) = 0 Then lseif a(i) > 0 Then x = x + 1 lse y = y + 1 nd If 10

Dim b(x) As Integer Dim c(y) As Integer x = 0 y = 0 For i = 1 To If a(i) = 0 Then lseif a(i) > 0 Then x = x + 1 b(x) = 2 * a(i) ListBox2.Items.Add(b(x)) lse y = y + 1 c(y) = a(i) ^ 2 ListBox3.Items.Add(c(y)) nd If elemanlı A ve B dizilerini çarparak C dizisini oluşturan ve yazdıran programın akış diyagramı ve örnek kod yazılımı: B(I) C(I) = * B(I) C(I) 11

For i = 1 To n a(i) = InputBox(" ") ListBox1.Items.Add(a(i)) For i = 1 To n b(i) = InputBox(" ") ListBox2.Items.Add(b(i)) For i = 1 To n c(i) = a(i) * b(i) ListBox3.Items.Add(c(i)) 12