DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Doç. Dr. Aybars UĞUR

Benzer belgeler
DATA STRUCTURES. Lab II Metotlar, Diziler ve Hata Ayıklama. Prof. Dr. Aybars UĞUR

NESNEYE YÖNELİK PROGRAMLAMA

HSancak Nesne Tabanlı Programlama I Ders Notları

Data Structures Lab Güz

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI

Lab7 DOĞU AKDENİZ ÜNİVERSİTESİ BİLGİSAYAR VE TEKNOLOJİ YÜKSEKOKULU BİLGİSAYAR PROGRAMCILIĞI. BTEP212 Java. Uygulama1: package javaapplication58;

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

KONU: İşletim Sistemleri I - Ms-Dos İşletim Sistemi SORULAR

Java Programlamaya Giriş

C# Diziler Sınıf metotları Erişim (kullanım hakkı) deyimleri Üyelerin ömrü(geçerlilik süresi) Hata ayıklama (debug) aracı

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

NETCAD GIS. Dr. Cemal Sevindi

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

11- FONKSİYONLAR (FUNCTIONS)

HSancak Nesne Tabanlı Programlama I Ders Notları

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

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

Görsel Programlama 1

Lambda İfadeleri (Lambda Expressions)

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

C# Metotlar ve Metot Tanımlama

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

Visual Studio ve C++ Programlama BLGM 211 Nesneye Dayalı Programlama DENEY - 0

DATA STRUCTURES. Part I C# Programlama Dili Temelleri

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

C de Detaylı Üs Alma Programı. C# Dilinde Metot Tanımlama ve Yazdırma

FireBug eklentisini eklentiyi yazan sitesinden veya FireFox un eklentiler indirebilirsiniz.

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

// hataları işaret eden referans

Sınıflar ve Yapılar Arasındaki Farklılıklar. Değer ve Referans Türde Olan Aktarımlar

Nesneye Dayalı Programlama Laboratuvarı

DENEME SINAVI CEVAP ANAHTARI

MPLAB IDE ve ISIS ile ASSEMBLY DİLİNDE UYGULAMA GELİŞTİRMEK

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

BİL-141 Bilgisayar Programlama I (Java)

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

DÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()

YMT219 VERİ YAPILARI ÖDEV-1

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

PROGRAMLAMA TEMELLERİ DERSİ ÖZETİ

5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi

BM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta

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

Soru 1: Fahrenheit cinsinden verilen sıcaklığı Kelvin'e çeviren bir program yazınız. Aşağıdaki dönüşüm formülünü kullanabilirsiniz:

disp VEYA fprintf KOMUTLARIYLA EKRANA MESAJ YAZDIRMA

ASP.NET ile Bir Web Sitesi Oluşturma

ÜNİTE. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA İÇİNDEKİLER HEDEFLER METOTLAR

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

Ders 8: Metotlar. barisgokce.com

JAVADA DİZİ İŞLEMLERİ

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

Önsöz. İçindekiler Algoritma Algoritma Nasıl Hazırlanır? Yazılımda Algoritma Mantığı Nedir? 1.2. Algoritma Örnekleri ve Sorular

OPERATÖRLER Alıştırmalar

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

DOĞU AKDENİZ ÜNİVERSİTESİ BAHAR BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BLGM-324 BİLGİSAYAR MİMARİSİ. PC-SPIMGirişi(MIPS R2000 Simulatörü)

Eastern Mediterranean University Faculty of Arts & Sciences -- Department Of Mathematics BİLG213 BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

Java da İşleçler, Ders #3 (4 Kasım 2009)

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

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

HSancak Nesne Tabanlı Programlama I Ders Notları

Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi

ALGORİTMA VE PROGRAMLAMA II

