Programlama Giriş

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Programlama Giriş
(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 >> Yüksek Seviyeli Diller
— Makine Dili
— Assembly -Görsel Diller -Görsel Olmayan Diller
— Visual Basic > C
— Delphi > Fortran
— Java > Cobol
— Visual C++ > C++
.NET > Qbasic
> Pascal

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.

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ı. J
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
SONUÇ VE DİL SEÇİM

O zaman dil seçimi için kendimize şöyle sorular soralım bunların cevaplarına göre seçimimizi yapalım:

  1. <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Yapacağım program hangi yazılım türündedir? Yâda hangi amaç(lar) için bu programı yazacaksınız? <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Programdan istenilen unsurlar nelerdir? Yani sonuçta oluşacak programınızdan ne tür beklentileriniz var? <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Hangi platform için tasarlayacağım bu programı? ( Örneğin: Windows, web, Linux, MS-DOS, Machintosh … vb gibi) <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Web veya network bağlantısı olacak mı? <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Aynı anda kaç kişi bu programı kullanabilecek? <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Kullanılacak değişkenlerde belirli bir ölçüt varmı? <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">Seçtiğim dil güncellemeye ne kadar açık olacak? Veya programınızı hangi zaman aralıkları ile güncelleyeceksiniz? <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: justify; mso-list: l4 level1 lfo1; tab-stops: list 36.0pt">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?
  2. 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ürecinekatı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
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Bölüm–3 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.
Klasik 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
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
[FONT=Verdana, Arial, Helvetica, sans-serif]Bölüm-4[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Algoritma Nedir?[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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 : ) : [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Mutfakta değilsen mutfağa git.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Çaydanlığa bak dolu değilse su doldur[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Ocağı yak[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Ve çaydanlığı ateşin üstüne koyarak Suyun kaynamasını bekle[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Su kaynadıktan sonra çayı bırak ve üstüne suyu dök…[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Yine demliğe biraz daha su bırakarak bekle [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Su kaynadığında biraz dinlendirerek ateşi kapat mutfaktan çık[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Ve keyifle çayını iç : ) [/FONT]

[FONT=Verdana, Arial, Helvetica, sans-serif]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…[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Sorun Analizi[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]ÖRNEK: Klavyeden girilen iki sayının toplanmasını ve ekrana yazılması sorunun analizi aşağıdaki gibi yapılır.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]İstenenler: [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]a)sayıların klavyeden girilmesi [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]b)toplama işleminin bulunması [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]c)toplama işleminin ekranda görüntülenmesi[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Değişken tanımı:[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]A:Birinci sayıyı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]B:İkinci sayıyı [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]C:iki sayının toplamını göstersin[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Çözümün matematiksel gösterimi: A+B=C[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]
akisdiyagram.jpg


[/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]Özel Sözcükler ve Söz Dizimi[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif][/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Özel Sözcükler[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Dilin kullandığı anahtar sözcüklerdir. Bu sözcükler değişken veya fonksiyon tanımlarında kullanılamaz.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örneğin if, else, print, end, int, long… vb [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Söz Dizimi[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Her dilin kendine özgü bir söz dizim yapısı vardır. Değişkenler, sabitler ve fonksiyonlar oluşturulurken bu kurallara uyulması gerekir.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Private Sub Form_Load()[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Print "Merhaba Cyber’lular"[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]End Sub[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Değişken Kavramı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]İç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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Veri Türleri [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Her dilin kendine özgü veri türleri vardır mesela C programlama dili için:[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]int[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Char[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Float[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]String[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Double …. Vb [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Değişken İsimleri[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]1. Değişken isimleri en fazla 40 karakterden oluşabilir.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]2. Bir değişken isminin ilk karakteri mutlaka bir harf olmalıdır.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]3. Değişken isimlerinin içinde boşluk veya özel karakterler bulunamaz[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]4. Bir değişken ismi FN harfleriyle başlayamaz.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT][FONT=Verdana, Arial, Helvetica, sans-serif]
degara.jpg
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Değişkenlere Değer Atama[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] A% = -373[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] PI# = 3,1415[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] TUTAR& = 3676800[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] sayi = 1673.772[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] Isim$ = “QuickBASIC”[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
[FONT=Verdana, Arial, Helvetica, sans-serif]Operatörler[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif][/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Matematiksel Operatörler[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Matematiksel işlemlerimizi yaptırabilmemiz için aşağıdaki operatörleri kullanabiliriz.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]+ ‘Toplama[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]- ‘Çıkarma[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]* ‘Çarpma[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]/ ‘Bölme[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]\ ‘Tamsayı Bölem[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]^ ‘Üs yani Kuvvet alma[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Mod ‘Kalanlı Bölme[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]& ‘Dizilim Birleştirme[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Karşılaştırma Oparatörleri[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]< ‘Küçüktür[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]<= ‘Küçük Eşittir[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]> ‘Büyüktür[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]>= ‘Büyük Eşittir[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]= ‘Eşittir[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]<> ‘Eşit Değildir [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Mantıksal Operatörler [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]AND Operatörü [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]OR Operatörü[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]XOR Operatörü[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]NOT Operatörü[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Aritmetik İfadeler[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] 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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]+ " Toplama[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]- " Çıkarma[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]* " Çarpma[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]/ " Bölme[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]^ " Üs (kuvvet) alma[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Eğer işlemlerimizin karışmasını istemiyorsak, yazdığımız matematiksel formüllerimizde parantez kullanırız.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]((19 – 3) / (3 – 1) ^ 2) * 6 = 24[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif](48 + 1) / (14 / 2) * 3 = 21[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]64 - (4 + 4) ^ 2 – 1 = -1[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Şunu bir kez daha belirtmek gerekir ki, parantez içindeki ifadelerde, önce en içteki paranteze ait işlem gerçekleştirilir.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]If...Then Karar Yapısı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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. [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Select Case Karar Yapısı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Döngüler belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Visual Basic’de kullanılan döngüler aşağıda verilmiştir. [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Örneğin C’deki for döngüsü do-while döngüsü…[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]İşte Küçük bir Kod Mimarisi:[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]main() /* ana fonksiyon*/ [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]{
printf("Merhaba C."); /* cikartma durumu */
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]}[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Ve daha karmaşık bir program yapısı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]main()
{
int xx;
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] for (xx=5;xx<15; xx=xx+1)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] {[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] if (xx==8)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] break;[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] printf("Break döngüsünün içinde, xx in değeri simdi %d\n",xx);[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] }
for (xx=5;xx<15;xx=xx+1)
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] {
if (xx==8)
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] continue;
printf("Continue döngüsünün içinde, xx in değeri simdi %d\n",xx);
}
}
[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]PROGRAMIN KALİTESİNİ BELİRLEYEN ÖLÇÜTLER[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Program işini doğru yapmalı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Mümkün olduğunca hızlı çalışmalı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Sistem kaynaklarını gereksiz yere harcamamalı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Program kodu okunabilir ve anlaşılabilir olmalı.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Birbirinden bağımsız modüllerin minimum inter aktivitesinden oluşmalı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Bakım ve güncellenmesi kolay olmalı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Hatalar lokal olmalı. ( Bir bölümde oluşacak bir hata tüm programı etkilememeli.)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Verilen süre içinde tamamlanmalı[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]· Gerekli yazlı dokümanlar hazırlanmış olmalı. (Kullanma kılavuzu, yardım dosyaları vs.)[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif] [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]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. [/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Ş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.[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif][/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Bundan sonraki dersimiz de inşAllah Operatörler, karar deyimleri, matematiksel ve mantıksal ifadeler olacaktır…[/FONT]
[FONT=Verdana, Arial, Helvetica, sans-serif]Saygılarımla arz ederim…
[/FONT]
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
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..
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
[FONT=Times New Roman, Times, serif]Programlama Dillerinde Operatörler: [/FONT]
[FONT=Times New Roman, Times, serif]Operatörler[/FONT]
[FONT=Times New Roman, Times, serif]Her dilin kendine göre kuralları olmakla birlikte bazı temel taşlar dediğimiz her dilde de aynı özellikleri taşıyan yapılar vardır. İşte bu dersimiz bu temel taşlardan biri olan Operatörleri mercek altına alacağız. Özellikle C ve Pascal dillerinde bu karşılaştırmayı yaparak daha iyi anlaşılacağını düşünüyorum.[/FONT]
[FONT=Times New Roman, Times, serif]OPERATÖRLERİN SINIFLANDIRILMASI[/FONT]

[FONT=Times New Roman, Times, serif]Operatörleri üç biçimde sınıflandırabiliriz: [/FONT]
  1. <LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l5 level1 lfo1; tab-stops: list 36.0pt">[FONT=Times New Roman, Times, serif]Operatörlerin İşlevlerine Göre Sınıflandırılması [/FONT]<LI class=Msonormal style="MARGIN: 0cm 0cm 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l5 level1 lfo1; tab-stops: list 36.0pt">[FONT=Times New Roman, Times, serif]Operatörlerin Operand Sayılarına Göre Sınıflandırılması [/FONT]
  2. [FONT=Times New Roman, Times, serif]Operatörlerin Konumlarına Göre Sınıflandırılması [/FONT]
[FONT=Times New Roman, Times, serif]OPERATÖRLERİN İŞLEVLERİNE GÖRE SINIFLANDIRILMASI[/FONT]

[FONT=Times New Roman, Times, serif]Operatörleri temel olarak işlevlerine göre 6 gruba ayırabiliriz: [/FONT]
[FONT=Times New Roman, Times, serif]1. [/FONT][FONT=Times New Roman, Times, serif]Aritmetik Operatörler
2.
[/FONT][FONT=Times New Roman, Times, serif]İlişkisel Operatörler
3.
[/FONT][FONT=Times New Roman, Times, serif]Mantıksal Operatörler
4.
[/FONT][FONT=Times New Roman, Times, serif]Bit Operatörler
5.
[/FONT][FONT=Times New Roman, Times, serif]Gösterici Operatörleri
6. Özel Amaçlı Operatörler
[/FONT]
[FONT=Times New Roman, Times, serif] Matematiksel (Aritmetik) Operatörler[/FONT]
[FONT=Times New Roman, Times, serif]Matematiksel işlemlerimizi yaptırabilmemiz için aşağıdaki operatörleri kullanabiliriz.[/FONT]
[FONT=Times New Roman, Times, serif] [/FONT][FONT=Times New Roman, Times, serif]İlişkisel Operatörler
İlişkisel operatörler iki değer arasındaki ilişkiyi sorgularlar. Bunlara "karşılaştırma operatörleri" de denir.
[/FONT]
[FONT=Times New Roman, Times, serif]Mantıksal Operatörler [/FONT]
[FONT=Times New Roman, Times, serif]Mantıksal işlemler yapan operatörlerdir. Ve, veya, değil gibi bilgisayarında temelini oluşturan ifadelerin değer kazanmasını sağlayan operatörlerdir.[/FONT]
[FONT=Times New Roman, Times, serif]Bit Operatörler [/FONT]
[FONT=Times New Roman, Times, serif]Bit seviyesinde işlem yapan operatörlerdir.[/FONT]
[FONT=Times New Roman, Times, serif]Gösterici Operatörleri [/FONT]
[FONT=Times New Roman, Times, serif]Adres işlemlerinde kullanılan operatörlerdir.[/FONT]
[FONT=Times New Roman, Times, serif] Özel Amaçlı Operatörler [/FONT]
[FONT=Times New Roman, Times, serif]Fonksiyon çağırma (Önceden hazırlanmış bir işlevi istenilen yerde çalışmasını sağlamak) ve öncelik değiştirme, yapı elemanına erişme, tür dönüştürme (girilen karakterlerin sayıya çevrilmesi), Uzunluk, Koşul, Atama, İşlemli atama[/FONT]
[FONT=Times New Roman, Times, serif]C dilinde Operatörler[/FONT]
[FONT=Times New Roman, Times, serif]Operatörler, nesneler veya sabitler üzerinde önceden tanımlanmış birtakım işlemleri yapan atomlardır. Operatörler mikroişlemci tarafından bir faaliyete neden olurlar ve bu faaliyet sonunda da bir değer üretilmesini sağlarlar. Programlama dillerindeki her operatör bir yâda birden fazla makine komutuna karşılık gelir.
C’de her ifade en az bir operatör içerir. İşte örnekleri:
[/FONT]
[FONT=Times New Roman, Times, serif]c=a * b / 2;[/FONT]
[FONT=Times New Roman, Times, serif]3 operatör vardır: =, *, /[/FONT]
[FONT=Times New Roman, Times, serif]d = fonk();[/FONT]
[FONT=Times New Roman, Times, serif]2 operatör vardır: =, ()[/FONT]
[FONT=Times New Roman, Times, serif]c = a > 4;[/FONT]
[FONT=Times New Roman, Times, serif]2 operatör vardır: =, >[/FONT]
[FONT=Times New Roman, Times, serif]++x[/FONT]
[FONT=Times New Roman, Times, serif]1 operatör vardır: ++[/FONT]
[FONT=Times New Roman, Times, serif]......[/FONT]
[FONT=Times New Roman, Times, serif]......[/FONT]

[FONT=Times New Roman, Times, serif] Her operatörün operandları (değişken) vardır. Değişken nesnesi tam olarak karşılamadığı için Operand’ı tercih ettim. İşleme giren anlamında düşünelim. Operandlar operatörlerin işleme soktukları sabitler ya da nesnelerdir: [/FONT]
[FONT=Times New Roman, Times, serif]a + b [/FONT]
[FONT=Times New Roman, Times, serif]Operatör: +, operandları: a ve b[/FONT]
[FONT=Times New Roman, Times, serif]b > 3[/FONT]
[FONT=Times New Roman, Times, serif]Operatör: ++ , operandları: b ve 3[/FONT]

[FONT=Times New Roman, Times, serif] Aritmetik operatörler 4 işlemle ilişkili olan operatörlerdir: [/FONT]
[FONT=Times New Roman, Times, serif]* [/FONT]
[FONT=Times New Roman, Times, serif]Çarpma[/FONT]
[FONT=Times New Roman, Times, serif]/[/FONT]
[FONT=Times New Roman, Times, serif]Bölme[/FONT]
[FONT=Times New Roman, Times, serif]%[/FONT]
[FONT=Times New Roman, Times, serif]Mod alma (bölümden elde edilen kalan)[/FONT]
[FONT=Times New Roman, Times, serif]+[/FONT]
[FONT=Times New Roman, Times, serif]Toplama[/FONT]
[FONT=Times New Roman, Times, serif]-[/FONT]
[FONT=Times New Roman, Times, serif]Çıkartma[/FONT]

[FONT=Times New Roman, Times, serif]İlişkisel operatörler iki değer arasındaki ilişkiyi sorgularlar. Bunlara "karşılaştırma operatörleri" de denir: [/FONT]
[FONT=Times New Roman, Times, serif]> [/FONT]
[FONT=Times New Roman, Times, serif]Büyük[/FONT]
[FONT=Times New Roman, Times, serif]< [/FONT]
[FONT=Times New Roman, Times, serif]Küçük[/FONT]
[FONT=Times New Roman, Times, serif]>=[/FONT]
[FONT=Times New Roman, Times, serif]Büyük ya da eşit[/FONT]
[FONT=Times New Roman, Times, serif]<=[/FONT]
[FONT=Times New Roman, Times, serif]Küçük ya da eşit[/FONT]
[FONT=Times New Roman, Times, serif]= =[/FONT]
[FONT=Times New Roman, Times, serif]Eşit[/FONT]
[FONT=Times New Roman, Times, serif]!=[/FONT]
[FONT=Times New Roman, Times, serif]Eşit değil[/FONT]

[FONT=Times New Roman, Times, serif]Mantıksal operatörler mantıksal işlemler yapan operatörlerdir. [/FONT]
[FONT=Times New Roman, Times, serif]![/FONT]
[FONT=Times New Roman, Times, serif]Değil (not)[/FONT]
[FONT=Times New Roman, Times, serif]&&[/FONT]
[FONT=Times New Roman, Times, serif]Ve (and)[/FONT]
[FONT=Times New Roman, Times, serif]II[/FONT]
[FONT=Times New Roman, Times, serif]Veya (or)[/FONT]

[FONT=Times New Roman, Times, serif]Bit operatörleri bit seviyesinde işlemler yapar: [/FONT]
[FONT=Times New Roman, Times, serif]~[/FONT]
[FONT=Times New Roman, Times, serif]Değil (bitwise not)[/FONT]
[FONT=Times New Roman, Times, serif]<< [/FONT]
[FONT=Times New Roman, Times, serif]Sola kaydırma (left shift)[/FONT]
[FONT=Times New Roman, Times, serif]>> [/FONT]
[FONT=Times New Roman, Times, serif]Sağa kaydırma (right shift)[/FONT]
[FONT=Times New Roman, Times, serif]&[/FONT]
[FONT=Times New Roman, Times, serif]Ve (bitwise and)[/FONT]
[FONT=Times New Roman, Times, serif]^[/FONT]
[FONT=Times New Roman, Times, serif]Özel veya (bitwise exor)[/FONT]
[FONT=Times New Roman, Times, serif]I[/FONT]
[FONT=Times New Roman, Times, serif]Veya (bitwise or)[/FONT]

[FONT=Times New Roman, Times, serif]Gösterici operatörleri adres işlemlerinde kullanılan operatörlerdir: [/FONT]
[FONT=Times New Roman, Times, serif]*[/FONT]
[FONT=Times New Roman, Times, serif]İçerik Alma (indirection)[/FONT]
[FONT=Times New Roman, Times, serif]&[/FONT]
[FONT=Times New Roman, Times, serif]Adres alma (adress of)[/FONT]
[FONT=Times New Roman, Times, serif][][/FONT]
[FONT=Times New Roman, Times, serif]İndeks (index)[/FONT]
[FONT=Times New Roman, Times, serif]->[/FONT]
[FONT=Times New Roman, Times, serif]Yapı gösterici[/FONT]

[FONT=Times New Roman, Times, serif]Özel amaçlı operatörler: [/FONT]
[FONT=Times New Roman, Times, serif]( )[/FONT]
[FONT=Times New Roman, Times, serif]Fonksiyon çağırma ve öncelik değiştirme[/FONT]
[FONT=Times New Roman, Times, serif].[/FONT]
[FONT=Times New Roman, Times, serif]Yapı elemanına erişme[/FONT]
[FONT=Times New Roman, Times, serif](tür)[/FONT]
[FONT=Times New Roman, Times, serif]Tür dönüştürme[/FONT]
[FONT=Times New Roman, Times, serif]sizeof[/FONT]
[FONT=Times New Roman, Times, serif]Uzunluk[/FONT]
[FONT=Times New Roman, Times, serif]?:[/FONT]
[FONT=Times New Roman, Times, serif]Koşul[/FONT]
[FONT=Times New Roman, Times, serif]=[/FONT]
[FONT=Times New Roman, Times, serif]Atama[/FONT]
[FONT=Times New Roman, Times, serif]+=, *=, /=, ...,[/FONT]
[FONT=Times New Roman, Times, serif]İşlemli atama[/FONT]

[FONT=Times New Roman, Times, serif]OPERATÖRLERİN OPERAND SAYILARINA GÖRE SINIFLANDIRILMASI[/FONT]

[FONT=Times New Roman, Times, serif]Operatörleri işleme soktukları operandların sayılarına göre de sınıflandırabiliriz: [/FONT]
[FONT=Times New Roman, Times, serif]1. [/FONT][FONT=Times New Roman, Times, serif]1 operandlı operatörler (Unary Operators)
2.
[/FONT][FONT=Times New Roman, Times, serif]2 operandlı operatörler (Binary Operators)
3. 3 operandlı operatörler (Ternary operators)
[/FONT]
[FONT=Times New Roman, Times, serif]Programlama dillerinde 2’den fazla operand alan operatörlere pek rastlanmaz.C’de 3 operand alan ve ismine "koşul operatörü"
denilen istisna bir operatör vardır.

Örneğin;
*, /, +, -, =, %, <=, = =, >=, ... iki operandlı operatörlerdir.
++, - -, !, .... tek operandlı operatörlerdir.
[/FONT]
[FONT=Times New Roman, Times, serif]OPERATÖRLERİN KONUMLARINA GÖRE SINIFLANDIRILMASI[/FONT]

[FONT=Times New Roman, Times, serif]Operatörleri konumlarına göre 3 gruba ayırabiliriz: [/FONT]
[FONT=Times New Roman, Times, serif]1. [/FONT][FONT=Times New Roman, Times, serif]Önek(prefix) operatörler
2.
[/FONT][FONT=Times New Roman, Times, serif]Araek(infix) operatörler
3.
[/FONT][FONT=Times New Roman, Times, serif]Sonek(postfix) operatörler

NOT: Hatta bunların fonksiyonlarını hazırlatmak için Bilgisayar Mühendisliğinde ödevler verilir.Gerekli olan varsa temin ederim… maXXTor
[/FONT]
[FONT=Times New Roman, Times, serif]Bir operatörün operandlerının önünde bulunmasına önek (prefix) durumu denir. Sembolik makine dillerinde (assembly languages) operatörlerin operandlarının önünde (prefix) bulunduğunu görüyoruz.
MOV AX, BX ifadesinde AX ve BX birer operand; MOV ise bir operatördür.

Operatör operandlarının arasında bulunuyorsa buna araek(infix) durumu denir.
a + b ifadesinde a ve b birer operand; + ise bir operatördür.

Operatör operandlarının arkasında bulunuyorsa buna da sonek(postfix) durumu denir.
a++ ifadesinde a bir operand; ++ ise operatördür. ++ operatörü prefix durumunda da bulunabilir: ++a .
[/FONT]
[FONT=Times New Roman, Times, serif]ARİTMETİK OPERATÖRLER[/FONT]

[FONT=Times New Roman, Times, serif]Aritmetik operatörler dört işlemle ilgili olan operatörlerdir. Aritmetik operatörlerin listesi ve kendi aralarındaki önceliği şöyledir:[/FONT]
[FONT=Times New Roman, Times, serif]++ --[/FONT]
[FONT=Times New Roman, Times, serif]Sağdan sola[/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]
[FONT=Times New Roman, Times, serif]+ / %[/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa[/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]
[FONT=Times New Roman, Times, serif]+ -[/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa[/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]
[FONT=Times New Roman, Times, serif]=[/FONT]
[FONT=Times New Roman, Times, serif]Atama operatörü C’nin en düşük öncelikli operatörlerinden birisidir.[/FONT]
[FONT=Times New Roman, Times, serif][/FONT]
[FONT=Times New Roman, Times, serif] [/FONT]

[FONT=Times New Roman, Times, serif]+ ve - Operatörleri [/FONT]
[FONT=Times New Roman, Times, serif]İki operandlı (binary) araek(infix) operatörlerdir.+ iki operandı toplamak , - iki operandın farkını almak için kullanılır. operandlar herhangi bir türden olabilir. [/FONT]
[FONT=Times New Roman, Times, serif]* ve / Operatörleri [/FONT]
[FONT=Times New Roman, Times, serif]İki operandlı araek operatörlerdir.* operandları çarpmak, / ise operandları bölmek için kullanılır. Operandlar herhangi bir türden olabilir.+ ve - operatörlerinden önceliklidirler. [/FONT]
[FONT=Times New Roman, Times, serif]% Operatörü [/FONT]
[FONT=Times New Roman, Times, serif]İki operandlı araek bir operatördür.% operatörü sol taraftaki operatörün sağ taraftaki operatöre bölümünden elde edilen kalanı bulmak için kullanılır.% operatörünün iki operandı da tamsayı türlerinden (char, int, long, short) olmalıdır.
Örneğin;
c = 10 % 3;

10’un 3’e bölümünden elde edilen kalan 1’dir. (c=1)

% operatörü , * ve / operatörleri ile soldan sağa eşit önceliğe sahip; + ve - operatörlerinden daha yüksek önceliklidir.
Örneğin;
c=10 % 4 +1 ;
İŞLEM1: 10 % 4 =2
İŞLEM2: İŞLEM1 +1 =3
İŞLEM3: c=İŞLEM2
[/FONT]
[FONT=Times New Roman, Times, serif]Artırma (++) ve Eksiltme (--) Operatörleri [/FONT]
[FONT=Times New Roman, Times, serif]Tek operand alırlar. Önek ya da sonek durumunda bulunabilirler.++ operatörü operandı olan değişkenin içeriğini bir artırmak; -- operatörü operandı olan değişkenin içeriğini bir eksiltmek için kullanılır. Bu operatörler diğer aritmetik operatörlerden daha yüksek önceliğe sahiptir.
İşlevlerini iki biçimde inceleyebiliriz:
[/FONT]
[FONT=Times New Roman, Times, serif]1. [/FONT][FONT=Times New Roman, Times, serif]Yalın olarak kullanıldıklarında ( başka hiçbir operatör olmaksızın ) önek ya da sonek durumları arasında hiçbir fark yoktur.++, "1 artır"; -- ise "1 eksilt" anlamına gelir.
++x;, x++; ikisi de aynı anlama gelir ve x = x + 1; demektir.
--x;, x--; ikisi de aynı anlamdadır ve x = x - 1; demektir.

Örneğin;
...
x = 10;
++x; /*x=11*/
x++; /*x=12*/
...
x = 20;
--x; /*x=19*/
x--; /*x=18*/
...
[/FONT]
[FONT=Times New Roman, Times, serif]2. [/FONT][FONT=Times New Roman, Times, serif]Diğer operatörlerle birlikte kullanıldığında (örneğin atama operatörü ile) önek e sonek biçimleri farklı anlamlara gelir:
Önek durumunda artırma ve eksiltme işlemi, diğer aritmetik operatörlerden daha yüksek öncelikli yapılır.
x = 10;
y = ++x;
/* x = 11, y = 11 */
Burada x = x +1 işlemi yapılır; böylece x =11 olur. Daha sonra bu değer y’ye atanır.
++ ve -- sonek durumundaysa artırma ve eksiltme işlemi söz konusu ifadenin en son işlemi en son işlemi olacak biçimde yapılır.
x = 10;
y = x++;
/* x = 11, y = 10*/
Bu örnekteki, y = x++ ifadesini ele alalım. ++ sonek durumunda olduğundan artırım hemen değil, ifadenin son işlemi olacak biçimde, ifadenin en sonunda yapılır. Yani y değişkenine x’in içindeki ifade atanır; daha sonra x’in değeri 1 artırılır.

Örnek1;
x = 10;
y = 5;
z=x ++ % * 4 --y;
İşlem sırası:
i1: --y........4
i2: x % 4 .....2
i3: i2 * i1 ...8
i4: z=i3.......8
i5: x++........11
Bu durumda x = 11, y = 4, z =8 ’dir.
Örnek2;
c = 20;
d = 10;
a = b = d + c --;
İşlem sırası:
i1: d + c........30
i2: b = i1...30
i3: a = i2....30 a = b demektir.
i4: c--.......19
Bu durumda a = 30, b = 30, c = 19, d = 10 olur.
Örnek3;
a = 10;
b = a++ + ++a;
İşlem sırası:
i1: ++a........11
i2:a + i1......22
i3: b = i2....22 a = b demektir.
i4: a = a + 1.......12
Bu durumda a = 12, b = 22, olur.
[/FONT]
[FONT=Times New Roman, Times, serif]3. [/FONT][FONT=Times New Roman, Times, serif]Fonksiyon çağrılırken aynı değişken birden fazla parametre içinde kullanılmşsa , hiçbiri ++ ve -- operatörleriyle ,işleme sokulmuş olmamalıdır.Örneğin;
a = 10;
b = fonk(a , ++a);
ifadesinde fonksiyon hangi parametrelerle çağrılıyor.? fonk(10, 11) ile mi, yoksa fonk(11,11) ile mi? Şimdi siz fonk(10,11) ile çağrılmasının daha uygun olduğunu düşünebilirsiniz. Oysa sistemlerin çoğunda parametreler sağdan sola doğru ele alınırlar.
Bir değişken parametre olarak ( diğer parametrelerle kullanılmamak koşuluyla önek ya da sonek durumunda bulunabilir. Aşagıdaki ifadeler geçerlidir
b = fonk(++a)
......
b = fonk(a++);
Artırma ve eksiltme operatörlerinin operandı mutlaka bir nesne olmalıdır.
[/FONT]
[FONT=Times New Roman, Times, serif]İLİŞKİSEL OPERATÖRLER[/FONT]

[FONT=Times New Roman, Times, serif]İlişkisel operatörler iki değer arasında karşılaştırma yapan operatörlerdir.Bu nedenle bu operatörlere karşılaştırma operatörleri de denir. İlişkisel operatörlerin hepsi iki operand alır. Aralarındaki öncelik ilişkisi aşağıdaki gibidir:
< > >= <= Soldan sağa
== != Soldan sağa
İlişkisel operatörler ile aritmetik operatörler arasında öncelik ilişkisinin de basit bir kuralı vardır:
Bütün ilişkisel operatörler aritmetik operatörlerden düşük önceliklidir
Programlama dillerinin çoğunda mantıksal veri türleri vardır ve ilişkisel operatörlerin ürettiği değerler bu türlerdendir. Oysa C’de mantıksal veri türü yerine yine int türü kullanılır. Mantıksal bir veri türünün tamsayı türü ile aynı olması C’ye esneklik ve doğallık kazandırmıştır.
C’ de ilişkisel operatörlerin ürettiği değerler , "koşul sağlanıyorsa 1, sağlanmıyorsa 0 " olan int türünden değerlerdir.
Örnek1;
a = 5 > 2; /*a = 1*/
....
b = 3 == 3; /* b = 1*/
....
c = 4 <= 1; /* c = 0*/
Örnek2;
x = 10;
y = 20;
z = y <= x + 10;
İşlem sIRASI:
i1: x + 10......20 Aritmetik operatörü öncelikli
i2: y <= i1.....1 20<=20 koşulu sağlanıyor, üretilen değer 1
i3: z = i3......1 Atama operatörü en az önceliklidir.
Örnek3;
a = 10;
b = 20;
c = a == 10 > b +1;
İşlem Sırası:
i1: b + 1.......21 Aritmetik + operatörü öncelikli
i2: 10 < i1.....1 < operatörü == operatöründen daha öncelikli
i3: a == i2.....0 Koşul sağlanmıyor
i4: c = i3......0
Örnek4;
a = 10 * 2 +1 >= 4 * 4 +5 == 5 > 5 - 3 * 2;
İşlem Sırası;
i1: 10 * 2.............20
i2: 4 * 4..............16
i3: 3 * 2..............6
i4: i1 + 1.............21
i5: i2 + 5.............21
i6: 5 - i3.............-1
i7: i4 >= i5...........1
i8: 5 > i6.............1
i9: i7 == i8...........1
i10: a = i9............1
[/FONT]
[FONT=Times New Roman, Times, serif]MANTIKSAL OPERATÖRLER[/FONT]

[FONT=Times New Roman, Times, serif]Operandları üzerinde mantıksal işlem yapan operatörlerdir. Bu operatörler operandlarını Doğru (true) ya da Yanlış (false) olarak yorumladıktan sonra işleme sokarlar. C’ de öncelikleri birbirinden farklı üç tane mantıksal operatör vardır:
! Değil(not) Sağdan sola
&& Ve (and) Soldan sağa
II Veya(or) Soldan sağa
[/FONT]
[FONT=Times New Roman, Times, serif] ! (değil) operatörü tek operand alır ve her zaman önek durumundadır; diğer iki operatör ise iki operandlıdır ve araek durumundadırlar.[/FONT]
[FONT=Times New Roman, Times, serif]1. [/FONT][FONT=Times New Roman, Times, serif]C’de Mantıksal Doğru ve Yanlış Değerleri
Programlama dillerinin hepsinde mantıksal işlemler iki tür veri üzerinde gerçekleştirilirler: Doğru ve Yanlış. Mantıksal operatörlerin ürettikleri değerler yine "doğru" ya da "yanlış" olabilen mantıksal değerlerdir. İlişkisel operatörleri açıklarken değinmiştik: C’de mantıksal veri türü olmadığından, mantıksal veriler yerine tamsayılar kullanılmaktadır.
C’de ilişkisel bir operatörün ürettiği değer , koşulun sağlanma durumuna göre 1(Doğru) ya da 0(Yanlış) sayılarıdır; ancak bir sayı mantıksal olarak yorumlanacağı zaman şu kural geçerlidir:
-Sayı sıfır ise Yanlış.
-Sayı sıfır dışı bir değer ise , yani negatif ya da pozitif herhangi bir sayı ise Doğru.
Örneğin aşağıdaki sayıların mantıksal yorumlarını inceleyelim:
-11 Doğru
0 Yanlış
+99 Doğru
Bir ilişkisel operatör herhengi iki türden operand alabilir, fakat ürettiği değer 1 ya da 0 tamsayılarıdır. Bu sayılar mantıksal operatörler tarafından Doğru ya da Yanlış olarak yorumlanırlar. Mantıksal operatörlerin de ürettikleri değerler ilişkisel operatörlerde olduğu gibi "int" türünden "1(doğru)" ya da "0(Yanlış) " sayılarıdır.
[/FONT]
[FONT=Times New Roman, Times, serif]2. [/FONT][FONT=Times New Roman, Times, serif]Mantıksal Operatörlerin Diğer Operatörlere Göre Öncelik Durumları
Değil operatörü(!) dışındaki iki mantıksal operatör, ilişkisel operatörlerden düşük önceliklidir. Değil operatörü ise en yüksek önceliğe sahip aritmetik operatörlerden artırma(++) ve eksiltme(--) ile sağdan sola eşit önceliklidir.
Şimdiye kadar incelediğimiz operatörlerin öncelik sıralarını yüksek öncelikten düşük önceliğe doğru şu şekilde özetleyebiliriz:
[/FONT]
[FONT=Times New Roman, Times, serif]( )[/FONT]
[FONT=Times New Roman, Times, serif]Soldan Sağa[/FONT]
[FONT=Times New Roman, Times, serif]! ++ __ [/FONT]
[FONT=Times New Roman, Times, serif]Sağdan sola[/FONT]
[FONT=Times New Roman, Times, serif]* / %[/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa[/FONT]
[FONT=Times New Roman, Times, serif]+ - [/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa[/FONT]
[FONT=Times New Roman, Times, serif]> >= < <=[/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa [/FONT]
[FONT=Times New Roman, Times, serif]== != [/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa[/FONT]
[FONT=Times New Roman, Times, serif]&&[/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa [/FONT]
[FONT=Times New Roman, Times, serif]II[/FONT]
[FONT=Times New Roman, Times, serif]Soldan sağa[/FONT]
[FONT=Times New Roman, Times, serif]=[/FONT]
[FONT=Times New Roman, Times, serif]Sağdan Sola[/FONT]

[FONT=Times New Roman, Times, serif]Değil (not) İşlemi ve ! Operatörü
Tek operand alan ve her zaman önek durumunda bulunan ! operatörü Doğru değerini Yanlış değere; Yanlış değerini Doğru değere dönüştürür.
[/FONT]
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Pascalda Operatorler
Aritmetik operatörler dört işlem için kullandığımız +, -, / ve * ’dan oluşmaktadırlar. Sıksık kullandığımız bu operatörlerin yanında iki sayının bölümünden kalanı veren MOD, iki tamsayının bölümünün sonucunda tamsayı üreten DIV programlarımızda sık kullandığımız aritmetik operatörlerdir. Tam ve gerçel sayıların aritmetik işlemleri için kullanılan operatörlere ilişkin liste aşağıdaki tabloda verilmiştir.
Operatör İşlem Operand Tipi Sonucun Tipi
+ Toplama real, integer real, integer
- Çıkarma real, integer real, integer
* Çarpma real, integer real, integer
/ Bölme Real, integer Real
Div Tamsayı Bölme integer İnteger
Mod Kalan Bulma integer İnteger

Bu işlemler arasındaki işlem önceliği sırası Bölüm 3’de anlatılmıştı.
Div Operatörü
İki tamsayının bölümünün tamsayı kısmını verir.
123/4=30.75
123 div 4=30
Mod Operatörü
Tamsayı tipindeki operandların bölümünü yapar ve sonucun kalan kısmını bir tamsayı değer olarak üretir.
123/4=30.75
123 mod 4 =3

/’ operatörü operand olarak kullanılan değerlerin tipi yâda bölümün sonuç değeri ne olursa olsun real tipte sonuç üretir. Bu nedenle bir bölümün sonucunun bir tamsayı değişkene direkt olarak aktarılması söz konusu değildir.
2/1=1.0000000E+00
Bir bölüm işleminin tamsayı değişkene aktarılabilmesi için real değerleri integere dönüştüren fonksiyonlardan yararlanılabilir.
Trunc(2.123/1)=2 sonucu integer olarak elde edilir.
Aritmetiksel işlemlerde kullanılan operandların biri real diğeri integer ise sonuç real olacaktır.
1+2.0=3.0000000E+00
Pascalda üs almak için bir operatör yoktur. Ancak “Exp” ve “Ln” fonksiyonları yardımıyla üs alma işlemleri yapılabilmektedir.
Örneğin bir a sayısının b. üssünü bulmak için;
Exp(b*Ln(a)) yazılır.
Örnek; Exp(2*ln(2))=4
Exp(3*ln(2))=8
İlişkisel Operatörler
Diğer programlama dillerinde de olduğu üzere, Pascal programlama dilinde iki veya daha fazla operand arasındaki ilişkilerin araştırılmasını yapan ilişkisel operatörler, toplu olarak aşağıdaki tabloda verilmiştir.
Operatörler Anlamı
= Eşit
<> Eşit Değil
>= Büyük eşit
< Küçük
> Büyük
<= Küçük eşit
Karşılaştırmalardan elde edilen sonuç daima Boolean tipte olacaktır. Yapılan karşılaştırmanın sonucu doğru ise true, yalnış ise false değeri elde edilir.
Mantıksal Operatörler
Aşağıdaki tablolarda görüldüğü gibi 4 adet mantıksal operatör vardır. Bunlar;
AND : İki operand doğru ise sonuç doğru,
OR : İki operand dan en az biri doğru ise sonuç doğru,
XOR : İki operandın sadece birinin doğru olması hali için sonuç doğru,
NOT : Operand yanlış ise sonuç doğru şeklinde sıralanıp tanımlanabilir. Aşağıdaki tablolarda A ve B nin Doğru (T) ve/veya Yanlış (F) oluşlarına göre işlem sonucu görülmektedir.
Mantıksal operatörlerin operandları bir ilişkisel operasyon veya sadece bir boolean olabilir. Bir tek koşul cümlesi içinde birden fazla ilişkisel operatör var ise bunlar mantıksal operatörler ile birleştirilmeli ve her bir ilişkisel operasyon ifadesi parantez içinde yazılmalıdır.
AND
X1
X2
SONUÇ
0
0
0
0
1
1
1
0
1
1
1
1





OR
X1
X2
SONUÇ
0
0
0
0
1
0
1
0
0
1
1
1

XOR
X1
X2
SONUÇ
0
0
0
0
1
1
1
0
1
1
1
0

NOT
X1
SONUÇ
0
1
1
0



1‘ler Doğruyu 0’lar Yanlışı temsil etmektedir. Bu tüm yapılarda (ve tüm dillerde ) aynıdır.
İşlevsel Operatörler
Programcı tarafından FUNCTION bildiri deyimiyle özel amaçlar için tanımlanan fonksiyonlarla, Turbo Pascalda tanımlı olan standart fonksiyonlar işlevsel fonksiyonlar olarak adlandırılır. Bunlardan sadece bir kaçı aşağıda örnek olarak verilmiştir. İşlevsel operatörler Pascal Arşivi Bölümü altında daha ayrıntılı olarak işlenecektir.
Örnekler: SQRT(4)=2.0000000E+00 (Verilen bir sayının Karekökünün alınması)
SQR(4)=16 (Verilen bir sayının Karesinin alınması)
Sin(60*Pi/180)=8.660E-01 (Bir sayının sinüsünün hesaplanması)
Matematiksel Formüller
Normal olarak elle yazılan formüllerin bir bilgisayar programına yazımı için belirli bazı kurallar vardır. Matematiksel ifadelerin bilgisayarın anlayacağı şekilde yazımı sırasında dikkat edilecek önemli bir nokta, matematik operatörleri arasındaki işlem önceliğine dikkat edilmesidir.
Aşağıda verilen cebirsel ifadelerin Pascal programlama dilinde yazımlarını inceleyiniz.
Örnek 1. Cebirsel İfade Pascal karşılığı
) 2 ( / . 2 x Z Z . = z:=2*sqrt(z)/(2-x)
Yukarıdaki örnekte işlem sırası;
1. Z’nin karekökü alınır
2. 1 nolu işlem 2 sabiti ile çarpılır
3. (2-x) değeri hesaplanır
4. 2 nolu işten elde edilen sonuç 3 nolu işlemin sonucuna bölünür.
Örnek 2. Cebirsel İfade Pascal karşılığı
a c
q
x
.
= x:=q/(c-a)
Örnek 3. Cebirsel İfade Pascal karşılığı
.=B
2
-4.A.C DELTA:=SQR(B)-4*B*C
Aşağıda verilen matematiksel eşitlikleri Pascal programlama dili kurallarına göre yazınız.
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.
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. Visual 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ü…
NOT: Pascal ile ilgili olan kısımda Pascal 7.0 ile Programlama A.ORAL’ın kitabından kesitler kullanılmıştır…
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
  • Evet Akış diyagramları hazırlamak için gerekli programlar burda:
1-Word>Çizim>Otomatik şekil>Akış çizelgesi
2-İngilizce akış diyagramı programı :
http://www.smartdraw.com/downloads/examples/sd7_accounting_process_flowchart.exe
3- Flow Chart Designer
4- http://www.sgvsarc.com/downloadsList.asp

Buda bu anlattıklarımı güzelce izah eden bir flash Programlama dilinden Akış diyagramına ve Akış diyagramından programlama diline çevrimi gösteren bir örnek:
http://www.sgvsarc.com/crystal_c_demo.html
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk

Programlama Dilleri hakkında geniş Bilgi için:
http://en.wikipedia.org/wiki/Alphabetical_list_of_programming_languages
http://tr.wikipedia.org/wiki/Programlama_dilleri
ve tabiî ki google.com’ a teşekkürlerimizi arz ederiz…

Diller, Anlamları, Kullanıldıkları alanlar ve Avantajları:
Makine Dili’nde Bellek Kullanımı ile İlgili Açıklamalar
Makine Dili bilgisayarın temel dilidir. Program hangi dil kullanılarak yapılırsa yapılsın, sonuçta makine diline dönüştürülerek çalışacaktır. Bu dönüşüm derleyicilerin görevleri arasındadır. Yorumlayıcıda biraz daha farklıdır (Yorumlayıcı ve Derleyici ile ilgili bir yazıdan bu seriden sonra gelecek). Bilgisayarlar Makine Dili hariç hiçbir dili doğrudan okuyamazlar, diğer bütün dilleri önce makine diline çevirir, ardından çalıştırırlar.
Diğer taraftan Makine Dili’nin en ilkel dildir. Ancak ilkel olması yavaş olması anlamına gelmez. En eski bilgisayarlardan günümüzün en hızlı, en gelişmiş bilgisayarlarına kadar geçen sürede bilgisayarların köklü değişikliklere uğramasına rağmen, makine dili temelde hep aynı kalmıştır…
Günümüz PC’lerinde bellek, “segment” adı verilen parçalara ayrılır. Bu parçaların her biri 65536 BYTE yani 64KB’lıktır. Bu da hexadecimal olarak $10000’lik bir alana tekabül eder ($0000 - $FFFF arası).
EMS (Extended Memory Segment) sürücüsü olmadan belleğin 1 MB’ından daha fazlasını kullanamayız. Segmentler de $0000 - $FFFF arasında tanımlanmıştır. EMS olmaksızın kullanabileceğimiz bellek yapısı aşağıdaki gibidir:
0000:0000
0000:0001
0000:0002
:

:
İşletim sistemi gibi sürücü hazırlama gibi çok hızlı işlem yapılması gereken sistem programlarının hazırlanmasında kullanılır. Makine dili, genel olarak 50 ile 300 arasında komuta (intruction) sahiptir
C ve C++’ın Programlama Dilleri Arasındaki Yeri

Bilgisayar dünyası 1960’lardan bu yana pek çok dille tanıştı. Başlangıçta her şey 1’lerden ve 0’lardan meydana geliyordu. İkilik taban (Binary Digits). O zamanlar “komut” kavramı bile gelişmemişti. Bilgisayara komut vermek için daha önceden belirlenmiş sayılar kullanılıyordu. O zamandan bu zamana temel programlama mantığında çok fazla bir değişim olmadı. Değişen ve gelişen programlama dilleri oldu. Bu programlama dilleri yakın bir zamana kadar teknolojiden bağımsızken günümüzde tek başlarına pek bir anlam ifade etmiyorlar. Yeni çıkan bir programlama dili genellikle başka bir dilden hareketle yazılmış oluyor. “Makine Dili” hariç bütün diller başka bir dil temel alınarak yazılmıştır ve hepsinin temeli “Makine Dili”ne dayanır. Peki, C++ bu dillerin içinde nerede ve eğer ana programlama dilimiz makine diliyse, neden yabancı bir dile ihtiyaç duyuyoruz? Şimdi bu sorulara yanıt arayalım...
Makine dili en hızlı, bilgisayar kaynaklarına doğrudan erişimi sağlayan ancak o oranda da ilkel bir dildir. Bu cümledeki zıtlığı yaratan “ilkel” kavramıdır. Ancak burada kullanılan ilkel kelimesi hiçbir şekilde makine dilinin tercih edilmemesi gerektiğini ifade etmez. Hatta mümkün olduğunca makine dili kullanmak çok daha “kaliteli” sonuç verecektir. Ne yazık ki makine dili kullanımı birçok proje için çok zor, zaman zaman işkencedir. Değişken sayısının çok az oluşu, matematik işlemlerinin yetersizliği, komutların kısa ve karmaşık isimlendirilmesi, bazı komutların bazı alanlarca sınırlandırılmaları, ilkelliği oluşturan temel nedenlerdir.
Makine dili kullanılarak, önceleri daha kullanışlı makine dili editörleri programlandı. Bunlarda artık sadece sayılardan oluşan adresler yerine yavaş yavaş “label” yani “etiket” diye isimlendirdiğimiz harflerden oluşan tanımlama satırları eklendi. Zamanla makine dilinden programlanan bazı program parçalarını, tek bir komut halinde kullanan, ileri düzey diller geliştirildi. Şu anda dünyada 100’lerce programlama dili var. Özel amaçlı ve genel amaçlı 10’larca dil büyük kitlelerce kullanılıyor. Bunların hepsinin bir tek ortak özelliği var: yazılan programı makine diline çevirir ya da doğrudan makine dilinden komut komut çalıştırır. Bu işi rakipsiz denebilecek kadar iyi yapan tek dil ise C++. C’ye rakip diller ya yine C kullanarak yazılmıştır, ya da C’nin türevlerinden biridir. Kısaca özetlemek gerekirse, C++ hem ileri düzey kullanım rahatlığına sahip hem de oldukça hızlı bir dildir.
Sırada Basic, Pascal Fortran… v.b. gibi aklıma gelen tüm dillerin Anlamları, Kullanıldıkları alanlar ve Avantajlarından bahsedeceğim… Bu arada bazı dillere tam hakim olmadığım için belki yetersiz bilgi veya yanlış bilgi verebilirim bilenler uyarsın lütfen...
[FONT=Times New Roman, Times, serif]Arkadaşlar konuyu çerçevesinden çıkartmadan sorular sorabilirsiniz...
[/FONT]
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Pascal
(Paskal okunur) bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli sürümleri bugün hala yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.
Bilgisayar bilimcisi Niklaus Wirth Pascal’ı 1970’te yapısal programlamayı derleyiciler için daha kolay işlenir hale getirebilmek amacıyla geliştirmiştir. Adını matematikçi ve düşünür Blaise Pascal’dan alan Pascal, Algol programlama dilinden türemiştir. Wirth, Pascal’dan başka Modula-2 ve Oberon programlama dillerini de geliştirmiştir. Bu diller Pascal’a benzerler ve ayrıca nesneye yönelik programlamayı da desteklerler.
Pascal ve C Karşılaştırması
Pascal ve C dilleri yaklaşık aynı zamanlarda geliştirilmişlerdir ve aralarında önemli benzerlikler vardır. Orijinal Pascal ile C’nin ikisi de yapısal programlama fikrini gerçekleştiren küçük ve yordamsal dillerdir. İkisinde de dinamik bellek ayırma ve işaretçi işleme (İng. pointer manipulation) mümkündür. Ancak, bu iki dil dışarıdan bakıldığında farklı görünürler (C programları genelde Pascal programlarından kısadır).
Tartışma yaratan farklılıklardan bir tanesi, Pascal’ın atama için := ve karşılaştırma için = imlerini kullanmasıdır. Matematikte = imi her iki amaç için de kullanıldığından, programcılar bazen yanlışlıkla Pascal’da :=, C’de ise == kastedildiği halde daha kısa olan = imini kullanırlar. C’nin tasarımcıları atama işleminin karşılaştırma işleminden daha sık kullanıldığını, dolayısıyla kısa olan imin atama işlemi için kullanılması gerektiğini savunurlar. Pascal’ın savunucuları ise, yanlışlıkla atama yapmanın yanlışlıkla karşılaştırma yapmaktan çok daha tehlikeli olduğunu savunurlar. Bu savunma, eğer, C’de olduğu gibi, bir if ifadesi içinde atama yapılabiliyorsa, kesinlikle doğrudur.
Bu tartışma, iki dilin tasarım mantıkları arasındaki farka işaret eder. Pascal, en azından kısmi olarak, bir eğitim dili olarak tasarlanmıştır. Yanlışlıklara yol açabilecek sözdizimi yapılarından kaçınılmış, sözdiziminin anlaşılması kolay olmasına dikkat edilmiştir. C’nin tasarımcıları ise dili programların kısa olması için tasarlamışlardır.
Bu iki dil arasındaki başka bir fark da, Pascal’ın "strongly typed" olmasıdır. Yani, bir değişken kullanılmadan önce belirli bir tipe sahip olmak üzere tanımlanmalıdır ve faklı tiplerden iki değişken birbirlerine atanamazlar. Bu sınırlama pek çok programlama yanlışını önler.
C’nin tersine, Pascal’da iç içe fonksiyon tanımlamak mümkündür.
Orijinal Pascal’da program parçaları ayrı ayrı derlenemezler ve derleme anında boyutu bilinmeyen diziler kullanmak mümkün değildir. Ancak bu sınırlamalar, Pascal’ın bazı sürümlerinde kaldırılmıştır.
Birçok ortamda kullanmak için çok fazla derleyicisi vardır. Bazıları Pascalı kendileri için iyi bir dil ve programlama ortamı olarak düşünmemiştir. Bunların başında C programlayıcıları (hatta C’nin oluşturucularından olan Brian Kernighan, 1981’de yazdığı makalesi Pascal Niçin Benim En Sevdiğim Dil Değildir yazısı ile bu tartışmayı alevlendirmiştir.) başta gelir. Tabii amaç burada tartışma çıkartmak değil kim ne isterse kullanabilir. Bence Pascal Da Delphi sayesinde çok daha farklı ortamlara taşınarak hayatını idame ettiriyor. Öte yandan, 1980’lerde Apple Lisa ve Macintosh gibi büyük projeler Pascal’a dayanıyorlardı. Aradan geçen zaman içinde, Pascal gelişmeyi sürdürmüş ve bu sayede Kernighan’ın eleştirileri artık modern Pascal sürümleri için geçerli olmaktan çıkmıştır. Yeterli bilgiye sahip olmayan pek çok kimse bugün hala bu eleştirilerin geçerli olduğunu düşünmektedir. Pascal üzerindeki bu haksız damga, bugün Pascal’ın önündeki en büyük sorunlardan biridir.
Wikipedia ve google’ dan yararlanılmıştır...
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
[FONT=Times New Roman, Times, serif]Evet Arkadaşlar Programlama Dillerinden dewam ediyoruz... Daha önce C,C++ ve Pascal hakkında bilgi verdik.[/FONT]
[FONT=Times New Roman, Times, serif]COBOL PROGRAMLAMA DİLİ[/FONT] COBOL: Common Business Oriented Language ticari uygulamaya yönelik yüksek seviyeli bir dildir.
COBOL 1959 senesinde Amerika Birleşik Devletleri hükümetinin de işbirliği ile o zamanın bilgisayar üreticileri ve kullanıcıları tarafından üretildi. İngilizce’ye benzer bir dil olan COBOL 1960 senesinde CODASYL tarafından geliştirilerek COBOL 60 adı altında piyasaya çıktı. COBOL’un çıkış tarihinde bu zamana bir çok COBOL türleri oluşturuldu. COBOL 68,COBOL 74 (Ansi COBOL) vs. Bu gün mikro bilgisayarlar için yapılmış birçok COBOL türleri mevcuttur. Level II COBOL, Microsoft COBOL (MS-COBOL) vs. Bizim burada anlatacağımız ise MS-COBOL dur. MS-COBOL’da neler yapabiliriz, sorusuna ise kısaca şöyle cevap verebiliriz, örneğin Muhasebe, Personel, Stok, Emlak ve akla gelen her türlü ticari programı yazmak mümkündür. MS-DOS programı olduğundan insanlarımız Windows tabanlı programları tercih etmeye başladılarsa da COBOL hala sağlamlığını korumaktadır.
Bu arada derleyicilerle ilgili bir anlam kargaşasının olduğunu gördüm. Arkadaşlar Programlama dilleri derleyicileri için Kullanılan derleyici program içerisinde kendi editörü vardır. YAni Borland derleyicisini indirdik C dilinde program yapmak için baska neye gerek var demek yanlıştır. Programlama dilleri hakkında bilgiye ve Derleyici, Yorumlayıcı hakkındaki sunuyu yakında bulabilirsiniz.
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
FORTRAN PROGRAMLAMA DİLFORTRAN (FORMULA TRANSLATION) kelimelerinin ilk hecelerinden türetilen FORTRAN, bilimsel
hesaplamaları yapmak için geliştirilmiştir. Birkaç sürümü vardır (FORTRAN IV, FORTRAN 77,FORTRAN 90 )
Sembolik programlama dillerinin ilki olan FORTRAN programlama dili 1950’li yılların sonlarında ortaya
çıkmış ve insanlarla bilgisayar arasındaki iletişimde getirmiş olduğu yenilik ve kolaylıklar nedeniyle yaygın
bir kullanım alanı bulmuştur. Bu dilin sürekli olarak geliştirilmesi sonucu kullanımı daha da esnekleşmiş ve uygulama
kapsamına giren konular genişlemiştir.
FORTRAN Karakterleri FORTRAN programlama dilinin deyimlerini yazabilmek için kullanılan karakterler şunlardır:
0’dan 9’a kadar 10 tane rakam,
A’ dan Z’ ye kadar İngiliz alfabesinde kullanılan büyük ve küçük 26 harf,
=, %, $, [, (, ) ve ]
gibi özel işaretler ve işlem işaretleridir.
İşlem işaretlerinde ,(+) toplamayı, (-) çıkarmayı, (/),bölmeyi ve (*) da çarpmayı simgeler
 

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
Şu ana Kadar anlatılmış Diller : Assembly, C, C++, Cobol, Fortran, Pascal
Python
Python kullanımı basit fakat gerçek bir dildir. Büyük programlar için kabuktan daha uygundur ve C’den çok daha fazla hata denetimi yapar. Python çok yüksek seviyeli bir dil olup C ile verimli şekilde yazılması günler alabilecek yüksek seviyeli veri tiplerine sahiptir ( sözlükler ve listeler gibi). Daha genel veri tipleri sayesinde Python Awk hatta Perl’den çok daha geniş bir yelpazede uygulama alanı bulabilir. Ayrıca Python’da pek çok şey en az o dillerdeki kadar kolaydır.

Python ile programlarınızı daha sonra diğer Python programlarınızda tekrar kullanabileceğiniz modüllere ayırabilirsiniz. Python geniş bir standart modül koleksiyonu ile size gelmektedir. Dosya giriş/çıkışı, ses, resim, matematiksel işlemler vs. ile ilgili modüller de vardır.
Python yorumlanan bir dil olduğu için program geliştirme sırasında size önemli miktarda zaman kazandırabilir çünkü derleme ve bağlama gerekmemektedir. Yorumlayıcıyı etkileşimli olarak da kullanabilirsiniz; böylece dilin özelliklerini kolayca deneyebilir, hızlı bir şekilde küçük programlar yazabilir, ya da aşağıdan-yukarı program geliştirme sırasında fonksiyonlarınızı test edebilirsiniz. Yorumlayıcı bir hesap makinesi olarak da kullanılabilir.
Python ile son derece sıkı ve okunabilir programlar yazabilirsiniz. Birkaç nedenden Python programları eşdeğer C veya C++ programlarından çok daha kısadırlar:
  • Yüksek seviyeli veri türleri ile karmaşık işlemler tek bir ifede ile yazılabilir.
  • Deyimlerin gruplanması başlama/bitme deyimleri (begin, end veya {} gibi) yerine blokların girintili yazılması ile sağlanır.
  • Değişken veya argüman bildirimlerinin yapılması gerekmez.
Python genişletilebilir: Eğer C programlamayı biliyorsanız Python’a kolayca yeni modüller ekleyebilir ya da programınızın hızlı çalışması gereken kısımlarını C ile yazabilirsiniz. C programlarınıza da Python yorumlayıcısını bağlayabilir ve Python ile ek özellikler eklenebilen programlar yazabilirsiniz. Python programlama dili adını korkunç bir sürüngenden değil, `Monty Python’s Flying Circus’’ adlı bir BBC komedi dizisinden almıştır.
 

solitary

Yeni üye
1 Tem 2007
1
0
Abi anlamadıysanız en iyisimi VB öğrenin o ne derseniz programlama dili bile değil deniyor.Ama işinizi görebilir tabi sonra Delphiye geçin onuda atlayın python falan karıştırın işte sonrada kendinizi camdan aşağıya atın :)
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.