Bigisayar Programlama (GÜZ 2015)



Benzer belgeler
BİLGİSAYAR PROGRAMLAMA

Bigisayar Programlama

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Dr. Fatih AY Tel: fatihay@fatihay.net

Program Nedir? Program, bir problemin çözümü için herhangi bir programlama dilinin kuralları ile oluşturulmuş komut kümesidir.

4. Bölüm Programlamaya Giriş

BİLGİSAYAR PROGRAMLAMA

PROGRAMLAMAYA GİRİŞ DERS 2

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

Üst düzey dillerden biri ile yazılmış olan bir programı, makine diline çeviren programa derleyici denir. C++ da böyle bir derleyicidir.

Programlama Dillerinde Kullanılan Veri Tipleri

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-7 C Programlama Diline Giriş

MAT213 BİLGİSAYAR PROGRAMLAMA I DERSİ Ders 1: Programlamaya Giriş

1.1. Yazılım Geliştirme Süreci

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

C Programlama Dilininin Basit Yapıları

BASİT C PROGRAMLARI Öğr.Gör.Dr. Mahmut YALÇIN

Bilgisayar Programlama. 1.Hafta

Temel Giriş/Çıkış Fonksiyonları

Android e Giriş. Öğr.Gör. Utku SOBUTAY

OMNET Ağ Benzetim Yazılımı (Network Simulation Framework) BİL 372 Bilgisayar Ağları. GYTE - Bilgisayar Mühendisliği Bölümü

Bilgisayar Sistemlerine Genel Bakış

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

PROGRAMLAMAYA GİRİŞ FONKSİYONLAR

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Algoritma ve Programlama: Karar Yapıları ve Döngüler

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BİL-142 Bilgisayar Programlama II

ALGORİTMA VE PROGRAMLAMA I

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

C PROGRAMLAMA DİLİNE GİRİŞ

ALGORİTMA VE PROGRAMLAMA I DERS#3

AVRASYA UNIVERSITY. Dersin Verildiği Düzey Ön Lisans (X ) Lisans ( ) Yüksek Lisans( ) Doktora( )

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

Yrd. Doç. Dr. İlhan AYDIN Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

Bir C programı C fonksiyonlarından oluşur. Bunlar arasında main() adı verilen ana fonksiyon daima olmalıdır. C fonksiyonları programı oluşturan

BLM 111 Algoritma ve Programlama I Güz 2018

Yrd. Doç. Dr. Caner ÖZCAN

Temel Bilgisayar Programlama

C++ Dersi: Nesne Tabanlı Programlama

R ile Programlamaya Giriş ve Uygulamalar

C PROGRAMLAMA D İ L İ

BMT 101 Algoritma ve Programlama I Güz Dönemi. Yük. Müh. Köksal Gündoğdu 1

ALGORİTMA VE PROGRAMLAMA I

Java Temel Özellikleri

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Sınav tarihi : Süre : 60 dak.

FONKSİYONLAR. Gerçek hayattaki problemlerin çözümü için geliştirilen programlar çok büyük boyutlardadır.

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Sunum İçeriği. Programlamaya Giriş

Yrd. Doç. Dr. Caner ÖZCAN

Temel Bilgisayar Programlama

HSancak Nesne Tabanlı Programlama I Ders Notları

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Doğu Akdeniz Üniversitesi Bilgisayar Mühendisliği Bölümü. BLGM 318 Ara Sınavı Đlkbahar Dönemi 13 Nisan Ad, Soyad Öğrenci No.

Öğr. Gör. Serkan AKSU 1

Algoritma ve Akış Diyagramları

Giriş. ENF102 Jeoloji

ALGORİTMA VE PROGRAMLAMA II

Linux ve Windows Üzerinde C ve C++ Kullanımı

Diziler (Arrays) Çok Boyutlu Diziler

BİT in Temel Bileşenleri (Yazılım-1)

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

BİL-142 Bilgisayar Programlama II

C# nedir,.net Framework nedir?

BLM 112- Programlama Dilleri II. Hafta 5 İşaretçiler (Pointers)

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

PROGRAMLAMA TEMELLERİ

VERİ YAPILARI VE PROGRAMLAMA (BTP104)

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Temel Kavramlar-2. Aşağıda depolama aygıtlarının kapasitelerini inceleyebilirsiniz.

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Bilgisayar Programlama Dilleri

Temel Bilgisayar Programlama

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-12 Fonksiyonlar. Yrd. Doç. Dr. Ümit ATİLA

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

Eln 1001 Bilgisayar Programlama I

/ C Bilgisayar Programlama Final Sınavı Test Soruları. Adı soyadı :... Öğrenci no :... İmza :... Tarih, Süre : , 60 dak.

