Programlama Dillerinin Tarihçesi

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "Programlama Dillerinin Tarihçesi"

Transkript

1 Programlama Dilleri Programlama dillerine girmeden önce algoritma nedir öncelikle onu öğrenelim. Algoritma,bir sorunu çözmede kullanılacak kuralların sıralı listesi olarak açıklanabilir. Programlama dili ise bir yazılım programı oluşturabilmek için gereken kodlar, talimatlar ve yazım kurallarını kapsayan sete verilen isimdir. Algoritma ve programlama dilleri arasındaki ilişki basittir. Algoritma kalıcıdır,diller geçicidir. Örnek olarak Assembly dilinin geliştirildikten sonraki ilk 5 yılındaki kullanım yüzdesiyle şimdiki yüzdesi aynı değildir. Bu konuyla alakalı bu blogdaki yazıyı okuyabilirsiniz. Programlama Dillerinin Tarihçesi Charles Babbage, 1910 yılında Analytical ve Difference adında iki makine tasarladı. Charles ve asistanı Ada Lowelace Bernoulli sayılarının Analytical Engine ile çözümü için bir yöntem geliştirdi. Bu yöntem çoğu tarihçi tarafından programcılığın başlangıcı olarak görülüyor.

2 Şekil 1. Difference Engine ve Charles Babbage Programlamaya Yaklaşım Türleri Çok sayıda yaklaşım türü bulunmaktadır ama günümüzde çok kullanılanlardan 5 tanesini açıklayarak devam edelim. Fonksiyonel Programlama Bu yaklaşımda matematik fonksiyonlarındaki gibi alt programlar tanımlanmakta ve bu alt programların değişik argümanlar ile çalışması sağlanmaktadır. Yani sıra sıra işlemler neyse onlar yapılıyor. Bu yaklaşımda kullanılabilecek bazı diller : C,F# Nesne Yönelimli Programlama Bütün yapıyı nesneler ve nesneler arası ilişki olarak gören modellemedir. Bu yapıya göre her nesne bir sınıfa ait ve bu sınıftan türetilir. Çomar bir köpektir. Çomar nesne,köpek bunun sınıfıdır. Bu yaklaşımda kullanılabilecek bazı diller : Java,C# Yapısal Programlama Amaç problemi alt parçalara bölerek bu parçaların çözümlerinin birleştirilmesidir. Bu yönüyle parçala fethet (Divide and conquere) yaklaşımı olarak kabul edilebilir. Bu yaklaşımda kullanılabilecek bazı diller : Java,C Emirli Programlama Bir programlama dilindeki komutların satır satır emirlerden

3 oluşmasıdır. Örneğin bir robota komut verecek olsaydık: Kolu 10 derece sağa döndür 2 metre yürü Kolu 20 derece sola döndür gibi emir komutlarıyla oluşan yaklaşımdır. Bu yaklaşımda kullanılabilecek bazı diller : Fortran,C Otomat Yönelimli Programlama Kaynağını otomatlar (automata) dan alır ve sonlu durum makinaları (finite state machine, FSM) ile tasarlanan bir makinanın kodlanmasını hedefler. C dilindeki switchlerin dallanması gibi düşünülebilir. Bu yaklaşımda kullanılabilecek bazı diller : Visual Basic,C Programlama Dilleri Türleri 3 e ayrılır. Düşük Seviyeli Diller Kullanılan donanımdaki en temel işlemler yapmayı kullanılır.eskisine oranla kullanımı cok düşmüştür.makine koduna en yakın dillerdir. Örnek olarak Assembly verilebilir. Orta Seviyeli Diller Esnek yapıdadırlar.hem düşük hemde yüksek seviyeli programlama yapabilir. Günümüzde kullandığımız işletim sistemleri çoğunlukla C de yazılmıştır. Örnek olarak C verilebilir. Yüksek Seviyeli Diller İnsan diline en yakın seviyedeki dillerdir.belirli bir

4 fonksiyon üzerinde çalışırlar,bu kısıtlama programlama hakimiyetini azaltır.en kolay öğrenilecek diller bu seviyede olur.en etkin ve hızlı programlama bu seviyededir. Örnek olarak Java,C#,Basic verilebilir. Dil Türleri arasındaki farklar Düşük seviyedeki diller, güçlüdür, hakimiyet en üst seviyededir ve programın çalışması diğer seviyelere göre hızlıdır. Eksi yönleri ise kod yazımı,anlaşılması ve öğrenimi zordur. Programın geliştirilmesi uzun zaman alır. Yüksek seviyedeki diller, öğrenimi ve anlaşılması kolaydır. Kod yazımı ve düzenlemesi hızlıdır. Eksi yönleri ise, programın çalışması diğer seviyelere göre yavaş ve hakimiyeti kısıtlıdır. Orta seviyedeki diller, iki türün ortasıdır. Bunun için kullanılan bir denklem vardır : Düşük seviye = Uzun geliştirme süresi + Hızlı çalıştırma Yüksek seviye = Kısa geliştirme süresi+ Yavaş çalıştırma Orta seviye ikisinin arasında. Programlama Dilleri Kronolojisi Hepsini eklemek mümkün değil ama önemli ve bu sektörde çalışan çoğu kişinin de haberdar olduğu dilleri yazarsak eğer : Grace Hooper 1951 yılında A-0 adında ilk derleyiciyi tasarlıyor. İlk Nesne yönelimli dil olan Simula ortaya çıkıyor. C dili Dennis Ritchie ve Ken Thompson tarafından geliştiriliyor. Daha önce UNIX OS u ve B dilini de

5 yazarken calışmışlardı. Sistem programcılığında,kernellarda kullanılır. C++ dili günümüzde oyun yapılırken veya görüntü işleme yapılırken kullanılır. Perl ise metin işleme ve görüntü tanıma üzerinde ciddi güçlü olan dildir. Python dili Data Science, Veri Madenciliği, gömülü donanımlarda kullanılır. Java dili genel amaçlı kullanım, sistem programcılığında, bilim ve mühendislik gibi birçok alanda kullanılır. PHP dili web programcılığından genel amaçlı kullanıma kadar geniş bir yelpazesi vardır. Javascript de aynı PHP gibi webte kullanılır, yorumlanmayan browser üzerinde çalışan bir dildir. C#, MS tarafından OOP olarak tasarlanan bir dildir. MS ve.net framework olmadan çalışmaz. MS ürün ve yazılımlarında kullanılır. Go, Google tarafından geliştirilmiştir. Öbür dillerinin popülarite artışına göre çok çok hızlı popüler olup kullanımı artmıştır.sistem programlamada, webte kullanılmaktadır. Swift, Apple tarafından Objective-C nin yerini alması için geliştirilen dildir. Apple ürünlerinde kullanılır. Programlama öğrenilirken neler bilinmeli? İngilizce bilmek Seçeceğiniz alanı belirlemek (Web,Mobil,Sistem,Sunucu ) Seçtiğiniz alan ve dillerde önemli işler başarmış veya paylaşımlar yapan insanların projelerinin takip edilmesi Açık kaynaklı olan projelerdeki kodların, düzenlerin,

6 sistematiklerin daima takip edilmesi Alanlarına göre Programlama Dilleri Mobil Web Desktop Oyun ios içinse Swift veya Objective-C Android ise Kotlin, Java, C# Front-end için HTML başta olmak üzere CSS, Javascript.. Back-end için PHP, ASP.NET ve C#, (Frameworkler sayesinde de yapılabilir Ruby on Rails,Django gibi) Windows ise C#,.NET kullanan diller, C++, Java.. Tüm ortamlarda çalışanlar için Java, Python, HTML5.. Grafik kütüphaneleri için uğraşacaksanız C Oyun motorlarıyla gelişticekseniz C#, C++.. Elektronik Cihazlar C, Assembly, Python Yapay Zeka Haskell, Scala, Prolog

