11 Aralık 2013 Çarşamba

Pascal Programlama - 5

Merhaba,

Bu yazımda Pascal Programlamada döngüler konusunu inceleyeceğiz.

Döngüler, diğer programlama dillerinde olduğu gibi Pascal içinde çok önemlidir. Döngüler sayesinde daha kapsamlı programlar yazmaya başlayacağız.

Program yazarken tekrarlanması gereken işlemler için döngüler kullanılmaktadır.
Üç adet döngü inceleyeceğiz. Bunlar; For, While ve Repeat döngüleri

For Döngüsü:
for dögü değişkeni:=başlangıç değeri to bitiş değeri do
    begin
        {kod satırları}
    end;

For döngüsü kullanımı yukarıda görüldüğü gibidir. Döngü değişkeni başlangıç değerinden bitiş değerine kadar artar ve her defasında istenilen işlemler yapılmaktadır. 

for dögü değişkeni:=başlangıç değeri downto bitiş değeri do
    begin
        {kod satırları}
    end;

Buradaki for kullanımda ise, başlangıç değeri bitiş değerine kadar azalır ve her defasında istenilen işlemler yapılmaktadır.

Repeat Döngüsü:

Aşağıda görüldüğü gibi istenilen şart sağlanana kadar işlemler devam eder.

repeat
    {kod satırları}
until (şart);

Repeat döngüsünde birden fazla satır için begin-end yazılmasına gerek yoktur. 

While Döngüsü:

Aşağıda görüldüğü gibi istenilen şart sağlanana kadar işlemler devam eder.

while (şart) do
    begin
        {kod satırları}
    end;

While Ve Repeat Döngüsü Arasındaki Farklar:

  • Repeat döngüsünde şart yanlış olduğu sürece, While döngüsünde ise şart doğru olduğu sürece döngü devam etmektedir.
  • Repeat döngüsünde şart sonda kontrol edilir. Bu yüzden şartın doğru ya da yanlışlığına bakılmaksızın bir defa işlem yapılır ve şart sağlanmış ise döngü bitirilir. While döngüsünde ise şart döngüden önce kontrol edildiği için şart sağlanmıyorsa işlem yapılmadan döngü bitirilir. 

Şimdi faktöriyel hesaplayan programın farklı döngü çeşitleri ile yapılış örneklerinin kodları paylaşacağım. 

Program, girilen sayının faktöriyelini hesaplayıp, repeat döngüsü yardımıyla kullanıcının cevabına göre programı devam ettirmektedir.

uses crt;
var
    fakto    :extended;
    i,num    :integer;
    x        :char;
begin
    repeat
        clrscr;
        write('Bir Sayi Girin:');
        readln(num);
        
        fakto:=1;
            for i:=2 to num do
                begin
                    fakto:=i*fakto;
                end;
        writeln(num,'!=',fakto);
        writeln('devam edeyim mi?(e/h)');
        readln(x);
    until ((x='h') or (x='H'));
end.

uses crt;
var
    fakto    :extended;
    i,num    :integer;
    x        :char;
begin
    repeat
        clrscr;
        write('Bir Sayi Girin:');
        readln(num);
        
        fakto:=1;
            for i:=num downto 2 do
                begin
                    fakto:=i*fakto;
                end;
        writeln(num,'!=',fakto);
        writeln('devam edeyim mi?(e/h)');
        readln(x);
    until ((x='h') or (x='H'));
end.

uses crt;
var
    fakto    :extended;
    i,num    :integer;
    x        :char;
begin
    repeat
        clrscr;
        write('Bir Sayi Girin:');
        readln(num);
        
        fakto:=1;
        i:=1;
            while (i<=num) do
                begin
                    fakto:=i*fakto;
                    i=i+1;
                end;
        writeln(num,'!=',fakto);
        writeln('devam edeyim mi?(e/h)');
        readln(x);
    until ((x='h') or (x='H'));
end.




12 Kasım 2013 Salı

Pascal Programlama - 4

Merhaba,

Bu yazımda Pascal programlama dilindeki karar yapılarını inceleyeceğiz.

