04.01.2015 Views

MAK 1005 Bilgisayar Programlamaya Giriş - Uludağ Üniversitesi

MAK 1005 Bilgisayar Programlamaya Giriş - Uludağ Üniversitesi

MAK 1005 Bilgisayar Programlamaya Giriş - Uludağ Üniversitesi

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>MAK</strong> <strong>1005</strong> <strong>Bilgisayar</strong> <strong>Programlamaya</strong> <strong>Giriş</strong><br />

<strong>Uludağ</strong> <strong>Üniversitesi</strong>, Mühendislik Fakültesi<br />

Makine Mühendisliği Bölümü<br />

1. YY Dersi, Kredi : 2-0-1<br />

Doç. Dr. Necmettin Kaya<br />

1


KONULAR<br />

1. <strong>Bilgisayar</strong>a giriş, donanım, yazılım, işletim sistemleri, algoritma<br />

2. Algoritma ve Akış Diyagramları<br />

3. Algoritma ve Akış Diyagramları<br />

4. C diline giriş, Veri Tipleri, Değişkenler, Sabitler,Operatörler<br />

5. Temel <strong>Giriş</strong>/Çıkış Fonksiyonları<br />

6. Temel Kütüphane Fonksiyonları<br />

7. ARA SINAV 1<br />

8. Karşılaştırma Deyimleri<br />

9. Döngüler<br />

10. Fonksiyonlar<br />

11. Diziler<br />

12. Dosya Yönetimi<br />

13. ARA SINAV 2<br />

2


ÖNEMLİ KONULAR<br />

- Öğrenciler her hafta dersi düzenli olarak takip etmelidir.<br />

- Ders saatinden önce öğrenciler sınıfta yerini almalıdır.<br />

- Verilecek ödev soruları mutlaka yapılmalıdır.<br />

- Uygulamalar 2 grupta <strong>Bilgisayar</strong> Laboratuvarlarında yapılacaktır.<br />

A1 Grubu (13:30 – 14:15)<br />

A2 Grubu (14:30 – 15:15)<br />

- Sınavlar kağıt üzerinde yapılacaktır.<br />

- C Editörü ve Derleyicisini kendi bilgisayarınızda kullanabilirsiniz.<br />

-Derste anlatılacak sunum notları dersten önce pdf formatında<br />

http://homepage.uludag.edu.tr/~necmi/bpg.htm adresinde yayınlanacaktır.<br />

DEĞERLENDİRME:<br />

-Ara Sınav 1 : %25<br />

-Ara Sınav 2 : %25<br />

-Yıl Sonu Sınavı : %50<br />

3


KAYNAKLAR<br />

1. Algoritma Geliştirme ve <strong>Programlamaya</strong> <strong>Giriş</strong><br />

Dr. Fahri Vatansever, Seçkin Yayınları<br />

2. C ile Programlama<br />

Prof.Dr. Mithat Uysal, Nirvana Yayınları<br />

3. C Programlama Dili<br />

Rifat Çölkesen, Papatya Yayıncılık<br />

4


BİLGİSAYARA GİRİŞ<br />

<strong>Bilgisayar</strong>; aldığı bilgilerle ya da verilerle kullanıcının isteği doğrultusunda<br />

bir işletim sistemi aracılığıyla işlem yapabilen, verileri saklayabilen ve<br />

istenildiği biçimde (yazılı, görsel) çıktı verebilen bir aygıttır.<br />

Genel olarak bilgisayarların gelişimi elektronik sektörünün gelişimine<br />

paralel olarak ilerlediği görülmektedir (silikon teknolojisi ve transistörlerin<br />

gelişimi).<br />

Gelişen transistor teknolojisi ile birlikte bilgisayarların işlemcileri ve<br />

yapıları da gelişmiş ve günümüzün bilgisayar teknolojisine ulaşılmıştır.<br />

Her geçen gün bilgi ve bilgi işleme duyduğumuz ihtiyaç sonucunda<br />

bilgisayar teknolojisi hızla ilerlemektedir.<br />

5


TARİHÇE<br />

1. 1614 yılında Napier hesaplamalara yardımcı olmak üzere logaritma prensiplerini<br />

kullanan bir aygıt geliştirdi.<br />

2. 17. yüzyılın sonlarında Oughtred ilk sürgülü cetveli yaptı.<br />

3. Bu dönemde Pascal ilk mekanik hesap makinesini geliştirdi.<br />

