C++ ile Programlamaya Giriş. Gülşen Demiröz

Benzer belgeler
T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

MÜFREDAT DERS LİSTESİ

BLM 4811 MESLEKİ TERMİNOLOJİ II Salı , D-109 Dr. Göksel Biricik

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Bilgisayar Mühendisliği. Bilgisayar Mühendisliğine Giriş 1

Yazılım Test Maliyet Fonksiyonlarının Otomatik Olarak Keşfedilmesi

C++ Programming: Program Design Including Data Structures, Third Edition. Bölüm 1: Bilgisayarlar ve Programlama Dillerine Kısa Bakış

4. Bölüm Programlamaya Giriş

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Bilgisayar Mühendisliği

Linux Assembly Programlamaya Giriş

YÖNETİM BİLİŞİM SİSTEMLERİ BÖLÜMÜ YENİ DERS MÜFREDATI (1) FAKÜLTESİ: İŞLETME FAKÜLTESİ / BUSINESS SCHOOL

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

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

ve Sonrası Girişli Öğrenciler için Uygulanacak Ders Program

Kanada Sertifika Programları. Marketing Research and Business Intelligence Eylül, Ocak, Mayıs 42 Hafta 15600

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 1 ( yılı ve sonrasında birinci

Bilgisayar Mühendisliği Bölümü Lisans Ders Programı / Computer Engineering Undergraduate Curriculum

Algoritma Hazırlama. Programlama. nereden başlamalı? ALGORİTMA VE PROGRAMLAMA Öğr.Gör.Günay TEMUR

ALGORİTMA VE PROGRAMLAMA I

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

PROGRAMLAMA TEMELLERİ

aselsan Açık Pozisyonlar Bilgi Teknolojileri (BT) Denetçisi İç Denetçi

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

COURSES OFFERED FOR ERASMUS INCOMING STUDENTS

EDCON YURTDISI EGITIM Kanada Sertifika Programları. BÖLGE Program Başlangıç Tarihleri Süre (Ay) İngilizce Şartı

Bilgisayar Mühendisliği Bölümü Lisans Ders Programı / Computer Engineering Undergraduate Curriculum

Girdi Çıktı İşlemleri

Windows 7 - IIS 7.5 üzerine PHP ve MySQL kurulumu

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

Neden Linux Sertifikas ı?

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

Hacettepe Robot Topluluğu

ODTÜ Bilgisayar Mühendisliği. Tanıtım Günleri Temmuz 2005

Bilgisayar Programlama. 1.Hafta

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

Java 2 Standart Edition SDK Kurulum ve Java ya Giriş

BIL :00-12:50. C301(Pr-30) FIZ Fizik I. MK(Y.Doç. Dr.) C205(MLAB2-38) BİL106 Nesneye Yönelik Programlama 1. AU(Y. Doç. Dr.

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

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

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

Düzenlenmesi, Program Yazmak ve Çalıştırmak. Alt Programlar, Modüller ve Arşiv. Fonksiyonları

Akılda kalıcı sahneler

1 ANADAL ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ, İKİNCİ DAL BİLGİSAYAR MÜHENDİSLİĞİ ÇAP PROGRAMI

Özgeçmiş (CV/Resume) Hazırlanması

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Arş. Gör. Mümine KAYA

Bilgisayara ve Bilişim Sistemlerine Giriş (COMPE 105) Ders Detayları

Bilgisayar Programlama. Giriş

BİLİM (Yazılı) SINAVI KONULARI

BİLGİSAYAR PROGRAMLAMAYA GİRİŞ

ALGORİTMA VE PROGRAMLAMA II

GörüntüĐşlemede Yeni Bir Soluk, OpenCV

DERS BİLGİLERİ Haftalık Dersin Adı Kodu Yıl Yarıyıl TUL Saati Kredi AKTS

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

3. Bölüm Algoritmalar

Özgeçmiş (CV/Resume) Hazırlanması

Bilgisayar Sistemlerine Genel Bakış

Güz Dönemi Zorunlu Dersleri

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

BİLİŞİM TEKNOLOJİLERİ ALANI THE INFORMATION TECHNOLOGIES DEPARTMENT

Kıbrısta Tam burslu okurken Comaks Academy ve Elborz TV de bir çok endüstriyel ve ticari yazılım süreçlerinde bulundum.

Dersin Türü (Course Type) Zorunlu (Compulsory)[Χ] Seçmeli (Elective) [ ]

SAYISAL GÖRÜNTÜ İŞLEME (Digital Image Processing)

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

ATLAS Yurtdışı Eğitim Danışmanlığı - Avustralya Sertifika Programları

Temel Bilgisayar Uygulamaları Web Tasarımı, Programlama Dilleri ve C# a Giriş

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

7.1- C#.net Giriş Çıkış İşlemleri ve Visual Studio. M.İLKUÇAR - 1

Bilgisayara ve Bilgi Sistemlerine Giriş (CMPE105) Ders Detayları

Digital Design HDL. Dr. Cahit Karakuş, February-2018

T U KR ECTS BK DK B ADVANCED CALCULUS B 4 0 4,0 7,0 ABDURRAHMAN KARAMANCIOĞLU ADVANCED CALCULUS 4 0 4,0 7,0 10 ABDURRAHMAN

Assembly Language Programming

Mantıksal Kontrol ve Döngü Komutları

ISCOM Kurumsal ISCOM KURUMSAL BİLİŞİM TEKNOLOJİLERİ EĞİTİM KATALOĞU

Sınıflar Oryantasyonu

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS KİTAPLARI LİSTESİ

Dünya Su Günü Kompozisyon Yarışması 2.lik Ödülü (Diyarbakır-22 Mart 2003)

ÖZGEÇMİŞ VE ESERLER LİSTESİ

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

Giriş. Prof.Dr. Bahadır AKTUĞ JFM212 Python ile Mühendislik Uygulamaları. *Kaynakça bölümünde verilen kaynaklardan derlenmiştir.

Derleyici Kuramı (Compiler Theory)

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

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

Fırat Üniversitesi Personel Otomasyonu

Reverse Engineering Bootcamp Eğitim İçeriği

FIRAT ÜNİVERSİTESİ PERSONEL OTOMASYONU

2 ANADAL ELEKTRİK ELEKTRONİK MÜHENDİSLİĞİ, İKİNCİ DAL BİLGİSAYAR MÜHENDİSLİĞİ YANDAL PROGRAMI

Zeynep ALTAN Yazılım Mühendisliği Bölümü Beykent Üniversitesi, Mühendislik-Mimarlık Fakültesi

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM)

Verilerinizi koruyun

Büyük, Dağıtık, Veri Yoğunluklu Uygulamalarda Programlama Paradigmaları

Bilgisayar Oyunları ve Simulasyon (COMPE 376) Ders Detayları

Yrd.Doç.Dr. Celal Murat KANDEMİR. Kodlama (Coding) : Bir nesneler kümesinin bir dizgi (bit dizisi) kümesi ile temsil edilmesidir.

Tedarik Zinciri Yönetiminde Yapay Zeka Teknikler

Assembly Dili Nedir? Assembly dili biliyorum derken hangi işlemci ve hangi işletim sistemi için olduğunu da ifade etmek gerekir.

Transkript:

C++ ile Programlamaya Giriş Gülşen Demiröz

Bu ders şunları vermeyi amaçlıyor Basit bilgisayar bilimleri kavramları Çoğu C++ programlama kavramları Nesneye Dayalı Programlama dili Bu dersin sonunda yapabilecekleriniz algoritmalar geliştirmek C++ kullanarak programlar yazmak ama çok büyük programlar olmayacaklar

Eğitmen Hakkında Work Experience 1997-2008 Microsoft Corporation, Redmond WA, USA Senior Development Lead(Microsoft Online Services) Senior Design Engineer (Office Outlook) Software Test Lead (Windows Networking) Software Design Engineer(Windows Networking) Education M.Sc., Bilkent University, Computer Engineering and Information Science, 1997 B.S., Bilkent University, Computer Engineering and Information Science, 1995

Önce Belki bilgisayarlardan korkuyordunuz Belki nefret ediyordunuz Belki de onları sadece eğlence amaçlı kullanıyordunuz

Ders suresince Başlangıçta kötü rüyalar görebilirsiniz Kafayı üşüttüğünüzü düşünebilirsiniz Ama düzgünce çalışıp yeterince zaman da ayırırsanız eğer...

Dersin Sonunda Başarı sizindir!

MS Visual Studio.NET (2010) C++ programlarını yazacağımız ve çalıştıracağımız yazılım Laptoplarınıza yüklemeniz gerekiyor Adım adım yükleme ile ilgili sunumu aşağıda bulabilirsiniz: http://myweb.sabanciuniv.edu/gulsend/files/2009/02/vs2008_how_to_install.ppt

Bilgisayar Bilimi nedir? BilgisayarBilimibilginin, özellikle elektronik makineler aracılığıyla, düzenli ve ussal biçimde işlenmesi bilimidir. Bilgi Đşlenmek data problem çözmek (processing) Bilgisayarbelirli komutlara göre veri işleyen ve depolayan bir makinedir. Birçok ülkede özellikle Avrupada enformatik diye bilinir Bilgisayarmühendisliği daha çok donanım-yazılım entegrasyonu, devre/chip tasarımı için kullanılır.

Bilgisayar Bilimi Bilgisayar Bilimi sadece programlama değildir programlamadan fazlasıdır Bilgisayar Bilimi genç bir disiplindir 50 yıldan fazla Đlk yüksek lisans programı CMU (Carnegie Tech) 1965 Türkiyede ilk CS bölümü 1977 Turing machine (1937) abstract machine theoretically capable of any computation that we can do with modern computers today

Bilgisayar Bilimi Architecture Software Engineering Operating Systems Graphics Computer Security Computer Networking Artificial Intelligence Scientific Computing Theoretical CS hardware-software interface creating software products Windows, Linux/UNIX, MacOS animation, entertainment, games hacking, digital signatures made internet a reality thinking machines, learning biocomputing analyze algorithms

Algoritmalar Arapça kökenli bir kelimedir Bir problemi adım adım çözmektir önce bunu yap, sonra şunu yap,... en sonunda da bir cevap ile durur bir spesifik programlama diline has değil de genel bir işleme yöntemidir Amaç doğruluk Verimlilik 1 and 100 arasında bir sayı seçeyim Siz tahmin edeceksiniz Ben de her tahminde yüksek, alçak, doğru diyeceğim. Kaç tane tahmin gerekir (en kötü ihtimalde)?

Örnek Algoritma Minimum inimumu u bulma Đlk liste: 4 6 7 3 9 1 4 5 Sıralasak mı? 1 3 4 4 5 6 7 9 (n.log(n)) işlem gerek, n eleman sayısı Optimum algoritma Yaklaşık n işlem Đlk önce 4 minimum olsun 4 ve 6 yı karşılastıralım - min hala 4 4 ve 7 yi karşılastıralım - min hala 4 4 ve 3 ü karşılastıralım Şimdi 3 yeni minimum 3 ve 9 u karşılastıralım - min is still 3 3 ve 1 i karşılastıralım - Şimdi 1 yeni minimum 1 ve 4 ü karşılastıralım - min hala 1 1 ve 5 i karşılastıralım Đşimiz bitti ve minimum 1

Bilgisayarda Bilginin Gösterimi Bilgisayarlar bilgi işleyen makinerdir Bütün bilgiler nümerik şekilde gösterilir ve saklanırlar sayılar bariz sekilde nümerik zaten karakterler ASCII (Unicode) kodlarla ( A =65, Z =90) renkler RGB değerleri ile Đçerde saklanışı (en alt düzeyde) ikilik sayı sistemidir 0 ve 1 (4=100, 5=101) bütün aritmetik işlemler de ikilik sistemde yapılır En düşük seviyedeki yönergeler de ikilik sistemdedir Makine dili Đnsan tarafından okunamaz ve programlanamaz!

High-level Languages and Assembly Rather than instruct computers at the level of 0 s and 1 s, higher level languages have been developed. Flexible and easier programming Compilers translate a high level language, such as C++, into machine-specific executable program (0s and 1s) The compiler is a program, input is C++ program, output is an executable program for other languages different compilers are needed Between machine code and high-level languages: assembly language human understandable form of machine code instructions

Programlama Dillerinin Seviyeleri Üst Seviye int main() { int x, y, z; x = 7; y = 12; z = x * y; return 0; }

Programlama Dillerinin Seviyeleri - assembly Makıneye has assembly dili, soldaki Sparc, sağdaki Pentium, ikisi de aynı C++ kodundan türetilmiştir main: main: save %sp,-128,%sp pushl %ebp mov 7,%o0 movl %esp,%ebp st %o0,[%fp-20] subl $12,%esp mov 12,%o0 movl $7,-4(%ebp) st %o0,[%fp-24] movl $12,-8(%ebp) ld [%fp-20],%o0 movl -4(%ebp),%eax ld [%fp-24],%o1 imull -8(%ebp),%eax call.umul,0 movl %eax,-12(%ebp) nop xorl %eax,%eax st %o0,[%fp-28] jmp.l1 mov 0,%i0.align 4 b.ll1 xorl %eax,%eax nop jmp.l1

Basit Program Geliştirme Adımları Problemi Analiz Edin Algoritma Geliştirin Kaynak Kod Derle & Kur Düzelt Programı Tasarlayın Syntax Hataları? Evet Kodu kağıda yazın Kodu bilgisayara yazın Çalıştır Hayır Doğru Sonuçlar? No Düzelt (Debug) Evet - Bitti

Basit bir Program Kullanıcdan üç tane tamsayı okuyun ve toplamlarını hesaplayın Algoritma ekrana bilgi girişi için istemde bulunan bir cümle yazın sayıları okuyun(sayı 1, sayı 2, sayı 3 ) toplam sayı 1 + sayı 2 + sayı 3 çıktı (toplam) Programı Microsoft Visual Studio 2010 ile yazalım (toplam3sayı.cpp)