Karar yapıları programlamanın temelini oluşturmaktadır. Bu yapılar ile kıyaslama, sorgulama ve kontrol etme işlevlerini gerçekleştiririz. Bu nedenle kontrol yapıları ismi de kullanılmaktadır.

İf-Else Yapısı:

Bu yapının kullanımı aşağıda görüldüğü gibidir. (şart) kısmında parantez içine sağlanması istenen ifade yazılır. Bu şart sağlanırsa begin-end bloğu içerindeki kod çalışır.
if (şart) then
begin
    {şart sağlandığında bu kod çalışır}
end;
Peki, şart sağlamazsa ne olacak?

Bu durumda işin içine Else komutu giriyor. Bu komut ile istenilen şart sağlanmadığı durumda programın hangi işlemi yapacağını belirleriz. Bu yapının kullanımı aşağıda gösterilmiştir.
if (şart) then
begin
    {şart sağlandığında bu kod çalışır}
end
else
    {şart sağlanmazsa bu kod çalışır}

Case of Yapısı:
case değişken of
    değer1: {doğru ise çalışacak kod}
    .
    .
    .
    değerN: {doğru ise çalışacak kod}
else
    {kod}
end;
Case of yapısı yukarıda verilen kod bloğu gibi kullanılır. IF bloğunda olduğu gibi bir şart çalıştığında diğerlerine bakılmaz.

Şimdi bazı örnek programların kodlarını paylaşacağım.


Bu örnekte Kullanıcı tarafından girilen 3 sayıyı sıralayan bir programın kodları ver almaktadır. Bu programı döngüler yardımı ile daha kısa yazmak mümkün ancak henüz döngüleri anlatmadığım için if-else yapısı için çözümünü sizlerle paylaşıyorum. And(Ve) kullanımı içinde güzel bir örnek niteliğindedir.




Bu örnekte case of yapısı kullanarak yapılmıştır. 1'den 7'ye kadar sayılara haftanın günleri atanmıştır. Gün değişkenine girilen sayı'ya göre ekran çıktısı değişmektedir.



17 Eylül 2013 Salı

Pascal Programlama - 3

Merhaba,

Bu yazımda değişkenler, sabitler ve operatörler konularını inceleyeceğiz.

Değişkenler, programda kullanılacak verilerin depolanmasını ve kullanılmasını sağlamaktadırlar.

Sabitler, değişkenler ile benzer özelliklere sahiptir. Program boyunca değişmez. İstenildiği zaman kullanılabilir.

Değişken tanımlarken bazı dikkat edilmesi gereken noktalar bulunmaktadır. Bunlar;

  • Değişkenler istenilen isimler ile tanımlanabilir.
  • Değişkenler verileri saklamak için kullanılır. Bu saklama bilgisayarın bellek(ram) kısmında gerçekleşir. Bu nedenle her değişkenin bir adresi ve bellekte bir yeri vardır.
  • Değişkenlerin veri tipleri önceden belirlenmeli ve bu tipe uygun işlemler yapılmalıdır.
  • Değişken isimleri Pascal dilinde var olan komut ve ifadelerden farklı olmalıdır. Aksi takdirde hata alırsınız.
  • Sadece İngilizce karakterler kullanılabilir.
Program deneme;
uses crt;
var
    a:integer;
begin

end.

Yukarıda bir tanımlama örneği verilmiştir.

Not: Programınız içinde kodunuzu hatırlamak ya da aktarmak için açıklama satırları yazabilirsiniz. Bunun için yukarıdaki resimde görüldüğü gibi “{“ ve “}” parantezleri arasına ya da “(*” ve “*)” arasına yazabilirsiniz.


Değişken Tipleri:


Operatörler:
  • Aritmetik Operatörler: +, -, *, /, div, mod
  • Mantıksal Operatörler: Not, And, Or, Xor
  • Atama Operatörü:  :=
  • İlişkisel Operatörler: <, >, >=, <=, <>


Operatörlerin işlem sıraları aşağıdaki tabloda verilmiştir.






Şimdi bazı örnek programların kodlarını paylaşacağım.


