31 Ocak 2018 Çarşamba

VISUAL STUDIO- HESAP MAKİNESİ

Merhaba arkadaşlar bugün hesap makinesi yapacağız.
form uygulamamızı açıyoruz arkadaşlar. ve ekrandaki gibi butonlar ve textbox ekliyoruz.


Rakamlarımızın ve noktanın klik olaylarını aynı yapıyoruz arkadaşlar.

İşlemlerimzin(toplama,çıkarma,çarpma,bölme) klik olayları da aynı olacak.

Diğer butonlarımızın klik olayları
CE : BtnTemizle_Click
C    : BtnSil_Click
=    : BtnEsittir_Click
Bunları ayarladıktan sonra kod sayfamıza geçelim arkadaşlar. Resimlerde anlatıldığı gibi yazarsanız işlemler bitiyor.







bir sonraki dersimizde görüşmek üzere esen kalın... ebi





30 Ocak 2018 Salı

VISUAL STUDIO- MAYIN TARLASI OYUNU


Merhaba arkadaşlar bugün mayın tarlası oyun kodlarını vereceğim. Karışık bir oyun adım adım ve dikkatli olmanızı tavsiye ederim.
Oyunumuzu Windows Forms App da yapacağız.
form a bir adet toolbox dan panel ekliyoruz.
daha sonra bir tane sınıf oluşturuyoruz adını mayin koydum ben. sınıfın için de olacak kodların resimleri:


Daha sonra ikinci sınıfımızı oluşturuyoruz adına mayin_tarlasi dedim ben. bu sınıfın içindeki kodların resimleri:



Diğer kodlara geçmeden önce burada belirtmek istediğim bir nokta var, mayin resmi ekledim ben nasıl olduğunu anlatayım. solution explorer den mayin tarlası oyunumuzun üzerinde sağ tıklayıp dosyamızı açıyoruz(open file) açılan sayfadan bin- debug  giriyoruz açılan pencereye ben mayin resmi ekledim sizlerde eklerseniz, mayınlarınızı resim ile göstermiş olursunuz. aşağıdaki resimler yardımcı olacaktır.














Evet en önemli kod sayfamız form sınıfının olduğu yere geldik. Resimleri sırasıyla koyacağım arkadaşlar. dikkatlice yazarsınız kodları artık.


Uzun ve zahmetli bir yazılımdan sonra keyifli oyunlar dilerim...

bir sonraki dersimizde görüşmek üzere esen kalın... ebi






28 Ocak 2018 Pazar

VISUAL STUDIO- ASAL SAYILARI BULMA

Merhaba arkadaşlar bugün herhangi iki sayının arasındaki asal sayıları bulacağız.


Bize gerekli olanlar;
2 tane label: başlama ve bitiş sayıları yazacak
2 tane textbox: iki adet sayı gireceğiz ve arasındaki asalları bulacağız
1 tane buton
1 tane listbox

Arkadaşlar gridimizi ikiye böldük. ilk kısımda label, textbox ve butonlar var ikinci kısımda listbox var. Bunların yerleşimi

Kod sayfamızda ise 



 bir sonraki dersimizde görüşmek üzere esen kalın... ebi



27 Ocak 2018 Cumartesi

VISUAL STUDIO-HAFIZA OYUNU

Merhaba arkadaşlar bugün sizlerle hafıza oyunu yapacağız. Oyunumuz bir önceki oyunlara nazaran bir tık daha dikkat gerektiriyor.

Oyunumuzun son hali yukarıdaki resimdeki gibi olacaktır. Bunun için öncelikle gridimizi ikiye bölüyoruz. 

daha sonra  aşağıdaki kodları verilen  uniformgrid , stack panel , buton tanımlamalarımızı yapıyoruz. Expander'i ipucumuz için tanımladık arkadaşlar.

Style ile oyunumuzda açacağımız resimlerin üzerine gelince bir efekt vermesi için tanımladık.Bunu gridimizin üstündeki Window.Resources kısmına yazıyoruz.

Şimdi kodlarımızı aşama aşama resimlerle anlatmaya çalışacağım arkadaşlar. Öncelikle resimlerimizi yüklüyoruz. solution explorer den hafıza oyunumuzun içine sürükle bırakla yükleyebilirsiniz. Resimlerin ve seslerin linklerini paylaşıyorum.