4. Delikli kart sistemi ilk kez 1801 yılında Jackward tarafından dokuma<br />

tezgahlarında kullanıldı.<br />

5. 1842’de Babbage otomatik bir hesap makinesi tasarladı.<br />

6. 19. yüzyılın sonlarına doğru Hollerith ABD nüfus sayımı sonuçlarını<br />

değerlendirmek için delikli kart sistemini kullandı.<br />

7. Aitken 1944 yılında otomatik kontrollü hesaplayıcıyı tasarladı (IBM).<br />

8. 1946’da ENIAC adında ilk hesaplayıcı ortaya çıktı (vakum tüpleri, büyük hacimli,<br />

çok ısı yayan sistemler).<br />

9. <strong>Bilgisayar</strong>ların ticari olarak pazarlanması ilk olarak 1951 yılında olmuştur.<br />

6


TARİHÇE<br />

10. IBM firması 1953 yılında 701 modeli ile piyasaya girdi.<br />

11. 1955 – 1960 arası vakum tüpleri yerine transistörler kullanılmaya başlandı.<br />

12. Manyetik şeritlerin kullanımı bellek kapasitesinin artmasına neden oldu.<br />

13. 1964 yılında ortaya çıkan bilgisayarlar entegre devrelere sahipti.<br />

14. 1970’li yıllardan itibaren tümleşik devrelerin kullanıldığı hesaplama hızları artmış<br />

ve fiziksel özellikleri küçülmüş bilgisayar görülmeye başlanmıştır.<br />

15. Mikroişlemci denilen tek bir tümleşik devre yongalarının bilgisayarlara<br />

uygulanması ile ucuz bilgisayarlar üretilmiştir.<br />

7


BİLGİSAYARIN YAPISI<br />

<strong>Bilgisayar</strong>lar, donanım ve yazılım olmak üzere iki temel kısımdan<br />

oluşur;<br />

Donanım (Hardware): <strong>Bilgisayar</strong> sisteminin çalışması ve ek görevler<br />

için gerekli olan her türlü fiziksel araç.<br />

Yazılım (Software): <strong>Bilgisayar</strong> ile kullanıcı arasındaki bağlantıyı<br />

sağlayan, donanım araçları arasındaki ilişkiyi kuran, komutlar<br />

topluluğudur.<br />

8


DONANIM<br />

9


YAZILIM<br />

1. Sistem Yazılımları (İşletim Sistemi) : Yönetleyici ve Denetleyici<br />

Programlar: (VM, DOS, UNIX, WINDOWS, LINUX, . . .)<br />

2. Programlama Dilleri<br />

Alçak seviyeli diller : Makine dili, assembler dili<br />

Yüksek Seviyeli Diller: FORTRAN, COBOL, ALGOL, PL/1, BASIC,<br />

RPGII, PASCAL, C, . . .)<br />

Görsel Programlama Dilleri: Visual Basic, Delphi, Visual C<br />

3. Uygulama Yazılımları: Verileri işleyerek istenen sonuçları üreten<br />

programlardır.<br />

10


BİLGİSAYAR İLE PROBLEM ÇÖZÜM ADIMLARI<br />

1. Problemin anlaşılması ve analizi<br />

2. Çözüm adımı geliştirme<br />

3. Çözüm yönteminin adımlandırılması (algoritma ve akış diyagramı)<br />

4. Programı kodlama<br />

5. Programın testi<br />

Algoritma Nedir<br />

Bir sorunu çözebilmek için gerekli olan sıralı mantıksal adımların tümüne denir.<br />

Doğal (günlük) dille yazılır. Bir algoritma için aşağıdaki ifadelerin mutlaka<br />

doğrulanması gereklidir.<br />

•Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı olmamalıdır.<br />

•Belirli bir sayıda adım sonunda algoritma sonlanmalıdır.<br />

•Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır.<br />

11


ALGORİTMA<br />

ÖRNEK1: İki sayının toplamı probleminin algoritmasını yazınız.<br />

A0: Başla<br />

A1: Birinci sayıyı (SAYI1) gir.<br />

A2: İkinci sayıyı (SAYI2) gir.<br />

A3: Sayıları topla, TOPLAM SAYI1 + SAYI2<br />

A4: TOPLAM’ ı yaz.<br />

A5: Dur.<br />

ÖRNEK2 : Verilen 3 adet sayının ortalamasını bulan programın algoritmasını yazınız.<br />

A0: Başla<br />