ALGORTMA ve PROGRAMLAMA - II (C# Sürümü) DERS NOTLARI

İçerik. Java da İşleçler, İşleçler. Aritmetik İşleçler - 1. Aritmetik İşleçler - 2. Geçen ders: Bu ders: BS-515 Nesneye Yönelik Programlama

T.C. MARMARA ÜNİVERSİTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI PROGRAMLAMA DERSİ KAPSAMINDA YAPILAN

HATA YAKALAMAK VE AYIKLAMAK GİRİŞ HATA AYIKLAMA. Hata Yakalamak ve Ayıklamak

Ders - 7 while döngüsü

İçerik. Kapsülleme ( Encapsulation ) Java da Kalıtım: Örnek 2.1. Kalıtım ( Inheritance ) Tekrar Ziyaret. Java da Kalıtım: Örnek 2.2.

7.1- Operatörler ve Giriş-Çıkış İşlemleri. M.İLKUÇAR - 1

KUYRUKLAR. Doç. Dr. Aybars UĞUR

public static int Toplam int x, int y

T.C. MİLLİ EĞİTİM BAKANLIĞI MEGEP (MESLEKİ EĞİTİM VE ÖĞRETİM SİSTEMİNİN GÜÇLENDİRİLMESİ PROJESİ) BİLİŞİM TEKNOLOJİLERİ

SIMAN KULLANIM KILAVUZU

Sunum İçeriği. Programlamaya Giriş

JAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN

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

MPLAB IDE v7.60 PROGRAMI KULLANIMI

GÜZ DÖNEMİ AKT105 BİLGİSAYAR PROGRAMLAMA DERSİ 9. UYGULAMA

LyX. İlkay TÜRK ÇAKIR. SANAEM- TAEK HPFBO-Çukurova Üniversitesi

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

NB Macro Kullanımı Hakkında Genel Bilgiler

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

Klavyeden Basit Giriş/Çıkış İşlemleri

C# Programının çalıştırılması, Program yazma ve Çalıştırma

ECLIPSE PROGRAMININ ÇALIŞTIRILMASI

YZM 2105 Nesneye Yönelik Programlama

Java String İşlemleri

BPR152-Algoritma ve Programlama II Uygulama -13

ALGORİTMA VE PROGRAMLAMA I

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

Kullanıcı Kılavuzu Türk İşaret Dili (TİD) Web Sayfası Projesi. Ayça Kundak Cem Altel Didem Gözüpek M.Sadullah Ceran Metin Döşlü Seher Göğebakan

BİLİŞİM TEKNOLOJİLERİ

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

ATATÜRK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BIM 205 GÖRSEL PROGRAMLAMA GÜZ DÖNEMİ ÖDEV-1

Kapsülleme ( Encapsulation ) BBS-515 Nesneye Yönelik Programlama

Karşılaştırma İşlemleri ve Koşullu İfadeler

Transkript:

DATA STRUCTURES Lab II Metotlar, Diziler ve Hata Ayıklama Doç. Dr. Aybars UĞUR

İçerik Debugging konusunun kısaca anlatımı. (10 dk.) F11, F10 ve Durma Noktası denemeleri yapılması ve gözlemlerin not edilmesi. (10 dk.) Örnek2 nin anlatımı (Metotlar) Öğrenciler tarafından satırtoplam metodunun yazılması, işletimi. (20 dk.) matris.cs dosyasının sisteme yüklenmesi. Erken bitirenler, C# debugging video izleyebilir. Doç. Dr. Aybars UĞUR 2

Debugging (Hata Ayıklama) Olanakları Debug Menüsü İşletilecek sonraki komut Debug Araç Kutusu Durma Noktaları Breakpoint 1 Breakpoint 2 Hata! Toplam döndürülmeli Doç. Dr. Aybars UĞUR 3

Debugging Program adım adım işletilebilir. Her bir adımda, değişkenlerin durumu izlenebilir. Durma Noktaları (Breakpoint ler), programın en solundaki gri çubuk üzerine, ilgili satırın hizasında tıklanarak eklenebilir. İki durma noktası arasındaki kodun adım adım işletilmesine gerek kalmaz. Böylece hataların olabileceği bölgelere odaklanılır. Doç. Dr. Aybars UĞUR 4

Debug Menüsü ve Araç Kutusu Step Into (F11) : İlgili metodun içine girer. Farklı bir yerde de olsa ilgili sayfa açılır ve oradaki ilk deyimden itibaren hata ayıklamaya devam edilir. Step Over (F10) : Tüm metot işletilir. Metodun içine girilmez. Kapsam içinde işletime devam edilir. Step Out (Shift+F11) : Bulunulan metottan çıkılarak hata ayıklamaya devam edilir. Doç. Dr. Aybars UĞUR 5

Debug Menüsü ve Araç Kutusu Continue (F5) Bir sonraki durma noktasına kadar olan tüm komutları işler, yoksa program sonuna kadar işletilerek bitirilir. Stop Debugging (Shift + F5) : Debug işlemi, program sonuna kadar işletilmeden durdurulur (kesilir). Continue Stop debugging Step into Step over Step out Doç. Dr. Aybars UĞUR 6

Debug Panelleri ve Watch Değişkenlerin, kontrollerin ve nesnelerin değerlerini izlemek ve incelemek için Debug Windows alt menü seçeneği kullanılır. Locals Penceresi (paneli) : İçinde olunan kapsam alanındaki tüm değişkenlerin tiplerini ve o anki bilgilerini (değerlerini) listeler. Autos Penceresi (paneli) : İşletilmekte olan satırdaki ve bir öncesindeki ifadelerdeki değişkenlerin bilgilerini gösterir. Watch Penceresi (paneli) : istediğimiz değişkenlerin isimlerini panele yazarak değerlerini gözlemleyebiliriz. Quickwatch seçeneği ile değerleri anlık olarak görülebilir. Sağ tuş ile çıkacak menü üzerinden, ilgili panelden izlenmesine gerek kalmayan değişkenler silinebilir veya eklenebilir. Doç. Dr. Aybars UĞUR 7

Önemli Kod yazımına devam etmek için hata ayıklamayı sonlandırmak gerekir. Stop Debugging. Debug sırasında yeni Durma Noktası eklenebilir. İşletilecek deyim olmayan satırlara Durma noktası konulamaz. Doç. Dr. Aybars UĞUR 8

Örnek 1: Programın Adım Adım İzlenmesi Aşağıdaki örneği yazınız ve bahsedilen Debug özelliklerini deneyiniz. Gerektiğinde Araştırma Görevlilerine sorunuz. Metot içerisinde dizi elemanlarından birisini değiştiriniz. Metoda bir de değer tipinde parametre ekleyip çağırınız. Debug ile değişkenleri izleyiniz. Bir kağıda bulgularınızı, sonuç ve deneyimlerinizi yazınız. class Program static void Main(string[] args) double[] değerler = 1.2, 1.3, 1.5, -1, -25 ; double sonuç = topla(değerler); Console.WriteLine(sonuç); static double topla(double[] dizi) double toplam = 0; int elemansayısı = 0; for (int i = 0; i < dizi.length; ++i) toplam += dizi[i]; elemansayısı++; return toplam; Doç. Dr. Aybars UĞUR 9

Örnek 2: Metotlar 1) Aşağıdaki matrisi Main metodunda tanımlayıp oluşturunuz. Matris = 1 2 3 4 4 3 2 1 2 5 7 11 13 17 19 23 2) Verilen bir matrisin tüm elemanlarının toplamını bulduran metodu yazınız ve Main metodundan çağırınız. Doç. Dr. Aybars UĞUR 10

