Hazırlayan: Emin BORANDAĞ

Slides:



Advertisements
Benzer bir sunumlar
YAPI İŞLERİ VE TEKNİK DAİRE BAŞKANLIĞI
Advertisements

Bilgisayar Programlama I
Algoritma ve Akış Diyagramları
İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, Kabuk ve diğer temel kavramlar)
.NET FRAMEWORK.
PROGRAMLAMA DİLLERİ 1- Temel kavramlar
BLG 201 ŞAHİN AKDAĞ.
Algoritma ve Akış Diyagramları
Bilgi Teknolojisinin Temel Kavramları
Ders Adı: Bilgisayar Donanımına Giriş
TEMEL BİLGİSAYAR BİLİMLERİ
Bölüm 1: Introductions (Tanıtım,Tanım)
MİMARİ ESASLAR Bir bilgisayarın komut kümesi, programcının makineyi programlarken kullanabileceği ilkel emirleri veya makine komutlarının tamamının oluşturduğu.
BTP 108 BİLGİSAYAR AĞ SİSTEMLERİ AĞ KAVRAMI Birden çok bilgisayarın birbirine bağlı olarak kullanılmasıyla oluşturulan çalışma biçimine bilgisayar ağı.
Bilgisayara giris ders Notlari
Programlamanın Yapı Taşları
Algoritma ve Akış Diyagramları
ALGORİTMA ve PROGRAMLAMA
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
Nesneye Dayalı Programlama
PROGRAM GELİŞTİRME 1.HAFTA.
Görsel C# ile Windows Programlama
Bilgisayar Programlama
MART 2013 İŞLETİM SİSTEMLERİ.
Ankara T.C. MİLLÎ EĞİTİM BAKANLIĞI EĞİTİM TEKNOLOJİLERİ GENEL MÜDÜRLÜĞÜ Bilişim Teknolojileri Formatör Öğretmen Eğitimi Programı Bilişim Teknolojileri.
Yazılım Gelişimi. Donanım gelişimine paralel olarak süren yazılım gelişimi, son on yılda kayda değer bir ivmelenme ile bilgisayarları, herhangi bir uzmanlık.
Bilgisayar Programlama
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
 Yazılım bir teknoloji terimidir. Bilgisayarı oluşturan donanım parçalarını yöneten hem de kullanıcıların işlerini yapmak için gerekli olan komutlar.
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
Cemil ŞAHİN Bilişim Teknolojileri Öğretmeni
Temel Kavramlar, İşlemler, Operatörler
BİLGİSAYAR YAZILIMI.
İŞLETİM SİSTEMLERİ İşletim sisteminin, kolay ve hızlı kullanım, kaynak verimliliği gibi kıstasların dışında, ortamında saklanan bilgilerin, gerekse izinsiz.
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
isa özkan_ programlama dilleri
BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN 1.
1 Öğr. B.Aliyeva Öğr. B.Aliyeva Bilgisayar Yazılımı.
BİLGİSAYAR YAZILIMI.
YAZILIM.
Bilgisayar, Yazılım ve Algoritma
Bilgisayar, Yazılım ve Algoritma
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
YAZILIM.
İŞLETİM SİSTEMLERİ Derya Işık
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
İnsan Kaynakları Bilgi Sistemleri
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
Temel Bilgi Teknolojilerinin Kullanımı Öğr.Gör. Abdullah ŞENER.
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.
Bilgisayar Programlamaya Giriş - 1
Ders 2 Algoritma İfade Şekilleri
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.
C Programlama Dili Bilgisayar Mühendisliği.
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
Bilgisayar Donanım ve Sistem Yazılımı
PROGRAMLAMA TEMELLERİ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMALAR
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
BİLİŞİM TEKNOLOJİLERİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Hazırlayan: Emin BORANDAĞ Bilgisayara Giriş Hazırlayan: Emin BORANDAĞ