7 Programlamayı nerelerden öğrenebilirim? Online eğitim veya kurs veren siteler Codecademy, W3schools, Udemy, Coursera. Programlama kitapları C#, Java için Deitel ın kitapları, Dikeyeksen yayınevi kitapları. Programlama kursları Bilge Adam,belediye meslek eğitim kurumları gibi kurumlar. Bilişim dünyasındakilerin eğlendiği dil : Brainfuck 1993 yılında Urban Mülller tarafından üretilen bu dilin asıl çıkış amacı mümkün olan en küçük boyutlu derleyiciyi yapmaktı. Sonraları programcıların kendi sınırlarını zorlayıp eğlendiği bir dile dönüşmüştür. Turing-Complete bir dil olduğundan teoride herhangi bir algoritma bu dilde yazılıp işlenebiliyor. Brainfuck, sekiz komut karakteri +-<>[],. haricindeki tüm karakterleri yok sayar. Bu nedenle (eklenecek yorum, komut karakterleri içermediği sürece) koda yorum eklemek için özel bir söz dizimine ihtiyaç yoktur. Komut Anlamı > İşaretçiyi bir sonraki hücreye kaydır

8 < +., [ ] İşaretçiyi bir önceki hücreye kaydır İşaretçinin bulunduğu hücredeki baytı 1 arttır. İşaretçinin bulunduğu hücredeki baytı 1 azalt. İşaretçinin bulunduğu hücredeki baytı standart çıktı birimine yaz. Standart girdi biriminden bir baytlık girdi al ve bunu işaretçinin bulunduğu hücreye yaz. Eğer işaretçinin bulunduğu hücrenin değeri sıfırsa, ] karakterinden sonraki komuta atla. Eğer işaretçinin bulunduğu hücrenin değeri sıfır değilse, önceki [ karakterinden bir sonraki komuta atla. Brainfuck dilinde Hello World örneği [crayon-5c41844a8d /] Programlama Dillerinin Popülaritesi Google indexlerine göre son bir yıl içindeki popülarite tablosu

9 Bu tabloyu göstermenin sebebi eğitim için çoğunlukla Google Search ün kullanılması ve diller üzerinde eğitim veren siteleri indexleri olduğu için. Java en popüler dilken,son 5 yılda en çok popülerleşen Python ve en çok popülarite kaybeden PHP dir aynı zamanda. Bütün internet indexlerine göre son bir yıl içerisindeki popülarite tablosu Ekim 2017 Ekim 2016 Diller Reytingleri Değişim yüzdesi Java 12.43% -6.37% C 8.37% -1.46% C % -0.79% C# 3.85% -0.51% Python 3.80% +0.03% Javascript 3.01% +0.26% PHP 2.79% +0.05%

10 8. 8. Visual Basic 2.73% +0.08% Assembly 2.37% +0.14% Ruby 2.32% +0.32% Assembly ve Ruby yükselişteyken, Java ciddi derecede kan kaybetmiştir. Referanslar : ing-language/ Dil degistiren adam 3. tml Tarihçe kisminda kullanilan kaynak 4. nin+tarihçesi /algoritma-algorithm/ /yapisal-programlama-structured-programming/ /fonksiyonel-programlama-procedural-programmingfunctional-programming/ /nesne-yonelimli-programlama-object-orientedprogramming/ /emirli-programlama-imperative-programming/ /otomat-yonelimli-programlama-automata-basedprogramming level-language-whats-the-difference ticles/txt/html/article_programmingandlanguage.html nguages

11 14. / _Sharp_hakkinda_temel_bilgiler liyim-infografik amlama-dili-nerede-kullanilir-yeni-baslayanlaratavsiyeler-nelerdir pcgvkaweub3jnl3dpa2kvqnjhaw5mdwnr Naive Bayes Sınıflandırıcısı Basit haliyle bir sınıflandırma-kategorilendirme algoritmasıdır. İsmini 17.yy da yaşamış Thomas Bayes adında bir matematikçiden alır. Verilerin sınıflandırılmasından daha çok nasıl sınıflandırıldığı önemlidir bu algoritmada. En sade hali ile bir olayın herhangi bir kategoriye ait olmasinin olasılığını hesaplamada kullanilir. En önemli kuralı niteliklerin birbirinden bağımsız olduğudur çünkü nitelikler birbirini etkiliyorsa burada olasılık hesabı zordur.niteliklerinin hepsinin aynı derecede önemli olduğu kabul edilir. Sonucun çıkma olasılığı o sonuca etkiyen tüm niteliklerin olasılıklarının çarpımıdır.

12 Koşullu Olasılık ve Naive Bayes Olasılık Gösterimi Naive Bayes teoremine girmeden önce koşullu olasılık kavramını anlamak gerekir. Koşullu olasılık ise daha önce olmuş bir olaya bakarak bir sonraki olayın gerçekleşme olasılığını bulur. Örneğin bir demokrat senatörün kadın olma olasılığını hesaplayalım. Bir senatör ya demokrat ya da cumhuriyetçi olabiliyor. Yani demokrat olma olasılığı 1/2. Bir insan da erkek veya kadın olabildiğine göre 1/2 olasılığımızda buradan gelir. Sonuçları çarptığımızda da cevabımız olan 1/4 ü elde etmiş oluruz. Naive Bayes için kullanacağımız formül ise P ( A B )= P ( B A ) x P(A) / P(B) yani B olayı gerçekleştiğinde A nın olma olasılığı demektir. Açıklamalı hali ise : (Kategorinin olma olasılığı * elimizdeki niteliklerin olma olasılığı) / küme sayısı). Naive Bayes in tam olarak nasıl kullanıldığına bir örnekle bakalım. Günler Hava Durumu Sıcaklık Nem Oranı Rüzgar Şiddeti Tenis oynanıyor mu? 1.Gün Güneşli Sıcak Yüksek Zayıf Hayır 2.Gün Güneşli Sıcak Yüksek Güçlü Hayır 3.Gün Bulutlu Sıcak Yüksek Zayıf Evet 4.Gün Yağmurlu Ilık Yüksek Zayıf Evet 5.Gün Yağmurlu Soğuk Normal Zayıf Evet 6.Gün Yağmurlu Soğuk Normal Güçlü Hayır 7.Gün Bulutlu Soğuk Normal Güçlü Evet 8.Gün Güneşli Ilık Yüksek Zayıf Hayır 9.Gün Güneşli Soğuk Normal Zayıf Evet 10.Gün Yağmurlu Ilık Normal Zayıf Evet 11.Gün Güneşli Ilık Normal Güçlü Evet 12.Gün Bulutlu Ilık Yüksek Güçlü Evet

13 13.Gün Bulutlu Sıcak Normal Zayıf Evet 14.Gün Yağmurlu Ilık Yüksek Güçlü Hayır Bizden istenen koşullar şunlar : 15.günde ; Hava durumu : Güneşli Sıcaklık : Soğuk Nem : Yüksek Rüzgar : Güçlü Tenis oynanıyor mu : Evet İşlemleri yaparken her niteliğin kendi olasılık kümesinin büyüklüğüne bölündüğüne dikkat etmeliyiz. Önce toplam sayılarımızı yazalım. Toplam veri sayısı : 14 Toplam Evet sayısı : 9 Toplam Hayır sayısı : 5 Evet çıkma olasılığı P(y) = 9/14 x 2/9 x 3/9 x 3/9 x 3/9 = 0,0053 Hayır çıkma olasılığı P(n) = 5/14 x 3/5 x 1/5 x 4/5 x 3/5 = 0,0205 Yani tenis oynanmama olasılığı daha yüksek. Örneğin Weka Üzerinde Gösterimi

14 Şekil 1. Datasetimiz

15

16

17

18 Ve sonucumuz karşımıza çıkıyor. Sıfır-Frekans (Zero Frequency) Nedir? Yani kayıtlarımız arasında 0 olsaydı? Burada Laplace Correction yöntemini kullanarak sorunu çözeriz. Her değere 0-1 arasında bir değer eklenerek bu sorun çözülüyor ve bu sorunun sonucuna pek etki etmeyecektir yani çok değiştirmeyecektir. Bununla ilgili Sadi Evren Şeker in videosunda bahsettiği kısmı buraya tıklayarak izleyebilirsiniz.

19 Naive Bayes günlük yaşantımızda nerelerde kullanılıyor? Makine öğrenmesindeki temel sınıflandırıcılardandır. Spam filtrelemede çoğunlukla kullanılır. Robotik çalışmalar,görüntü işleme,veri Madenciliği,Metin ayrıştırılması ve Ürün sınıflandırma gibi alanlarda kullanılır. Naive Bayes in Avantajları ve Dezavantajları Avantajları Nispeten de olsa kolay anlaşılabilir ve yapılandırılabilir. Küçük bir veri kümesiyle bile kolayca eğitilir yapıdadır. Rakiplerine göre hızlı çalışır. Dezavantajları Her niteliğin birbirinden bağımsız olduğunu kabul eder ama bu her durum karşısında geçerli değildir. Değişkenler arası ilişki gösterilemiyor. Referanslar : /naif-bayes-siniflandiricisi-naive-bayes/ oritmasi/ goritmas.html 7.

