Jump to content

Programlama'ya Nasıl Başlarım..


CarleoNe

Recommended Posts

Sevgili Arkadaşım, seninde dediğin gibi yukarıda bundan bahsetmiştik. Web Tasarım gibi ince bir konu'da binlerce kod var ve bunu videolara bakarak film niyetine öğrenmek mantık işi değildir.

Ha ben illaki alıcam diyorsanız, yine alın ama asıl kaynağınız araştırmak ve makaleler olsun..

Sevgilerimle

Link to comment
Share on other sites

elbette cd lerden faydalanabilirsin zaten eğitim amaçlı cd lerde belirli bir kod üzerinde çakılıp kalmaz anlatıcı mantığını kavratmaya çalışır olayın, ben cd lerden çok php çalıştım çok ta faydasını gördüm...

Link to comment
Share on other sites

  • 5 hafta sonra ...

bu,nasıl başlarım diyenler için kılavuz bi çalışmadır,sanırım yeri burası.

kaynak:TürKKoD

yazan:maXXTor

Programlama Giriş-1

Programlama nedir? Programlama dillerinin sınıflandırılması ve hangi programlama dilini kullanmalıyım?


Öncelikle forumda sıklıkla karşılaşılan bu büyük soruna cevap yazmak istedim... Neden diye soracak olursanız? Arkadaşlarımız programlama dillerini seçme konusunda hepimiz gibi kulaktan dolma yanlış bilgilerle aslında daha başlamadan programlama hayatını bitiriyor. Onun için Programlamaya yeni başlayacaklar veya öğrenmek istediği dilde dikiş tutturamayanlar lütfen bu yazıyı dikkatle okuyunuz: Her türlü donanım birimi mevcut olan bir bilgisayar, bu donanımı amaca uygun olarak kullanan bir programı olmadıkça işe yaramayacaktır. Buna karşılık çalıştıracağı donanım olmayan bir bilgisayar programı da işe yaramayacaktır.
Bütün bunlara dayanarak şunu söyleyebiliriz; yazılım ve donanım olmadan bilgisayardan söz etmek mümkün değildir. İşte bu yazılımlarda programlama dilleri ile hazırlandıkları için gelin öncelikle bazı teknik terimleri yazılımın tarihini ve dilleri iyice bir tanıyalım:

Yazılım Sınıfları:

İşletim Sistemleri
Derleyiciler,
Yorumlayıcılar
Editörler
Bilimsel Mühendislik Yazılımları
Görüntüsel Yazılımlar
Mesleki Ve Ticari Yazlımlar
Sistem Yazılımları
Debug Programları
Yapay Zekâ Yazılımları… Vb

Programlama Tarihçesi

-Abdullah bin Musa el-Harezmî, Algoritmik tanımlama ile problem çözümleme yolunu geliştirerek Bilgisayar Biliminin gelişmesine çok büyük katkı sağlayan Müslüman Bilim adamı. Algoritma dediğimiz ifadede zaten el-Harezmiden gelmektedir.

NOT: “ Algoritmik tanımlama ile problem çözümleme” yaklaşımıdır. Türk ve Müslüman kökenli Harzemli gerek “Cebir Bilim Dalının” kurucusu ve gerekse, Bilgisayar Programlama Kuramının temeli olan “ Çözüm ya da Program algoritması” tanımlama kuramının yaratıcısı olduğu, toplumumuzda yaygınca tanıtılmamıştır. Ne cebir ne de programlama kitaplarında yeterince vurgulanmamıştır. Üstüne basa basa söylüyorum.
-Pascalline, Blaise Pascal –1649’da makinenin patentini aldı. Toplama ve çıkarma yapabilen cihaz. Pascal adında bilgisayar dili var.)

-Leibniz(1646–1716), Pascalline’ı geliştirdi. Çarpma ve bölme de yapabilen ilk mekanik cihaz. -
-Ada LOVELACE Charles Babbage’ın yardımcısı –ilk programcı. Ada isimli askeri amaçla kullanılan programlama dili var
-George Bole, 1847 – Boole cebrini yayınladı. Sembolik mantık ve ikili sayı sistemi Von Neumann bilgisayarı Magnetik tamburlar üzerinde 0 ve 1’lerden oluşan makine dilinde yapıldı.
-Grace Hopper 1952 – ilk bilgisayar derleyicisini geliştirdi -1950
– COBOL ve FORTRAN yüksek düzey programlama dilleri gelişti.
-Bill Gates 21 yaşında iken bir arkadaşıyla birlikte Microsoft firmasını kurdu.Şuan Windows işletim sistemi ve .NET platformu ile paraya para demiyor. :)

Programlama Nedir?
Program, bilgisayarın amaca yönelik işleyişini sağlayan bir grup koda verilen isimdir. Bu kodlar bütününe programlama dili denir. Bilgisayarı programlamak için, amaca uygun olarak çeşitli programlama dilleri kullanılır. Programlama dillerini yani kod öbeklerini iki ana grupta toplayabiliriz:

Programlama dillerinin seviyelerine göre sınıflandırılması:
İnsana En Yakın:
Çok yüksek seviyeli programlama dilleri ya da görsel diller (Foxpro, Paradox, access, Vısual Basıc,....)
Yüksek seviyeli programlama dilleri (Pascal, Cobol, Fortran, Basıc,...)
Orta seviyeli programlama dilleri (C, ADA) Alçak seviyeli programlama dilleri (sembolik makine dilleri)
Bilgisayara en Yakın: Makine dilleri (Bilgisayarın doğal çalışma dilleri, l ve 0’ ların dizilimlerinden oluşan) Ve genel olarak ifade edilirse:
>> Düşük Seviyeli Diller
> C
> Fortran
> Cobol
> Qbasic
> Pascal
> C++

