Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

DEĞİŞKENLER VE VERİTİPLERİ

Benzer bir sunumlar


... konulu sunumlar: "DEĞİŞKENLER VE VERİTİPLERİ"— Sunum transkripti:

1 DEĞİŞKENLER VE VERİTİPLERİ

2 DEĞİŞKEN NEDİR? DEĞİŞKENLER BİR BİLGİYİ GEÇİCİ OLARAK HAFIZADA TUTMAYA VE GEREKTİĞİNDE KULLANMAYA YARAR. ÖRNEĞİN BİR İSİM SORUYORSANIZ, BUNU GEREKTİĞİNDE KULLANABİLMEK İÇİN BİR DEĞİŞKENE ALMALISINIZ.

3 DEĞİŞKEN NEDİR? BİR DİLDE DEĞİŞKENLERİN KULLANIM VE TANIMLANMA ŞEKLİ O DİLDE PROGRAM YAPMAYI VE PROGRAMLARIN ANLAŞILIRLIĞINI ETKİLEYEN ÖNEMLİ FAKTÖRLERDEN BİRİDİR.

4 DEĞİŞKEN NEDİR? DEĞİŞKENLERİN EN İYİ KULLANILDIĞI DİL C İKEN EN KÖTÜ KULLANILDIĞI DİL GWBASIC’TİR. QBASIC’TE ÖNEMLİ GELİŞMELER SAĞLANMIŞ, VISUAL BASIC’TE DEĞİŞKEN YAPISI OLDUKÇA GELİŞTİRİLMİŞTİŞTİR.

5 DEĞİŞKEN TANIMLAMA DEĞİŞKENLER İÇİN ÖNEMLİ BİR DURUM, DEĞİŞKENLERİN KARIŞIKLIĞA MEYDAN VERMEMESİ İÇİN TANIMLANMASI MECBURİYETİ OLMASIDIR. DAHA ÖNCEKİ GWBASIC VE QBASIC’TE BU MECBURİYET YOKTUR VE DEĞİŞKENLERİN BENZERLİKLERİNDEN DOLAYI KARIŞTIRM ARİSKİ VARDIR.

6 DEĞİŞKEN TANIMLAMA VB’TE DEĞİŞKENLERİ KULLANMADAN ÖNCE TANIMLAMA MECBURİYETİ PROGRAMCININ SEÇİMİNE BIRAKILMIŞTIR. PROGRAMCI İSTERSE TOOLS\OPTIONS MENÜSÜNDEKİ EDITÖR SEKMESİNDE “REQUIRE VARIABLE DECLARATION” ONAY KUTUSUNU İŞARETLEYEREK DEĞİŞKEN TANIMLAMASINI MECBURİ YAPABİLİR.

7 DEĞİŞKEN TANIMLAMA DEĞİŞKEN TANIMLANMAZSA AŞAĞIDAKİ GİBİ BİR SORUN OLABİLİR İ=5 J=6 aratoplam=1000 geneltoplam= i*j+aratplam YUKARIDAKİ ÖRNEKTE VB BİR HATA VERMEYECEK VE SONUÇ 1030 YERİNE 30 OLACAKTIR.

8 DİKKAT!!! EĞER VB’DE DEĞİŞKENE BİR DEĞER ATANMAZSA DEĞİŞKENİN İÇERİĞİ “SIFIR” VEYA “ ” KABUL EDİLİR.

9 TANIMLAMA KURALLARI DEĞİŞKENE VERİLECEK İSİM ANLAŞILIR OLMALI.
DEĞİŞKEN RAKAMLA DEĞİL HARF İLE BAŞLAMALIDIR. DEĞİŞKENDE BOŞLUK BULUNMAMALI. İKİ KELİMEDEN OLUŞAN DEĞİŞKENLER ALTÇİZGİ “_” İLE YAPILABİLİR. DEĞİŞKENE VERİLECEK İSİM VB KOMUTLARINDAN OLMAMALI. EN FAZLA 255 KARAKTER OLMALIDIR.

10 VERİ TİPLERİ VB’DE DEĞİŞKEN TİPLERİ “DIM” DEYİMİ İLE TANIMLANIR.
Dim deg_ismi [(diziboyutu) as tipi] deg_ismi: değişkenin adı diziboyutu: Dim a(15) tanımıyla 16 elemanlı bir dizi tanımlanır. tipi: değişken tipi