Program Akışı Program akışı, akış diyagramında (flow chart) resim ve sembollerle şematik olarak gösterilmektedir. Program fikrinin ayrıntılı olarak ifade edilmiş bu şekli, program geliştirme sürecinin en fazla çaba ve emek gerektiren kısmıdır.

Program Akışı Program geliştiricisi, programı herhangi bir kodla yazmaya başlamadan önce, elde ettiği verilerin mantıksal olarak sıralandığı bir taslak oluşturur. Bu taslakta programın fonksiyonunu nasıl yerine getireceğini genel olarak belirleyen işlem basamakları yer almaktadır. Program akışı, verilerin işlem basamaklarının mantıksal dizi şeklinde birbirine bağlanmasıdır. Program akışı, akış diyagramında (flow chart) resim ve sembollerle şematik olarak gösterilmektedir. Bu şekilde hazırlanmış program akışı, program geliştiricilerine program kodunun yazılmasında, büyük kolaylık sağlar. Bu yönüyle program akışını, mimarların inşaat faaliyetlerine başlamadan önce hazırladıkları proje şemasına benzetmek mümkündür. Program akışı, bir bilgisayar programına esas olan fikrin ifadesidir. Bir programın fikri, program akışında yer alan ayrıntılardan çıkarılabilir. En genel anlamda bir programın fikri, o programın amaç veya fonksiyonudur. Buna göre, bir kelime işlem programının temelindeki fikir, "yazmayı daha kolay hale getirmek" olarak açıklanabilir. Aynı zamanda program fikrinin, bilgisayarda problemin çözümüne doğrudan yönelmiş ayrıntılı işlem basamaklarından çıkarılması da mümkündür. Böylece genel olarak "yazmayı kolaylaştırmak" olarak belirlenen bir kelime işlem programının fikrinin ayrıntılı ifadesi şu şekilde olabilir: "Daktilo etmek ve dokümanları düzenlemek için hızlı bir iç bellek kullan; dokümanları depolamak için bir dosya sistemi kullan; çıkışı basitleştirmek için kelime atlayıcısı kullan." Program fikrinin ayrıntılı olarak ifade edilmiş bu şekli, program geliştirme sürecinin en fazla çaba ve emek gerektiren kısmıdır.

Algoritma Algoritma kelimesinin matematikte kullanılan "logaritma" kavramıyla bir ilgisi yoktur. Algoritma kelimesi, IX. yüzyıl ünlü Türk bilgini matematikçi "Ebu Cafer Muhammed bin Musa El - Harezmi"nin isminin kısaltılmasından türetilmiştir. "El - Harezmi" kelimesinden esinlenerek İngilizce'de "algorithm" denilmiştir. Program akışı hazırlandıktan sonra, program algoritmasının kurulmasına sıra gelir. Program geliştiricisi, bu aşamada alt problemlerin çözüm yolunu belirler. Algoritma en geniş anlamıyla, verilerden hareketle istenen sonucun nasıl alınacağını gösteren bir uygulama metodudur.

Algoritma Algoritma; çözüm yolu aranan problemin herhangi bir adımında ne gibi işlemler yapılacağının tıpkı bir yemek tarifinde olduğu gibi yazıya dökülmüş şeklidir.Algoritmada her adımda giriş veya çıkış bilgileri, bölme, çarpma, aktarma, test ve benzeri işlemler yer almalıdır. Belli bir sayıda adımdan sonra algoritma mutlaka son bulmalıdır. Algoritma anlatımda kullanılan cümlelerin kolay, basit ve benzer konular için de geçerli olmasına dikkat edilmelidir. Program geliştiricisi çözümü istenen probleme uygun algoritmayı kurabilmek için, çeşitli kaynaklardan faydalanabilir. Benzer programlar verimli bir kaynak olabilir. Gelişmiş ülkelerde, bilgisayar kitapları ve diğer süreli yayınlar, belirli problemlere ilişkin algoritma yayınlamaktadırlar. Algoritmayı paket program kütüphaneleri şeklinde bazı büyük pazarlardan da elde etmek mümkündür. Nihayet, çok fazla rafine olmuş bazı programlama dillerinde, program geliştirme aşamasında algoritmaya ihtiyaç duyulmaz. Zira, bu tür dillerde algoritma, programlama dilinin tanımı içerisinde yer almıştır.

