Sosyal Eklentiler

Kimler Sitede

Åžu anda 11 ziyaretçi Ã§evrimiçi

Bağış

Bu siteyi beğendiyseniz bağış yapabilirsiniz.


Visual Basic Matematik Fonksiyonları
Makale - Visual Basic
Yazar ugokhan   
Çarşamba, 29 Ağustos 2007 11:06

Matematiksel işlemleri ve hesaplamaları kolayca yapmaya yarayan fonksiyonlardır.

ABS

Sayısal bir değerin mutlak değerini alır. Kısaca mutlak değer, negatif bir değeri pozitife çevirmektir.

 Abs(45)=45
Abs(-45)=45
Abs(0)=0

SIN ve COS

Trigonometrideki Sinus ve Cosinus işlemidir. Sonuç Radyan cinsindendir. Sonucu Derece cinsinden bulmak için fonksiyona konulacak açı değerini pi/180 ile çarpmak gerekir. Visual Basic'te Pi diye hazır bir tanımlama olmadığından bunu siz tanımlamalısınız. Programın "General Declarations" bölümünde Const ile tanımlamanız yararlı olur.

Const pi=3.14159265 

Sin(30)=-0,98803
Cos(30)=0,154251
Sin(30*pi/180)=0,5

ATN

Trigonometrideki Arctanjant işlemidir. Sonuç Radyan cinsindendir. Tanjant işlemi için özel bir fonksiyon yoktur. Sin/Cos olarak kullanılabilir. Sonucu Derece cinsinden bulabilmek için 180/pi ile çarpmak gerekir.

 Atn(1)=0,785398
Atn(1)*4=3,14159265  'Pi Sayısını Verir.'
Atn(1)*180/pi ifadesi 45 deÄŸerini verir. Tan(45)=1'dir.

EXP

Matematikteki e sabitinin üssel kuvvetini verir.

 Exp(1)=2.71828182
HiperbolikSinus=(Exp(x)-Exp(-1*x))/2

FIX

Ondalık bir sayısal değerin virgülden sonraki kısmını görmezden gelir. Sadece tam kısmını alır.

 Fix(3,45)=3
Fix(9,99)=9
Fix(173,51)=173
Fix(-65,34)=-65

INT

Ondalık bir sayısal değeri kendisinden önce gelen ilk tamsayıya çevirir. Aşağı yuvarlama işlemini yapar.

Int(99.2)=99
Int(99.8)=99
Int(-9.4)=-10

HEX

Sayısal bir ifadenin hexadecimal (16'lık taban) değerini bulur.

Hex(5)=5
Hex(10)=A
Hex(459)=1CB

OCT

Sayısal bir ifadenin oktadecimal (8'lik taban) değerini bulur.

Oct(5)=5
Oct(10)=12
Oct(459)=713

RND

Rastgele sayı türetmek için kullanılır. Türetilen sayı [0 - 1) aralığındadır. (Dikkat: sıfır dahil ama 1 dahil değil) Rnd fonksiyonunu çeşitli işlemlere sokarak istenilen aralıkta sayı türetilebilir. Türetilen sayılar ondalıklıdır. Rnd fonksiyonu her seferinde farklı değerler üretsin diye Randomize Timer ifadesi ile birlikte kullanılır. Yoksa hep aynı rastgele sayıyı verecektir.

Rnd ifadesi, "0 dahil ama 1 dahil değil.. arasındaki herhangi bir sayı".
Rnd * 10 ifadesi, "0 dahil ama 10 dahil değil.. arasındaki herhangi bir sayı".

10 ile 20 dahil ve arasındaki tam sayıları türetmek için şöyle bir metod uygulanabilir :

 Randomize Timer
 
(Rnd*11) = '0 ile 10.99999 arası sayılar (sınırlar dahil)'
Fix(Rnd*11) = '0 ile 10 arası tam sayılar (sınırlar dahil)'
Fix(Rnd*11)+10 = '10 ile 20 arası tam sayılar (sınırlar dahil)'
 
'Genel Formül : A ile B sayıları dahil ve arasındaki tam sayılar'
Fix(Rnd*(B-A+1))+A

ROUND

Ondalıklı bir ifadeyi en yakın tamsayıya yuvarlar. İki parametresi vardır.
< Ondalık Sayı > , < Ondalık Basamak Sayısı >

Round(22/7)=3 ' İkinci parametre yazılmazsa sıfır olarak kabul edilir.'
Round(22/7,0)=3
Round(22/7,1)=3.1
Round(22/7,5)=3.14286

SQR

Bir sayının karekökünü hesaplar.

Sqr(9)=3
Sqr(121)=11

 

Yorumlar  

 
0 #2 2011-01-09 12:54
yukarıdaki fonksiyonları kullanmak için herhangi bir class eklemenize gerek yok. aynen görüldüğü şekilde projenizin her yerinde rahatlıkla kullanabilirsin iz.

Sizin bahsettiğiniz şey kullanıcı tanımlı fonksiyonlar olabilir. mesela tanjant ile ilgili hazır bir fonksiyon olmadığı için bir class içerisine

Function Tan(x As Double) As Double
Tan = Sin(x) / Cos(x)
End Function

şeklinde bir fonksiyon tanımlanabilir. Bunun gibi sık kullanılacak fonksiyonları içeren bir matematik class'ını siz de yapabilirsiniz. Yoksa sayfadaki konu anlatımında açıkladığım fonksiyonlar standart fonksiyonlardır ve her yerde kullanılabilir.
Alıntı
 
 
0 #1 2011-01-09 11:30
iyi günler.trigonometrik fonksiyonları kullanabilmek için herhangi bir class eklemek gerekiyormu.üstteki kodu yazdım calısmadı.yardımcı olursanız sevinirim .kolay gelsin.
Alıntı
 

Yorum ekle

TCK'ya aykırı, yasadışı ve genel ahlaka aykırı yazılar ile konu dışında yazılar, istekler, spam ve reklam amaçlı mesajlar yazılması YASAKTIR. Bu tür yazılar görüldüğü anda tarafımdan silinecektir. Herhangi bir uygunsuzluğun olduğunu düşündüğünüz yazılar için lütfen bana eposta yoluyla haber veriniz.


Güvenlik kodu
Yenile