P Önemli bir konu: önşartlar and hedefşartlar. p Bir metodun neyi netice vereceğinin belirlenmesinin yöntemleridirler. Önşartlar ve Hedefşartlar Java Kullanarak.

Slides:



Advertisements
Benzer bir sunumlar
© 2011 IFRS Foundation 1 IFRS for SMEs Konu 2.5(b) Test ve Tartışma Varlıklar Bölümler 14 &15.
Advertisements

SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
Değişkenler ve bellek Değişkenler
P 6. Ünite stack veri tipini anlatmaktadır. p Bu ünitede stack laerin örnek uygulamalarından bahsedilmektedir. p Bu sunumda N-Queens problemini çözmek.
JavaScript Birinci Hafta.
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
DERS:Acronis true image ile full yedek almak…
Bölüm 2 C Dilinin Temelleri
Bölüm 4 – Kontrol İfadeleri:1.kısım
OOP UYGULAMA 5.
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
Tam İkili Ağaçlar 9. Ünite ağaçlardan bahseder.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesneye Yönelik Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesne Tabanlı Programlama
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
P 2. Ünitede Nesneye Dayalı Programlama anlatılıyor. p Nesneye dayalı programlama yeni veri tiplerinin ve bu tipleri işletmek için gereken işlemleri oluşturmayı.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesneye Yönelik Programlama (2. Sunu). Konsol Üzerinde Türkçe Karakterler Görebilmek İçin…
Görsel C# Programlama Güz 2009 (6. Hafta).
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
 2006 Pearson Education, Inc. All rights reserved Kontrol İfadeleri: 2. Bölüm.
Önceki Dersi Hatırlama !!
Çoklu dallanma seçimi: switch
P Koleksiyon sınıfı bir grup öğeyi tutabilen bir veri tipidir. p Java da, koleksiyon sınıfları öğeleri ekleme,çıkarma,inceleme metodlarıyla birlikte bir.
Kalıtım.
C# ile Seri İletişim Aslı Ergün.
EDUTIME Java Day 8 Serdar TÜRKEL.
Bölüm 4 – C’de Program Kontrolü
BPR152 ALGORİTMA VE PROGRAMLAMA - II Öğr. Gör. Bayram AKGÜL
JAVA’DA DİZİLER Dr.Galip AYDIN.
Chapter 1: A First Program Using C#
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
Bil 102 Bölüm 6 Diziler.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
Örnek Adam asmaca oyununun programının yazılması.
SÜLEYMAN DEM İ REL PRIMARY AND SECONDARY SCHOOL. GENERAL INTRODUCTION SCHOOL DIRECTORY, TEACHERS AND OTHER STAFF CLASSROOMS PARTS OF THE SCHOOL GALLERY.
BTP206– Görsel Programlama II
Bu Günkü Konular If yapısı ve karşılaştırma operatörleri
1 Yapılandırılmamış programlama Prosedür/Fonksiyon gerekliliği Prosedural Programlama Fonksiyon Tanımlama/Prototip/Çağırma Örnek fonksiyonlar Fonksiyon.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
3. HAFTA 3. Hafta.
BTÖ216-Görsel Programlama RobotC’ye Giriş. Problem Çözme  “Nasıl iyi bir programcı olabilirim?”  İlk adım problemi nasıl çözeceğini anlamadır.  Problem.
Learning to learn network for low skilled senior learners ÖĞRENCİ Mİ? EVET, O BENİM! Learning to Learn Training Öğrendiklerinizin aktif bir seçicisi olmak.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
JAVA 1. GİRİŞ & TARİHÇE Java, Sun Microsystems mühendislerinden James Gosling tarafından geliştirilmeye başlanmıştır. Açık kodlu. Nesneye yönelik. Düzlemden.
İbrahim Olgaç PROGRAMLAMA DİLLERİ SUNUMU C#
This is beak. There are feet. There are wings. There are eyes. This is tongue.
Students social life and join the social clubs. BARIŞ KILIÇ - EGE DÖVENCİ IŞIK ÜNİVERSİTESİ
C’de Fonsiyonlar Aslı Ergün.
İSTATİSTİK II Hipotez Testleri 3.
FONKSİYONLAR Programlamada fonksiyon kullanmanın en önemli sebebi kodların tekrar edilmesini engellemektir. Örneğin; karekök yada üsalma işlemi yapan bir.
Bölüm 2 C Dilinin Temelleri
YAPISAL PROGRAMLAMA Hafta-6
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Veri Tipleri 12/4/2018.
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
Recursion (Özyineleme)
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 2 C Dilinin Temelleri
MTM216 GÖRSEL PROGRAMLAMA
Imagine that you are a teacher and you are taking your 20 students to England for the summer school.
Sunum transkripti:

p Önemli bir konu: önşartlar and hedefşartlar. p Bir metodun neyi netice vereceğinin belirlenmesinin yöntemleridirler. Önşartlar ve Hedefşartlar Java Kullanarak Veri Yapıları ve Diğer Nesneler

Önşartlar ve Hedefşartlar Bir programcı sık sık bir metodun nasıl çalıştığını belirtmeden kesin olarak neyle neticeleneceğinden haberdar etmelidir. Bunun oluşabileceiği bir durum düşünebiliyor musunuz ?

Örnek p Bir programlama takımının başkanısınız ve projenin bir parçası olarak programcılarınızdan birinden bir metod yazmasını istiyorsunuz. BURADA SİZDEN YAZMANIZI İSTEDİĞİM BİR METOD İÇİN GEREKENLER VAR. GEREKENLERİ YAPTIĞI SÜRECE BU METODUN NASIL ÇALIŞTIĞI BENİ İLGİLENDİRMİYOR.

Önşartlar ve Hedefşartlar nelerdir? p Bu tür gereklilikleri belirtmenin bir yolu da metod hakkında bilgi veren ifadeler kullanmaktır. p Önşart ifadeleri metod çağrılmadan önce sağlanması gereken şartları belirtir. p Hedefşartlar ifadeleri metod işini bitirdikten sonra neyin doğru olması gerektiğini belirtir.

Örnek // Önşart: x >= 0. // Hedefşart: x in karekökü çıktı olarak yazılacak public void writeSqrt( double x)...

Örnek // Önşart: x >= 0. // Hedefşart: x in karekökü // çıktı olarak yazılacak. public void writeSqrt( double x)... } p Önşart ve hedefşart programınızda açıklama olarak görünecektir. p Genellikle metodun uygulamasından önce gelirler.

Örnek // Önşart: x >= 0. // Hedefşart: x in karekökü çıktı olarak // yazılacak. public void writeSqrt( double x)... } p Bu örnekteki önşart metod çağrıldığında, x >= 0 ın doğru olmasını gerektirir. x >= 0 ın doğru olmasını gerektirir.

Örnek writeSqrt( -10 ); writeSqrt( 0 ); writeSqrt( 5.6 ); Aşağıdaki metodların hangileri önşartı sağlar ?

Örnek Aşağıdaki metodların hangisi önşartı sağlar? İkinci ve üçüncü çağırmalarda değişken sıfırdan büyük ya da eşit olduğu için önşart sağlanmaktadır. büyük ya da eşit olduğu için önşart sağlanmaktadır. writeSqrt( -10 ); writeSqrt( 0 ); writeSqrt( 5.6 );

Örnek Fakat ilk ifadede değişken sıfırdan küçük olduğu için önşart ihlal edilmiştir. writeSqrt( -10 ); writeSqrt( 0 ); writeSqrt( 5.6 ); Aşağıdaki metodların hangisi önşartı sağlar?

Örnek // Önşart: x >= 0. // Hedefşart: x in karekökü çıktı olarak // yazılacak. public void writeSqrt( double x)... } p Hedefşart her zaman metodu neyi netice vereceğini belirler. Bu durumda, metodun geri dönüşümü x in karekökünün yazılması olacaktır.

Başka Bir Örnek // Önşart: Harf büyükharf ya da küçük harf olacak // ve ( 'A'... 'Z' veya 'a'... 'z‘) aralığında olacak. // Hedefşart: Harf; sesli bir harfse metod true // döndürecek, değilse false döndürecek public boolean isVowel( char letter )...

Başka Bir Örnek isVowel( 'A' ); isVowel(' Z' ); isVowel( '?' ); Bu metodlar çağrılınca döndürülecek değerler nelerdir?