>> Yüksek Seviyeli Diller

-Görsel Diller
— Makine Dili
— Assembly
-Görsel Olmayan Diller
— Visual Basic
— Delphi
— Java
— Visual C++
— .NET


Yine Programlama dillerini, temel yaklaşımlarına göre şu sınıflarada ayrılıra biliriz. Buna göre belli başlı programlama dili sınıfları şunlardır: ·
Yordamsal (procedural / imperative) diller: C, Pascal, ... ·
Nesneye dayalı (object based / oriented) diller: Ada, Smalltalk, ABAP, Avenue... ·
Fonksiyonel (functional) diller: Lisp, Haskell, ... ·
Mantıksal (logic) diller: Prolog, ...
Görsel programlama dilleri program kodunun kısmen yâda tamamen görsel biçimde çeşitli araçlar tarafından üretildiği dillerdir. Görselliğin ileri uçlarında program kodu bile bulunmayabilir. Windows sistemlerinde Visual Basic, Access gibi görsel diller yaygın bir biçimde kullanılmaktadır. Çok yüksek seviyeli dillere dekleratif diller de denir. Veritabanlarının yönetimlerinde kullandığımız dilleri bu gruba sokabiliriz. Yüksek seviyeli programlama dilleri daha algoritmik dillerdir. Bu dillerde önce işlerin nasıl yapılacağına ilişkin algoritmalar tasarlanır. Daha sonra bu algoritmalar program koduna çevrilir. Basıc, Pascal, Fortran gibi dilleri bu grup içerisinde ele alabiliriz.
[/CODE]

[CODE]Programlama Giriş-2

Programlama dillerinin uygulama alanlarına göre sınıflandırılması:

Bilimsel ve Mühendislik Diller:
Bu diller daha çok bilimsel ve mühendislik problemlerinin çözümünde tercih edilirler. PASCAL ve C dillerini, birde geleceği pek parlak olmayan ve hala ısrarla kullanılan 90 canlı, dünyanın ilk yüksek seviyeli dili FORTRAN’ ı buna örnek verebiliriz.

Veritabanı Programlama Dilleri:
Bu diller veritabanlarının genel olarak yönetiminde kullanılan dillerdir: DBASE, PARADOX, FOXPRO, SQL.. Kişisel bilgisayarlarda yaygın olarak kullanılanlardan bazılarıdır.

Yapay Zekâ Dilleri: bu diller insan davranışını taklit etmeye yönelik yapay zekâ içeren programların yazımında kullanılan mantıksal dillerdir. En ünlüleri: LISP ve PROLOG.

Genel Amaçlı Diller: Çok çeşitli konularda uygulama geliştirmek amacıyla kullanılan dillerdir. C ve PASCAL’ ı örnek verebiliriz.

Sistem Programlama Dilleri: Sistem programlarının yazımında kullanılan dillerdir. C ‘ yi sembolik makine dillerini bu grup içinde ele alabiliriz. Programlama dili seçiminde öncelik bu dil ile hangi tür program yapacağımızdır. Örnek verecek olursak kendisinden portlarla haberleşme programı istenen bir arkadaşımız bunu COBOL ile veya FORTAN ile yapmaya kalkışırsa ne olacak tabiî ki zaman kaybı. Ve hayal kırıklığıdır. Bu ifadeleri FORTRAN’ı veya COBOL küçük düşürmek istemek için söylerim bu diller kulvarlarında (COBOL: Muhasebe, FORTRAN: Bilimsel Mühendislik Yazılımları) .

Yine bir örnekte web için verelim: Daha çok web ile çalışacak bir arkadaşımız gidip FORTRAN ile veya daha web ile daha alakasız bir dil ile başlarsa çok büyük zaman kaybı yapmış olur. Peki, bu arkadaşımız ne yapmalı o zaman… İlk önce HTML dilini adam gibi öğrenmeli. Daha sonrada PHP, ASP gibi etkileşimli bir dile geçerek asıl programlamaya başlamalıdır. Bilindiği gibi programlama dilleri öğrenilmeden önce programlama tekniği ve algoritma tasarımı mantığı öğrenilmedir. Yani bir yere ulaşmak için hangi araç kullanacağımızdan önce mutlaka o yolun nasıl olacağı hakkında bilgi toplamak veya fikir yürütmek gereklidir. İşte Algoritmada programlamanın temelidir. Çözüme ulaşmak için kullanılan yolu yâda yollardan birini ( kendimize en uygununu ) seçmektir…

Peki, hangi programlama dili ile başlamalıyım?
Evet, ortalıkta birçok programlama dili var. Bu soru ( hangi programlama dili ile başlamalıyım ) daha çok sorulacak ve daha çok tartışmalar çıkacak gibi. Bana göre öncelikle hangi dil amacınıza uygunsa, hangi dilden zevk alarak programla yapabiliyorsanız, seviyorsanız ve en önemlisi para kazanıyorsanız en iyi dil bence odur. Bir kere her şeyden önce kaynağa kolay ulaşmak önemlidir. Açıkçası bugün sanal ortamda yazılımcılar, bir grup oluşturarak tek düşünce gibi bilgi alış verişi yapılabiliyor. Bu konuda ülkemizi temel alacak olursak, ağırlıklı olarak DELPHİ programlama dilinin yaygın olduğunu görebiliriz. Yâda benim gözüme çok çarptı. Yakın zamanda çıkmış bulunan “.NET” teknolojisi ile diller birleşmiştir. Bu yazılım sektörü adına yeni bir bakış açısı getirmiştir. “.NET” ile ilgili daha teknik bilgiyi ileride “Cyber-Warrior” ve TuRKKoD sayfalarında ( maXXTor farkıyla ) alabilirsiniz. Artık web uygulamalarında bile “.NET” sayesinde programlamada kullanılan mantık gibi tasarlamalar yapılabiliyor. Yazılım sektörünün ateşlendiği bu yıllarda rekabetin getirmiş olduğu birçok yenilik ile daha kolay programlamalar yapılabilmektedir.