11 DEĞİŞKEN TİPLERİ VB’DE İSTENİRSE TİP TANIMI VERİLMEYEBİLİR. SADECE Dim x ŞEKLİNDE BİR TANIM İLE X DEĞİŞKENİ TANIMLANABİLİR. BU TÜR DEĞİŞKENLERE “VARIANT” DENİR. ANCAK HIZ AÇASINDAN VARIANT DEĞİŞKENLER İYİ BİR SEÇİM DEĞİLDİR.

12 BYTE 1 BYTE’LIK İŞARETSİZ TAMSAYI TİPİDİR.
O-255 ARASINDA DEĞER ALABİLİR.

13 INTEGER 2 BYTE’LIK İŞARETLİ TAMSAYI TİPİDİR.
İLE ARASINDA BİR DEĞER ALABİLİR.

14 LONG 4 BYTE’LIK İŞARETLİ TAMSAYI TİPİDİR.
İLE ARASINDA BİR DEĞER ALABİLİR.

15 DİKKAT !!!! BYTE, INTEGER VE LONG TİPİNDEKİ DEĞİŞKENLERE ONDALIK SAYI ATANIRSA, SAYI EN YAKIN TAMSAYIYA YUVARLANIR. Dim i as integer i=4.3 ‘ i=4 olarak atanır i=4.5 ‘ i=5 olarak atanır i=4.6 ‘ i=5 olarak atanır.

16 SINGLE 4 BYTE’LIK ONDALIK SAYI TİPİDİR.
(+/-) E38 İLE (+/-) E-45 ARASINDA DEĞER ALABİLİR.

17 DOUBLE 8 BYTE’LIK ONDALIK SAYI TİPİDİR.
(+/-) E308 İLE (+/-) E-324 ARASINDA DEĞER ALABİLİR.

18 CURRENCY 8 BYTE’LIK ONDALIK SAYI TİPİDİR.
ANCAK SAYININ ONDALIK KISMI 4 BASAMAKTAN FAZLA OLAMAZ. BU TİP, DAHA ÇOK PARA HESAPLARI VE VİRGÜLDEN SONRAKİ HASSASİYETİ ÖNEMSİZ OLAN İŞLEMLER İÇİN KULLANILIR.

19 CURRENCY İLE ARASINDA DEĞER ALABİLİR. Dim i as currency i= ‘i=4.3057 i= ‘i=4.3058 OLARAK ATANIR.

20 DECIMAL 14 BYTE’LIK VERİ TİPİDİR.
BU TİPİN EN ÖNEMLİ ÖZELLİĞİ,SAYIDAKİ BÜTÜN BASAMAKLARIN TUTULMASIDIR. 29 BASAMAKLI BİR SAYIYI BÜTÜN DİJİTLERİNİ KORUYARAK TUTABİLİR.

21 DECIMAL SAYILARIN HASSASİYETİ KAYBOLMAMASI İÇİN,SAYI Cdec FONKSİYONU İLE DECIMALTIPE ÇEVRİLDİKTEN SONRA ATANIR. dim x,y show x= print x’sonuç: e28 y=Cdec (“ ”) print y’sonuç:

22 BOOLEAN 2 BYTE’LIK BİR VERİ TİPİ OLMASINA RAĞMEN SADECE “TRUE (DOĞRU)” YA DA “FALSE(YANLIŞ)” DEĞERLERİ ALABİLİR. BU TİPTEN TANIMLANAN DEĞİŞKENLERE DIREK TRUE VEYA FALSE ATANABİLECEĞİBİGİ SAYISAL DEĞER DE ATANABİLİR. ATANAN SAYI 0 İSE FALSE, DEĞİLSE TRUE KABUL EDİLİR.

23 ÖRNEK ya da dim evli as boolean evli=true evli=1 evli=127
dim bekar as boolean bekar=false bekar=0

24 ÖRNEK dim i as boolean, j as integer j=10 i=true print j*i ’sonuç:-10
i=false print j*i ‘sonuç:0