C Programlama printf() Fonksiyonu

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

BİLGİSAYAR TEMELLERİ VE PROGRAMLAMAYA GİRİŞ

MAK 1005 Bilgisayar Programlamaya Giriş. Fonksiyonlar. Prof. Dr. Necmettin Kaya

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Hafta 12 Karakter Tutan Diziler

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-11 Karakter Diziler. Yrd. Doç. Dr. Ümit ATİLA

Dr. Fatih AY Tel: fatihay@fatihay.net

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

ALGORİTMA VE PROGRAMLAMA II

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

C için tümleşik geliştirme ortamı (IDE) kurulumları

C Programlama Dili'ne Giriş

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 7. LINUX OS (Sistem Yapısı) BİLGİ & İLETİŞİM TEKNOLOJİLERİ. LINUX Yapısı

BİL1001 Bilgisayar Bilimlerine Giriş 1

ENF102 TEMEL BİLGİSAYAR BİLİMLERİ VE C/ C++ PROGRAMLAMA DİLİ. Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

int faktoriyel(int sayi) { int sonuc = 1; for(int i=sayi;i>0;i--) sonuc*=i; return sonuc; } int main() { int sayi = faktoriyel(5); }

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

Transkript:

Bigisayar Programlama (GÜZ 2015) Yrd. Doç Dr. Yakup EMÜL Cumhuriyet Üniv., Teknoloji Fakültesi Yazılım Mühendisliği Bölümü yakupemul@cumhuriyet.edu.tr Ofis Saatleri : Perşembe 14:00-16:00 Dersin Websitesi : http://emuly.cumhuriyet.edu.tr

Ders Hakkında; Notlandırma Notlandırma : Öğrencinin yıl içindeki çalışmaları, aşağıdaki notlandırma tablosuna göre değerlendirilecektir. (*) Ödevlerin arasınav notuna katkısı %10 ve kısasınavların arasınav notuna katkısı %10 dur. (**) Ödevlerin final notuna katkısı %10 ve kısasınavların final notuna katkısı %10 dur. Sınav ve Ödevler Adet % Katkı Ödevler 8-10 (*) Kısa Sınavlar 8-10 (**) Ara Sınav 1 40 Yıl Sonu Sınavı 1 60

Ders Hakkında; Kaynak Materyaller Diğer bütün programlama dillerinde olduğu gibi C/C++ programlama dilide öğrenme aşamasında birçok tekrar ve uygulamayı gerektirir, yani çeşitli program yazma egzersizlerini. Öğrencilerin sınıfta tartışılan/yazılan programların benzerlerini bireysel çalışma zamanlarında geliştirmeleri önemsenmektedir. Bu nedenle sınıfta tartışılan programlar ve program yazma tekniklerinin öğrenci tarafından uygulanması için ayrıca bir dizi ödev verilecektir. Ders Kitabı : Internet ortamında gerek Türkçe gerekse İngilizce olarak birçok kaynak bulmak mümkündür. Öğrencilerin bu kaynakları incelemesi/kullanması teşvik edilmektedir. Bu kaynakların yanında aşağıdaki Türkçe kaynaklar da öğrencinin ilgisine sunulmaktadır. İleri C Programlama, G. Murat TAŞBAŞI, altaş yayıncılık ve elektronik C Programlama Dili, Selçuk ALP Arzu KİLİTÇİ, Umuttepe Yayınları C Programlamanın Temelleri, T,mur Karaçar, Abaküs yayınları Geliştirme Ortamı : Bu ders boyunca Dev C++ IDE (Integrated Development Environment) ortamını program derleme aracı olarak kullanacağız. Öğrenciler bu programlama ortamını ücretsiz olarak: http://orwelldevcpp.blogspot.com.tr/ Adresinden indirerek bilgisayarlarına kurabilirler.

1.1 GİRİŞ; C Programlama Diline Dair, geliştirme süreci C Programlama Dili: Bu gün kullandığımız yazılıma dayalı teknolojilerin büyük oranda temelini oluştura programlama dilidir. ABD de Bell laboratuvarlarında 1969-1973 yıllarında Denis Ritchie tarafından yazılmıştır. İlk defa UNIX işletim sisteminin bir versiyonunu tasarlamak için kullanıldı. 1989 yılında Amerikan Standartlar Enstitüsü (ANSI) C Dili için tüm işletim sistemleri içinde geçerli olacak ANSI C standartlarını yayınladı. Bu standartlar 1990 yılında ISO (uluslar arası standartlar örgütü) tarafından da kabul edildi. 1999 yılında bu standartlar son halini almıştır.

