Bölüm 1 – Bilgisayar ve C++ Programlamaya Giriş

Slides:



Advertisements
Benzer bir sunumlar
Bilgi Teknolojisinin Temel Kavramları
Advertisements

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.
Nesneye Yönelik Programlama
Yazılım Geliştirme ve Java
Bilgisayar Bilimlerine Giriş-2
Bilgisayar Programlama I
C Programlama Dili AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritche tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiş.
İNTERNET.
İNTERNET.
BİLGİSAYAR NEDİR?.
Bilgi Teknolojisinin Temel Kavramları
C Programlama Diline Giriş
Ders Adı: Bilgisayar Donanımına Giriş
Bilgisayar Yapısı-Genel
Bölüm 1: Introductions (Tanıtım,Tanım)
Bilgi Teknolojisinin Temel Kavramları
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ğı.
Programlamanın Yapı Taşları
BDEM 105.
BİLGİSAYAR DONANIMI SELİN POSBIYIK 9/H 551 SIDIKA RODOP ANADOLU LİSESİ
Bilgisayar Donanımı Dersi
Bilgisayarın İlkleri, Geçmişten Günümüze Bilgisayar
Bölüm 3 – Yapısal Programlama
BİLGİ TEKNOLOJİSİNİN TEMEL KAVRAMLARI
PROGRAM GELİŞTİRME 1.HAFTA.
C++ Yapısı Giriş-Çıkış Komutları Döngü Komutları
İşletim Sistemleri Hazırlayan Hakan YİĞİT.
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.
BİLGİSAYARIN MİMARİSİ, TEMEL BİLEŞENLERİ VE ÇALIŞMA MANTIĞI
Bilgisayar Programlama
İnternet Teknolojisi Temel Kavramlar
Bilişim Teknolojilerine Giriş
Bölüm 2 – Kontrol Yapıları
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Gelişmiş Envanter Uygulaması.
AĞ İŞLETİM SİSTEMLERİ Öğr. Gör. Mustafa SARIÖZ
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bu derste şunları öğreneceğiz: –CheckBox es kullanımı.
Ünite 1 – Bilgisayara Giriş , İnternet ve WWW
Telif Hakkı  2008 Intel Firması. Tüm hakları saklıdır. Intel, Intel logosu (the Intel Logo), Intel Eğitim Girişimi (Intel Education Initiative) ve Intel.
BİLGİSAYAR SİSTEMLERİ
EYLÜL 2014 İŞLETİM SİSTEMLERİ Bilgisayar Uygulamaları.
Bölüm 4 – C’de Program Kontrolü
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Faiz Hesaplama Uygulaması Amaçlar Bu derste öğrenilecekler:
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
BİLGİSAYAR AĞLARINA GİRİŞ
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Tutorial 9 – Araba Ödeme Hesaplaması Uygulaması Bu.
1 Öğr. B.Aliyeva Öğr. B.Aliyeva Bilgisayar Yazılımı.
İnternet Teknolojisi Temel Kavramlar
Nesne tabalı Programlamaya giriş
Bilgi Teknolojisinin Temel Kavramları
Temel Bilgi Teknolojileri
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Bilgi ve İletişim Teknolojisi Dersi
BİLGİSAYAR Kendisine verilen bilgiler üzerinde aritmetiksel, mantıksal ve karşılaştırma işlemleri yaparak sonuçları çıktı birimlerine gönderen elektronik.
İnsan Kaynakları Bilgi Sistemleri
Hafta2 Bilgisayar Donanımı Dersi
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.
Bilgisayar Donanımı Dersi
Programlama Laboratuarı-I DERS - 3 Program Geliştirme Derleyici ve DevC++ Derleyicisi.
BİLGİSAYAR NEDİR?.
Bilgisayar Donanımı Dersi
Mikrobilgisayar Tasarım Yapıları
C Programlama Dili Bilgisayar Mühendisliği.
Nesne tabalı Programlamaya giriş
Mikroişlemciler Giriş.
Bir bilgisayar sisteminin 4 bileşeni vardır;
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
BİLİŞİM TEKNOLOJİLERİ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

