Metotlar. Bölüm Metot Nedir? Metot Nedir? Parametreler ve Yerel Değişkenler. main() Metodu. Hazır Metotlar. System.Math Sınıfının Metotları
|
|
- İbrahi̇m Karakoç
- 8 yıl önce
- İzleme sayısı:
Transkript
1 İçindekiler 1 Metotlar Metot Nedir? Static Öğe Metot Kavramı Parametreler ve Yerel Değişkenler main() Metodu Nesne Yaratma Hazır Metotlar java.lang.math Fibonacci Sayıları Kullanıcının Tanımladığı Metotlar Uygulamalar Alıştırmalar String den Tamsayıya Dönüşüm i
2 ii İÇINDEKILER ii
3 Bölüm 1 Metotlar Metot Nedir? Parametreler ve Yerel Değişkenler main() Metodu Hazır Metotlar System.Math Sınıfının Metotları 1.1 Metot Nedir? Her bilgisayar dili değişken ve fonksiyon kavramlarına sahiptir. Bu tesadüfen değil, işin doğasından kaynaklanan bir durumdur. Değişkenler, bilgisayar programının işleyeceği ham maddedir. Bu ham maddelerin işlenip ürün haline getirilmesi için kullanılan araçlar fonksiyonlardır. Nesne Yönelimli (Object Oriented- OO) Programlama Dillerinde her şey sınıflar (class) içinde tanımlanır. Bir sınıfa ait değişkenler o sınıfın özelliklerini ortaya koyar. O nedenle, sınıf değişkenlerine, 1
4 2 1. metotlar çoğunlukla, özelik (property) denilir. Benzer olarak bir sınıf içinde tanımlı fonksiyonlar o sınıfın tavır, davranış ve eylemlerini ortaya koyar. Bu ayrımı gözetmek için olsa gerek, OO Programlama dillerinde fonksiyonlara metot denir. Çoğu zaman bu biz de bu geleneğe uyarak, bir sınıfta tanımlanan değişken yerine bazen özelik ya da veri alanı diyeceğiz. Benzer olarak, fonksiyon yerine eşanlamlı olarak metot diyeceğiz. Ancak, özellikle alışkanlıklarımıza dayanan vurgu gerektiğinde değişken ve fonksiyon adlarını kullanmaktan da çekinmeyeceğiz. Okurun, değişken ile özeliğin ve fonksiyon ile metodun eş anlamlı olduğunu daima anımsayacağını umuyoruz. Değişkenlere neden başka ad verdiğimizi birazdan anlamış olacağız. Fonksiyon kavramına geçmeden önce, bir gerçeği anımsamakta yarar vardır. Anadilimizi öğrenirken bile sistematik bir yöntem izlemedik. Bazı kalıpları (gramer) çevremizden duyduğumuz gibi kullanmaya başladık. Ana dilimizi kullanmayı öğrendikten çok sonra onun gramerini öğrendik. Programlama dillerinin öğrenimi de çoğunlukla ona benzer. Başlangıçta bir çok sözdizimini (syntax), nedenini sormadan, olduğu gibi kullanırız. Sonra onun nedenini algılamamız daha kolay olur. 1.2 Static Öğe Şimdiye dek bir çok kez kullandığımız main() metodunu static anahtar sözcüğü ile niteledik. Başka metot ve değişkenler (özelik) için de aynı nitelemeyi kullandık. Bir sınıfta tanımlı bir değişken veya metodu static diye nitelemenin OO programlamada özel bir işlevi vardır. Genel kural olarak, bir sınıfta tanımlı değişkenler ve fonksiyonlar, ancak o sınıfa ait bir nesne (object) yaratıldıktan sonra o nesne içinde işlevsellik kazanırlar. Bunun istisnai hali değişkenin veya metodun önüne static nitelemesi konulduğunda oluşur. Başka bir deyişle şunu söyleyebiliriz: Uyarı 1. static sözcüğü ile nitelenen değişken veya metot, ait olduğu bir nesne (object) yaratılmadan kullanılabilir. 2
5 1.3. Metot Kavramı 3 static sözcüğünün işlevini sınıf konusunu işlerken daha ayrıntılı açıklayacağımızı, ama o zamana kadar onu gerektiği yerde kullanmak zorunda olduğumuzu unutmayınız. 1.3 Metot Kavramı Metot kavramı, matematik derslerinden bildiğimiz fonksiyon tanımından başka bir şey değildir. Matematikte f : X Y, x y simgelerinin ifade ettiği anlam şudur: Fonksiyonun adı f dir. f fonksiyonu tanım kümesi denilen X kümesinden, değer kümesi denilen Y kümesi içine tanımlıdır. f fonksiyonu X kümesinden aldığı her x öğesini, fonksiyon kuralı denilen bir dönüşüm yöntemiyle Y kümesi içindeki y öğesine götürür (eşler). x öğesine fonksiyonun değişkeni, y öğesine x öğesinin f altındaki dönüşümü (resmi) diyoruz. Her x değişkenine bir ve yalnız bir y öğesi karşılık gelir. Başka bir deyişle, bir değişken birbirinden farklı iki öğeye eşlenemez. Buradan şunu hemen anlıyoruz. Her fonksiyonun bir tanım kümesi ( X ), bir değer kümesi ( Y ) ve bir dönüşüm kuralı x y vardır. Matematik ten anımsadığımız bu kavramı, şimdi, bilgisayar diliyle ifade edelim. Açıklamayı basit bir örnek üzerinde yaparsak konu daha kolay anlaşılacaktır. Aşağıdaki fonksiyon bir tamsayının karesini hesaplar. 1 i n t KaresiniBul ( s h o r t x ) { i n t y ; y = x x ; r e t u r n y ; 6 Bu tanımda i n t KaresiniBul ( s h o r t x ) 3
6 4 1. metotlar satırına fonksiyonun başlığı diyeceğiz. Fonksiyon başlığı, fonksiyon hakkında bize gerekli başlıca bilgileri verir. Bu nedenle, bazı kaynaklar ona fonksiyonun mühürü (signature) derler. Biz fonksiyon başlığı terimini tercih edeceğiz. Önce başlığın bize verdiği bilgilere bakalım: Fonksiyonun adı KaresiniBul bitişik iki sözcüktür. Fonksiyonun adının sağına yazılan (short x) ifadesi, fonksiyonun tanım kümesinin short veri tipi olduğunu ve değişkeninin x simgesiyle gösterildiğini belirtir. Fonksiyonun adının soluna yazılan int veri tipi fonksiyonun değer bölgesidir. Başlıktaki satırdan sonra gelen bloku fonksiyona işlevini yaptıran deyimleri içeren bloktur. Bu bloku fonksiyon bloku veya fonksiyon gövdesi diye adlandıracağız. gövdesi içinde y = x x çarpma ve atama işlemleri fonksiyonun yapacağı iştir. x x çarpımının sonucu y değişkenine atanmış ve y değeri fonksiyonun değeri olarak belirlenmiştir (x öğesinin eşleneceği y öğesini belirleyen fonksiyon kuralı). Fonksiyonun alacağı değeri return anahtar sözcüğü ile belirtiyoruz: r e t u r n y ; Parametreler ve Yerel Değişkenler Bilgisayar programlama dillerinde, fonksiyonun başlığındaki parantez () içindeki değişken(ler)e parametre denilir. Bunun nedenini açıklamak için, yukarıdaki gövdesine bakalım. Fonksiyonun gövdesinde int tipinden bir y değişkeni tanımlanmıştır. Dolayısıyla bu fonksiyon iki farklı nitelikte değişken kullanmaktadır. Başlıktaki (short x) değişkeni ve fonksiyon gövdesi içindeki int y değişkeni. Bu iki değişkeni birbirlerinden ayırt etmek için, fonksiyon başlığındaki x değişkenine parametre ve gövdesi içindeki y değişkenine 4
7 1.3. Metot Kavramı 5 fonksiyonun yerel değişkeni denilir. Uyarı 2. Bilgisayar programlarında fonksiyona, matematikteki gibi tek harfli ad takmak yerine, genellikle, onun işlevini ima eden sözcükler takılır. Kaynak programı okuyan kişinin fonksiyonun işlevini hemen kavraması için bu iyi bir gelenektir. Bunu alışkanlık edininiz. Ancak, derleyici açısından fonksiyona takılan ad hiç önemli değildir. Tek harfli ad olsa da birden çok sözcükten oluşan uzun ad verilse de sistem ona işlevini eksiksiz gördürecektir. Bilgisayar programlarında fonksiyonların parametrelerinin her biri bir veri tipi üzerinde tanımlıdır. Bu veri tip(ler)i onun tanım kümesidir. Her fonksiyon, parametreleri ve yerel değişkenleri üzerinde, önceden belirlenen bazı işlemleri yapar ve sonunda bir değer verir (dönüşüm). Bu değer bir veri tipi içindedir. O veri tipi, fonksiyonun değer kümesidir. Değer kümesi void (boş küme) olabilir. O durumda, fonksiyon gövdesinde belirlenen işi yapıyor, ama bir değer vermiyor. Buna bazı dillerde yordam (procedure) deniliyor. Java dilinde her şeyin bir sınıf içinde tanımlanması gerektiğini söylemiştik. Öyleyse, yukarıdaki fonksiyon tanımını bir sınıf içine taşımalıyız. Fonksiyonumuzu istediğimiz bir sınıf içinde tanımlayabileceğimizi ileride göreceğiz. Ama, şimdi işleri kolaylaştırmak için onu, main() fonksiyonunu da içeren bir sınıf içine taşıyalım. Program p u b l i c c l a s s Kare { s t a t i c i n t n ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 9 n = k a r e s i n i B u l ( 9 ) ; System. out. p r i n t l n ( n ) ; s t a t i c i n t k a r e s i n i B u l ( i n t x ) { 5
8 6 1. metotlar 14 i n t y ; y = x x ; r e t u r n y ; / 2 81 / 1.4 main() Metodu main() metodu, Java dilinde bir programın bütün işlevini yaptıran ana metottur. Programın kullanacağı bütün deyimleri tek başına içerebileceği gibi, modüler yapıda yazılan programlarda öteki sınıflarda tanımlanan metotları ve değişkenleri çağırır ve belirlenen sırayla işleme sokar. Her programda ana metot olma işlevini üstlenen bir ve yalnızca bir tane main() metodu vardır. Bir programda başka main() metotları olsa bile, onlar bu programda ana metot olma sorumluluğunu taşıyamazlar. main() bir metot olduğuna göre, tanımı genel sözdizimi kurallarına uyar. Çoğunlukla başlığını p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) biçiminde yazarız. Bunun nedenini ilerleyen bölümlerde daha iyi anlayacaksınız. Şimdilik şunları söylemekle yetinelim: Yukarıdaki main() metodunun, args adını taşıyan parametresi String tipi bir array dir. Değer kümesi void (boş küme) dir. Bu küme, matematikteki boş küme gibidir. Hiç bir öğesi yoktur. Dolayısıyla, bu örnekte main() metodu bir değer almıyor, yalnızca başka bir metodu çağırıp onun işlevini yapmasını sağlıyor. Başlıktaki static anahtar sözcüğünü mutlaka kullanmalıyız. Onun ne iş yaptığını ileride göreceğiz. Yukarıdaki örnekte, Kare adlı sınıf içinde, s t a t i c i n t n ; 6
9 1.4. main() Metodu 7 değişkeni tanımlıdır. Sınıfa ait değişkenlere özelik diyeceğimizi söylemiştik. Dolayısıyla, n değişkeni Kare sınıfının bir özeliğidir. Ayrıca bu sınıf içinde main() metodu ile karesinibul() metodu tanımlıdır. main() metodunun gövdesinde yazılan k a r e s i n i B u l ( 9 ) ; deyimine, fonksiyonu parametre değeriyle çağırmak denir. Fonksiyon çağrılırken onun x parametre adı yerine, o parametreye verilen 9 değeri ile çağrılmaktadır. Başka bir deyişle, fonksiyon çağrılırken x x soyut işlemi yerine 9 9 somut işlemini yapması istenmektedir. Bu olgu, matematikte f(x) = x 2 fonksiyonu tanımlı iken f(9) = 9 2 = 81 işlemini yapmak gibidir. Kare sınıfı içinde tanımlanan n değişkeni,karesinibul() metodu ve main() metodu static anahtar sözcüğü ile nitelenmişlerdir. Bunun nedenini bu bölümün başında açıklamıştık. Ayrıca, anımsayacaksınız, bu bölümün başında sınıf içinde tanımlanan değişkenlere özelik diyeceğiz demiştik. Böylece, bir sınıf içinde olabilecek üç farklı nitelikteki değişkeni ayrı ayrı gruplamış oluyoruz: Fonksiyonun yerel değişkeni Fonksiyonun parametresi Sınıfın yerel olmayan değişkeni Yukarıdaki basit örnekte görüldüğü gibi, bu değişken gruplarının kullanılışları ve işlevleri birbirlerinden farklıdır. Ayrıca bir fonksiyonun hiç parametresi veya yerel değişkeni olmayabileceği gibi, birden çok parametresi veya yerel değişkeni olabilir. Benzer olarak, bir sınıfın hiç değişkeni veya metodu olmayabileceği gibi, birden çok değikeni ve metodu olabilir. Bunları örnekler üzerinde göreceğiz. 7
10 8 1. metotlar Aşağıdaki program bir metin içindeki küçük harf, büyük harf, rakam ve alfasayısal (harf veya rakam) olmayan karakterlerin sayılarını bulur. Her bir sayımı yapmak için, KarakterleriSay sınıfı içinde dört ayrı metot tanımlanmıştır. Metotların main() tarafından nesne yaratılmadan çağrılabilmesi için herbirine static nitelemesi verilmiştir. Program import java. u t i l. Scanner ; p u b l i c c l a s s K a r a k t e r l e r i S a y { 9 s t a t i c i n t n ; s t a t i c c h a r [ ] sarr ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( " Bir s a t ı r yazıp Enter e b a s ı n ı z : " ) ; S t r i n g s = scan. nextline ( ) ; 14 sarr = s. tochararray ( ) ; System. out. p r i n t l n ( "Küçük Harf S a y ı s ı : " + küçükharfsay ( sarr ) ) ; System. out. p r i n t l n ( "Büyük Harf S a y ı s ı : " + büyükharfsay ( sarr ) ) ; System. out. p r i n t l n ( "Rakam S a y ı s ı : " + rakamsay ( sarr ) ) ; 19 System. out. p r i n t l n ( " A l f a s a y ı s a l Olmayan Karakter S a y ı s ı : " + a l f a s a y ı s a l D e ğ i l s e S a y ( sarr ) ) ; s t a t i c i n t küçükharfsay ( c h a r [ ] s t r ) { i n t küçükharfsayısı = 0 ; 24 f o r ( c h a r h a r f : s t r ) { i f ( Character. islowercase ( h a r f ) ) { küçükharfsayısı++; 29 r e t u r n küçükharfsayısı ; 8
11 1.4. main() Metodu 9 s t a t i c i n t büyükharfsay ( c h a r [ ] s t r ) { i n t büyükharfsayısı = 0 ; 34 f o r ( c h a r h a r f : s t r ) { i f ( Character. isuppercase ( h a r f ) ) { büyükharfsayısı++; 39 r e t u r n büyükharfsayısı ; s t a t i c i n t rakamsay ( c h a r [ ] s t r ) { i n t rakamsayısı = 0 ; 44 f o r ( c h a r h a r f : s t r ) { i f ( Character. i s D i g i t ( h a r f ) ) { rakamsayısı++; 49 r e t u r n rakamsayısı ; s t a t i c i n t a l f a s a y ı s a l D e ğ i l s e S a y ( c h a r [ ] s t r ) { i n t a l f a S a y ı s a l D e ğ i l S a y ı s ı = 0 ; 54 f o r ( c h a r h a r f : s t r ) { i f (! Character. i s L e t t e r O r D i g i t ( h a r f ) ) { a l f a S a y ı s a l D e ğ i l S a y ı s ı ++; 59 r e t u r n a l f a S a y ı s a l D e ğ i l S a y ı s ı ; / Bir s a t ı r yazıp Enter e b a s ı n ı z : I s t a t i s t i k ve B i l g i s a y a r B i l i m l e r i, akademik YILI. 4 Küçük Harf S a y ı s ı : 36 Büyük Harf S a y ı s ı : 7 Rakam S a y ı s ı : 8 A l f a s a y ı s a l Olmayan Karakter S a y ı s ı : 9 / 9
12 10 1. metotlar static nitelemesinin işlevini daha iyi açıklamak için Birkaç örnek program daha inceleyeceğiz. Aşağıdaki programı derlemeyi deneyiniz. Program import java. u t i l. Date ; p u b l i c c l a s s Demo { 7 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { TarihYaz ( ) ; v o i d TarihYaz ( ) { 12 Date date = new Date ( ) ; System. out. p r i n t l n ( date. t o S t r i n g ( ) ) ; Derleyici size şu hata mesajını iletecektir: non s t a t i c method TarihYaz ( ) cannot be r e f e r e n c e d from a s t a t i c context Bu iletinin bize söylediği şey şudur: 11.satırdaki static olmayan TarihYaz() metodu ancak bir nesne içinde kullanılabilir. Şimdi bir nesne yaratmadan, static nitelemesiyle derleyicinin itirazını kaldırabileceğimizi, aşağıdaki program gösterecektir. Bunun için TarihYaz() metodunu static olarak nitelemek yetecektir. Program import java. u t i l. Date ; p u b l i c c l a s s Tarih { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { t. TarihYaz ( ) ; 10
13 1.5. Nesne Yaratma 11 9 s t a t i c v o i d TarihYaz ( ) { Date date = new Date ( ) ; System. out. p r i n t l n ( date. t o S t r i n g ( ) ) ; 14 / Mon Oct : 5 8 : 1 0 EET 2011 / 1.5 Nesne Yaratma Şimdi de static nitelemesini kullanmamak için Tarih sınıfından bir nesne yaratalım. Sınıfları incelerken bu konuyu daha ayrıntılı ele almıştık. Burada şu kadarını tekrar anımsayalım: Tarih sınıfı tanımlı iken, main() metodu içinde Tarih t = new Tarih ( ) ; deyimi Tarih sınıfının t adlı bir nesnesini yaratır. Bu nesne içindeki TarihYaz() metodunu çağırmak (nesne içindeki metoda erişmek) için t. TarihYaz ( ) ; deyimi yeterlidir. Aşağıdaki programı derleyip koşturunuz; önceki program ile aynı çıktıyı verdiğini göreceksiniz. Program import java. u t i l. Date ; p u b l i c c l a s s Tarih { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Tarih t = new Tarih ( ) ; 11
14 12 1. metotlar 9 t. TarihYaz ( ) ; v o i d TarihYaz ( ) { Date date = new Date ( ) ; 14 System. out. p r i n t l n ( date. t o S t r i n g ( ) ) ; / Mon Oct : 5 8 : 1 0 EET 2011 / 1.6 Hazır Metotlar Java çok zengin bir kütüphaneye sahiptir. Bu kütüphanede çok sayıda paket, her paket içinde sınıflar ve sınıflar içinde pek çok işi görecek metotlar vardır. Buna rağmen, kullanıcı gerekseme duyduğunda kendi paketlerini, sınıflarını ve metotlarını serbestçe yaratabilmektedir. Yukarıda yaptıklarımız, kullanıcının yaratabileceği sınıf ve metotların basit örnekleridir. Şimdiye kadar kullandığımız print(), println(), write(),... metotları java.io.printstream sınıfına aittirler. islowercase(), isuppercase(), isdigit(), IsLetter(), isspacechar(), iswhitespace, tostring(), tolowecase(), touppercasde(),... metotları Character sınıfına aittir. charat(int index), compareto(string str),concat(string str), getbytes(), getchars(int srcbegin, int srcend, char[] dst, int dstbegin), indexof(int ch), length(), substring(int beginindex, int endindex), tochararray(), tolowercase(), touppercase(), valueof(),... metotları String sınıfına aittir. İlerleyen bölümlerde Java kütüphanesindeki başka sınıf ve metotları kullanmayı öğreneceğiz. Bunlar hakkında daha ayrıntılı bilgiyi java web sitesinden her zaman öğrenebilirsiniz. Kütüphaneyi ezberle- 12
15 1.7. java.lang.math 13 meye kalkmayınız. Sizden beklenen, gerektiğinde o kütüphaneyi nasıl kullanacağınızı ve aradığınızı nasıl bulacağınızı öğrenmenizdir. 1.7 java.lang.math Matematik fonksionları her dilde çok önem taşır. Onlar olmadan program yazmak hemen hemen olanaksızdır. Java dili matematik metotlarını java.lang.math sınıfı içinde toplamıştır. Math sınıfı mühürlüdür (sealed). Dolayısıyla, ileride göreceğimiz gibi, Math sınıfının kalıtımı (inherited) olamaz. Math sınıfının bütün öğeleri static dir. O nedenle, Math sınıfının bir nesnesi (object) yaratılamaz. Böyle olduğu için, Math sınıfının metotlarını Math.Sqrt() biçiminde sınıf adıyla birlikte kullanacağız. Aşağıdaki program o metotlerı ve çağrılma yöntemlerini göstermektedir. Program import java. u t i l. Scanner ; p u b l i c c l a s s Demo { 7 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; d o u b l e x, y ; S t r i n g sx, sy ; 12 System. out. p r i n t l n ( " Lütfen b i r i n c i s a y ı y ı g i r i n i z : " ) ; // sx = scan. nextline ( ) ; x = scan. nextdouble ( ) ; System. out. p r i n t l n ( " Lütfen i k i n c i s a y ı y ı g i r i n i z : " ) ; 17 // sy = scan. nextline ( ) ; y = scan. nextdouble ( ) ; System. out. p r i n t l n ( ) ; 13
16 14 1. metotlar 22 System. out. p r i n t f ( "%n B a ş l ı c a Math M e t o t l a r ı : " ) ; System. out. p r i n t f ( "%n abs(% f ) = %f ", x, Math. abs ( x ) ) ; System. out. p r i n t f ( "%n c e i l i n g (% f ) = %f ", x, Math. c e i l ( x ) ) ; System. out. p r i n t f ( "%n exp(% f ) = %f ", x, Math. exp ( x ) ) ; System. out. p r i n t f ( "%n f l o o r (% f ) = %f ", x, Math. f l o o r ( x ) ) ; 27 System. out. p r i n t f ( "%n IEEERemainder(%f,% f ) = %f ", x, y, ( x % y ) ) ; System. out. p r i n t l n ( ) ; System. out. p r i n t f ( "%n l o g (% f ) = %f ", x, Math. l o g ( x ) ) ; System. out. p r i n t f ( "%n log10(% f ) = %f ", x, Math. log10 ( x ) ) ; 32 System. out. p r i n t f ( "%n max(% f ) = %f ", x, Math. max( x, y ) ) ; System. out. p r i n t f ( "%n min(%f,% f ) = {2 ", x, y, Math. min ( x, y ) ) ; System. out. p r i n t f ( "%n pow(% f ) = %f ", x, Math. pow( x, y ) ) ; System. out. p r i n t f ( "%n round(% f ) = %d", x, Math. round ( x ) ) ; // System. out. p r i n t f ("%n s i g n (% f ) = %f ", x, Math. s i g n ( x ) ) ; 37 System. out. p r i n t f ( "%n s q r t (% f ) = %f ", x, Math. s q r t ( x ) ) ; System. out. p r i n t l n ( ) ; System. out. p r i n t f ( "%n cos(% f ) = %f ", x, Math. cos ( x ) ) ; System. out. p r i n t f ( "%n s i n (% f ) = %f ", x, Math. s i n ( x ) ) ; System. out. p r i n t f ( "%n tan(% f ) = %f ", x, Math. tan ( x ) ) ; 42 System. out. p r i n t f ( "%n cotan(% f ) = %f ", x, 1 / Math. tan ( x ) ) ; System. out. p r i n t l n ( ) ; System. out. p r i n t f ( "%n acos(% f ) = %f ", x, Math. acos ( x ) ) ; 14
17 1.7. java.lang.math 15 System. out. p r i n t f ( "%n a s i n (% f ) = %f ", x, Math. a s i n ( x ) ) ; System. out. p r i n t f ( "%n atan(% f ) = %f ", x, Math. atan ( x ) ) ; 47 System. out. p r i n t f ( "%n atan2(%f,% f ) = {2 ", x, y, Math. atan2 ( x, y ) ) ; System. out. p r i n t l n ( ) ; System. out. p r i n t f ( "%n cosh(% f ) = %f ", x, Math. cosh ( x ) ) ; System. out. p r i n t f ( "%n s i n h(% f ) = %f ", x, Math. s i n h ( x ) ) ; System. out. p r i n t f ( "%n tanh(% f ) = %f ", x, Math. tanh ( x ) ) ; 52 System. out. p r i n t f ( "%n cotanh(% f ) = %f ", x, 1 / Math. tanh ( x ) ) ; 1 / Lütfen b i r i n c i s a y ı y ı g i r i n i z : 1234,56789 Lütfen i k i n c i s a y ı y ı g i r i n i z : 9876, B a ş l ı c a Math M e t o t l a r ı : abs (1234,567890) = 1234, c e i l i n g (1234,567890) = 1235, exp (1234,567890) = I n f i n i t y f l o o r (1234,567890) = 1234, IEEERemainder (1234,567890,9876,543210) = 1234, l o g (1234,567890) = 7, log10 (1234,567890) = 3, max(1234,567890) = 9876, min (1234,567890,9876,543210) = {2 pow (1234,567890) = I n f i n i t y round (1234,567890) = s q r t (1234,567890) = 35, cos (1234,567890) = 0, s i n (1234,567890) = 0, tan (1234,567890) = 0,
18 16 1. metotlar 26 cotan (1234,567890) = 12, acos (1234,567890) = NaN a s i n (1234,567890) = NaN atan (1234,567890) = 1, atan2 (1234,567890,9876,543210) = {2 cosh (1234,567890) = I n f i n i t y s i n h (1234,567890) = I n f i n i t y tanh (1234,567890) = 1, cotanh (1234,567890) = 1, / Özyineli (Recursive) Metotlar Özyineli (recursive) metot kendi kendisini çağıran metottur. Bilgisayar programcılığında zor problemleri çözen önemli bir algoritmadır. Onunla ilgili bir örnek vereceğiz Fibonacci Sayıları Fibonacci sayıları doğanın çoğalma formülü diye bilinir. Biyolojide, tıpta ve mühendislikte önemli uygulamaları vardır. Fibonacci sayılarının ilk 10 tanesini hesaplayan aşağıdaki program özyineli bir metot kullanmaktadır. Program import java. u t i l. Date ; p u b l i c c l a s s Demo { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 8 f o r ( i n t i = 1 ; i < 1 1 ; i ++) System. out. p r i n t ( Fibonacci ( i ) + " " ) ; System. out. p r i n t l n ( ) ; 16
19 1.7. java.lang.math s t a t i c i n t Fibonacci ( i n t n ) { i f ( n < 2) r e t u r n n ; e l s e r e t u r n Fibonacci ( n 1) + Fibonacci ( n 2) ; 18 1 / / Özyineli metotlar, istenen işi yapmak için kendi kendilerini defalarca çağırırlar. Bunu daha iyi algılamak için, yukarıdaki Fibonacci() metodunun kaç kez çağrıldığını saydıralım. Bunun için bir sayaç değişkeni tanımlayıp her adımda 1 artmasını sağlamak yetecektir. Bunu yapan aşağıdaki program aynı zamanda Fibonacci sayılarının ne kadar hızla büyüdüğünü göstermektedir. Bunu canlıların çoğalmasına, örneğin bakterilerin çoğalmasına uygularsak Fibonacci sayılarının neden önemli olduğunu anlarız. Program c l a s s F i b o n a c c i S a y ı l a r ı { s t a t i c l o n g sayaç = 0 ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 7 f o r ( i n t i = 1 ; i <= 4 5 ; i ++) System. out. p r i n t f ( " Fibonacci(%d ) = %d a t ı d ı %n", i, Fibonacci ( i ), sayaç ) ; i ç i n %d adım 12 s t a t i c i n t Fibonacci ( i n t n ) { sayaç++; i f ( n < 2) r e t u r n n ; e l s e 17 r e t u r n Fibonacci ( n 1) + Fibonacci ( n 2) ; 17
20 18 1. metotlar 1 / Fibonacci ( n ) Değeri Kaç Adım Fibonacci ( 1 ) = 1 [ 1 adım a t ı d ı ] Fibonacci ( 2 ) = 1 [ 4 adım a t ı d ı ] Fibonacci ( 3 ) = 2 [ 9 adım a t ı d ı ] 6 Fibonacci ( 4 ) = 3 [ 1 8 adım a t ı d ı ] Fibonacci ( 5 ) = 5 [ 3 3 adım a t ı d ı ] Fibonacci ( 1 0 ) = 55 [ adım a t ı d ı ] Fibonacci ( 1 5 ) = 610 [ adım a t ı d ı ] Fibonacci ( 2 0 ) = [ adım a t ı d ı ] 11 Fibonacci ( 2 5 ) = [ adım a t ı d ı ] Fibonacci ( 3 0 ) = [ adım a t ı d ı ] Fibonacci ( 3 5 ) = [ adım a t ı d ı ] Fibonacci ( 4 0 ) = [ adım a t ı d ı ] Fibonacci ( 4 5 ) = [ adım a t ı d ı ] 16 / Çarpınım (faktöriyel) hesabını da recursive (özyineli) metot ile yapabiliriz. Aşağıdaki iki metodu inceleyiniz. Birincisi n! sayısını döngü ile, ikincisi özyineli yöntemle buluyor. Program c l a s s F a c t o r i a l s { 4 s t a t i c i n t n = 1 0 ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System. out. p r i n t l n ( çarpınıma ( n ) ) ; System. out. p r i n t l n ( çarpınımb ( n ) ) ; 9 s t a t i c l o n g çarpınıma ( i n t m) { l o n g çarpınım = m; f o r ( i n t i = m; i >= 1 ; i ) { 14 çarpınım = i ; 18
21 1.8. Kullanıcının Tanımladığı Metotlar 19 r e t u r n çarpınım / n ; 19 s t a t i c l o n g çarpınımb ( i n t n ) { i f ( n <= 1) r e t u r n 1 ; e l s e r e t u r n n çarpınımb ( n 1) ; 24 / / 1.8 Kullanıcının Tanımladığı Metotlar Java kütüphanesinde programcının gerekseme duyacağı çok sayıda metot vardır. Onları kullanabileceğiniz gibi, gerektiğinde kendi metodunuzu tanımlayabilirsiniz. Program 1.8.1, while döngüleri içinde break ve continue deyimlerinin kullanılışını gösteriyor. bereak deyimi, döngüyü orada keser ve program akışını döngüden çıkarır ve döngüden sonra gelen ilk deyime yollar. continue deyimi ise, o anki döngü adımını keser, döngü içinde kalan program akışını sonraki döngü adımına yollar. Program p u b l i c c l a s s WhileDöngüsü { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 6 System. out. p r i n t l n ( WhileContinue ( ) ) ; WhileBreak ( ) ; dowhile ( ) ; 19
22 20 1. metotlar 11 s t a t i c i n t WhileContinue ( ) { i n t a = 0 ; w h i l e ( a < 10) { a++; i f ( a == 5) { 16 a++; c o n t i n u e ; r e t u r n a ; 21 s t a t i c v o i d WhileBreak ( ) { i n t a = 0 ; w h i l e ( a < 10) { 26 a++; i f ( a == 5) b r eak ; 31 System. out. p r i n t l n ( a ) ; 36 s t a t i c v o i d dowhile ( ) { i n t a = 0 ; w h i l e ( a < 40) { i f ( a == 27) b r eak ; a++; 41 System. out. p r i n t l n ( a ) ; 1 / / Kullanıcının Tanımladığı Metotlar Kendi metodunuzu yaratma- 20
23 1.8. Kullanıcının Tanımladığı Metotlar 21 nız gerekebilir. ToplamBul.java Program c l a s s Demo { 5 s t a t i c d o u b l e a = ; s t a t i c d o u b l e b = ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { System. out. p r i n t l n ( Topla ( a, b ) ) ; s t a t i c d o u b l e Topla ( d o u b l e x, d o u b l e y ) { r e t u r n x + y ; / / Program yazarken, derleyici kütüphanesindeki hazır fonksiyonları kullanmaya alışmak iyi bir alışkanlıktır. Onlar program yazmayı kolaylaştırdıkları gibi, daima doğru işlem yaptıklarına da güvenebiliriz. Ama zorunluluk olduğunda kendi fonksiyonlarımızı yaratabiliriz. Program?? kesirli sayıların karekökünü hesaplar. Hesaplama yöntemi Newton-Raphson yaklaşık değer bulma yöntemidir. Bu yöntem, f(x) fonksiyonunun yaklaşık değerini bulmak için x n+1 = x n f(x n) f (x n ) (1.1) yaklaşımını (approximation) kullanır. Eğer a sayısının kare kökünü tam bulamıyorsak, a sayısına istenildiği kadar yakın bir x 2 sayısı bulmaya çalışacağız. Bu ise y = f(x) = x 2 a nın istenildiği kadar küçük 21
24 22 1. metotlar kılınmasıyla sağlanır. (1.1) yöntemini f(x) fonksiyonuna uygularsak, şu ardışma formülü elde edilir: x n+1 = (x n + a x n )/2 (1.2) Program 1.8.3, (1.2) ardışma formülünü kullanarak, verilen bir sayının yaklaşık karekökünü bulmaktadır. Program \ index { karekök 2 import java. u t i l. Scanner ; c l a s s Demo { 7 s t a t i c d o u b l e d ; // s a y ı n ı n karekökünü bulur p u b l i c s t a t i c d o u b l e karekök ( d o u b l e num) { i f (0 == num) { 12 r e t u r n 0 ; // S ı f ı r a bölmeyi ö n l e r d o u b l e r = (num / 2) + 1 ; // İ l k tahmin d o u b l e r1 = ( r + (num / r ) ) / 2 ; w h i l e ( r1 < r ) { 17 r = r1 ; r1 = ( r + (num / r ) ) / 2 ; r e t u r n r ; 22 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( "Karekökü a l ı n a c a k s a y ı y ı g i r i n i z : " ) ; d = scan. nextdouble ( ) ; 27 System. out. p r i n t l n ( karekök ( d ) ) ; 22
25 1.8. Kullanıcının Tanımladığı Metotlar 23 1 / Karekökü a l ı n a c a k s a y ı y ı g i r i n i z : 12345, / Program 1.8.4, aynı işi, java kütüphanesinden yararlanarak çok daha kolay ve güvenli biçimde yapmaktadır. Program import java. u t i l. Scanner ; 5 c l a s s SquareRoot { s t a t i c d o u b l e d ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; 10 System. out. p r i n t l n ( "Karekökü a l ı n a c a k s a y ı y ı g i r i n i z : " ) ; d = scan. nextdouble ( ) ; 15 System. out. p r i n t l n (Math. s q r t ( d ) ) ; / Karekökü a l ı n a c a k s a y ı y ı g i r i n i z : 12345, / Görüldüğü gibi, yalnızca 13.satırdaki deyim, verilen sayının karekökünü bulmaya yeterlidir. Bu örnekten görüldüğü gibi, Java, çok zengin bir matematik kütüphanesine sahiptir. Matematiksel işlemler için, programcının kendi fonksiyonunu yazmasına hemen hemen hiç gerek kalmaz. Matematik te olduğu gibi, başka alanlarda da Java kütüphanesine her zaman başvurabilir ve çoğunlukla, istediğimiz işi yapan bir metot bulabiliriz. Tabii, programcı, her zaman kendi metotlarını tanımlamakta serbesttir. 23
26 24 1. metotlar Bazen Java kütüphanesindeki hazır bir fonksiyonu kullanarak kendi fonksiyonumuzu tanımlayabiliriz. Program 1.8.5, Math.log() fonksiyonunu kullanarak, verilen sayının logaritmasını bulan logbul() adlı bir fonksiyon tanımlamaktadır. Program import java. u t i l. Scanner ; c l a s s Demo { s t a t i c d o u b l e d ; s t a t i c d o u b l e logbul ( d o u b l e y ) { 10 r e t u r n Math. l o g ( y ) ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; 15 System. out. p r i n t l n ( " Logaritması a l ı n a c a k s a y ı y ı g i r i n i z : " ) ; d = scan. nextdouble ( ) ; System. out. p r i n t l n ( logbul ( d ) ) ; 1 / Logaritması a l ı n a c a k s a y ı y ı g i r i n i z : 12345, / Tabii, aynı işi, yeni fonksiyon tanımlamaya gerek kalmadan çok daha kısa ve kolay yoldan yapabiliriz. Program öyle yapmaktadır. Program
27 1.9. Uygulamalar 25 5 import java. u t i l. Scanner ; c l a s s LogaritmaBul2 { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; 10 System. out. p r i n t l n ( " Logaritması a l ı n a c a k s a y ı y ı g i r i n i z : " ) ; System. out. p r i n t l n (Math. l o g ( scan. nextdouble ( ) ) ) ; / 2 Logaritması a l ı n a c a k s a y ı y ı g i r i n i z : 12345, / 1.9 Uygulamalar Matematik derslerinde verilen sayıların en küçük ortak katını (ekok) ve en büyük ortak bölenini (ebob) bulmak ilköğretimin önemli konularındandır. Şimdi bunları Java ile nasıl kolay bulacağımızı görelim. Program import java. u t i l. Scanner ; 5 c l a s s EKOK { s t a t i c i n t n, m, ekok ; / a ve b ekok u bulunacak s a y ı l a r / s t a t i c i n t ekokbul ( i n t a, i n t b ) { 10 i n t n ; f o r ( n = 1 ; ; n++) { i f ( n % a == 0 && n % b == 0) r e t u r n n ; 25
28 26 1. metotlar 15 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( " ekok u bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : " ) ; 20 n = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( " ekok u bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : " ) ; m = scan. n e x t I n t ( ) ; 25 System. out. p r i n t l n ( ekokbul (n, m) ) ; / ekok u bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : ekok u bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : / Program içindeki ekokbul(int a, int b) metodunun nasıl çalıştığını anlamak kolaydır. Döngü n sayacına 1 den başlayarak artan tamsayı değerler atıyor ve her birini hem a hem b ile tam bölünüp bölünemediğine bakıyor. En sonunda ekok sayısına ulaşıyor. Program 1.9.2, aynı işi özyineli (recursive) yöntemle yapmaktadır: Program import java. u t i l. Scanner ; c l a s s EKOK2 { s t a t i c i n t n, m, ekok ; 8 / a ve b ekok u bulunacak s a y ı l a r / 26
29 1.9. Uygulamalar 27 s t a t i c i n t ekokbul ( i n t a, i n t b ) { i n t prod ; i f ( b % a == 0) r e t u r n b ; 13 e l s e { prod = a b ; w h i l e ( a!= b ) { i f ( a > b ) a = a b ; 18 e l s e b = b a ; r e t u r n ekokbul (b, prod / a ) ; 23 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( " ekok u bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : " ) ; 28 n = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( " ekok u bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : " ) ; m = scan. n e x t I n t ( ) ; 33 System. out. p r i n t l n ( ekokbul (n, m) ) ; / ekok u bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : 9876 ekok u bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : / Aşağıdaki program iki tamsayının en büyük ortak bölenini (EBOB) bulur. Program
30 28 1. metotlar 3 8 import java. u t i l. Scanner ; c l a s s Demo { s t a t i c i n t n, m, ekok ; / a ve b ebob i bulunacak s a y ı l a r / s t a t i c i n t ebobbul ( i n t a, i n t b ) { i n t kalan ; 13 w h i l e ( b!= 0) { kalan = a % b ; a = b ; b = kalan ; 18 r e t u r n a ; p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { 23 Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : " ) ; n = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : " ) ; 28 m = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( ebobbul (n, m) ) ; / ebob i bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : ebob i bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : / 28
31 1.9. Uygulamalar 29 Program 1.9.4, ebob bulmak için recursive metot kullanmaktadır. Program import java. u t i l. Scanner ; 8 c l a s s Demo { s t a t i c i n t n, m, ekok ; / a ve b ebob i bulunacak s a y ı l a r / s t a t i c i n t ebobbul ( i n t a, i n t b ) { i n t c ; w h i l e ( a % b!= 0) { 13 c = a % b ; a = b ; b = c ; r e t u r n b ; 18 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : " ) ; 23 n = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : " ) ; m = scan. n e x t I n t ( ) ; 28 System. out. p r i n t l n ( ebobbul (n, m) ) ; ebob i bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : 123 ebob i bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z :
32 30 1. metotlar İkiden çok sayının ebob ni bulmak için, ebobbul() metodunu ve birleşme (associative) özeliğini kullanmak yetecektir. Örneğin, üç sayının ebob ni bulmak için, ebob3() metodunu şöyle tanımlayabiliriz: ebob3(a, b, c) = ebobbul(ebobbul(a, b), c) Program import java. u t i l. Scanner ; c l a s s Demo { s t a t i c i n t n, m, r, ebob ; / a ve b ebob i bulunacak s a y ı l a r / 10 s t a t i c i n t ebobbul ( i n t a, i n t b ) { i n t c ; w h i l e ( a % b!= 0) { c = a % b ; a = b ; 15 b = c ; r e t u r n b ; 20 p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; 25 System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : " ) ; n = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : " ) ; m = scan. n e x t I n t ( ) ; System. out. p r i n t l n ( "ebob i bulunacak s a y ı l a r ı n üçüncüsünü g i r i n i z : " ) ; 30 r = scan. n e x t I n t ( ) ; 30
33 1.10. Alıştırmalar 31 System. out. p r i n t l n ( ebobbul ( ebobbul (n, m), r ) ) ; 1 / ebob i bulunacak s a y ı l a r ı n i l k i n i g i r i n i z : 123 ebob i bulunacak s a y ı l a r ı n i k i n c i s i n i g i r i n i z : ebob i bulunacak s a y ı l a r ı n üçüncüsünü g i r i n i z : / 1.10 Alıştırmalar String den Tamsayıya Dönüşüm "123" biçiminde String olarak yazılan sayıları 123 sayı değerine dönüştürmek için Integer.parseInt(aString) metodu kullanılır. Program , String olarak girilen sayıları gerçek sayısal değerlerine dönüştürüyor. Program import java. u t i l. Scanner ; 6 c l a s s StringToInt { p u b l i c s t a t i c v o i d main ( S t r i n g [ ] a r g s ) { Scanner scan = new Scanner ( System. i n ) ; System. out. p r i n t l n ( " Bir tamsayı g i r i n i z : " ) ; 11 S t r i n g a S t r i n g = scan. nextline ( ) ; i n t aint = I n t e g e r. p a r s e I n t ( a S t r i n g ) ; 31
34 32 1. metotlar 16 System. out. p r i n t l n ( aint ) ; / Bir tamsayı g i r i n i z : / 32
35 Kaynakça 33
36 Dizin özyinel, 16 özyineli, 16, 26 çarpınım, 18 ebob, 27 ekok, 25, 26 en küçük ortak kat, 26 while döngüsü, 19 yerel değişken, 7 yerel olmayan değişken, 7 factorials, 18 Fibonacci, 16 fonksiyon, 2 hazır fonksiyo, 1 Java kütüphanesi, 1 logarirma, 24 matematik fonksiyonları, 13 Math, 13 metot, 1, 3 nesne yaratma, 11 Newton-Raphson, 21 parametre, 1, 7 parseint, 31 recursive, 16, 26 static, 2 static öğe, 2 StringToInt(), 31 tanımlanan fonksiyonlar, 19 34
public static int Toplam int x, int y
static Kavramı 1 İçinde bulunduğu sınıftan nesne oluşturulmadan veya hiç bir nesneye referans olmadan kullanılabilen üyeler static olarak nitelendirilir. Metotlar ve alanlar static olarak tanımlanabilir.
DetaylıSunum İçeriği. Programlamaya Giriş 22.03.2011
Programlamaya Giriş Nesne Tabanlı Programlamaya Giriş ve FONKSİYONLAR Sunum İçeriği Nesne Tabanlı Programlama Kavramı Fonksiyon tanımlama ve kullanma Formal Parametre nedir? Gerçel Parametre nedir? Fonksiyon
DetaylıKodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.
GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.
Detaylı// hataları işaret eden referans
System sınıfı java.lang.object java.lang.system public final class System extends Object System sınıfı, java.lang paketi içindedir. Platformdan bağımsız olarak sistem düzeyindeki eylemleri belirleyen dingin
DetaylıKodlanacak programlama dilinin kaynaklarından faydalanılarak kod yazımı yapılır.
GİRİŞ Algoritması tasarlanmış (metin olarak yazılmış, sözde kodlarla kodlanmış veya akış diyagramı çizilmiş) bir problemi/işlemi, bilgisayar programlama dillerinden birisiyle kodlamak son derece kolaydır.
DetaylıProgramın Akışının Denetimi. Bir arada yürütülmesi istenen deyimleri içeren bir yapıdır. Söz dizimi şöyledir:
Programın Akışının Denetimi Bir program komutların yazıldığı sırada akar. Ama çoğunlukla, bu akışı yönlendirmek gerekir. Bu iş için denetim yapılarını kullanırız. Bunlar iki gruba ayrılabilir: Yönlendiriciler
DetaylıBinary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama
Bölüm 39 Binary Search (Yarılama) 39.1 Dizide Bir Öğe Arama İkil aramayı (yarılama yöntemi) sıralı veri kümelerinde sık sık kullanırız. Örneğin, sözlükte bir sözcüğü ararken, sözlüğün bütün sayfalarını
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Fonksiyon Tanımlamak Java da Döngüler Java da Şart İfadeleri Uygulamalar Java da Fonksiyon Tanımlamak JAVA DA FONKSİYON TANIMLAMAK 4 Fonksiyonlar;
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
DİZİLER Bellekte ard arda yer alan aynı türden nesneler kümesine dizi (array) denilir. Bir dizi içerisindeki bütün elemanlara aynı isimle ulaşılır. Yani dizideki bütün elemanların isimleri ortaktır. Elemanlar
DetaylıBölüm 10 Statik ve Anlık Öğeler
Bölüm 10 Statik ve Anlık Öğeler Statik ve Anlık Öğeler Statik öğeler, bir sınıfta static sıfatıyla nitelendirilen değişkenler ve metotlardır. Bunlara sınıf değişkenleri de denilir. static nitelemesi almayan
DetaylıToplama işlemi için bir ikili operatör olan artı işareti aynı zamanda tekli operatör olarak da kullanılabilir.
www.csharpturk.net Türkiye nin C# Okulu Yazar Yunus Özen Eposta yunus@yunus.gen.tr Tarih 08.04.2006 Web http://www.yunusgen.tr ARİTMETİK OPERATÖRLER VE KULLANIM ŞEKİLLERİ Bilgisayarlar yapıları gereği,
DetaylıFonksiyonlar (Altprogram)
Fonksiyonlar (Altprogram) C Programlama Dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya gelmesi ile oluşur.
DetaylıBelirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.
Bölüm 09 Döngüler for döngüsü do döngüsü while döngüsü foreach döngüsü Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar
DetaylıDers 8: Metotlar. barisgokce.com
Ders 8: Metotlar Hazırlayan : Öğr. Grv.. Barış GÖKÇE Đletişim im : www.barisgokce barisgokce.com Metotlar C# içerisinde bir veya birden fazla kod bulunduran kod bloklarıdır. Bir nesnenin veya sınıfın programı
DetaylıDeğişkenler. Geçerli değişken isimleri : baslamazamani, ad_soyad, x5 Geçersiz değişken isimleri : 3x, while
Değişkenler Değişkenler bir bilginin bellekteki konumunu temsil eden sembolik isimlerdir. Bilgisayarda hemen hemen tüm işlemler bellekte yapılır. Program çalıştırıldığında değişken ve bu değişkenin türüne
DetaylıBMT 101 Algoritma ve Programlama I 11. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 11. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Fonksiyonlar Yük. Müh. Köksal Gündoğdu 2 C++ Hazır Fonksiyonlar Yük. Müh. Köksal Gündoğdu 3 C++ Hazır Fonksiyonlar 1. Matematiksel
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Genel Bilgiler Ders konuları 1. Programlamaya Giriş 2. Program Denetimi ve Operatörler 3. Nesnelerin
DetaylıC Programlama Dilininin Basit Yapıları
Bölüm 2 C Programlama Dilininin Basit Yapıları İçindekiler 2.1 Sabitler ve Değişkenler......................... 13 2.2 Açıklamalar (Expresions)........................ 14 2.3 İfadeler (Statements) ve İfade
Detaylı2 ALGORİTMA VE AKIŞ DİYAGRAMLARI
İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ
DetaylıJAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ
JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ Java programlama dili, Java SUN bilgisayar şirketi tarafından 1991 yılında geliştiril Program bloklar halinde yazılır ve bloklar { } ile oluşturulur. Komutlar aynı satıra
DetaylıFonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {
Fonksiyonlar Kendi içinde bağımsız olarak çalışabilen ve belli bir işlevi yerine getiren program modülleridir. C programları bu modüllerden (fonksiyonlar) oluşurlar. Fonksiyonların yazılmasındaki temel
DetaylıMantıksal İşlemler. 7.1 true, false, nil
7 Mantıksal İşlemler 7.1 true, false, nil Doğru ya da Yanlış değer alan önermelere (ifadelere) mantıksal (logic) deyimler ya da boolean deyimler denilir ([5]). Bir çok dilde mantıksal işlemler true ve
DetaylıBir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan
2 C Programlarının Yapısı Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan yapıtaşlarıdır. Bir C programının,
DetaylıBTP 207 İNTERNET PROGRAMCILIĞI I. Ders 9
BTP 207 İNTERNET PROGRAMCILIĞI I Ders 9 Dizi Değişkenler (Array) 2 Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1, eleman2,, elemann)
DetaylıNESNEYE YÖNELİK PROGRAMLAMA
NESNEYE YÖNELİK PROGRAMLAMA Metotlar Şu ana kadar yaptığımız örneklerde hep önceden hazırlanmış ReadLine(), WriteLine() vb. gibi metotları kullandık. Artık kendi metotlarımızı yapmanın zamanı geldi. Bilmem
DetaylıLambda İfadeleri (Lambda Expressions)
Lambda İfadeleri (Lambda Expressions) Lambda İfadeleri, değişkenlere değer atamak için kullanılan sadeleştirilmiş anonim (isimsiz) fonksiyonlardır. Bu fonksiyonlar matematikteki ve bilgisayar bilimlerindeki
DetaylıDÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.
DÖNGÜLER Amaçlar: 1. ÇEVRİM OLUŞTURMA (DÖNGÜ) 2. WHILE DEYİMİ 3. DO... WHILE DEYİMİ 4. FOR DEYİMİ Örnek 4-1 Programı yazın ve çalıştırın. Örnek 4-2 Programı yazın ve çalıştırın. Örnek 4-3 Aşağıdaki kodu
DetaylıProgramlama Dilleri 3
Akış Konrol Mekanizmaları 1 Koşul İfadeleri Programlar içersinde bazı durumlarda programın akışının değişmesi ya da farklı işlemlerin yapılması gerekebilir. Bazen de seçimlerin yapılması ya da belirli
DetaylıMetotlar. d e f metot_adı [ ( [ arg [= d e f a u l t ] ]... [, arg [, &expr ] ] ) ] deyim ( l e r ) end
4 Metotlar Hemen her programlama dilinde var olan metot kavramı Ruby için de aynıdır. Bazı kaynaklarda metot terimi yerine fonksiyon terimi kullanılır. Bu kitapta iki terimi eşanlamlı kullanacağız. Ruby
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
METOTLAR Nesneye yönelik programlama dillerinde genellikle fonksiyonlar metot olarak isimlendirilirler. Metot ve fonksiyon olarak ifade edilecek kavramlar aynı anlamda kullanılacaktır. Her çalışan C# programı
Detaylı2 PYTHON A GIRIŞ 13 PyCharm İle Python Projesi Oluşturma 15 Projenin Çalıştırılması 18 İlk Python Programımız 19 Açıklama Satırları 21
İÇİNDEKİLER VII İÇİNDEKİLER 1 PYTHON 1 Neden Python? 2 Python Sürümleri 2 Python Kurulumu 3 Windows Üzerinde Python 3 Ubuntu Üzerinde Python 6 Komut Satırında Python Çalıştırma 6 Windows komut istemi üzerinde
Detaylıenum bolumler{elektronik, insaat, bilgisayar, makine, gida};
BÖLÜM 12: Giriş C programlama dilinde programcı kendi veri tipini tanımlayabilir. enum Deyimi (Enumeration Constants) Bu tip, değişkenin alabileceği değerlerin belli (sabit) olduğu durumlarda programı
DetaylıALGORİTMA VE PROGRAMLAMA II
ALGORİTMA VE PROGRAMLAMA II Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1102 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Yapılar ve Birlikler enum Deyimi
DetaylıAlgoritma ve Programlama: Karar Yapıları ve Döngüler
Algoritma ve Programlama: Karar Yapıları ve Döngüler Bir algoritma, herhangi bir programlama dili (C, C++, Pascal, Visual Basic, Java gibi) ile kodlandığında program haline gelir. Algoritmada yer alan
DetaylıKlavyeden Basit Giriş/Çıkış İşlemleri
Klavyeden Basit Giriş/Çıkış İşlemleri Klavyeden veri girilmesi, girilen verilere çeşitli işlemler uygulandıktan sonra ekrana yazdırılması ya da herhangi bir yazıcıdan çıktı alınması gibi işlemlerdir. Javada
Detaylı5.HAFTA. Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi
5.HAFTA Sınıf ve Nesne Kavramı, Metot Oluşturma, Kurucu Metot, this Deyimi Sınıf Kavramı: Sınıf (class) soyut bir veri tipidir. Nesne (object) onun somutlaşan bir cismidir. Java da sınıf (class) kavramını
DetaylıGörsel Programlama DERS 03. Görsel Programlama - Ders03/ 1
Görsel Programlama DERS 03 Görsel Programlama - Ders03/ 1 Java Dili, Veri Tipleri ve Operatörleri İlkel(primitive) Veri Tipleri İLKEL TİP boolean byte short int long float double char void BOYUTU 1 bit
DetaylıProgramlama Dillerinde Kullanılan Veri Tipleri
Programlama Dillerinde Kullanılan Veri Tipleri Taban/Biçim Basic Paskal C/C++/C#/Java 10 (Decimal ) - - - 16 (Hexadecimal) &hsayı veya &Hsayı $sayı 0xsayı veya 0Xsayı Üstel eüs veya Eüs eüs veya Eüs eüs
DetaylıAkış Konrol Mekanizmaları
Akış Konrol Mekanizmaları Koşul İfadeleri C# dilinde koşula bağlı olarak işlemler gerçekleştirmek için iki farklı deyim kullanılabilir: if deyimi switch deyimi If Deyimi if (Koşul) else Koşul_doğru_ise_yapılacaklar
DetaylıÇoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say
İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C ve Fonksiyonlar Fonksiyon Tanımı 8. BÖLÜM 3 Fonksiyonlar
DetaylıWEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu
WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu
DetaylıBIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ
2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 7 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Java Programlama Dili ve Algoritmadan Kodlamaya Geçiş) Yrd. Doç. Dr. İbrahim Küçükkoç
DetaylıDr. Fatih AY Tel:
Bilgisayar Programlama Ders 5 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyonlar Fonksiyonlar Büyük programlar geliştirmenin en iyi yolu, onu orijinal programdan daha kolay
Detaylıwhile(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO
while(), do-while(), for() Döngü (loop) : Bir koşul sağlandığı (true olduğu) sürece bir veya birden çok komutun tekrarlanması işlemidir. Java Döngüler (loops) While() do-while() for ( ) while ( koşul )
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java da Kapsülleme (Erişim Denetleyiciler) Java da Sınıf Oluşturmak Java da Nesne Oluşturmak Java da Constructor Kavramı Java da This Kavramı Java da Constructor
Detaylıfor döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) { ifadeler; }
for döngüsü for (başlangıç değeri; şart; artım) ifade; for (başlangıç değeri; şart; artım) ifadeler; Başlangıç değeri; koşul içinde tanımladığımız değişkene ilk değerin atanmasını sağlar. Koşul: Döngünün
DetaylıPROGRAMLAMAYA GİRİŞ FONKSİYONLAR
PROGRAMLAMAYA GİRİŞ FONKSİYONLAR Fonksiyonlar C programlama dili fonksiyon olarak adlandırılan alt programların birleştirilmesi kavramına dayanır. Bir C programı bir ya da daha çok fonksiyonun bir araya
DetaylıNESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2
NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 2 JAVA DA PROGRAM DENETİMİ VE OPERATÖRLER Java programlama dilinde temel tipleri ve nesneleri yönlendirmek ve değiştirmek için operatörler kullanılır. Atamalar sağ taraftaki
Detaylıİç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
İçerik Java da İşleçler, Kontrol Akış ve Döngü Deyimleri Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu ders: Java da işleçler ( operators ) Java da kontrol-akış
DetaylıJava da İşleçler, Ders #3 (4 Kasım 2009)
Java da İşleçler, Kontrol Akış ve Döngü Deyimleri BS-515 Nesneye Yönelik Programlama Ders #3 (4 Kasım 2009) İçerikç Geçen ders: Nesne ve Sınıf Kavramları Nesne ve Sınıf ın Java da gerçekleştirilmesi Bu
DetaylıBİLG Dr. Mustafa T. Babagil 1
BİLG214 20.10.2009 Dr. Mustafa T. Babagil 1 Yapısal bilgi türlerinin tanımlanması. (C++ daki struct yapısı. ) Daha önce öğrenmiş olduğumuz bilgi tipleri char, int ve float v.b. değişkenler ile dizi (array)
DetaylıC#(Sharp) Programlama Dili
Değişkenler C#(Sharp) Programlama Dili Program yazarken her zaman sabit verilerle çalışmayız, çoğu zaman programımızda bir verinin kullanıcının davranışına göre değişmesi gerekir. Kullanıcıdan bir metin
DetaylıAkış Kontrol Mekanizmaları
Akış Kontrol Mekanizmaları 1 Akış Kontrol Mekanizmaları if else switch for döngüsü for döngüsünün çalışma prensibi for döngüsüyle ilgili örnekler for döngüsüyle ilgili kurallar while döngüsü while döngüsünün
DetaylıInternet Programming II
Internet Programming II Elbistan Meslek Yüksek Okulu 2016 2017 Bahar Yarıyılı Öğr.Gör. Murat KEÇECĠOĞLU 1 Fonksiyonlar Değişken Kontrol Fonksiyonları isset() Fonksiyonu Parametre olarak aldığı değişken
DetaylıÖ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.
Ö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. PROGRAM Soru1 PRINT Merhaba Dünya! ; 2. Klavyeden girilen negatif bir sayıyı
DetaylıT I M U R K A R A Ç AY - H AY D A R E Ş C A L C U L U S S E Ç K I N YAY I N C I L I K A N K A R A
T I M U R K A R A Ç AY - H AY D A R E Ş C A L C U L U S S E Ç K I N YAY I N C I L I K A N K A R A Contents Rasyonel Fonksiyonlar 5 Bibliography 35 Inde 39 Rasyonel Fonksiyonlar Polinomlar Yetmez! Bölme
DetaylıC# Programlama Dili. İlk programımız Tür dönüşümü Yorum ekleme Operatörler
C# Programlama Dili İlk programımız Tür dönüşümü Yorum ekleme Operatörler 1 İlk Programımız Bu program konsol ekranına Merhaba dünya! yazıp kapanır. Programı geçen derste anlatıldığı gibi derleyin, sonra
DetaylıALGORİTMA VE PROGRAMLAMA I
ALGORİTMA VE PROGRAMLAMA I Yrd. Doç. Dr. Deniz KILINÇ deniz.kilinc@cbu.edu.tr YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Giriş Fonksiyonlara Genel Bakış C
DetaylıJavascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.
Javascript Html sayfalarının içine yazılarak, sayfayı daha etkileşimli hale getirir. click olayları, uyarı mesajları gibi hareketlerle sayfayı daha dinamik hale getirir. Javascript olmadan yazılan html
DetaylıELN1001 BİLGİSAYAR PROGRAMLAMA I
ELN1001 BİLGİSAYAR PROGRAMLAMA I DEPOLAMA SINIFLARI DEĞİŞKEN MENZİLLERİ YİNELEMELİ FONKSİYONLAR Depolama Sınıfları Tanıtıcılar için şu ana kadar görülmüş olan özellikler: Ad Tip Boyut Değer Bunlara ilave
DetaylıJAVADA METOTLAR. BMÜ-111 Algoritma ve Programlama. Yrd. Doç. Dr. İlhan AYDIN
JAVADA METOTLAR BMÜ-111 Algoritma ve Programlama Yrd. Doç. Dr. İlhan AYDIN 1 Açık problem Amacımız sırasıyla 1 den 10, 10 dan 20 ye ve 35 ten 45 e kadarki sayıların toplamını bulmak olsun. Ne yapmak gerekir?
DetaylıProgram Çözümleme. Aşağıdaki örneklerde printf() ve scanf() fonksiyonlarının işlevleri gösterilmektedir. Liste 1.1. Çözümleme:
1 Program Çözümleme Bir bilgisayar programını çözümleme eylemini, onun her satırının (deyiminin) yaptığı işi açıklamak olarak anlayacağız. Bazı kaynaklarda bu eyleme analiz der. Daha ileri düzeyde "trace"
DetaylıBMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI
BİR BOYUTLU DİZİLER Amaçlar: 1. 1 BOYUTLU DİZİLERİ TANIMLAMAK 2. 1 BOYUTLU DİZİ UYGULAMALARI YAPMAK Örnek 5-1 Aşağıdaki program öğrenci notlarını bularak en iyi notu hesaplar. Harf notu şu şekilde hesaplanır:
DetaylıBİL-141 Bilgisayar Programlama I (Java)
1 BİL-141 Bilgisayar Programlama I (Java) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Bilgisayar Programlamaya Giriş, A. Yazıcı, E. Doğdu,
DetaylıBMT 101 Algoritma ve Programlama I 8. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1
BMT 101 Algoritma ve Programlama I 8. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 C++ Döngü Deyimleri Yük. Müh. Köksal GÜNDOĞDU 2 Döngüler Programın belirli bölümlerinin defalarca işlenmesi söz konusu olabilir.
Detaylı1 JAVASCRIPT NEDİR? 1
İÇİNDEKİLER IX İÇİNDEKİLER 1 JAVASCRIPT NEDİR? 1 2 TEST ORTAMINI TANIMAK (FİREFOX VE FİREBUG) 5 Firefox 6 Firebug 8 CSS Sekmesi 10 DOM Sekmesi 11 Net ve Çerezler Sekmeleri 11 Script Sekmesi 11 Konsol Sekmesi
DetaylıJava da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )
Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism ) BBS-515 Nesneye Yönelik Programlama Ders #9 (16 Aralık 2009) Geçen ders: Java Applet lerde bileşen yerleştirme türleri ( applet layouts
DetaylıImports ifadesi, program satırlarının en üstüne (Public Class satırından önce) yazılmalıdır. Aksi halde hata mesajı ile karşılaşılır.
HAZIR FONKSİYONLAR IMPORTS ifadesi Imports, Microsoft firmasının Visual Studio ile Netframe altında tanımladığı ortak kütüphaneleri kullanabilme ifadesidir. Bu ifade sayesinde Visual Studio içindeki programlama
DetaylıMatematikte Bilgisayar Uygulamaları. Hafta 2 Dr. Murat GEZER
Matematikte Bilgisayar Uygulamaları Hafta 2 Dr. Murat GEZER Temel Bilgiler Temel Bilgiler Temel Bilgiler Boş beyaz sayfaya Notebook adı verilmekte Bütün işlemleri bu sayfa üzerinde yapılmaktadır Örneğin
DetaylıÜNİTE İÇİNDEKİLER HEDEFLER MATEMATİKSEL METOTLAR. NESNE TABANLI PROGRAMLAMA I Okt. Mustafa AKBUĞA. (Math Sınıfı ve Metotları)
MATEMATİKSEL METOTLAR (Math Sınıfı ve Metotları) İÇİNDEKİLER Matemetiksel Metotlar Üstel Metotlar Logaritmik Metotlar Trigonometrik Metotlar Ters Trigonometrik Metotlar Hiperbolik Metotlar Yuvarlatma Metotları
DetaylıB02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri
B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri 49 Yrd. Doç. Dr. Yakup EMÜL, Bilgisayar Programlama Ders Notları (B02) Çalıştırılabilir C ifadeleri ya bir işlem gerçekleştirir ( girilen verilerin toplanması
DetaylıNesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.
Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır. Örneğin; bir öğrenci, sıra, çember, bir buton birer nesnedir. Bir
DetaylıBM102 BİLGİSAYAR PROGRAMLAMA II LABORATUVAR UYGULAMALARI. 3Hafta
Ön bilgi: Özyineli fonksiyon tanımlanabilmeli. Dizilerin fonksiyon parametresi veya geri dönüş değeri olarak kullanımı bilinmeli. 1. Klavyeden girilen sayı n olmak üzere [1..n] aralığındaki sayıların toplamı
DetaylıC# Yazım Kuralları ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II 1 FEHİM KÖYLÜ
C# Yazım Kuralları 1 İçindekiler C# Yazım Kuralları Veritipleri Değişkenler Operatörler Sınıflar Nesneler, Özellik, Metot ve Olay Bileşenler 2 C# yazım kuralları Deyimlerde büyük küçük harf yazıma uyulmalı
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
Konsol Uygulaması Oluşturma Konsol uygulaması oluşturmak için program açıldıktan sonra Create: Project ya da New Project seçeneği tıklanabilir. New Project penceresini açmak için farklı yollar da vardır.
DetaylıDöngüler. 1.1 while döngüsü
1 Döngüler Belirli bir iş birden çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü yapıları o deyim(ler)i istenildiği kadar tekrarlar. C dilinde bu işi yapan üç ayrı yapı vardır: 1. while
DetaylıDöngüler. Tablo 15.1: Ruby de Başlıca Döngü Yapıları
15 Döngüler Belirli bir iş birden çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü yapıları o deyim(ler)i istenildiği kadar tekrarlar. Ruby de bu işi yapan çok sayıda döngü yapıları vardır.
DetaylıÖzyineleme (recursion)
2 Özyineleme (recursion) Kendi kendini çağıran fonksiyonlara özyineli (recursive) fonksiyon denilir. Özyineli fonksiyonlar, ileri bilgisayar uygulamalarında çok kullanılır. Bilgisayar biliminin zor sayılan
DetaylıHSancak Nesne Tabanlı Programlama I Ders Notları
SABİTLER VE DEĞİŞKENLER Değişken, verilerin bellekte geçici olarak kaydedilmesini ve gerektiğinde kullanılmasını sağlayan değerdir. Nesne tabanlı programlama dilinde değişken kullanımı diğer programlama
DetaylıDÖNGÜLER (LOOPS) while(), do-while(), for(), foreach()
(LOOPS) while(), do-while(), for(), foreach() Döngüler (loops) while do-while for foreach while ( koşul ) işlemler; do işlemler; while (koşul ); for (başlangıç ; koşul ; arttırma) işlemler; foreach ( tip
DetaylıBİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ
BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C DİLİNDE FONKSİYONLAR C DİLİNDE FONKSİYONLAR C programlama dili fonksiyon olarak adlandırılan alt programların
DetaylıBilgisayar Programlama MATLAB
What is a computer??? Bilgisayar Programlama MATLAB Prof. Dr. İrfan KAYMAZ What Konular is a computer??? MATLAB ortamının tanıtımı Matlab sistemi (ara yüzey tanıtımı) a) Geliştirme ortamı b) Komut penceresi
DetaylıDÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN
DÖNGÜLER BMÜ-111 ALGORİTMA VE PROGRAMLAMA-I YRD. DOÇ. DR. İLHAN AYDIN GİRİŞ Ekrana «Merhaba Java» şeklinde bir mesajı 100 defa yazmak istediğinizi düşünelim. Aşağıdaki komut satırını 100 kez yazmak sıkıcı
DetaylıARALARINDA ASAL SAYILAR
ARALARINDA ASAL SAYILAR Bir ( 1 ) sayısı her sayının bölenidir. İki tamsayının birden başka ortak böleni yoksa böyle iki tamsayıya aralarında asal tam sayılar denir. İki tamsayı asal sayı olmak zorunda
DetaylıDr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net
Bilgisayar Programlama Ders 6 Dr. Fatih AY Tel: 0 388 225 22 55 fatihay@fatihay.net www.fatihay.net Fonksiyon Prototipleri Fonksiyon Prototipleri Derleyici, fonksiyonların ilk hallerini (prototiplerini)
DetaylıBİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ
BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Emel ARSLAN earslan@istanbul.edu.tr C Program Akış Kontrol Yapıları Kontrol Komutları Normal şartlarda C dilinde bir programın çalışması, komutların
DetaylıBil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi
Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Editör Disk 1)Kaynak kodlar editör aracılığı ile oluşturulur. (.c) Kaynak dosya Önişleyici Disk 2)Önişleyici kodlar içerisindeki ilk işleme işini
DetaylıMTK467 Nesneye Yönelik Programlama. Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/
MTK467 Nesneye Yönelik Programlama Hafta 4 - Döngüler Zümra Kavafoğlu https://zumrakavafoglu.github.io/ while döngüsü while(koşul){ } döngü ifadeleri Koşul boolean değerli olmalıdır. Koşulun değeri true
DetaylıMühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma
Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma C Programlama Dr. Serkan DİŞLİTAŞ 7.1. Metot Kavramı Programlama dillerinde bütün kod satırlarının
DetaylıUzaktan Eğitim Uygulama ve Araştırma Merkezi
JAVA PROGRAMLAMA Öğr. Gör. Utku SOBUTAY İÇERİK 2 Java Veri Tipleri ve Özelilkleri Değişken Tanımlama Kuralları Değişken Veri Tipi Değiştirme (Type Casting) Örnek Kodlar Java Veri Tipleri ve Özelilkleri
DetaylıBİL1001 Bilgisayar Bilimlerine Giriş 1
DEÜ Bilgisayar Bilimleri Bölümü BİL1001 Bilgisayar Bilimlerine Giriş 1 Öğr. Gör. Dr. Alper VAHAPLAR 2017 Yaz Okulu Tekrarlı Yapılar Algoritmanın belirli bir kısmının, belirli kere ya da belirli durumlar
DetaylıYZM 2105 Nesneye Yönelik Programlama
YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 7 Abstract (Soyut Sınıflar) Bu bölümde;
DetaylıJ A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R
J A V A D A P R O G R A M D E N E T İ M İ V E O P E R A T Ö R L E R Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! Temel Tiplerde Atama Atama işlemi, temel (primitive) tipler için
DetaylıProgramlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1
Programlama Dilleri C Dili Programlama Dilleri-ders08/ 1 Yapısal Veri Tipleri C dili genişletilebilen bir dildir. Var olan veri tipleri kullanılarak yeni veri tipleri tanımlanıp kullanılabilir. Programlama
DetaylıBİLGİSAYAR PROGRAMLAMA MATLAB
BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Bu hafta? 1. Matlab ve Programlama Ortamı 2. Matlab Komut Penceresi 3. Matlab de değişken tanımlama 4.
DetaylıEMT2226 Nesne Yönelimli Programlamaya Giriş
2017-2018 Bahar Yarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü EMT2226 Nesne Yönelimli Programlamaya Giriş 2 Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr Email: ikucukkoc@balikesir.edu.tr
DetaylıÖğr. Gör. Serkan AKSU http://www.serkanaksu.net. http://www.serkanaksu.net/ 1
Öğr. Gör. Serkan AKSU http://www.serkanaksu.net http://www.serkanaksu.net/ 1 JavaScript JavaScript Nedir? Nestcape firması tarafından C dilinden esinlenerek yazılmış, Netscape Navigator 2.0 ile birlikte
DetaylıSınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD
Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Yıliçi Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 13.04.2015 Süre : 60 dak. 1. Hangisi gerçek sayı değişmezi değildir?
Detaylı