Algoritma

Kaynak Kodu ve Makina Konu Problemin çözümü için uygun algoritma kurulduktan sonraki aşama, programın kaynak kodunun yazılmasıdır. Kaynak kodunun yazılması, program geliştirme sürecinin en edebi (literary) kısmıdır. Gerek program akışı, gerekse algoritma, çok detaylı olsalar bile, üsluba ilişkin tercihler olmaktan öteye gidemezler. Bir programın sadece istenen "görevi"; yapması yeterli değildir. Aynı zamanda, o programın kolayca okunabilir nitelikte de olması gerekir. Zira, bir programın hatalarının giderilebilmesi ve sonradan geliştirilebilmesi, ancak onun okunabilir olması halinde mümkün olur.

Kaynak Kodu ve Makina Kodu Program kodlaması da denilen kaynak kodunun yazılması için, genellikle yüksek seviyeli programlama dillerinden birisi kullanılır. Programın kodlanmasında kullanılacak programlama dilinin çözülecek problemin yapısına uygun olması gerekir. Kodlama, esas itibarıyla, akış diyagramında yer alan bilgi düzeninin, seçilen bir programlama dilinin kurallarına uygun olarak bilgisayara aktarılması işlemidir. Bu nedenle, program akışı ve algoritma gerekli ayrıntıları taşıyorsa, programın kodlaması da basit olur. Bununla beraber, uygulamada, program akışı aşamasında önemli detayların atlandığı da görülmektedir.

Kaynak Kodu ve Objektif Kod Programın kodlanmış şekline kaynak program (source program) adı verilir. Kaynak program, insanlar tarafından okunabilen, yazdırılabilen, üzerinde değişiklik yapılabilen bir yapıdadır. Ancak programın bu hali, bilgisayar tarafından anlaşılmaz ve dolayısıyla çalıştırılmaz. Bu nedenle, kaynak programın ek bir işlemle, bilgisayarın anlayabileceği şekle çevrilmesi gerekir. Programın, derleyici veya yorumlayıcılar kullanılarak "0" ve "1" lerden oluşan makine diline dönüştürülmüş son haline objektif kod denilmektedir. Objektif kod, bilgisayar tarafından hemen uygulanabildiği halde, insanlar tarafından kolayca anlaşılamaz. Programdaki gizli bilgiler ve teknikler, ancak objektif kodun ters işlemle kaynak koduna çevrilmesi suretiyle öğrenilebilir. Bunu zorlaştırmak için programlar, objektif kod şeklinde piyasaya sürülmektedir.

Kaynak Kodu ve Makina Kodu

Kullanıcı Arayüzü (User Interface) Programların hemen hemen hepsi uygulamaya konulduğunda, giriş verilerini klavyeden almak ve istenilen çıkışları monitörden görüntülemek suretiyle kullanıcı ile ilişkiye girecektir. İşte bir programda, kullanıcı ile bilgisayar arasında haberleşmeyi sağlayan unsura kullanıcı arayüzü denilmektedir. Aynı zamanda bilgisayar programının bak ve hisseti (look and feel) olarak da kabul edilen kullanıcı arayüzünün hukuki niteliği konusunda ABD hukukunda hararetli tartışmalar yapılmaktadır. Kullanıcı arayüzü, birisi fonksiyonel, diğeri audiovisual (görsel - işitsel) olmak üzere iki unsurdan oluşmaktadır.

Ara Yüz

