Bilgisayar Programlamaya Giriş - 1

Slides:



Advertisements
Benzer bir sunumlar
Bilgi Teknolojisinin Temel Kavramları
Advertisements

BİLİŞİM TEKNOLOJİLERİ
Algoritma ve Akış Diyagramları
Bilgisayar Mühendisliğine Giriş
BİLİŞİM TEKNOLOJİLERİ
Dijital Dünyada Yaşamak
Bilgi Teknolojisinin Temel Kavramları
KAPASİTE (HAFIZA) ÖLÇÜ BİRİMLERİ
BLG 201 ŞAHİN AKDAĞ.
Makine Müh. & Jeoloji Müh.
Bilgi Teknolojisinin Temel Kavramları
TEMEL BİLGİSAYAR BİLİMLERİ
Bilgi Teknolojisinin Temel Kavramları
Bilgisayar Uygulamaları
Programlamanın Yapı Taşları
Yapısal Program Geliştirme – if, if-else
CEIT 101 Teorik Emrah Soykan - Konu 2 -.
CEIT 101 Teorik Vasfi Tuğun - Konu 2 -.
OPERATÖRLER.
PROGRAM GELİŞTİRME 1.HAFTA.
Formüller Mustafa AÇIKKAR.
Programlama (Hatırlamalar) Yard.Doç.Dr. Cihad DEM İ RL İ Sunu İ çeri ğ i Kayna ğ ı: Vatansever, F. (2010). Algoritma Geliştirme ve Programlamaya Giriş,
BİLGİSAYARIN MİMARİSİ, TEMEL BİLEŞENLERİ VE ÇALIŞMA MANTIĞI
KAPASİTE (HAFIZA) ÖLÇÜ BİRİMLERİ
DİJİTAL ÖLÇÜ BİRİMLERİ
DEĞİŞKENLER VE VERİ TİPLERİ
DİJİTAL ÖLÇÜLER.
DİJİTAL ÖLÇÜ BİRİMLERİ
Temel Kavramlar, İşlemler, Operatörler
Dersin Kapsamı Bilgisayar Nedir, Ne Yapar?
İnternet Programlama - 2
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Bilgisayar, Yazılım ve Algoritma
BİLGİSAYAR ÖLÇÜ BİRİMLERİ
Bilgi Teknolojisinin Temel Kavramları
BİLGİSAYAR NEDİR? Emrah Ceylan.
Temel Bilgi Teknolojileri
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
Programlamaya Giriş 1. Verileri İşleyerek Özet bilgiler şekline sokabilen, bu veri ve bilgileri yüksek kapasitelerde saklayıp başka ortamlara iletebilen.
Bilgisayar (Computer) Bilgisayar, uzun ve çok karmaşık hesapları bile büyük bir hızla yapabilen, mantıksal (lojik) bağlantılara dayalı karar verip işlem.
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Hafta2 Bilgisayar Donanımı Dersi
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.
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
Bilgisayar Yazılımları ? ? ? ?
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Ders 2 Algoritma İfade Şekilleri
Programlama Dersi Öğretim üyesi : Prof. Dr. Raşit KÖKER
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
Bilgisayar Mühendisliğine Giriş
Bilgisayar Donanımı Dersi
C Programlama Dili Bilgisayar Mühendisliği.
DİJİTAL ÖLÇÜ BİRİMLERİ
Bilgisayar Donanım ve Sistem Yazılımı
PROGRAMLAMA TEMELLERİ
Mikroişlemciler Giriş.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMALAR
FONKSİYONLAR.
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Mühendisliğine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
BİLGİSAYAR MÜHENDİSLİĞİNE GİRİŞ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Problem Çözme Süreci-3.
Bilgisayar Donanımı Dersi Bilgisayarın Mimarı Yapısı ve Çalışma Mantığı.
Sunum transkripti:

Bilgisayar Programlamaya Giriş - 1

Bilgisayar ve Program Özet şekilde bilgisayar; «Bilgi işleyen makine» Daha açık olarak bilgisayar; «Verilen giriş değerlerini belirtilen yöntemlerle işleyerek istenilen sonuçları üreten elektronik bir sistem» İşlenecek giriş değerleri ve kullanılacak çözüm yöntemleri bilgisayara insan tarafından programlar ile bildirilir. Yani bilgisayar problemleri çözebilmek için programa ihtiyaç duyar. İnsanla bilgisayar arasındaki iletişim aracı olan program, giriş değerlerini kullanarak istenilen çıkış değerlerinin elde edilebilmesi (problemlerin çözülebilmesi, belirli işlemlerin gerçekleştirilebilmesi vb.) için bilgisayara iletilen komutlar dizisidir.

Bilgisayar, Program ve İnsan İlişkisi Bir işletmede üretimin (çıkış değeri olarak ürünün) olabilmesi için hammadde (giriş değeri) ve makine/teçhizata ihtiyaç duyulmaktadır. Bilgisayarda olduğu gibi işletmede de işin merkezinde insan vardır. Her iki türde de yapılacak işlemler/işler bilgisayara makineye insan tarafından bildirilir.