20 8. yazilimcorbasi.blogspot.com.tr/2012/02/naive-bayesclassifier.html 9. planation-of-naive-bayes-classification 10. Veri Madenciliği Yöntemleri by Dr. Yalçın Özkan sf bayes-classifier/ XUUnJQwxrZq/wiki/Naive_Bayes_sınıflandırıcı.html Tarak Sıralama Algoritması(Comb Sort) Comb Sort yani Tarak Sıralaması adından da anlaşılacağı gibi karşılaştırmalı bir sıralama algoritmasıdır. Aslına bakarsak kabarcık sıralaması ile hızlı sıralama karışımı diyebiliriz.nisan 1991 de Stephen Lacey ve Richard Box tarafından duyurulmuştur. Tarak sıralaması tıpkı kendisi gibi karşılaştırmalı bir sıralama algoritması olan Kabarcık sıralamasından daha iyidir. Kabarcık sıralamasında sayılar bir yanındaki sayı ile karşılaştırılır ve ona göre yer değişimi

21 yapılır.karşılaştırma mesafesi 1 dir. Tarak sıralaması da aynı bu mantıkla çalışır ama yer değişimi yanındaki sayılar ile değilde daha uzaktaki sayılar ile yapılır.bu uzaklık büyük bir sayı ile başlar ve her seferinde shrink factor dediğimiz çoğunlukla daha kolay olsun diye 1.3 e yuvarlanır- sayısı oranınca ta ki algoritma basitçe kabarcık sıralamadaki uzaklığa yani 1 olana kadar küçültülür. Tarak sıralamasının bu şekilde olmasının ana fikri ise listenin sonundaki küçük değerli öğeleri önce bularak listeden çıkarıp daha hızlı çalışmaktır. Kabarcık sıralamanın en büyük sorunu listenin sonunda olan küçük sayıları bulması için çok zaman harcamasıdır. Tarak sıralaması ile daha hızlı sonuç elde edilir. Aşağıdaki gibi bir dizimiz olduğunu varsayalım ve küçükten büyüğe doğru sıralamaya çalışalım. İşte başlıyoruz İlk önce dizinin boyutunun shrink factor dediğimiz sayısına bölünmesi gerekir biz yuvarlayıp 1.3 sayısına böleceğiz. Bölümün tam kısmını alırız. 5/1,3 = 3,8. Tam kısmı 3. İlk elemanı seçeriz ve 3 fazlası olan eleman ile karşılaştırırız. Sonra ikinci elemanı seçeriz ve +3 fazlası olan eleman ile

22 karşılaştırırız. Ardından üçüncü elemanı seçeriz. +3 fazlası dizinin uzunluğunu aştığı için işlem yapılamaz. Boşluk sayısını tekrar 1,3 e böler ve tam kısmını alırız. 3 / 1,3 = 2,3 Tam kısmı 2 olarak alırız. Birinci elemanı seçer ve +2 fazlası olan elemanla karşılaştırırız. İkinci elemanı seçeriz ve +2 fazlası olan elemanla karşılaştırırız. Sonra diğer elemanları seçer +2 fazlası olan elemanlar ile dizinin sonuna kadar karşılaştırırız.

23 Dizinin sonuna geldiğimizde tekrar boşluk sayısını 1,3 e böleriz.. 2 / 1,3 = 1,5 tam kısmı alırız. 1. elemanı seçer ve 1 fazlası olan yani bir sonraki elemanla karşılaştırırız.sonra ikinci elemanı sonraki elemanla. Diğer elemanları da bir sonraki elemanlarla karşılaştırırız.

24 Ve nihayetinde dizimiz sıralanmış olur. [crayon-5c41844a8e67c /] Hazırlayan: Ömer Koyuncu Kaynakça:

25 C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım tablosu yapan programa kadar karşımıza çok sık çıkan bazı algoritmalardan bahsedeceğiz. Önce akış şeması ile programın algoritmasını ardından C++ kodunu ve en son olarak programın ekran çıktısını vereceğiz. Tek-Çift Sayı Bulma Girilen bir sayının tek veya çift olduğuna dair karar vermenin en basit yolu sayıyı 2 ye bölmek ve bölümden kalan sayının 0 a eşit olup olmadığına bakmaktır. Yani sayının 2 ye göre modunu aldığımızda sonuç 0 ise sayı çift eğer değilse tektir. Şimdi algoritmayı akış şeması ile gösterelim [crayon-5c41844a8f /]

26 Tam Bölünebilirliği Ölçme Bu algoritmanın amacı kullanıcıdan alınan 2 sayıdan ilk sayının ikinci sayıya tam bölünüp bölünmediğine karar vermektir. Bu algoritmada da mod kavramını kullanacağız. Yani ilk sayı ikinci sayıya tam bölünürse mod=0 olacaktır. [crayon-5c41844a8f21b /]

27 Çarpım Tablosu Yazdırma Çarpım tablosunda 1 den 10 a kadar tüm sayıları sırasıyla birbirleri ile çarpıp ekrana yazacağız. Önce x=1 yazılır 1 den 10 a kadar olan y değerleri ile çarpılır. Bu şekilde x tek tek arttırılarak x=10 olana kadar devam eder. Bunun için iç içe for döngüsü kullanacağız.

28 [crayon-5c41844a8f22e /]

29 En Büyük Sayı Bulma Kullanıcının girdiği N kadar sayının en büyüğünü bulmak için en büyük sayıyı saklayacağımız enbuyuk isimli değişken bir de sayac tanımlamalıyız ve kullanıcıdan N adet sayı almalıyız. Daha sonra program girilen sayı ile daha önceki en büyük sayıyı karşılaştırır eğer yeni sayı daha büyükse yer değiştirir. Böylece en büyük sayı her zaman enbuyuk değişkeninde saklanmış olur. [crayon-5c41844a8f23c /]

30 Asal Sayı Belirleme Asal sayı demek 1 ve kendisinden başka sayıya bölünemeyen sayı demektir. Bir sayının asal olup olmadığını bulmak için sayıyı 1 ve kendisi hariç, kendisinden önceki tüm sayılara bölünüp bölünemeyeceğini kontrol etmeliyiz. Eğer sayı kendisinden önceki bir sayıya tam bölünürse sayımızın asal olmadığını anlarız.

31 [crayon-5c41844a8f24f /]