Bölüm 1 – Bilgisayar ve C++ Programlamaya Giriş İçerik 1.1 Giriş 1.2 Bilgisayar Nedir? 1.3 Bilgisayar Mimarisi 1.4 İşletim Sistemlerinin Gelişimi 1.5 Kişisel Bilgisayarcılık, Dağıtık Bilgisayarcılık ve İstemci-Sunucu Bilgisayarcılık 1.6 Makine Dilleri, Assembly Dilleri ve Yüksek Seviye Dilleri 1.7 C’nin tarihçesi 1.8 Standart C Kütüphanesi 1.9 Önemli Yazılım Eğilimleri: Nesne Teknolojisi 1.12 Yüksek Seviye Dilleri 1.13 Yapısal Programlama 1.14 Tipik bir C Programlama Ortamının temel elemanları

Bölüm 1 – Bilgisayar ve C++ Programlamaya Giriş İçerik 1.15 Donanım Eğilimleri 1.16 İnternetin Tarihçesi 1.17 ‘World Wide Web’ in tarihçesi

Amaç Bilgisayarın temel konularını anlamak. Farklı tipteki programlama dillerine aşina olmak. C Standart Kütüphanesinden haberdar olmak. C nin tarihçesi hakkında bilgi sahibi olmak. Tipik bir C programlama ortamının elemanlarını anlamak. İlk programlama dersi olarak C öğrenilmesinin takdir edilmesi. Genel olarak diğer programlama dillerinin, C++ ve Java ‘nın öğrenilmesine devam ederken, C nasıl bir temel sağlıyor, bunun takdir edilmesi

Kitabın diğer kısımları: 1.1 Giriş Ne öğreneceğiz: C programlama dili Yapısal programlama ve diğer uygun teknikler Kitabın diğer kısımları: C++ Ünite 15 – 23: C++ programlama diline giriş Java Ünite 24 – 30 Java programlama diline giriş

1.2 Bilgisayar nedir? Bilgisayar Donanım Yazılım Hesaplama yapabilen mantıksal kararları verebilen makinedir. Bilgisayar veriyi program adı verilen ‘emir’ kümeleri ile işler. Donanım Bilgisayarı oluşturan çeşitli parçalardır Klavye, ekran, fare, sabit disk, hafıza, CD-ROM, ve işlemci ünitesi Yazılım Bilgisayarda çalışan programlardır

1.3 Bilgisayar Mimarisi Her Bilgisayarda olan, 6 mantıksal ünite (birim): Giriş Ünitesi Klavye ve fare gibi girdi sağlayan araçlardan bilgi girişi sağlar. Çıkış Ünitesi Ekran, yazıcı gibi çıktı araçlarına denir. Hafıza Ünitesi Hızlı erişim, düşük kapasite, input bilgilerinin depolanması Aritmetik ve lojik birim (ALU: Arithmetic and logic unit) Aritmetik hesaplama ve mantık karşılaştırmalarını yapar. Merkezi İşlem Birimi (CPU: Central processing unit ) Bilgisayarın diğer kısımlarının koordinasyonunu ve yönetimini yapar İkincil Depolama Ünitesi Ucuz, uzun süreli, yüksek hacim kapasiteli depolama Aktif olmayan programları depolar.

1.4 İşletim Sistemlerinin Gelişimi Yığın (Batch) İşleme Bir anda bir işi yapmak İşletim Sistemleri İş’lerin arasında geçişlerin yönetimi Artırılmış net verim Bilgisayarın işlediği iş miktarı Çoklu-programlama Bilgisayarın kaynakları, yapılan işler arasında paylaştırılır. Zaman-paylaşımı Bilgisayar önce bir kullanıcının işlerinin belirli bir kısmını yapar, daha sonra bu işi bırakıp, başka bir kullanıcının işlerine geçer. Bu kullanıcının işlerinden de önceden belirli bir miktarı işledikten sonra, sıradaki kullanıcının işlerine geçer, ve bu böyle devam edip gider.