Bilgisayar Programlama Dilleri Bilgisayar üreticisi firmalar, başlangıçta kendi ürettikleri bilgisayarı çalıştıracak programlama yöntemini kendileri geliştiriyorlardı. Zamanla, bilgisayar cihazından bağımsız olarak konuya ve amaca yönelik programlar hazırlanmaya başlandı. Böylece, hazırlanan programlama yöntemlerinin, değişik bilgisayar cihazlarında kullanılması mümkün oldu. Bu programlama yöntemleri de, giderek "programlama dilleri" haline geldiler. Programlama dillerinin oluşturulmasındaki amaç, bir dilin bütün bilgisayar cihazlarında kullanılmasının sağlanmasıdır. Fakat uygulamada, IBM uyumlu makineler ve Apple-Macintosh ailesi gibi gruplaşmalar ortaya çıktığından, bu amaca yeteri kadar ulaşılamamıştır. Bilgisayar programlama dilleri konuşma diline yakın olup olmamasına göre, düşük seviyeli programlama dilleri ve yüksek seviyeli programlama dilleri olmak üzere ikiye ayrılır.

Bilgisayar Programlama Dilleri

Düşük Seviyeli Programlama Dilleri Konuşma diline oldukça uzak, buna karşılık makine diline oldukça yakın olan diller, düşük seviyeli programlama dilleri grubuna girer. Bu dil grubu da Makine Dili ve ASSEMBLY Dili olarak ikiye ayrılır.

Makine Dili & Assembly Dili

Yüksek Seviyeli Programlama Dilleri Bu grubun kapsamına giren diller, İngilizce konuşma diline yakın olan dillerdir. Bu nedenle bu dilleri kullanarak program yazmak, düşük seviyeli dillere oranla çok daha kolaydır. Yüksek seviyeli programlama dilleri, programcıların tüm ihtiyaçlarına cevap verebilmek için, çeşitli özelliklere sahip çok sayıda komut içermektedir. Böylece, programcıya, düşündüklerini programa dönüştürebilmesi için bir çok imkan sağlanmış olmaktadır. Üst düzey programlama dilleri ile program yazmak ve hata ayıklamak daha kolaydır. Bu diller genelde taşınabilirlik özelliğine sahiptirler. Donanım konusunda uzmanlık gerektirmezler. Ada, Basic, Cobol, Fortran, Module-2, PL/I ve Pascal gibi diller, yüksek seviyeli diller grubuna girerler. Diğer yandan, düşük ve yüksek seviyeli dillerin özelliklerine sahip diller arasında sayılabilecek bazı diller de vardır. Bunlar arasında C, Forth, Macro Assembler dili sayılabilir. Yukarıda sayılan dillerden başka, değişik amaç, yaklaşım, teknik ve yapılara sahip Algol, APL, Eiffel, Lisp, Jawa, Perl, Prolog, Simula ve Smalltalk gibi birçok programlama dili vardır.

Bilgisayar Programlarının Sınıflandırılması Dünyanın dört bir köşesinde amatör veya profesyonel programcılar tarafından sürekli olarak geliştirilen milyonlarca farklı program, üç ana grup altında toplanabilir: 1. Sistem Programları 2. Çevirici Programları 3. Uygulama Programları

Sistem Programları Sistem programları, bilgisayarın işletimine yönelmişlerdir. En basit tanımıyla, uygulama programlarının çalıştırılması sırasında bilgisayara yol gösteren ya da bilgisayar sistemine kendi kendisini nasıl çalıştıracağını tarif eden programlara sistem programları adı verilir. İşletim sistemleri (Operating System - OS), sistem programlarına örnek olarak gösterilebilir. Bir işletim sistemi, merkezi işlem biriminin (CPU) operasyonlarını ve kullanıcıların sistem ile iletişimini kontrol eden çeşitli programların oluşturduğu bir kümedir. Kişisel veya mikro bilgisayarlar için geçerli işletim sistemi programlarının başlıcaları, Apple-DOS, CP/M, MS-DOS, IBM-DOS, OS/2, PC-DOS, UNIX ve XENIX'tir. Bilgisayar üreticisi firmalar, ürettikleri bilgisayarların kullanacağı işletim sistemini programını da kendileri hazırlamaktadırlar. İşletim sistemi programları, bilgisayarın sisteminde yer alan disket veya disketlere kaydedilmiş olarak bilgisayarla birlikte satışa arz edilmektedir.