Yazıların tamamı www.TuRKKoD.com sitesine ait olup kaynak gösterilmeden kullanılması ve ticari amaçlar için kullanılması yasal değildir... :)
[/CODE]

[CODE]Programlama Giriş-3

Sonuç ve dil seçimi


O zaman dil seçimi için göre seçimimizi yapalım:
Yapacağım program hangi yazılım türündedir?
Yâda hangi amaç(lar) için bu programı yazacaksınız?
Programdan istenilen unsurlar nelerdir?
Yani sonuçta oluşacak programınızdan ne tür beklentileriniz var?
Hangi platform için tasarlayacağım bu programı? ( Örneğin: Windows, web, Linux, MS-DOS, Machintosh … vb gibi) Web veya network bağlantısı olacak mı?
Aynı anda kaç kişi bu programı kullanabilecek?
Kullanılacak değişkenlerde belirli bir ölçüt varmı?
Seçtiğim dil güncellemeye ne kadar açık olacak?
Veya programınızı hangi zaman aralıkları ile güncelleyeceksiniz?
Programın sağlam mı olması gerek yoksa sadece hızlı olması sizin için yeterli mi?
Veya her ikisi de gerekli bir unsur mu?
Maliyet ve risk yönetimi nasıl olacak?
Sonuç olarak programın hangi dille yazıldığı hiç de önemli değildir ( Nasıl sonuç ama J ama devamını okuyun…). Aslında doğru düşünüp, hızlı çalışan, çok fazla problem çıkartmayan ve şık tasarlamadıktan sonra hangi dille yazılırsa yazılsın. Zamanın giderek önem kazandığı şu günlerde tasarım süresi kısalan ve hızlı güncellenebilir programlar tercih sebebi olsa gerektir.

Yukarıdaki sorulara gerçekten net cevaplar bulup tabloya göre dilimizi seçmeliyiz:
Platform Yazılım Türü
DOS
Windows
Linux

Web Sistem Mühendislik ve Mat Oyun Yapay zekâ Mesleki ve Ticari C .NET C HTML C Fortran VB Prolog COBOL C++ C++ C++ ASP C++ PL-I Delphi C++ C++ Assembler Delphi Java PHP Matlab Java C Pascal Java ADA Java Script C++ Visual C++ .NET Basic Pascal Basic VB Script .NET Pascal Delphi C Lisp Perl VB Pascal Basic Scheme .NET VB VB Kylix C# Python XML Bugün hali hazırda kullanılan pek çok programlama dili vardır.

İhtiyaca göre programlama yaparken hangi programlama dilinin seçileceği önemlidir. Genel olarak bugüne kadar kullanılan programlama dilleri şunlardır:
· Basic
· Fortran
· Pl/1
· Rpg
· Cobol
· Modular2,3
· Turbo C++
· Pascal
· Cecil
· Ada
· Blue
· Dylan
· Eiffel
· Erlang
· Avenue
· Pynton
· Kylix
· Forth
· Haskell
· Icon
· Logo
· Lua
· Delphi
· VBasic
· PHP
· Perl
· SGML
· XML
· HTML
· ASP
· Java
· ABAP
· Beta
· VB
· Mercury
· Miranda
· ML
· Oberon
· Prolog
· Rexx
· Ruby
· Sather
· SETL
· Lisp
· C
· V C++
· VFocus Pro
· Occam
· Power Builder
· Smalltalk
· Snobol
· ABC
· APL
· Flash
· Python
· Tcl
· Apple Script
· Shell Script
· VB Script
· Metlap
· CSH
· SH
· TSCH
· .NET
Arkadaşlar Yazılım Geliştime uzmanı olabilmek için çok fazla önkoşullar yoktur. Yazılım sürecine katılmak isteyenlerin orta düzeyde İngilizce bilgisine sahip olmaları Yeterlidir. Şu an zaten hem internet üzerinde hem de kitapçılarda yeterli miktarda Türkçe kaynak bulabilirsiniz. Ancak, sadece bir veya iki dil öğrenerek tam bir programcı olamayacağınızı ya da üstat seviyesine ulaşamayacağınızı da bilmeniz gerekiyor. Herhangi bir dilden bağımsız olarak programlama problemleri hakkında düşünmeyi öğrenmelisiniz. Yani algoritmalar dediğimiz çözüm yallarını bulmalısınız.