Program class Program static void Main(string[] args) int[,] matris = 1, 2, 3, 4, 4, 3, 2, 1, 2, 5, 7, 11, 13, 17, 19, 23 ; int toplam = topla(matris); Console.ReadKey(); static int topla(int[,] m) int toplam = 0; for (int i = 0; i < m.getlength(0); ++i) for (int j = 0; j < m.getlength(1); ++j) toplam += m[i,j]; return toplam; Doç. Dr. Aybars UĞUR 11

Lab. Ödev Verilen bir matrisin satır toplamlarını bir diziye atan satırtoplam metodunu yazınız, ana metottan çağırınız,.cs uzantılı programı lab. sonuna kadar Moodle a yükleyiniz : Toplam Dizi Matris = 1 2 3 4 4 3 2 1 2 5 7 11 13 17 19 23 10 10 25 72 Doç. Dr. Aybars UĞUR 12

Homework 2 Lab dan sonra yapılacaktır, El ile yazılarak Salı günü derse getirilmesi yeterlidir. 1) Örnek 2 nin satırtoplam metodunu, programı işletmeden gözle takip ederek, i ve j değişkenlerinin her bir değeri için Dizi[i] nin aldığı değerleri tablo üzerinde doldurunuz. 2) Örnek 1 e ilişkin gözlemlerinizi düzenleyerek el ile yazınız. F11, F10 ve Durma noktalarının hangi durumlarda yararlı olabileceğini ve farklarını kısaca belirtiniz. Adım i j Dizi[i] 0 0 0 1 1 0 1 3 (yarım sayfa yeterli) Ödev kağıdı için : HW_II_Paper.pdf 19 Doç. Dr. Aybars UĞUR 13