programlamaya giriş ve algoritma eğitim materyali (pdf)

26
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Upload: lediep

Post on 22-Jan-2017

433 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA

«YTÜROK»EĞİTMEN:REHA ÖZGÜR ŞİMŞEK

Page 2: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Giriş-TanımlamalarProgram Nedir?Tanımlanmış bir problemi bilgisayar ortamında çözen ürüne program denir.

Programlama Nedir?Tanımlanmış bir problemin çözümüne dair adımlar ile çözümün oluşturulup bunun bir programlama dili ile bilgisayar ortamına aktarılmasına programlama denmektedir.

Algoritma Nedir?Bir problemi çözebilmek için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

Page 3: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Giriş-TanımlamalarProgramlama Dili Nedir?Bir problemin algoritmik çözümünün bilgisayarın anlayabileceği şekilde uyarlanmış kurallar dizisi haline denir.

Akış Şeması Nedir?Herhangi bir problemin çözümü için izlenmesi gereken adımların anlatıldığı algoritmanın, görsel olarak, sembol ya da simgelerle, ifade edilmiş şekline «akış şemaları(diyagramları)(flowcharts)» adı verilir.

Derleyici Nedir?Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın anlayabileceği Makine Diline çevrilmesini sağlayan ve yazılan programda söz dizim hatalarının olup olmadığını gösteren yazılımlardır.

Page 4: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Program Yaşam DöngüsüProgram veya yazılım geliştirme sürecinde, yazılan program belli bir döngü içerisinde işlemeye devam etmektedir.

Page 5: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

AlgoritmalarBir bilgisayar programı sıralı düzensel olarak tanımlanmış bir dizi komuttan başka bir şey değildir. Dolayısıyla yazılan program bir dizi komut ve eylemlerden oluşmaktadır. Her programda komutlar yazılan sırada gerçekleştirilir veya çalıştırılırlar.

Bir program için algoritma çıkartılmadan önce yapılması gereken aşamalar vardır öncelikli olarak;

• Her adım belirleyici olmalıdır.• Belirli adımlar sonunda algoritma sonlandırılmalıdır.• Algoritmalar karşılaşılabilecek tüm ihtimaller için genel olmalıdır. Algoritmanın işleyişinde belirsizlik

olmamalıdır.

Page 6: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Basit bir örnekBilgisayara verilecek iki sayıyı toplayıp sonucu ekrana yazacak bir program için algoritma geliştirelim.

Algoritma:1. BAŞLA2. A sayısını oku3. B sayısını oku4. TOPLAM=A+B işlemini yap5. TOPLAM değerini ekrana yaz6. SON

Page 7: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Basit bir örnekKlavyeden girilecek iki sayıdan büyük olanından küçük olanını çıkarıp ekrana yazacak program için bir algoritma geliştirelim.

Algoritma:1. BAŞLA2. A sayısını oku3. B sayısını oku4. Eğer A büyüktür B ise SONUC=A-B

Değilse SONUC=B-A5. SONUC değerini ekrana yaz6. SON

Page 8: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Akış Şemaları

Algoritmanın başlangıcını veya bitişi (son)

Klavye aracılığı ile giriş ya da okuma yapılması

Programda bir cevap üretme ya da bir çıkış oluşturma

Aritmetik veya mantıksal işlemler için karar verme

Yapılacak işlerin birden fazla yinelenmesi

Hesaplama veya değişkenlere değer aktarımı

Page 9: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

TanımlamalarDeğişkenlerBellekte bir yer gösteren sembolik isimlere değişken denir. Bir değişken program içerisinde kullanılmadan önce tanımlanmalıdır. Bir değişken tanımlandığında derleyici o değişken için bellekte bir yer ayırır. Ayırdığı yerin adresini bir tabloda tutar. Derleyici daha sonra program içerisinde değişkenle karşılaştığında ona göre işlemleri uygular.

SabitlerProgram içerisinde doğrudan yazılan değerlere denir. Programın her yerinde aynı değeri veren ifadelerdir. Tam sayı sabitleri, kesirli sayı sabitleri, dizgi sabitleri vb.

Page 10: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

TanımlamalarOperatörlerDerleyiciye bir işlem belirten ve bu işlemin sonucunda bir değer üreten yapılardır. Aritmetik, karşılaştırma, mantıksal operatörler olarak alt başlıklara ayrılmaktadır.