Kişisel Bilgisayarlar 1.5 Kişisel Bilgisayarcılık, Dağıtık Bilgisayarcılık ve İstemci-Sunucu Bilgisayarcılık Kişisel Bilgisayarlar 1977 de APPLE başlattı. 1981 de IBM ilk kişisel bilgisayarını tanıttı. Bugünün en güçlü kişisel bilgisayarı 10 yada 20 yıl öncenin milyon dolarlık bilgisayarı kadar güçlüdür. Dağıtık bilgi-işlem Bilgisayar ağı üzerine dağıtılmış olarak işlem yapmak İstemci-Sunucu bilgi-işlem Bilgisayar ağı üzerindeki, dosya sunucusu ve istemciler (kişisel bilgisayarlar) üzerine dağıtılmış bulunan bilginin paylaşımı Bugün en popüler işletim sistemleri UNIX, LINUX, WINDOWS

1.6 Makine Dilleri, Assembly Dilleri ve Yüksek Seviye Dilleri Programlama Dillerinin 3 Türü: Makine Dilleri Sayı dizileridir, makinelere özel emirler verirler. Örnek: +1300042774 +1400593419 +1200274027 Assembly Dilleri Konuşma diline benzer kısaltmalarla ifade edilen temel bilgisayar işlemleridir. (assembler denilen programlar ile makine diline çevrilirler) LOAD (yükle) SAYI1 ADD (ekle ) SAYI2 STORE (kaydet) TOPLAM

1.6 Makine Dilleri, Assembly Dilleri ve Yüksek Seviye Dilleri Programlama Dillerinin 3 Türü (devam) Yüksek-seviye dilleri Günlük konuşma diline benzer (genelde İngilizce) kodlardır. Matematiksel notasyonlar kullanırlar. Compiler=Derleyici ‘ler tarafından makine diline çevrilirler Örnek: toplam = sayı1 + sayı2

1.7 C’nin tarihçesi C Standardizasyon BCPL, 1967 yılında Martin Richards tarafından geliştirildi. Aynı yıllarda B dili Ken Thompson tarafından geliştirildi. (Bell Laboratuarları) Ritchie, BCPL ve B programlama dilinden yararlanarak , C dilini geliştirmiştir, (1972, Bell Laboratuarları) UNIX ‘in geliştirilmesinde kullanılmıştır Modern işletim sistemleri yazılmasında kullanılmıştır. Geçen yıllar içinde C tüm bilgisayarlara uygun hale getirilmiştir. Donanımdan bağımsızdır. 1970‘li yılların sonlarında gelişerek, “Geleneksel C“ halini almıştır. Standardizasyon Hafif farklılıklar taşıyan bazı C çeşitleri olmuştur, birbirleriyle uyumlu değillerdir. “makineden bağımsız” bir tanımını oluşturmak için 1983 yılında teknik bir komite oluşturulmuştur. Bu komite 1989 yılında bir standart oluşturmuştur, 1999 yılında bu yenilenmiştir. ISO/IEC 9899: 1999 olarak adlandırıldı.

1.8 Standart C Kütüphanesi C programı, fonksiyon denilen alt parça veya modüllerden oluşur. Programcı kendi fonksiyonlarını oluşturabilir. Avantajı: programcı, bu fonksiyonların nasıl çalıştığını tam olarak bilir. Dezavantajı: zaman alıcıdır Programcılar genelde C kütüphane fonksiyonlarını kullanırlar Bunları yapı taşları olarak kullanırlar. Tekerleği yeniden keşfetmekten sakınmak. Eğer zaten bir fonksiyon yazılmış olarak varsa, yenisini yazmaktansa, zaten var olan fonksiyonu kullanmak daha fazla tercih edilir. Kütüphane fonksiyonları dikkatlice yazılmış, etkindir.