A1: Birinci sayıyı (S1) gir.<br />

A2: İkinci sayıyı (S2) gir.<br />

A3: Üçüncü sayıyı (S3) gir.<br />

A4: Sayıları topla, TOPLAM S1+S2+S3<br />

A5: ORT TOPLAM/3<br />

A6: ORT’u yaz.<br />

A7: Dur. 12


AKIŞ DİYAGRAMI<br />

Problemin çözümü için geliştirilen algoritmanın şekiller ile ifade edilmesi işlemidir.<br />

Başlangıç/Bitiş<br />

İşlem<br />

<strong>Giriş</strong><br />

Döngü<br />

Çıktı<br />

Bağlayıcı<br />

Akış Yönü<br />

Karar<br />

13


ALGORİTMA ve AKIŞ DİYAGRAMI<br />

ÖRNEK1 : İki sayının toplamı probleminin<br />

algoritmasını yazınız ve akış diyagramını<br />

çiziniz.<br />

A0: Başla<br />

A1: Birinci sayıyı (S1) gir<br />

A2: İkinci sayıyı (S2) gir<br />

A3: Sayıları topla, TOPLAM S1 + S2<br />

A4: TOPLAM’ ı yaz.<br />

A5: Dur.<br />

14


ALGORİTMA ve AKIŞ DİYAGRAMI<br />

ÖRNEK2 : Verilen 3 adet sayının ortalamasını bulan<br />

programın algoritmasını yazınız ve akış<br />

diyagramını çiziniz.<br />

A0: Başla<br />

A1: Birinci sayıyı (S1) gir.<br />

A2: İkinci sayıyı (S2) gir.<br />

A3: İkinci sayıyı (S3) gir.<br />

A4: Sayıları topla, TOPLAM S1+S2+S3<br />

A5: ORT TOPLAM/3<br />

A6: ORT’u yaz.<br />

A7: Dur.<br />

15


ALGORİTMA ve AKIŞ DİYAGRAMI<br />

ÖRNEK3 : Yarıçapı verilen bir dairenin alanını ve<br />

çevresini hesaplayan programın<br />

algoritmasını yazınız ve akış diyagramını<br />

çiziniz.<br />

A0: Başla<br />

A1: Yarıçapı (R) gir<br />

A2: ALAN 3.14*R*R<br />

A3: ÇEVRE 2*3.14*R<br />

A4: ALANI’ ı yaz.<br />

A5: ÇEVRE’ yi yaz.<br />

A6: Dur.<br />

16


ALGORİTMA ve AKIŞ DİYAGRAMI<br />

ÖRNEK4 : Kütlesi, hızı ve yerden yüksekliği girilen<br />

cismin potansiyel ve kinetik enerjisini<br />

hesaplayan programın algoritmasını<br />

yazınız ve akış diyagramını çiziniz.<br />

E p<br />

mgh<br />

Ek <br />

1 mv<br />

2<br />

2<br />

A0: Başla<br />

A1: Kütle (m), hız (v) ve yükseklik (h) gir.<br />

A2: EP m*9.81*h<br />

A3: EK 0.5*m*v*v<br />

A4: EP ve EK’yı yaz.<br />

A5: Dur.<br />

17


ALGORİTMA ve AKIŞ DİYAGRAMI<br />

ÖRNEK5 : Katsayıları girilen birinci dereceden<br />

denklemin kökünü bulan programın<br />

algoritmasını yazınız, akış diyagramını<br />

çiziniz.<br />

Ax B C<br />

Ax C B<br />

x <br />

C B<br />

A<br />

A0: Başla<br />

A1: Katsayıları gir (A,B,C)<br />

A2: x (C-B)/A<br />

A3: x’i yaz.<br />

A4: Dur.<br />

18


ÖDEV<br />

ÖDEV 1 : İki kenar uzunluğu ve aradaki açısı girilen üçgenin diğer kenar<br />

uzunluğunu hesaplayan programın algoritmasını yazınız, akış<br />

diyagramını çiziniz.<br />

ÖDEV 2 : Yarıçapı girilen kürenin alanını ve hacmini hesaplayan programın<br />

algoritmasını yazınız, akış diyagramını çiziniz.<br />

ÖDEV 3 : Bir kenar uzunluğu ve o kenara ait yüksekliği girilen üçgenin alanını<br />

hesaplayan programın algoritmasını yazınız, akış diyagramını çiziniz.<br />

19

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!