32 Rastgele Sayı Üretme Sayısal lotoda 1 den 49 a kadar 6 farklı sayı gereklidir. Bu algoritmada da kendi sayısal lotomuz için 1-49 arası birbirinden farklı 6 sayı üreteceğiz. C++ dilinde rastgele sayı üretmek için rand() ve her üretimde farklı sayı elde etmek için srand(time(null) ifadesini kullanacağız. time(null) kullanabilmek için <ctime> kütüphanesini eklememiz gerekiyor. [crayon-5c41844a8f /] Üçgen Alanı Hesaplama Üçgenin alanını önce taban ile yüksekliği çarparız sonra sonucu ikiye bölerek buluruz. Yani formülümüz (a*h)/2 dir.

33 [crayon-5c41844a8f /] Daire Alan Hesaplama İşlemleri Dairenin alanı pi sayısını verilen yarıçapın karesi ile çarparak bulunuz yani formülü pi*r*r dir. Eğer dairenin tamamı değilde bir diliminin alanı istenirse. O dilimin a açısına ihtiyaç vardır. Bu sefer alan formülümüz a*pi*r*r/360 olur.

34 [crayon-5c41844a8f /] Kombinasyon Hesaplama N elemanlı bir kümenin r li kombinasyonu C(n,r)n!/r!(n-r)! formülü ile hesaplanır. Burada bir kaç tane faktöriyel işlemi olduğu için gerektiğinde kullanmak üzere bir faktöriyel fonksiyonu yazmak faydalı olur.

35 [crayon-5c41844a8f /] Fibonacci Sayı Serisini Yazdırma Fibonacci sayıları 0,1,1,2,3 şeklinde başlayarak her eleman önceki iki sayının toplamı olarak devam eder. Fibonacci dizisinin ilk N terimini yazdıran algoritma şu şekildedir:

36 [crayon-5c41844a8f2ac /]

37 Girilen Kelimenin Tersten Yazılması Bu algoritmada string veri tipinin bize sunduğu dizi özelliği için dizinin elemanlarını sondan başak yazdıracağız.

38 [crayon-5c41844a8f2bd /] Herkese İyi Kodlamalar Hazırlayan: Ömer KOYUNCU Bu yazı Fahrettin Erdinç in Mühendislik Öğrencileri İçin Temel Kılavuz C / C++ adlı kitabı referans alınarak hazırlanmıştır. Kaynakça: ERDİNÇ Fahrettin, Mühendislik Öğrencileri İçin Temel Kılavuz C / C++, Abaküs Kitap, İstanbul, 2016

39 Algoritma ve Akış Şemaları Algoritma : Bir sorunu çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı düzenli mantıksal adımlara algoritma denir. Algoritma aslında bir işi optimum düzeye minimize ederek en iyi şekilde çalıştırmayıda amaçlar. Algoritmanın başlangıcı ve bitişi belli olmalıdır. Açık ve anlaşılır olmalıdır. Günlük yaşantımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Örneğin ; Algoritma Örneği 1 : /* Otobüse binme algoritması tasarlayınız. (BURDUR için) */ A1: Başla A2: Evden çıkmak için hazırlan A3: Evden çık A4: Durağa yürü A5: Durakta otobüsü bekle A6: Eğer otobüs durağa geldiyse bin değilse beklemeye devam et A7: Eğer kartında para var ise kartını okut değilse ücreti nakit olarak öde A8: Eğer etrafta boş yer varsa otur değilse ayakta bekle A9: Eğer otobüs durağa yaklaşırsa düğmeye bas değilse bekle A10: Eğer otobüs gideceğin durağa vardıysa in değilse ineceğin yere gitmesini bekle

40 A11: Otobüsten düğmeye bastığın kapıdan in A12: Bitir Algoritma Örneği 2 : /* iki sayının toplamını yapan algoritmayı tasarlayınız. */ A1: Başla A2: a,b,sonuc Oku A3: sonuc = a + b ; A4: sonuc u yaz A5: Bitir Algoritma Örneği 3 : /*Dışarıdan okunan iki sayıdan büyük olanının tek sayı mı, çift sayı mı olduğunu belirleyen bir işin algoritmasını tasarlayınız*/ A1:Başla A2:a,b Oku A3:Eğer a>b ise A4 git, Değilse A5 ya git A4:Eğer a%2==0 ise cift yaz, Değilse tek yaz A5:Eğer b%2==0 ise cift yaz, Değilse tek yaz A6:Bitir Algoritma Örneği 4 : /* Hesap makinesi algoritmasını tasarlayınız. */ A1: Başla A2: a,b,toplama,cikarma,bolme,carpma Oku

41 A3: toplama = a + b A4: cikarma = a b A5: carpma = a * b A6: bolme = a / b A7: toplama Yaz A8: cikarma Yaz A9: carpma Yaz A10: bolme Yaz A11: Bitir Algoritma Kriterleri: Etkinlik Anlaşılır, basit, kesin olmalı Sonluluk Başla bitiş noktası olmalı Kesinlik Aynı veri için her yeni çalıştırımda aynı sonucu vermeli Giriş/Çıkış Giriş / Çıkış değerleri olmalı Başarım/Performans Çalışma süresi az başarım ve performansı yüksek olmalı Algoritma 2 şekilde ifade edilir; Metin olarak Pseudo Code (Kaba Kod) olarak Sonuç olarak algoritmayı hayatımızın bir parçası olarak kullanmaktayız. Yaptığımız işler düzenli ve sıralı olarak mantık çerçevesinde yapmaktayız. Algoritmayı da tasarlarken amacınız basit, anlaşılabilir, düzenli, sıralı bir algoritma

42 yapmaktır. Akış Şeması Akış şemaları algoritmalarda verilen her adımın görsel olarak anlatılması amacıyla kullanılan yöntemlerden birisidir. Başla : Programın nereden başlayacağını belirtir. Dur/Bitir : Programın nerede sonlanacağını gösterir. Giriş Simgeleri : Klavye, kart okuyucu gibi birimler üzerinden program içerisine veri/bilgi aktarmak için kullanılır. Çeşitli giriş simgeleri vardır. Çıkış Simgeleri : Ekranda göstermek, yazıcıdan kağıda çıkış almak gibi işlemlerde kullanılır. İşlem Simgesi : Dikdörtgen şeklindeki simgenin içine yapılacak işlemler yazılır. Karşılaştırma Simgesi : Koşullu ifade simgesidir. Koşula göre farklı işlem yapılacağı zaman kullanılır. Simgenin içine koşul yazılır ve evet ve hayır olmak üzere 2 yöne dallanır. Döngü Simgesi : Belirli bir grup işin birden çok sayıda yinelenmesi gerektiğinde kullanılır. Yapılacak işlem simgenin içine yazılır. Fonksiyon Çağırma : Daha önce yazılmış algoritmaların, o andaki algoritmanın içerisine koyulmadan kullanılması için kullanılır. Dosyayı Saklama Simgeleri : Elde edilen bilgi cd, bellek, harddisk gibi saklama birimlerinde saklanması veya daha önceden saklanmış birimleri okunması için kullanılır. Akış Yönü : Bir işlem bittikten sonra program akışının nereye dallanacağını belirtir.

43 Bağlantı Simgeleri : Akış şema çizimi yapılırken sayfaya sığmazsa çizimin başka bir yerden devam edilmesi için kullanılır. İlk C dersimizde görüşmek üzere Yazar : Ömer Can Eskicioğlu

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

Programlama Dillerinin Tarihçesi

Programlama Dillerinin Tarihçesi Programlama Dilleri Programlama dillerine girmeden önce algoritma nedir öncelikle onu öğrenelim. Algoritma,bir sorunu çözmede kullanılacak kuralların sıralı listesi olarak açıklanabilir. Programlama dili

Detaylı

C++ Dilinde Bazı Temel Algoritmalar

C++ Dilinde Bazı Temel Algoritmalar C++ Dilinde Bazı Temel Algoritmalar Bazı eşyalar için her eve lazım derler. Az sonra bahsedeceğimiz algoritmalar da her kodcuya lazım cinsten. Sayının tek mi çift mi olduğuna karar veren programdan, çarpım

Detaylı

Algoritma ve Akış Şemaları

Algoritma ve Akış Şemaları Algoritma ve Akış Şemaları Algoritma : Bir sorunu çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı düzenli mantıksal adımlara algoritma denir. Algoritma aslında bir işi optimum düzeye minimize

Detaylı

ANDROİD STUDİO APK İMZALAMA VE İMZA OLUŞTURMA

ANDROİD STUDİO APK İMZALAMA VE İMZA OLUŞTURMA ANDROİD STUDİO APK İMZALAMA VE İMZA OLUŞTURMA APK NEDİR? Android Package Kit sözcüklerinin kısaltılmışıdır.apk,android uygulamalarını dağıtmakta ve yüklemekte kullanılan bir formattır. APK dosyası, cihazınızda

Detaylı

2. Dereceden Denklemin Köklerini Bulan Program

2. Dereceden Denklemin Köklerini Bulan Program 2. Dereceden Denklemin Köklerini Bulan Program [crayon-5bb74e5b18b15225541464/] C++ 2.dereceden denklemin köklerini bulan program [crayon-5bb74e5b18b25989362529/] ÇIKTI; C++ 2. dereceden denklemin köklerini

Detaylı

Akış Şeması (Flowchart) nedir? C Programlamaya giriş için yol haritası

Akış Şeması (Flowchart) nedir? C Programlamaya giriş için yol haritası Akış Şeması (Flowchart) nedir? Akış Şeması (Flowchart) nedir? Algoritma nedir? Algoritma nedir? C Programlamaya giriş için yol haritası C programlamaya başlangıç için tavsiye edilen yol haritası aşağıdaki

Detaylı

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2

BİLİŞİM TEKNOLOJİLERİ 6. SINIF DERS NOTLARI 2 PROGRAMLAMA Bir problemin çözümü için belirli kurallar ve adımlar çerçevesinde bilgisayar ortamında hazırlanan komutlar dizisine programlama denir. Programlama Dili: Bir programın yazılabilmesi için kendine

Detaylı

PROGRAMLAMAYA GİRİŞ DERS NOTLARI

PROGRAMLAMAYA GİRİŞ DERS NOTLARI PROGRAMLAMAYA GİRİŞ DERS NOTLARI PROGRAM Bilgisayar en basit olarak üç ana görevi yerine getiren bir makinedir. Girilen bilgiyi alır (INPUT), işler (PROCESSING) ve bu işlenmiş veriden bir sonuç (OUTPUT)

Detaylı

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta Yük. Müh. Köksal GÜNDOĞDU 1 Akış Diyagramları ve Sözde Kodlar Yük. Müh. Köksal GÜNDOĞDU 2 Sözde Kodlar (pseudo-code) Yük. Müh. Köksal GÜNDOĞDU 3 Sözde Kod Sözde

Detaylı

Bilgisayar Programlama. 1.Hafta

Bilgisayar Programlama. 1.Hafta Bilgisayar Programlama 1.Hafta Ders Planı 1. Bilgisayar Programlamaya Giriş 2. C Derleyicileri 3. GCC Kullanımı 4. Veri Tipleri ve Operatörler 5. Kontrol Yapıları 6. Döngüler 7. Döngüler 2. Hafta 8. Fonksiyonlar

Detaylı

Algoritmalar ve Programlama. Algoritma

Algoritmalar ve Programlama. Algoritma Algoritmalar ve Programlama Algoritma Algoritma Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü

Detaylı

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları

BİLGİSAYAR PROGRAMLAMA. Algoritma ve Akış Şemaları BİLGİSAYAR PROGRAMLAMA Algoritma ve Akış Şemaları Algoritma tanımı Algoritma özellikleri Algoritma tasarımı Akış şemaları Dallanma simgeleri Döngü simgeleri Akış şeması tasarımı Akış şeması örnekleri Konu

Detaylı

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

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK PROGRAMLAMAYA GİRİŞ VE ALGORİTMA «YTÜROK» EĞİTMEN:REHA ÖZGÜR ŞİMŞEK Giriş-Tanımlamalar Program Nedir? Tanımlanmış bir problemi bilgisayar ortamında çözen ürüne program denir. Programlama Nedir? Tanımlanmış

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir 1 Akış diyagramları

Detaylı

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.)

