bilişim teknolojileri - 17 - veri yapıları
Post on 29-May-2018
237 Views
Preview:
TRANSCRIPT
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
1/44
T.C.
MLL ETM BAKANLII
MEGEP(MESLEK ETM VE RETM SSTEMNN
GLENDRLMES PROJES)
BLM TEKNOLOJLER
VER YAPILARI
ANKARA 2007
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
2/44
Milli Eitim Bakanl tarafndan gelitirilen modller;
Talim ve Terbiye Kurulu Bakanlnn 02.06.2006 tarih ve 269 sayl Karar ileonaylanan, Mesleki ve Teknik Eitim Okul ve Kurumlarnda kademeli olarakyaygnlatrlan 42 alan ve 192 dala ait ereve retim programlarndaamalanan mesleki yeterlikleri kazandrmaya ynelik gelitirilmi retim
materyalleridir (Ders Notlardr).
Modller, bireylere mesleki yeterlik kazandrmak ve bireysel renmeyerehberlik etmek amacyla renme materyali olarak hazrlanm, denenmek vegelitirilmek zere Mesleki ve Teknik Eitim Okul ve Kurumlarndauygulanmaya balanmtr.
Modller teknolojik gelimelere paralel olarak, amalanan yeterliikazandrmak koulu ile eitim retim srasnda gelitirilebilir ve yaplmasnerilen deiikliklerBakanlkta ilgili birime bildirilir.
rgn ve yaygn eitim kurumlar, iletmeler ve kendi kendine mesleki yeterlikkazanmak isteyen bireyler modllere internet zerinden ulalabilirler. Baslm modller, eitim kurumlarnda rencilere cretsiz olarak datlr. Modller hibir ekilde ticari amala kullanlamaz ve cret karlnda
satlamaz.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
3/44
i
AIKLAMALAR ................................................................................................................iiGR .................................................................................................................................. 1RENME FAALYET - 1 ............................................................................................... 31. DZLER......................................................................................................................... 3
1.1. Dizi Deikenini Tanmlama................................................................................... 41.2. Dizi Deikeni ile Veri Saklama ............................................................................. 51.3. ok Boyutlu Diziler ................................................................................................ 51.4. Dinamik Diziler ...................................................................................................... 71.5. Yaplar.................................................................................................................... 81.6. Yaplar Dizi Olarak Kullanmak.............................................................................. 9UYGULAMA FAALYET......................................................................................... 10LME VE DEERLENDRME............................................................................... 11
RENME FAALYET - 2 ............................................................................................. 122. ARETLER.............................................................................................................. 12
2.1. areti Nedir? ...................................................................................................... 122.2. Bal Liste Tanmlama .......................................................................................... 142.3. Bal Listeyi Kullanma ......................................................................................... 152.4. ift Bal Listeler................................................................................................. 162.5. Dairesel Bal Listeler.......................................................................................... 162.6. Yn .................................................................................................................... 172.7. Kuyruk ................................................................................................................. 17
2.8. Aa..................................................................................................................... 18
2.9. Grafik ................................................................................................................... 19UYGULAMA FAALYET......................................................................................... 21LME VE DEERLENDRME............................................................................... 22
RENME FAALYET - 3 ............................................................................................. 233. NESNE TABANLI PROGRAMLAMA ......................................................................... 23
3.1. Kolay Programlama Yntemi ................................................................................ 233.2. Nesne Kullanm ................................................................................................... 243.3. Dil Seimi ............................................................................................................. 27UYGULAMA FAALYET......................................................................................... 29LME VE DEERLENDRME............................................................................... 30
MODL DEERLENDRME........................................................................................... 31CEVAP ANAHTARLARI ................................................................................................. 32SZLK ........................................................................................................................... 33KOD RNEKLER ........................................................................................................... 34NERLEN KAYNAKLAR.............................................................................................. 39KAYNAKA .................................................................................................................... 40
NDEKLER
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
4/44
ii
AIKLAMALARKOD 481BB0027
ALAN Biliim Teknolojileri
DAL/MESLEK Alan Ortak
MODLN ADI Veri Yaplar
MODLN TANIMIDizi, iaretilerve nesneye ynelik program yazma ileilgili renme materyalidir.
SRE 40/24
N KOUL Yapsal Programlama Temelleri modln alm olmak.
YETERLK Veri yaplar ile almak
MODLN AMACI
Genel AmaGerekli ortam salandnda,dizi ve iaretileri
tanyp nesneye ynelik program yazabileceksiniz.Amalar1. Dizi mantn anlayacak ve dizi deikenleri
kullanabileceksiniz2. aretiler ile program yazabileceksiniz3. Nesneye ynelik program yazabileceksiniz
ETM RETMORTAMLARI VEDONANIMLARI
Bilgisayar laboratuvar ve bu ortamda bulunan;bilgisayar, yazc, bilgisayar masalar,kt, kalem, lisansliletim sistemi programve ak diyagram sembolleri ileilgili panolar.
LME VEDEERLENDRME
Her faaliyet sonrasnda o faaliyetle ilgilideerlendirme sorular ile kendi kendinizideerlendireceksiniz. Modl iinde ve sonunda verilenretici sorularla edindiiniz bilgileri pekitirecek,
uygulama rneklerini ve testleri gerekli sre iindetamamlayarak etkili renmeyi gerekletireceksiniz.Srasyla aratrma yaparak, grup almalarna katlarak veen son aamada alan retmenlerine danarak lme vedeerlendirme uygulamalarn gerekletireceksiniz..
AIKLAMALAR
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
5/44
1
GRSevgili renci,
Bu modl ile sizlere diziler, iaretiler ve nesnetabanl programlama konular ile ilgiliyeterlik kazandracaktr. ncelikle bu modl daha iyi anlamanz iin, daha ncekiprogramlama temelleri modllerinde kavrayamadnz yerler varsa onlar pekitiriniz.Deikenler, dnglerve dosyalama konularn tekrar gzden geirmeniz tavsiye edilir.
nceki modlleri anlayarak buraya gelmi iseniz, daha ileri seviye programlamakonularna geebilirsiniz. Veri Yaplar modl ile bir program yazmnda gerekli olan
baz eksikliklerimizi gidereceksiniz. Bilgisayarn belleini ve programnzdaki verileri dahaetkin kullanacaksnz.
Programlamada veri yaplar en nemli unsurlardan birisidir. Program yazarkenkullanlacak veri yapsnn en ideal ekilde belirlenmesi, programclkta biraz dahaustalaman anlamna gelmektedir. Program ierisinde ilenecek veriler diziler iletanmlanm bir veri blou ierisinden seilebilecei gibi, iaretiler kullanlarak daha etkinekilde hafzada saklanabilir. Veri yaplar, dizi ve iaretiler ile yaplmasnn yannda,nesneler ile de gerekletirilebilir.
GR
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
6/44
2
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
7/44
3
RENME FAALYET - 1
Dizi mantn anlayacak, dizi ve yapdeikenleri kullanabileceksiniz.
Bu faaliyet ncesinde hazrlk amal aada belirtilen aratrma faaliyetleriniyapmalsnz.
Banka ve hastane gibi yerlerde kuyrukta bekleyenlerin iini kolaylatranSramatik isimliprogram inceleyiniz. Sizce buprogram nasl daha kullanlhle getirilebilir?
Kargo firmalarnn (Aras, Fedex ve DHL gibi) kargo takip programninceleyiniz. Paketlerin internet zerinden nasl takip edildiini inceleyiniz.
1. DZLERBirka tane deiken ile kk programlar idare edebilirsiniz. Programlamada uzun
ve benzer bilgilerle dolu deer listelerin oluturulmas dizi - array ile yaplmaktadr. Veriyapsnaadaki gibi ayrdeiken yapabileceiniz gibi:
Ad1 = "Ali"
Ad2 = "Veli"
Ad3 = "Mehmet"
Bunun yerine dizi kullanarak, tek deiken ile u ekilde yapabilirsiniz:
Ad(1) = "Ali"
Ad(2) = "Veli"
Ad(3) = "Mehmet"
Dikkat ederseniz, nceki rnekte 3 ayr deikenimiz varken, sonrakinde ise tekdeiken olan Ad kullanlmtr. Dizi sayesinde tek deiken ismi ile birden fazla deersaklanabilmektedir.
3 elemanl bir dizi; Ad
Ali Veli Mehmet
Ad(2) Ad(3)Ad(1)
RENME FAALYET1
AMA
ARATIRMA
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
8/44
4
1.1. Dizi Deikenini Tanmlama
Normalde bir deikenin bir ad ve bir deeri olabilir. Dizi deikenlerinin de bir advardr, ama iinde ayn trde ok sayda veri saklanabilir. Tanmlarken dizinin boyutunubelirtmemiz mecburidir. Dizi boyutu tam say olarak belirtilmeli, negatif girilmemelidir.
Not: Programlama dillerinde genellikle ilk dizi elemannn indis numaras 0dr. QBasic dilindeOption Base Taban Seenei ile varsaylan alt limiti 0 veya 1 olarak deitirebilirsiniz.
Dizi elemanlarn tanmlanmadan nce Option Base 1 olarakseilmi ise, 0. elemandan deil 1.elemandan balanr.
1. Bala2.
Metin Dizi Ad(3)3. Ad(1) = Ali
4. Ad(2) = Veli5. Ad(3) = Mehmet6. Yaz; Ad(1)7. Yaz; Ad(2)8. Yaz; Ad(3)9. Bitir
Resim 1.1: Dizi rnei ve ekran kts
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
9/44
5
1.2. Dizi Deikeni ile Veri Saklama
Programdaki dizi deikenlerinin tanmlandklar satrlar altrldnda, ana bellektedizi boyutunca yer ayrlr. Deiken ile olan ilem bitince ayrlan bellek blgesi silinir. Belli
bir bellek alan ayrlmasndan dolay dizinin maksimum snr dndaki dier bellekblgesine eriemeyiz.
Dizilere deer aktarma veya okuma ilemlerinde dng komutlar kullanlmaktadr.Hangi dngy kullanrsanz kullann, balang ve biti deerlerini iyi belirleyiniz, yoksa
programnz hata verip kapanr. Snrn altnda veya stnde indis vermemek gerekir.
1. Bala2. Metin Dizi Ad(3)3. Saysal i, j4. Dng i = 1, 3, 15. Yaz; i & . ismi giriniz6. Oku; Ad(i)7. Dng Bitti8. Yaz; Girilen isim listesi9. Dng i = 1, 3, 110.Yaz; Ad(i)11.Dng Bitti12.Bitir
Resim 1.2: Dng ile dizi kullanm
1.3. ok Boyutlu Diziler
imdiye kadar verdiimiz rnekler tek boyutlu dizi rnekleridir. Bu tip diziler aynentren vagonlar gibi bellektepe pee deerlere sahip olan deikenlerdir.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
10/44
6
Tablolama programlarndaki gibi satr ve stunlu hcrelerden oluan dizilere; iki
boyutlu dizi denir. Resim 1.3te grld gibi herhangi bir hcrenin deerine satr ve stunbilgisini kullanarak eriilebilmektedir. Matematikteki matrisler de ok boyutlu dizilerdir.
Resim 1.3: Excelde bir sayfa 2 boyutlu diziye benzetilebilir
Bir boyut daha eklendiinde kp ekline benzeyen 3 boyutlu dizi elde edilir. Budizilerde satr ve stun bilgisinin yannda derinlik bilgisi de eklenir.
Resim 1.4: 3 boyutlu dizi
Resim 1.5: ok boyutlu dizi rnei, burada dizi 0 indis numaras ile balyor
ok boyutlu dizilerin tanmlanmas tek boyutlu diziye benzer ekilde yaplmaktadr:
TextBox6
TextBox5
1. boyut
2. boyut
3. boyut
1. boyut 2. boyut
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
11/44
7
BalaMetin Dizi bilgi(2, 6)
Saysal i, j, satr, stunDng i = 1, 2, 1
Dng j = 1, 6, 1
Oku; bilgi(i, j)
Dng Bitti
Dng Bitti
Oku; "Satr ve stun bilgisini giriniz", satr, stunYaz; "Aranan bilgi: ", bilgi(satr, stun)
Bitir
Bu rnekte 2 satr ve 6 stun olduu iin, 2 * 6 yani 12 adet metin bilgisibulunmaktadr. ki boyut olduundan i ie iki dnghazrladk. lk dngnn i deikenisatr seicisi, ikinci i dngnn j deikeni de stun seici olarak alyor. Bilgi(i, j)zerine veri aktarp, dng sonunda hangi satr ve stun isteniyor ise ekrana deerigetiriliyor.
1.4. Dinamik Diziler
ou dil sadece statik snrl dizi imkn sunar, yani alma zamannda dizilerineleman saysnnsnrndeitiremezsiniz.Eer dizi byk gelmi ise dizi ksaltlamaz, yada tam tersi uzatlamaz. Statik dizi ii bo bile olsa hafzada yer kaplamaktadr.
Resim 1.6: C dilinde dinamik dizi yoktur
Hafzay etkin kullanmak iin dinamik dizi kullanabilirsiniz. sterseniz diziyiboyutlandrabilirsiniz, ya da silebilirsiniz.
Not: Basic dilinde dinamik diziler iin Redim -Boyutlandr komutu kullanlr. Bu komut ile eski dizi
bilgileri silinir.Dizinin deiken trn deitiremezsiniz.
Dizilerde dizi snrn deitirebilirsiniz, ama 2 boyutlu bir diziyi 3 boyutlu diziyapamazsnz.
Resim 1.7: Dinamik dizi rnei
TextBox7TextBox8
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
12/44
8
1. Bala2.
Metin Dizi dinamikDizi()3. Saysal i, snr, eleman
4. Oku; Dizi snrn giriniz, snr5. Boyutlandr dinamikDizi(snr)6. Dng i = 1, snr, 17. Oku; dinamikDizi(i)8. Dng Bitti9. Oku; Eleman numarasn giriniz, eleman10.Yaz; dinamikDizi(eleman)11.BitirDizilerde farkl veri trlerini saklama imkn yoktur. Yani renci listesinde renciisimleri metin, renci numaralar say trnde olsun diyemezsiniz. Tm elemanlarn tr
ayndr. Bu eksiklik yap kullanm ile giderilmektedir. Bir yapda istediiniz trdedeikenleri beraber tanmlayarak tek isim altnda kullanabilirsiniz.
1.5. Yaplar
Yapsal Programlama Temelleri modldeki dosyalama ksmnda, yaplar ve kaytlarhakknda az da olsa giribilgisi verilmiti. Say ve metin deikenleri kark olarak bir yap(structure) iine kaydedebiliyoruz.
Ad1 = "Ali"Notu1 = 45
Ad2 = "Veli"
Notu2 = 55
Ad3 = "Mehmet"
Notu3 = 75
Bunun yerine artk u ekilde yapabiliriz:
Ogrenci1.Ad = "Ali"
Ogrenci1.Notu = 45
Ogrenci2.Ad = "Veli"
Ogrenci2.Notu = 55
Ogrenci3.Ad = "Mehmet"Ogrenci3.Notu = 75
Grld gibi farkl trlerde birbiri ile ilikili yap elemanlar Ad ve Notudeikenleri beraber, tek bir isim olan Ogrenci yapsnda toplanyor.
Yap KisiMetin Ad
Saysal YasYap BittibirKisi Kisi
Dosyalama konusunda Kisi deiken isminde yap hazrlamtk. Programcnnkendi yapt deikenlere kullanc tanml veri tr user defined variable de denir.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
13/44
9
1.6. Yaplar Dizi Olarak Kullanmak
Dizi olarak kullanmda sadece yapy kullanacak deikenin yazm deimektedir.Yani yap ksm ayn ekilde tanmlanrken deiken ksm deiir.
BalaYap birrenci
Metin Ad
Saysal NotuYap Bitti
birrenci Dizirenci(3)Saysal i
Dng i = 1, 3, 1
Oku; "renci adn giriniz ", renci(i).AdOku; "renci notunu giriniz ", renci(i).Notu
Dng Bitti
Dng i = 1, 3, 1
Yaz; "renci ad ", renci(i).AdYaz; "renci notu ", renci(i).Notu
Dng Bitti
Bitir
Yapnn Genel KullanmKayitDegiskeni.Degisken = "Veri"
Degisken = KayitDegiskeni.Degisken
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
14/44
10
UYGULAMA FAALYET
lem Basamaklar neriler
Bir dizi oluturunuz. simlendirmede deiken isimlendirmekurallarna uyunuz.
Dizi elemanna deer aktarnz. Dizilerin ilk indis numaras genellikle 0 veya 1ile balar. Deer aktardktan sonra ekrandadeerlerini listeleyiniz.
Dng iinde diziye veri giriniz vegsteriniz.
Genellikle Dng For dngs ile veri girik yaplabilir. Dngnn deikeni dizininilerlemesi iin kullanlr.
Bir yap oluturunuz. eitli veri trlerine sahipdeikenleri yapiine tanmlaynz. Program iindetanmladnz yapy kullannz.
Yap deikeni ile verileri kontrolediniz.
Yap dizi olarak tanmlanp, dng iinde verigirii ve ekrana listeleme yaplabilir.
UYGULAMA FAALYET
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
15/44
11
LME VE DEERLENDRME
OBJEKTF TESTLER (LME SORULARI)
Aadaki sorulardan; sonunda parantez olanlar doru / yanl sorulardr. Verilenifadeye gre parantez iine doru ise D, yanl ise Y yaznz. kl sorularda uygun kkiaretleyiniz.
1. ( ) Ayr ayr deiken tanmlamak, diziden daha az bellek alan igal eder.2. ( ) Dizi deikenlerinin indis numaralar sadece tamsay olabilir.3. ( ) Dizi iinde ondalkl deerler saklayabiliriz.4. ( ) Dizi iindeki veriler otomatik olarak sralanr.5. ( ) Hangisini dizi olarak tanmlayamayz
A) Yap?
B) MetinC) KarakterD) Dng
6. ( ) Genellikle dizi indisi hangi karakterler arasna yazlrA) ( )
?
B) [ ]C) { }D) { ( ) }
LME VE DEERLENDRME
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
16/44
12
RENME FAALYET - 2
Bu renme faaliyetinde iaretiler ve iareti yaplar ile program yazabileceksiniz.
Bu faaliyet ncesinde hazrlk amal aada belirtilen aratrma faaliyetleriniyapmalsnz.
Hangi dillerde bal liste veya iareti (pointer) kullanm vardr? aretikullanmnn avantajlar ve dezavantajlarnaratrnz.
Posta grevlisi mektuplar adresine nasl ulatryor? Bir mektup gnderendenalcya giderken hangi aamalardan geer, aratrnz.
2. ARETLERBir dizi yaptnzda boyutunu belirtmek zorunda kalrsnz. Eer dizi ok kk ise,
bilgilerinizi saklamak iin yeterli olmaz, ya da diziniz ok bykse bilgisayarn deerli ana belleini bouna megul edersiniz. Dizilerde baka bir problem de ieriin kolayca tekrar
dzenlenememesidir. Yani dizi ieriinialfabetik olarak sralamak isterseniz, tm bilgileridar alp, dzenleyip, iine tekrar atmak zorunda kalrsnz.
aretiler ve bal listeler sayesinde dizinizin uzunluunu esnek olarakkullanabilirsiniz.
2.1. areti Nedir?
Dizilerdeki bilgiler pe pee kutulara benzetilebilir. Bal listeler ise birbirinebalanm ayr kutular olarak dnebiliriz.aretiler birbiri ile ilgili olan, dm halindekibilgileri birbirinebalar.
Tupol dilinde iareti, yap ve dizi rneklerini inceleyiniz.areti deikenler sadece bellek adresi bilgisini saklayan deikenlerdir. Dier
deikenler ise metin veya say olabilirler. stenilen deeri hafzadan armak iin adresinibilmeniz yeterlidir.
aretiler C ve C++ programlama dillerinin temel blmdr. Yanl bellek blgesineulamak, kt bir ekilde programn kmesi ile sonulanabilir. Bunu beyninize rastgele
batrlan sivri bir ine gibi dnebilirsiniz. aretileri hatal kullanmak bilgisayarnbelleini rastgele kurcalamak anlamna gelir.
AMA
ARATIRMA
RENME FAALYET2
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
17/44
13
Resim 2.1a: areti deikeni tanmlanan programn almadan nceki bellek grnts
Resim 2.1b: areti deikeni ve normal bir deikenin bellek grnts
C dilinde iareti rnei#include
main(){int i; /* "i" tamsay deikenlerdir */int *iptr; /* "*" iareti olduunu belirtir */iptr = &i;
/* iaretiye muhakkak bir deiken adresi atanr, "&" adres simgesidir */*iptr = 55;
/* aslnda iaretinin iaret ettii deikene 55 deeri atand */
clrscr();
printf("%d\n",i); /* ekrana 55 yazar */
printf("%d\n",*iptr); /* 55 "i" deikeninin deeri*/printf("%X\n",iptr); /* FFC8 "i" deikeninin hafzadaki adresi*/
printf("%X\n",&iptr); /* FFCA iaretinin adresi*/printf("%X\n",&i); /* FFC8 "i" deikeninin hafzadaki adresi*/
getch();
}
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
18/44
14
2.2. Bal Liste Tanmlama
Bal listelerde (linkedlist) ekil 2.1de grld gibi her eleman birbirine iaretilerile baldr. aretinin en son gsterdii ise nil veya null ad verilen bo bir deerdir.Nil liste sonunu belirtir.
Asl verileri yer deitirerek dzenlemek yerine, iaretiler tekrar dzenlenerek yerdeitirme ilemi hzl bir ekilde yaplr.
ekil 2.1: Diziler ve bal listeler
Pascaldilinde bal listeleri aadaki ekilde kullanabiliriz.
Yeni bir iareti tanmlayalm:TYPE
isaretciAdi= ^KayitTuru;
Hemen tanmlamann altnda da yapmz KayitTuru tanmlayalm:KayitTuru= RECORD
Adi: String[15];
Notu: integer;
Sonraki: isaretciAdi;
END;
3 elemanl bir dizi; Ad
Ali Veli Mehmet
Ad(2) Ad(3)Ad(1)
3 elemanl bal liste (linkedlist)
Ali Veli Mehmet
Dm
Bo (nil)
areti (pointer) areti areti
Dm (node) Dm
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
19/44
15
Alt alta yazlan bu satrlar ile yeni bir yap ve onun adresinisaklayacak bir iaretimiz
oldu. Sonraki deikeni dier dmn adresini saklayacaktr. Son olarak bu kayt yapsn belirten bir deiken tanmlayalm:VAR
Dugum: isaretciAdi;
Kodlar bir araya getirelim:
Artk programmzn kurulum ksm tamamlanmtr.
Yaptmz deikenlerden sonra, ana programn kod yazmnda ise: Bir dm oluturalm. Dme veri aktaralm Dmn iaretisini dzenleyelim(balang, orta, biti olarak)
BEGIN
New(Dugum); {Yeni dm oluturduk}Dugum^.Adi := 'Ali Can'; {Veri aktardk}
Dugum^.Notu:= 45;Dugum^.Sonraki:= nil; {Bal Listeyi sonlandryoruz}
writeln('Ad: ', Dugum^.Adi);writeln('Notu: ', Dugum^.Notu);
readln;
Release(Dugum); {dm sildik}END.
2.3. Bal Listeyi Kullanma
Bir dizi iindeki bir eleman sildiinizde, hala bellekte yer kaplayan bir bo alan
oluur.Ayrca ie yaramayan birboluk, programda istenmeyen hatalara neden olabilir.
Pascal dilinde bal liste rnei
PROGRAM bagliListeler;
TYPEisaretciAdi= ^KayitTuru; {"KayitTuru" yapsnn iaretcisi}
KayitTuru= RECORD {yap veya veri kmesi}
Adi: String [15];
Notu: integer;
Sonraki: isaretciAdi; {sonraki kayt}
END;
VAR
Dugum: isaretciAdi;
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
20/44
16
Bal listelerde ise dm silmek ok kolaydr:
Dmlerdeki iaretileri dzenleyin Dm silin
Tek bal listelerin dezavantaj ilk kayd bulmann mmkn olmamasdr. Yani sizgeri ynde gidemezsiniz. Hep sonraki kaydn ban sakladmz iin bu mmkn deildir.Ali dm, Veli dmn gsteriyor, ama Veli dmnn nceki dm ile ilgilihibir ipucu yoktur.
2.4. ift Bal Listeler
ki iareti kullanarak nceki ve sonraki dmlerin adres bilgilerini tutabilirsiniz.
2.5. Dairesel Bal Listeler
lk ve son dmn iaretileri birbirini gsterebilir.
Ali Veli Mehmet
Ali Veli Mehmet
Bo (nil)Bo (nil)
Ali Veli Mehmet Bo (nil)
Ali Veli Mehmet
Ali Veli Mehmet
Bo
Bo
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
21/44
17
2.6. Yn
Yn (stack), zel tek ynl bal listelere benzetebiliriz.Ekleme ve silme ilemlerinisadece listenin en bandakiler zerinde yapabilirsiniz. st ste tabaklar gibidnebilirsiniz. Alttaki tabaklara ulamak iin mecburen stteki tabaklar kaldrmakzorundasnzdr.Yeni bir tabak gelince de ynn stne koyarsnz.
Ters Polonyal Yazm Reverse Polish NotationRPN yntemi bunu kullanr:
Forml:(1 + 2) * 4
Ayn formln RPN hali:1 2 + 4 *
Normalde 1 ve 2 toplar, sonucu 4 ile arparz. Sonu 12 olur. RPN ynteminde iseadm olarak yle yaplr:
1 rakam ynn en stne konur. 2 rakam ynn stne konur, 1 alta iner. 2 ve 1 rakam yndan ekilerek toplama ilemi yaplr, sonu olan 3 ynn en
stne konur. 4 rakam ynn en stne konur, 3 alta iner.
4 ve 3 rakam yndan ekilerek arpma ilemi yaplr, sonu olan 12 ynn enstne konur.
Resim 2.2: RPN yntemi
Ynlar genellikle LIFO (Last in First out Son giren lk kar)yntemini temel alr.
2.7. Kuyruk
Kuyruk (queue) listelerinin iki kural vardr. Birincisi yeni eklenen bilgiler sadecesona eklenebilir, ikincisi de silinecek bilgi sadece batan silinebilir.FIFO (First in First out lk giren ilk kar), yntemi de denilmektedir.
Sinema kuyruundaki insanlar dnn, ilk giren ilk kuyruktan kar. Son gelen iseson kar.Kuyrua girmek isterseniz en sona gitmeniz gerekir, biletini alan mteri ise en
bata olduundan kuyruktan ayrlr.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
22/44
18
Resim 2.3: Kuyruk yntemi
2.8. Aa
Aa Tree listeleri dorusal veya dairesel ekilde gitmezler. Kk dm zerindedallarn bulunduu bir listedir.
Baz programclar bu ynteme ikilik aa binary tree demektedir. Bir dm;bolua, baka bir dme veya iki dme iaret edebilir.
Genellikle yapay zek programlarnda kullanlr. Mesela bir satran oyunu olabilir. lkhamle en stteki kktr. Yaplabilecek her hamlenin ihtimalleri dallara ayrlr. Karoyuncunun hareketine gre de ihtimaller deierek dallar oluur. En son dal ah mat ilebiter.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
23/44
19
Resim 2.4: Aa listesi ve satran oyunundaki dallanma*
2.9. Grafik
Belli bir ekli olmayan bal listelerdir.Bir dm bir veya daha fazla dme iaretedebilir.
Resim 2.5: Grafik yntemi
Genellikle sinir alar neural network kurulumunda kullanlr. Beyin de buyntemle ilem yapmaktadr. Her dm (neuron), siniri (synapses) temsil eder. Programnzkarmaklatka bu gelimi yntemleri kefederek algoritmalarnz yenidenekillendireceksiniz.
*Toplam 10 ^ 120 ihtimal vardr. Evrendeki tahmini atom says 10 ^ 75 olduuna gre bu rakam ilesatran ihtimallerini karlatrnz.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
24/44
20
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
25/44
21
UYGULAMA FAALYET
lem Basamaklar neriler
Yapsal veri tanmlanabilen bir dildeiareti oluturunuz.
Her dil iareti imkn salamaz. Uygun dilibulmanz gereklidir.
aretiyi bir deikene balaynz. Bir deiken tanmlayp, ona ait iaretideiken tanmlaynz.aretiyi deikenin adresine balaynz.Dorudan iaretiyi kullanarak deer atamalaryapnz.
Kayt yapsnda bir deikentanmlaynz.
Bir yap tanmlayp, iareti ile yapnn adresinisaklaynz.Deer atayp, ekrana deeri listeleyiniz.
UYGULAMA FAALYET
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
26/44
22
LME VE DEERLENDRME
OBJEKTF TESTLER (LME SORULARI)
Aadaki sorulardan; sonunda parantez olanlar doru / yanl sorulardr. Verilenifadeye gre parantez iine doru ise D, yanl ise Y yaznz. kl sorularda uygun kkiaretleyiniz.
1. areti tanmlandnda muhakkak bir deikene balanmaldr. ( )2. Dm (record) iinde sadece say bilgisi saklayabiliriz. ( )3. Kayt ve yap ayn kavramlardr. ( )4. Listeler dorusalbir ekilde birbirine bal olarak yaplrlar. ( )5. Her listenin sonu nil - null ile belirtilmelidir. ( )6. Hangisi bir veri listesi deildir
A) Bal?
B) ift balC) Grafiksel
D) Yn
LME VE DEERLENDRME
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
27/44
23
RENME FAALYET - 3
Nesneye ynelik programlama yapabileceksiniz.
Bu faaliyet ncesinde hazrlk amal aada belirtilen aratrma faaliyetleriniyapmalsnz.
Klasik programlama dilleri ile nesne tabanl programlama dillerinin farklarnelerdir?
Yapay zek ile ilgili programlar inceleyiniz. Mesela bilgisayar ile sohbetprogramlar ve oyunlar gibi.
3. NESNE TABANLI PROGRAMLAMAYaplan programlar rahat anlalr, hzl ve grsel nitelikleri zenginletirilmi duruma
getirmek iin nesne tabanl programlama dilleri kullanlabilir. Nesne tabal programlamadilleri ile gvenilir ve hatadan uzak programlama yaplabilir. Yine de OOP (Object OrientedProgramming nesne tabanl programlama) tek bana bir program daha okunakl halegetiremez.
QBasic ve Visual Basic 6 nesne tabanl programlama dilleri deildir. C#, C++ ve Javanesne tabanl dillere rnektir. Hangi dilin OOP olduu tartladursun, biz imdilikC++ ileilk denemelerimizi yapacaz.
3.1. Kolay Programlama Yntemi
Bilgisayarnzn ne kadar gl olduu nemli deildir, onun snrlarn yazlmkontrol eder. Yazlmlarn en byk problemi gvenilirlik
Gvenilir bir program planlanan zamanda bitmelidir. Tam test etmeden piyasayasrmek kt sonular verebilir.
konusudur. Program sk sk
gmemeli, hata vermemeli ve garip davranmamaldr. Daha nceki derslerde bununneminden yaanm rnekler ilebahsetmitik.
Eski zamanlarda programlar kk olduu iin pek plan ve organizasyon yapmayagerek duyulmazd. almayan program programc tekrar yazyordu. Kk programlardadene ve hata bul ilemi pek zor deildir. Byk programlarda bceklerin daha fazlasaklanacak yerleri vardr.Milyonlarca satr programda dene ve hata bul pek ie yaramaz.Bu nedenle rnein bir mimar gkdeleni plansz olarak ina edemez.
nceki derslerde de anlatld gibi, byk programlar alt programlara blerek kolay programlanr hle getirmitik. Ana program yaymlanmadan nce alt program kodlar
AMA
ARATIRMA
RENME FAALYET3
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
28/44
24
kopyala yaptr ile birletirilir ve derlenir. Burada siz de bir phe duyuyor musunuz?
Mesela alma zamannda alt programlar dieralt programlardan etkileniyor olabilir mi?OOPde temel olan konu da alt modllerin dier modllere mdahale etmemesidir.
Yani aralarnda yaltmvardr. Modllere object nesne de denir.
Bir nesnenin iki temel zellii vardr: Veri: zellikler de denir. Komutlar: Metod da denir. Veriyi kontrol eden kodlardr.Nesne dier kodlara mdahale etmeyecei iin kazancmz unlar olur: Gvenilirlik: Program almadnda, bcekli nesne alnr ve dzeltilir, tm
programn elden geirilmesine gerek kalmaz. Tekrar kullanlabilme: Teorik olarak nesneleri alp baka program iinderahatlkla kullanabilirsiniz. Bylece yeni program yazarken daha hzl ilerinizibitirebilirsiniz.
Bu kazanlar inheritance miras alma, kalt alma, devralma sayesinde eldeederiz. Var olan kodu tekrar kullanabilmek,programcnndaha fazla ilerlemesini salar.
Resim 3.1: Klasik programlama ve nesne tabal programlamaKlasik programlamada alt program dier alt programn verisine ulaabilir. Nesne
tabanl programlamada ise nesneler verilerini korurlar. Bu korumaya encapsulation kuatma denir.
3.2. Nesne Kullanm
Programlamada en byk sorun, var olan kodu gncellemektir. Programc bunayllarn verir.Zaten alan bir program gncellemek yepyeni program yazmaktan kolaydr.Nesne tabanl programlamada, sadece gncellenmesi gerekli nesne zerine alldndan
programcnn ii kolaylar.Nesne tabanl programlama bu sebeple ok tutulmutur.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
29/44
25
Uzayllar vurduuzbir oyunda, ekrana gelen uzayllarn grnmn deitirmek iin
yapmanz gereken; uzayl nesnesini alp, deitirip, yeniden eski yerine koymaktr. Sadeceekil deil, hareketlerini de bu ekilde gncelleyebilirsiniz.
Nesnedeki Veriyi Saklama veya GstermeNesneler de birbirleri ile veri alveriinde bulunabilir. private,public veprotected
bu ilem iin yaplmtr. Private (zel): Nesne verisini ve kodunupaylama amaz. Public (paylamaak): Herkes nesnenin verisini ve kodunu kullanabilir. Protected (korumal): Eer varolan bir nesne miras alma yntemiyle
kopyalanp yeni bir nesne oluturulursa, yeni nesne sadece paylama ak(public), korumal (protected) veri ve komutlar miras alr. zel (Private) veri
ve komutlar eski nesnede kalr, yeni nesneye aktarlmaz.
Yeni bir nesne oluturmann ilk adm class snf oluturmaktr. Snf daha ncekiderste grdmz yapya benzer. Bir snf, veriyi kullanmak iin veri ve kodtanmlamalarn tanmlar. Bir snf nesne deildir. Nesneyi bir deiken gibi tanmlayp,snftan oluturursunuz.
Bir snftan nesneler tretebilirsiniz:class canavar
{
public:
int x_koordinati;int y_koordinati;
void hareketEt(int, int);
void ilklendirme(int, int);
};
te ilk snfmz yazdk. Grdnz gibi snfmzn x_koordinati ve y_koordinatiolarak tam say trnde 2 zellii var. hareketEt ve ilklendirme olarak da 2 metodumuzvar.
Bu hazrlktan sonra, yapmamz gereken metotlarn kodlarn hazrlamaktr:void canavar::hareketEt(int yeni_x, int yeni_y)
{
x_koordinati = x_koordinati + yeni_x;
y_koordinati = y_koordinati + yeni_y;
}
void canavar::ilklendirme(int ilk_x, int ilk_y)
{
x_koordinati = ilk_x;
y_koordinati = ilk_y;
}
Son olarak da ana programmz yazyoruz:
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
30/44
26
int main(int argc, char *argv[])
{
canavar zombi; //canavar snfndan zombi nesnesi retiyoruzzombi.ilklendirme(12, 15);
printf("Ilk C++ Programimiz\n");
cout
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
31/44
27
Resim 3.3: Snf(class) ve nesne (object)
Resim 3.4: Nesnelerin mesajlamas
3.3. Dil Seimi
Nesne tabanl programlama dilleri ana olarak u ekilde gruplandrlrlar:
Karma (hybrid) nesne tabanl programlama dili: Eski bir dil zerine OOPzellikleri eklenmi ise dil karma olur. Mesela Pascal zerine yaplm Delphi,C zerinde C++ gibi
Saf (pure) nesne tabanl programlama dili: SmallTalk, Eiffel, C# ve Java gibidorudan OOP zelliklerine sahip olarak yazlm diller.
Karma bir dil eski dili bilen birinin, nesne tabanl dile geiini kolaylatrmak iinyaplmtr. En az eitim ve deneyim ile OOPye geii salar. Programn kk bir ksmn
nesne tabanl, kalan byk ksmn eski klasik programlama yntemleri ile yazabilirsiniz.Aslnda en iyisi dorudan saf bir OOP dili ile programlamaya balamaktr. Bylece programlarmz karmak ve dzensiz olmaz. Tabii tek bana OOP ile dzenli ve kolayokunur program yazamazsnz. Yazlm tekniinizi, problem zm yntemlerinizigelitirmelisiniz.
Yazlm kullanacak olanlar, sizin gece ge saatlere kadar altnz, hangiprogramlama dilini kullandnz umursamaz.Zamannda biten, alr halde olan programsatlr, rabet grr. Ondan sonra da artk siz patron olursunuz, kravatnz takar, rakibinizigemek iin politikalar gelitirirsiniz.
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
32/44
28
Resim 3.5: Program yapm aamalar
Resim 3.6: renme grafii
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
33/44
29
UYGULAMA FAALYET
lem Basamaklar neriler
Snf tanmlamak iin uygun bir dilseiniz
Karma veya saf nesne tabanl programlamadillerini karlatrnz.
Bir snf tanmlaynz canavar rneindeki gibi siz de snfoluturabilirsiniz. Mesela tatlar iin tasitsnf gibi.canavar rneindeki gibi snfa hareketEtgibi metod ekleyiniz.tasit nesnesinden de rnein araba, kamyonnesneleri yaplabilir.
Snfa ait olaylar oluturunuz Snftan nesne oluturunuz
Nesnenin ilklenme (initialize) vedier olaylarnyaznz
Program iinde nesnenin olaylarn kontrolediniz.
UYGULAMA FAALYET
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
34/44
30
LME VE DEERLENDRME
OBJEKTF TESTLER (LME SORULARI)
Aadaki sorulardan; sonunda parantez olanlar doru / yanl sorulardr. Verilenifadeye gre parantez iine doru ise D, yanl ise Y yaznz. kl sorularda uygun kkiaretleyiniz.
1. Nesne tabanl programlamada, klasik programlamadaki dng ve dallanma gibikomutlar yoktur. ( )
2. Her nesne oluturulur oluturulmaz, hemen ilklendirilmelidir. ( )3. Programmz nesnelere bldmzde, dnyadaki tm programclar bizim
programmz anlayabi lirler. ( )
4. Encapsulation kuatma nesnenin dier nesnelerin komutlarna eriememesidir.( )5. Aadakilerden hangisi ile nesnenin deikendeerlerini koruyamayz
A) private - zel?
B) void -boC) protected - korumal
D) public paylamaak
6. Nesne tabanl programlamada hangisi nesne ile ilgili deildirA) Miras alma
?
B) KuatmaC) Alt programD) Metod
LME VE DEERLENDRME
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
35/44
31
MODL DEERLENDRME
PERFORMANS TEST (YETERLK LME)Modl ile kazandnz yeterlii, retmeniniz ilem basamaklarna gre 0 ile 10 puan
arasnda olacak eklinde deerlendirecektir.
Deerlendirme ltleri Puan
Tek isim vererek, birok veriye dizi kullarak ulama Bir dizi elemanna deer aktarma Dng iinde diziye veri girme ve gsterme eitli veri trlerine sahip deikenleri yap ile kontrol etme Yapsal veri tanmlanabilen bir dilde iareti oluturma Kayt yapsnda bir deiken tanmlama aretiyi bir deikene balama Snf tanmlamak iin uygun bir dil seme Bir snf tanmlayan nesne yazmaNesnenin ilklenme olayn yazma
Toplam (en fazla 100 puan olabilir)
DEERLENDRME
Yaptnz deerlendirme sonucunda eksikleriniz varsa renme faaliyetlerinitekrarlaynz.
Modl tamamladnz, tebrik ederiz. retmeniniz size eitli lme aralaruygulayacaktr. retmeninizle iletiime geiniz.
MODL DEERLENDRME
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
36/44
32
CEVAP ANHTARLARIRENME FAALYET 1 CEVAP ANAHTARI
1 D2 D3 D4 Y5 D6 A
RENME FAALYET-2 CEVAP ANAHTARI1 D2 Y3 Y4 Y5 D6 C
RENME FAALYET-3 CEVAP ANAHTARI
1 Y2 D3 Y4 D5 D6 C
Cevaplarnz cevap anahtarlar ile karlatrarak kendinizi deerlendiriniz.
CEVAP ANAHTARLARI
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
37/44
33
SZLKsim Okunu Anlam
priority prayoriti ilemciye yaptrlan ilemlerin ncelik deerleri
procedure pirsiicr yordam, prosedr
project pricekt proje, tasar
prompt prompt uyar, MS-DOS sistem hazr simgesi c:\> gibi
protect prtekt korumak, protection koruma
queue kyu kuyruk
real ril ondalklsaylar
recognize rikgnayz tanmak
record rikrd rekor, kayt
recover rikavr bilgileri kurtarmak
recursive rikrsiv kendini aran fonksiyon
register recstr yazma, kaytl kullanc olmak
registry recstri Windows kayt bilgileri
reserve rizrv ayrmak, rezervasyon
revert rivrt geri dntrmek, kurtarmak
root ruut kk, ana dizin
scene sin sahne
script skript yardmc programlama dili, el yazsscroll skrol kaydrmak
sector sektr blge, disk iz paras
sequence sikuins sra
server srvr ana bilgisayar, sunucu
set set kme, takm, ayarlamak (setting)
SZLK
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
38/44
34
KOD RNEKLER
Her iki rnekte de 3 isim bilgisi saklanr. Ekran grntleri ayndr. Acaba nedendeikenlerin tanmland yer olan DIM ksmnda birinci rnekte 3, ikinci rnekte 2yazmaktadr?
KOD RNEKLER
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
39/44
35
Dizinin snrlar dnda bir deer arlmas hatas; Index Out Of Range
Visual Basic ok boyutlu dizi rneinde eer DataGridView1de yeterli verigirilmemi ise nasl bir hata meydana gelebilir? Nasl bir nlem alrsnz?
TextBox4TextBox1
TextBox2
TextBox3
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
40/44
36
Dinamik dizi rnekprogramnda, dizi hazrlanmadan arama yaplrsa nasl bir hatameydana gelebilir? Nasl bir nlem alrsnz?
Visual Basic dilinde ok boyutlu dizi rnei
PrivateSub Button4_Click
Dim bilgi(1, 5) AsString 'ki boyutlu dizi tanmlama ksmDim i, j AsInteger
For i = 0 To 1
For j = 0 To 5
bilgi(i, j) = DataGridView1.Item(i, j).Value
Next
Next
MsgBox("Arama sonucu " & bilgi(TextBox5.Text, _
TextBox6.Text))
EndSub
Visual Basic dilinde dinamik dizi rnei
Dim DinamikDizi() AsString'dizi boyutu belli deil
PrivateSub Button6_Click
ReDim DinamikDizi(TextBox8.Text) 'kullanc boyutu girdiDim i AsInteger
For i = 0 To TextBox8.Text'kullanc deerleri giriyorDinamikDizi(i) = InputBox("Eleman deeri")
Next
EndSub
PrivateSub Button5_Click 'aranan eleman ekrana gelir
MsgBox(DinamikDizi(TextBox7.Text))
EndSub
C dilinde yap rnei
struct birOgrenci{
char *Ad;
int Notu;
}Ogrenciler;
main()
{
Ogrenciler.Ad = "Ali Can";
Ogrenciler.Notu = 34;
printf("Bir rencinin ad ve notu: %s %d",Ogrenciler.Ad, Ogrenciler.Notu);
}
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
41/44
37
Yap dizisi kullanm
Aadaki iaretiler ile ilgili C dilinde olan satrlarn inceleyiniz.char *hata = "Dosya yok!" //metin iaretilere ilk deer atanabilir
int *iptr;
iptr = (int *) 0x1b64;
//Belli bir adres iaretiye atanabilir, amatehlikelidir, neden?*iptr = 2001; //iaretiye deer aktarmprintf ("\n%p", iptr); //ekrana 1B64 yazar
printf ("\n%d", *iptr); //ekrana 2001 yazar
printf ("\n%X", &iptr); //ekrana FFF2 benzeri iaretinin adresini yazar
charfar *cptr; //1 MB (0-FFFFF) iinde tanmlanabilen iareti
p = (charfar *) 0x124532bc //1245 segment, 32bc offset adresidir
charfar *ekran = (charfar *) 0xb8000000;
//B800 DOSun ekran bilgilerinin tutulduu yerdir*(ekran+20) = '#';
*(ekran+21) = 10;
//metin ekrann ilk satrnn 11. stununa # karakterini basar//Neden 20 deyince 11. stun oldu?
//Not: ift adresler veri, tek adresler renk bilgisi olarak kullanlr
int a[3] = {12, 55, 88}; // elemanl dizi ve ilk deer atamalar
int *iptr; //int *iptr = a; da olabilirdiiptr = a;
C dilinde yap dizisi rnei
#include
struct birOgrenci{
char *Ad[15];
int Notu;
}Ogrenciler[2]; //Dizi olarak yap tanmlanmas
main()
{
int i;
clrscr(); //Yap iine veri aktarmafor (i=0; i
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
42/44
38
//dizi balang adresi & ile gsterilemezprintf ("\n%d",*(iptr+1));
//ekrana 55 yazarprintf ("\n%d", iptr[2]);
//ekrana 88 yazar; *(iptr+2) ile iptr[2] ayn anlamdadr
void deneme (int *iptr) //fonksiyona bir deikenin adresi gelecek{
*iptr=100; //iaretinin gsterdii yere deer aktarlr}
void main(void) //void ne anlama gelir?
{
int x;
deneme (&x); //x deikeninin adresi fonksiyona yollanr
printf ("%d", x); //ekrana 100 yazar}
char *ad_oku (void) //deer dndren fonksiyon{
char s[50];
printf ("Adnz=");gets(s);
return s; //okunan metnin deeri gnderilir}
main()
{
char *cptr;
cptr= ad_oku();
//dnecek deer ancak bir char tipi iaretiye aktarlabilirprintf("%s", cptr);
}
stte ekran belleine ulama ile ilgili bir rnek vardr. Sizce bellein istediinizyerine ulalmas programcya zgrlk m salyor, yoksa tam tersine, hazr ekrana yazyazma komutlar dururken byle ilem yapmak, daha da kstl bir ortam m salyor?
-
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
43/44
39
NERLEN KAYNAKLAR computer.howstuffworks.com en.wikipedia.org/wiki/Pointer java.sun.com/docs/books/tutorial/java www.bloodshed.net/devcpp.html www.robsite.de/programme.php?prog=ccompiler www.seslisozluk.com www.yunus.projesi.com
NERLEN KAYNAKLAR
http://computer.howstuffworks.com/http://en.wikipedia.org/wiki/Pointerhttp://java.sun.com/docs/books/tutorial/java/http://www.bloodshed.net/devcpp.htmlhttp://www.robsite.de/programme.php?prog=ccompilerhttp://www.seslisozluk.com/http://www.yunus.projesi.com/http://www.yunus.projesi.com/http://www.seslisozluk.com/http://www.robsite.de/programme.php?prog=ccompilerhttp://www.bloodshed.net/devcpp.htmlhttp://java.sun.com/docs/books/tutorial/java/http://en.wikipedia.org/wiki/Pointerhttp://computer.howstuffworks.com/ -
8/9/2019 Biliim Teknolojileri - 17 - Veri Yaplar
44/44
KAYNAKA BARIYANIK Tark, Programlama Ders Notlar ve Uygulamal Genel
Programlama Kitab(www.yunus.projesi.com)
WALLACE Wang, Beginning Programming for Dummies, Wiley Basmevi,Indianapolis, 2004
KAYNAKA
http://www.yunus.projesi.com/http://www.yunus.projesi.com/
top related