Çevirici Programlar Makine dili hariç, diğer programlama dilleri ile hazırlanan programlar bilgisayar tarafından anlaşılmamaktadır. Bu programları bilgisayarın anlayacağı dile dönüştüren programlara çevirici programlar denilir. Çevirici programların fonksiyonu, birbirinin dilinden anlamayan iki ayrı kişinin anlaşmasını sağlayan tercümanların ya da herhangi bir dil ile yazılmış bir kitabı başka bir dile dönüştüren çevirmenlerin işlevinden farksızdır. Çevirici programlar, program geliştiricileri tarafından hazırlanmış kaynak programları, ilk satırdan son satıra kadar okuyup, makinenin anlayacağı dile çevirerek objektif programın oluşturulmasını sağlar. Çevirici programlar, çevirim sırasında tercüman veya çevirmen fonksiyonu göstermelerine göre, yorumlayıcılar ve derleyiciler olmak üzere ikiye ayrılır.

Yorumlayıcılar Yorumlayıcılar tıpkı tercümanlar gibi çalışır. Farklı iki dili konuşan kişinin arasında yer alan tercüman, önce söylenen cümleyi dinler, yorumlar, diğer dile dönüştürür ve bunu diğer dili konuşan kişiye aktarır. Tercüme, konuşmanın tamamı bitmeden, cümle cümle yapılır. Aynı şekilde, program geliştiricisi tarafından bir programlama dilinde yazılan bir program çalıştırıldığında, yorumlayıcının çevirim fonksiyonu başlar. Yorumlayıcı, kaynak kodunun bütününü değil, programı oluşturan komutları tek tek ele alır, yorumlar, makine diline dönüştürür ve bilgisayarın mikro işlemcisine iletir. Mikro işlemcinin belirtilen komutu yerine getirmesini bekler ve bir sonraki komuta geçer.

Derleyiciler Derleyici programların çalışma tarzı da çevirmenlere benzer. Çevirmenler, herhangi bir dilde yazılmış bir kaynak dokümanı, bir bütün halinde başka bir dile çevirirler. Kaynak programın yazılmasını tamamladıktan sonra, bu programın tamamının makine diline dönüştürülmesi gerekir. Derleyici programlar bu noktada devreye girer. Derleyici, kaynak programın tamamını okur, yorumlar ve makine diline çevirir. Bu çevirim işlemine derleme denilmektedir. Derleme işlemi sona erdiğinde, makine dilinde oluşan objektif program elde edilir. Derleyici tarafından üretilen objektif program, belli bir isim altında disk veya diskete kayıt edilir. Bundan sonra derleyici programı görevi sona erer. Artık işlem sırası, geliştirilen programın kullanımına gelmiştir. Derleyici programlar, yorumlayıcı programlara göre, bellek ve hız konusunda daha avantajlıdır. Buna karşılık, derleyici program, yazım ve hata bulma konusunda da dezavantaja sahiptir. Geliştirilen programda bir hata yapılmışsa, bu hatanın ne olduğu ve nerede yapıldığını tespit etmek çok zordur. Halbuki yorumlayıcı kullanılması halinde, programların düzeltilmesi ve hataların bulunması son derece kolaydır.

Uygulama Programları Uygulama programları (application program), kullanıcılara ait özel bir işin yapılması amacıyla yazılan programlardır. Bu programlar, profesyonel yazılım firmaları, üniversiteler veya kullanıcının bizzat kendisi tarafından yazılmış olabilir. Bu tür programlara paket programlar da denilmektedir. Word Star veya Word gibi kelime işlem programlarının, Lotus veya Excel gibi tablo analizi programlarının, Dbase veya SQL gibi veri tabanı programlarının, Moon Star veya Ventura gibi masa üstü yayıncılık programlarının, Logo Gold gibi çek - senet takibi veya muhasebe programlarının, Ajanstuba veya Corpus gibi hukuk programlarının her biri birer uygulama programıdır.