Toplama adlı programda girilen iki sayının toplama işlemi gerçekleştirilmiştir. "a:=a+b;" işleminde a ve b değişkenlerinin değerleri toplanıp a değişkenine atanmıştır. Burada farklı bir değişkende tanımlayabilirdik. Ancak bellek kullanımı fazlalaşmış olurdu.


Daire Alanı adlı programda yarı çapı girilen dairenin alanı bulunmaktadır. Kod içerinde görüldüğü gibi pi sayı pi adında bir sabit ile tanımlanmıştır.


14 Eylül 2013 Cumartesi

Pascal Programlama - 2

Merhaba,

İkinci Pascal programlama anlatımın ile karşınızdayım.

Öncelikle bazı hatırlatmalarda bulunmak faydalı olabilir. Ücretsiz Pascal Compiler için aşağıdaki resme tıklayarak ya da buradan indirebilirsiniz.




Birinci yazımda ilk kod örneğimizi görmüştük. İlk programımız HelloWorld yani Merhaba Dünya idi. Şimdi biraz daha ayrıntılı işler yapmaya başlayacağız.

Aşağıdaki tabloyu inceleyelim. Program komutu ile programın adı, Uses komutu ile kullanılan kütüphaneler belirlenir. Her satırda noktalı virgül kullanılarak o satırın bittiği belirtilmektedir. Var komutu ile programın içinde kullanılan değişkenler tanımlanmaktadır. Begin ve End komutları arasına kod blokları yerleştirilmektedir.


Şimdi Temel Girdi/Çıktı Komutlarını inceleyeceğiz. 

Bunlar Writeln ve Readln komutlarıdır.

Write/Writeln: 

Bu komutlar ile ekrana veri yazdırabiliriz. Ekrana yazdırmak istediğiniz bir kelime ise; Writeln(‘Merhaba Yavuz’); kod satırı gibi kelimenizi tırnak içinde yazmanız gerekir. Writeln ile Write arasındaki tek fark, Writeln kullandığımızda yazdırmak istediğimiz veri yazılıp bir alt satıra geçilir ve program oradan devam eder.


Read/Readln: 

Bu komutlar okuma işlemini gerçekleştirir.  Read ve Readln arasındaki fark Write ve Writeln ile aynıdır. Ayrıca Readln(); ifadesi kullanılarak ekran bekletme işlemi yapılır. Bu bekleme Enter tuşuna basılana kadar devam eder. Eğer bu komutu yazmazsanız ekran görünüp kaybolacaktır.

Yukarıdaki kod örneklerinde kullanılan Uses crt; ifadesindeki crt bir kütüphanedir.


İfadeler ekrana yazdırılırken formatlama işlemi yapılabilir. 


Writeln(1:8);
Writeln(11:8);
Writeln(111:8);

İfadelerinde 8 karakterlik alana 1,11,111 sayıları sağa yaslı olarak yazılmıştır.

Writeln(‘Yavuz:’:8);
Writeln(‘PC:’:8);

İfadelerinde 8  karakterlik alana kelimeler yazılmıştır.

Writeln(23.456:8:1);
Writeln(23.456:8:2);

İfadelerinde ondalıklı sayılar için kullanım örneği verilmiştir. ":8" ifadesi ile 8 karakter belirlenirken ":2" ifadesi ile virgülden sonra kaç karakterin dikkate alınacağı belirtilmektedir. 



30 Ağustos 2013 Cuma

MSP Yeni Dönem Başvuruları




Merhaba,

Bu yazımda içinde yer aldığım MSP programı hakkında bilgilendirme ve başvuru tarihi duyurusu yapacağım. 

MSP yani Microsoft Student Partner, Microsoft tarafından düzenlenen bir akademik programdır. Bu program, teknolojiye tutkulu dünyanın dört bir tarafındaki üst düzey genç beyinleri bir araya getirmektedir. Yeteneklerinizi ve gelecekteki başarılı kariyerinizi geliştirmeye yardımcı olmak için karşınıza çıkan bir fırsattır. 

Microsoft Türkiye tarafında da yer alan bu programın yeni dönem başvuruları 10 Eylül 2013 tarihinde son bulacaktır. 