Gerçek bir üstat olabilmek için, yeni bir dili, el kitabında yazanlarla, bildiklerinizi bağdaştırarak beklide bir kaç gün içerisinde öğrenebilir durumda olmalısınız. Bu, çok iyi bir programcı olmak için birbirinden çok farklı bir kaç dil bilmeniz gerektiği anlamına geliyor. Eğer ciddi programlamaya girecekseniz, Unix’in ana dili olan C’yi öğrenmelisiniz. C++, C ile alakalıdır; birini öğrenirseniz, diğerini öğrenmek zor olmayacaktır. Her iki dil de, ilk dil olarak öğrenmek için uygun değildir ama kendinizi zorlarsanız gerçekten de C dili kaynak kullanımında tutumlu ve verimli bir dildir. Maalesef, C, bu verimliliği, pek çok kaynağın (bellek gibi) yönetimini doğrudan size bırakarak elde eder. Bu düşük seviyeli (donanıma yakın) kodlama karmaşık ve hataya açıktır ve hata ayıklamak için pek çok zamanınıza mal olur. Makinelerin güçlü olduğu günümüzde, makinenin çalışma verimliliği yerine sizin çalışma verimliliğinize öncelik tanıyan bir dil ile program yazmak daha akıllıca olacaktır.

Sonuç olarak ben size VB.NET veya VB ile başlamanızı öneririm çünkü görsel bir dil gerçektende işinizi ilk etapta bayağı kolaylaştıracaktır. Ama C’yi tercih etmenizi öneririm.
[/CODE]

[CODE]Programlama Giriş-4

Nesneye Dayalı Programlama Kavramı

Bu arada ilkyazımda programlama dilleri anlatırken Nesneye dayalı programlama (object oriented programming) dili kavramını vermeyi unutmuşum kısaca ona değinelim ve algoritmalara geçelim…

Programlama gerçek hayattaki durumların modellenmesinden başka bir şey değildir. Bilgisayar programları bu modellerin temel alınarak durumların bilgisayar ortamına aktarılmasından ibarettir. Türkçenin nasıl kuralları varsa programlama dillerinin de kuralları vardır. Bunları gramer ve imla kuralları olarak ikiye ayırabiliriz. İşte bilgisayar programı yazarken yaptığımız bu kuralları kullanarak çeşitli durumları bilgisayar diline çevirmektir. Tabii her dilinde kendine göre zorluğu veya değişik bir özelliği vardır. Mesela Rusça dilinden bir örnek verecek olursak “okno” (ayna) diye yazılan kelime okunurken “akno” diye okunur. Programlama dillerinde ise mesela C de programlar main ana fonksiyonundan sonra “{“ işareti ile başlamalı “}” işareti arasında yazılmalıdır. Klas ik programlamayla nesneye dayalı programlamanın tek farkı da bu noktadadır.

Nesneye dayalı programlama tekniği programcıya yüksek kalitede program yazma imkânı sağlar fakat bunu yapabilmek için tasarım ve kodlama aşamalarında bu ölçütleri göz önünde bulundurmalıyız. Nesneye dayalı programlama ile daha kolay (ucuza: zaman, adam, para) oluşturabilir. Hata bulma, güncelleme yeniden kullanım da daha kolay olur.
Klasik programlamadan farklarını şöyle izah edelim: Sınıf hazırlayabilme ve nesne yönelimli programlamanın bütün özellikleri, fonksiyon ve operatörleri aşırı yükleyebilme, şablon fonksiyon ve sınıflar yazabilme, güçlendirilmiş ve daha güvenli bellek kontrolü, değişkenleri programın herhangi bir yerinde tanımlayabilme (C’de sadece fonksiyon başında tanımlanabilir), referans argümanı kullanabilme (fonksiyonlarda) ve referans değişkeni kullanabilme, Standart Template Library ile her türlü veri yapısı ve veri organizasyonunda iyi bir çözüm ve nesne yönelimli olarak yazılmış yüzlerce hazır kütüphane... NYP’de sınıf kavramı vardır. Ve bu dilin daha esnek olmasını sağlar. Aynı şekilde nesneye dayalı programlama yöntemleriyle kullanılması verimliliği ve kodun müdahale edilebilirliğini daha da artıracaktır. "Olay yönlendirmeli Nesne yönelimli" programlama şu anda C# ve VB.NET dillerinin program geliştirme yaklaşımıdır.

Çok mu uzun oldu yoksa "Nesneye Dayalı Programlama Dili Kavramı" bilmiyorum ama adamların kitaplara sığdıramadığı kadar varmış… :)
[/CODE]

[CODE]Programlama Giriş-5

Algoritma Nedir?


ALGORİTMA

Sorunun çözümü için saptanmış sonlu sayıda basamaktan oluşan adımlar veya komutlar takımıdır. Programlama mantığıdır. Yukarıda söylediğim gibi ünlü Müslüman-Türk âlim El-Harezmî’den gelmektedir.

Kısaca Algoritma, bir programda neyin, nerde ve nasıl olması gerektiğini bilgisayara anlatmamıza yarayan sonlu sayıda basamaktan oluşan yola hazırlamaya diyoruz. Örneğin hani bir çay demleme (programcılık okuyanlar belki bilir) algoritması vardır : ) :
Mutfakta değilsen mutfağa git.
Çaydanlığa bak dolu değilse su doldur
Ocağı yak Ve çaydanlığı ateşin üstüne koyarak
Suyun kaynamasını bekle
Su kaynadıktan sonra
çayı bırak ve
üstüne suyu dök…
Yine demliğe biraz daha su bırakarak bekle
Su kaynadığında biraz dinlendirerek ateşi kapat
mutfaktan çık
Ve keyifle çayını iç
: ) Yemek tarifi gibi oldu ama işin özü budur.