ALGORİTMA NEDİR? (Adım adım işlem basamaklarının yazılmasıdır.) PROGRAM YAZMAK SÜRECİ 1. Problemin farkına varmak, 2. Problemi analiz etmek, 3. Çözüm yolları düşünmek, 4. İyi çözüm yolları seçip algoritma oluşturmak, 5. Akış diyagramı çizmek, 6. Uygun bir dilde kodlamak,

Detaylı

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir.

Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir. Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklara PROBLEM denir. Bu durumda bireylerin ortaya çıkan olumsuzluklara karşılık çözüm bulmak için yapacakları mücadeleye de PROBLEM

Detaylı

Genel Programlama I

Genel Programlama I Genel Programlama I 30.09.2010 1 Genel Programlama I Ders İçeriği Programlamaya giriş ve algoritma kavramları Basit ve karmaşık veri tipleri Program kontrol komutları (Döngü ve şart yapıları) Diziler ve

Detaylı

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Algoritma ve Programlamaya Giriş Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Güncellenme tarihi: 13.03.2017 Yazılım nedir? Donanım birimlerini istenen işleme

Detaylı

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma

TEMEL BİLGİSAYAR BİLİMLERİ. Programcılık, problem çözme ve algoritma oluşturma TEMEL BİLGİSAYAR BİLİMLERİ Programcılık, problem çözme ve algoritma oluşturma Programcılık, program çözme ve algoritma Program: Bilgisayara bir işlemi yaptırmak için yazılan komutlar dizisinin bütünü veya

Detaylı

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI

MAK 1005 Bilgisayar Programlamaya Giriş. BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI MAK 1005 Bilgisayar Programlamaya Giriş Uludağ Üniversitesi, Mühendislik Fakültesi Makine Mühendisliği Bölümü BİLGİSAYARA GİRİŞ ve ALGORİTMA KAVRAMI Prof. Dr. Necmettin Kaya 1 KONULAR 1. Bilgisayara giriş,

Detaylı

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.

Örnek bir Algoritma. Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır. Örnek bir Algoritma Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır. Çözüm 1: 1. Evden dışarıya çık 2. Otobüs durağına yürü 3. Durakta

Detaylı

Algoritma ve Programlamaya Giriş

Algoritma ve Programlamaya Giriş Algoritma ve Programlamaya Giriş Algoritma Bir sorunu çözebilmek için gerekli olan sıralı ve mantıksal adımların tümüne Algoritma denir. Doğal dil ile yazılabilir. Fazlaca formal değildir. Bir algoritmada

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod)

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 3 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Algoritma Geliştirmek, Satır Kod) Yrd. Doç. Dr. İbrahim Küçükkoç Web: ikucukkoc.baun.edu.tr

Detaylı

Algoritma ve Akış Diyagramları

Algoritma ve Akış Diyagramları Algoritma ve Akış Diyagramları Bir problemin çözümüne ulaşabilmek için izlenecek ardışık mantık ve işlem dizisine ALGORİTMA, algoritmanın çizimsel gösterimine ise AKIŞ DİYAGRAMI adı verilir. 1 Akış diyagramları

Detaylı

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME PROGRAMLAMAYA GİRİŞ VE ALGORİTMA Yazılım Nedir Algoritma Akış Seması Örnekler Yazılım Nedir? Çeşitli görevleri gerçekleştirmek amacıyla hazırlanmış programlara

Detaylı

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI

2 ALGORİTMA VE AKIŞ DİYAGRAMLARI İÇİNDEKİLER IX İÇİNDEKİLER 1 GİRİŞ 1 Kitabın Amacı 1 Algoritmanın Önemi 2 Bilgisayarın Doğuşu ve Kullanım Amaçları 3 Programlama Dili Nedir? 3 Entegre Geliştirme Ortamı (IDE) Nedir? 4 2 ALGORİTMA VE AKIŞ

Detaylı

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI

GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI GÖRSEL PROGRALAMA HAFTA 3 ALGORİTMA VE AKIŞ DİYAGRAMLARI DERS İÇERİĞİ Algoritma nedir? Akış Diyagramı nedir? Örnek Uygulama ALGORİTMA Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki

Detaylı

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ

GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ GÜMÜŞHANE ÜNĐVERSĐTESĐ MÜHENDĐSLĐK VE DOĞA BĐLĐMLERĐ FAKÜLTESĐ ELEKTRĐK-ELEKTRONĐK MÜHENDĐSLĐĞĐ EEM 114 ALGORĐTMA TASARIMI VE PROGRAMLAMA DĐLLERĐ DERS 1 PROGRAM GELĐŞTĐRME PROGRAM GELĐŞTĐRME VERĐ ĐŞLEME(DATA

Detaylı

Bilgisayar Programlama Dilleri

Bilgisayar Programlama Dilleri Bilgisayar Programlama Dilleri Ömer YÜCEL 13253072 1/32 Sunum İçeriği 1. Program ve Programlama Dili Nedir? 2. Programlama Dillerinin Tarihçesi 3. Programlama Dillerinin Sınıflandırılması 4. Programlama

Detaylı

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü

Algoritma ve Programlamaya Giriş. Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Algoritma ve Programlamaya Giriş Mustafa Kemal Üniversitesi Kırıkhan Meslek Yüksekokulu Bilgisayar Teknolojileri Bölümü Güncellenme tarihi: 27.02.2017 Yazılım nedir? Donanım birimlerini istenen işleme

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 6 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Temel Algoritma Örnekleri, Genel Uygulamalar) Yrd. Doç. Dr. İbrahim Küçükkoç Web:

Detaylı

Okut. Yüksel YURTAY. İletişim : (264) Sayısal Analiz. Algoritma & Matlab.

Okut. Yüksel YURTAY. İletişim :  (264) Sayısal Analiz. Algoritma & Matlab. Okut. Yüksel YURTAY İletişim : Sayısal Analiz yyurtay@sakarya.edu.tr www.cs.sakarya.edu.tr/yyurtay (264) 295 58 99 Algoritma & Matlab 1 Algoritma Algoritma ; verilerin bilgisayara hangi çevre biriminden