Kodlarımız bu şekilde arkadaşlar.

  bir sonraki dersimizde görüşmek üzere esen kalın... ebi

yararlanılan kaynaklar:
Öğr.Gör. Erkan HÜRNALI [ hurnali@ankara.edu.tr ]


PROGRAMLAMA TÜRLERİ VE DİLLERİ

PROGRAMLAMA TÜRLERİ
1 Yapısal Programlama
Yapısal programa tekniğinde ise alt programlar (procedures) ve fonksiyonlar (functions) kullanılır. Böylece program akışının kontrolünde büyük kolaylıklar sağlanmış olur. Program akışı esnasında, ana program içerisinden alt programlar çağrılıyor. Bu alt program çalıştırıldıktan sonra, program akışı tekrar geri dönecek ve programın işleyişi kaldığı noktadan devam edecektir. Yapısal programlama tekniğinde kod içerisinde aynı alt program defalarca çağrılabilir. Böylece gereksiz kod tekrarı da ortadan kalkmış olur.

2 Modüler Programlama
Modüler programlama tekniğinde belli altprogramlar ayrı ayrı modüller içinde gruplandırılır. Her modül içerinde ana program içinde tanımlı global değişkenler geçerlidir. Aynı zamanda her modül kendi verisine de sahiptir.

3 Nesne Tabanlı Programlama
Nesne tabanlı programlama (Object-Oriented Programming, OOP) dilleri 1980’li yıllarda C++ ile ortaya çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlar. Bu programlama sisteminin zor olması nedeniyle, çok sayıdaki nesneler önceden programcıya hazır bir şekilde sunulur. Günümüzdeki programcılar ise nesneye yönelik olan ve Visual özellikler içeren sürümleri kullanmaktadır. Visual C++, C++ Builder, Delphi, Java, Visual Basic vb. gibi örnekler sayılabilir.
    Bu teknikte nesneler birbirlerine mesaj göndererek etkileşim içinde bulunurlar. Nesne yönelimli programlama tekniğinde açık bir biçimde altprogramları çağırmak yerine, direkt olarak ilgili nesneye bir mesaj gönderilir. Nesne kendine gelen mesajı alır ve öncelikle nesnenin bir örneğini (kopyasını) oluşturur. Bu kopya gerekli işlemleri yaptıktan sonra kendini yok eder. Tüm bu işlemlerden nesnenin kendisi sorumludur.

4 Olay Temelli Programlama
Bilgisayarda bir uygulamayı kullanırken, ekran üzerinde bir nesnenin hareket ettirilmesi veya bir tuşa basılarak düğmelerin seçilmesi işlemleri bir olaya dayanır. Olay temelli programlama (Event – Driven Programmming, EDP) kullanıcıların yapacakları işlemlere göre programın hareket etmesi temeline dayanır. Daha önceki programlarda ekrana gelen menülerde daha çok klavyenin fonksiyon ve yön tuşları aktif olarak kullanılıyordu. Olay temelli programlamada farenin menüler ve pencereler üzerinde oldukça yaygın olarak kullanılması sağlanmıştır. Bu şekilde işlemler daha basit, fonksiyonel ve daha kullanışlıdır.

Programlama Dillerinin Sınıflandırılması

Programlama dilleri, makine dilinde programlama çok zor olduğu için geliştirilmiştir. Programlama dilleri kendi aralarında sınıflara ayrılmışlardır. İnsanın en zor öğrenebileceği, anlayabileceği yani 1100101 gibi makina kodlarına yakın diller en düşük seviyeli (low level) programlama dilleri, insanın en kolay anlayıp kullanabileceği ve insan diline yakın özellikler gösteren diller ise en yüksek seviyeli (high level) programlama dilleridir. Yazılan kodları, zaten makine dilinde değilse, makine diline çevirip koşmaya hazır hale getirmek, o dilin derleyicisinin veya yorumlayıcısının görevidir. Bu diller seviyelerine göre aşağıdaki gibi sınıflandırılabilir;

    Burada insana yakın demekteki kasıt, insanın anlamasına uygun, anlamlı sözcüklerle kodlama yapmak, makineye yakın demekteki kasıt ise bilgisayarın çalışma mantığına uygun, ne yapılacağı değil, nasıl yapılacağını kodlamaktır. Bir dilin seviyesi yüksekse, o dili öğrenmek kolaydır, kaynak kod kısadır ama oluşacak çalıştırılabilir dosya uzundur, uzun ve karmaşık işlemler kısa kodlarla gerçekleştirilebilir; Alçak seviyeli dillerde ise programcı, makineye daha hakimdir, sorumluluğu daha fazladır, kod yazımı uzun ve zahmetlidir.