Başvurularınızı https://www.microsoftstudentpartners.com adresinden ülke olarak Türkiye'yi seçerek yapabilirsiniz. 10 Eylül tarihinden sonra yapılan başvurular bir sonraki dönemde değerlendirilmeye alınacaktır. 

Program hakkında ayrıntılı bilgi için daha önce yazdığım yazımı okuyabilirsiniz.  






24 Ağustos 2013 Cumartesi

Windows 8.1'de 3 Boyutlu Yazıcı Desteği



Merhaba,

Son zamanlarda çok güncel bir konu olan 3 boyutlu yazıcılar, yavaş yavaş hayatımızın içerisine girmeye başladı. 

Peki nedir bu 3 boyutlu yazıcı diyenler için, kısaca açıklarsak; Dijital bir model kullanarak, yığın şeklinde üretim yapma teknolojisidir. Bildiğimiz yazıcı mantığı ile katman katman ürün oluşturulmaktadır.

Microsoft, bu teknolojiyi yakından takip ederek, yeni işletim sitemi Windows 8.1 ile 3 boyutlu yazıcı desteği sunmaktadır. 

Zamanla fiyatı ucuzlamaya başlayacak 3 boyutlu yazıcılar, ev ve ofislerde yerini alacağa benziyor.







18 Ekim'de Windows 8.1 Randevunuzu Unutmayın!



Merhaba,

Geçtiğimiz aylarda yayınlanan Windows 8.1 Preview sürümü ile Windows 8.1'in ne zaman yayınlanacağı merak konusuydu.

Microsoft yaptığı açıklamada Windows 8.1'i 18 Ekim'de pazara sunacağını belirtti. Bununla birlikte çok güzel bir haberi de vermek istiyorum, bu sürüm Windows 8 kullanıcıları için ücretsiz olacak.

Windows 8.1 ile bir çok yenilikler ve iyileştirmeler bizi bekliyor. 18 Ekim öncesi ön izleme sürümünü yüklemek isteyenler aşağıdaki linklerden Windows 8.1 Preview'e ulaşabilirler. 




Ayrıntılar için:








19 Ağustos 2013 Pazartesi

Microsoft Yaz Okulu 2013 Başladı

Merhaba,

Bu yazımda Microsoft Türkiye’de gerçekleşmekte olan yaz okulu ile ilgili bilgi paylaşımda bulunacağım.

Yaz okuluna farklı nedenlerle katılamayan ve iç geçiren arkadaşlarımı biraz olsun mutlu edecek bir yazı yazmak istemedim. Bende gidemeyen biri olarak halden anlıyorum :) 

Yazının ana teması Microsoft Yaz Okulunda Neler Oluyor? olacaktır.

12 Ağustos günü başlayan yaz okulu müthiş yoğun, hızlı, dopdolu bir şekilde devam ediyor. Her gün Microsoft çalışanları ve sektördeki önemli kişiler tarafından verilen eğitimler öğrencileri adeta uçuruyor.


Bu güne kadar yapılan eğitimlere bazı örnekler;

   Oğuz Pasrmacı – System Administration
   Cavit Yantaç – Sunum Teknikleri
   Burak Batur – SharePoint
   Burak Bayburtlu – Soft Skill
   Ahmet Uygur – Office 365
   Osman Çokakoğlu – SQL & Business Intelligence
   Kerem Özsü – Software Engineering
   Umit Sunar – Soft Skill

Bu eğitimleri biraz olsun takip edebilmek için;



Bunlara ek olarak bazı arkadaşlarımız yaz okula özel bazıları ise hali hazırda olan bloklarından paylaşımlar yapmaktalar, bu yazıları da kesinlikle takip ediniz.


Bahçeşehir Üniveristesi'nde de bir Codenight düzenlendi. Buyurun İzleyin.

  







4 Ağustos 2013 Pazar

Teknik Sohbet


Merhaba,

Geçen hafta sonu MVP Umut Erkal, Levni Özyürüyen ve MSP programında yer alan arkadaşlarımızla birlikte yararlı bir sohbet geçirdik. Bizi cesaretlendiren ve projeler üzerinde nasıl hareket etmemiz gerektiği konusunda aydınlatıcı bilgiler elde ettik.

