Bilgisayar Programlama I

Slides:



Advertisements
Benzer bir sunumlar
BÖLÜM 1 1.C DİLİNİN TARİHİ 1969 yılında Cambridge Üniversitesinde, BCPL (Basic Combined Programming Language) isimli bir programlama dili geliştirildi.
Advertisements

BPR151 ALGORİTMA VE PROGRAMLAMA - I
Algoritma ve Akış Diyagramları
BİLGİSAYAR NEDİR?.
BİLGİSAYAR SİSTEMİ.
BLG 201 ŞAHİN AKDAĞ.
Algoritma ve Akış Diyagramları
Problemi Çözme Adımları
Bilgi Teknolojisinin Temel Kavramları
Bilgisayar Yapısı-Genel
ENF 101 TEMEL BİLGİ TEKNOLOJİLERİ KULLANIMI
TEMEL BİLGİSAYAR BİLİMLERİ
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Programlamanın Yapı Taşları
BDEM 105.
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Algoritma ve Akış Diyagramları
ALGORİTMA ve PROGRAMLAMA
PROGRAM GELİŞTİRME 1.HAFTA.
Görsel C# ile Windows Programlama
Bilgisayar Programlama
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
Bilgisayar Programlama Güz 2011
MART 2013 İŞLETİM SİSTEMLERİ.
BİLGİSAYARIN MİMARİSİ, TEMEL BİLEŞENLERİ VE ÇALIŞMA MANTIĞI
Bilişim Teknolojilerine Giriş
İŞLETİM SİSTEMLERİ Öğr. Gör. S.Serkan TAN.
CEIT 101 Teorik Vasfi Tuğun - Konu 1- Vasfi Tuğun.
CEIT 101 Teorik Emrah SOYKAN - Konu 1- Emrah Soykan.
Abdulkadir KARADENİZ Avantaj ve Dezavantajları Girdi-İşlem-Çıktı Prensibi Donanım – Yazılım Kavramları Abdulkadir KARADENİZ.
BİLGİSAYAR SİSTEMLERİ
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Bilişim Teknolojileri Öğretmeni İsmail ÖZTÜRK
DONANIM NEDİR?.
Aşağıdakilerden hangisi işletim sistemi değildir?
BİLGİSAYAR YAZILIMI.
Bilgi Teknolojisinin Temel Kavramları
Bilgisayara bilgilerimizi saklayabiliriz.
Bilgisayar Donanımı Bilgisayarın elle tutulup gözle görülen parçalarına donanım denir. Bilgisayar kasasının içindeki parçalara iç (dahili) donanım, dışındaki.
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.
Adım Adım Algoritma.
Ders 2 Algoritma İfade Şekilleri
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.
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
O R T L G İ M A A Ve Akış şemaları.
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
PROGRAMLAMA TEMELLERİ Burak UZUN Bilişim Teknolojileri Öğretmeni Burak UZUN.
Algoritma ve Akış Şemaları
BİLGİSAYAR NEDİR?.
T.C. ÖMER HALİSDEMİR ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ EĞİTİMDE BİLİŞİM TEKNOLOJİLERİ – 2 DERSİ ALGORİTMALAR.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Bilgisayar Donanım ve Sistem Yazılımı
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
PROGRAMLAMA TEMELLERİ
BİLGİ SAYAR.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Problem Çözme Yaklaşımları
Algoritmanın Hazırlanması
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Problemi Çözme Adımları
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Akis diyagramı Örnekleri
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Algoritma ve Akış Diyagramları
Sunum transkripti:

Bilgisayar Programlama I Öğr.Gör. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

İçerik Bilgisayar Programlamaya Giriş Amaç Bilgisayarın Temel Bileşenleri Bilgisayar Programlama Dillerine Genel Bakış Program Geliştirme Aşamaları

Amaç Bilgisayarın farklı bileşenlerini tanımlamak Programlama dilleri ve kategorilerini bilmek Program geliştirme aşamalarını anlamak ve bu aşamaları problem çözümü için uygulamak

Bilgisayar Bilgisayar, verilen özel komutlara göre değişik iş ve işlemleri gerçekleştiren bir makinedir. Bilgisayar Donanım Yazılım