25 STRING KARAKTER SINIRI VERİLMEZSE 2 MİLYAR KARAKTERE KADAR ATAMA YAPILABİLEN ALFASAYISALBİR VERİ TİPİDİR.HER KARAKTER 1 BYTE YER KAPLAR. KARAKTER SAYISINI SINIRLAMAK İSTERSEK dim degisken as string*sınır ŞEKLİNDE KULLANILIR.

26 ÖRNEK dim a as string dim b as string*3
a=“abcdef....” ‘atama aynen yapılır. b=“abcde” ‘ yalnız ilk üç karakter atanır. yani b=“abc” b=“a” ‘ gene 3 karakter atanır ancak son ikisiboşluk olur. yani b=“a “

27 VARIANT VB’DE DEĞİŞKEN TANIMLARKEN TİP İSMİ VERİLMEMİŞSE BU TİPVARIANT OLARAK ELE ALINIR. DEĞİŞKENİN TİPİ ATANACAK DEĞERE GÖRE DEĞİŞİR. YANİ VARIANT TİPLER DAHA ÖNCE ANLATILAN TİPLERDEN HERHANGİ BİRİ GİBİ İŞLEM GÖREBİLİR VE PROGRAMIN ÇALIŞMASI ESNASINDA TİPİ DEĞİŞEBİLİR.

28 ÖRNEK a=5’ şu anda integer
a=a ‘ işlem integersınırlarını aştığı işin a şu anda long. a=5.7 ‘ sayı ondalıklı olduğu için a şu anda single a=“abc” ‘ a şu anda string oldu

29 DATE 8 BYTE KAPLAYAN BU DEĞİŞKENE 1/1/100 İLE 31/12/9999 ARASINDAKİ TARİH VE 0:00:00 İLE 23:59:59 ARASINDAKİ SAAT ATAMALARI YAPILIR. BU TİPTEKİ DEĞİŞKENLERE ATAMA BİR STRING GİBİ YAPILABİLİR. dim i as date i=“17/11/1973” print i & “tarihinden bu güne kadar” & date-i& “gün geçti.”

30 OBJECT 4 BYTE’LIK BİR VERİ TİPİDİR.
OLE İŞLEMLERİNDE KULLANILMAK ÜZERE TASARLANMIŞTIR. BU TİPTEKİ DEĞİŞKENLERE ATAMA YAPARKEN “SET” OPERATÖRÜ KULLANILIR.

31 DEĞİŞKEN KAPSAMLARI (GLOBAL VE LOCAL DEĞİŞKENLER)
DEĞİŞKENLER KAPSAM BAKIMINDAN GENELDE ÜÇE AYRILIRLAR: GLOBAL LEVEL(GENEL), MODULE LEVEL VE PROCEDURE LEVEL (YEREL) DEĞİŞKENLER. GLOBAL DEĞİŞKENLER PROGRAMIN BÜTÜN FONKSİYONLARI TARAFINDAN KULLANILABİLİRKEN, LOCAL DEĞİŞKENLER SADECE TANIMLANDIKLARI FONKSİYONDA KULLANILIRLAR.

32 DİKKAT!!! BİR DEĞİŞKEN OLABİLİR. PROCEDURE LEVEL MODULE LEVEL
GLOBAL LEVEL OLABİLİR.

33 PROCEDURE LEVEL BU DEĞİŞKENLER SADECE TANIMLANDIKLARI FONKSİYON VEYA ALT PROGRAM İÇİNDE KULLANILIRLAR. BUNLARA “LOCAL DEĞİŞKEN” DE DENİR. “DIM” VEYA “STATIC” DEYİMİ İLE TANIMLANIR. Dim ad as string Static numara as integer

34 MODULE LEVEL BU DEĞİŞKENLER İLGİLİ FORMUN/MODÜLÜN “GENERAL DECLARATIONS” KISMINDA TANIMLANIRLAR VE İLGİLİ FORMUN/MODÜLÜN TÜM PROSEDÜRLERİNDE KULLANILABİLİRLER. “DIM” VEYA “PRIVATE” DEYİMİ İLE TANIMLANABİLİRLER. DEĞİŞKENİN “MODULE LEVEL” OLDUĞUNUN DAHA KOLAY ANLAŞILMASI İÇİN “PRIVATE” DEYİMİ TERCİH EDİLMELİDİR.