Son yıllarda programlama dillerinde nesneye yönelik tasarımlar yapılmış ve bu dillerin çoğunun nesneye yönelik programlama yapabilen uyarlamaları çıkmıştır. Nesneye yönelik programlama, programcının kendi sınıfını ve nesnesini oluşturup bunun üzerinde işlemler yapmasına olanak sağlayan ve programlama dillerinin geldiği son aşamalardan birisidir.
OOP (Object Oriented Programming) yani NYP (Nesneye Yönelik Programlama)’nın kullanılmasıyla ve Visual (Görsel) programcılığın da gelişmesi ile beraber ortaya oldukça güzel görünümlü ve kullanışlı programlar çıkmaya başlamıştır. Bu durum bilgisayar programlarına olan ilgiyi bir hayli arttırmış ve bu konulardaki araştırmaları hızlandırmıştır. Sonuçta, pek çok dilin artık nesneye yönelik olan ve görsel özellikler içeren sürümleri kullanılmakta ve tercih edilmektedir. Örneğin: Visual C++, C++ Builder, Delphi, Kylix, Java, Visual Basic vb. gibi diller.
Uygulama programlarına, ticari programlara veya işletim sistemlerinin kullanımına yönelik yazılım geliştirmek isteyen programcıların C, C++, Java, Delphi vb. gibi son zamanların en popüler dilleri üzerinde çalışması ve en az bunlardan bir tanesini öğrenmesi gerekir. Özellikle İnternet’in gelişmesi ile birlikte programlama dillerinin, yapılacak işe veya kullanılacak platforma göre değişik özellikler gösteren varyasyonları çıkmıştır. Bu durumda web teknolojisini izleyen ve İnternet üzerinde yazılım geliştirmek isteyen bir programcının javascript, vbscript, HTML gibi dilleri de bilmesi ve bu konularda kendini geliştirmesi de ayrı bir gereklilik olmuştur. Sıkça kullanılan programlama dilleri kısaca özetlenirse;
C
Yapısal programlama dilleri arasındadır. Öğrenilmesi zaman almasına rağmen oldukça kullanışlı ve esnek yapısı ile adından yıllarca bahsettirmiş, bilgisayar programcılığının temel dillerinden biridir. C ile bilgisayarınıza bir sistem yazmaktan bir oyun yazmaya kadar her türlü işlem yapılabilir. Bu özelliği sayesinde kullanım alanı çok geniş olan bir dildir.

C++
Nesneye yönelik programlama yapabilen diller arasındadır. C’nin saydığımız tüm özelliklerine ek olarak güçlendirilmiş nesne yönetim özelliği ile şu anda bilgisayar dünyasının en çok kullanılan dillerinden biridir.
Pascal
Yapısal bir dildir, C diline benzerlik gösterir. Öğrenilmesinin kolay oluşu ve genelde, bilgisayar eğitimi veren okullarda okutulan bir ders olması sebebiyle kullanım alanı daha çok üniversiteler ve bilimsel hesaplamalar yapan kurumlardır.