Donanım (Hardware) Merkezi İşlem Birimi (CPU: Central Processing Unit) İşlemci, bilgisayarın beynidir. Milyonlarca oldukça küçük elektronik parçalardan oluşmuştur. Sistemdeki temel hesaplamaları gerçekleştirir. İşlemcilere örnek olarak Pentium, Athlon ve SPARC verilebilir.

Donanım (Hardware) Bellekler Ana Bellek İkincil Bellek Bellek (Hafıza) Bellek, verilerin ve CPU’nun kendisinden istenen görevleri gerçekleştirebilmesi için komutların tutulduğu yerdir. Bellekler, ilişkili adreslere sahip farklı saklama alanlarından (hücrelerden) oluşur. CPU, bu adresler yardımıyla belleğe erişir. Bellekler Ana Bellek İkincil Bellek

Donanım (Hardware) Giriş ve Çıkış Birimleri Giriş ve çıkış birimleri, bilgisayarın dış dünyadan veri almasını ve dış dünyaya çıktı vermesini sağlayan birimlerdir. Giriş birimlerine örnek olarak klavye, fare ve mikrofon verilebilir. Çıkış birimlerine örnek ise, monitörler, yazıcılar ve hoparlörler gösterilebilir.

Yazılım (Software) Bilgisayarın işlevlerini yerine getirmek için kullandıkları programlara yazılım denir. Yazılımlar, sabit disk gibi bazı donanım aygıtlarında tutulur, fakat soyut bir kavramdır. Programlar, işlemci tarafından yorumlanabilen komutlardan oluşmuştur.

Bilgisayar Programlarının Türleri Yazılımlar Sistem Programları Uygulama Programları Derleyiciler Bilgisayarlar, yalnızca bir dilden anlar: makine dili. Makine dili 0 ve 1’lerden oluşur. Uygulamada, kişilerin 0 ve 1’leri kullanarak program yazmaları pek mümkün değildir, bu nedenle insanların kolaylıkla anlayabilecekleri ve makine diline dönüştürülebilen bir dile ihtiyaç vardır. Bu dönüştürme işlemi için derleyiciler kullanılmaktadır. Donanım ve yazılımın birbiriyle uyumlu bir şekilde çalışmasını sağlayan programlardır. Örneğin; Linux, Windows, Unix, Solaris, MacOS gibi işletim sistemleri… Kişilerin, bilgisayardaki görevleri yerine getirebilmeleri için kullandıkları programlardır. Örneğin; kelime işlemci, oyun programları, hesap tabloları…

Programlama Dili Programlama dili, bilgisayara komutları göndermek için standardize edilmiş bir haberleşme tekniğidir. İnsanların dillerine benzer şekilde, her bir dil kendi kurallarına ve gramerine sahiptir. Programların yazımında kullanılan, değişik programlama dilleri vardır, fakat hangi dili kullanırsak kullanalım, girilen komutlar bilgisayarın anlayabileceği makine diline dönüştürülmelidir.

Programlama Dillerinin Kategorileri Düşük Düzeyli Programlama Dilleri Yüksek Düzeyli Programlama Dilleri Yüksek düzeyli programlama dilleri, daha kullanıcı dostu olan bir programlama dili özelliğini taşır. Bazı yüksek düzeyli programlama dilleri, platformdan bağımsızdır. Bir programlama ifadesi, bir derleyici yardımıyla bir veya birkaç makine komutuna dönüştürülür. C, Pascal, Cobol, Delphi,… Assembly dili, makine diline benzer; fakat ona göre daha basittir. Çünkü programcıya, makine dilindeki sayılar için isimler belirlemeye izin vermektedir. Assembly dilleri her CPU ailesi için kullanılabilir ve her assembly komutu, bir dönüştürücü (assembler) program yardımıyla makine komutuna dönüştürülür.

Program Geliştirme Aşamaları Problemin Tanımı Problemin Analizi Algoritma Kodlama ve Hata Ayıklama