Detaylı

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar EM205 26/9/2014 Programlamaya giriş Algoritmalar Temel kavramlar Algoritmalar Amaçlar Algoritma kavramını öğrenmek, Algoritmaları ifade edebilmek, Temel matematiksel algoritmaları yazabilmek C programlama

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Yazılım, değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik araçların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini

Detaylı

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI YZM 3207- ALGORİTMA ANALİZİ VE TASARIM DERS#1: ALGORİTMA KAVRAMI Algoritma Nedir? Algoritma Bir problemin çözümü için geliştirilmiş özel metot Girdileri çıktılara dönüştüren sıralı hesaplama adımları Tanımlanmış

Detaylı

Akdeniz Üniversitesi

Akdeniz Üniversitesi F. Ders Tanıtım Formu Dersin Adı Öğretim Dili Akdeniz Üniversitesi Bilgi Teknolojileri Kullanımı Türkçe Dersin Verildiği Düzey Ön Lisans ( ) Lisans (x) Yüksek Lisans( ) Doktora( ) Eğitim Öğretim Sistemi

Detaylı

YZM 2105 Nesneye Yönelik Programlama

YZM 2105 Nesneye Yönelik Programlama YZM 2105 Nesneye Yönelik Programlama Yrd. Doç. Dr. Deniz KILINÇ Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Yazılım Mühendisliği 1 BÖLÜM - 2 C# Programlama Dili Örnekler 2 Örnek1:

Detaylı

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir.

ALGORİTMA KAVRAMI. Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. ALGORİTMA KAVRAMI Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların tümüne algoritma denir. Algoritma bir sorunun çözümü için izlenecek yolun tanımıdır.

Detaylı

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay.

PROGRAMLAMAYA GİRİŞ. Öğr. Gör. Ayhan KOÇ. Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay. PROGRAMLAMAYA GİRİŞ Öğr. Gör. Ayhan KOÇ Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Algoritma ve Programlamaya Giriş, Ebubekir YAŞAR, Murathan Yay., 2011

Detaylı

BLG 1306 Temel Bilgisayar Programlama

BLG 1306 Temel Bilgisayar Programlama BLG 1306 Temel Bilgisayar Programlama WEB : mustafabahsi.cbu.edu.tr E-MAIL : mustafa.bahsi@cbu.edu.tr Değişken ve Atama Bilgisayar programı içerisinde ihtiyaç duyulan sembolik bir ifadeyi veya niceliği

Detaylı

BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) Yük. Müh. Köksal GÜNDOĞDU 1 BMT 101 Algoritma ve Programlama I 3. Hafta (Örnekler) Yük. Müh. Köksal GÜNDOĞDU 1 Örnek Uygulamalar Yük. Müh. Köksal GÜNDOĞDU 2 Örnek: Aşağıdaki akış diyagramının sonucunu bulunuz. Yük. Müh. Köksal GÜNDOĞDU

Detaylı

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say

