MAT 233 B ILG ISAYAR PROGRAMLAMA I Dr. Elif DEM IRC I Ankara Üniversitesi Matematik Bölümü 2011 Dr. E.Demirci (A.Ü.) MAT 233 2011 1 / 94
MAT 233 Bilgisayar Programlama I Bilgisayar n tan m ve bilgisayar n bilgi işlemesi Dr. E.Demirci (A.Ü.) MAT 233 2011 2 / 94
MAT 233 Bilgisayar Programlama I Bilgisayar n tan m ve bilgisayar n bilgi işlemesi Donan m Dr. E.Demirci (A.Ü.) MAT 233 2011 2 / 94
MAT 233 Bilgisayar Programlama I Bilgisayar n tan m ve bilgisayar n bilgi işlemesi Donan m Yaz l m Dr. E.Demirci (A.Ü.) MAT 233 2011 2 / 94
MAT 233 Bilgisayar Programlama I Bilgisayar n tan m ve bilgisayar n bilgi işlemesi Donan m Yaz l m Işletim sistemi Dr. E.Demirci (A.Ü.) MAT 233 2011 2 / 94
MAT 233 Bilgisayar Programlama I Bilgisayar n tan m ve bilgisayar n bilgi işlemesi Donan m Yaz l m Işletim sistemi Algoritma Dr. E.Demirci (A.Ü.) MAT 233 2011 2 / 94
MAT 233 Bilgisayar Programlama I Bilgisayar n tan m ve bilgisayar n bilgi işlemesi Donan m Yaz l m Işletim sistemi Algoritma Q-basic kodlama Dr. E.Demirci (A.Ü.) MAT 233 2011 2 / 94
Bilgisayar Nedir? Bilgisayar; kendine önceden yüklenmiş program gere¼gince çeşitli bilgileri-verileri uygun ortamlarda saklayan ve istenildi¼ginde geri getiren, çeşitli aritmetik ve mant ksal işlemler yapan; h zl çal şan elektronik bir cihazd r. Dr. E.Demirci (A.Ü.) MAT 233 2011 3 / 94
Bilgisayar Nedir? Veri Bilgisayara girilen işlenmemiş (ham) bilgilere veri denir. Dr. E.Demirci (A.Ü.) MAT 233 2011 4 / 94
Bilgisayar Nedir? Dr. E.Demirci (A.Ü.) MAT 233 2011 5 / 94
Bilgisayar Nedir? Bilgisayar sistem olarak iki bölümden oluşur: Donan m (Hardware): Bilgisayar n elektronik k sm Dr. E.Demirci (A.Ü.) MAT 233 2011 6 / 94
Bilgisayar Nedir? Bilgisayar sistem olarak iki bölümden oluşur: Donan m (Hardware): Bilgisayar n elektronik k sm Yaz l m (Software):Bilgisayar n program k sm Dr. E.Demirci (A.Ü.) MAT 233 2011 6 / 94
Bilgisayar Nedir? Bilginin Girişi (Giriş birimleri: Klavye, mouse, kamera, scanner, fax-modem vb.) Dr. E.Demirci (A.Ü.) MAT 233 2011 7 / 94
Bilgisayar Nedir? Bilginin Girişi (Giriş birimleri: Klavye, mouse, kamera, scanner, fax-modem vb.) Bilginin saklanmas (Bellek birimleri: Harddisk, disket, cd-rom vb.) Dr. E.Demirci (A.Ü.) MAT 233 2011 7 / 94
Bilgisayar Nedir? Bilginin Girişi (Giriş birimleri: Klavye, mouse, kamera, scanner, fax-modem vb.) Bilginin saklanmas (Bellek birimleri: Harddisk, disket, cd-rom vb.) Bilginin işlenmesi (Aritmetik-mant k birimi: Merkezi işlem birimi-central Processing Unit-CPU) Dr. E.Demirci (A.Ü.) MAT 233 2011 7 / 94
Bilgisayar Nedir? Bilginin Girişi (Giriş birimleri: Klavye, mouse, kamera, scanner, fax-modem vb.) Bilginin saklanmas (Bellek birimleri: Harddisk, disket, cd-rom vb.) Bilginin işlenmesi (Aritmetik-mant k birimi: Merkezi işlem birimi-central Processing Unit-CPU) Bilginin ç k ş (Ç k ş birimleri: Monitör/ekran, Printer/yaz c, plotter/çizici, modem) Dr. E.Demirci (A.Ü.) MAT 233 2011 7 / 94
Bilgisayar n çal şma yap s Dr. E.Demirci (A.Ü.) MAT 233 2011 8 / 94
M.S. 500 Abaküs Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar 1955-64 Ikinci kuşak transistörler ve manyetik bellekler Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar 1955-64 Ikinci kuşak transistörler ve manyetik bellekler 1965-71 Üçüncü kuşak tümleşik devreler Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar 1955-64 Ikinci kuşak transistörler ve manyetik bellekler 1965-71 Üçüncü kuşak tümleşik devreler 1971-90 Dördüncü kuşak VLSI Devreler Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar 1955-64 Ikinci kuşak transistörler ve manyetik bellekler 1965-71 Üçüncü kuşak tümleşik devreler 1971-90 Dördüncü kuşak VLSI Devreler 1982 IBM Pc & MS-DOS Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar 1955-64 Ikinci kuşak transistörler ve manyetik bellekler 1965-71 Üçüncü kuşak tümleşik devreler 1971-90 Dördüncü kuşak VLSI Devreler 1982 IBM Pc & MS-DOS 1984 MAC Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
M.S. 500 Abaküs 1642 Pascal n mekanik toplama makinas 1827 Babbage n ç karma makinas 1941 Mekanik hesaplay c Z3 (Zuse) Dünyan n yaz l mla çal şan ilk bilgisayar 1944 Ondal k elektromekanik hesaplay c (Aiken) 1945-54 Ilk kuşak vakum tüpler ve ş nlar 1955-64 Ikinci kuşak transistörler ve manyetik bellekler 1965-71 Üçüncü kuşak tümleşik devreler 1971-90 Dördüncü kuşak VLSI Devreler 1982 IBM Pc & MS-DOS 1984 MAC 1990- Paralel işlemciler, yapay zeka, internet,... Dr. E.Demirci (A.Ü.) MAT 233 2011 9 / 94
Donan m Fiziksel olarak bir bilgisayar oluşturan elektronik, elektromanyetik ve elektromekanik tüm birimlerdir. Dr. E.Demirci (A.Ü.) MAT 233 2011 10 / 94
Yaz l m Yaz l m bilgisayardaki programlard r. Program, bir bilgisayar n işlem yapabilmesi için gerekli komutlar dizisidir. Yaz l m, donan ma işlerlik kazand r r. Dr. E.Demirci (A.Ü.) MAT 233 2011 11 / 94
Bilgisayar n Veri Işleyişi Bilgisayarda bilgiler 0 ve 1 lerden oluşur. Dr. E.Demirci (A.Ü.) MAT 233 2011 12 / 94
Bilgisayar n Veri Işleyişi Bilgisayarda bilgiler 0 ve 1 lerden oluşur. Bunun nedeni bilgilerin elektronik devreler üzerinde ifade edilebilmesini sa¼glamakt r. Dr. E.Demirci (A.Ü.) MAT 233 2011 12 / 94
Bilgisayar n Veri Işleyişi Bilgisayarda bilgiler 0 ve 1 lerden oluşur. Bunun nedeni bilgilerin elektronik devreler üzerinde ifade edilebilmesini sa¼glamakt r. 0 ve 1 devre üzerindeki farkli voltaj seviyelerini temsil eder. Dr. E.Demirci (A.Ü.) MAT 233 2011 12 / 94
Bilgisayar n Veri Işleyişi Bilgisayarda bilgiler 0 ve 1 lerden oluşur. Bunun nedeni bilgilerin elektronik devreler üzerinde ifade edilebilmesini sa¼glamakt r. 0 ve 1 devre üzerindeki farkli voltaj seviyelerini temsil eder. Bilgisayar, devrelerin kapal ve aç k olmalar na göre 0 ve 1 rakamlar n kullan r. (2 lik say sistemi) Dr. E.Demirci (A.Ü.) MAT 233 2011 12 / 94
Bilgisayar n Veri Işleyişi Bilgisayar n işleyebilece¼gi en küçük bilgi parças BIT tir. 0 veya 1 de¼gerlerinden birine sahiptir. (Binary Digit) Dr. E.Demirci (A.Ü.) MAT 233 2011 13 / 94
Bilgisayar n Veri Işleyişi Bilgisayar n işleyebilece¼gi en küçük bilgi parças BIT tir. 0 veya 1 de¼gerlerinden birine sahiptir. (Binary Digit) 8 Bit in biraraya gelmesiyle BYTE oluşur. Anlaml en küçük bilgidir. Dr. E.Demirci (A.Ü.) MAT 233 2011 13 / 94
Bilgisayar n Veri Işleyişi Bilgisayar n işleyebilece¼gi en küçük bilgi parças BIT tir. 0 veya 1 de¼gerlerinden birine sahiptir. (Binary Digit) 8 Bit in biraraya gelmesiyle BYTE oluşur. Anlaml en küçük bilgidir. ASCII (American Standard Code for Information Interchange) Dr. E.Demirci (A.Ü.) MAT 233 2011 13 / 94
Bilgisayar n Veri Işleyişi 1 Kilobyte (KB) =2 10 Byte = 1024 Byte 1 Megabyte (MB) = 2 10 KB = 1024 KB 1 Gigabyte (GB) = 2 10 MB = 1024 MB 1 Teraabyte (TB) = 2 10 GB = 1024 GB Dr. E.Demirci (A.Ü.) MAT 233 2011 14 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Ana Bellek (RAM - Random Access Memory) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Ana Bellek (RAM - Random Access Memory) Yaln z okunabilir bellek (ROM - Read Only Memory) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Ana Bellek (RAM - Random Access Memory) Yaln z okunabilir bellek (ROM - Read Only Memory) Ekran Kart (Screen Card) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Ana Bellek (RAM - Random Access Memory) Yaln z okunabilir bellek (ROM - Read Only Memory) Ekran Kart (Screen Card) Giriş/Ç k ş Kart (I/O Card) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Ana Bellek (RAM - Random Access Memory) Yaln z okunabilir bellek (ROM - Read Only Memory) Ekran Kart (Screen Card) Giriş/Ç k ş Kart (I/O Card) Sabit Disk (Hard Disk) Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Donan m Birimleri: Anakart (Mainboard) Merkezi Işlem Birimi (CPU) Matematik Işlemci (FPU - Floating Point Unit) Ana Bellek (RAM - Random Access Memory) Yaln z okunabilir bellek (ROM - Read Only Memory) Ekran Kart (Screen Card) Giriş/Ç k ş Kart (I/O Card) Sabit Disk (Hard Disk)... Dr. E.Demirci (A.Ü.) MAT 233 2011 15 / 94
Donan m Anakart Anakart, baz donan m birimlerini üzerinde bulundurur ve CPU taraf ndan kullan labilmesine olanak sa¼glar. Dr. E.Demirci (A.Ü.) MAT 233 2011 16 / 94
Bilgisayar n Yap s Giriş Birimi Klavye, Fare,... Ikincil Bellek (Hard Disk, Disket,...) m =) CPU =) m Ana Bellek (RAM) (Geçici) Ç k ş Birimi (Ekran, Yaz c,...) Dr. E.Demirci (A.Ü.) MAT 233 2011 17 / 94
Donan m CPU Merkezi Işlem Birimi (CPU): Bilgisayar n içindeki temel eleman d r. Mikro işlemci diye de an l r. Komutlar işler, hesaplamalar yapar, bilgisayar n içindeki bilgi ak ş n kontrol eder ve yönetir. Dr. E.Demirci (A.Ü.) MAT 233 2011 18 / 94
Donan m Matematik Işlemci Matematik işlemci, CPU nun baz görevlerini üstlenerek bilgisayar n performans n art r r. Dr. E.Demirci (A.Ü.) MAT 233 2011 19 / 94
Donan m Matematik Işlemci Matematik işlemci, CPU nun baz görevlerini üstlenerek bilgisayar n performans n art r r. CPU nun yapabildi¼gi aritmetik işlemeler tamsay larla ilgili olanlard r. Dr. E.Demirci (A.Ü.) MAT 233 2011 19 / 94
Donan m Matematik Işlemci Matematik işlemci, CPU nun baz görevlerini üstlenerek bilgisayar n performans n art r r. CPU nun yapabildi¼gi aritmetik işlemeler tamsay larla ilgili olanlard r. Kesirli say lar, trigonometrik, logaritmik ve üstel fonksiyonlarla ilgili işlemler matematik işlemcide yap l r. Dr. E.Demirci (A.Ü.) MAT 233 2011 19 / 94
Donan m Matematik Işlemci Matematik işlemci, CPU nun baz görevlerini üstlenerek bilgisayar n performans n art r r. CPU nun yapabildi¼gi aritmetik işlemeler tamsay larla ilgili olanlard r. Kesirli say lar, trigonometrik, logaritmik ve üstel fonksiyonlarla ilgili işlemler matematik işlemcide yap l r. Günümüzde matematik işlemci CPU nun içinde yer almaktad r. Dr. E.Demirci (A.Ü.) MAT 233 2011 19 / 94
Donan m Ana bellek - RAM Ana bellek veya rastgele erişimli bellek (Random Access Memory-RAM): Bir giriş cihaz ndan veya bir ikincil depolama cihaz ndan okunan veri ve programlar n, çal şt r lan programlardan elde edilen sonuçlar n ve bir ikincil depolama cihaz na veya bir ç k ş cihaz na gönderilmeye haz r olan ç kt lar n tutuldu¼gu yerdir. Dr. E.Demirci (A.Ü.) MAT 233 2011 20 / 94
Donan m Ana bellek - RAM Ana bellek veya rastgele erişimli bellek (Random Access Memory-RAM): Bir giriş cihaz ndan veya bir ikincil depolama cihaz ndan okunan veri ve programlar n, çal şt r lan programlardan elde edilen sonuçlar n ve bir ikincil depolama cihaz na veya bir ç k ş cihaz na gönderilmeye haz r olan ç kt lar n tutuldu¼gu yerdir. Ana bellekte veriler geçici olarak tutulur; başka bir deyişle bilgisayar kapat ld ¼g nda bu veriler silinir. Dr. E.Demirci (A.Ü.) MAT 233 2011 20 / 94
Donan m Ana bellek - RAM Ana belle¼gin temel görevleri: Çal şmakta olan programlar n program deyimleri ve bu programlar n ihtiyaç duydu¼gu verileri tutmak. Dr. E.Demirci (A.Ü.) MAT 233 2011 21 / 94
Donan m Ana bellek - RAM Ana belle¼gin temel görevleri: Çal şmakta olan programlar n program deyimleri ve bu programlar n ihtiyaç duydu¼gu verileri tutmak. Işletim sistemi yüklendikten sonra ana bellekte sürekli olarak kalmas gereken işletim sistemi bileşenlerini tutmak. Dr. E.Demirci (A.Ü.) MAT 233 2011 21 / 94
Donan m Ana bellek - RAM Ana belle¼gin temel görevleri: Çal şmakta olan programlar n program deyimleri ve bu programlar n ihtiyaç duydu¼gu verileri tutmak. Işletim sistemi yüklendikten sonra ana bellekte sürekli olarak kalmas gereken işletim sistemi bileşenlerini tutmak. Programlar taraf ndan üretilen sonuçlar tutmak. Dr. E.Demirci (A.Ü.) MAT 233 2011 21 / 94
Donan m Ana bellek - RAM Ana belle¼gin temel görevleri: Çal şmakta olan programlar n program deyimleri ve bu programlar n ihtiyaç duydu¼gu verileri tutmak. Işletim sistemi yüklendikten sonra ana bellekte sürekli olarak kalmas gereken işletim sistemi bileşenlerini tutmak. Programlar taraf ndan üretilen sonuçlar tutmak. Sabit disklere veya harici bir cihaza gönderilmeye haz r olan ç k ş bilgilerini tutmak. Dr. E.Demirci (A.Ü.) MAT 233 2011 21 / 94
Donan m Yaln zca okunabilir bellek (ROM) - BIOS (Basic Input Output System) Içeri¼gi de¼giştirilemeyen ve yaln z okunabilen bellek türüdür. Dr. E.Demirci (A.Ü.) MAT 233 2011 22 / 94
Donan m Yaln zca okunabilir bellek (ROM) - BIOS (Basic Input Output System) Içeri¼gi de¼giştirilemeyen ve yaln z okunabilen bellek türüdür. BIOS, bilgisayar üreten rma taraf ndan yerleştirilmiştir ve bilgisayar n yapaca¼g temel işlemleri tan mlar. Dr. E.Demirci (A.Ü.) MAT 233 2011 22 / 94
Donan m Yaln zca okunabilir bellek (ROM) - BIOS (Basic Input Output System) Içeri¼gi de¼giştirilemeyen ve yaln z okunabilen bellek türüdür. BIOS, bilgisayar üreten rma taraf ndan yerleştirilmiştir ve bilgisayar n yapaca¼g temel işlemleri tan mlar. Bilgisayar n aç l ş s ras nda parçalar kontrol eden ve onlar çal şmaya haz r duruma getiren bir program içerir. Dr. E.Demirci (A.Ü.) MAT 233 2011 22 / 94
Donan m Yaln zca okunabilir bellek (ROM) - BIOS (Basic Input Output System) Içeri¼gi de¼giştirilemeyen ve yaln z okunabilen bellek türüdür. BIOS, bilgisayar üreten rma taraf ndan yerleştirilmiştir ve bilgisayar n yapaca¼g temel işlemleri tan mlar. Bilgisayar n aç l ş s ras nda parçalar kontrol eden ve onlar çal şmaya haz r duruma getiren bir program içerir. Bu tür bellekteki (ROM) bilgiler bilgisayar kapatt ¼g n zda silinmez. Dr. E.Demirci (A.Ü.) MAT 233 2011 22 / 94
Donan m Sabit Disk - Ç kar labilir Diskler Bellekte geçici olarak saklanan bilgileri kal c olarak saklamak için bilgilerin başka bir ortama aktar lmas gerekmektedir. Sabit Diskler (Hard Disk) Dr. E.Demirci (A.Ü.) MAT 233 2011 23 / 94
Donan m Sabit Disk - Ç kar labilir Diskler Bellekte geçici olarak saklanan bilgileri kal c olarak saklamak için bilgilerin başka bir ortama aktar lmas gerekmektedir. Sabit Diskler (Hard Disk) CD-DVD Dr. E.Demirci (A.Ü.) MAT 233 2011 23 / 94
Donan m Sabit Disk - Ç kar labilir Diskler Bellekte geçici olarak saklanan bilgileri kal c olarak saklamak için bilgilerin başka bir ortama aktar lmas gerekmektedir. Sabit Diskler (Hard Disk) CD-DVD Ç kar labilir bellek Dr. E.Demirci (A.Ü.) MAT 233 2011 23 / 94
Donan m Ekran Dr. E.Demirci (A.Ü.) MAT 233 2011 24 / 94
Donan m Ekran Yaz c Dr. E.Demirci (A.Ü.) MAT 233 2011 24 / 94
Donan m Ekran Yaz c Çizici Dr. E.Demirci (A.Ü.) MAT 233 2011 24 / 94
Donan m Ekran Yaz c Çizici Taray c Dr. E.Demirci (A.Ü.) MAT 233 2011 24 / 94
Donan m Ekran Yaz c Çizici Taray c Modem Dr. E.Demirci (A.Ü.) MAT 233 2011 24 / 94
Yaz l m Yaz l m, kullan c lar n bilgisayarda işlerini yapmalar na imkan veren tüm programlara verilen genel add r. Işletim Sistemi Dr. E.Demirci (A.Ü.) MAT 233 2011 25 / 94
Yaz l m Yaz l m, kullan c lar n bilgisayarda işlerini yapmalar na imkan veren tüm programlara verilen genel add r. Işletim Sistemi Di¼ger Programlar Dr. E.Demirci (A.Ü.) MAT 233 2011 25 / 94
Işletim Sistemi Bilgisayar kaynaklar n kontrol eden ve uygulama programlar n n yaz labilece¼gi, çal şt r labilece¼gi taban oluşturan sistem yaz l mlar d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 26 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Sistem aç l ş n sa¼glamak Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Sistem aç l ş n sa¼glamak Donan m, kullan c lar aras nda paylaşt rmak Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Sistem aç l ş n sa¼glamak Donan m, kullan c lar aras nda paylaşt rmak Kullan c lar n verileri paylaşmas n sa¼glamak Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Sistem aç l ş n sa¼glamak Donan m, kullan c lar aras nda paylaşt rmak Kullan c lar n verileri paylaşmas n sa¼glamak Giriş/Ç k ş işlemlerini gerçekleştirmek Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Sistem aç l ş n sa¼glamak Donan m, kullan c lar aras nda paylaşt rmak Kullan c lar n verileri paylaşmas n sa¼glamak Giriş/Ç k ş işlemlerini gerçekleştirmek Hatalar düzeltmek Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Temel Işlevleri "Kullan c arabirimi" tan mlamak Sistem aç l ş n sa¼glamak Donan m, kullan c lar aras nda paylaşt rmak Kullan c lar n verileri paylaşmas n sa¼glamak Giriş/Ç k ş işlemlerini gerçekleştirmek Hatalar düzeltmek Programlama arabirimi sa¼glamak Dr. E.Demirci (A.Ü.) MAT 233 2011 27 / 94
Işletim Sisteminin Kesimleri Çekirdek (Kernel) : Donan ma en yak n olan kesimdir. Bilgisayar aç ld ¼g andan itibaren sistemi yöneten programlard r. Dr. E.Demirci (A.Ü.) MAT 233 2011 28 / 94
Işletim Sisteminin Kesimleri Çekirdek (Kernel) : Donan ma en yak n olan kesimdir. Bilgisayar aç ld ¼g andan itibaren sistemi yöneten programlard r. Kabuk (Shell) : Kullan c n n etkileşim kurdu¼gu kesimdir. Uygulama yaz l mlar, hizmet programlar, komut yorumlay c s bu katmanda çal şt r l r. Dr. E.Demirci (A.Ü.) MAT 233 2011 28 / 94
Görev ve Işlem Görev herhangi bir program n işletimine verilen add r. Bilgisayarda çal şt r lan her bir program işletim sistemi için bir görevdir(task). Bir görevin yerine getirilmesi için yap lmas gereken her bir ad m da işlem (Process) olarak düşünülebilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 29 / 94
Görev ve Işlem Görev herhangi bir program n işletimine verilen add r. Bilgisayarda çal şt r lan her bir program işletim sistemi için bir görevdir(task). Bir görevin yerine getirilmesi için yap lmas gereken her bir ad m da işlem (Process) olarak düşünülebilir. Örne¼gin, Ms Word program n çal şt rmak bir görev başlatmakt r, belgenizi oluştururken bir dizi işlem de çal şmaktad r (girdi¼giniz verilerin al nmas, görüntülenmesi... ), yazd ¼g n z belgeyi kaydet komutu ile hard diske yazmak istedi¼ginizde ise yine bir çok işlem başlayacakt r. Dr. E.Demirci (A.Ü.) MAT 233 2011 29 / 94
Tek Görevli & Çok Görevli Işletim Sistemeleri Ayn anda sadece tek bir görevin yap labildi¼gi sistemler tek görevlidir. Ör: Ms-DOS Dr. E.Demirci (A.Ü.) MAT 233 2011 30 / 94
Tek Görevli & Çok Görevli Işletim Sistemeleri Ayn anda sadece tek bir görevin yap labildi¼gi sistemler tek görevlidir. Ör: Ms-DOS Ayn anda birden çok görevin yap labildi¼gi, sistem kaynaklan n n görevler aras nda paylaş labildi¼gi işletim sistemleri çok görevlidir. Ör: Windows, Linux, Unix, Mac OS... Dr. E.Demirci (A.Ü.) MAT 233 2011 30 / 94
Bilgisayar Çeşitleri Bilgisayarlar kullan m amaçlar na göre büyüklük ve kapasite bak m nda şu şekilde s n and r labilirler: Süper Bilgisayarlar Dr. E.Demirci (A.Ü.) MAT 233 2011 31 / 94
Bilgisayar Çeşitleri Bilgisayarlar kullan m amaçlar na göre büyüklük ve kapasite bak m nda şu şekilde s n and r labilirler: Süper Bilgisayarlar Mainframe tipi Bilgisayarlar Dr. E.Demirci (A.Ü.) MAT 233 2011 31 / 94
Bilgisayar Çeşitleri Bilgisayarlar kullan m amaçlar na göre büyüklük ve kapasite bak m nda şu şekilde s n and r labilirler: Süper Bilgisayarlar Mainframe tipi Bilgisayarlar Workstation tipi Bilgisayarlar ( Iş Istasyonlar ) Dr. E.Demirci (A.Ü.) MAT 233 2011 31 / 94
Bilgisayar Çeşitleri Bilgisayarlar kullan m amaçlar na göre büyüklük ve kapasite bak m nda şu şekilde s n and r labilirler: Süper Bilgisayarlar Mainframe tipi Bilgisayarlar Workstation tipi Bilgisayarlar ( Iş Istasyonlar ) Mikro Bilgisayarlar Dr. E.Demirci (A.Ü.) MAT 233 2011 31 / 94
Bilgisayar Çeşitleri Bilgisayarlar kullan m amaçlar na göre büyüklük ve kapasite bak m nda şu şekilde s n and r labilirler: Süper Bilgisayarlar Mainframe tipi Bilgisayarlar Workstation tipi Bilgisayarlar ( Iş Istasyonlar ) Mikro Bilgisayarlar Kişisel Bilgisayarlar Dr. E.Demirci (A.Ü.) MAT 233 2011 31 / 94
B ILG ISAYAR AR ITMET I¼G I Kayan-Noktal Say lar ve Yuvarlama Hatalar Dr. E.Demirci (A.Ü.) MAT 233 2011 32 / 94
B ILG ISAYAR AR ITMET I¼G I Kayan-Noktal Say lar ve Yuvarlama Hatalar Mutlak ve Ba¼g l Hatalar: Duyarl l k Kayb Dr. E.Demirci (A.Ü.) MAT 233 2011 32 / 94
B ILG ISAYAR AR ITMET I¼G I Kayan-Noktal Say lar ve Yuvarlama Hatalar Mutlak ve Ba¼g l Hatalar: Duyarl l k Kayb Kararl ve Karars z Hesaplamar: Durumsall k Dr. E.Demirci (A.Ü.) MAT 233 2011 32 / 94
B ILG ISAYAR AR ITMET I¼G I Kayan-noktal say sistemi ve bilgisayar hesaplamalar n bozabilecek yuvarlama hatalar hakk ndaki temel olgular... Dr. E.Demirci (A.Ü.) MAT 233 2011 33 / 94
B ILG ISAYAR AR ITMET I¼G I Kayan-noktal say sistemi ve bilgisayar hesaplamalar n bozabilecek yuvarlama hatalar hakk ndaki temel olgular... Başka tipten hatalar ve duyarl l k kayb n... (Duyarl l k kayb birbirine neredeyse eşit olan iki say n n fark n n al nmas esnas nda oluşur.) Dr. E.Demirci (A.Ü.) MAT 233 2011 33 / 94
B ILG ISAYAR AR ITMET I¼G I Kayan-noktal say sistemi ve bilgisayar hesaplamalar n bozabilecek yuvarlama hatalar hakk ndaki temel olgular... Başka tipten hatalar ve duyarl l k kayb n... (Duyarl l k kayb birbirine neredeyse eşit olan iki say n n fark n n al nmas esnas nda oluşur.) Baz kararl /karars z algoritmalar ve kötü-durumlu problemler... Dr. E.Demirci (A.Ü.) MAT 233 2011 33 / 94
Kayan-noktal say lar ve yuvarlama hatalar Bilgisayarlar desimal (onluk) say sistemi yerine ikilik say sistemini kullan r. Dr. E.Demirci (A.Ü.) MAT 233 2011 34 / 94
Kayan-noktal say lar ve yuvarlama hatalar Örnek: 427.325 say s n onluk sistemde aç k olarak (10 un kuvvetleri cinsinden) yaz n z. Dr. E.Demirci (A.Ü.) MAT 233 2011 35 / 94
Kayan-noktal say lar ve yuvarlama hatalar Örnek: 427.325 say s n onluk sistemde aç k olarak (10 un kuvvetleri cinsinden) yaz n z. 427.325 = 4 10 2 + 2 10 1 + 7 10 0 + 3 10 1 +2 10 2 + 5 10 3 Dr. E.Demirci (A.Ü.) MAT 233 2011 35 / 94
Kayan-noktal say lar ve yuvarlama hatalar Örnek: 427.325 say s n onluk sistemde aç k olarak (10 un kuvvetleri cinsinden) yaz n z. 427.325 = 4 10 2 + 2 10 1 + 7 10 0 + 3 10 1 +2 10 2 + 5 10 3 Örnek: π = 3.14159 26535 89793 23846 26433 8... say s nda yaz lan en son 8 rakam 8 10 26 ya karş l k gelir. Dr. E.Demirci (A.Ü.) MAT 233 2011 35 / 94
Kayan-noktal say lar ve yuvarlama hatalar Örnek: (1001.11101) 2 say s n 2 nin kuvvetleri cinsinden yaz n z. Dr. E.Demirci (A.Ü.) MAT 233 2011 36 / 94
Kayan-noktal say lar ve yuvarlama hatalar Örnek: (1001.11101) 2 say s n 2 nin kuvvetleri cinsinden yaz n z. (1001.11101) 2 = 1 2 3 + 0 2 2 + 0 2 1 + 1 2 0 +1 2 1 + 1 2 2 + 1 2 3 + 0 2 4 + 1 2 5 bu say desimal gösterimde 9.90625 say s na denktir. Dr. E.Demirci (A.Ü.) MAT 233 2011 37 / 94
Kayan-noktal say lar ve yuvarlama hatalar Tipik bir bilgisayar, ikilik sistemde çal ş p, kullan c larla desimal sistemde iletişim kurar. Bilgisayar bu dönüşümü yapmak için bir yol izler. Bu dönüşümler s ras nda küçük yuvarlama hatalar oluşabilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 38 / 94
Kayan-noktal say lar ve yuvarlama hatalar Bilgisayarlar sabit olmayan bir rakamdan daha fazlas yla ifade edilen reel say kullanarak işlem yapamazlar. Bilgisayar n kelime uzunlu¼gu reel say lar n temsil edilebilece¼gi duyarl l k üzerinde bir k s tlama oluşturur. Dr. E.Demirci (A.Ü.) MAT 233 2011 39 / 94
Kayan-noktal say lar ve yuvarlama hatalar 1/10 gibi basit bir say bile herhangi bir ikilik makinede tam olarak yüklenemez, çünkü bu say sonsuz bir ikilik ifade gerektirir: 1 10 = (0.0 0011 0011 0011...) 2 (1) 0.1 i bir 32-bitlik bilgisayara okutursak ve sonra 40 desimal noktal ç kt al rsak, aşa¼g daki sonucu elde ederiz: 0.10000 00014 90116 11938 47656 25000 00000 00000 Genellikle buradaki dönüşüm hatas n farkedemeyiz, çünkü kurulu formattaki ç kt bize 0.1 gösterecektir. Dr. E.Demirci (A.Ü.) MAT 233 2011 40 / 94
Kayan-noktal say lar ve yuvarlama hatalar Yuvarlama Yuvarlama bilimsel hesaplamalarda önemli bir kavramd r. Desimal noktan n sa¼g nda m rakama sahip bir pozitif x reel say s n ele alal m. x i, n(< m) desimal noktaya yuvarlama,(n + 1). rakam n de¼gerine ba¼gl d r. E¼ger bu rakam 0, 1, 2, 3 veya 4 ise, n-yinci rakam de¼gişmez ve geriye kalan rakamlar at l r. E¼ger bu rakam 5, 6, 7, 8 veya 9 ise, n-yinci rakam 1 birim art r l r ve geriye kalan rakamlar at l r. Dr. E.Demirci (A.Ü.) MAT 233 2011 41 / 94
Kayan-noktal say lar ve yuvarlama hatalar Yuvarlama Aşa¼g daki say lar dört desimale yuvarlay n z: 0.1735499!? 0.9999500!? 0.4321609!? Dr. E.Demirci (A.Ü.) MAT 233 2011 42 / 94
Kayan-noktal say lar ve yuvarlama hatalar Yuvarlama Aşa¼g daki say lar dört desimale yuvarlay n z: 0.1735499!? 0.9999500!? 0.4321609!? 0.1735 0.1735499 Dr. E.Demirci (A.Ü.) MAT 233 2011 42 / 94
Kayan-noktal say lar ve yuvarlama hatalar Yuvarlama Aşa¼g daki say lar dört desimale yuvarlay n z: 0.1735499!? 0.9999500!? 0.4321609!? 0.1735 0.1735499 1.0000 0.9999500 Dr. E.Demirci (A.Ü.) MAT 233 2011 42 / 94
Kayan-noktal say lar ve yuvarlama hatalar Yuvarlama Aşa¼g daki say lar dört desimale yuvarlay n z: 0.1735499!? 0.9999500!? 0.4321609!? 0.1735 0.1735499 1.0000 0.9999500 0.4322 0.4321609 Dr. E.Demirci (A.Ü.) MAT 233 2011 42 / 94
Kayan-noktal say lar ve yuvarlama hatalar Yuvarlama E¼ger x, onun n-rakam yaklaş m olan x ya yuvarlan rsa, bu durumda jx xj 1 2 10 n (2) olur. Dr. E.Demirci (A.Ü.) MAT 233 2011 43 / 94
Kayan-noktal say lar ve yuvarlama hatalar Kesme Hatas E¼ger x bir desimal say ise, ona yutulmuş veya kesilmiş n-rakam yaklaş m, basitçe n. den sonraki tüm rakamlar n at larak elde edildi¼gi ˆx say s d r. Böylece, jx ˆxj < 10 n (3) dir. Örnek: 0.1735499 say s n n dört desimale kesilmiş hali 0.1735 dir. Örnek: 0.9999500 say s n n dört desimale kesilmiş hali 0.9999 dur. Dr. E.Demirci (A.Ü.) MAT 233 2011 44 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim Desimal sistemde reel say lar n, tüm rakamlar n n desimal noktan n sa¼g nda kalacak şekilde ve noktadan sonraki ilk rakam s f rdan farkl olacak şekilde yaz ld ¼g gösterime normalleştirilmiş bilimsel gösterim denir. Dr. E.Demirci (A.Ü.) MAT 233 2011 45 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim Örnek: 732.5051 = 0.7325051 10 3 0.005612 = 0.5612 10 2 Dr. E.Demirci (A.Ü.) MAT 233 2011 46 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim 1 Genel olarak r, 10 r < 1 aral ¼g nda bir say ve n de bir tamsay (pozitif, negatif veya s f r) olmak üzere, s f rdan farkl bir x say s x = r 10 n formunda temsil edilebilir. Kuşkusuz, e¼ger x = 0 ise, bu durumda r = 0 olup, di¼ger tüm durumlarda, r verilen aral kta kalacak şekilde n yi ayarlayabiliriz. Dr. E.Demirci (A.Ü.) MAT 233 2011 47 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim Tamamen ayn yolla, bilimsel gösterimi ikilik sistem için de kullanabiliriz. O durumda (x 6= 0 ise) 1 2 q < 1 ve m bir tamsay olmak üzere, x = q 2 m (4) dir. q say s mantissa (anlaml rakamlar k sm ) ve m tamsay s da üs olarak adland r l r. q ve m nin her ikisi de 2-tabanl say lard r. Dr. E.Demirci (A.Ü.) MAT 233 2011 48 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim Ikili say lar bir bilgisayara yüklerken, (4) formunda küçük bir düzenleme yap lmas yerinde olur: Baştaki ikilik rakam 1 in ikilik-noktan n hemen sa¼g na kayd r ld ¼g n varsayal m. Bu durumda gösterim q = (1.f) 2 ve 1 q < 2 şeklinde olacakt r. Böylece, baştaki 1 i oradaym ş gibi düşünüp, fakat gerçekte yüklemeden bir bitlik bir alan kazan larak, sadece (.f) 2 bir bilgisayar kelimesine yüklenecektir. Dr. E.Demirci (A.Ü.) MAT 233 2011 49 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim 32 bit lik bir bilgisayarda çal şt ¼g m z varsayaca¼g z. Böyle bir bilgisayarda, bir kelimeyi oluşturan bitler, s f rdan farkl bir x = q 2 m reel say s n n temsilinde aşa¼g daki şekilde düzenlenir: x reel say s n n işareti üs kuvveti (e tamsay s ) mantissa k sm (f reel say s ) 1 bit 8 bit 23 bit Dr. E.Demirci (A.Ü.) MAT 233 2011 50 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş Bilimsel Gösterim x = q 2 m reel say s sol-kaymal normalleştirilmiş ikili say olarak yaz labilir öyle ki mantissadaki s f rdan farkl ilk bit ikilik noktan n hemen önündedir. Yani q = (1.f) 2 dir. Bu bit her zaman 1 kabul edildi¼ginden, yüklemeye gerek kalmaz. Mantissa 1 q < 2 aral ¼g ndad r. Kelimede mantissa için ayr lan 23 bit, f den 23 bit yüklemek için kullan labilir. Bunun anlam ise, makinenin kayan-noktal say lar için 24 bitlik mantissaya sahip olaca¼g d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 51 / 94
Kayan-noktal say lar ve yuvarlama hatalar Normalleştirilmiş kayan-noktal form Böylece, s f rdan farkl normalleştirilmiş makine say lar, de¼gerleri aşa¼g daki gibi yeniden kodlanan bit alanlar d r: q = (1.f) 2 ve m = e 127 olmak üzere x = ( 1) s q 2 m (5) dir. Burada, 1 q < 2 ve q daki en anlaml bit 1 olup, aç k olarak yüklenmez. Ayr ca, s de x in işaretini (pozitif: bit 0, negatif: bit 1) temsil eden bittir. m = e 127, 8-bitlik üs ve f de x reel say s n n 23- bitlik kesirli k sm d r ki baştaki aç k 1 bit ile anlaml rakam alan (1. ) 2 yi verir. Dr. E.Demirci (A.Ü.) MAT 233 2011 52 / 94
Kayan-noktal say lar ve yuvarlama hatalar E¼ger say, jmj 8-bitlik ve q 23-bitlik yer işgal edecek şekilde temsil ediliyorsa, bu 32-bitlik bir bilgisayarda bir makine say s d r. Yani bu say duyarl olarak temsil edilebilir. Ço¼gu say n n 32-bitlik bir bilgisayarda duyarl temsili yoktur. E¼ger böyle bir say makineye bir girdi olarak veriliyorsa veya makinede bir hesap sonucu oluşuyorsa, onu bir makine say s olarak duyarl bir şekilde temsil etmede kaç n lmaz hatalar oluşur. Dr. E.Demirci (A.Ü.) MAT 233 2011 53 / 94
Kayan-noktal say lar ve yuvarlama hatalar jmj nin 8 bitten fazla olmamas k s tlamas n n anlam 0 < e < (11 111 111) 2 = 2 8 1 = 255 olup, e = 0 ve e = 255 de¼gerleri 0, ve NaN (Say De¼gil) özel durumlar için ayr lm şt r. m = e 127 oldu¼gundan 126 m 127 almaktay z ki böylece 32-bit lik bir bilgisayar, 2 126 1.2 10 38 e kadar küçük ve (2 2 23 )2 127 3.4 10 38 e kadar büyük olan say lar işleyebilir. Bu ise bilimsel hesaplamalarda yeterince geniş bir alan de¼gildir. Dr. E.Demirci (A.Ü.) MAT 233 2011 54 / 94
Kayan-noktal say lar ve yuvarlama hatalar Bu nedenle, bilimsel hesaplamalarda programlar bazen çift-duyarl veya genişletilmiş-duyarl l k aritmeti¼giyle yaz lmak zorunda kal n r. Çift-duyarl bir kayan-noktal say iki bilgisayar kelimesiyle temsil edilir ve mantissas ço¼gu zaman en az iki kat fazla bite sahiptir. Böylece, çift duyarl l kta tek duyarl l ¼g n en az iki kat say da desimal nokta duyarl l ¼g na sahip oluruz. Çift duyarl l kta hesaplamalar tek duyarl l ¼ga göre, ço¼gu zaman 2 veya kat, daha yavaşt r. Bunun nedeni, tek duyarl aritmetik donan m taraf ndan yap l rken, çift duyarl aritmeti¼gin genellikle bir yaz l m arac l ¼g yla yap lmas ndand r. Dr. E.Demirci (A.Ü.) MAT 233 2011 55 / 94
Kayan-noktal say lar ve yuvarlama hatalar Makine say lar n n mantissa k sm 23 bitten fazla olmamal d r. Anlaml en küçük bit 2 23 ü temsil eder. 2 23 1.2 10 7 dir. Yani makine say lar kabaca alt desimal duyarl l ¼ga sahip olabilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 56 / 94
Kayan-noktal say lar ve yuvarlama hatalar Bilgisayara alt desimal noktadan daha fazlas yla temsil edilen bir say girildi¼ginde onun yaklaş k de¼geri al n r. Dr. E.Demirci (A.Ü.) MAT 233 2011 57 / 94
Kayan-noktal say lar ve yuvarlama hatalar Bilgisayara alt desimal noktadan daha fazlas yla temsil edilen bir say girildi¼ginde onun yaklaş k de¼geri al n r. Ayr ca, 1/100 gibi baz basit desimal say lar da bir ikili sistem bilgisayar nda makine say s de¼gildirler! Dr. E.Demirci (A.Ü.) MAT 233 2011 57 / 94
Kayan-noktal say lar ve yuvarlama hatalar Bir tamsay, işaret için ayr lmas gereken tek bit haricinde, bilgisayar kelimesinin tümünü kendi temsili için kullanabilir. Böylece, 32-bitlik bir bilgisayarda tamsay lar (2 31 1) ile 2 31 1 = 21474 83647 aral ¼g nda de¼gişirler. Bilimsel hesaplamalarda, tamam yla tamsay s içeren işlemlerle çok s k karş laş lmaz. Dr. E.Demirci (A.Ü.) MAT 233 2011 58 / 94
S f r, Sonsuz ve NaN IEEE standart aritmeti¼ginde 0 n iki formu, +0 ve 0 mevcut olup, tek duyarl l kta s ras ile [00000000] 16 ve [80000000] 16 bilgisayar kelimeleriyle temsil edilirler. Bir 0 de¼ger ile sonuçlanan ço¼gu aritmetik işlemine +0 de¼geri verilir. Makine duyarl l ¼g nda 0 üreten çok minik bir negatif say ya ise 0 de¼geri verilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 59 / 94
S f r, Sonsuz ve NaN Benzer olarak sonsuzun da iki formu, + ve var olup, tek duyarl l kta s ras ile [7F800000] 16 ve [FF800000] 16 bilgisayar kelimeleriyle temsil edilirler. Sonsuzluk, ço¼gunlukla, anlaml işlendi¼gi her durumda, çok büyük bir say olarak ele al n r. Örne¼gin, x i 0 < x < aral ¼g nda bir kayan-noktal say olarak kabul edersek, bu durumda x/ işlemi +0 de¼gerini al rken, x +, x ve /x işlemlerinin hepsine + de¼geri atan r. Burada dan anlaş lan + dur. için de benzer sonuçlar geçerlidir. Dr. E.Demirci (A.Ü.) MAT 233 2011 60 / 94
S f r, Sonsuz ve NaN NaN n anlam Say De¼gil (Not a Number) dir ve 0/0,, x+nan gibi belirsiz operasyonlar sonucunda oluşur. NaN, e = 255 ve f 6= 0 olan bilgisayar kelimesi ile temsil edilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 61 / 94
Yak n Makine Say lar Verilen bir pozitif x reel say s na, yak n makine say s ile yaklaşman n sonucu ortaya ç kan hatay inceleyelim: x = q 2 m 1 q < 2 126 m 127 kabul edelim. x e en yak n makine say s n n ne oldu¼gunu bulaca¼g z. Dr. E.Demirci (A.Ü.) MAT 233 2011 62 / 94
Yak n Makine Say lar a i ler 0 veya 1 olmak üzere, x = (1.a 1 a 2...a 23 a 24 a 25...) 2 2 m yazal m. Yak n makine say s basitçe a 24 a 25... uzant bitlerini atarak elde edilebilir. Bu yordama genellikle yutma denir. Sonuç, x = (1.a 1 a 2...a 23 ) 2 2 m dir. Bu say reel eksende x in solunda kal r. Dr. E.Demirci (A.Ü.) MAT 233 2011 63 / 94
Yak n Makine Say lar x e yak n olan bir başka say da onun sa¼g nda kal r. Bu say yuvarlama ile elde edilir; yani uzant bitlerini önceki gibi atarak, fakat en son kalan a 23 bitini bir birim art rarak elde edilir. x + = (1.a 1 a 2...a 23 ) 2 + 2 23 2 m x ve x + n n x e daha yak n olan bilgisayarda x i temsil etmek için seçilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 64 / 94
Yak n Makine Say lar E¼ger x, x ile daha iyi temsil ediliyorsa, jx x j 1 2 jx + x j = 1 2 2m 23 = 2 m 24 olur. Bu durumda ba¼g l hata aşa¼g daki şekilde s n rl d r: x x x 2m 24 q 2 m = 1 q 2 24 2 24 Dr. E.Demirci (A.Ü.) MAT 233 2011 65 / 94
Yak n Makine Say lar Ikinci durumda, x, x + ya x den daha yak n olup, jx x + j 1 2 jx + x j = 2 m 24 dür. Ayn analiz ba¼g l hatan n 2 24 den daha büyük olamayaca¼g n gösterir. Dr. E.Demirci (A.Ü.) MAT 233 2011 66 / 94
Yak n Makine Say lar Özetlersek; e¼ger x, makinenin tan m bölgesinde kalan, s f rdan farkl bir reel say ysa, bu durumda x e en yak n x makine say s x x x 2 24 eşitsizli¼gini sa¼glar. δ = (x x)/x dersek, bu eşitsizli¼gi fl(x) = x(1 + δ) jδj 2 24 (6) formunda yazabiliriz. fl(x) notasyonu, x e en yak n olan x kayan-noktal makine say s n belirtmek için kullan l r. Dr. E.Demirci (A.Ü.) MAT 233 2011 67 / 94
Yak n Makine Say lar Örnek ÖRNEK 1 x = 2/3 say s n n ikilik formu nedir? 32-bitlik bir makinede x ve x + yak n makine say lar nelerdir? Bunlar n hangisi fl(x) olarak al nmal d r? x i fl(x) ile temsil edersek, mutlak yuvarlama hatas ve ba¼g l yuvarlama hatas ne olur? Dr. E.Demirci (A.Ü.) MAT 233 2011 68 / 94
Yak n Makine Say lar Çözüm x = 2 3 = (0.1010...) 2 = (1.010101...) 2 2 1 Iki yak n makine say s x = (1.0101...010) 2 2 1 x + = (1.0101...011) 2 2 1 Burada, x, yutma ile ve x + da yuvarlama ile elde edilmiştir. Ikilik noktan n sa¼g nda 23 bit vard r. Dr. E.Demirci (A.Ü.) MAT 233 2011 69 / 94
Yak n Makine Say lar Çözüm x x = (0.1010...) 2 2 24 = 2 3 2 24 x + x = (x + x ) (x x ) = 2 24 2 3 2 24 = 1 3 2 24 oldu¼gundan, fl(x) = x + almal y z. Dr. E.Demirci (A.Ü.) MAT 233 2011 70 / 94
Bu durumda, mutlak yuvarlama hatas jfl(x) xj = 1 3 2 24 ba¼g l yuvarlama hatas jfl(x) jxj xj = 1 3 2 24 2 3 = 2 25 olur. Ç kt al nd ¼g nda ortaya ç kan say lar ise x = [0011 1111 0010 1010 1010 1010 1010 1010] 2 = [3F2AAAAA] 16 x + = [0011 1111 0010 1010 1010 1010 1010 1011] 2 = [3F2AAAAB] 16 Dr. E.Demirci (A.Ü.) MAT 233 2011 71 / 94
x = [0011 1111 0010 1010 1010 1010 1010 1010] 2 = [3F2AAAAA] 16 x + = [0011 1111 0010 1010 1010 1010 1010 1011] 2 = [3F2AAAAB] 16 x = 0.66666 66269 30236 81640 62500 000 x + = 0.66666 66865 34881 59179 68750 000 Burada ikisi aras ndaki mutlak boşluk 0.00000 00596 04644 77539 06250 000 = 2 24 dür. Dr. E.Demirci (A.Ü.) MAT 233 2011 72 / 94
Kayan-Nokta Hata Analizi Daha aç k olarak, sembolü, dört temel aritmetik işlemi +,,, veya den herhangi birini temsil etsin. E¼ger, x ve y makine say lar olmak üzere x y hesaplanacak ve yüklenecek ise, bu durumda tek bir makine kelimesine uyacak şekilde x y yi yerleştirmek için yapabilece¼gimiz en iyi şey, onu fl(x y) ye yuvarlamak ve o say y yerleştirmektir. Dr. E.Demirci (A.Ü.) MAT 233 2011 73 / 94
Kayan-Nokta Hata Analizi Örnek:Yukar daki süreci aç klamak için, kayan-noktal say sisteminde beş desimal nokta ile işlem yapan bir desimal makine kullanal m ve iki makine say s x = 0.31426 10 3 y = 0.92577 10 5 in toplam nda, fark nda, çarp m nda ve bölümündeki ba¼g l hatalar belirleyelim. Dr. E.Demirci (A.Ü.) MAT 233 2011 74 / 94
Kayan-Nokta Hata Analizi Çözüm Ara sonuçlar için bir çift-uzunluklu işlemci kullan rsak x + y = 0.92891 26000 10 5 x y = 0.92262 74000 10 5 x y = 0.29093 24802 10 8 x y 0.33945 79647 10 2 buluruz. Beş desimal noktal bilgisayar, yuvarlanm ş formda bunlar fl(x + y) = 0.92891 10 5 fl(x y) = 0.92263 10 5 fl(x y) = 0.29093 10 8 fl(x y) = 0.33946 10 2 olarak yükler. Bu sonuçlardaki ba¼g l hatalar, s ras ile 2.8 10 6, 2.8 10 6, 8.5 10 6, ve 6.0 10 6 olup, hepsi de 10 5 den küçüktür. Dr. E.Demirci (A.Ü.) MAT 233 2011 75 / 94
Kayan-Nokta Hata Analizi fl(x) = x(1 + δ) jδj 2 24 Böylece,e¼ger x ve y makine say lar ise, fl(x y) = [x y](1 + δ) jδj 2 24 E¼ger x ve y nin makine say lar olmas gerekmiyorsa, karş l k gelen sonuç: fl(fl(x) fl(y)) = (x(1 + δ 1 ) y(1 + δ 2 )) (1 + δ 3 ) jδ i j 2 24 Dr. E.Demirci (A.Ü.) MAT 233 2011 76 / 94
Kayan-Nokta Hata Analizi x, y ve z nin Marc- 32 de makine say lar olduklar n varsayal m ve x(y + z) yi hesaplamak isteyelim. fl[x(y + z)] = [x fl(y + z)](1 + δ 1 ) jδ 1 j 2 24 = [x(y + z)(1 + δ 2 )](1 + δ 1 ) jδ 2 j 2 24 x(y + z)(1 + δ 2 + δ 1 + δ 1 δ 2 ) x(y + z)(1 + δ 1 + δ 2 ) = x(y + z)(1 + δ 3 ) jδ 3 j 2 23 dir, çünkü δ 2 δ 1 de¼geri 2 23 ile karş laşt r ld ¼g nda gözard edilebilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 77 / 94
Örnek (Duyarl l k Kayb ) x = 0.37214 78693 y = 0.37202 30572 x y = 0.00012 48121 E¼ger bu hesap beş-rakam mantissal bir desimal bilgisayarda gerçekleştirilirse, bu durumda fl(x) = 0.37215 fl(y) = 0.37202 fl(x) fl(y) = 0.00013 olur. Bu durumda, ba¼g l hata oldukça büyüktür: x y [fl(x) fl(y)] x y = 0.00012 48121 0.00013 0.00012 48121 %4 Dr. E.Demirci (A.Ü.) MAT 233 2011 78 / 94
Kararl -Karars z Hesaplamalar E¼ger bir say sal sürecin bir ad m nda yap lan küçük hatalar ard ş k ad mlarda büyüyorsa ve hesaplaman n taman ndaki duyarl l ¼g ciddi olarak azalt yorsa, bu say sal süreç karars zd r. Dr. E.Demirci (A.Ü.) MAT 233 2011 79 / 94
Örnek Reel say lar n, ard ş k olarak ( x0 = 1 x 1 = 1 3 x n+1 = 13 3 x n 4 3 x n 1 (n 1) (1) ile tan ml dizisini göz önüne alal m. Bu indirgeme ba¼g nt s n n x n = 1 3 n (2) dizisini oluşturdu¼gu kolayca görülebilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 80 / 94
Örnek x 0 = 1.00000 00 x 1 = 0.33333 33 (yuv. 7 rak. do¼gru) x 2 = 0.11111 12 (yuv. 6 rak. do¼gru) x 3 = 0.03703 73 (yuv. 5 rak. do¼gru) x 4 = 0.01234 56 (yuv. 4 rak. do¼gru) x 5 = 0.00411 87 (yuv. 3 rak. d x 6 = 0.00138 57 (yuv. 2 rak. x 7 = 0.00051 31 (yuv. 1 rak. x 8 = 0.00037 57 (yuv. 0 rak. x 9 = 0.00094 37 x 10 = 0.00358 87 x 11 = 0.01429 27 x 12 = 0.05715 02 x 13 = 0.22859 39 x 14 = 0.91437 35 x 15 = 3.65749 3 (10 8 ba¼g l hata ile yanl ş) Dr. E.Demirci (A.Ü.) MAT 233 2011 81 / 94
Problem? - Program? Problemi çözebilmek için sorunun çok net biçimde anlaş lm ş olmas gerekir. Dr. E.Demirci (A.Ü.) MAT 233 2011 82 / 94
Problem? - Program? Problemi çözebilmek için sorunun çok net biçimde anlaş lm ş olmas gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Dr. E.Demirci (A.Ü.) MAT 233 2011 82 / 94
Problem? - Program? Problemi çözebilmek için sorunun çok net biçimde anlaş lm ş olmas gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Bir sorunun tabii ki birden fazla çözümü olabilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 82 / 94
Problem? - Program? Problemi çözebilmek için sorunun çok net biçimde anlaş lm ş olmas gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Bir sorunun tabii ki birden fazla çözümü olabilir. Bu durumda en uygun olan çözüm seçilmelidir. Dr. E.Demirci (A.Ü.) MAT 233 2011 82 / 94
Problem? - Program? Problemi çözebilmek için sorunun çok net biçimde anlaş lm ş olmas gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Bir sorunun tabii ki birden fazla çözümü olabilir. Bu durumda en uygun olan çözüm seçilmelidir. Oluşturulan Çözüm Algoritma dedi¼gimiz ad mlarla ifade edilmelidir. Dr. E.Demirci (A.Ü.) MAT 233 2011 82 / 94
Algoritma Bir sorunu çözebilmek için gerekli olan s ral mant ksal ad mlar n tümüne denir. Dr. E.Demirci (A.Ü.) MAT 233 2011 83 / 94
Algoritma Bir sorunu çözebilmek için gerekli olan s ral mant ksal ad mlar n tümüne denir. Do¼gal dille yaz labilece¼gi için formal de¼gildir. Dr. E.Demirci (A.Ü.) MAT 233 2011 83 / 94
Algoritma Bir sorunu çözebilmek için gerekli olan s ral mant ksal ad mlar n tümüne denir. Do¼gal dille yaz labilece¼gi için formal de¼gildir. Algoritma, belirli bir problemi çözmek için ad m ad m ne yap laca¼g n aç k ve kesinlikle anlatan kurallar bütünüdür. Dr. E.Demirci (A.Ü.) MAT 233 2011 83 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Çözüm yollar düşünmek, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Çözüm yollar düşünmek, Iyi çözüm yollar seçip algoritma oluşturmak, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Çözüm yollar düşünmek, Iyi çözüm yollar seçip algoritma oluşturmak, Ak ş diyagram çizmek, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Çözüm yollar düşünmek, Iyi çözüm yollar seçip algoritma oluşturmak, Ak ş diyagram çizmek, Uygun bir dilde kodlamak, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Çözüm yollar düşünmek, Iyi çözüm yollar seçip algoritma oluşturmak, Ak ş diyagram çizmek, Uygun bir dilde kodlamak, Program test etmek, Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin fark na varmak, Problemi analiz etmek, Çözüm yollar düşünmek, Iyi çözüm yollar seçip algoritma oluşturmak, Ak ş diyagram çizmek, Uygun bir dilde kodlamak, Program test etmek, Program da¼g tmak. Dr. E.Demirci (A.Ü.) MAT 233 2011 84 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin tan m Problemin tam ve kesin tan m yap lmal d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 85 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin tan m Problemin tam ve kesin tan m yap lmal d r. Girdi/ç kt kesin olarak tan mlanmal d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 85 / 94
Bilgisayar Program Geliştirmenin Aşamalar Problemin tan m Problemin tam ve kesin tan m yap lmal d r. Girdi/ç kt kesin olarak tan mlanmal d r. Ör. 2x 2 + 10x 48 = 0 denkleminin pozitif kökü nedir? 2, 10, 48 katsay lar girdi, kök ç kt ve koşul kökün pozitif olmas d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 85 / 94
Bilgisayar Program Geliştirmenin Aşamalar Çözüm Yönteminin Tan mlanmas Bir problemin çözüm yöntemi tek de¼gildir. Dr. E.Demirci (A.Ü.) MAT 233 2011 86 / 94
Bilgisayar Program Geliştirmenin Aşamalar Çözüm Yönteminin Tan mlanmas Bir problemin çözüm yöntemi tek de¼gildir. En iyi çözüm yöntemi seçilirken, yöntemin verdi¼gi sonuçlar n duyarl l ¼g, algoritmik yatk nl ¼g, bellek gereksinimi gözönüne al nmal d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 86 / 94
Algoritma Algoritma bir sorunun çözüme ulaşmas için izlenecek yoldur. Dr. E.Demirci (A.Ü.) MAT 233 2011 87 / 94
Algoritma Algoritma bir sorunun çözüme ulaşmas için izlenecek yoldur. Bu yol algoritma da ad m ad m ifade edilmelidir. Dr. E.Demirci (A.Ü.) MAT 233 2011 87 / 94
Algoritma Algoritma bir sorunun çözüme ulaşmas için izlenecek yoldur. Bu yol algoritma da ad m ad m ifade edilmelidir. Tabi ki bir problemin birden çok çözümü olabilir. Fakat algoritmadaki ad mlar farkl yorumlara izin vermeden kesin olarak yaz lmal d r. Dr. E.Demirci (A.Ü.) MAT 233 2011 87 / 94
Algoritma Algoritma bir sorunun çözüme ulaşmas için izlenecek yoldur. Bu yol algoritma da ad m ad m ifade edilmelidir. Tabi ki bir problemin birden çok çözümü olabilir. Fakat algoritmadaki ad mlar farkl yorumlara izin vermeden kesin olarak yaz lmal d r. Ad mlar düzenli ve s ral biçimde olmal d r. Algoritman n genel işleyişi gere¼gi yap lacak işlemler algoritman n ad mlar ile s ral olarak gitmektedir. Dr. E.Demirci (A.Ü.) MAT 233 2011 87 / 94
Algoritma Algoritma bir sorunun çözüme ulaşmas için izlenecek yoldur. Bu yol algoritma da ad m ad m ifade edilmelidir. Tabi ki bir problemin birden çok çözümü olabilir. Fakat algoritmadaki ad mlar farkl yorumlara izin vermeden kesin olarak yaz lmal d r. Ad mlar düzenli ve s ral biçimde olmal d r. Algoritman n genel işleyişi gere¼gi yap lacak işlemler algoritman n ad mlar ile s ral olarak gitmektedir. Basit bir algoritma ad mlar nda kullan c dan veri istenenebilir, işlem yap labilir, ve kullan c ya veri ç kt s sunulabilir. Dr. E.Demirci (A.Ü.) MAT 233 2011 87 / 94
Algoritma Örne¼gi Klavyeden girilen iki say n n toplam n yazd rma problemi için algoritma: Ad m 1: Başla Ad m 2: Girilen ilk say y say1 e ikinci say y say2 ye ata. Ad m 3: Top=say1+say2 Ad m 4: Top de¼gerini ekrana yaz Ad m 5: Bitir. Dr. E.Demirci (A.Ü.) MAT 233 2011 88 / 94
Algoritma Soru 1: Kullan c n n girdi¼gi iki say n n karelerinin toplam n görüntüleyen program n algoritmas n yaz n z. Dr. E.Demirci (A.Ü.) MAT 233 2011 89 / 94
Algoritma Soru 1: Kullan c n n girdi¼gi iki say n n karelerinin toplam n görüntüleyen program n algoritmas n yaz n z. Çözüm:A0 > Başla A1 > Say 1=? : Say 2=? ( Iki say y giriniz.) A2 > S1=Say 1*Say 1 A3 > S2=Say 2*Say 2 A4 > toplam=s1+s2 A5 > toplam n de¼gerini yaz. A6 > Dur Dr. E.Demirci (A.Ü.) MAT 233 2011 89 / 94
Algoritma Soru 2: 20 den 50 ye kadar olan say lar n toplam n bulan algoritma yaz n z. Dr. E.Demirci (A.Ü.) MAT 233 2011 90 / 94
Algoritma Soru 2: 20 den 50 ye kadar olan say lar n toplam n bulan algoritma yaz n z. Çözüm:A0 > Başla A1 > S=20 : T=0 (Say 20 T de¼geri 0 ile başla) A2 > T=T+S (T ye say y ekle T ye aktar.) A3 > S=S+1 (Say y bir art r.) A4 > S<50 ise A2 ye git. (E¼ger say 50 den küçük ise Ad m 2 ye git) A5 > T yi göster. (T nin de¼gerini göster.) A6 > Dur Dr. E.Demirci (A.Ü.) MAT 233 2011 90 / 94
Algoritma Soru 3: 30 ile 90 aras ndaki çift say lar n toplam n bulan algoritma yaz n z. Dr. E.Demirci (A.Ü.) MAT 233 2011 91 / 94
Algoritma Soru 3: 30 ile 90 aras ndaki çift say lar n toplam n bulan algoritma yaz n z. Çözüm:A0 > Başla A1 > S1=30 : T=0 A2 > T=T+S1 (T ye S1 i ekle T ye aktar.) A3 > S1=S1+2 (Say y bir art r.) A4 > S1<=90 ise A2 ye git. (E¼ger say 90 dan küçük ise Ad m 2 ye git) A5 > T yi ekranda göster. A6 > Dur Dr. E.Demirci (A.Ü.) MAT 233 2011 91 / 94