Başka Bir Örnek isVowel( 'A' ); isVowel(' Z' ); isVowel( '?' ); true false Bilemeyiz, çünki önşart ihlal edilmiştir. Bu metodlar çağrılınca döndürülecek değerler nelerdir?

Başka Bir Örnek isVowel( '?' ); Önşartın ihlal edilmesi programın çökmesine bile sebep olabilir. çökmesine bile sebep olabilir. Bu metodlar çağrılınca döndürülecek değerler nelerdir?

Herzaman önşartın sağlandığından emin olunuz. p Metodu çağıran programcı, metod çağrıldığında önşartın sağlanmasını teminat altına almaktan sorumludur. BU NOKTADA PROGRAMIM SİZİN METODUNUZU ÇAĞIRIYOR, VE BEN ÖNŞARTIN SAĞLANMASINI TEMİNAT ALTINA ALIYORUM.

... böylece hedefşart doğru olur ve metod sona erer. p Metodu yazan programcı önşartın sağlandığına güvenerek, metodun sonunda hedefşartın sağlanmasını teminat altına alır. SONRA BENİM METODUM ÇALIŞACAK VE BİTTİĞİNDE HEDEFŞART DOĞRU OLACAK GARANTİSİNİ VERİYORUM.

Quiz Diyelim ki bir metod çağırdınız ve önşartı sağlaması hususunu ihmal ettiniz. Bu durum istemeyerek 40 günlük bir sele veya başka bir felakete yol açacak olsa bunun sorumlusu kimdir? ¬Siz ­Sele dair metodu yazan programcı ­Hz. Nuh(as)

Quiz Diyelim ki bir metod çağırdınız ve önşartı sağlaması hususunu ihmal ettiniz. Bu durum istemeyerek 40 günlük bir sele veya başka bir felakete yol açacak olsa bunun sorumlusu kimdir? ¬Siz Metodu çağıran programcı önşartın sağlanmasını teminat almakla yükümlüdür. Metodu çağıran programcı önşartın sağlanmasını teminat almakla yükümlüdür.

Diğer taraftan dikkatli programcılar bu kurallara da uymalıdır p Bir metod yazarken önşart ihlalini tespit edecek hertürlü eforu sarfetmelisiniz. p Önşartın ihlal edildiğini tespit ettiğiniz zaman hata mesajı yazdırıp programı durdurmalısınız.

Diğer taraftan dikkatli programcılar bu kurallara da uymalıdır: p Bir metod yazarken önşart ihlalini tespit edecek hertürlü eforu sarfetmelisiniz. p Önşartın ihlal edildiğini tespit ettiğiniz zaman hata mesajı yazdırıp programı durdurmalısınız... p Bir felakete sebep olmaktansa

Örnek // Önşart: x >= 0. // Hedefşart: X in karekökü çıktı olarak yazılacak public void writeSqrt( double x) { if (x < 0) throw new IllegalArgumentException(“Negative x”);... p Hata verme ( Bölüm 1.1 de açıklanan) faydalıdır.

Önşart and Hedefşart Kullanmanın Avantajları p Kısaca metodun davranışını tanımlar... p... metodun çalışmasıyla ilgili detaylarla kafanızı karıştırmadan p Daha sonra, metodu yeni bir yöntemle tekrar uygulayabilirsiniz... p... fakat programlar (önşart/hedefşarta dayalı olan) hiçbir değişiklik olmadan çalışmaya devam edecek.

Önşart p Metodu çağıran programcı, önşartın doğruluğunu sağlamalıdır. p Metodu yazan programcı metod çalışmaya başladığında önşartın doğru olduğunu düşünmelidir. Hedefşart p Metodu yazan programcı, metodun çalışması bittikten sonra hedef şartın sağlanacağına emin olmalıdır. Özet

SON Presentation copyright 1999, Addison Wesley Longman For use with Data Structures and Other Objects Using Java by Michael Main. Some artwork in the presentation is used with permission from Presentation Task Force (copyright New Vision Technologies Inc.) and Corel Gallery Clipart Catalog (copyright Corel Corporation, 3G Graphics Inc., Archive Arts, Cartesia Software, Image Club Graphics Inc., One Mile Up Inc., TechPool Studios, Totem Graphics Inc.). Students and instructors who use Data Structures and Other Objects Using Java are welcome to use this presentation however they see fit, so long as this copyright notice remains intact.