İlk olarak, Imagine Cup ile ilgili konuşarak sohbetimize başladık. Umut Erkal ve Levni Özyürüyen 2009 yılında Mısır'da gerçekleşen finalde dünya 4. olarak elde ettikleri başarının sırlarından bahsettiler. Süreç içinde neler yaşadıklarını ve elde ettikleri tecrübeleri bizlere aktardılar. Bunları duyunca aman ya, tüh kaçırdık diye bilirsiniz ama size güzel bir haberim var. Daha önce yazdığım bir blog yazımda bahsettiğim gibi Umut Erkal'ın Imagine Cup sürecinde elde ettiği tecrübelerini aktardığı bir kitabı bulunmaktadır. Kitaba buradan ulaşabilirsiniz. 

Sohbetimizin devamında, gömülü sistemler üzerine konuşmaya başladık. Gömülü sistemlerin ne olduğu ve nerelerde kullanılabileceği hakkında bilgiler edindik. C ve C# ile programlanabilir bazı kart örnekleri inceledik. Benim için yabancı olan bir konuda, başlangıç düzeyinde ve ilgi çekici bir bilgilendirme oldu.




Son olarak, üç boyutlu yazıcılarla üretilmiş bir kaç şekil inceleme fırsatı bulduk. Hafta sonunu değerlendirme açısından iyi bir sohbet oldu. Başta Umut Erkal ve Levni Özyürüyen olmak üzere MSP arkadaşlarım Erduran Korkut ve Özhan Gülal'a geçirdiğimiz güzel vakit için teşekkür ederim.

Umarım sohbetlerimiz devam eder.



1 Ağustos 2013 Perşembe

Windows Phone 8 Learning


Merhaba,

Windows Phone meraklıları için hazırlanmış çok iyi bir kaynak haberi ile karşınızdayım.



Windows Phone platformunda uygulama geliştirmeye başlayacak herkes için bir çok örnekle açıklayıcı bilgiler yer alan süper bir kaynak. 


Kaynak kod, kitap ve videolara aşağıdaki linklerden ulaşabilirsiniz.


Beginners learning to develop in a few hours using Windows Phone 8

http://aka.ms/absbeginnerdevwp8series - videos
http://aka.ms/absbeginnerdevwp8 - source code
http://aka.ms/absbeginnerdevwp8pdf - 470 page pdf of full series


Pascal Programlama - 1

Merhaba,

Pascal programlama dili bir çok kişinin programlama öğrenmeye başladığı diller arasında ilk sıralardadır. Halen yaygın olarak kullanılır. 

Pascal programla Yüksek Seviyeli bir dildir. Macintosh işletim sisteminin tamamı pascal ile geliştirilmiştir. 


Pascal programlama derleyicisi için ücretsiz bir yazılım olan free pascalı tavsiye ederim. Buradan indire bilirsiniz.

Şimdi ilk programını yazalım.


   1. Program HelloWorld;
   2. Uses crt;
   3.   Begin
   4.     Write('Hello World, Merhaba Dünya');
   5.     Readln();
   6.   end.


İlk satırda programımızın adını belirliyoruz. İkinci satırda kullanacağımız kütüphaneyi tanımlıyoruz. Üçüncü satırda kod bloku açıyoruz. Dördüncü satırda ekrana yazı yazdırma komutunu giriyoruz. Beşinci satırda okuma komutu girerek ekranı bekletiyoruz. Altıncı satır ile kod blokunu kapatarak programımızı tamamlıyoruz. 

Pascal için Kitap Önerisi:  Palme Kitapevi, Pascal Temel Algoritma


Imagine Cup Nedir?


Merhaba, 


Bu yazımda Microsoft tarafından düzenlenen Imagine Cup adlı yarışmayı tanıtacağım. 

Imagine Cup, teknolojiye ilgi duyan, uygulama geliştirmeyi seven ve girişimci ruhuna sahip öğrencileri bir araya getiren bir yarışmadır. 

