YZM311 YAZILIM YAPIMI BÖLÜM 5 YAPIM DİLLERİ VE KODLAMA. Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi
|
|
- Erdem Özçelik
- 8 yıl önce
- İzleme sayısı:
Transkript
1 YZM311 YAZILIM YAPIMI BÖLÜM 5 YAPIM DİLLERİ VE KODLAMA Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi
2 Giriş 2 Yapım Dilleri Programlama Dili Seçimi "Programming into a Language" Kodlama Sınıflar (Classes) Rutinler (Routines) Değişkenler (Variables) Deyimler (Statements)
3 Programlama Dili Seçimi 3 Programlama dili seçimi üretkenliği ve kod kalitesini çeşitli şekillerde etkileyebilir. Programcılar alışkın oldukları bir programlama dili ile alışkın olmadıkları bir dile göre daha üretkendirler. 3+ yıldır kullandıkları dil ile çalışan programcılar, aynı düzeyde deneyime sahip fakat yeni bir programlama diliyle çalışan programcılara göre %30 daha üretkendirler. (Boehm 2000). Yüksek seviyeli dillerle çalışan programcılar düşük seviyeli dillerle çalışan programcılara göre daha yüksek üretkenlik ve kod kalitesi ile çalışırlar. C++, Java, Smalltalk, ve Visual Basic gibi dillerin Assembly ve C gibi düşük seviyeli dillere göre 5-15 kata kadar üretkenliği, güvenilirliği, basitliği ve anlaşılabilirliği arttırdıkları bilinmektedir. (Brooks 1987, Jones 1998, Boehm 2000).
4 Programlama Dili Seçimi 4 Programlama Dili C Diline Oranı C 1 C Fortran 95 2 Java 2.5 Perl 6 Python 6 Smalltalk 6 Microsoft Visual Basic 4.5 Yüksek Seviyeli Dillerdeki Deyimlerin (Statements) Eşdeğer C Koduna Oranları
5 Programming into a Language 5 Programming in a language (Bir dilde programlama) "Bir dilde programlayan" programcılar düşüncelerini o dilin doğrudan sağladığı yapılarla sınırlandırırlar. Eğer dil ve ilgili araçlar ilkelse, programcının düşünceleri de ilkel olur. Programming into a language (Bir dile programlama) "Bir dile programlayan" programcılar öncelikle ifade etmek istedikleri düşüncelere karar verirler, sonra bu düşünceleri söz konusu dilin sağladığı araçlarla nasıl ifade edeceklerini belirlerler.
6 Sınıflar (Classes) 6 Sınıf Temelleri: Soyut Veri Tipleri (SVT) [Abstract Data Types (ADT)] İyi Sınıf Arabirimleri Sınıf Oluşturma Nedenleri Dile Özgü Konular
7 Sınıf Temelleri: Soyut Veri Tipleri (SVT) 7 Bir soyut veri tipi, verilerin ve o veriler üzerinde yapılacak işlemlerin bir koleksiyonudur. SVT'leri anlamak Nesne Yönelimli Programlama'yı anlamanın temelidir. Önce kullanılacak SVT'leri sonra Sınıfları düşünmek "Bir dile programlama"ya örnektir. Bir Bağlı-Listeye (linked-list) bir düğüm (node) eklemek yerine Bir elektronik-tabloya (spreadsheet) bir hücre (cell) eklemek Pencere tipleri listesine yeni bir pencere tipi eklemek Bir tren simülasyonuna başka bir vagon eklemek Düşük seviyeli implementasyon alanında (implementation domain) çalışmak yerine çözümlenecek probleme ilişkin problem alanında (problem domain) çalışılması.
8 SVT Örneği: Yazı Tipi Düzenleme 8 Bir fontu aslında 16 piksel yüksekliğinde olan 12 punto font büyüklüğüne çevirmek için şuna benzer bir kod kullanılabilir: currentfont.size = 16 Eğer bir kod kütüphanesi oluşturduysanız, kod belki şu şekilde daha okunaklı olabilir: currentfont.size = PointsToPixels( 12 ) Veya ilgili özellik için daha spesifik bir isim vermiş olabilirsiniz: currentfont.sizeinpixels = PointsToPixels( 12 ) Bu yazı tipini koyu yapmak için onaltılık tabanındaki 0x02 sabitini mantıksal veya ile uygulayan şuna benzer bir kod kullanabilirsiniz: currentfont.attribute = currentfont.attribute or 0x02 Veya ondan daha iyisi şöyle olabilir: currentfont.attribute = currentfont.attribute or BOLD Veya daha iyisi: currentfont.bold = True
9 SVT Kullanmanın Yararları 9 İmplementasyon detaylarını gizleyebilirsiniz Değişiklikler bütün programı etkilemez Arayüzleri daha anlaşılır ve aydınlatıcı yapabilirsiniz Performası arttırmak daha kolaydır Programın doğruluğu daha açık bir şekilde görülebilir Program kendi kendini dokümante eder hale gelir Programın her yerinde aynı verileri parametre geçirmek zorunda kalmazsınız Düşük seviyeli implementasyon yapılarıyla çalışmak yerine gerçek hayat varlıklarına daha yakın modellerle çalışabilirsiniz
10 SVT Örneği: Yazı Tipi Düzenleme 10 SVT tanımlamak için yazı tipini kontrol eden birkaç rutin tanımlamak yeterli olacaktır. Örneğin: currentfont.setsizeinpoints( sizeinpoints ) currentfont.setsizeinpixels( sizeinpixels ) currentfont.setboldon() currentfont.setboldoff() currentfont.setitalicon() currentfont.setitalicoff() currentfont.settypeface( facename ) Bu rutinlerin içindeki kod muhtemelen kısa olacaktır. Bu rutinlerin içindeki kod muhtemelen daha önceki örnektekiler gibi olacaktır. Bir farkla: düşük seviyeli yazı tipi işlemleri birkaç rutin ile izole edilmiş oldu. Bu yapı yazı tipleriyle çalışmak için çok daha iyi bir soyutlama ve yazı tipi işlemlerinde olabilecek değişikliklere karşı koruyucu bir katmak sağlamış oldu.
11 SVTler ve Sınıflar 11 Soyut veri tipleri sınıf kavramının temelini oluşturmaktadır. Sınıfları destekleyen bir dilde her bir SVT ayrı bir Sınıf olarak implemente edilebilir. Sınıflar ayrıca kalıtım (inheritance) ve çokbiçimlilik (polymorphism) gibi ek kavramlar içermektedir. Bir sınıf, bir soyut veri tipi + kalıtım & çokbiçimlilik olarak düşünülebilir.
12 İyi Sınıf Arabirimleri 12 Yüksek kaliteli sınıf oluşturmanın ilk ve belki de en önemli adımı iyi bir arabirim oluşturmaktır. Bunun için şunlar gerekir: İyi Soyutlama (Abstraction) İyi Sarmalama (Encapsulation)
13 İyi Soyutlama (Abstraction) 13 Sınıf arabiriminde tutarlı bir soyutlama oluşturun. Sınıfın hangi soyutlamayı implemente ettiğini anladığınızdan emin olun. Hizmetleri zıtlarıyla birlikte çiftler halinde sunun. İlgisiz/bağlantısız bilgileri başka sınıflara taşıyın. Arabirim soyutlamasıyla tutarlı olmayan public üyeler eklemeyin. Soyutlama ve Uyumu (cohesion) birlikte düşünün.
14 İyi Sarmalama (Encapsulation) 14 Sınıfların ve üyelerin erişilebilirliğini en aza indirin. Üye verileri public olarak dışarıya açmayın. Gizli implementasyon detaylarını sınıfın arabirimine koymamaya çalışın. Sınıfı kullanacaklarla ilgili varsayımda bulunmayın. Bir rutini sadece public rutinleri kullanıyor diye public arabirime koymayın. Yazma-zamanı kolaylığı yerine okuma-zamanı kolaylığını önemseyin. Sarmalamayı anlamsal (semantic) olarak ihlal edip etmediğinize dikkate edin. Sıkı bağlılığa (tight coupling) dikkat edin.
15 Sınıf Oluşturma Nedenleri 15 Gerçek hayat nesnelerini modellemek Soyut nesneleri modellemek Karmaşıklığı azaltmak Karmaşıklığı izole etmek İmplementasyon detaylarını gizlemek Değişikliklerin etkisinin sınırlandırmak Global veriyi gizlemek
16 Sınıf Oluşturma Nedenleri 16 Parametre geçirmeyi kolaylaştırmak Merkezi denetim noktaları oluşturmak Yeniden kullanılabilir (reusable) kod oluşturmak İlişkili işlemleri bir arada toplamak (package) Belirli bir yeniden düzenlemeyi gerçekleştirmek (refactoring)
17 Uzak Durulacak Sınıflar 17 Tanrı sınıflar (god classes) oluşturmaktan uzak durun İlgisiz sınıfları yok edin Fiillerden yola çıkılarak isimlendirilmiş sınıflardan uzak durun
18 Dile Özgü Konular 18 Kalıtım yoluyla override edilen yapıcı (constructor) ve yıkıcıların (destructor) davranışları İstisna yakalama (exception-handling) koşulları altında yapıcı ve yıkıcıların davranışları Varsayılan yapıcıların önemi (parametresiz yapıcı) Yıkıcı veya sonlandırıcının (finalizer) ne zaman çağrıldığı Atama ve eşitlik karşılaştırması gibi dilin kendi operatörlerinin override edilerek kullanılması Nesneler oluşturulduğu ve yok edildiği zaman ve ayrıca tanımlandıklarında ve kapsam dışı kaldıklarında bellek yönetiminin nasıl yapıldığı
19 Rutinler (Routines) 19 Rutin Oluşturmak için Geçerli Nedenler Rutin Seviyesinde Tasarım İyi Rutin İsimleri Bir Rutin Ne Kadar Uzun Olabilir? Rutin Parametreleri Nasıl Kullanılmalı?
20 Rutin Oluşturmak için Geçerli Nedenler 20 Karmaşıklığı azaltmak Ara düzeyde anlaşılabilir bir soyutlama oluşturmak Kod tekrarından sakınmak Altsınıf türetmeyi desteklemek İşlem sıralarını (sequence) gizlemek İşaretçi (pointer) işlemlerini gizlemek Taşınabilirliği arttırmak (portability) Karmaşık boolen testlerini basitleştirmek Performansı arttırmak
21 Rutin Oluşturmak için Fazlasıyla Basit Görünen İşlemler 21 Küçük rutinlerin bazı avantajları vardır: okunaklılığı arttırırlar points = deviceunits * ( POINTS_PER_INCH / DeviceUnitsPerInch() ) Function DeviceUnitsToPoints ( deviceunits Integer ): Integer DeviceUnitsToPoints = deviceunits * ( POINTS_PER_INCH / DeviceUnitsPerInch() ) End Function points = DeviceUnitsToPoints( deviceunits ) Küçük işlemlerin büyük işlemlere dönüşme eğilimi vardır Function DeviceUnitsToPoints( deviceunits: Integer ) Integer if ( DeviceUnitsPerInch() <> 0 ) DeviceUnitsToPoints = deviceunits * ( POINTS_PER_INCH / DeviceUnitsPerInch() ) else DeviceUnitsToPoints = 0 end if End Function
22 İyi Rutin İsimleri 22 Rutinin yaptığı herşeyi açıklayın Anlamsız, belirsiz ve boş fiillerden uzak durun HandleCalculation(), PerformServices(), OutputUser(), ProcessInput(), DealWithOutput() Rutin isimlerini yalnızca sayı ile farklılaştırmayın OutputUser(), OutputUser1(), OutputUser2() Rutin isimlerini gerektiği kadar uzun tutun Bir fonksiyonu isimlendirmek için dönüş değerinin açıklamasını kullanın cos(), customerid.next(), printer.isready(), pen.currentcolor() Bir prosedürü isimlendirmek için, bir nesne ile devam eden güçlü bir fiil kullanın PrintDocument(), CalcMonthlyRevenues(), CheckOrderlnfo() Zıtları doğru şekilde kullanın add/remove, open/close, start/stop, get/set Ortak işlemler için isimlendirme standartları oluşturun
23 Bir Rutin Ne Kadar Uzun Olabilir? 23 Çoğunlukla rutinlerin küçük olması tercih edilir. Genellikle bir rutinin satıra kadar büyümesine izin verilebilir. (Satır ile kastedilen yorum olmayan ve boş olmayan kod satırı kastedilmektedir.) Rutin uzunluğundan daha önemli şeyler var: Rutinin uyumu (cohesion) İç içe yuvalanma derinliği Değişkenlerin sayısı Karar noktalarının sayısı Rutini açıklamak için kullanılan yorum satırlarının sayısı Karmaşıklıkla ilgili şeyler
24 Rutin Parametreleri Nasıl Kullanılmalı? 24 Parametereleri giren-değişen-çıkan (input-modify-output) sırasında kullanın Benzer parametre dizilimini birden çok rutin kullanıyorsa, bunları tüm rutinlerde tutarlı bir sırayla kullanın Rutine geçirilen tüm parametreleri rutinde kullanın Durum (status) veya hata (error) değişkenlerini en sona koyun Rutin parametrelerini yerel değişkenler gibi kullanmayın Parametrelerle ilgili varsayımları dokümante edin Parameterelerin yalnızca-giren, değişen, ya da yalnızca-çıkan olduğu Parametrelerin birimleri (inç, cm, feet, metre, vb.) Durum ve hata kodlarının anlamları (enum tipler kullanılmıyorsa) Beklenen değer aralıkları Asla olmaması gereken spesifik değerler Rutinin parametre sayısını ortalama 7 olarak sınırlandırın Parametreler için giren-değişen-çıkan olmasına göre bir isimlendirme standardı kullanın
25 Değişkenler (Variables) 25 Değişken Bildirimleri (Variable Declarations) Değişkenlerin İlk Değerinin Verilmesi (Initializing Variables) Her Bir Değişkenin Yalnızca Tek Amaç İçin Kullanılması Değişkenlerin İsimlendirilmesi
26 Değişken Bildirimleri (Variable Declarations) 26 Varsayılan (implicit) bildirimleri devre dışı bırakın acctno, acctnum Tüm değişkenler için bildirimde bulunun İsimlendirme standartları kullanın Değişken isimlerini kontrol edin
27 Değişkenlerin İlk Değerinin Verilmesi 1/3 27 Değişkenlere bildirim yapıldığı anda ilk değer verin float studentgrades[ MAX_STUDENTS ] = { 0.0 ; Değişkenlere ilk kullanıldıkları yere yakın yerde ilk değer verin KÖTÜ UYGULAMA ' declare all variables Dim accountindex As Integer Dim total As Double Dim done As Boolean İYİ UYGULAMA Dim accountindex As Integer accountindex = 0 ' code using accountindex ' initialize all variables accountindex = 0 total = 0.0 done = False ' code using accountindex ' code using total Dim total As Double total = 0.0 ' code using total Dim done As Boolean done = False ' code using done While Not done ' code using done While Not done
28 Değişkenlerin İlk Değerinin Verilmesi 2/3 28 İdeal olarak, değişken bildirim ve tanımlamalarını ilk kullanıldıkları yere yakın yerde yapın int accountindex = 0; // code using accountindex double total = 0.0; // code using total boolean done = false; // code using done while (! done ) { Mümkünse final veya const kullanın Sayaç ve kümülatif değişkenlere özellikle dikkat edin Sınıfın üyelerini yapıcı içinde ilklendirin Yeniden ilk değer vermeye gerek olup olmadığını kontrol edin
29 Değişkenlerin İlk Değerinin Verilmesi 3/3 29 İsimlendirilmiş sabitleri yalnızca bir kez ilklendirin; değişkenleri ise çalışan kod ile ilklendirin Varsa tüm değişkenleri otomatik olarak ilklendiren derleyici seçeneklerini kullanın Derleyici uyarı (warning) mesajlarından yararlanın Girdi türündeki parametrelerin geçerliliğini kontrol edin (doğru ilklendirilmemiş olma olasılığına karşı).
30 Her Bir Değişkenin Yalnızca Tek Amaç İçin Kullanılması 30 Her bir değişkenin yalnızca tek amaç için kullanın KÖTÜ UYGULAMA // Compute roots of a quadratic equation. // This code assumes that (b*b-4*a*c) is // positive. temp = Sqrt( b*b - 4*a*c ); root[o] = ( -b + temp ) / ( 2 * a ); root[1] = ( -b - temp ) / ( 2 * a ); İYİ UYGULAMA // Compute roots of a quadratic equation. // This code assumes that (b*b-4*a*c) is // positive. discriminant = Sqrt( b*b - 4*a*c ); root[0] = ( -b + discriminant ) / ( 2 * a ); root[1] = ( -b - discriminant ) / ( 2 * a ); // swap the roots temp = root[0]; root[0] = root[1]; root[1] = temp; // swap the roots oldroot = root[0]; root[0] = root[1]; root[1] = oldroot; Gizli anlamlar içeren değişkenlerden uzak durun Bildirimi yapılan tüm değişkenlerin kullanıldığından emin olun
31 Değişkenlerin İsimlendirilmesi 1/6 31 Kod yazıldığından daha fazla okunur. Yazma zamanını kolaylaştırmak yerine okuma zamanını kolaylaştıran isimler seçmeye özen gösterin. Örneğin: KÖTÜ UYGULAMA x = x - xx; xxx = fido + SalesTax( fido ); x = x + LateFee( x1, x ) + xxx; x = x + Interest( x1, x ); İYİ UYGULAMA balance = balance - lastpayment; monthlytotal = newpurchases + SalesTax( newpurchases ); balance = balance + LateFee( customerid, balance ) + monthlytotal; balance = balance + Interest( customerid, balance ); En önemli isimlendirme kuralları: Değişkenin ismi, değişkenin temsil ettiği varlığı tam olarak ve net bir şekilde açıklamalıdır. Nasıl? Değişkenin temsil ettiği şeyi sözcüklerle ifade edin. Değişkenin ismi olabildiğine spesifik olmalıdır.
32 Değişkenlerin İsimlendirilmesi 2/6 32 Değşkenin Amacı Running total of checks written to date Velocity of a train Current date İyi İsimler, İyi Tanımlayıcılar Kötü İsimler, Zayıf Tanımlayıcılar runningtotal, checktotal velocity, trainvelocity, velocityinmph currentdate, todaysdate written, ct, checks, CHKTTL, x, x1, x2 velt, v, tv, x, x1, x2, train cd, current, c, x, x1, x2, date Lines per page linesperpage lpp, lines, l, x, x1, x2
33 Değişkenlerin İsimlendirilmesi 3/6 33 Optimum İsim Uzunluğu x ile maximumnumberofpointsinmodernolympics değişkenlerinin uzunlukları arasında bir yerde olmalı. Çok kısa isimler anlamı yeterince iletmiyor. Çok uzun isimleri yazmak zordur ve programın görsel yapısını belirsizleştirir. Çok uzun: Çok kısa: Uygun: numberofpeopleontheusolympicteam numberofseatsinthestadium maximumnumberofpointsinmodernolympics n, np, ntm n, ns, nsisd m, mp, max, points numteammembers, teammembercount numseatsinstadium, seatcount teampointsmax, pointsrecord
34 Değişkenlerin İsimlendirilmesi 4/6 34 Değişken İsimlerinde Hesaplanan-Değer Niteleyicileri Eğer bir ismi Total, Sum, Average, Max, Min, Record, String, or Pointer gibi bir niteleyici ile değiştirirseniz, niteleyiciyi ismin sonuna ekleyin. Değişkenin anlamının önemli kısmı önde kalmış olur. İlişkili değişkenler arasında hoş bir simetri oluşur. revenuetotal, expensetotal, revenueaverage, expenseaverage Bu kuralın istisnası: Num niteleyicisini en başa koyun. numcustomers: toplam müşteri sayısı customernum: geçerli müşterinin numarası!!!
35 Değişkenlerin İsimlendirilmesi 5/6 35 Ne Zaman İyi Bir İsimlendirme Standardınız Olmalı? Bir projede birden çok programcı çalışıyorsa Değişiklik ve bakım amacıyla bir programı başka bir programcıya yönlendirmeniz gerekirse (nerdeyse her zaman böyle olur) Programlarınız kurum içindeki başka programcılar tarafından gözden geçiriliyorsa Programınız bir seferde tamamına odaklanamayacak kadar büyükse ve bu nedenle parçalar halinde çalışmanız gerekiyorsa Kodlarınız üzerinde haftalar ya da aylar sonra yeniden çalışmanız gerekecekse Programınızda projeye ilişkin çok sayıda pek alışık olmadığınız terimler varsa ve kodlarken standart terimler ve kısaltmalar kullanmak istiyorsanız
36 Değişkenlerin İsimlendirilmesi 6/6 36 Dilden Bağımsız İsimlendirme Kuralları İçin Öneriler: Değişken isimleriyle rutin isimlerini farklılaştırın: variablename, RoutineName(). Sınıflarla nesneleri farklılaştırın: Widget widget; Global değişkenleri belirginleştirin: g_runningtotal Sınıf üyelerini belirginleştirin: m_birthdate Tip tanımlamalarını belirginleştirin: TCustomer İsimlendirilmiş sabitleri belirginleştirin: LINES_PER_PAGE_ MAX Enum tiplerinin elemanlarını belirginleştirin Zorlayıcı kuralı olmayan dillerde sadece-girdi olan değişkenleri belirginleştirin Okunaklılığı arttırmak için isimleri biçimlendirin: GYMNASTICSPOINTTOTAL gymnasticspointtotal veya gymnastics_point_total
37 Deyimler (Statements) 37 Şart İfadelerinin Kullanımı (Conditionals) if Deyimleri case Deyimleri Döngüleri Kontrol Etmek Döngü Türünü Seçmek Döngüyü Kontrol Etmek Denetimle İlgili Genel Konular Boolean İfadeler Tehlikeli Biçimde Derin İç İçe İfadeler Kontrol Yapıları ve Karmaşıklık
38 if Deyimleri 1/8 38 Düz if-then Deyimleri Önce kodun nominal yolunu yazın; olağandışı ya da nadir durumları sonra yazın Eşitlik durumunda doğru dallanıldığından emin olun Normal durumu if 'ten sonraya koyun, else 'ten sonraya değil if 'ten sonra anlamlı bir deyim koyun boş deyim kullanmayın else durumunu hesaba katın else bölümünün doğruluğunu test edin if ve else bloklarının ters olup olmadığını kontrol edin
39 if Deyimleri 2/8 39 Normal durumu if 'ten sonraya koyun, else 'ten sonraya değil KÖTÜ UYGULAMA OpenFile( inputfile, status ) If ( status = Status_Error ) Then errortype = FileOpenError Else ReadFile( inputfile, filedata, status ) If ( status = Status_Success ) Then SummarizeFileData( filedata, summarydata, status ) If ( status = Status_Error ) Then errortype = ErrorType_DataSummaryError Else PrintSummary( summarydata ) SaveSummaryData( summarydata, status ) If ( status = Status_Error ) Then errortype = ErrorType_SummarySaveError Else UpdateAllAccounts() EraseUndoFile()a errortype = ErrorType_None End If End If Else errortype = ErrorType_FileReadError End If End If İYİ UYGULAMA OpenFile( inputfile, status ) If ( status = Status_Success ) Then ReadFile( inputfile, filedata, status ) If ( status = Status_Success ) Then SummarizeFileData( filedata, summarydata, status ) If ( status = Status_Success ) Then PrintSummary( summarydata ) SaveSummaryData( summarydata, status ) If ( status = Status_Success ) Then UpdateAllAccounts() EraseUndoFile() errortype = ErrorType_None Else errortype = ErrorType_SummarySaveError End If Else errortype = ErrorType_DataSummaryError End If Else errortype = ErrorType_FileReadError End If Else errortype = ErrorType_FileOpenError End If
40 if Deyimleri 3/8 40 if 'ten sonra anlamlı bir deyim koyun boş deyim kullanmayın KÖTÜ UYGULAMA if ( sometest ) ; else { // do something İYİ UYGULAMA if (! sometest ) { // do something else durumunu hesaba katın İYİ // if color is valid if ( COLOR_MIN <= color && color <= COLOR_MAX ) { // do something BETTER PRACTICE // if color is valid if ( COLOR_MIN <= color && color <= COLOR_MAX ) { // do something else { // else color is invalid // screen not written to // safely ignore command
41 if Deyimleri 4/8 41 Zincirleme if-then-else Deyimleri Karmaşık boolean test ifadelerini boolean fonksiyon çağrılarıyla basitleştirin En olası durumları ilk sıralara koyun Bütün olasılıkları dikkate aldığınızdan emin olun Eğer kullandığınız dil destekliyorsa if-then-else zincirlerini başka yapılara dönüştürün
42 if Deyimleri 5/8 42 Karmaşık boolean test ifadelerini boolean fonksiyon çağrılarıyla basitleştirin KÖTÜ UYGULAMA if ( inputcharacter < SPACE ) { charactertype = CharacterType_ControlCharacter; else if ( inputcharacter == ' ' inputcharacter == ',' inputcharacter == '.' inputcharacter == '!' inputcharacter == '(' inputcharacter == ')' inputcharacter == ':' inputcharacter == ';' inputcharacter == '?' inputcharacter == '-' ) { charactertype = CharacterType_Punctuation; else if ( '0' <= inputcharacter && inputcharacter <= '9' ) { charactertype = CharacterType_Digit; else if ( ( 'a' <= inputcharacter && inputcharacter <= 'z' ) ( 'A' <= inputcharacter && inputcharacter <= 'Z' ) ) { charactertype = CharacterType_Letter; İYİ UYGULAMA if ( IsControl( inputcharacter ) ) { charactertype = CharacterType_ControlCharacter; else if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter;
43 if Deyimleri 6/8 43 En olası durumları ilk sıralara koyun KÖTÜ UYGULAMA if ( IsControl( inputcharacter ) ) { charactertype = CharacterType_ControlCharacter; else if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter; İYİ UYGULAMA if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter; else if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsControl( inputcharacter ) ) { charactertype = CharacterType_ControlCharacter;
44 if Deyimleri 7/8 44 Bütün olasılıkları dikkate aldığınızdan emin olun KÖTÜ UYGULAMA if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter; else if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsControl( inputcharacter ) ) { charactertype = CharacterType_ControlCharacter; İYİ UYGULAMA if ( IsLetter( inputcharacter ) ) { charactertype = CharacterType_Letter; else if ( IsPunctuation( inputcharacter ) ) { charactertype = CharacterType_Punctuation; else if ( IsDigit( inputcharacter ) ) { charactertype = CharacterType_Digit; else if ( IsControl( inputcharacter ) ) { charactertype = CharacterType_ControlCharacter; else { DisplayError( "Unexpected character detected." );
45 if Deyimleri 8/8 45 Eğer kullandığınız dil destekliyorsa if-then-else zincirlerini başka yapılara dönüştürün KÖTÜ UYGULAMA if ( inputcharacter < SPACE ) { charactertype = CharacterType_ControlCharacter; else if ( inputcharacter == ' ' inputcharacter == ',' inputcharacter == '.' inputcharacter == '!' inputcharacter == '(' inputcharacter == ')' inputcharacter == ':' inputcharacter == ';' inputcharacter == '?' inputcharacter == '-' ) { charactertype = CharacterType_Punctuation; else if ( '0' <= inputcharacter && inputcharacter <= '9' ) { charactertype = CharacterType_Digit; else if ( ( 'a' <= inputcharacter && inputcharacter <= 'z' ) ( 'A' <= inputcharacter && inputcharacter <= 'Z' ) ) { charactertype = CharacterType_Letter; İYİ UYGULAMA Select Case inputcharacter Case "a" To "z" charactertype = CharacterType_Letter Case " ", ",", ".", "!", "(", ")", ":", ";", "?", "-" charactertype = CharacterType_Punctuation Case "0" To "9" charactertype = CharacterType_Digit Case FIRST_CONTROL_CHARACTER To LAST_CONTROL_CHARACTER charactertype = CharacterType_Control Case Else DisplayInternalError( "Unexpected character detected." ) End Select
46 case Deyimleri 46 case seçeneklerini alfabetik ya da nümerik olarak sıralayın Normal durumu ilk sıraya koyun case seçeneklerini çalıştırılma sıklıklarına göre sıralayın case bloklarının yaptığı işleri basit tutun default case bloğunu yalnızca geçerli varsayılan durum için kullanın default case bloğunu hata tespiti için kullanın C++ ve Java'da case deyimlerinin sonundan aşağı düşme tehlikesine dikkat edin C++'ta case deyiminden aşağı devam söz konusuysa açıkça ve hatasız bir şekilde bunu belirtin
47 Döngü Türünü Seçmek 47 Döngü Türü Esneklik Şart Test Yeri for esnek başta while esnek başta do-while, esnek sonda repeat-until foreach katı başta Döngünün kaç kere tekrar edeceği belli değilse while döngüsü kullanın. Belli sayıda tekrar edecek işlemler için for döngüsü iyi bir seçimdir. foreach döngüsü veya diğer dillerdeki eşdeğerleri (foreach in C#, For-Each in Visual Basic, for-in in Python) bir array veya koleksiyonun elemanları üzerinde işlem yapmak için çok uygundur.
48 Döngüyü Kontrol Etmek 48 Döngüye Giriş Döngünün Ortasını İşleme Döngüden Çıkış Döngü Değişkenlerinin Kullanımı Bir Döngü Ne Kadar Uzun Olmalı?
49 Döngüye Giriş 49 Döngüye yalnızca bir yerden girin İlklendirme kodunu döngünün hemen üzerine koyun Sonsuz döngü için while( true ) kullanın Eğer uygunsa for döngüsünü tercih edin while döngüsü daha uygunsa for döngüsü kullanmayın KÖTÜ UYGULAMA // read all the records from a file recordcount = 0; for ( inputfile.movetostart();!inputfile.endoffile(); inputfile.getrecord() ) { recordcount++; İYİ UYGULAMA // read all the records from a file inputfile.movetostart(); recordcount = 0; while (!inputfile.endoffile() ) { inputfile.getrecord(); recordcount++;
50 Döngünün Ortasını İşleme 50 Döngü deyimlerini çevrelemek için { ve kullanın Boş döngülerden uzak durun KÖTÜ UYGULAMA while ( ( inputchar = datafile.getchar() )!= CharType_Eof ) { ; İYİ UYGULAMA do { inputchar = datafile.getchar(); while ( inputchar!= CharType_Eof ); Döngünün idaresiyle ilgili işleri döngü başında ya da döngü sonunda yapın İYİ UYGULAMA namecount = 0; totallength = 0; while (!inputfile.endoffile() ) { // do the work of the loop inputfile >> inputstring; names[ namecount ] = inputstring; // prepare for next pass through the loop--housekeeping namecount++; totallength = totallength + inputstring.length(); Her bir döngünün yalnızca bir fonksiyon gerçekleştirmesini sağlayın
51 Döngüden Çıkış 1/2 51 Döngünün sona ereceğinden emin olun Döngü sonlanma koşullarının açıkça belirgin olmasını sağlayın Döngüyü sonlandırmak için for döngüsünün sayaç değişkeniyle oynamayın for ( int i = 0; i < 100; i++ ) { // some code if ( ) { i = 100; KÖTÜ UYGULAMA // more code
52 Döngüden Çıkış 2/2 52 Döngünün sayaç değişkeninin son değerine bağımlı kod yazmaktan sakının KÖTÜ UYGULAMA for ( recordcount = 0; recordcount < MAX_RECORDS; recordcount++ ) { if ( entry[ recordcount ] == testvalue ) { break; // lots of code if ( recordcount < MAX_RECORDS ) { return( true ); else { return( false ); İYİ UYGULAMA found = false; for ( recordcount = 0; recordcount < MAX_RECORDS; recordcount++ ) { if ( entry[ recordcount ] == testvalue ) { found = true; break; // lots of code return( found ); break ve continue komutlarını dikkatle kullanın
53 Döngü Değişkenlerinin Kullanımı 1/2 53 Diziler ve döngüler üzerinde sınır değişkeni olarak ordinal veya enum kullanın İç içe döngülerin okunaklı ve anlaşılır olması için anlamlı değişken isimleri kullanın KÖTÜ UYGULAMA for ( int i = 0; i < numpaycodes; i++ ) { for ( int j = 0; j < 12; j++ ) { for ( int k = 0; k < numdivisions; k++ ) { sum = sum + transaction[ j ][ i ][ k ]; İYİ UYGULAMA for ( int paycodeidx = 0; paycodeidx < numpaycodes; paycodeidx++ ) { for (int month = 0; month < 12; month++ ) { for ( int divisionidx = 0; divisionidx < numdivisions; divisionidx++ ) { sum = sum + transaction[ month ][ paycodeidx ][ divisionidx ];
54 Döngü Değişkenlerinin Kullanımı 2/2 54 Döngü sayaçlarının karışmaması için anlamlı ve ayırdedici isimler kullanın KÖTÜ UYGULAMA for ( i = 0; i < numpaycodes; i++ ) { // lots of code for ( j = 0; j < 12; j++ ) { // lots of code for ( i = 0; i < numdivisions; i++ ) { sum = sum + transaction[ j ][ i ][ k ]; Döngü sayaç değişkenlerinin kapsamını yalnızca döngü içiyle sınırlandırın İYİ UYGULAMA for ( int recordcount = 0; recordcount < MAX_RECORDS; recordcount++ ) { // looping code that uses recordcount
55 Bir Döngü Ne Kadar Uzun Olmalı? 55 Döngünün tamamının bir bakışta görülebilecek uzunlukta olmasına çalışın İç içe döngülerin seviyesi en fazla 3 olmalıdır Uzun döngülerin iç kısımlarını rutinlerle yeniden düzenleyin Uzun döngüleri özellikle açık ve sade hale getirin
56 Boolean İfadeler 56 Boolean değerleri true ve false ile üstü kapalı biçimde karşılaştırın KÖTÜ UYGULAMA while ( done == false ) İYİ UYGULAMA while (!done ) while ( (a > b) == true ) Karmaşık testleri yeni boolean değişkenlerle kısmi testlere bölüştürün Karmaşık ifadeleri boolean fonksiyonlarla sadeleştirin Boolean testlerini olumsuzlarıyla sadeleştirmek için DeMorgan yasalarını uygulayın KÖTÜ UYGULAMA if (!displayok!printerok ) Boolean ifadeleri netleştirmek için parantez kullanın KÖTÜ UYGULAMA if ( a < b == c == d ) Boolean ifadelerin nasıl değerlendirildiğini bilin KÖTÜ UYGULAMA if ((denominator!= 0 ) & ((item / denominator) > MIN_VALUE)) while ( a > b ) Java'da a==b ile a.equals(b) arasındaki farkı bilin İYİ UYGULAMA if (!( displayok && printerok ) ) İYİ UYGULAMA if ( ( a < b ) == ( c == d ) ) İYİ UYGULAMA if ((denominator!= 0) && ((item / denominator) > MIN_VALUE))
57 Tehlikeli Biçimde Derin İç İçe İfadeler 1/5 57 İç içe if deyimlerini, koşulun bazı kısımlarını yeniden test ederek sadeleştirin KÖTÜ UYGULAMA if ( inputstatus == Success ) { // lots of code if ( printerroutine!= NULL ) { // lots of code if ( SetupPage() ) { // lots of code if ( AllocMem( &printdata ) ) { // lots of code İYİ UYGULAMA if ( inputstatus == Success ) { // lots of code if ( printerroutine!= NULL ) { // lots of code if ( ( inputstatus == Success ) && ( printerroutine!= NULL ) && SetupPage() ) { // lots of code if ( AllocMem( &printdata ) ) { // lots of code
58 Tehlikeli Biçimde Derin İç İçe İfadeler 2/5 58 İç içe if deyimlerini, break bloğu kullanarak sadeleştirin KÖTÜ UYGULAMA if ( inputstatus == Success ) { // lots of code if ( printerroutine!= NULL ) { // lots of code if ( SetupPage() ) { // lots of code if ( AllocMem( &printdata ) ) { // lots of code İYİ UYGULAMA do { // begin break block if ( inputstatus!= Success ) { break; // break out of block // lots of code if ( printerroutine == NULL ) { break; // break out of block // lots of code if (!SetupPage() ) { break; // break out of block // lots of code if (!AllocMem( &printdata ) ) { break; // break out of block // lots of code while (FALSE); // end break block
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ıif (ad == "Sabri") Console.WriteLine("Merhaba Sabri. Ne zamandır gözükmüyodun...");
Koşul İfadeleri ve Akış Kontrolü Koşul ifadeleri ve akış kontrolleri programlama dillerinde her zaman en önemli yeri tutmaktadır. Yazdığımız uygulamanın hangi koşulda nasıl davranacağını belirterek bir
DetaylıÖnemli noktalar. Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance
Önemli noktalar Paradigma Nesnelere Giriş Mesajlar / Ara bağlantılar Bilgi Gizleme (Information Hiding ) Sınıflar(Classes) Kalıtım/Inheritance public class Test { // çalışır İnsan insan = new Çiçekçi();
DetaylıYazılım Kodlama ve İ simlendirme Standartları v1.0
Yazılım Kodlama ve İ simlendirme Standartları v1.0 İçerik Yazılım Kodlama ve İsimlendirme Standartları... 2 1. Amaç... Hata! Yer işareti tanımlanmamış. 2. Kapsam... Hata! Yer işareti tanımlanmamış. 3.
Detaylı2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI
2013-14 GÜZ YY. - MKT103 - GÖRSEL PROGRAMLAMA DERSİ - ARA SINAVI KOÜ Mekatronik Mühendisliği Bölümü/MKT-103-Görsel Programlama Dersi - Ara Sınav J-grubu Ad-Soyad:...No:... J GRUBU-süre:70dk 1.) Aşağıdaki
Detaylı1 PROGRAMLAMAYA GİRİŞ
İÇİNDEKİLER IX İÇİNDEKİLER 1 PROGRAMLAMAYA GİRİŞ 1 Problem Çözme 1 Algoritma 1 Algoritmada Olması Gereken Özellikler 2 Programlama Dilleri 6 Programlama Dillerinin Tarihçesi 6 Fortran (Formula Translator)
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ı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 - 5 Nesneye Yönelik Programlamaya Giriş Bu
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ı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 Koşul Karşılaştırma Operatörleri Mantıksal
DetaylıPASCAL PROGRAMLAMA DİLİ YAPISI
BÖLÜM 3 PASCAL PROGRAMLAMA DİLİ YAPISI 3.1. Giriş Bir Pascal programı en genel anlamda üç ayrı kısımdan oluşmuştur. Bu kısımlar bulunmaları gereken sıraya göre aşağıda verilmiştir. Program Başlığı; Tanımlama
DetaylıPostgreSQL ve PL/pgSQL
PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarım ve geliştiricisi @ : adnandursun.at.asrinbilisim.com.tr : +AdnanDURSUN Sunum Akışı PL/pgSQL nedir PL/pgSQL neden kullanmalıyız PL/pgSQL in yapısı Saklı
DetaylıNesne Yönelimli Programlama
1 Nesne Yönelimli Programlama Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Not: Bu dersin sunumları, Java Programlama Dili ve Yazılım Tasarımı, Altuğ B. Altıntaş, Papatya
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ıÖğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi
Öğr. Gör. Musa AYDIN Fatih Sultan Mehmet Vakıf Üniversitesi İÇİNDEKİLER Değişken Nedir? Değişken kullanımı faydaları. Değişken türleri Değişken görünürlüğü (scope) Değişken türleri arası dönüşümler Örnek
Detaylı10.DERS Yazılım Gerçekleştirme
10.DERS Yazılım Gerçekleştirme 1 Giriş: Bilgisayarlara yaptırılmak istenenleri, anlatabilmek için programlama dilleri kullanılır. Bir ihtiyaç veya konu doğrultusunda meydana getirilen tasarım önce programlama
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ıORACLE DA KÜRSÖRLER. Gerekli sistem değişkenleri
ORACLE DA KÜRSÖRLER Gerekli sistem değişkenleri SQL%ISOPEN : kürsör açıksa değeri true, kapalı ise değeri false SQL%ROWCOUNT : sql ile işlem gören kayıt sayısı bulunur. SQL%FOUND : sql işlemi sonucu, en
DetaylıBBS515 Nesneye Yönelik Programlama. Ders 3 Zümra Kavafoğlu
BBS515 Nesneye Yönelik Programlama Ders 3 Zümra Kavafoğlu https://zumrakavafoglu.github.io/ Bağıntısal Operatörler operatör tanımı < küçüktür > büyüktür = büyük eşittir eşittir!= eşit
DetaylıAlgoritmalar ve Programlama. Algoritma
Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü
DetaylıJAVA DÖNGÜ DEYİMLERİ. For Döngüsü
JAVA DÖNGÜ DEYİMLERİ Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrarlanabilir. Java da bu işi yapan üç ayrı deyim vardır: while
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ı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ıBMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN
BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN TEMEL AMAÇLAR Bir dairenin yarıçapını kullanıcıdan alarak dairenin alanını hesaplamak istediğimizi düşünelim. Eğer girilen değer
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ıBölüm 11. Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1
Bölüm 11 Soyut veri tipleri ve kapsülleme kavramları ISBN 0-321-49362-1 11. Bölüm konuları Soyutlama kavramı Veri soyutlamasına giriş Soyut veri tipleri için tasarım konuları Dil örnekleri Parametreli
Detaylı-A Grubu- MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı
KOCAELİ ÜNİVERSİTESİ 14.10.2016 MÜHENDİSLİK FAKÜLTESİ MEKATRONİK MÜHENDİSLİĞİ MKT103 Görsel Programlama 2015/2016 Güz Dönemi Final Sınavı Öğretim Üyesi: Prof. Dr. Hasan OCAK Sınav Süresi: 80 dakika. Her
DetaylıJava da Program Denetimi ve Operatörler
Java da Program Denetimi ve Operatörler 1 Atamalar int a ; a=4 ; // doğru bir atama 4=a ; // yanlış bir atama! 2 Temel (Primitive) Tiplerde Atama int a, b ; a=4 ; b=5 ; a=b ; Sonuç : a=5, b=5 3 Nesneler
DetaylıPostgreSQL ve PL/pgSQL
PostgreSQL ve PL/pgSQL Adnan DURSUN Uygulama tasarımcı ve geliştirici adnandursun@asrinbilisim.com.tr 30.04.2011 İstanbul 1. PostgreSQL Türkiye Konferansı 1 Akış PL/pgSQL nedir PL/pgSQL neden kullanmalıyız
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ı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ıChapter 8. Komut düzeyi kontrol yapıları ISBN
Chapter 8 Komut düzeyi kontrol yapıları ISBN 0-321-49362-1 8. bölüm konuları Giriş Seçme komutları Tekrarlayan komutlar Şartsız dallanma Korumalı komutlar Sonuç Tercüme edip geliştiren: Doç. Dr. Zeki Bayram,
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ıBölüm 10. Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1
Bölüm 10 Altprogramların gerçeklenmesi ISBN 0-0-321-49362-1 10. Bölüm konuları Çağırma / geri dönme semantiği Yığıt-dinamik yerel değişkeni olan altprogramların gerçeklenmesi İçiçe altprogramlar Statik
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 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ıRuby. Prof.Dr.Timur Karaçay Başkent Üniversitesi
Ruby Prof.Dr.Timur Karaçay Başkent Üniversitesi Eylül 2014 2 Aren e ve Altan a ii Önsöz Ruby dilinin yaratıcısı Yukihiro Matsumoto, onu kısaca Matz diye çağırırlar, yarattığı dili şöyle anlatıyor: Ruby
DetaylıEclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2
1 Eclipse, Nesneler ve Java 2 Java Nereden Çıktı? 2 Eclipse Mimarisi 4 Java Teknolojisine Genel Bir Bakış 6 Taşınabilirlik 6 Java Derleyicisi ve Bytecode 6 Java Sanal Makinası (Java Virtual Machine - JVM)
DetaylıMühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları
Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 5. Bölüm Karar ve Çevrim Kontrol Yapıları C Programlama Dr. Serkan DİŞLİTAŞ 5.1. Atlama Komutları Program akışının yönlendirilmesinde
DetaylıBMÜ-111 Algoritma ve Programlama. Bölüm 5. Tek Boyutlu Diziler
BMÜ-111 Algoritma ve Programlama Bölüm 5 Tek Boyutlu Diziler Yrd. Doç. Dr. İlhan AYDIN 1 Problem 100 adet sayı okumak istediğimizi düşünelim. Bu sayıların ortalaması hesaplanacak ve sayıların kaç tanesinin
Detaylı5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ. hakanyilmaz@karabuk.edu.tr
5. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II Öğr.Gör. Hakan YILMAZ hakanyilmaz@karabuk.edu.tr Karabük Üniversitesi Uzaktan Eğitim Uygulama ve Araştırma Merkezi 2 İçindekiler STRING FONKSİYONU... 3 SPLIT FONKSİYONU...
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ıİsimler ve Kapsam. Hafta 4 Ders 2 BLG339 PROGRAMLAMA DİLLERİ KAVRAMI
BLG339 PROGRAMLAMA DİLLERİ KAVRAMI Hafta 4 Ders 2 Yrd. Doç. Dr. Melike Şah Direkoğlu Alındığı kaynak: Addison-Wesley s Programming Language Concepts slaytları ve Prof. Dr. Tuğrul Yılmaz ın ders notlarından
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ı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++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié
Kullanılacak kaynak: http://www.cplusplus.com/doc/tutorial/ Published by Juan Soulié C++ Nedir? Arttırılmış C demektir ve C dilinin geliştirilmiş halini yansıtır. C++ öğrenmeden önce herhangi bir programlama
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 - 2 C# Programlama Dili Elemanları Bu bölümde;
Detaylıİnternet Programcılığı Dersi 2.Dönem Ders Notu
İnternet Programcılığı Dersi 2.Dönem Ders Notu DEĞİŞKEN TİPLERİ TAM SAYI (İNTEGER) VERİ TİPİ Negatif veya pozitif ondalık kısmı bulunmayan sayılardır. Örnek: $i=65; $x=345; ONDALIK(REAL)VERİ TİPİ Ondalıklı
DetaylıPROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.
PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011
Detaylıİsimler ve Kapsam. 24 Şubat 2011. Programlama Dilleri - Pamukkale Üniversitesi 1
İsimler ve Kapsam Tanım: Bir değişkenin kapsamı (scope) değişkenin görülebilir olduğu komutların alanıdır. Görülebilir olduğu alan, bir komut içinde belirlenen değerle kullanılabildiği alandır. Tanım:
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ıDiziler İndisli Değişkenler
Diziler İndisli Değişkenler Aynı tür bilgileri (öğrenci isimleri, şehir isimleri, kapı numaraları, fakülteler vbg.) bellekte tutmak için kullanabileceğimiz listelere dizi adı verilir. Dizi kullanmanın
DetaylıVeri Yapıları ve Algoritmalar
1 Ders Not Sistemi Vize : % 40 Final : % 60 Kaynaklar Kitap : Veri Yapıları ve Algoritma Temelleri Yazar: Dr. Sefer KURNAZ Internet Konularla ilgili web siteleri 2 Algoritma : «Belirli bir problemin çözümünde
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ıYZM211 YAZILIM TASARIMI
BÖLÜM 4 MÜHENDİSLİK TASARIMI ÇÖZÜMLEMESİ YZM211 YAZILIM TASARIMI Yrd. Doç. Dr. Volkan TUNALI Mühendislik ve Doğa Bilimleri Fakültesi / Maltepe Üniversitesi Amaçlar 2 Mimari tasarım ve ayrıntılı tasarım
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ıBölüm 8. İfade Seviyesindeki Kontrol Yapıları ISBN
Bölüm 8 İfade Seviyesindeki Kontrol Yapıları ISBN 0-321-49362-1 Bölüm 8 Konular Giriş Seçme İfadeleri Yinelemeli İfadeler Şartsız Dallanma Korumalı Komutlar Sonuçlar Kontrol Akışının Seviyeleri İfadeler
DetaylıYazılım Nedir? 2. Yazılımın Tarihçesi 3. Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5. Yazılımın Önemi 6
ix Yazılım Nedir? 2 Yazılımın Tarihçesi 3 Yazılım Grupları 4 Sistem Yazılımları 4 Kullanıcı Yazılımları 5 Yazılımın Önemi 6 Yazılımcı (Programcı) Kimdir? 8 Yazılımcı Olmak 9 Adım Adım Yazılımcılık 9 Uzman
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 İşaretçiler ve Diziler Fonksiyon
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ıOMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI
OMÜ HAVACILIK VE UZAY BİLİMLERİ FAKÜLTESİ METEOROLOJİ MÜHENDİSLİĞİ BÖLÜMÜ MET103 BİLGİSAYAR PROGRAMLAMA I BÜTÜNLEME SINAVI 23.01.2016 1. (6 puan) İnternetten, kod.txt isimli bir dosyayı Linux kurulu bir
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ı1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9
VII 1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9 2 KOD YAZMAYA BAŞLANGIÇ 11.Net Framework 11 Yeni Proje Oluşturmak
DetaylıİNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI
İNTERNET PROGRAMCILIĞI DERSİ ÇALIŞMA SORULARI 1) Aşağıdaki seçeneklerin hangisinde PHP kod yazımı doğru olarak verilmiştir? A) B) C).. D) 2) PHP ile hazırlanmış
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ı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ı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ıNESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş
Özlem AYDIN NESNEYE YÖNELİK PROGRAMLAMA C++ a Giriş Trakya Üniversitesi Bilgisayar Mühendisliği Bölümü C DİLİNİN BİR ÜST-KÜMESİ OLARAK C++ Genel olarak, C de mevcut olan her şey C++ da da vardır. C dilinde
DetaylıSınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0
Selçuk Üniversitesi, Mühendislik Fakültesi, Harita Mühendisliği Bölümü Bitirme Sınavı Test Soruları Adı soyadı : Öğrenci no : Sınav tarihi : 01.06.2017 Süre : 60 dak. 1. t değişkeni hakkında aşağıdakilerden
Detaylıİlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28
ix 1 İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19 23 Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28 Kayan Nokta Tipleri 30 Sayısal Veri Tipi Dönüşümleri
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ı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ı1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.
1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız. [10 puan] int param = 30; int result = 300; if (param > 45) result
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ı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ıHafta 9 C Dilinde Kontrol ve Döngü Yapıları
BLM111 Programlama Dilleri I Hafta 9 C Dilinde Kontrol ve Döngü Yapıları Yrd. Doç. Dr. Caner ÖZCAN Karar (Karşılaştırma) Komutları if-else Koşulların kontrolünde kullanılan komutlardır. Koşulların doğru
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ı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ı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 Kontrol deyimleri programlamanın olmazsa olmaz koşullarındandır. Şartlara (karşılaştırma) bağlı
DetaylıBölüm1. İlk Bilgiler ISBN 0-321-49362-1
Bölüm1 İlk Bilgiler ISBN 0-321-49362-1 Bölüm 1 Konuları Niye Programlama Dilleri prensiplerini öğreniyoruz? Programlama alanları Dil değerlendirme kriterleri Dit tasarımına etkiler Dil kategorileri Dil
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ıNesne Yönelimli Programlamaya Giriş - 2. Cem Ahmet MERCAN 16/04/2009
Nesne Yönelimli Programlamaya Giriş - 2 Cem Ahmet MERCAN http://www.be.itu.edu.tr/~mercan/ 16/04/2009 Nesne Yönelimli Programlama Kavramlar Class (Sınıf): Nesneyi tanımlayan teorik yapıdır. Nesnenin yetenek
DetaylıBMT 101 Algoritma ve Programlama I 7. Hafta. Yük. Müh. Köksal Gündoğdu 1
BMT 101 Algoritma ve Programlama I 7. Hafta Yük. Müh. Köksal Gündoğdu 1 C++ Program Denetimi Yük. Müh. Köksal Gündoğdu 2 Program Denetimi Bir program, belirli deyim satırlarından oluşur ve genellikle bu
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ı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ı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ıProgram AkıĢ Kontrol Yapıları
C PROGRAMLAMA Program AkıĢ Kontrol Yapıları Normal Ģartlarda C dilinde bir programın çalıģması, komutların yukarıdan aģağıya doğru ve sırasıyla iģletilmesiyle gerçekleģtirilir. Ancak bazen problemin çözümü,
DetaylıC++ Statements. { ve } arasında ifade edilen bir dizi statement bir compound statement (birleşik ifade) oluşturur.
C++ Statements En küçük çalışabilir birime statement (ifade) denir. Statements semicolon (;) ile sonlandırılır. Yalnız başına ; null statement ifade eder Örnek: while (*str++ = *inbuf++) ; { ve } arasında
DetaylıGereksiz Kodlar. burada if deyiminin else bölümüne gerek var mı? İfade doğruysa zaten fonksiyon geri dönüyor. Bu aşağıdakiyle tamamen eşdeğerdir:
Gereksiz Kodlar Kaan Aslan 9 Temuz 1997 Kapalı spor salonu, durak yeri, taşıt aracı, en optimum, geri iade etmek, davranış biçimi Bu ifadelerde bir gariplik var, değil mi? Açık spor salonu göreniniz var
DetaylıPROGRAMLAMAYA GİRİŞ DERS 2
PROGRAMLAMAYA GİRİŞ DERS 2 Program editörde oluşturulur ve diske kaydedilir Tipik Bir C Programı Geliştirme Ortamının Temelleri 1. Edit 2. Preprocess 3. Compile 4. Link 5. Load 6. Execute Önişlemci programı
DetaylıBölüm 4 C de Program Kontrolü
1 Bölüm 4 C de Program Kontrolü Outline 4.1 Giriş 4.2 Döngülerin Temelleri 4.3 Sayıcı Kontrollü Döngüler 4.4 for Döngü Yapısı 4.5 for Döngü Yapısıyla İlgili Notlar ve Gözlemler 4.6 for Yapısıyla İlgili
DetaylıBIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ
2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 5 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Çoklu Koşul Yapıları, Sözde Kod, Algoritmalar Arasında Dönüşüm) Yrd. Doç. Dr. İbrahim
DetaylıVERİ TABANI YÖNETİM SİSTEMLERİ II. 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ
BÖLÜM 3 3. SQL PROGRAMLAMA BLOKLARI ve AKIŞ DENETİMİ 3.1 SQL PROGRAMLAMA BLOKLARININ YAPISI Birbirinden çok az farklarla ayrılan PL/SQL ve T-SQL e ikisini de kapsayacak şekilde SQL programlama demiştik
DetaylıÖğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri
Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II Değişken Tanımlama Ve Akış Kontrol Deyimleri Değişken Nedir? Değişkenler, programın veya kodların icra süresince belirli bir değer tutan ve istenilirse bu değer
DetaylıKONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR. IF ELSE YAPISI if (deger) { }else {
KONTROL YAPILARI JAVADA UC TURLU KONTROL YAPISI VARDIR BUNLAR İF ELSE İF ELSE İF SWİTCH YAPILARIDIR IF ELSE YAPISI if (deger) { else { YUKARIDAKI IFADEDE deger EGER TRUE İSE if PARANTEZLERİ İÇİNDEKİ DEĞER
Detaylıİnternet Programcılığı Öğr. Gör. Serkan AKSU PHP de Dizi-Değişkenler, Nesneler. Dizi Oluşturma. Tek Boyutlu Diziler
PHP de Dizi-Değişkenler, Nesneler Dizilerle ilgili örneklere geçmeden önce aşağıdaki tabloyu inceleyelim. Tabloda dizi kavramının mantığı açıklanmaktadır. Tablonun tamamını bir dizi olarak düşünün ve bu
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ıBİL-142 Bilgisayar Programlama II
BİL-142 Bilgisayar Programlama II (C/C++) Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Giriş Kontrol Yapıları if Seçme Deyimi if... else Seçme Deyimi while Tekrar
DetaylıNesneye Dayalı Programlama Laboratuvarı
2013 2014 Nesneye Dayalı Programlama Laboratuvarı Ders Sorumlusu: Yrd. Doç. Dr. Salih GÖRGÜNOĞLU Laboratuvar Sorumluları: M. Zahid YILDIRIM İÇİNDEKİLER Deney 1: Visual Studio ve C++'a Giriş Uygulamaları...
Detaylı