Bilgisayara hangi durumlarda ne yapacağını önceden söylemez isek tabiî ki bilgisayar düşünemediği için söylemediğiniz yerde takılır kalır. Aynı şu eski Windows’larda mavi ekranın çıkması gibi… Sorun Analizi Programda neyin gerçekleştirilmek istendiği, belirlenen mümkün olan en az sayıda parametre cinsinden ifade edilir. Bu parametreler maliyet, zaman ve performansla ilgili olup, her parametrenin bir hedef ve bir de eşik değeri saptanır. Parametre değerleri her aşama karar noktasında gözden geçirilir ve gerekiyorsa değiştirilir. Bu parametreler bir araya getirildiğinde programın temel esasları ortaya çıkar. Sorunun çözüm yolu da bu aşamada belirlenir ve çözüm için gerekli matematiksel modeller kurulur. Algoritmalar hazırlanır. Giriş-çıkış birimleri ve bilgileri (biçim, şekil, düzen) belirlenir. Programda kullanılacak değişkenler tanımlanır (sembol) ve türleri belirlenir. Program tasarımı yapılır.

ÖRNEK: Klavyeden girilen iki sayının toplanmasını ve ekrana yazılması sorunun analizi aşağıdaki gibi yapılır. İstenenler:
a)sayıların klavyeden girilmesi
b)toplama işleminin bulunması
c)toplama işleminin ekranda görüntülenmesi

Değişken tanımı:
A:Birinci sayıyı
B:İkinci sayıyı
C:iki sayının toplamını göstersin
Çözümün matematiksel gösterimi: A+B=C



Özel Sözcükler ve Söz Dizimi

Özel Sözcükler Dilin kullandığı anahtar sözcüklerdir. Bu sözcükler değişken veya fonksiyon tanımlarında kullanılamaz. Örneğin if, else, print, end, int, long… vb Söz Dizimi Her dilin kendine özgü bir söz dizim yapısı vardır. Değişkenler, sabitler ve fonksiyonlar oluşturulurken bu kurallara uyulması gerekir.
Private Sub Form_Load()
Print "Merhaba Turkkod’lular"
End

Sub Değişken Kavramı

Değişken, bilgileri saklamak üzere kullandığımız, ismini ve tipini belirlediğimiz bellek alanlarına verilen genel isimdir. Bir değişkeni tanımladığımızda ya da ilk kullandığımızda, bilgisayarın hafızasında o değişken için bir bölüm ayrılır.

Değişkenleri genel olarak iki gruba ayırabiliriz.
-Birinci grup, içinde sayıları sakladığımız değişkenlerdir. Bu değişkenlerin hafızada tutacakları yer bellidir.
-İkinci grup ise, içinde sayı haricindeki bilgileri, örneğin isim veya adresi tutacağımız değişkenlerdir. İçinde sayı tutacağımız değişkenlere nümerik ya da sayısal değişken denir. Sayı haricindeki bilgileri tutacağımız değişkenlere ise alfa nümerik, alfa sayısal veya string değişkenler diyoruz.

Veri Türleri
Her dilin kendine özgü veri türleri vardır mesela C programlama dili için: int Char Float String Double …. Vb Değişken İsimleri Değişken isimlerinin programcı tarafından belirlendiğini biliyoruz. Programcı değişken ismini belirlerken, aynı zamanda değişkenin niteliğini de belirler. Değişken isimleri aşağıdaki kurallara göre belirlenmelidir.
1. Değişken isimleri en fazla 40 karakterden oluşabilir.
2. Bir değişken isminin ilk karakteri mutlaka bir harf olmalıdır.
3. Değişken isimlerinin içinde boşluk veya özel karakterler bulunamaz
4. Bir değişken ismi FN harfleriyle başlayamaz.



Değişkenlere Değer Atama

Bir değişkene değer atamanın çeşitli yolları vardır. En basit değer atama yöntemi eşitlik kullanımıdır. A% = -373 PI# = 3,1415 TUTAR& = 3676800 sayi = 1673.772 Isim$ = “QuickBASIC” Görüldüğü gibi değişkenlerin bazıları büyük, bazıları küçük, bazıları da hem büyük hem de küçük harflerden oluşmaktadır. “QuickBASIC” dilinde değişken isimlerinin büyük veya küçük harflerle tanımlanması, o değişkeni etkilemez. Yani, “SAYI” ve “sayi” değişkenleri aynı olarak kabul edilir.
[/CODE]

[CODE]Programlama Giriş-6

Operatörler


Matematiksel Operatörler

Matematiksel işlemlerimizi yaptırabilmemiz için aşağıdaki operatörleri kullanabiliriz.
+ ‘Toplama
- ‘Çıkarma
* ‘Çarpma
/ ‘Bölme
\ ‘Tamsayı Bölem
^ ‘Üs yani Kuvvet alma
Mod ‘Kalanlı Bölme
& ‘Dizilim Birleştirme

Karşılaştırma Oparatörleri
< ‘Küçüktür
<= ‘Küçük Eşittir
> ‘Büyüktür
>= ‘Büyük Eşittir
= ‘Eşittir
<> ‘Eşit Değildir

Mantıksal Operatörler
AND Operatörü
OR Operatörü
XOR Operatörü
NOT Operatörü

Aritmetik İfadeler

Programlama sırasında bazı matematiksel işlemler gerekecektir. Aşağıda aritmetik operatörler ve hangi işleme karşılık geldikleri listelenmiştir.
+ " Toplama
- " Çıkarma
* " Çarpma
/ " Bölme
^ " Üs (kuvvet) alma Aksi belirtilmedikçe, matematiksel işlemlerde önce kuvvet alma işlemi yapılır. Daha sonraki öncelik çarpma ve bölmeye aittir. En son işlem yapılan aritmetik operatörler ise toplama ve çıkarmadır. Aynı önceliğe sahip matematiksel işlemler söz konusu olduğunda önce soldaki işlem gerçekleştirilir. Eğer matematiksel işlem parantez içeriyorsa, önce parantezlerin içindeki kısımlar çözümlenir.
Eğer işlemlerimizin karışmasını istemiyorsak, yazdığımız matematiksel formüllerimizde parantez kullanırız.