2003 yılından beri düzenlenen bu yarışmanın finalleri her yıl farklı bir ülkede yapılır. Yarışmada farklı kategoriler bulunmaktadır.  Bunlardan en önemlileri; yazılım tasarımı, oyun geliştirme ve tasarımı, gömülü sistemler gibi kategorilerdir. 

Projeleri belirlerken bazı önemli noktalardan söz etmek gerekirse; projenizin var olan bir soruna çözüm sunması çok önemlidir. Gündemde olan konular üzerinde proje konusu belirlemek, finale giderken size büyük bir adım artırır.

Imagine Cup finalleri, 2014 yılında Microsoft’un Redmond’taki genel merkezinde düzenlenecek. Duyuruyu, Imagine Cup 2013 ödül töreni için özel olarak kaydedilen videoyla Microsoft CEO’su Steve Ballmer gerçekleştirdi.


Imagine Cup ile ilgili ayrıntılı bilgiler; 






Ayrıca çok önemli bir kaynağı da belirtmeden geçmek istemiyorum. 2009 yılında dünya 4. olan takımda yer alan Umut Erkal tarafından yazılan Imagine Cup El Kitabını tüm adayların okumasını tavsiye ederim. Çok açıklayıcı ve bilgi verici bir kaynak olmuş, Umut Erkal Hocama buradan teşekkürlerimi iletiyorum. 

18 Temmuz 2013 Perşembe

Ne Yapmalı?

Merhaba,

Uzun zamandır bekleyen bir yazıyı kaleme alma vakti geldi.

İlgilenen ve merak edenler için bazı paylaşımlarım olacak.

Bir soru; 

Bilgisayar Bilimleri bölümüne başlamadan önceki zamanı nasıl değerlendirmeliyim? 

1) İyi bir matematik alt yapısı oluşturun. Liseden hatırlamıyorsanız, fonksiyonlar, limit, türev, integral, dizi seri ve matris-determinant konularına bir göz atmalısınız. Aynı zamanda dönem içindeki, matematik ve lineer cebir dersleri için faydalı olacaktır. 

     Matematik için üç süper kitap;



     Ayrıca Matematik Dünyası dergisini de takip edebilirsiniz.

     Ali Nesin'in video dersi: http://trtokul.anadolu.edu.tr/?q=videos/1125&page=1

2) Programlama konusunda daha önce tecrübeniz yok ise, "programlama ve algoritma nedir?" sorularına cevap aramanızı tavsiye ederim. Çok fazla ayrıntıya girmeden temel düzeyde algoritma ve programlama mantığı öğrenebilirsiniz. 

Bu konuda Fahri Vatansever'in Algoritma ve Programlama Giriş kitabı iyi bir kaynaktır. Ayrıca Bilgisayar Bilimlerine Giriş-1 dersi içinde iyi bir kaynak olan Pascal(Temal Algoritma) kitabının son bölümünde iyi bir algoritma anlatımı var. 


3) Bilgisayar ve yazılım dünyasında İngilizce çok  önemlidir. Kullandığınız terimlerden tutunda, programlama yaparken aldığınız hatalara kadar ilginizce her zaman karşınıza çıkacaktır. İngilizce konferanslar, eğitimler olacaktır ve dünyayı takip etmek için öncelikli çözmeniz gereken sorunların başında gelir.

Yeni sorularla burada olacağım.



12 Mayıs 2013 Pazar

MICROSOFT TÜRKİYE YAZ OKULU 2013

Merhaba,

Süper bir haber ile tekrar karşınızdayım. Bilişim dünyası ile ilgili arkadaşların kaçırmaması gereken önemli etkinliklerden biri olduğu düşünüyorum.

Microsoft Türkiye Yaz Okulu 2013 başvuruları başladı. Başvurularınızı http://aka.ms/yazokulu adresi üzerinden 16 Mayıs 2013 öncesine kadar yapabilirsiniz. Bu yıl sadece Microsoft İstanbul ofisinde düzenlenecek Yaz okulu-Kısa Dönem Staj programına 100 ün üzerinde öğrenci  kabul edilecek.

Faydalı Link: 


NOT:  Başvurular 31 Mayıs 2013 tarihine kadar uzatılmıştır.