1. Problem Tanımı Problem, girdi ve çıktı gereksinimleri belirlenerek iyi bir şekilde ve açıkça tanımlanmalıdır. Açıkça tanımlanan problem, zaten yarı yarıya çözümlenmiş demektir. Örnek problem: “Bir listede, bir adın kaç kez geçtiğini bulan bir program yazınız.”

2. Problem Analizi Problem tanımlanır tanımlanmaz, çözüm için en basit, etkili ve uygun yaklaşım belirlenmelidir. Genellikle bu adım küçük ve basit alt problemlerde atlanabilir. Örnek Problem: Bir listede bir adın kaç kez bulunduğunu hesaplayınız. Program Girdisi: İsim listesi, aranacak isim Program Çıktısı: Aranan ismin listedeki sayısı

3. Algoritma Algoritma, problemin çözümü için gerekli adımların açık ve kesin tanımıdır. Bu tanımlama ya insan diliyle komutlar şeklinde, ya da akış şeması gösterimi veya sözde kodlar (pseudeocode) yardımıyla gerçekleştirilir.

İnsan Dili ile Yazım Toplama işlemi Akış şeması ile ifade ediniz. Başla Birinci sayıyı gir (sayi1) İkinci sayıyı gir (sayi2) Sayıları topla (sonuc = sayi1 + sayi2) Sonucu ekrana yaz. Bitir. Akış şeması ile ifade ediniz.

Akış Şeması Başla Sayi1 gir. Sayi2 gir. Sonuc = Sayi1 + Sayi2 Sonuc yazdır. Bitir

Akış Şeması Sembolleri

Akış Şeması Sembolleri

İnsan Dili ile Yazım Listedeki bir öğenin sayısını bulma: Listedeki isimleri klavyeden gir Aranacak ismi klavyeden gir. Listedeki her bir isim ile aranan ismi karşılaştır. Eğer aranan isim listedeki isim ile aynıysa, sayaç değerini 1 artır. Eğer listedeki bütün isimler karşılaştırıldıysa, sonucu yazdır.

Akış Şeması

Sözde Kod (Pseudeu Code) isim = klavyeden girilen isimler aranan = klavyeden girilen aranan isim sayac = 0 İsim listesindeki her bir isim için; Eğer isim == aranan sayac = sayac + 1 sayac değişkenini görüntüle.

4. Kodlama ve Hata Ayıklama Algoritma hazırlandıktan sonra, kaynak kodlarını oluşturmak artık mümkündür. Algoritmadaki adımlar kullanılarak, seçilen bir programlama dilinde program yazılabilir. Çoğu zaman, programcı programı yazdıktan sonra, hemen %100 doğru çalışmaz. Programcı, oluşan hatalara (bugs) bakarak, programın hatalarını düzeltir. Bu işleme, hata ayıklama (debugging) adı verilir.

Hata Türleri Hata Türleri Derleme Zamanı Hatası (Compile-time error) Çalışma Zamanı Hatası (Runtime error) Derleyiciler mükemmel değildirler. Bu yüzden, derleme zamanında koddaki bazı hatalar tespit edilemez. Bu genellikle mantık hatalarında ve sonsuz döngülerde görülür. Bu tip hatalara ise çalışma zamanı hatası (runtime error) adı verilir. Derleme zamanı hatası (compile-time error), kodlarda bir yazım hatası olduğunda ortaya çıkar. Derleyici, programdaki hataları tespit eder ve hata varsa program derlenmez.bu noktada, programcı, hataları düzeltene kadar programı çalıştıramaz.

Alıştırmalar Aşağıdaki problemlerin algoritmasını sözde kod ve akış şeması kullanarak oluşturunuz. İki sayının toplamını bulma Ekmek pişirme Üç sayının ortalamasını bulma Bir sözcükteki karakter sayısını bulma Bir dersten başarılı olup olmadığını bulma (%30 ara sınav, %5 ödev, %5 proje, %60 dönem sonu sınavı)

Kaynakça Balagtas, F.T. Introduction to Programming Student’s Manual, Java Education & Development Initiative, ver. 1.3, June 2006, pp. 10-18. (http://edu.netbeans.org/contrib/jedi/Intro-to- Programming-1/student-manual.pdf)