C#
Nesneye dayalı bir programlama dilidir. C++’ın ve Java’nın pozitif yönlerini bünyesinde birleştirmiş yeni bir dildir. Programcıya internet uygulamaları ve yerel uygulamalar yazmakta bazı kolaylıklar getirmiştir. İleriye dönük olarak Microsoft firmasının Java teknolojisine rakip olarak ortaya sürdüğü bir programlama dilidir ve Microsoft’un bu konulardaki (İnternet uygulamaları) yelpazesini genişletmeye yönelik bir atılımdır. Microsoft teknolojileri kullanacak programcıların C#’ı öğrenmeleri zamanla gerekecektir ve öncelikle öğrenilmeye başlanması da avantaj getireceği açıktır.
Delphi
Pascal tabanlı bir dil olup nesneye yönelik programlama yapabilme özelliği taşır. Öğreniminin kolay oluşu ve genellikle üniversitelerde Pascal eğitiminin ağırlıklı verilmesi nedenleriyle çoğu bilgisayar programlama öğrencisinin tercih ettiği bir dildir. Görsel programlama özelliği taşır. Şu anda İnternet üzerinde en çok desteklenen ve üzerine bileşen (component) geliştirilen dillerin başında yer alır. Geniş bir kullanıcı kitlesi vardır.
Visual Basic
Basic tabanlı bir dil olup öğrenilmesi kolay, kullanım alanı geniş bir dildir. Özellikle görsel uygulamalarda projenin arabiriminin hızlı yazılmasını sağladığı için genelde kullanıcı arabirimi tasarımlarında kullanılır. Kapsamlı veya çok kullanıcılı uygulamalarda kullanılmaz. Kullanıcı sayısı az olan veya kısa sürede bitmesi gereken küçük ölçekli projelerde tercih edilir. Delphi’den sonra yoğun olarak kullanılmaktadır
VB.NET
Nesneye dayalı bir dildir. VisualBasic(VB) teki bir çok özellik bu dilde yeniden yapılandırılarak değişmiştir. Yapısına bakılırsa VB den ayrı yeni bir dil geliştirilmiş denilebilir. Eklenen bazı özellikler ile VB de yapılamayan birçok işlem artık yapılabilmektedir ve OOP nin özellikleri desteklenerek daha verimli kod yazmaya olanak sağlanmıştır. VB programcılarının VB.NET’e geçişleri kolay olmayacak olsa da VB yerine VB.NET kullanımı gün geçtikçe artacaktır. VB.NET internet uygulamalarından yerel uygulamalara kadar kullanım imkanı geniş bir dildir.
Java
Açık olmak gerekirse, İnternet programcılığı, esnek programlama mimarileri, OOP gibi konularda söylenmesi gereken önemli bir nokta; Java dilinin, programlama dünyasına getirdiği önemli bir yeniliktir. Bu yenilik platformdan yani işletim sisteminden bağımsız olarak her sistemde çalışabilen programların yazılabilmesidir. İleriye yönelik bir bakış açısı ile bakıldığında cep bilgisayarlarının, kablosuz cihazların, cep telefonlarının sıklıkla kullanılacağı ve artık PC döneminin kapanmaya başladığı düşünülürse birçok cihazda çalışabilecek programların yazılmasının ne derece önemli olduğu anlaşılabilir. Java, son yıllarda programlama dünyasına gelmiş en iyi programlama araçlarından biridir ve yeni çıkacak programlama dillerinin çoğu Java’nın birçok özelliğinden esinlenmektedir.
Java, nesneye yönelik dillerdendir. Son yıllarda geliştirilmiş bir dil olup modern ve yenlikçi altyapısı, görsel özellikleri ve sürekli gelişen kütüphane (library) desteği ile gün geçtikçe kullanımı artan bir dil olmuştur. Java dili platform bağımsızlığı özelliği ile hemen hemen her alanda kullanılabilen esnek ve güçlü bir dildir.
Assembly


Programlama dillerinin hepsini incelemeye imkan olmadığından burada çok kullanılan bir kısım dilden bahsedildi. Her dilin kullanım amacı ve yönelimi farklı olabilir önemli olan hedeflediğiniz konularda size yardımcı olacak dili seçip onunla çalışmanızdır.

  bir sonraki dersimizde görüşmek üzere esen kalın... ebi

23 Ocak 2018 Salı

HTML5-CSS3 ANİMASYON

Murat AKINCI animasyon Animation: Daha kaliteli animasyonlar yapabilmek için kullanılan CSS3 kodudur. Transform ve Transition ile yaptığımız efektleri daha esnek hale getirmek için animation kullanılır. Animation ile her nesnenin efektini, bu efektlere ait zamanlamayı ve her efekte ait hız biçimlendirmesini daha esnek bir şekilde yapabiliriz.