Aritmetik Operatörler: Dört işlem olarak ifade edilen işleçlerden oluşmaktadırlar. * Çarpma işlemini gösteren işleçtir. Bölme ile eş önceliklidir. / Bölme işlemini gösteren işleçtir. Çarpma ile eş önceliklidir.+ Toplama işlemini gösteren işleçtir. Çıkarma ile eş önceliklidir.- Çıkarma işlemini gösteren işleçtir. Toplama ile eş önceliklidir.% Mod alma işlemini gerçekleştiren operatördür.

NOT: Atama Operatörü: ‘=’ olarak kullanılan atama operatörü değişkenlere değer atanmasını sağlayan operatördür.

Karşılaştırma Operatörleri: İki değer veya aritmetik ifadeyi birbirleriyle karşılaştırmayı sağlayan sembollerdir.

== >,>= <,<= !=

Page 11: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Sayı SistemleriBir bilgisayar sisteminde tüm bilgi kayıtları ve işlemleri elektriksel devreler üzerinden gerçekleştiği için bilinen gerçek elektrik akımın varlığı veya yokluğudur. Elektrik akımının durumu matematiksel ve mantıksal olarak ikili sayı sistemine denk gelir. Çoğunlukla ikili sayı sistemindeki «0» değeri elektrik akımının olmadığını «1» değeri elektrik akımının olduğunu gösterir. Bilgisayarda oluşan tüm değer ve sonuçlar bu ikili sayı sistemiyle anlatılabilmektedir.

• İkili sayı sistemi (Binary)• Onlu sayı sistemi (Decimal)• Onaltılı sayı sistemi (Hexadecimal)

Page 12: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Veri TipleriVeri tipi (data type) program içinde kullanılacak değişken, sabit, fonksiyon isimleri gibi tanımlayıcıların tipini, yani bellekte ayrılacak bölgenin büyüklüğünü, belirlemek için kullanılır. Bir programcı, bir programlama dilinde ilk olarak öğrenmesi gereken, o dile ait veri tipleridir. Çünkü bu, programcının kullanacağı değişkenlerin ve sabitlerin sınırlarını belirler.

Page 13: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden girilecek X değerinden N değerine kadar olan tüm doğal sayıları listeleyen algoritmayı geliştiriniz.

Algoritma:1. BAŞLA2. X OKU3. N OKU4. X YAZ5. X = X + 1 işlemini hesapla6. EĞER X <=N ise 4. ADIMA GİT7. SON

Page 14: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekYarıçapı klavyeden girilen bir dairenin alanını hesaplayan programın algoritmasını geliştiriniz.

Algoritma:1. BAŞLA2. R OKU3. Pi=3.144. ALAN=R*R*Pi işlemini hesapla5. ALAN YAZ6. SON

Page 15: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekYarıçapı ve yüksekliği klavyeden girilen bir silindirin hacmini hesaplayan programın algoritmasını geliştiriniz.

Algoritma:1. BAŞLA2. R OKU3. H OKU4. Pi=3.145. HACİM=Pi*R*R*H işlemini hesapla5. HACİM YAZ6. SON

Page 16: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden A ve B giriliyor. A ve B değerlerini yer değiştiren programın algoritmasını yazınız.

Algoritma:1. BAŞLA2. A OKU3. B OKU4. C = B5. B = A5. A = C6. A YAZ7. B YAZ6. SON

Page 17: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden girilen iki basamaklı bir sayının, basamaklarının karelerinin toplamını ekrana yazdıran programın algoritmasını yazınız.

Algoritma:1. BAŞLA2. SAYI OKU3. A = SAYI / 10 işlemini hesapla4. B = SAYI % 10 işlemini hesapla5. KARTOP = (A*A)+(B*B) işlemini hesapla6. KARTOP YAZ7. SON

Page 18: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden fahrenheit cinsinden girilen ısı değerini celcius karşılığını ekrana yazdıran programın algoritmasını yazınız.

Algoritma:1. BAŞLA2. FAHRENHEIT OKU3. CELCIUS = (5*(FAHRENHEIT – 32))/9 işlemini hesapla4. CELCIUS YAZ6. SON

Page 19: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden girilen A ve B sayılarını, çarpma işlemi kullanmadan sadece toplama ve çıkarma kullanarak çarpıp sonucu ekrana yazdıran programın algoritmasını yazınız.

Algoritma:1. BAŞLA2. A, B OKU3. SAY = 04. TOPLA = 05. EĞER SAY >= B ise 9. ADIMA GİT6. TOPLA = TOPLA + A7. SAY = SAY + 18. 5. ADIMA GİT9. TOPLA YAZ10. SON