((19 – 3) / (3 – 1) ^ 2) * 6 = 24
(48 + 1) / (14 / 2) * 3 = 21
64 - (4 + 4) ^ 2 – 1 = -1


Şunu bir kez daha belirtmek gerekir ki, parantez içindeki ifadelerde, önce en içteki paranteze ait işlem gerçekleştirilir.

Buraya kadar sözüne ettiğimiz 5 aritmetik operatörden başka QuickBASIC diline özgü bir operatör daha vardır. “ \ ” işareti kalansız bölmeyi (tamsayı bölmesini) sağlar. Örneğin, “7 \ 2” işleminin sonucu 3,5 değil 3 olacaktır.

Programlama dillerinde bilgileri işlemek için kullanılan en yararlı araçlardan biride koşullu bir ifadedir. Koşullu ifade bir özellik, değişken veya veride bulunan değere göre işlem yapmamızı sağlar.
[/CODE]

[CODE]Programlama Giriş-7

If...Then Karar Yapısı




Bir If...Then karar yapısı programdaki bir koşulu denetlememizi ve çıkan sonuca göre hareket etmemizi sağlar. En basit biçimiyle “If Koşul Then Bildiri” gibi kullanılabilir.

Select Case Karar Yapısı
Döngüler belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar.

isual Basic’de kullanılan döngüler aşağıda verilmiştir.
Örneğin C’deki for döngüsü do-while döngüsü… İşte Küçük bir Kod Mimarisi:
main() /* ana fonksiyon*/
{
printf("Merhaba C."); /* cikartma durumu */
}

Ve daha karmaşık bir program yapısı
main()
{
int xx;
for (xx=5;xx<15; xx=xx+1)
{ if (xx==8)
break;
printf("Break döngüsünün içinde, xx in değeri simdi %d\n",xx);
}
for (xx=5;xx<15;xx=xx+1)
{ if (xx==8)
continue;
printf("Continue döngüsünün içinde, xx in değeri simdi %d\n",xx);
}
}

PROGRAMIN KALİTESİNİ BELİRLEYEN ÖLÇÜTLER ·

Program işini doğru yapmalı
· Mümkün olduğunca hızlı çalışmalı
· Sistem kaynaklarını gereksiz yere harcamamalı
· Program kodu okunabilir ve anlaşılabilir olmalı.
· Birbirinden bağımsız modüllerin minimum inter aktivitesinden oluşmalı
· Bakım ve güncellenmesi kolay olmalı
· Hatalar lokal olmalı. ( Bir bölümde oluşacak bir hata tüm programı etkilememeli.)
· Verilen süre içinde tamamlanmalı
· Gerekli yazlı dokümanlar hazırlanmış olmalı. (Kullanma kılavuzu, yardım dosyaları vs.)

Bu arada Programcılık öğrenmek sadece sözdizimsel (syntax) kurallarını öğrenmek demek değildir. İyi düşünmek ve matematiksel bir zekâya sahip olmak gerekir diye düşünüyorum. Şimdi arkadaşlar bu konuları derinlemesine ele alacağız ama ben bu anlatımlarda dil olarak C ve C++’den faydalanmayı düşünüyorum. Onun için benim ve birçok "ciddi" kitabın görüşü "C++’ya başlamadan önce C öğrenmenin gerekmediği"dir. Doğrudan C++’den başlamak gerekir. Tabii ki C biliyorsanız C++ öğrenmeniz kolay olur.

Yine Benim kişisel görüşüm her bilgisayar mühendisinin, özellikle yazılım geliştirme ile uğraşacak olanların, C++’yı iyi bilmesi ve anlaması gerektiğidir, belki kullanmayacak bile olsak... Kafanıza göre takılın… Tabii bütün bu anlattıklarım sadece C ve C++ için geçerli değil tüm programlama dilleri için evrensel olan konulardır. Diğer programlama dillerinden de yeri geldikçe (avantajlarında-dezavantajlarından) değinmeye çalışacağım. Bundan sonraki dersimiz de inşAllah Operatörler, karar deyimleri, matematiksel ve mantıksal ifadeler olacaktır…

Saygılarımla arz ederim… Bu Doküman Türkkod için maXXTor tarafından hazırlanmıştır. Alın teridir. Lütfen kaynak belirtmeden kullanmayınız…
[/CODE]

[CODE]Programlama Giriş-8

Yazılım mühendisliği ile ilgili sorular gelmişti daha önce o yazılarıda buraya dahil etmeyi düşündüm...


Yazılım Mühendisliği
1968 yılından bu yana var olan yeni bir mühendislik alanıdır.Programlama dillerin çıkışı ile birlikte ortaya çıkmıştır. Yazılım Mühendisliği, yazılım sistemlerinin mühendislik prensipleri çerçevesinde tasarımı, üretimi ve işletilmesini hedefler. Bilgisayar sistemleri artık günlük hayatın her alanında yoğun ve etkin bir şekilde kullanılmakta olduğundan, Yazılım Mühendisliği tüm işalanlarında uygulamaları olan bir alandır. Üniversitelerdeki Bilgisayar Mühendisliği tam olarak şekillendirilemese de yazılım Mühendisliği Bilgisayar Mühendisliğinin bir alt koludur.