Bilgisayarın Temel Bileşenleri Bilgisayarın fiziksel yapısı (işlemci, anakart, bellek vb.) «donanım» kısmını oluşturur. Donanımın denetimi ve birbirleriyle uyumlu çalışmasını, belirli amaçlar doğrultusunda kullanılmasını sağlayan kodlar bütününe (yani programlara) «yazılım» denir. Donanım kısmının çalışmasını sağlayan işletim sistemleri gibi yazılımlar; sistem yazılımları olup kullanıcıların genel ve özel uygulama alanlarına yönelik geliştirilmiş olan paket programlar gibi yazılımlar da uygulama yazılımları olarak adlandırılır. 

Problem ve Program Bilgisayarın, insanın komutlarla verdiği emirleri yerine getiren elektronik bir sistem olduğunu söylemiştik. Kullanıcı; bilgisayara ne öğretirse, bilgisayardan ne talep ederse onun karşılığını alır. Yani program bilgisayara istenen sonuçları üretirken (problemi çözerken) hangi giriş verilerini, nasıl işleyeceğini ve bulduğu çıktıları ne yapacağını bildirir. Bunu bilgisayara öğretebilmek için de temel olarak problemin çözüm yolunun programcı tarafından bilinmesi gerekir. Bir problemin, birden çok çözüm yolu olabilir. En uygun olanını seçmek, programcının yetenek ve tecrübesine bağlıdır. Eğer verilen programdaki çözüm yolu yanlış ise bilgisayarın bulacağı sonuç/sonuçlar da yanlış olur. Dolayısıyla program yazılmadan önce; çözülecek problem iyice irdelenmeli, uygun çözüm yolu belirlenmeli ve bilgisayara doğru bir şekilde aktarılmalıdır.

Böl ve Üstesinden Gel Stratejisi Eğer problem çok uzun ve karmaşık ise, alt programlara (yani bölümlere) ayrılır. Her kısım ayrı ayrı yazılıp çalıştırılır ve herhangi bir hata yoksa tümü birleştirilir. Bu yönteme programcılıkta «böl ve üstesinden gel» (ya da böl ve yönet) stratejisi denir.

Ana ve Alt Program Büyük programlar, «ana program» ve «alt program»lardan meydana gelir. Ana programa yardımcı işlemlerin yapıldığı program parçalarına, «alt program» denir. «Ana program» ise tüm alt programları denetleyen ve onları belirli düzende çağırıp çalıştıran ana koddur

Makine Dili ve Programlama Dili «Programlama dili» programcı ile bilgisayar arasındaki iletişimi sağlayan bir araç olup programların yazımında kullanılan bir betimleme şeklidir. Bilgisayar, sayısal (dijital) bir sistem olduğundan «makine dili» olarak adlandırılan  ve “0” ile “1”lerle gösterilen kodlarla (ikili kodlar – binary kodlar) «ikili mantığa» göre çalışır. Sayısal elektronikte “0” gerilim/akım yok, “1” ise gerilim/akım var anlamında kullanılır. “0” ve “1”lerin her birine ise «bit» denir. 1 byte = 8 bit 1 kB (kilobyte) = 2^10 byte = 1024 byte 1 MB (megabyte) = 2^20 byte = 1048576 byte (1024 kB) 1 GB (gigabyte) = 2^30 byte = 1073741824 byte (1024 MB) 1 TB (terabyte) = 2^40 byte = 1099511627776 byte (1024 GB) 1 PB (petabyte) = 2^50 byte = 1125899906842624 byte (1024 TB) 1 EB (exabyte) = 2^60 byte = 1152921504606846976 byte (1024 PB)

Programlama Dili Seviyeleri Programcıların, kodları 0-1’lerle makine dilinde yazması çok zordur. Bu nedenle «yüksek seviyeli» ve konuşma diline yakın olan programlama dilleriyle programlar yazılmakta, «derleyici» ve/veya «yorumlayıcı» programlarla da makine diline dönüştürülmekte, yani çalıştırılabilir hale getirilmektedir. Programlama dilleri seviyelerine göre 3 gruba ayrılır: Düşük seviyeli diller: Makine dillerini içerir. Orta seviyeli diller: Makine dili ile doğal dil (yani konuşma dili) arasında, makine dilinden daha gelişmiş dilleri içerir. Yüksek seviyeli diller: Doğal dile yakın dilleri içerir.

Kaynak Kod – Derleyici – Amaç Program Yüksek seviyeli bir dilde yazılan programın çalışabilmesi için makine diline çevrilmesi gerekir. Bu dönüşümü, ilgili yüksek seviyeli dilin «derleyici» olarak adlandırılan yazılımları gerçekleştirir. Yüksek seviyeli programlama diliyle yazılmış «kaynak kod» içeriğinin yeniden düzenlenmesine imkan varken, makine diline dönüştürülmüş ve çalışmaya hazır «amaç programın» (ya da makine kodunun) içeriğine müdahale imkanı yoktur.

