Programlama Temellerİ

Slides:



Advertisements
Benzer bir sunumlar
Yazılım Geliştirme ve Java
Advertisements

Bilgisayar Programlama I
JAVA TEMELLERİ GİRİŞ JAVA TEMELLERİ GİRİŞ signalsec.com & mialkan.com.
Algoritma ve Akış Diyagramları
.NET FRAMEWORK.
PROGRAMLAMA DİLLERİ 1- Temel kavramlar
TEMEL C PROGRAMLAMA DERSİ - 1
C PROGRAMLAMA DİLİNE GİRİŞ
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
Önemli Programlama Dillerinin Gelişimi
Bilgi Teknolojisinin Temel Kavramları
Bilgisayar Yapısı-Genel
Programlamaya Giriş 1. Hafta Ders Notu.
ENF 101 TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
5. Perl’e Giriş.
Bölüm 4 – Kontrol İfadeleri:1.kısım
TEMEL BİLGİSAYAR BİLİMLERİ
Bilişim Tek. Öğrt. Cemil ŞAHİN Bilişim Tek. Öğrt. Cemil ŞAHİN PROGRAMLAMA DİLLERİ.
Programlamanın Yapı Taşları
Karar ifadeleri ve Döngüler
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
PROGRAM GELİŞTİRME 1.HAFTA.
Görsel C# ile Windows Programlama
Bilgisayar Programlama
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Hazırlayan: Emin BORANDAĞ
PROGRAMLAMA DİLLERİ
Bilgisayar Programlama
Algoritmalar (Algoritms)
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
Görsel Programlama Dr. Muhammet Balcılar
C ile Programlamaya Giriş
© Haluk Bingöl v2.23 Java Programlama Dili - 01 Tek Class ile Programlama Dr. Haluk Bingöl BÜ - CmpE BU-SWE.
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
Temel Kavramlar, İşlemler, Operatörler
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
Chapter 1: A First Program Using C#
Jeofizikte Bilgisayar Uygulamaları
Ana Programlama Dillerinin Evrimi
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
ALİ FINDIK Galatasaray Ünİversİtesİ 2015
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
ALGORİTMA VE AKIŞ ÇİZELGELERİ
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
C. Dennis Ritchie 9 Eylül ö. 12 Ekim 2011.
Bilgisayar Programlamaya Giriş - 1
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
Barış Ceviz Yazılım Geliştiricisi Yazılım, Yazılımcı, Yazılım Dilleri.
BİLGİSAYAR PROGRAMLAMA Ders 1: Programlamaya Giriş
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Programlama Temellerİ
C Programlama Dili Bilgisayar Mühendisliği.
C Programlama Dili Çağdaş Hakan Aladağ.
Bilgisayar Donanım ve Sistem Yazılımı
PROGRAMLAMA TEMELLERİ
DİL ÇEVRİMİ Yüksek düzeyli bir dilde yazılmış bir program ancak makine diline çevrilerek bir bilgisayarda çalıştırılabilir.
Problem Çözme Yaklaşımları
İÇERİK • Programlamaya giriş ve algoritma kavramları
Veri Tipleri 12/4/2018.
Bilgisayar Programlama
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Problem Çözme ve Algoritmalar
Bilgisayar Bilimi Genel Bilgiler.
Sunum transkripti:

