Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Programlama Temellerİ

Benzer bir sunumlar


... konulu sunumlar: "Programlama Temellerİ"— Sunum transkripti:

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

2 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

3 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

4 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

5 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

6 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

7 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

8 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

9 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

10 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

11 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

12 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

13 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 C# - ISO/IEC 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 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 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

14 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

15 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

16 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

17 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

18 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

19 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

20 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++ #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

21 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

22 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

23 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

24 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

25 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

26 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

27 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.


"Programlama Temellerİ" indir ppt

Benzer bir sunumlar


Google Reklamları