MAK 1005 Bilgisayar Programlamaya Giriş - Uludağ Üniversitesi
MAK 1005 Bilgisayar Programlamaya Giriş - Uludağ Üniversitesi
MAK 1005 Bilgisayar Programlamaya Giriş - Uludağ Üniversitesi
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