Programlama Temellerİ Bölüm 2 Programlama Temellerİ DERS NOTLARI Öğr. Gör. Hüseyin TURGUT

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Programlama Nedir Programlama Özellikleri Programlama Aşamaları BÖLÜM KONULARI Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama nedir Program, hesaplamayı gerekleştirmek için gereken birbirini izleyen yönergelerden (komutlardan) oluşan yapıdır. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Program, günlük hayatta bir sorunu bilgisayar ile çözmek, rutin işlemleri kolaylaştırmak için yazılan yazılımlardır. Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama nedir Kişinin program yazması için gereken Genel Programlama Bilgisine sahip olması Programlama Dili bilmek (Dil tercihi yazılacak programa, soruna ve platforma uygun olarak yapılabilir.) Her bir alanın kendine özgü çözüm yöntemleri vardır. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama nedir Temel yönergeler aşağıdakilerdir girdi: Klavyeden, dosyadan veya başka bir aygıttan veriyi alma İşlem: Toplama, çarpma gibi bazı temel matematiksel işlemleri gerçekleştirme. koşullu yürütme: Belirli durumlar için sınama yapma ve uygun cümle sırasını çalıştırma. Mantıksal veya cebirsel işlemler. çıktı : Ekranda veriyi görüntüleme veya veriyi bir dosya ya da başka bir aygıta gönderme. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlamanın Özellikleri - KAVRAMLAR Değişkenler: Değeri program çalışırken değişen büyüklükler Sabitler: Değeri program çalışması boyunca sabit kalan büyüklükler Atama işlemleri: Bir değişkene farklı değerleri temsil edebilmesi için farklı değerler yerleştirilmesi/atanması Veri türleri: Verinin içerdiği bilgiyi belirlemek için kullanılan türlerdir (tamsayılar, gerçel sayılar, kayan noktalı sayılar, mantıksal değerler, diziler/katarlar) Veri yapıları: Veriyi problemin yapısına göre düzenlemede kullanılan ve üzerinde işlemler yapılabilen yapılardır (diziler, listeler, yığıtlar, kuyruklar, ağaçlar) Kontrol yapıları: Program içerisinde yerine getirilen işlemlere ilişkin kendi aralarında nasıl birleştirileceğini belirleyen yapılardır. --Sıra: birbiri ardına sıralanan bir dizi işlemdir --Seçim: Belirli bir koşulun sağlanıp sağlanmaması durumuna göre iki sıradan/işlemden birinin seçilmesidir --Tekrar: Belirli işlemleri belirli bir koşul sağlandığında art arda tekrarlama işlemidir Yordam ve fonksiyonlar: Bir uygulamanın aşamalarını farklıdır Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama aşamaları Programlamada (veya problem çözmede) her programcı kendine özgü bir akış izlemektedir. Literatürde iki farklı aşama planı bulunur… Programlama Nedir Programlama Özellikleri Problem Analiz Tasarım Uygulama Sınama Bakım Problemin tanınması Çözüm yönteminin belirlenmesi Algoritmanın geliştirilmesi Akış şemasının (çizelgesinin, diyagramının) düzenlenmesi Programın el ile çalıştırılıp denenmesi Uygun programlama dilinin seçilmesi Programın kodlanması Programın bilgisayar ile çalıştırılıp sınanması Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama aşamaları Problemin Tanınması Programlama işleminde en önemli aşama problemin tam olarak anlaşılması ve teşhis edilmesidir. Yanlış anlaşılmış veya tam olarak tanınmamış bir problemin çözümünün de yanlış sonuçlar vereceği açıktır. Problemin tanınması veya teşhis edilmesinde iki aşama izlenir. 1. Giriş bilgilerinin belirlenmesi 2. Çıkış bilgilerinin belirlenmesi Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Çözüm Yönteminin Belirlenmesi giriş bilgilerinden hareketle çıkış bilgilerine nasıl ulaşılacağının belirlenmesidir. Çözüm yönteminin belirlenmesi bir anlamda problemin matematiksel modelinin kurulması olarak da ifade edilebilir. Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama aşamaları Algoritmanın Geliştirilmesi Algoritma insan dili ile yazılmış bir program olmaması nedeniyle bilgisayar için herhangi bir anlamı yoktur. Bilgisayarın anlayabilmesi için kodlama işleminin yapılması gerekir. Örneğin 1. Adım Başla 2. Adım Alış fiyatını (AF) oku (gir) 3. Adım SF = AF * 1.25 işlemini yap 4. Adım Alış (AF) ve satış fiyatını (SF) yaz 5. Adım Dur Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Akış Şemasının Düzenlenmesi akış şemalarında semboller algoritmanın diyagram üzerindeki akışının ifade eder. Bir problemde neler yapıldığını anlamak için algoritma yerine akış diyagramına bakmak da yeterli olur. Hatta bu şekilde programın mantığının algılanması daha kolay hale gelmiş olur. Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama aşamaları Programın El ile Çalıştırılıp Sınanması Programın doğru olup olmadığına ilişkin kontrollerin yapıldığı aşamadır. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Uygun Programlama Dilinin Seçilmesi Bu aşamada programın yapısına uyan programlama dilinin seçilmesi gerekir. Örneğimizde söz konusu program için VISUAL-BASIC, BASIC, COBOL, FORTRAN, C gibi programlama dillerinden amaca uygun olan dil seçilir. Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama aşamaları Problemin Kodlanması Çalışma şeklinin bilgisayara aktarılması için gerekli komut ve işlemlerin programlama dilinde olması gerekir. Her programlama dilinde kullanılan komutlar farklıdır. Örn (VB): AF$ = InputBox("Alis Fiyatini Giriniz") SF$ = AF$ * 1.25 Show Print "ALIS FIYATI="; AF$, "SATIS FIYATI="; SF$ Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Programın Bilgisayar ile Çalıştırılıp Sınanması Uygulama çalıştırılır ve örnek olay yöntemi kullanılır. Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri Çözülecek problemin niteliğine göre seçilir Programlama dillerinin hepsi simgeseldir, Simgeler (kodlar) derleyici yardımıyla bilgisayarın anlayabileceği bir biçime (makine kodu, dili) çevrilirler Simgesel kodlar kaynak kod, makine diline çevrilmiş kod nesne kodu olarak adlandırılır  insanların konuşma dilleri kadar programlama dili geliştirilmiştir.  Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri A A+ A++ A# .NET A# (Axiom) A-0 System ABAP ABC ABC ALGOL Abel ABLE ABSET ABSYS Abundance ACC Accent ActForex Action! ActionScript Ace DASL ACT-III Ada Adenine Afnix Agda Agena Agora AIS Balise Aikido Alef Alef++ ALF ALGOL 58 ALGOL 60 ALGOL 68 Alice Alma-0 Ambi Amiga E AMOS AMPLE AngelScript Apex APL AppleScript Arc Arduino ARexx Argus ARLA Asp AspectJ Assembly language ATS AutoHotkey AutoIt Avaga Averest AWK Axum Ateji PX Autoit B B Babbage Bash BASIC bc BCPL BeanShell Batch (Windows/Dos) Bertrand BETA Bigwig Bistro BitC BLISS Blitz Basic Blue Bon Boo Boomerang Bourne shell (bash ve ksh dahil) BREW BPEL BUGSYS BuildProfessional C C C-- C++ - ISO/IEC 14882 C# - ISO/IEC 23270 C@ C/AL Caché ObjectScript Caml Cat Cayenne Cecil Cel Cesil CFML Cg Ch interpreter (C/C++ yorumlayıcısı) Chapel CHAIN Charity CHILL CHIP-8 chomski CHR Chrome ChucK CICS CIL Cilk CL (Honeywell) CL (IBM) Claire Clarion Clean Clipper CLIST Clojure CLU CMS-2 COBOL - ISO/IEC 1989 CobolScript Cobra CODE Col Cola ColdC ColdFusion Cool COMAL Common Lisp (CL olarak da bilinir) COMPASS Component Pascal COMIT Converge Coral 66 Corn CorVision Coq COWSEL CPL csh CSP CSKA Csound Curl Curry Cyclone D D D# DASL (Datapoint's Advanced Systems Language) DASL (Distributed Application Specification Language) DataFlex Datalog DATATRIEVE dBase dc DCL Deesel (eskiden G) Delphi Dialect DinkC Dialog Manager DIBOL DL/I Dream Maker (BYOND) DotLisp Draco Dylan dylan.NET Dynace DYNAMO E E Ease EASY Easy PL/I Easycoder EASYTRIEVE PLUS eC (Ecere C) ECMAScript Ecol eDeveloper Edinburgh IMP EGL Eiffel Einstein ELAN elastiC Elena Elf Emacs Lisp Emerald (programlama dili) Englesi Epigram Erlang Escapade Escher ESPOL Esterel Etoys Euclid Euler Euphoria CMS EXEC EXEC 2 EXOL F F F# Factor Falcon Fancy Fantom Felix Ferite FFP FILETAB Fjölnir Flash FL Flavors Flex FLOW-MATIC Fly FOCAL FOCUS FOIL FORMAC FormWare @Formula Forth Fortran - ISO/IEC 1539 Fortress FoxBase FoxPro FP FPr Franz Lisp Frink F-Script Fuxi G G Gambas GameMonkey Script Game Maker Language GAMS GAP G-code GDL Gibiane GJ GLBasic GLSL GNU E GM Go Go! GOAL Gödel Godiva GOM (Good Old Mad) Goo GOTRAN GPSS GraphTalk GRASS Green Groovy GSL Shell H HAL/S Handel-C, Celoxica Harbour IBM HAScript Haskell Hemant HaXe High Level Assembly HLSL Hop Hope Hugo Hume HyperTalk I I IBAL IBM Basic assembly language IBM Informix-4GL IBM RPG ICI Icon Id IDL Idle IMP Inform Io Ioke IPL IPTSCRAE IronPython IronRuby ISPF ISWIM Ivy J J J# J++ JADE Jako JAL Janus JASS Java JavaScript JCL JEAN Join Java JOSS Joule JOVIAL Joy JScript Jython JavaFX Script K K Kaleidoscope Karel Karel++ Kaya KEE Kiev KIF Kite Kogut KRC KRL KRYPTON ksh KUKA L L L# .NET L++.NET (geliştirilmiyor) LabVIEW Ladder Lagoona LANSA Lasso LaTeX Lava LC-3 Leadwerks Script Leda Legoscript Limbo Limnor LINC Lingo Linoleum LIS LISA Lisaac Lisp - ISO/IEC 13816 Lite-C Lite-c Lithe Little b Logix Logo Logtalk LOTUS LPC LSE LSL Lua Lucid Lush Lustre LYaPAS Lynx M M M2001 M4 MAD (Michigan Algorithm Decoder) Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri MAD/I Magik Magma MapBasic Maple MAPPER (Unisys/Sperry) şimdi BIS'in parçası MARK-IV (Sterling/Informatics) şimdi VISION:BUILDER of CA Mary MASM Microsoft Assembly x86 Mathematica MATLAB Maxima ( Macsyma) MaxScript iç dili 3D Studio Max Maya (MEL) MDL MelloCOMPLEX Mercury Mesa Mesham Metafont MetaL Metalua Microcode MicroScript MIIS MillScript MIMIC min Mindscript Miranda MIVA Script ML Moby Model 204 Modula Modula-2 Modula-3 Mohol MOLSF Mondrian MOO Mortran Moto Mouse MQL - MeaTrader 3 programlama dili MQ4 - MetaTrader 4 programlama dili MQ5 - MetaTrader 5 programlama dili MPD MSIL - CIL MSL MSX BASIC MUMPS Murphy Language MXML Mythryl N Napier88 NATURAL NEAT chipset Neko Nemerle NESL Net.Data NetLogo NewLISP NEWP NewtonScript NGL Nial Nice Nickle Nomad2 NPL Nosica Not eXactly C (NXC) Not Quite C (NQC) Nu NSIS Nusa NetBean O o:XML Oak Oberon Object Lisp ObjectLOGO Object REXX Object Pascal Objective-C Objective Caml Objective-J Obliq Obol occam occam-π Octave OmniMark Onyx Opal OpenEdge ABL OPL OPS5 OptimJ Oracle Orc ORCA/Modula-2 Orwell Oxygene Oz P PARI/GP Pascal - ISO 7185 Pawn PCASTL PCF PEARL Perl Prajyot PDL PHP Phrogram Pico Pict Piet Pike PIKT PILOT Pizza PL-11 PL-6 PL/0 PL/B PL/C PL/I - ISO 6160 PL/M PL/P PL/SQL PL360 PLANC Plankalkül PLEX PLEXIL Pliant Plus POP-11 Poplog PostScript PortablE Powerhouse PowerBuilder PowerScript PPL Processing Prograph PROIV Prolog Visual Prolog Promela PROTEL ProvideX Pure Python Q Q (programlama dili) Q (Kx Systems programlama dili) Qi QtScript QBASIC QuakeC QPL R R R++ Racket RAPID Rapira Ratfiv Ratfor Rashed RBScript rc REBOL Redcode REFAL Reia Revolution rex REXX Rlab ROOP RPG RPL RSL RTL/2 Ruby RapidBATCH S SAY_key_language S S2 S3 S-Lang S-PLUS SA-C SabreTalk SAC SAIL SALSA SAM76 SAS SASL Sather Sawzall SBL Scala Scheme Scilab Scratch Script.NET Sculptor 4GL Sed Seed7 Self SenseTalk SETL Shakespeare Shift Script SiMPLE SIMPOL Simscape SIMSCRIPT Simula Simulink SISAL Slate SLEEP SLIP SMALL Small Basic Smalltalk SML SNOBOL(SPITBOL) Snow Snowball SNUSP SOAP SOL Span SPARK Spice SPIN SP/k SPS Squeak Squirrel SR S/SL Strand STATA Stateflow Subtext Suneido SuperCollider SuperTalk Swift SYMPL SyncCharts SystemVerilog T T TACL TACPOL TADS TAL Tcl TDL (Tally Definition Language) Tea TELON - Mainframe Online IMS/COBOL Generator TECO TELCOMP gt-Telon TenCORE TeX TEX TIE thinBasic Timber Tom TOM Topspeed TPU Trac T-SQL TTCN Turing Turtle TUTOR TXL U Ubercode Unicon Uniface UNITY Unix shell UnrealScript USE (Regency Systems) V Vala Genie VBA VBScript Verilog VHDL Visual Basic Visual Basic .NET Visual C++ Visual C++ .Net Visual C# .Net Visual DataFlex Visual DialogScript Visual FoxPro Visual J++ Visual Objects Vvvv W WATFIV, WATFOR WebQL Winbatch X X++ X10 XBL XC XCODE xHarbour XL XOTcl XPL XPL0 XQuery XSLT - Bakınız: XPath Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dillerinin Sınıflandırılması Programlama dilleri şu şekilde sınıflandırılmaktadır: Makine dilleri: Doğrudan makine kodlarından oluşur Assembly dilleri: Anımsatıcı simgelerin kullanıldığı dillerdir Yüksek düzey diller: Komutlar yapılacak, işlemin yapılacağı İngilizce karşılığını anımsatıcı kodlardır Dördüncü kuşak diller: Daha esnek, çoğu kodu otomatik oluşturan dillerdir, az kod ile çok iş Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri – Makine Dili Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri – Yüksek Seviyeli Dil Yüksek seviyeli diller, makine dili ve assembly diline göre makineye daha az bağımlıdır. Assembly dili veya makine dilindeki birçok satır tek bir komutla gösterilir. Böylece program daha kısa bir sürede yazılır. Bu dillerin komutları İngilizce bir kelimenin tamamından alındığından öğrenmek kolaydır. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Ekrana “Merhaba!” yazan örnek program kodu: Programlama Nedir ASSEMBLY ALGOL Programlama Özellikleri begin     print(("Merhaba!", newline)) end  mov ax,cs mov ds,ax mov ah,9 mov dx, offset Git int 21h xor ax,ax int 21h Git:   db "Merhaba!",13,10,"$" Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Ekrana “Merhaba!” yazan örnek program kodu: BASIC  VISUAL BASIC Programlama Nedir Private Sub Form_Load() Print "Merhaba!" End Sub  Programlama Özellikleri  PRINT "Merhaba!"  Programlama Aşamaları Programlama Dilleri PASCAL  DELPHI Derleyici Yorumlayıcı Begin   WriteLn('Merhaba!');    end. Begin   WriteLn('Merhaba!'); End. Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Ekrana “Merhaba!” yazan örnek program kodu: Programlama Nedir C  C++ #include                                                                      main()                                                                     { printf("Merhaba!\n");  return(0); } #include  main() {   cout << "Merhaba!" << endl;    return 0; } Programlama Özellikleri Programlama Aşamaları Programlama Dilleri FORTRAN COBOL  Derleyici Yorumlayıcı IDENTIFICATION DIVISION. PROGRAM-ID. MERHABA. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. MAIN SECTION. DISPLAY "Merhaba!" STOP RUN. PROGRAM Merhaba      WRITE(*,*)  "Merhaba!" END PROGRAM Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Programlama Dilleri - Karşılaştırma Ekrana “Merhaba!” yazan örnek program kodu: Programlama Nedir LISP JAVA (defun merhaba ()   (print "Merhaba!") )   class Merhaba {    static public void main( String args[] ) {     System.out.println( "Merhaba!" );   } } Programlama Özellikleri Programlama Aşamaları Programlama Dilleri .NET PHP Imports System.Console Class Merhaba     Public Shared Sub Main()         WriteLine("Merhaba!")     End Sub End Class <?php Echo ‘Merhaba!’; ?> Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Derleyici - Compiler Basitçe bir dilde yazılmış olan kodu istenilen başka bir kod haline dönüştüren programdır. Yüksek Seviyeli bir dilden daha düşük seviyeli bir dile dönüşümdür. Programlama Nedir Programlama Özellikleri Derleyici Kaynak Kod Çalıştırılabilir Kod Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Derleyiciler günümüzde daha çok bir dilde yazılmış koddan, işletim sistemi ve donanım bağımlı kodların üretilmesinde kullanılmaktadır. Bu üretim sırasında ya doğrudan işletim sisteminin anlayacağı ve çalıştıracağı kodları üretirler ya da işletim sisteminde bulunan veya yine dil bağımlı olarak çalışan bağlayıcı (linker) programların anlayacağı ara kodları üretirler. Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Derleyici - Compiler Derleyiciler günümüzde daha çok bir dilde yazılmış koddan, işletim sistemi ve donanım bağımlı kodların üretilmesinde kullanılmaktadır. Bu üretim sırasında ya doğrudan işletim sisteminin anlayacağı ve çalıştıracağı kodları üretirler ya da işletim sisteminde bulunan veya yine dil bağımlı olarak çalışan bağlayıcı (linker) programların anlayacağı ara kodları üretirler. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Derleyiciler bu kod üretmesi sırasında, üretilen kodun en verimli şekilde üretilmesi için kod iyileştirmesi (optimization) da yapmaktadırlar. Yani hedef dildeki çalışma süresi ve hafıza ihtiyacı en az olan kodu üretmek bir derleyicinin daha başarılı olma kriterlerinden birisidir. Aynı zamanda kaynak kodda (source code) bulunan hataların yakalanması bu hataların programcıya bildirilmesi de derleyicilerin diğer görevlerinden birisidir. Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Yorumlayıcı - Interpreter Bilgisayar dünyasında yorumlayıcı terimi bir programı veya bir komutu çalıştırmaya yarayan programlar için kullanılır. Genellikle derleyiciler ile karışan ve çoğu zaman aynı görevi icra eden yorumlayıcılar da derleyiciler gibi kodu bir dilden başka bir dile çevirme işlemini yerine getirirler. Basitçe görevleri ve tipleri aşağıdaki şekilde listelenebilir: 1. Kaynak kodu çalıştırmak 2. Bir kaynak kodu çalıştırılabilir farklı bir kod haline tercüme etmek 3. Daha önceden hazırlanmış olan (çoğu zaman önceden derlenmiş bir koddur) kodları yeri geldiğinde çalıştırmak Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Yorumlayıcı – Derleyici Farkları Basitçe, bir kaynak kodu hedef koda çevirdikten sonra çalıştıran ve dolayısıyla koddaki hataları yakalama işlemini ve kodun iyileştirilmesini daha kod çalıştırmadan yapan çeviricilere derleyici, kodu satır satır veya bloklar halinde çalıştırıp sırası gelmeyen satırları hiç çalıştırmayan bu satırlardaki hataları hiçbir zaman göremeyen ve kodun bütününe ait iyileştirmeleri yapamayan çeviricilere de yorumlayıcı (interpreter) adı verilmektedir. Genel kanının tersine bir dilin derleyici veya yorumlayıcı özelliği yoktur. Yani C dili için sadece derleyicisi bulunan bir dildir demek yanlış olur. Bu durum bütün diller için geçerlidir. Her dil için bir derleyici veya yorumlayıcı tasarlanabilir. Ama daha genel bir bakışla, her dilin aslında yorumlayıcı (interpreter) yapısında bir çalışması olduğunu söylemek yanlış olmaz. Sonuçta bilgisayarın işlemcisinde anlık olarak tek bir işlem yapılabilmektedir ve çalışması istenen kod, işlemciye sırayla verilecek ve satır satır çalıştırılacaktır. Genelde bir ortam yazılan dilin çalıştırılmasına kadar geçen sürede ya bir derleyici yada bir yorumlayıcı kullanılmaktadır. Gelişmekte olan teknolojiyle iki programı birden kullanan diller de türemiştir. Örneğin JAVA dilinde kod önce derlenerek byte code adı verilen ve sadece java sanal makinelarında (java virtual machine) çalıştırlabilen bir kod üretilmektedir. Bu üretilen ara kod daha sonra java sanal makinasında bir yorumlayıcı yapısına uygun olarak çalıştırılmaktadır. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