1.1 GİRİŞ; C Programlama Diline Dair, Özellikler Pascal, Basic, Java gibi diler kendi amaçları doğrultusunda çok önemli işler başarmış olsalarda C dilinin vazgeçilemezliği ortadadır. Bunun başlıca nedenleri Yapısallık: C kaynak programı fonksiyon ve kod bloklarından oluşan bir yapıdadır. Onu sadece yazan değil okuyan kişide ne yaptığını anlar ve gerekli düzenlemeleri, hata ayıklamalarını kolaylıkla yapabilir. Modüler Yapı: Fonksiyonlar ve kod blokları bir araya getirilerek modüller oluşturulabilir. Modüller başka programlarca çağrılabilir ve güncellenebilir. Tekrar kullanılabilme: modüller ve programlar başka programlarca tekrar be tekrar kullanılabilir. Etkinlik: C dili makine dili ile üst düzey diller arasında bir yerde konumlanır. Bu nedenle hem sistemle ilgili hemde üst düzey işlerle ilgili problemleri çözebilir.

1.1 GİRİŞ; C Programlama Diline Dair, Özellikler Hız: Makine diline yakın olduğu için çok hızlı çalışır. Esneklik: işletim sistemi, ağ, web, grafik, hesap tabloları, derleyici yazmak, başka bir dil yazmak gibi çok geniş uygulama alanları vardır. Taşınabilirlik: C dilinde yazılan herhangi bir program farklı işletim (bazen küçük değişiklikler gerekebilir) sistemlerinde de çalışır. Genişleyebilme: Makine diline yakın olması sebebiyle programcılar, standart C dilinde olmayan kodlar yazarak yeni kodlar oluşturabilir ve C dilinin parçasıymış gibi çalıştırabilirler. Zengin Kütüphane: C dili standartlaşmış fonksiyonlardan oluşan ve çok farklı işlerde kullanılabilen zengin bir kütüphaneye sahiptir. Bu fonksiyonlar #include deyimiyle çağrılır ve istendiği kadar sıklıkla kulanılabilir.

1.1 GİRİŞ; C Dilinin Versiyonları: C, C++ & C# C 1970 li yıllardan beri popülerliğini ve yaygınlığını korumuştur. 1970 li yıllarla günümüz ihtiyaçları çok farklı olması nedeniyle geliştirilmesi kaçınılmazdır. C++ Bjarne Stroustrup tarafından Bell laboratuvarlarında geliştirilmiştir. Nesneye yönelik bir programlama dilidir(object oriented programming). 1980 li yılların başlarında geliştirildi ANSI ve ISO standartlarına sahiptir.

1.1 GİRİŞ; C Dilinin Versiyonları: C, C++ & C# C# 2000 yılında Microsoft firması tarafından C ve C++ programlama dillerinden geliştirilmiştir..net (dat net) yeni bir platformun parçasıdır. C# ve.net internet programcılığı ve platformdan bağımsız yazılım geliştirme konularındaki ihtiyacı kapatmak amacıyla geliştirilmiştir. İnternet programcılığında Java nın yerini alabilecek yeni bir platform olma özelliğinde.

1.1 GİRİŞ; Neden C? Her türlü emeğe değecek kadar iyi ve güçlü bir dildir. İşletim sistemleri, sürücüler, derleyiciler gibi bugün kullandığımız teknolojinin klasikleşmiş bir enstrümanıdır. Bugün geliştirilen modern diller çoğunlukla C tabanlıdır. Temel programcılık esaslarının kavranması için vazgeçilmezdir. C öğrendikten sonra C++, C# yada diğer dillere geçerken bir temel oluşturur.

1.2 BİLGİSAYAR BİRİMLERİ CPU: İşlemci, bilgisayarda ki her birim, merkezi bir işlemci denetiminde çalışır. Hafıza: Tüm programlar ve bu programlara ait datalar hafızada saklanır. RAM External, USB, CDs, Hard disk gibi Farklı tür hafızalar: registers, cache, virtual/page gibi İşletim Sistemi: Kullanıcı ve bilgisayar kaynakları arasındaki bir arayüz Mac, Windows, Linux, Unix, IOS, Android gibi Derleyici: Programlama dilini makine diline çevirir

1.2 DERS HAKKINDA ; C Programlamaya Giriş Bu derste, mühendislik öğrencileri için C/C++ programlama dilinde temel programcılık esaslarının kavranması ve C/C++ uygulamaları için deneyim kazandırılması amaçlanmaktadır. Bu derste C programlama dilinin aşağıdaki temel sintaksları verilerek temel seviyede bir programcılık altyapısı oluşturulması amaçlanmaktadır. Data tipleri ve değişkenler (Data types and variables) Diziler (arrays) Yapılar (structures) Dizgiler (strings) İmleçler (pointers) Koşullu deyimler (conditional statements) Döngüler, fonksiyonlar ve (loops, functions) Girdi/çıktı dosyaları (file input / output)