Page 20: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden «0» değeri girilinceye kadar okutulan değerlerin ortalamasını hesaplayıp ekrana yazdıran programın algoritmasını yazınız.

Algoritma:1. BAŞLA2. TOP = 03. SAY = 04. X OKU5. EĞER X == 0 ise 9. ADIMA GİT6. TOP = TOP + X7. SAY = SAY + 18. 4. ADIMA GİT9. ORT = TOP / SAY10. ORT YAZ11. SON

Page 21: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekBir N değeri için f x = 𝑥=1

𝑁 1

𝑥2şeklindeki fonksiyonun değerini hesaplayıp ekrana yazan programın

algoritmasını yazınız.

Algoritma:1. BAŞLA2. N OKU3. F = 04. X = 15. F = F + 1/(X*X) işlemini hesapla6. X = X + 1 işlemini hesapla7. EĞER X <= N ise 5. ADIMA GİT8. F YAZ9. SON

Page 22: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir Örnekf x = 𝑥=1

𝑁 1

𝑥2şeklindeki fonksiyon için f x = ≥ 𝐾𝐾 şartını sağlayan en küçük X değerini bulabilecek

algoritmayı geliştiriniz. KK ve N değerinin klavyeden girileceği düşünülecektir. [Düzeltme: KK değeri 1 ile 2 değerleri arasında seçilmelidir.]

Algoritma:1. BAŞLA2. KK OKU3. N OKU4. F = 05. X = 16. F = F + 1/(X*X) işlemini hesapla7. X = X + 1 işlemini hesapla8. EĞER F <= KK ise 6. ADIMA GİT9. F, X YAZ10. SON

Page 23: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekGenel gösterimi 𝑥𝑛 = 𝑛

2 şeklinde olan bir dizinin n. Elemanına kadar tüm elemanlarını ekranda yan yana gösterecek olan programın algoritmasını yazınız.

Algoritma:1. BAŞLA2. N OKU3. X = 14. X*X işlemini hesapla ve YAZ5. X = X + 1 işlemini hesapla6. EĞER X <= N ise 4. ADIMA GİT7. SON

Page 24: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekKlavyeden «0» değeri girilinceye kadar girilen bir dizi sayının karelerinin ortalamasını bulacak program için algoritma yazınız.

Algoritma:1. BAŞLA2. SAY = 03. TOP = 04. X OKU5. EĞER X = 0 ise 9. ADIMA GİT6. TOP = TOP + (X*X)7. SAY = SAY + 18. 4. ADIMA GİT 9. ORT = TOP / SAY10. ORT YAZ11. SON

Page 25: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir ÖrnekBir otomobil, durgun halden harekete başlayarak 10 dakika boyunca hızlanıyor ve sonuçta hızı 60 km/s oluyor. Sonra 15 dk boyunca sabit hızla hareketine devam ediyor ve 10 dakika boyunca yavaşlayarak hızı 0 oluyor. Dışarıdan girilen herhangi bir t anı için araç hızını veren algoritmayı yazınız.

Algoritma:1. BAŞLA2. T OKU3. EĞER T < 10 ise 4. ADIMA GİT, değilse 5. ADIMA GİT4. V = 6*T işlemini hesapla 8. ADIMA GİT5. EĞER T < 25 ise 6. ADIMA GİT, değilse 7. ADIMA GİT6. V = 60 8. ADIMA GİT7. V = 60 - (t-25)*6 8. ADIMA GİT8. V YAZ9. SON

Page 26: Programlamaya Giriş ve Algoritma Eğitim Materyali (PDF)

Bir Örnek𝑎𝑥2 + 𝑏𝑥 + 𝑐 = 0 ikinci derece denkleminin köklerini hesaplayan algoritmayı yazınız.

Algoritma:1. BAŞLA2. a, b, c OKU3. Delta = (b*b) – (4*a*c) değerini hesapla4. EĞER delta < 0 ise 6. ADIMA GİT, değilse 5. ADIMA GİT5. EĞER delta > 0 ise 7. ADIMA GİT, değilse 8. ADIMA GİT6. ‘kökler kompleks’ YAZ ve 9. ADIMA GİT7. ‘kokler reel ’ YAZ ve 9. ADIMA GİT8. ‘katlı kök hali’ YAZ ve 9. ADIMA GİT

9. X1 = (-b + 𝑑𝑒𝑙𝑡𝑎)/(2*a) işlemini hesapla ve değeri YAZ

10. X2 = (-b - 𝑑𝑒𝑙𝑡𝑎)/(2*a) işlemini hesapla ve değeri YAZ11. SON