Çoktan Seçmeli Değerlendirme Soruları Akış Şemaları İle Algoritma Geliştirme Örnekleri Giriş 39 1.Gündelik Hayattan Algoritma Örnekleri 39 2.Say İÇİNDEKİLER 1. Bilgisayarın Yapısı Ve Programlama Dilleri Giriş 1 Bilgisayar ve Programlamanın Kısa Bir Tarihçesi 2 Donanım ve Yazılım Kavramları 3 Bilgisayarın Donanımsal yapısı 4 Giriş Birimi (Input

Detaylı

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler

PROGRAMLAMAYA GİRİŞ VE ALGORİTMA. Yazılım Nedir Algoritma Akış Seması Örnekler PROGRAMLAMAYA GİRİŞ VE ALGORİTMA Yazılım Nedir Algoritma Akış Seması Örnekler Yazılım Nedir? Çeşitli görevleri gerçekleştirmek amacıyla hazırlamış programlara yazılım adı verilir. Yazılımlar Her yazılım

Detaylı

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları.

ALGORİTMALAR. Turbo C Bilgisayarda Problem Çözme Adımları. Bilgisayarda Problem Çözme Adımları. Turbo C ++ 3.0 ALGORİTMALAR http://vaibhavweb.tripod.com/others/tc3.zip http://www.top4download.com/turbo-c- /aklqwuba.html 1 2 Bilgisayarda Problem Çözme Adımları Bilgisayarda Problem Çözme Adımları 1-Problemi

Detaylı

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA

ÜNİT E ÜNİTE GİRİŞ. Algoritma Mantığı. Algoritma Özellikleri PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA PROGRAMLAMA TEMELLERİ ÜNİTE 3 ALGORİTMA GİRİŞ Bilgisayarların önemli bir kullanım amacı, veri ve bilgilerin kullanılarak var olan belirli bir problemin çözülmeye çalışılmasıdır. Bunun için, bilgisayarlar

Detaylı

Java, Python ve Ruby Dillerinin Performans Karşılaştırması

Java, Python ve Ruby Dillerinin Performans Karşılaştırması Java, Python ve Ruby Dillerinin Performans Karşılaştırması Çanakkale Onsekiz Mart Üniversitesi Mustafa ŞAHİN Akademik Bilişim 2007 1 Dillerin seçim nedeni Java, Pyton ve Ruby Programlama dillerinin popülerliği

Detaylı

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ

Bilgi ve İletişim Teknolojileri (JFM 102) Ders 10. LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ Ders 10 LINUX OS (Programlama) BİLGİ & İLETİŞİM TEKNOLOJİLERİ GENEL BAKIŞ LINUX de Programlama LINUX işletim sistemi zengin bir programlama ortamı sağlar. Kullanıcılara sistemi geliştirme olanağı sağlar.

Detaylı

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ... ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

Detaylı

BLG 1306 Temel Bilgisayar Programlama

BLG 1306 Temel Bilgisayar Programlama BLG 1306 Temel Bilgisayar Programlama Öğr. Grv. M. Mustafa BAHŞI WEB : mustafabahsi.cbu.edu.tr E-MAIL : mustafa.bahsi@cbu.edu.tr Bilgisayar ile Problem Çözüm Aşamaları Programlama Problem 1- Problemin

Detaylı

2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI 2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI Bilgi BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ (BTY) Türkiye de orta eğitimde bilgisayar eğitimi,

Detaylı

BİLGİSAYAR PROGRAMLAMA MATLAB

BİLGİSAYAR PROGRAMLAMA MATLAB BİLGİSAYAR PROGRAMLAMA MATLAB Arş. Gör. Ahmet ARDAHANLI Kafkas Üniversitesi Mühendislik Fakültesi Ders Bilgileri Dersin Hocası: Araş. Gör. Ahmet Ardahanlı E-posta: ahmet.ardahanli@hotmail.com Oda: DZ-33

Detaylı

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ?

1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? İÇİNDEKİLER VII İÇİNDEKİLER 1 NEDEN PROGRAMLAMA ÖĞRENMELIYIZ? 1 Neden Python? 3 Python Neden Bütün Hacker ların Favori Programlama Dili? 4 Hangi Editörü Kullanmalıyım? 5 Bu Kitabı Nasıl Kullanmayalıyım?

Detaylı

BİLGİSAYAR ORGANİZASYONU

BİLGİSAYAR ORGANİZASYONU BİLGİSAYAR ORGANİZASYONU Donanım Bilgisayarın fiziksel bölümü Monitor, klavye, fare Entegreler, kartlar Kablolar Yazılım: Bilgisayarın mantıksal bölümü Programlar: Bilgisayarın gerçekleştireceği komutlar

Detaylı

C de Detaylı Üs Alma Programı

C de Detaylı Üs Alma Programı C de Detaylı Üs Alma Programı Bu uygulama yazısında C de pow() fonksiyonunu kullanmadan üs hesabı yapan programı yazmaya çalıştım. Başta tanımladığım float tipinde 2 fonksiyon sayesinde + lı ve li üs değerleriyle

Detaylı

Bilgisayar Programlama. Giriş

Bilgisayar Programlama. Giriş Bilgisayar Programlama Giriş Bilgisayar, verileri saklayan, bunlar üzerinde çok hızlı işlem yapan ve istenen verileri sunan bir aygıttır. Donanım (hardware) ve yazılım(software) diye iki bölüme ayrlır.

Detaylı

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan

Tarih Saat Modül Adı Öğretim Üyesi. 01/05/2018 Salı 3 Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan BİLGİ TEKNOLOJİLERİ YÖNETİMİ EĞİTİM MODÜLLERİ Tarih Saat Modül Adı Öğretim Üyesi 01/05/2018 Salı Bilgisayar Bilimlerine Giriş Doç. Dr. Hacer Karacan Bu dersin amacı, bilgisayar bilimlerinin temel kavramlarını

Detaylı

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ

AKIŞ ŞEMASI AKIŞ ŞEMASI AKIŞ ŞEMASI ŞEKİLLERİ GİRİŞ GİRİŞ AKIŞ ŞEMASI Bir önceki ünitede algoritma, bilgisayarda herhangi bir işlem gerçekleştirmeden ya da program yazmaya başlamadan önce gerçekleştirilmesi düşünülen işlemlerin belirli bir mantık ve plan

Detaylı

Bilgisayarda Programlama. Temel Kavramlar

Bilgisayarda Programlama. Temel Kavramlar Bilgisayarda Programlama Temel Kavramlar KAVRAMLAR Programlama, yaşadığımız gerçek dünyadaki problemlere ilişkin çözümlerin bilgisayarın anlayabileceği bir biçime dönüştürülmesi / ifade edilmesidir. Bunu

Detaylı

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım

Yazılım Çeşitleri. Uygulama Yazılımları. İşletim Sistemleri. Donanım Yazılım Yazılım Bilgisayarlar üretildikleri anda içlerinde herhangi bir bilgi barındırmadıkları için bir işlevleri yoktur. Bilgisayarlara belirli yazılımlar yüklenerek işlem yapabilecek hale getirilirler.

Detaylı

BAYES ÖĞRENMESİ BİLECİK ÜNİVERSİTESİ. Araş. Gör. Nesibe YALÇIN. Yapay Zeka-Bayes Öğrenme

BAYES ÖĞRENMESİ BİLECİK ÜNİVERSİTESİ. Araş. Gör. Nesibe YALÇIN. Yapay Zeka-Bayes Öğrenme BAYES ÖĞRENMESİ Araş. Gör. Nesibe YALÇIN BİLECİK ÜNİVERSİTESİ Yapay Zeka-Bayes Öğrenme 1 İÇERİK Bayes Teoremi Bayes Sınıflandırma Örnek Kullanım Alanları Avantajları Dezavantajları Yapay Zeka-Bayes Öğrenme

Detaylı

Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic

Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic Dr. Musa KILIÇ Öğretim Görevlisi http://kisi.deu.edu.tr/musa.kilic BİLGİSAYAR DONANIM Donanım birimleri ekran, klavye, harddisk, ram YAZILIM Yazılımlar ise bilgisayarın donanım yapısını kullanılır hale

Detaylı

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA

İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA İÇERİK PROGRAMLAMAYA GİRİŞ ALGORİTMA AKIŞ DİYAGRAMLARI PROGRAMLAMA DİLLERİ JAVA DİLİNİN YAPISI JAVA DA KULLANILAN VERİ TİPLERİ JAVA DA PROGRAM YAZMA UYGULAMA Örnek: Yandaki algoritmada; klavyeden 3 sayı

Detaylı

1.1. Yazılım Geliştirme Süreci

1.1. Yazılım Geliştirme Süreci Kazanımlar Bu bolümde; Yazılım geliştirme sureci konusunda bilgi sahibi olacak, Yazılım geliştirme surecinde gerekli olan araçları tanıyacak, Python dilinde program geliştirme ortamlarını inceleyebileceksiniz.

Detaylı

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi

Hafta 7 C Programlama Diline Giriş ve C Derleyicisi BLM111 Programlama Dilleri I Hafta 7 C Programlama Diline Giriş ve C Derleyicisi Yrd. Doç. Dr. Caner ÖZCAN C Programlama Dili Tarihçesi C programlama dili 1972 yılında Bell Laboratuarlarında Dennis Ritchie

Detaylı

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1

Bölüm1. İlk Bilgiler ISBN 0-321-49362-1 Bölüm1 İlk Bilgiler ISBN 0-321-49362-1 Bölüm 1 Konuları Niye Programlama Dilleri prensiplerini öğreniyoruz? Programlama alanları Dil değerlendirme kriterleri Dit tasarımına etkiler Dil kategorileri Dil

Detaylı

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir.

ALGORİTMAYA GİRİŞ. Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir. 1 ALGORİTMAYA GİRİŞ Program: Belirli bir işi gerçekleştirmek için gerekli komutlar dizisi olarak tanımlanabilir. Programlama: Bir programı oluşturabilmek için gerekli komutların belirlenmesi ve uygun biçimde

Detaylı

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ 2017-2018 BaharYarıyılı Balıkesir Üniversitesi Endüstri Mühendisliği Bölümü 5 BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ (Çoklu Koşul Yapıları, Sözde Kod, Algoritmalar Arasında Dönüşüm) Yrd. Doç. Dr. İbrahim

Detaylı

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR

BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR Bilgisayar Programı Nedir? Program, bilgisayarda belirli bir amacı gerçekleştirmek için geliştirilmiş yöntemlerin ve verilerin, bilgisayarın donanımının

Detaylı

Yrd. Doç. Dr. İlhan AYDIN 2012-2013 Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü

Yrd. Doç. Dr. İlhan AYDIN 2012-2013 Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü Yrd. Doç. Dr. İlhan AYDIN 2012-2013 Güz Dönemi Fırat Üniversitesi Bilgisayar Mühendisliği Bölümü Dersin amacı *Bilgisayarlara giriş, algoritma geliştirme, akış diyagramları *Programlamaya giriş, Java diliyle

Detaylı

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar

mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar Algoritma ve Programlamaya Giriş mustafacosar@hitit.edu.tr http://web.hitit.edu.tr/mustafacosar İçerik Algoritma Akış Diyagramları Programlamada İşlemler o o o Matematiksel Karşılaştırma Mantıksal Programlama

Detaylı

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ

İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ İNÖNÜ ÜNİVERSİTESİ MÜH. FAK. BİLGİSAYAR MÜH. BÖL. ALGORİTMA VE PROGRAMLAMA 1 DERSİ LAB. ÖDEVİ AD SOYAD : TESLİM TARİHİ : OKUL NO : TESLİM SÜRESİ : 2 hafta Ödev No : 7 ****(ilk 3 soru çıktı üzerinde el

Detaylı

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu WEB TASARIM I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Hafta Modüller/İçerik/Konular 1. Hafta PHP Tanımı ve Sunucu Kurulumları 2. Hafta PHP Yazım Notasyonu

Detaylı

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017

Programlama Temelleri. Ders notları. Öğr.Gör. Hüseyin Bilal MACİT 2017 Programlama Temelleri Ders notları Öğr.Gör. Hüseyin Bilal MACİT 2017 Yazılımın yaşam döngüsü Algoritma sözcüğü; adını Ebu Abdullah Muhammed İbn Musa El Harezmi adındaki Müslüman Türk aliminden almıştır.

Detaylı

TEMEL BİLGİTEKNOLOJİLERİ

TEMEL BİLGİTEKNOLOJİLERİ TEMEL BİLGİTEKNOLOJİLERİ Bilgiyi işlemekte kullanılan araçlar ikiye ayrılır. 1- Maddi cihazlar 2-Kavramsal araçlar. Kullanıcıve bilgisayarın karşılıklıetkileşimini sağlayan birimlerin genel adıgiriş-çıkışbirimleridir.

Detaylı

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI NOT: Çalışma kâğıtları Algoritma Tasarımı ve Excel olmak üzere 2 kısımdan oluşmakta ve sınavda her ikisinin de çalışılması gerekmektedir. ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI Bu çalışma sayfalarında

Detaylı

Algoritmanın Hazırlanması

Algoritmanın Hazırlanması Algoritmanın Hazırlanması Algoritma, herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade

Detaylı

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada,

TAMSAYILAR. 9www.unkapani.com.tr. Z = {.., -3, -2, -1, 0, 1, 2, 3, } kümesinin her bir elemanına. a, b, c birer tamsayı olmak üzere, Burada, TAMSAYILAR Z = {.., -, -, -, 0,,,, } kümesinin her bir elemanına tamsayı denir. Burada, + Z = {,,,...} kümesine, pozitif tamsayılar kümesi denir. Z = {...,,,,} kümesine, negatif tamsayılar kümesi denir.

Detaylı

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal)

FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) FBEB-512 C++ ile Nesne Tabanlı Programlama Güz 2009 (1. Hafta) (Yrd. Doç. Dr. Deniz Dal) Algoritma Geliştirme ve Akış Diyagramları BİLGİSAYARLA PROBLEM ÇÖZÜMÜ AŞAMALARI Analiz Algoritma Geliştirilmesi

