Upload
others
View
25
Download
0
Embed Size (px)
Citation preview
ÜNİTE
6
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ı•Rasgele Sayı üretim metotları
HED
EFLER •Bu üniteyi çalıştıktan sonra;
• System.Math içinde yer alan hazır metotları tanıyacak,
•Üstel, Logaritmik ve trigometrik işlemler için hazır metotları ve hesaplanan sonuç değerler için yuvarlatma mettotlarını kullanabilecek,
• İşlemler içerisinde kullanılmak üzere Rasgele sayılar üretebileceksiniz.
NESNE TABANLI
PROGRAMLAMA –I
Okt. Mustafa AKBUĞA
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 2
GİRİŞ
Visual C# programlama dilinde basit matematiksel (Çarpma, Bölme, Çıkarma,
Toplama vb.) işlemler genelde operatörler yardımıyla yapılmaktadır. Dört işlemin
dışındaki ileri matematik işlemler (Üstel, Logaritmik, Trigometrik işlemler vb.) ise
System. Math Sınıfı içerisinde yer alan Metotlar kullanılarak yapılır.
Bu bölümde, Math Sınıfı içerisinde yer alan ve matematiksel işlemlerde
sıkça kullanılan metotlar anlatılacaktır.
MATEMATİKSEL(Math) METOTLAR
System. Math sınıfı içerisinde tanımlanan metotları kullanarak bir sayının
karesi, karekökü, üssü, e tabanına göre logaritması gibi birçok metametiksel
işlemler yapılabilmektedir.
Visaul C# programlama dilinde yer alan ve matematiksel hesaplamalar için
kullanılan metotlar genel olarak; Üstel, Logaritmik, Trigometrik, Ters Trigometrik,
Hiperbolik, Yuvarlatma ve Diğer metotlar olmak üzere 7 ayrı guruba ayrılarak
incelenebilir.
Üstel Metotlar:
Pow(sayı, üst) : Üs işlemleri için kullanılan bir metottur. İki parametre alır. Birinci
parametre üstü alınacak sayıyı, ikinci parametre ise üssü ifade eder.
Aşağıdaki örnek Uygulama_1’de bu metodun programlar içerisinde nasıl
kullanıldığı gösterilmiştir.
Örnek Uygulama_1: Bu uygulamada yarıçapı girilen bir dairenin alanı, üstel
metotlar kullanılarak hesaplanıp ekranda gösterilsin.
Pow motodu, Tüm
sayılar için kullanılabilir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 3
Şekil 6.1. Örnek Uygulama_1 ‘e ait kod yapısının gösterimi
Şekil 6.2. Örnek Uygulama_1 için klavyeden dairenin yarıçapı değerine 1 sayısının girilmesi
sonucu oluşan ekran çıktısı
Örnek uygulama_1 için yazılan Şekil 6,1’daki Visual C# kodunu, (Ctrl+F5) ile
çalıştırın. Program çalıştığında Şekil 6,2’de görüldüğü üzere “Dairenin yarıçapını
giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı değeri girmenizi
isteyecektir. Bu değer 1 sayı olarak girildiğinde; Kod içinde açıklama satırında
gösterildiği gibi alan hesabı yapılır ve hesaplanan sonuç şekil 6,2 de gösterildiği gibi
ekrana yazdırılır.
Exp(üst): Parametre olarak verilen değeri e’nin kuvveti olarak hesaplar.
Aşağıdaki örnek Uygulama_2’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_2: Bu uygulamada E değerinin kuvveti, üstel metotlar
kullanılarak hesaplanıp ekranda gösterilecektir.
Exp motodu, Logaritmik
işlemlerde kullanılan bir
metotdur.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 4
Şekil 6.3. Örnek Uygulama_2 ‘ye ait kod yapısının gösterimi
Şekil 6.4. Örnek Uygulama_2 için klavyeden E ‘nin kuvvetine 1 sayısının girilmesi sonucu
oluşan ekran çıktısı
Örnek uygulama_2 için yazılan şekil 6,3’daki Visual C# kodunu, (Ctrl+F5) ile
çalıştırın. Program çalıştığında şekil 6,4’de görüldüğü üzere “E kuvveti olacak sayiyi
giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı değeri girmenizi
isteyecektir. Bu değer 1 sayı olarak girildiğinde; Program içinde hesaplanan sonuç
şekil 6,4 de gösterildiği gibi ekrana yazdırılacaktır.
Sqrt(sayı): Parametre olan verilen sayının karakökünü hesaplar.
Aşağıdaki örnek Uygulama_3’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_3: Bu uygulamada Klavyeden girilen bir sayının karakökü, üstel
metotlar kullanılarak hesaplanıp ekranda gösterilecektir.
Sqrt motoduna
parametre olarak
verilen sayının reel ya
da tam sayı olmasının
bir önemi yoktur. Her
ikisinin de karakök
değerini hesaplayabilir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 5
Şekil 6.5. Örnek Uygulama_3’ e ait kod yapısının gösterimi
Şekil 6.6. Örnek Uygulama_3 için klavyeden 25 değerinin girilmesi sonucu oluşan ekran çıktısı
Şekil 6.7. Örnek Uygulama_1 için klavyeden 81.81 onlaıklı sayı değerinin girilmesi sonucu
oluşan ekran çıktısı
Örnek uygulama_3 için yazılan şekil 6,5’daki Visual C# kodunu, (Ctrl+F5) ile
çalıştırın. Program çalıştığında şekil 6,6’de görüldüğü üzere “karakökü alınacak
sayiyi giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı değeri
girmeniz istenecektir. Bu değer 25 tam sayısı girildiğinde; Kod içinde Sqrt()
metoduyla gerekli olan işlem yapılır ve işlem sonuç şekil 6,6 de gösterildiği gibi
ekrana yazdırılacaktır. Programı yeniden çalıştırın. Şekil 6,7’de görüldüğü üzere
“karakökü alınacak sayiyi giriniz:” şeklinde program yeniden bir mesaj vererek
klavyeden bir sayı değeri girmenizi isteyecektir. Bu değeri 81.81 şeklinde ondalıklı
bir sayı olarak girin; Bu durumda hesaplanan sonuç şekil 6,7 de gösterildiği gibi
ekrana yazdırılacaktır.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 6
Logaritmik Metotlar:
E: Matematikteki e sayısını ifade eder. Yaklaşık değeri “2.71”dir. Aşağıdaki
örnek Uygulama_2’de bu metodun programlar içerisinde nasıl kullanılabileceği
gösterilmiştir.
Örnek Uygulama_4: Bu uygulamada E fonksiyonunun sayısal değeri, logaritmik
metotlar kullanılarak hesaplanıp ekranda gösterilecektir.
Şekil 6.8. Örnek Uygulama_4 ‘e ait kod yapısının gösterimi
Şekil 6.9. Örnek Uygulama_4 için “E değerini” gösteren ekran çıktısı
Örnek uygulama_4 için yazılan Şekil 6,8’deki Visual C# kodunu, (Ctrl+F5) ile
çalıştırın. Şekil 6,9’de görüldüğü üzere “E sayısının değeri:2,7182818284590”
şeklinde program bir mesaj verilerek ekranda gösterilecektir.
Log(Sayi, Taban): Parametre olarak girilen double sayının ikinci parametrede
verilen tabana göre logaritmasini hesaplar.
Log(Sayi): E tabana göre logaritmayı hesaplar.
Log10 (Sayi): Sayının 10 tabanına göre logaritmasını hesaplar.
E değeri bir metot
değildir. Bu yüzden
parametre almaz.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 7
Aşağıdaki örnek Uygulama_5’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_5: Bu uygulamada Klavyeden logaritma tabanı ve logaritması
alınacak sayısal değerler girilerek, girilen değer üzerinde logaritmik hesap yapılarak
ekranda gösterilecektir.
Şekil 6.10. Örnek Uygulama_5 ‘e ait kod yapısının gösterimi
Şekil 6.11. Örnek Uygulama_5 için klavyeden 100 ve 10 değerlerinin girilmesi sonucu oluşan
ekran çıktısı
Örnek uygulama_5 için yazılan Şekil 6.10 ’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Program çalıştığında şekil 6.11’de görüldüğü üzere “Logaritması
alınacak sayiyi giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı
değeri girmenizi isteyecektir. Bu değer 100 tam sayısı ve “Logaritma tabanı olacak
sayiyi giriniz:” mesajına ise 10 tamsayı girildiğinde; 100 değerinin 10 tabanına göre
logaritması hesaplanarak sonuç değer şekil 6.11 de gösterildiği gibi ekrana
yazdırılacaktır.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 8
Trigonometrik Metotlar:
Sin(Açı): Trigometrik değerleri hesaplamak için kullanılır. Sin(x) Parametre olarak
verilen sayısal değerin sinüsün değerini bulur.
Cos(Açı): Parametre olarak verilen sayısal değerin Kosinüs değerini bulur.
Tan(Açı): Parametre olarak verilen sayısal değerin Tanjant değerini hesaplar.
Aşağıdaki örnek Uygulama_6’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_6: Bu uygulamada Klavyeden girilen derece türündeki bir
sayısal değer üzerinden Sin, Cos, Tan fonksiyon değerleri hesaplanarak ekranda
gösterilecektir.
Şekil 6.12. Örnek Uygulama_6 ‘ya ait kod yapısının gösterimi
Şekil 6.13. Örnek Uygulama_6 için klavyeden 30 değerinin girilmesi sonucu oluşan ekran çıktısı
Trigometrik metotlara
parametre olarak
klavyeden girilen
değerler, radyan olarak
alınır. Bu yüzden
dereceye çevrilmelidir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 9
Örnek uygulama_6 için yazılan şekil 6.12 ’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Program çalıştığında şekil 6.13’de görüldüğü üzere “Trigometrik değeri
hesaplanacak sayiyi giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı
değeri girmenizi isteyecektir. Bu değer 30 tam sayısı olarak girildiğinde ise bu
girilen değer kod içinde dereceye çevrilerek Sinüs, Cosünüs ve Tanjant fonksiyon
değerleri hesaplanır ve sonuç şekil 6.13 de gösterildiği gibi ekrana yazdırılır.
PI Sayısı: Matematikteki pi sayısını ifade eder. Özellikle sayısal değerlerin
dereceye çevrilmesinde, trigometrik fonksiyonlar ile birlikte kullanılmaktadır. Aşağıdaki örnek Uygulama_7’de bu metodun programlar içerisinde nasıl kullanılabileceği gösterilmiştir.
Örnek Uygulama_7: Bu uygulamada yarıçapı girilen bir dairenin alanı, PI sabit
sayısı kullanılarak hesaplanıp ekranda gösterilecektir.
Şekil 6.14. Örnek Uygulama_7’ ye ait kod yapısının gösterimi
PI değeri bir metot
değildir. Bu yüzden
parametre almaz.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 10
Şekil 6.15. Örnek Uygulama_7 için klavyeden 3 değerinin girilmesi sonucu oluşan ekran çıktısı
Örnek uygulama_7 için yazılan şekil 6.1’daki Visual C# kodunu, (Ctrl+F5) ile
çalıştırın. Program çalıştığında Şekil 6.15’de görüldüğü üzere “Dairenin yarıçapını
giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı değeri girmenizi
isteyecektir. Bu değer 3 sayı olarak girildiğinde; Kod içinde açıklama satırında
gösterilen alan hesabı yapılır ve hesaplanan sonuç şekil 6.15 de gösterildiği gibi
ekrana yazdırılır.
Ters Trigonometrik Metotlar:
ASin(Sayi): Trigometrik değerleri verilmiş sayısal ifadelerin açısal değerini
bulmak için kullanılır. Sayısal bir double türünde verilen bir değerin asünüs değerini
hesaplar.
ACos(Sayi): Sayısal bir double türünde verilen bir değerin aKosinüsünü hesaplar.
ATan(Sayi): Sayısal bir double türünde verilen bir değerin atanjant değerini hesaplamakta kullanılır.
Aşağıdaki örnek Uygulama_8’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_8: Bu uygulamada program içinde verilen sayisal değerler
kullanılarak Asin, Acos ve Atan fonksiyon değerleri hesaplanıp derece cinsinden
ekranda gösterilecektir.
Ters trigometrik
metotlar, trigometrik
metotların tersi işlem
yapmak için kullanılır.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 11
Şekil 6.16. Örnek Uygulama_8 ‘e ait kod yapısının gösterimi
Şekil 6.17. Örnek Uygulama_8 için oluşan ekran çıktısı
Örnek uygulama_8 için yazılan Şekil 6.16’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Kod içindeki değişken değerleri kullanılarak gerekli hesaplamalar
yapılır ve hesaplanan sonuç şekil 6.17’ de gösterildiği gibi ekrana yazdırılır.
Hiperbolik Metotlar:
Sinh(Açı): Kendisine verilen double bir değerin hiperbolik sünüs değerini bulmak
için kullanılır.
Cosh(Açı): Kendisine verilen double bir değerin hiperbolik Kosinüs değerini bulmak için kullanılır.
Tanh(Açı): Kendisine verilen double bir değerin hiperbolik tanjant değerini bulmak için kullanılır.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 12
Aşağıdaki örnek Uygulama_9’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_9: Bu uygulamada Klavyeden girilen derece türündeki bir
sayısal değer üzerinden Sinh, Cosh, Tanh fonksiyon değerleri hesaplanarak ekranda
gösterilecektir.
Şekil 6.18. Örnek Uygulama_9 ‘a ait kod yapısının gösterimi
Şekil 6.19. Örnek Uygulama_9 için klavyeden 30 değerinin girilmesi sonucu oluşan ekran
çıktısı
Örnek uygulama_9 için yazılan şekil 6.18 ’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Program çalıştığında şekil 6.19’de görüldüğü üzere “Trigometrik değeri
hesaplanacak sayiyi giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı
değeri girmenizi isteyecektir. Bu değer 30 tam sayısı olarak girildiğinde. Bu girilen
değer kod içinde dereceye çevrilerek hiperbolikSinüs, hiperbolikCosünüs ve
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 13
hiperbolikTanjant fonksiyon değerleri hesaplanarak, sonuç şekil 6.13 de gösterildiği
gibi ekrana yazdırılır.
Yuvarlatma Metotları
Round(Sayı1,Sayi2): Parametre olarak aldığı sayısal veride ondalık hassasiyeti
yaralayan bir metotdur. İlk parametresi uygulanacak olan sayıyı, İkinci bir
parametresi ise ondalıklı kısımdan gösterilecek olan rakam sayısını ifade eder.
Ondalık kısımdan geri kalan rakamlar ise yuvarlatılır. Aşağıdaki örnek
Uygulama_10’de bu metodun programlar içerisinde nasıl kullanılabileceği
gösterilmiştir.
Örnek Uygulama_10: Bu uygulamada Klavyeden girilen ondalıklı sayısal bir değer
Round metodu yardımıyla yeniden düzenlenerek ekranda gösterilecektir.
Ro
Şekil 6.20. Örnek Uygulama_10 ‘a ait kod yapısının gösterimi
und Metod
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 14
Şekil 6.21. Örnek Uygulama_10 için klavyeden 1.14023832107643 değerinin girilmesi
sonucu oluşan ekran çıktısı
Örnek uygulama_10 için yazılan şekil 6.21’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Program çalıştığında şekil 6.21’de görüldüğü üzere “Ondalıklı bir sayı
giriniz:” şeklinde program bir mesaj vererek klavyeden bir sayı değeri girmenizi
isteyecektir. Bu değer 1.140283210107643 gibi ondalık kısmı uzun bir sayı olarak
girildiğinde; girilen ondalıklı sayı Round metodu yardımıyla yeniden düzenlenir ve
düzenlenen sonuç şekil 6.21 de gösterildiği gibi ekrana yazdırılır.
Floor(Sayı): Parametre olarak verilen onladıklı sayının küçük tamsayıya
yuvarlatmak amacıyla kullanılır. Sayının “9.1” veya “9.9” olması önemli değildir, iki
sayıyıda 9 olarak yuvarlar. Eğer girilen sayı negatif ise “‐9.1” veya “‐9.99” her iki
sayıda “‐10” olarak yuvarlanır. Aşağıdaki örnek Uygulama_11’de bu metodun
programlar içerisinde nasıl kullanılabileceği gösterilmiştir.
Örnek Uygulama_11: Bu uygulamada Klavyeden girilen ondalıklı sayısal bir değer
floor metodu yardımıyla ondalıklı kısmı küçük tamsayıya yuvarlanarak ekranda
gösterilecektir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 15
Şekil 6.22. Örnek Uygulama_11 ‘e ait kod yapısının gösterimi
Şekil 6.23. Örnek Uygulama_11 için klavyeden ‐9.1 değerinin girilmesi sonucu oluşan ekran
çıktısı
Şekil 6.24. Örnek Uygulama_11 için klavyeden ‐9.99 değerinin girilmesi sonucu oluşan ekran
çıktısı
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 16
Şekil 6.25. Örnek Uygulama_11 için klavyeden 9.99 değerinin girilmesi sonucu oluşan ekran
çıktısı
Şekil 6.26. Örnek Uygulama_11 için klavyeden 9.1 değerinin girilmesi sonucu oluşan ekran
çıktısı
Örnek uygulama_11 için yazılan Şekil 6.22’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Programın çalışması sonucu “Ondalıklı bir sayı giriniz:” şeklinde bir
mesaj vererek klavyeden bir ondalıklı sayı değeri girmenizi isteyecektir. Şekil 6.23,
6.24, 6,25 ve 6.26 ’da gösterildiği gibi girildiğinde; girilen ondalıklı sayı floor
metodu yardımıyla küçük tamsayıya yuvarlanır ve düzenlenen sonuç değer girilen
şeklin hemen altında gösterilmektedir.
Ceiling(Sayı): Parametre olarak verilen onladıklı sayının büyük tamsayıya
yuvarlatmak amacıyla kullanılır. Floor metodunun tersi olacak şekilde çalışır.
Sayının “9.1” veya “9.9” olması önemli değildir, iki sayıyıda 10 olarak yuvarlar. Eğer
girilen sayı negatif ise “‐9.1” veya “‐9.99”’ ise “‐9” olarak yuvarlanır. Aşağıdaki
örnek Uygulama_12’de bu metodun programlar içerisinde nasıl kullanılabileceği
gösterilmiştir.
Örnek Uygulama_12: Bu uygulamada Klavyeden girilen ondalıklı sayısal bir değer
Ceiling metodu yardımıyla ondalıklı kısmı büyük tamsayıya yuvarlanarak ekranda
gösterilecektir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 17
Şekil 6.27. Örnek Uygulama_12 ‘e ait kod yapısının gösterimi
Şekil 6.28. Örnek Uygulama_12 için klavyeden ‐9.1 değerinin girilmesi sonucu oluşan ekran
çıktısı
Şekil 6.29. Örnek Uygulama_12 için klavyeden ‐9.99 değerinin girilmesi sonucu oluşan ekran
çıktısı
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 18
Şekil 6.30. Örnek Uygulama_12 için klavyeden 9.1 değerinin girilmesi sonucu oluşan ekran
çıktısı
Şekil 6.31. Örnek Uygulama_12 için klavyeden 9.99 değerinin girilmesi sonucu oluşan ekran
çıktısı
Örnek uygulama_12 için yazılan şekil 6.22’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Programın çalışması sonucu “Ondalıklı bir sayı giriniz:” şeklinde bir
mesaj vererek klavyeden bir ondalıklı sayı değeri girmenizi isteyecektir. Şekil 6.28,
6.29, 6,30 ve 6.31 ’de gösterildiği gibi girildiğinde; girilen ondalıklı sayı Ceiling
metodu yardımıyla büyük tamsayıya yuvarlanır ve düzenlenen sonuç değer girilen
şeklin hemen altında gösterilmektedir.
Diğer Metotlar:
Abs(Sayi):Parametre olarak sayısal türde verilen bir değerin tamsayı karşılığını
verir. Başka bir ifadeyle verilen sayının mutlak değerini bulur. Aşağıdaki örnek
Uygulama_13’de bu metodun programlar içerisinde nasıl kullanılabileceği
gösterilmiştir.
Örnek Uygulama_13: Bu uygulama kullanıcının klavyeden girdiği int türdeki bir
sayısal değerin Abs metoduyla mutlak değerini hesaplayarak ekranda göstersin.
Abs motodu, pozitif
sayılar için aynı değeri
negatif sayılar içinse
sayının pozitif karşılığını
geri döndürerek işlem
yapmaktadır.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 19
Şekil 6.32. Örnek Uygulama_13 ‘e ait kod yapısının gösterimi
Şekil 6.33. Örnek Uygulama_13 için klavyeden Erzurum string değerinin girilmesi sonucu
oluşan ekran çıktısı
Şekil 6.34. Örnek Uygulama_13 için klavyeden 33 değerinin girilmesi sonucu oluşan ekran
çıktısı
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 20
Şekil 6.35. Örnek Uygulama_13 için klavyeden ‐66 değerinin girilmesi sonucu oluşan ekran
çıktısı
Örnek uygulama_13 için yazılan şekil 6.32’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Programın çalışması sonucu “Mutlak değeri alınacak Sayıyı giriniz:”
şeklinde bir mesaj vererek klavyeden bir sayı değeri girmenizi ister. Şekil 6.33 ve
6.34 ’de gösterildiği gibi bir değer girildiğinde, girilen sayı değerinin mutlak değeri
alınır ve hesaplanan sonuç değer ise yine aynı ekranda gösterilir.
Sign(Sayı) : Bu metot kendisine verilen işaretli bir değerin, işaretinin eksi mi
yoksa artı mı ya da sıfırmı olduğunu tespit eder. Parametre olaran verilen sayı
negatif ise “‐1” ile pozitif ise “+1” ve sıfır ise “0” değerini döndürür. Aşağıdaki
örnek Uygulama_14’de bu metodun programlar içerisinde nasıl kullanılabileceği
gösterilmiştir.
Örnek Uygulama_14: Bu uygulama kullanıcının klavyeden girdiği int türdeki bir
sayısal değerin işaretini Sign metoduyla tespit ederek ekranda göstersin.
Şekil 6.36. Örnek Uygulama_14 ‘e ait kod yapısının gösterimi
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 21
Şekil 6.37. Örnek Uygulama_14 için klavyeden 0 değerinin girilmesi sonucu oluşan ekran
çıktısı
Şekil 6.38. Örnek Uygulama_14 için klavyeden ‐66 değerinin girilmesi sonucu oluşan ekran
çıktısı
Şekil 6.39. Örnek Uygulama_14 için klavyeden 33 değerinin girilmesi sonucu oluşan ekran
çıktısı
Örnek uygulama_14 için yazılan şekil 6.36’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Programın çalışması sonucu “İşaretli bir sayı giriniz:” şeklinde bir
mesaj vererek klavyeden bir sayı değeri girmenizi istenir. Şekil 6.37, 6.38, ve 6.39
’de gösterildiği gibi bir değer girildiğinde, girilen sayı değerinin işaretini tespit
ederek yine aynı ekranda gösterilir.
Max(Sayı1, Sayi2): Parametre olarak verilen aynı tipteki Sayı1 ve Sayı2
değerlerinden en büyük olanını bulur.
Min(Sayı1, Sayi2): Parametre olarak verilen aynı tipteki Sayı1 ve Sayı2
değerlerinden en küçük olanını bulur.
Aşağıdaki örnek Uygulama_15’de bu metodun programlar içerisinde nasıl
kullanılabileceği gösterilmiştir.
Örnek Uygulama_15: Bu uygulama kullanıcının klavyeden girdiği int türdeki iki
farklı sayısal değerden en büyük ve en küçük olanı tespit ederek ekranda göstersin.
Max ve Min
metotlarıyla birden
fazla sayınında büyük
ya da küçük olanı
bulunabilir. İki olarak
karşılaştırılarak bulunan
değer diğer metot için
ikinci sayı olarak
verilebilir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 22
Şekil 6.40. Örnek Uygulama_15’ e ait kod yapısının gösterimi
Şekil 6.41. Örnek Uygulama_15 için klavyeden ‐3 ve 4 değerlerini girilmesi sonucu oluşan
ekran çıktısı
Şekil 6.42. Örnek Uygulama_15 için klavyeden 66 ve 33 değerlerinin girilmesi sonucu oluşan
ekran çıktısı
Şekil 6.43. Örnek Uygulama_15 için klavyeden ‐3 ve 0 değerlerinin girilmesi sonucu oluşan
ekran çıktısı
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 23
Örnek uygulama_15 için yazılan şekil 6.36’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Programın çalışması sonucu “sayı1 giriniz:” ve “sayı2 giriniz:” şeklinde
bir mesaj vererek klavyeden iki sayı değeri girmenizi ister. Şekil 6.41, 6.42 ve 6.43
’de gösterildiği gibi bir değer girildiğinde, girilen sayı değerinden En büyük ve En
küçük olanlarını tespit edilerek ekranda gösterir.
Rasgele Sayı Üretim metotları:
Visual C# programlama dilinde, rastgele sayı üretmek için Random sınıfı
kullanılmaktadır. Random sınıfı kullanılarak rasgele tam sayı ya da ondalıklı sayı
üretmek mümkündür. Sayı üretmek için yeni bir random sınıfı tanımlanması
gereklidir. Random sınıfının sayı üretiminde kullanılan Next, NextDouble ve
NextBytes olmak üzere üç metotu bulunmaktadır. Next metodu; tam sayı,
NextDouble ondalıklı sayı üretmekte kullanılır ve NextBytes metodu ise Byte
türündeki bir dizi değişkenin tüm elemanlarını tek seferde, tam sayılar ile doldurmak
için kullanılır. Random sıfından türetilen nesnelerin iş görmesi, sınıfa ait metotlar ile
sağlanır. Aşağıdaki gösterildiği şekilde Random sınıfından RasgeleSayi adında bir
nesne türetilebilir.
Next() Metodu:
Next metodu ile rasgele tam sayı üretmek amacıyla kullanılır ve 3 farklı
şekilde kullanılır. Bunlar; Parametresiz, tek parametreli ve iki parametrelidir.
Parametresiz kullanımında int tipinde rastgele bir sayı üretilir. Tek parametreli
kullanımında, parametreli olarak metoda sayı gönderilir. Ve metotta 0 ile
gönderilen sayı arasında rastgele bir sayı üretir. Üretilen sayılara her zaman 0
dahildir fakat parametre olarak gönderilen sayı dahil değildir. İki parametreli
kullanımda ise metoda minimum değer ve maksimum değer olmak üzere 2 adet
sayı gönderilir. Metot minimum değerden maksimum değere kadar olan aralıkta
rasgele bir sayı üretecektir. Aşağıdaki gösterildiği şekilde programlar içerisinde
kullanılabilmektedir.
Random RastgeleSayi = new Random();
int uretilenSayi1 = RastgeleSayi.Next(); //Parametresiz kullanım int uretilenSayi2 = RastgeleSayi.Next(Sayi1); // Tek Parametreli kullanım int uretilenSayi3 = RastgeleSayi.Next(Sayi1, Sayi2); //İki parametreli kullanım
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 24
NextDouble () Metodu:
Uygulamalar için her zaman rasgele tamsayı üretmek yeterli gelmeyebilir.
Ondalıklı sayı üretmek gerekli olduğunda NextDouble metodu tercih edilmelidir.
Bu metot sayesinde “0 ile 1” arasında ondalıklı sayılar üretmek mümkündür.
Aşağıdaki gösterildiği şekilde programlar içerisinde kullanılır.
NextBytes () Metodu:
“Byte” tipinde tanımlanan dizi değişkenin tüm elamanlarını “0 ile 255”
arasında rasgele sayılarla doldurmak amacıyla kullanılır. Program içerisinde
aşağıda 10 elamanlı bir dizi ile nasıl kullanıldığı gösterilmektedir.
Aşağıdaki örnek Uygulama_16’da Rasgele sayı üretiminde kullanılan Random
sınıfına ait metodların tümünün programlar içerisinde nasıl kullanılabileceği
gösterilmiştir.
Örnek Uygulama_16: Bu uygulama kullanıcının klavyeden girdiği altsınır ve üst
sınır değerleri arasında Next, NextDouble ve NextBytes metodları yardımıyla
rasgele sayı değerleri üreterek ekranda göstersin.
int uretilenSayi = RastgeleSayi. NextDouble();
Byte[] byteDizi = new Byte[10]; Random RastgeleSayi = new Random(); RastgeleSayi. NextBytes(byteDizi);
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 25
Şekil 6.44. Örnek Uygulama_16’ya ait kod yapısının gösterimi
Şekil 6.45. Örnek Uygulama_16 için klavyeden 1 ve 50 değerlerinin girilmesi sonucu oluşan
ekran çıktısı
Örnek uygulama_16 için yazılan şekil 6.44’daki Visual C# kodunu, (Ctrl+F5)
ile çalıştırın. Programın çalışması sonucu “Rasgele üretilen sayının alt sınırını
giriniz:” ve “Rasgele üretilen sayının üst sınırını giriniz:” şeklinde bir mesaj vererek
klavyeden iki sayı değeri girmenizi ister. Şekil 6.45 ’de gösterildiği gibi değerler
girildiğinde, girilen sayı değeri Next, NextDouble ve NextByte metotlarıyla
hesaplanarak Şekil 6.45 deki gibi ekranda gösterilir.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 26
Özet
•Visaul C# programlama dilinde Math sınıfında yer alan ve matematiksel işlemler yapmayı kolaylaştıran birçok metot vardır. Bunlar;
•Üstel metotlar: Pow; Verilen sayının üssünü alır. Sqrt; Verilen bir sayının karekök değerini bulur. Exp; E sayısının üzeri olacak şeklinde hesaplar.
•Logaritmik metotlar: Log;Verilen bir sayının logoritmasını hesaplar. Log10;Verilen bir sayının 10 tabanından logoritmasını hesaplar.
•Trigometrik metotlar: Sin; Verilen Açının Sinüsünü bulur. Cos;Verilen Açının Cosinüsünü hesaplar. Tan;Verilen açının Tanjantını gönderir. PI;PI Sayısını Hesaplar.
•Ters Tirigometrik metotlar:ASin; Sinüsü verilen açıyı hesaplar. Acos ; Cosinüsü verilen açıyı hesaplar. Atan; Tanjantı verilen açıyı hesaplar.
•Hiperbolik Metotlar:Sinh; Verilen bir açının sinüs hiperbolik fonksiyonunu hesaplar. cosh; Verilen bir açının Cosinüs hiperbolik fonksiyonunu hesaplar.tanh; Verilen bir açının tanjant hiperbolik fonksiyonunu hesaplar.
•Yuvarlatma metotları: Floor;Verilen bir sayıdan küçük yada ona eşit en küçük tam sayıya yuvarlar. Ceiling;Verilen sayıdan büyük yada ona eşit en küçük tam sayıya yuvarlar.Round;Verilen sayıyı en yakın tam sayıya yuvarlar.
•Diğer Metotlar: Abs;Parametre olarak verilen sayının Mutlak değerini hesaplar. Sing;Verilen sayının işaretini gösterir. Max;Verilen iki sayıdan büyük olanını bulur. Min;Verilen iki sayıdan küçük olanını bulur.
•Visual C# programlama dilinde, rastgele sayı üretmek için Random sınıfı kullanılmaktadır. Random sınıfı kullanılarak rasgele tam sayı ya da ondalıklı sayı üretmek mümkündür. Sayı üretmek için yeni bir random sınıfını new anahtar kelimesiyle tanımlamak gerekir.
• Random sınıfının sayı üretiminde kullanılan Next, NextDouble ve NextBytes olmak üzere üç metotu bulunmaktadır. Next metodu; tam sayı üretmekte kullanılır. NextDouble ondalıklı sayı üretmekte kullanılır. NextBytes metodu ; Byte türündeki bir dizi değişkenin tüm elemanlarını tek seferde, tam sayılar ile doldurmak için kullanılır.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 27
DEĞERLENDİRME SORULARI
1. Aşağıdakilerden hangisi bir sayının karekökünü almak için kullanılan bir metottur?
a) Sqrt( )
b) Sin ( )
c) Cos( )
d) Atan( )
e) Sign( )
2. Hangisi bir sayının kuvvetini almak için kullanılan bir metottur?
a) Sqrt( )
b) Pow ( )
c) Cosh( )
d) Atan( )
e) Sign( )
3. Hangisi bir sayının logaritmasını hesaplamakta kullanılan bir metottur?
a) Min( )
b) Abs ( )
c) Log( )
d) Atan( )
e) Sign( )
4. Aşağıdakilerden hangisi trigonometrik işlemler için kullanılan bir metottur?
a) Sign( )
b) Pow( )
c) Sin( )
d) Acosh()
e) tanh()
5. Aşağıdakilerden hangisi ondalıklı bir sayıyı küçük bir tam sayiya yuvarlamak için
kullanılan bir metottur?
a) Round( )
b) Pow( )
c) Max( )
d) Min( )
e) Abs( )
Değerlendirme sorularını
sistemde ilgili ünite
başlığı altında yer alan
“bölüm sonu testi”
bölümünde etkileşimli
olarak cevaplayabilirsiniz.
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 28
6. Aşağıdakilerden hangisi ondalıklı bir sayıyı büyük bir tam sayiya yuvarlamak için
kullanılan bir metottur?
a) Round( )
b) Pow( )
c) Abs( )
d) Ceiling( )
e) Random()
7. Hangisi bir sayının mutlak değerini bulmak kullanılan bir metottur?
a) Sqrt( )
b) Pow ( )
c) Cosh( )
d) Abs( )
e) Sign( )
8. Hangisi iki sayıdan en büyük değerde olanını bulmak kullanılan bir metottur?
a) Sqrt( )
b) Max( )
c) Cosh( )
d) Abs( )
e) Min( )
9. Hangisi iki sayıdan en küçük değerde olanını bulmak kullanılan bir metottur?
a) Sqrt( )
b) Max( )
c) Cosh( )
d) Abs( )
e) Min( )
10. Aşağıdakilerden hangisi rasgele ondalıklı sayı üretmek için kullanılan bir
metottur?
a) Round( )
b) Pow( )
c) Next( )
d) Ceiling( )
e) NextDouble ( )
Cevap Anahtarı:1.A,2.B,3.C,4.C,5.A,6.D,7.D,8.B,9.E,10.E
Matematiksel Metotlar
Atatürk Üniversitesi Açıköğretim Fakültesi 29
YARARLANILAN KAYNAKLAR
AKBUĞA. Mustafa, (2011), Atatürk Üniversitesi, Uzaktan Eğitim Merkezi, Nesne Tabanlı
programa‐I Ders Notları
ALGAN, Sefer, (2010), Her Yönüyle C#, İstanbul: Pusula Yayıncılık, İstanbul.
AKTAŞ, Volkan, (2013), Her Yönüyle C# 5.0, KODLAB, İstanbul.
CLARK, Dan, (2013), Your visual blueprint for building.NET application, 2nd Edition, Hungry
Minds, New York.
SCHILDT, Herbert, (2002), The Complete Reference C#, çev. Duygu Arbatlı Yağcı, Alfa Basım
Yayım Dağıtım, İstanbul.
SHARP, John, (2002), Microsoft Visual C#.NET, çev. Mert Derman, Arkadaş Yayınevi,
Ankara.
YANIK, Memik, (2004), Microsoft Visual c#.NET, 1.Baskı, Seçkin Yayıncılık, Ankara.
AYRILMAZ, Emre(2008), C# 3.0 ile Programlama Temelleri, Bilge Adam Yayınları, İstanbul.