1.9 Önemli Yazılım Eğilimleri: Obje veya Nesne Teknolojisi Nesnelerle dolu bir dünyada yaşayan programcılar, bilgisayarların başına geçince eylemlerle uğraşıyorlardı. Bu yüzden Nesne Teknolojisi ortaya çıktı. Nesneye dayalı programlama daha anlaşılır ve daha organizedir. İncelenmesi değiştirilmesi ve hataların ayıklanması daha kolaydır.

1.9 Önemli Yazılım Eğilimleri: Obje veya Nesne Teknolojisi Obje’ler, veya Nesne’ler Gerçek hayattaki nesneleri, modelleyen yazılım parçalarıdır. Anlamlı yazılım parçalarıdır Tarih nesneleri, zaman nesneleri, bordro nesneleri, fatura nesneleri, ses nesneleri, video nesneleri, dosya nesneleri, kayıt nesneleri. İsmi olan herhangi bir şey, nesne olarak belirtilebilir. Yeniden kullanım oranı yüksektir. Anlaşılırlığı yüksektir. Programın kodunu daha iyi organize eder. Yapısal programlamaya göre, programın bakımı daha kolaydır. Modulariteyi teşvik eder.

1.10 C++ ve ‘C++ How to Program’ kitabı C ‘nin üst-kümesidir. Bjarne Stroustrup tarafından Bell Laboratuvarlarından geliştirilmiştir. C’nin “şıklaştırılmış” halidir, ve nesne tabanlıdır (object-oriented) Nesne Tabanlı (Object-oriented) tasarım çok güçlüdür. verimliliği 10 kattan 100 kata kadar katlayabilir. Endüstri ve Eğitimde baskın dildir. C++ ‘ı öğrenmek C++’ın C’yi içerdiğinden dolayı, kimileri önce C’yi, daha sonra C++’ı öğrenmeyi uygun bulur. Kitapta 15’inci üniteden itibaren, “C++’a giriş” konuları başlar.

Java ne için kullanılır 1.11 Java Programlama dili Java ne için kullanılır Dinamik ve etkileşimli içeriği olan Web sayfaları oluşturmak için. Geniş ölçekli ticari ve kurumsal uygulama geliştirmek için Web sunucuların fonksiyonelitesini yükseltmek için Cep telefonları, PDA gibi taşınabilir aletler için uygulama geliştirilmesinde kullanılır

1.12 Diğer Yüksek Seviye Dilleri FORTRAN Bilimsel ve mühendislik uygulamalarında kullanılır COBOL Ticari uygulamalarda, yüksek miktarda veriyi manipüle etmek için kullanılır. Pascal Eğitim kurumlarında kullanılmak üzere planlanmıştır.

1.13 Yapısal Programlama Yapısal Programlama Program yazmak için, daha disiplinli bir yaklaşımdır. Test ve Debug için temiz ve kolaydır, Programlama mantığını öğrenmek kolaydır.

1.13 Yapısal Programlama C programları, içinde C komutları bulunan metin dosyalarıdır. Bu metin dosyasına kaynak program denir. Bir metin editörü kullanarak yazılır. Kaynak program yalnız başına çalışmaz. Bir derleyiciden geçmesi gerekir. Derleyici özel bir programdır. Kaynak programları derlemek için kullanılır. Derleme işlemi, kaynak kodlarının bilgisayarın çalıştırabileceği bir yapıya çevrilmesidir. Editör Derleyici Bilgisayar Sonuç Kullanıcı Kaynak kod Exe dosyası

1.14 Tipik bir C Programlama Ortamının temel elemanları   1.14 Tipik bir C Programlama Ortamının temel elemanları Program editörde yazılır, diske kaydedilir. C Programının Safhaları: Yazmak (Edit) Ön işleme (Preprocess) Derlemek (Compile) Link (Link) Yüklemek (Load) Çalıştırmak (Execute) “Preprocessor programı” Önişlemci kodlarını işler. “Loader Programı” link edilen programı hafızaya yükler. Merkezi işlemci (CPU) her bir “emiri” alır, ve çalıştırır. Muhtemelen de, programı çalıştırırken yeni veriler üretilmiş olur ve bu verileri kayıt eder. Derleyici “nesne kodunu” üretir ve diske kayıt eder. Linker programı nesne kodu ile kütüphaneleri ilişkilendirir. Loader (Birincil) Hafıza Compiler Editor Preprocessor Linker   . Disk CPU