Transform ve Transition da efektin farklı olduğu kısmı nesneye ait CSS kodunun Hover özelliğinde veriyorduk. Bu da o efektin nesnenin üzerine geldiğimizde çalışmasını sağlıyordu. Animation da ise bu farklılıkları @keyframes özelliğinde vereceğiz böylece daha sayfa yüklenir yüklenmez animasyon çalışmaya başlayacaktır.
Media queries:@mediascreen özelliği sayesinde daha responsive yani ekran özelliklerine göre kendini daha kolay ayarlayabilen tasarımlar yapmak kolaylaşmıştır. Bu özellikle 400px genişliğe sahip ekranda farklı 1024px genişliğe sahip ekranda farklı düzen ve tasarımda şekillendirme sağlanabilmektedir. Hangi özelliklerin hangi ekran boyutunda çıkması gerektiğini bu özellikle tanımlayabilmekteyiz.
aşağıda animasyon örneği görüyorsunuz. Browser sayfanız tam sayfa ise araba, sayfanızı küçültürseniz roketi görürsünüz.





BURADAN KODLARINI İNDİREBİLİRSİNİZ.
Animasyonun_Kodları

HTML5-CSS3 ÖZELLİKLERİ

Merhaba arkadaşlar bugün HTML5 ile gelen CSS3 özelliklerine bakacağız.

Color, özelliği CSS’teyazı rengi, arkaplanrengi, kenarlık rengi gibi bir çok alanda kullanılmaktadır. CSS3 ile birlikte renk efektleri gelişmiş ve daha esnek bir yapıya kavuşmuştur. Renk işlemlerinde saydamlık vermek için RGBA() renk fonksiyonu kullanılmaktadır. Bu fonksiyon ilk üçü RGB renk yoğunluve sonuncusu da Alpha (saydamlık)değeri olmak üzere 0-255 arası değerler almaktadır. Alpha değeri 0-1 arasında değişir ve 0 olduğunda görünmez yani saydam 1 olduğunda da tam görünürdür. Bu değer ayarlanarak saydamlık gerçekleştirilir.
Aynı saydamlık olayını istersek opacityözelliğiyle de verebiliriz.



Gradients, özelliği arkaplanrengini biçimlendirme de kullanılmaktadır linearve radialolmak üzere iki çeşittir. CSS3 ile birlikte gelen bu renk efektleri birden fazla rengin tanımlandığı gelişmiş bir görsellik sunmaktadır.



Shadows, özelliği yazı ve kutuların (div) gölgelendirnesindekullanılmaktadır text-shadow(yazıya gölge) ve box-shadow(kenaralık gölge) olmak üzere iki çeşittir.



2D transform, özelliği nesneleri iki boyutlu olarak hareket ettirmeye ve düzenlemeye yarar. Birden fazla özelliği bulunmaktadır.
Kullanım şekilleri :
transform:rotate(-20deg);
Özellikleri,






3D transform, özelliği nesneleri üç boyutlu olarak hareket ettirmeye ve düzenlemeye yarar. İki boyutluda kullanılan çoğu özellik burada kullanılır.
Kullanım şekilleri :
transform:rotateX,rotateY, rotateZ(-20deg); olmak üzere üç adet döndürme özelliği vardır.

Transitions, özelliği nesnelere hareket efekti vermekte kullanılır. Efekt uygulanabilmesi için nesnelerin özelliklerinin iki farklı değeri belirli olması gerekir. Genellikler bir değer (başlangıç değeri) standart CSS kodunda verilirken, diğer değer(bitiş değeri) üzerine gelindiğinde (hover) CSS özelliğinde tanımlanır.
Kullanım şekilleri :
transition:efek_tipiEfektin_süresi;
Özellikleri;



transition-timing-function: Efektin nasıl uygulanacağını zamanlama ayarının nasıl olacağını belirlemede kullanılır. Örnek olarak efekt başta hızlı, sona yaklaştıkça daha yavaş olabilir. Alacağı değerler şunlardır: linear|ease|ease-in|ease-out|ease-in-out|step-start|step-end|steps(int,start|end)|cubic-bezier(n,n,n,n)|initial|inherit;



  bir sonraki dersimizde görüşmek üzere esen kalın... ebi 

yararlanılan kaynaklar:
Öğr. Gör. M. Mutlu YAPICI[WEB Adresi]
yukarı git