Yazılım tasarlama, Kontrol etme, geliştirme alanlarında hizmet eden ve günümüzde çok aranan bir meslek gurubu haline gelmiş Mühendislik türüdür. Günümüzde yazılım sistemleri,
–Bankacılık
- Eğitim
-Haberleşme
–Otomotiv
–Sağlık
–Şirket yönetimi
–Telekomünikasyon sistemleri
–Hava taşımacılığı gibi çok geniş alanlarda kullanılan bilgisayar sistemlerinin çok önemli ve kritik bir parçasını oluşturmaktadır. Saygılar...

Microsoft Yazılım Mühendisliği Eğitimi
Bu işin tanımsal kısmı şudur: Yazılım Mühendisleri, bir bilgisayarın gerekli fonksiyon ve görevlerini yerine getirebilmesi için gerekli olan basamakları mantıksal bir sıra ile düzenleyen ve çok detaylı bir komutlar bütünü olan “program” veya “yazılım” ları yazan ve test eden kişilerdir.Temel ingilizce bilgisi ve bilgisayar kullanma becerisi olan herkes bu programlara katılabilir. Kimler Katılmalı : Yazılım önümüzdeki yıllarda sosyal hayatımızda etkisini bu gün olduğundan daha da fazla artıracaktır. Projelerini masaüstü ve Internet platformuna taşımak isteyenler bu eğitime katılabilirler. Yazılım Mühendisleri, Türkiye `de iş bulma garantisine sahip ender insanlardan biridir. İşin özü ise şudur: Türkiyede yetkili kılınan Microsoft Çalışma ortakları tarafından sınav yapılır... Yazılım Mühendisi olmak isteyen bir kişi bu sınavları başarıyla geçmelidir. Her sınavın ücreti 50 $ dır. Sınavlar genel olarak Veri tabanları(SQL), Programlama (Asp.NET, VB.NET) gibi sınavları vererek bu ünvanı elde edebilirsin... MCP,MCAD,MCDBA ... gibi unvanları vardır. ilk sınavı kazanan herkes MCP (Microsoft Certificated Professional) olur. Sonra sınav sonuçlarına göre bu ünvanları alırsın.. Şunuda söyleyim ben ankarada çalıştım ve VB.NET eğitimide verdim.. bu kursu alan elemanlar boşta kalmadı.. Hatta aranan eleman bile oldular.

Detaylı bilgiyi : http://www.microsoft.com/learning/default.asp sitesinden temin edebilirsin..

Tüm yazılar Türkkod.org adresine ait olup kaynak gösterilmeden yayınlanamaz....
[/CODE]

[CODE]Programlama Giriş-9

Slm Arkadaşlar konumuz geçen defa açlıdığında soru - cevap şeklinde gidiyordu onun için yazdığım o konularıda (tabii hepsi programlamaya giriş olacak şekilde ) burda yine yazıyorum...

Evet Soru şu şekildeydi:vb.net mı yoksa C mi zor dostum hangisi daha kolay...vede iş imkanına gore hangısı daha ii acaba??

El-Cevab: Öncelikle zor diye birşey yoktur. Fakat çalışma sahası olarak .NET in piyasada istenirliği daha fazla diyebilirim. C görsel bir program değildir.. Ama VB.NET ise görsel bir dildir ve öğrenmesi c ye göre tabiiki daha kolaydır. Peki görsel bir program ile görsel olmayanlar arasındaki farklar nelerdir? Görsel programlama paketleri ki bunlar Delphi, Visual C++,VB, VB.NEt ... ve daha bir çok dil vardır.Bu paketlerde hazır bazı komponentler (araç ve gerecler) ile birlikte gelir. Örneğin formlar(pencerler), textbox(metin kutusu), menüler... vb araçlar hazır halde gelir yani en önemli özelliklerinden birisi programın ekran tasarımının kod yazmaya gerek kalmadan sanki bir resim çiziyormuşçasına kolayca yapılabilmesidir. Görünüşü hoş bir arabirime sahip olan VB,Vb.NET gibi görsel programlama diller(paketleriyle desek daha uygun olur) ile basit yada karmaşık kontrollerin ve nesnelerin özelliklerini belirlemek için yüzlerce satır kod yazmaya gerek yoktur. Yine görsel programlar COM (Component Object Model) olarak bilinen bir yapı taşı üzerine kurulmuştur. COM, nesnelerin birbirleriyle nasıl bir ilişki içinde olduğunu tanımlayan bir standarttır. COM tabanlı tüm programlar böylece birbirleri ile haberleşebilir, birbirlerinin kaynaklarını kullanabilir. ActiveX ve DirectX bunlara en iyi örneklerdir.

Evet sonuç olarak Görsel programlama paketleriyle uygulama oluşturmanın ilk adımı arabirim (GUI=Graphical User Interface, formlar) oluşturmaktır. Arabirimin temel taşları Formlar ve Kontrollerdir(menüler,kaydırma çubukları, butonlar,combo box, text box, cursor...vb). Formlar kullanıcı ile etkileşimi tanımlayan olaylar, özellikler, davranışları kapsayan nesnelerdir. Görsel programlama paketlerinin en temel nesnesi Formlardır. Windows’u meydana getiren pencerelerin her biri bir formdur. Formların özellikleri programcı yada kullanıcı tarafından Tasarım Zamanında (Design Time) yada Çalışma Zamanında (Run Time) değiştirebilirler.Bir Form menüler, butonlar, liste kutuları, resim kutuları gibi Windows öğelerinden oluşabilir.

Görsel olmayan dillerde bunları yazmaya kalkışırsak çok ciddi zaman kaybımız olur.. Peki hiç görsel olmayan programların avantajları yokmu ? : çok fazla avantajı vardır..Örneğin c dilinin avantajlarından birisi az komut kümesinden oluşması ve bu komutların diğer yüksek seviyeli dillere nazaran daha hızlı çalışmasıdır. veya C dili değişik bilgisayarlara kolayca adapte olan bir dildir. yani herhangi bir dll veya işçi dosya [(run file dll,vxd,ocx gibi) bunuda ben uydurdum nasıl :) ] gereksinimi duymadan çalışır. ve bilgisayarımızın donanımına tam olarak hükmeder. Mesela Unix İşletim sistemi C dili ile yazılmış hala kullanılan çok kullanıcı çok işlem mantıklı mükemmel bir işletim sistemidir.
[/CODE]

Link to comment
Share on other sites

Web Master bölümü altında web programcılığı ile ilgili paylaşımlar var. Eğer orası çok daha işlek olursa yeni bölümler açılabilir fakat şu anda hareket haliyle diğerlerini açmak gereksiz olacak.

Link to comment
Share on other sites

  • 6 ay sonra...
Yazının aşağı yukarı tamamı doğru ama sanıyorum eski bir yazı Java ve C# gibi programlama dillerinden hiç bahsedilmemiş, pascal'ın amacı yapısal programlamayı öğretmek değil matematiksel işlemleri kolayca gerçekleştirebilmekti şu anda ki kullanılışı yapısal programlamayı öğretmek olabilir ama bunun için yapılmadı...

ben son 2 yıldır C# ve SQL server üzerinde proje geliştiriyorum bunlar dışında ASP.NET, ADO.NET, Oracle gibi sistemlerle de şahsi olarak ilgileniyorum, Delphi ve Visual Basic ile program yazdım daha önceleri ama bunları Java ile karşılaştırmak Java'ya haksızlık olur diye düşünüyorum, şu an için C# en iyisi bana göre ama Java'dan bi atak beklemiyo değilim uzunca bir süre sustular çünkü, bekleyip görücez ne dielim...

kardeşim ben seninle aynı düşünceye sahip değilim. Çünkü bence java deyip geçmek java ya haksızlık olur. Java nın tamamını bilipde javadan bu şekilde konuşulabilir ancak. Java ve bir ÖMÜR bence sınır yok java da. Hele bi de platformdan bağımsızlığı varki deme gitsin. Başlı başına büyük bir "ŞEY" diyebilirim ancak. Gördüğün gibi C# e gelince JAVA nın çıkmasından sonra yapılan en büyük gelişme olarak görüyorum.

Link to comment
Share on other sites

  • 2 hafta sonra ...

bilgisayar programcısı olarak önerim eğer linux sun gibi diğer isletim sistemlerinde göz ardı etmek istemiyorsanız java öğrenin javayı güzel kılan platformdan bağımsız birprogram yazarsınız linuxcularda kullanır sunda kullanır microsfofta uyum sorunu olmaz..

2. si otomasyon tarzı porgramlar yapcaksanız programalama yerine FileMAKER öğrenin yani bir müsteri takip bir personal takip stok-cari- vs perakende satıs.. mazağa otomasyon.. bu tip programlar yazacaksanız döngüdür kodddur veri bağlamadır kasmayın. filemaker apple ın geliştirdiği kod kullanmadan veri tabanı destekli güçlü programlar yapmanızı sağlar. bunu deneyin.. (filameker neler yapar diyorsanız bir satıs programı yaparsınız kolayca bu program aynı zamanda yine sizin yapacağınız online satış firması ile kontaklı calıısr yani siz bir stok kartı ekler siniz bu kart otomatik olarak e mağzanıza da eklerni. filemaker bunun gibi işleleri dahi yapabilir.. tek bir eğitim seti yapar ver benim bildiğim o da behlül akkoç hocamız. (googlec.om da filmaker diyince bulursunuz zaten onu. :))

c++ da tavsiye ederim cok güçlü bir dildir.

windows 98 di galiba c++ ile yazıldı

bilgisayar destekli elektronik cihaz kontrolunde ve oyun programlamada assably ve c++ kullanılır.. c++ da nisbete platformdan bağımsızdır. yani linuxa da yazabilrisniz windowsa da ama javadaki gibi değil yani bikez yaz derle heryerde calıssın seklide diil aynı dille farklı kütüphaneler kullanarak yapılabiir.. ama c++ biraz öğrenmesi ve yazması zor birdildir cünki cok geniş bir dil

kolay bir dil öğrenmek istiyorum diyorsanız

visual basic diyebilrim ama o da zayıf birazda güçsüz bir dil ama hiç bişi de yapılmaz demek değil..

kolay ve küçlü bir sey tavsiye et derseniz önerim

pyton olur :) yazımı kolay windows dahil bir cok platform için yazılabilir kısaca öneri sıramı yazayım..

java

pyton

eğer robotik ile veya elektronik programlama yada oyun ile programlama yapacaksanız

asseblyy

sonra

c++

en son Visual basic..

baya uzun oldu

hangisini öğrenirseniz öğrenin algoritma bilmezseniz yapamazsınız öncelikle bir algoritma kitabı temin edin.. sonra dil secimi kolay pedal nedir direksyon nedir ne işe yarar bilmek araba kullanmaya yetmez.. algoritma işte burda kullanmayı sağlayan seydir..

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...