Programlama Özellikleri Programlama Aşamaları Derleyici Yorumlayıcı Temelleri Bölüm #2 Yorumlayıcı – Derleyici Farkları Derleyiciler, yorumlayıcılara göre daha hızlıdır. Çünkü yorumlayıcılar ilk kod satırından son kod satırına kadar her satırını teker teker yorumlar ve kodun karşılığındaki işlemi gerçekleştirir. Derleyicilerse kodların tamamını bilgisayar diline çevirir. Eğer hata varsa, tüm hataları programcıya bildirir. Ancak yorumlayıcılar karşısına ilk çıkan hatayı bildirmektedir, ilk hata çözülene kadar diğer hataları bulamaz çünkü satır satır işlem yapmaktadır. Derleyiciler bilgisayarın anlayacağı bir dile çevirip işlemciye veriler gönderdikten sonra karşımıza sonuç/çıktı çıkarırken yorumlayıcılar kodun karşılığındaki işlemi karşımıza çıkarır. Derleyici kullanan program dillerine örnek olarak; Pascal, C++, Ada, Visual Basic, C gibi bir çok örnek verebiliriz. Yorumlayıcı kullanan program dillerine örnek olarak; HTML, XML, PHP, Script Dilleri gibi bir çok örnek verebiliriz. Hem Derleyicileri hemde Yorumlayıcıları kullanan program dillerinden biri de JAVA'dır. Programlama Nedir Programlama Özellikleri Programlama Aşamaları Programlama Dilleri Derleyici Yorumlayıcı Öğr.Gör.Hüseyin TURGUT hturgut.com

BÖLÜM SONU - ÇALIŞMA SORULARI Program, Programlama arasındaki farklar nelerdir? Veri Türleri Nelerdir? Veri yapıları çeşitleri nelerdir? Farkları nedir? Örnek bir problemin programlamasında aşamalarda yapılan işlemleri örneklendiriniz? Programlama dilleri ile performans arasındaki ilişki nedir? Derleyici ile Yorumlayıcı arasındaki farkları maddeler şeklinde listeleyiniz.