1.3 Çalışan Bir C Programı Üretim Süreci Program düzenlemesi/yazımı Kaynak Kodu Derleyici Nesne/Ob ject Kodu Kütüphane Dosyaları Nesne Kodu ile Bağlantı Executable Kode (Yürütücü Kod)

1.3 DevC++ IDE C programı geliştirme ortamı olarak DevC++ IDE (Integrated Development Environment) I kullanacağız. GNU General Public License altında ücretsiz kullanıma sunulmuş bir C programlama ortamıdır. Buradan ilgili programın kurulum dosyasını indirmek için ayrıca bir Sourceforge bağlantısı mevcuttur. Default kurulum özelliklerini kullanınız. (diğer bir deyişle yes, yes, yes gibi) Sadece windows makinelerde çalışmaktadır. Programlarınızı.c uzantılı olarak kaydedin,.cpp DEĞİL!!!

1.3 DevC++ IDE

1.4 İLK PROGAM

1.4 İLK PROGAM; Programı inceleyelim Burası yorum/bilgilendirme amaçlandır. Derleyici /* ve */ arasındaki hiçbirşeyi dikkate almaz, bu kısım yokmuş gibi davranır. Okuyucuya kod içinde ne olduğu hakkında bilgi verir. Programlamanın hayati bir parçasıdır.

1.4 İLK PROGAM; Programı inceleyelim Bu kısım bir öncü-işlemci (pre-processor) emridir. öncü-işlemci emri, herzaman # işareti ile başlar. Derleyiciye, stdio.h isimli bir kütüphane dosyasını içermesini söyler. Bu dosyayı içerdikten sonra, stdio.h dosyasının tüm fonksiyonlarından/özelliklerinden dilediğimiz ölçüde faydalanabiliriz. # ve include arasında hiçbir boşluk bulunmaması gerektiğine dikkat etmemiz gerekir.

1.4 İLK PROGAM; Programı inceleyelim main fonksiyonunun standart tanımı; Tüm C programlarının main diye isimlendirilen bir fonksiyonu olmak zorundadır. Bir program çalışmaya, main fonksiyonu ile başlar. Fonsiyonar mutlaka bir değere atanmalıdırlar. Bizim programımızda int, main fonksiyonunun atanma türünü verir. void yazılması, fonksiyonun herhangi bir değere atanmayacağını gösterir. (), birbirinden virgülle ayrılmış bir dizi parametreyi içerir. Bizim programımız içinse parametre listesi yoktur. Parantez içine void yazabileceğimiz gibi boş da bırakabilirdik. Boş (), parametreyi void olarak otomatik algılar.

1.4 İLK PROGAM; Programı inceleyelim Dalgalı parantez işaretleri, main fonksiyonunun başlangıç ve bitiş yerlerini göstermektedir. Bütün fonksiyon tanımları için zorunlu Bu dalgalı parantezler aynı zamanda ilerde inceleyeceğimiz diğer kod bloklarının ayrılması için kullanılır.

1.4 İLK PROGAM; Programı inceleyelim Bu satır, Stdio.h içinde tanımlanmış ve printf olarak isimlendirilen fonksiyonu çağrır. printf fonksiyonu, çift tırnak içinde yazılmış olan bütün dizgiyi (string) ekrana yazar. \n karakterleri, ekranda görünmezler. Bu karakterler kaçış dizisi (escape sequences) olarak isimlendirilirler. \n, bilgisayara yeni bir satıra geçmesini söyler. Kaçış dizileri hakkında ilerde daha fazla konuşacağız.

1.4 İLK PROGAM; Programı inceleyelim system fonksiyonuda stdio.h dosyası içinde tanımlanmıştır. pause kelimesi, bilgisayara bu satırdan itibaren klavyede herhangi bir tuşa basılıncaya kadar çalışmasını durdurmasını söyler.

1.4 İLK PROGAM; Programı inceleyelim Bu ifade bilgisayara main fonsiyonundan çıkmasını söyler. 0 a dönme, main fonksiyonundan başarılı bir şekilde çıkmayı gerektirir.. Bir fonksiyonun Return yapılan değeri, return çeşidiile aynı olmalıdır. Eğer return yapılan değer bir int dan farklı ise, SelamDunya.c programında bir derleme hatasına neden olacaktır.

1.4 İLK PROGAM; Programın derlenmesi ve çalıştırılması

1.4 Ödev-1 (son teslim:07/10/2015) 5 adet arkadaşınızın ismini ve doğum yılını alt alta herbirinin arasında sırasıyla1,2,3,4,5 boş satır bırakacak şekilde ekrana yazan bir program yazınız.