Detaylı

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları

Programlama Dilleri 1. Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3: Rastgele sayı üretimi ve uygulamaları Ders 3 Genel Bakış Giriş Rastgele Sayı Rastgele Sayı Üreteci rand Fonksiyonunun İşlevi srand Fonksiyonunun İşlevi Monte Carlo Yöntemi Uygulama 1: Yazı-Tura

Detaylı

Akdeniz Üniversitesi

Akdeniz Üniversitesi F. Ders Tanıtım Formu Dersin Adı Öğretim Dili Akdeniz Üniversitesi Bilgi ve İletişim Teknolojisi Türkçe Dersin Verildiği Düzey Ön Lisans (x) Lisans ( ) Yüksek Lisans( ) Doktora( ) Eğitim Öğretim Sistemi

Detaylı

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

ALGORİTMA VE PROGRAMLAMAYA GİRİŞ ALGORİTMA VE PROGRAMLAMAYA GİRİŞ Yrd.Doç.Dr. Kadriye ERGÜN kergun@balikesir.edu.tr Ders Bilgileri BIL1202 Algoritma ve Programlamaya Giriş, (2+1 Kredi) Ders ile ilgili duyurular http://kergun.baun.edu.tr/

Detaylı

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ

HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ HÜPP PYTHON I.HAFTA ALGORİTMA MANTIĞI, AKIŞ DİYAGRAMLARI VE PYTHON'A GİRİŞ PROGRAMLAMAYA GİRİŞ Herhangi bir program yazabilmemiz için öncelikle önümüzde bir problem, soru olması gerekir. Problemi belirledikten

Detaylı

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları)

BLGM BÖLÜM. Problem Çözme Kavramları (Algoritma ve Akış Şemaları) BLGM108 1. BÖLÜM Problem Çözme Kavramları (Algoritma ve Akış Şemaları) 1 Yazılım Geliştirme Adımları 1. Gereksinimlerin belirlenmesi Problemin ne olduğunu anlama: sorunu çözmek için ne gereklidir, çözüm

Detaylı

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1

BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 BİLGİSAYAR BİLİMİ DERSİ (KUR 1) PYTHON PROGRAMLAMA DİLİ ÇALIŞMA KÂĞIDI - 1 Ekrana Metin Yazdırmak Ekranda metin yazdırmak istendiğinde print komutu kullanılır. Kullanımı aşağıda verilmiştir. Parantez içinde

Detaylı

SAYILAR DOĞAL VE TAM SAYILAR

SAYILAR DOĞAL VE TAM SAYILAR 1 SAYILAR DOĞAL VE TAM SAYILAR RAKAM: Sayıları ifade etmek için kullandığımız 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 sembollerinden her birine rakam denir. Soru: a ve b farklı rakamlar olmak üzere a + b nin alabileceği

Detaylı

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi

Bil101 Bilgisayar Yazılımı I. M. Erdem ÇORAPÇIOĞLU Bilgisayar Yüksek Mühendisi Bil101 Bilgisayar Yazılımı I Bilgisayar Yüksek Mühendisi Kullanıcıdan aldığı veri ya da bilgilerle kullanıcının isteği doğrultusunda işlem ve karşılaştırmalar yapabilen, veri ya da bilgileri sabit disk,

Detaylı

Bilgisayar Programı Nedir?

Bilgisayar Programı Nedir? BİL1002 Bilgisayar Programlama PROF.DR.TOLGA ELBİR Bilgisayar Programı Nedir? Program, bilgisayarda i belirli libir amacı gerçekleştirmek için geliştirilmiş yöntemlerin ve verilerin, bilgisayarındonanımınınyerine

Detaylı

PROGRAMLAMA DİLLERİ I

PROGRAMLAMA DİLLERİ I PROGRAMLAMA DİLLERİ I Öğr. Gör. M. Mutlu YAPICI Ankara Üniversitesi Elmadağ Meslek Yüksekokulu Ders İzlencesi Öğr. Gör. M. Mutlu YAPICI Hafta 1. Hafta 2. Hafta 3. Hafta 4. Hafta 5. Hafta 6. Hafta 7. Hafta

Detaylı

5. PROGRAMLA DİLLERİ. 5.1 Giriş

5. PROGRAMLA DİLLERİ. 5.1 Giriş 5. PROGRAMLA DİLLERİ 8.1 Giriş 8.2 Yazılım Geliştirme Süreci 8.3 Yazılım Geliştirme Sürecinde Programlama Dilinin Önemi 8.4 Programlama Dillerinin Tarihçesi 8.5 Programlama Dillerinin Sınıflandırılması

Detaylı

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü

ALGORİTMA ANALİZİ. Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü ALGORİTMA ANALİZİ Cumhuriyet Üniversitesi Bilgisayar Mühendisliği Bölümü 2 Özyinelemeler veya artık teknik Türkçeye girmiş olan rekürsiflik en çok duyulan fakat kullanımında zorluklar görülen tekniklerdendir.

Detaylı

JAVASCRIPT JAVASCRIPT DİLİ

JAVASCRIPT JAVASCRIPT DİLİ JAVASCRIPT JAVASCRIPT DİLİ Netscape Navigator 2.0 ile birlikte geliştirilen JavaScript dili istemci taraflı (client-side) script dilidir. Web sayfalarında dinamik içerik sağlamak ya da kullanıcıyla iletişim

Detaylı

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

Algoritmalar. 3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli. Algoritmalar Kısaca algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir. Geniş anlamda ise algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların

Detaylı

4. Bölüm Programlamaya Giriş

4. Bölüm Programlamaya Giriş 4. Bölüm Programlamaya Giriş Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları

Detaylı

ALGORİTMA VE PROGRAMLAMA I

ALGORİTMA VE PROGRAMLAMA I ALGORİTMA VE PROGRAMLAMA I YZM 1101 Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi Genel Bakış 2 Diziler Dizi Nedir? Dizilerin Bildirimi Dizilere Başlangıç Değeri Verme Dizilerde Arama

Detaylı

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

BMT 101 Algoritma ve Programlama I 2. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1 BMT 0 Algoritma ve Programlama I 2. Hafta Yük. Müh. Köksal GÜNDOĞDU Algoritma ve Programlama Yük. Müh. Köksal GÜNDOĞDU 2 Algoritma Kavramı Yük. Müh. Köksal GÜNDOĞDU 3 Algoritma ve Programlama Bilgisayardaki

Detaylı

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI

C PROGRAMLAMA YRD.DOÇ.DR. BUKET DOĞAN PROGRAM - ALGORİTMA AKIŞ ŞEMASI C PROGRAMLAMA DİLİ YRD.DOÇ.DR. BUKET DOĞAN 1 PROGRAM - ALGORİTMA AKIŞ ŞEMASI Program : Belirli bir problemi çözmek için bir bilgisayar dili kullanılarak yazılmış deyimler dizisi. Algoritma bir sorunun

Detaylı

R ile Programlamaya Giriş ve Uygulamalar

R ile Programlamaya Giriş ve Uygulamalar R ile Programlamaya Giriş ve Uygulamalar İçerik R ye genel bakış R dili R nedir, ne değildir? Neden R? Arayüz Çalışma alanı Yardım R ile çalışmak Paketler Veri okuma/yazma İşleme Grafik oluşturma Uygulamalar

Detaylı

BİLGİSAYAR PROGRAMLAMA DERSİ

BİLGİSAYAR PROGRAMLAMA DERSİ BİLGİSAYAR PROGRAMLAMA DERSİ 5. DERS NOTU Konu: Döngü Yapıları Hazırlayan: Yrd. Doç. Dr. Ahmet DUMLU DÖNGÜ YAPILARI Birçok uygulamada bazı işlemlerin tekrar tekrar gerçekleştirilmesi gerekir. Bizlere bu

Detaylı