Programlama Hataları Programlar yazılırken genelde 2 tür hata yapılır: Yazım Hatası: Programda yer alan komutların, ifadelerin vb. ilgili dilin kurallarına uygun olarak yazılmaması durumunda ortaya çıkan hata türüdür. Programın çalıştırılmadan önce derlenmesi esnasında, derleyici bu tür hataları tespit ederek programcıyı uyarmaktadır. Bu nedenle, yazım hataları tehlikeli olmayıp kolaylıkla düzeltilebilir. Mantık Hatası: İlgili programlama dilinin kurallarına uygun olarak yazılmasına rağmen çözüm yolunda verilen yanlış yönlendirmeler, bu hata türünü ortaya çıkarır. Eğer problemin çözüm yolu yanlış aktarılırsa program herhangi bir hata vermeden çalışacak ancak yanlış sonuçlar üretecektir. Çok dikkat edilmesi gereken bir hata türüdür.

İşlemler Bilgisayarlarda yapılabilen işlemler temelde 3 gruba ayrılır: Matematiksel (aritmetik) işlemler: Temel aritmetik işlemler (toplama, çıkarma, çarpma, bölme); üstel, logaritmik, trigonometrik, hiperbolik vb. fonksiyonlar bu grupta yer alır. Karşılaştırma (karar) işlemleri: İki büyüklükten hangisinin büyük veya küçük olduğunun belirlenmesi, birbirine eşit olup olmadıklarının belirlenmesi, alfabetik sıralama gibi amaçlarla yapılan işlemlerdir. Mantıksal işlemler: Mantıksal işlem operatörleri (VE, VEYA, DEĞİL) kullanılarak yapılan işlemlerdir.

Matematiksel İşlemler Matematiksel İfade Kod Karşılığı a = -2, b = 6 Toplama a + b 4 Çıkarma a – b a - b -8 Çarpma a . b a * b -12 Bölme a ÷ b a / b -0.33333 Üs alma ab a ^ b 64 Öncelik Sırası İşlem Kod Karşılığı 1 Sayıların Negatifliği - … 2 Parantezler (…) 3 Matematiksel Fonksiyonlar cos, sin, ln, log, exp, … 4 Üs Alma a ^ b, pow, … 5 Çarpma ve Bölme a * b ve a / b 6 Toplama ve Çıkarma a + b ve a - b

Örnek Matematiksel İşlemler Matematiksel İfade Kod Karşılığı 𝑎+𝑏 −𝑐+2𝑎𝑏𝑐−7 a + b – c + 2 * a * b * c – 7 𝑎+ 𝑏 2 − 𝑐 3 a + b ^ 2 – c ^ 3 𝑎+𝑏 − 2𝑎𝑏 𝑏 2 −4𝑎𝑐 (a + b) ^ (1 / 2) – 2 * a * b / (b ^ 2 – 4 * a * c) 𝑎+ 7 𝑎𝑏𝑐 − 1 1+ 1 𝑎+ 1 𝑏+ 1 𝑐+ 1 𝑎𝑏𝑐 a + (a * b * c) ^ (1/7) – 1/ (1+1/(a+1/(b+1/(c+1/(a*b*c)))))

Örnek Matematiksel İşlemler a=4, b=6, c=8, d=10 için aşağıdaki ifadelerin sonuçlarını bulunuz. c * d / (a * d) + b + c * d / a = 28 c * d / a * d + b + c * d / a = 226 c * d / a * d + (b + c) * d / a = 235 Kod İfadesi Matematiksel Karşılığı c * d / (a*d) + b + c * d / a 𝑐𝑑 𝑎𝑑 +𝑏+ 𝑐𝑑 𝑎 c * d / a * d + b + c * d / a 𝑐 𝑑 𝑎 𝑑+𝑏+ 𝑐𝑑 𝑎 c * d / a * d + (b + c) * d / a 𝑐 𝑑 𝑎 𝑑+ 𝑏+𝑐 𝑑 𝑎

Karşılaştırma İşlemleri İşlem Sembolü Anlamı a = 2, b = 3 = Eşittir Yanlış <> Eşit değildir Doğru > Büyüktür a > b işlemi için Yanlış b > a işlemi için Doğru < Küçüktür a < b işlemi için Doğru b < a işlemi için Yanlış >= veya => Büyük eşittir a >= b işlemi için Yanlış b >= a işlemi için Doğru <= veya =< Küçük eşittir a <= b işlemi için Doğru b <= a işlemi için Yanlış

Mantıksal Sabitler Sonuç Rakam olarak Bilgisayar dilinde Lambanın durumu Anahtarın durumu Gerilim / Akım durumu Yanlış False Yanmıyor Açık Yok Doğru 1 True Yanıyor Kapalı Var

Mantıksal İşlemler VE (AND) (.) VEYA (OR) (+) DEĞİL (NOT) (‘) A B A VE B 1 A B A VEYA B 1 A DEĞİL A 1

Örnek Mantıksal İşlemler a = 77, b = 99 için c = a . b ve d = a + b mantıksal işlem sonuçlarını hesaplayınız. a = (77)10 = (1001101)2 b = (99) 10 = (1100011)2 1 a = 77 1 b = 99 1 c = 65 1 d = 111