35 GLOBAL LEVEL BİR DEĞİŞKENİN PROJEDEKİ TÜM MODÜLLERDE/FORMLARDA KULLANILABİLMESİ İÇİN İLGİLİ DEĞİŞKEN “PUBLIC” DEYİMİ İLE TANIMLANIR. BU TÜR DEĞİŞKENLER “GENERAL DECLARATIONS” BÖLÜMÜNDE TANIMLANMALIDIR. Public carikod as string

36 GLOBAL DEĞİŞKENLER GLOBAL DEĞİŞKENLERİN BÜTÜN FONKSİYONLARDA KULLANILMASI İLK BAŞTA AVANTAJ GİBİ GÖRÜLMESİNE RAĞMEN, PROGRAMIN GELİŞTİRİLMESİ VE TAKİP EDİLMESİNİ ÖNEMLİ ÖLÇÜDE ZORLAŞTIRDIKLARINDAN DOLAYI ÇOK BÜYÜK DEZAVANTAJLARI VARDIR.

37 STATİK DEĞİŞKENLER LOCAL OLARAK TANIMLANAN DEĞİŞKENLER TANIMLANDIĞI ALT PROGRAM VEYA FONKSİYON ÇALIŞMASI BİTTİKTEN SONRA BELLEKTEN ATILIR. İLGİLİ PROSEDÜR İKİNCİ KEZ ÇALIŞTIĞINDA LOCAL DEĞİŞKENLER ESKİ DEĞERLERİNDEN DEĞİL BAŞTAN (STRING İSE “ “, SAYI İSE 0’DAN) BAŞLAR.

38 ÖRNEK BİR KOMUT DÜĞMESİNİN KAÇ DEFA ÇALUIŞTIĞINI BULMAK İÇİN AŞAĞIDAKİ KODU YAZARSANIZ HER SEFERİNDE KOMUT DÜĞMESİ İLK DEFA ÇALIŞIYORMUŞ GİBİ DEĞİŞKENİN DEĞERİ 1 OLACAKTIR. Private Sub Command1_Click() dim x x=x+1 msgbox (“bu komut düğmesi” & x & “defa tıklandı”) End Sub

39 STATİK DEĞİŞKENLER LOCAL OLARAK TANIMLANAN BİR DEĞİŞKENİN DEĞERİNİN TANIMLANDIĞI ALT PROGRAM VEYA FONKSİYONUN ÇALIŞMASI BİTTİKTEN SONRA DA DEĞERİNİN KORUNMASI İSTENİYORSA “DIM” YERİNE “STATIC” DEYİMİ KULLANILIR. STATIC DEYİMİ BİR ALT PROGRAM VEYA FONKSİYON ALTINDA TANIMLANABİLİR.

40 STATİK DEĞİŞKENLER statik deg_ismi [(disiboyutu)] as tipi
DAHA ÖNCEKİBUTON SAYACI ŞÖYLE DEĞİŞTİRİLMELİDİR static x x=x+1 msgbox (“bu komut düğmesi” &x& “defa tıklandı”)

41 STATİK DEĞİŞKENLER EĞER STATİK DEĞİŞKENLERİ BAŞKA PROSEDÜRLER DE KULLANACAKSA İLGİLİ DEĞİŞKEN GLOBAL OLARAK TANIMLANIR.

42 SABİT TANIMLAMA PROGRAMDA DEĞERİNİN DEĞİŞMESİ İSTENMEYEN DEĞERLER SABİT OLARAK TANIMLANABİLİR. const sabitismi=değer const pi=3.1415 YUKARIDAKİ SABİT TANIMLANDIĞI YERE GÖRE LOCAL VEYA GLOBAL OLABİLİR.

43 DİZİLER DİZİLER BİRBİRLERİYLE İLGİLİ NESNE GRUBUNU İÇEREN DEĞİŞKENLERDİR. DİZİNİN KAÇ ELEMANDAN OLUŞTUĞU, DEĞİŞKEN İSMİNDEN SONRA PARANTEZ İÇİNE YAZILIR. dim a(15) ‘ 16 elemanlı bir dizi ‘yani a(0), a(1),a(2),...,a(15) şeklinde elemanları vardır.