Her yıl şu aşağıdakiler yaklaşık ikiye katlanıyor: 1.15 Donanım Eğilimleri Her yıl şu aşağıdakiler yaklaşık ikiye katlanıyor: Programları çalıştırmak için kullanılan hafızanın miktarı İkincil depolama yerinin miktarı (mesela: sabit disk alanı) Programları ve verileri uzun vadede tutmaya yarar. İşlemci Hızı Bilgisayarın programlarını işletme hızıdır.

1.16 İnternetin Tarihçesi 1960larda Massachusets Harwarddaki araştırmacıların UNIVAC1108 süper bilgisayarları sayesinde , Utah üniversitesindekilerle haberleşmeyi düşünmeleriyle başladı. Bu sayede Utah’daki bilgisayarlarda grafik üzerine yapılan araştırmalarda gerekli hesaplamalar yapılabilecekti. Bu çalışmalar Amerikan savunma bakanlığına bağlı ARPANET i oluşturdu. (Advanced Research Projects Agency) Araştırmacılara birbirlerinin bilgisayarlarını kullanma fırsatı sunarken, asıl faydasının Elektronik Posta olduğu ortaya çıktı. Başlangıçta üniversiteler ve araştırmada, daha sonra da ordu, hükümet ve ticarette kullanıldı.

1.16 İnternetin Tarihçesi İnternet neleri mümkün kılar: E-posta ile çabuk ve kolay haberleşme Bilgisayarların uluslararası bilgisayar ağları ile birleştirilmesi Paket anahtarlama (Packet switching) Sayısal verinin (digital data) küçük paketler halinde transferi Çok sayıda kullanıcının, aynı anda veri almalarını sağlar. Merkezi kontrolün olmaması İnternetin bir bölümü arızalansa da, diğer bölümü çalışmaya devam eder.

1.17 ‘World Wide Web’ in tarihçesi İnternetin gelişmesinden 25-30 yıl kadar sonra geliştirilmiştir. 1990 yılında CERN lab.da geliştirildi. Sesli, görüntülü dökümanları, istenilen herhangi bir konuda, arayıp, bulup, görüntülemek. Bilgiyi, kolaylıkla ve anında, dünya üzerinde ulaşılabilir kılar. Küçük işletmeler ve şahıslar için, dünya çapında tanınmayı mümkün kılar. İşletmelerin çalışma şeklini ve işin yapılış şeklini değiştirmiştir.

1.18 C Hakkında Genel Notlar Program açık ve anlaşılırlığı İçiçe ve karışık yazılmış programların okunması, anlaşılması ve değiştirilmesi zordur. C makineden bağımsız bir dildir. C ile yazılmış programlar farklı türdeki bilgisayarlarda çalışabilir.

QUIZ 1-İnternetin kullanılmaya başlaması dünyada ne gibi önemli gelişmelere sebep olmuştur. İnternet olmasaydı şu an hayatımızda neler eksik olurdu. 2-Gelecekte bilgisayar sektöründe ne gibi gelişmeler olacak, tahminlerinizi yazınız.

İnternet İnternet hesaplama ve haberleşme teknolojilerini birleştirir ve işimizi kolaylaştırır. Bilgilerin hızlı ve güvenilir bir şekilde dünya çapında ulaşılabilirliğini sağlar. Kişilerin ve küçük işletmelerin dünyaya açılmalarını sağlar ve bu sebeplerden bütün iş yaşantısını değiştirmiştir.. İnsanlar bir ürünün yada servisin mümkün olan en iyi fiyatını araştırabilirler. Belli bir konu üstünde gruplar birbirleriyle haberleşebilirler. Araştırmacılar dünya çapındaki en son gelişmeleri anında takip edebilirler.