44 DİKKAT!!! DİZİNİN İLK ELEMANI a(0)’DIR. YANİ DİZİLER SIFIRDAN BAŞLAR.
EĞER DİZİNİN BAŞKA BİR SAYIDAN, ÖRNEĞİN 1’DEN BAŞLAMASINI İSTİYORSANIZ BÜTÜN PROSEDÜRLERDEN ÖNCE Option base 1 KODUNU YAZMALISINIZ. BU KOD İLGİLİ MODÜLDEKİ BÜTÜN PROSEDÜRLERİ ETKİLER.

45 DİKKAT!!! DİZİLER DE TANIMLANDIKLARI YERE GÖRE OLABİLİRLER.
PROCEDURE LEVEL MODULE LEVEL GLOBAL LEVEL OLABİLİRLER.

46 DİZİLER DİZİLER SABİT BOYUTLU VEYA DEĞİŞKEN BOYUTLU OLABİLİRLER.
SABİT BOYUTLU DİZİLERDE DİZİNİN ELEMAN SAYISI DEĞİŞMEZ, OYSA DEĞİŞKEN BOYUTLU DİZİLERDE DİZİNİN ELEMAN SAYISI İHTİYACA GÖRE DEĞİŞEBİLİR.

47 DİZİLER BİR DİZİNİN İLK ELEMANI a(0) OLMAK ZORUNDA DEĞİLDİR.
dim a(3 to7) ‘ile ilk elemanı a(3) ve son elemanı a(7) olan bir eleman tanımlanabilir. HERHANGİ BİR FONKSİYON VEYA ALT PROGRAMDA DİZİ TANIMI “DIM” DEYİMİ İLE YAPILAMAZ, SADECE GENERAL-DECLARATIONS KISMINDA VEYA MODÜL İÇİNDE TANIMLANABİLİR.

48 DİKKAT!!! EĞER BİR FONKSİYON VEYA ALT PROGRAM İÇİNDE DİZİ TANIMLANACAKSA “REDIM” VEYA “STATIC” DEYİMLERİYLE TANIMLANMALIDIR.

49 DİZİLERE İLK DEĞER ATAMA
dim diziadı [as variant} dizi=array(elemanlar)

50 ÖRNEK dim gün ‘dikkat! tanımlanan değişken varianttır!!!
gün=array(“pazar”, “pazartesi”, ”salı”, ”çarşamba”, ”perşembe”, ”cuma”, “cumartesi”) print “dizinin ilk elemanı:” &gün(0)

51 DİKKAT!!! “DIM” DEYİMİ KULLANILARAK BİR PROSEDÜR İÇİNDE DİZİ TANIMI YAPILAMAZ. FORMUN GENERAL DECLERATIONS KISMINDA VEYA BİR MODÜL İÇİNDE TANIMLANABİLİR. “REDIM” VEYA “STATIC” DEYİMİ İLE PROSEDÜR İÇİNDE DİZİ TANIMLANABİLİR.

52 DİNAMİK DİZİLER DEĞİŞKEN BOYUTLU (DİNAMİK) DİZİLERDE DİZİNİN ELEMAN SAYISI İHTİYACA GÖRE DEĞİŞEBİLİR. DİNAMİK DİZİYİ TANIMLARKEN PARANTEZ İÇİ BOŞ BIRAKILIR; Dim dnmOgrenci() as string DİNAMİK DİZİLERİN ELEMAN SAYISINI İSTEDİĞİNİZ ZAMAN DEĞİŞTİREBİLİRSİNİZ.

53 DİNAMİK DİZİLER İSTEDİĞİNİZ HERHANGİ BİR ANDA “REDIM” DEYİMİ İLE DİZİNİN ELEMAN SAYISINI DEĞİŞTİREBİLİRSİNİZ. Redim dnmOgrenci(20)

54 DİKKAT “REDIM” DEYİMİNİN HER KULLANILIŞINDA DİZİNİN İÇERİĞİ SİLİNİR.
BUNU ÖNLEMEK İÇİN “PRESERVE” KULLANILIR; Redim Preserve dnmOgrenci(20) BU ŞEKİLDE DİZİNİN DAHA ÖNCEKİ ELEMANLARI KORUNUR.


"DEĞİŞKENLER VE VERİTİPLERİ" indir ppt

Benzer bir sunumlar


Google Reklamları