Algoritmalar (Algoritms). Problem  Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir.
... konulu sunumlar: "Algoritmalar (Algoritms). Problem  Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir."— Sunum transkripti:
Problem  Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir. Bu tip fikirlerde insanların bu sorunları beyinle çözmeleri ya imkansızdır ya da çok zor ve zaman alıcıdır. Bu tip bir sorunu bilgisayarla çözebilme fikrinin ortaya çıkması bir bilgisayar probleminin ortaya çıkmasına neden olmuştur.
Problem Çözümü Problemi Çözebilmek için öncelikle sorunun çok net olarak programcı tarafından anlaşılmış olması gerekir. Tüm ihtiyaçlar ve istekler belirlenmelidir. Gerekiyorsa bu işlem için birebir görüşmeler planlanmalı ve bu görüşmeler gerçekleştirilmelidir. Problemin Çözümüne ilişkin zihinsel alıştırmalar yapılır. Bu alıştırmaların bilgisayar çözümüne yakın olması hedeflenmelidir. Bir sorunun tabii ki birden fazla çözümü olabilir. Bu durumda bilgisayar ile en uygun çözüm seçilmelidir. Çünkü bazen pratik çözümler bilgisayarlar için uygun olmayabilir. Oluşturulan Çözüm Algoritma dediğimiz adımlarla ifade edilmelidir. Bu algoritmanın daha anlaşılabilir olması için Akış Çizgesi oluşturulmalıdır. Uygun bir programlama dili seçilmeli ve oluşturulan algoritma ve akış çizgesi bu programlama dili aracılığı ile bilgisayar ortamına aktarılmalıdır.
Program  Problem Çözümü kısmında anlatılan adımlar uygulandıktan sonra ortaya çıkan ve sorunumuzu bilgisayar ortamında çözen ürüne Program denir.  Bazı durumlarda bu ürüne yazılım denebilir.
Programlama  Çok iyi tanımlanmış bir sorunun çözümüne dair adımlar ile çözümün oluşturulup bunun bir programlama dili ile bilgisayar ortamına aktarılması Programlama olarak adlandırılır.
Programlama Dili  Bir problemin algoritmik çözümü nün bilgisayarda yazılmasını sağlayan kurallar dizisidir. Bazı programlama dilleri MATLAB, Delphi, Pascal, Fortran, Lisp C, C++, C#, Visual Basic, Java
Algoritma  Bir sorunu (problemi) çözebilmek için gerekli olan sıralı mantıksal adımların tümüne Algoritma denir.  Algoritma doğal dille yazıldığı için formal değildir.  Bir algoritma için aşağıdaki ifadelerin mutlaka doğrulanması gereklidir.  Her adım son derece belirleyici olmalıdır. Hiç bir şey şansa bağlı olmamalıdır.  Belirli bir sayıda adım sonunda algoritma sonlanmalıdır.  Algoritmalar karşılaşılabilecek tüm ihtimalleri ele alabilecek kadar genel olmalıdır.
Algoritma(devamı)  “ İşine gitmek üzere uyanan birinin yapması gereken işler ” algoritması: 1.Yataktan kalk 2.Pijamalarını çıkar 3.Duş al 4.Elbiselerini giy 5.Kahvaltını yap 6.Arabana bin ve işe git  Sıra önemli. 3 ve 4 nolu adımlar yer değiştirirse mesela? (Kim ıslanmak ister? )
Sözde Kod (Pseudo Code)  Pseudo Code (Sözde Kod), bir algoritmanın yarı programlama dili kuralı, yarı konuşma diline dönük olarak ortaya koyulması/ tanımlanmasıdır. Bu şekilde gösterim algoritmayı genel hatlarıyla yansıtır.  Örnek: –assign (ilkdeğer) value (100) –if (sayı
Gerçek Kod (Real Code)  Real Code (Gerçek Kod), algoritmanın herhangi bir programlama diliyle, belirli bir veri yapısı üzerinde gerçekleştirilmiş halidir.  Bir algoritmanın gerçek kodu, yalnızca tasarlandığı veri yapısı üzerinde koşar; veri yapısı değiştirildiğinde algoritmanın gerçek kodu üzerinde oynamalar yapılmalıdır.
Programlama Dili  Bir Problemin Algoritmik çözümünün Bilgisayara anlatılmasını sağlayan, son derece sıkı-sıkıya kuralları bulunan kurallar dizisidir.  Programlama Dilleri için; Farklı problem alanlarına göre farklı dillerden söz etmek mümkündür. Dilin seçimi bu yüzden önemli olabilir. Probleme uygun dilin seçilmesi programın geliştirilmesinde kolaylık ve hızlıçalışma sağlayabilir.
Derleyici  Bir programlama dili ile bilgisayara aktarılan programın bilgisayarın anlayabileceği Makine Diline çevirmeyi sağlayan ve yazılan programda söz dizim hatalarının olup olmadığını bulan yazılımlardır.  Her Programlama dili için bir derleyici olması gerekmektedir.
Derleyici Programları  Her bir programlama dilinde kod yazmak için geliştirilmiş çok sayıda derleyici programı vardır. Örneğin C programlama dilinde kod yazmak için dev c++, Turbo C, Borland C, Microsoft Visual Studio gibi…
Kaynak ve Amaç Program  Programın, bir programlama diline bağlı olarak hazırlanan simgesel kodlardan oluşan kısmına kaynak program (source code) adı verilir.  Bu kaynak programın derlenip bilgisayarda çalışabilecek makine kodlarına çevrilmiş koduna ise amaç program ismi verilir.
Algoritma Yazımı  Sözde kod yada diğer deyimle algoritma hazırlanırken bazı kullanımlar vardır. Bunlar şunlardır:  BAŞLA-DUR: Algoritmanın ilk ve son adımıdır.  OKU: Veri girişinin yapılacağını belirler.  EĞER…İSE…DEĞİLSE….: Şart belirtmek için kullanılır.  GİT… : Belirli bir adıma yönlendirmek için kullanılır.  DÖN..DEN:  DÖNGÜ SONU: Döngüleri belirtmek için kullanılır.  YAZ : Ekrana mesaj yazmak için kullanılır. Yukarıdaki gösterimlerin ingilizce karşılıkları da algoritma hazırlamada kullanılmaktadır.
Tanımlayıcı(değişken)  Program yazan kişi tarafından düşünülüp oluşturulan ve programdaki değişkenleri, sabitleri, kayıt alanlarını, alt programları, vs.. adlandırmak için kullanılan kelimelere tanımlayıcı denir.  Bu kelimeler isimlendirilirken kurallara dikkat edilmelidir: İngiliz alfabesindeki A-Z veya a-z arası 26 harf kullanılabilir. 0-9 rakamları kullanılabilir. Sembollerden alt çizgi kullanılabilir. ( _ ) Tanımlayıcı ifadeleri harf veya altçizgi ile başlayabilir ama rakamla başlamaz. İsimler oluşturulurken boşluk kullanılmamalıdır. maaş katsayısı değil maas_katsayisi
Algoritmada Yapılan İşlemler  Aritmetiksel işlemler toplama, çıkarma,..  Mantıksal işlemler (LOGİC) ve, veya, değil
Aritmetiksel işlemler  Toplama a+b  Çıkarma a-b  Çarpma a*b  Bölme a/b  Üs alma a^b
İşlem önceliği Matematiksel işlemler içeren kümenizin içindeki matematiksel işaretlerin bir işlem önceliği vardır.  İşlem Önceliği Sırası 1. Parantezler ( ) 2. Üs almaa^b 3. Çarpma ve bölmea*b veya a/b 4. Toplama ve çıkarmaa+b veya a-b  Aynı önceliğe sahip işlemler yan yana bulunuyorsa işlem önceliği genelde soldan sağa doğrudur. X=2*3/6+2
Karşılaştırma İşlemleri  Eşittir=  Eşit değildir<>  Büyüktür >  Küçüktür <  Büyük eşittir>=  Küçük eşittir<=
Mantıksal İşlemler  Programlarda, birden fazla karşılaştırma ifadesi bir anda kullanılmak istenebilir. Bu gibi durumlarda mantıksal ifadeler kullanılması zorunludur. MANTIKSAL KOMUTLAR İŞLEMLER  VE AND  VEYA OR  DEĞİLNOT
Mantıksal İşlem Sonuçları SonuçRakam olarak Bilgisayar Dilinde Doğru 1 True(1) Yanlış 0 False (0)
Örnek Bir işyerinde çalışan işçiler arasından yalnızca yaşı 23’ün üzerinde olup maaş olarak asgari ücret alanların isimleri istenebilir. Burada iki koşulun da doğru olması gerekmektedir. (Asgari ücret >=500) 1nci koşul 2nci koşul Eğer Yaş>23 ve Maaş>=Asgari ücret ise Yaz İsim
Örnek  Bir sınıfta Bilgisayar dersinden 65 in üzerinde not almış olup Seçmeli Yabancı Dil (İngilizce) veya Seçmeli Yabancı Dil (Almanca) derslerinin herhangi birinden 65 in üzerinde not alanların isimleri istenmektedir.  Eğer Bilgisayar notu > 65 VE (İngilizce > 65 VEYA Almanca > 65) ise Yaz “Öğrencinin ismini”
Örnek Algoritma 1.Başla 2.A sayısını gir 3.B sayısını gir 4.Eğer A>B ise Yaz “A sayısı, B sayısından büyüktür” 5.Eğer A
Aktarma Herhangi bir ifadenin sonucunu başka bir değişkende göstermedir. degisken = ifade ifade kısmında matematiksel, mantıksal veya harfsel (alfasayısal) ifade olabilir. = sembolü atama operatörüdür. Bu operatör, sağda hesaplanan ifadenin değerini değişken içine (sola) iletir.
Örnek Klavyeden girilen üç sayının toplamını bulan algoritma. 1.Başla 2.t=0 3.OKU a 4.t=t+a 5.OKU b 6.t=t+b 7.OKU c 8.t=t+c 9.Yaz t 10.Dur
Döngü  Bazı işlemler belli ardışık değerlerle veya belli sayıda gerçekleştirilmektedir.  Programda belirli komut bütünlerini belirli sayıda yaptırabilmek için döngüler kullanılır.  Algoritma yazarken döngü akış işlemlerinde genellikle sayaç kullanılır.  Döngüsel işlemler akış diyagramı bölümünde daha detaylı anlatılacaktır.
Aşağıdaki algoritma nasıl bir çıktı verir? 1.Başla 2.sayac=0 3.Eğer sayac>4 ise Git 7 4.sayac=sayac+1 5.Yaz sayac 6.Git 3 7.Dur
Aşağıdaki algoritma ne iş yapmaktadır? 1.Başla 2.sayac=0 3.OKU sayi 4.Eğer sayi=0 ise Git 7 5.Eğer mod(sayi,2)=0 ise sayac=sayac+1 6.Git 3 7.Yaz sayac 8.Dur
Örnek: Bu çıktıyı veren algoritmayı tasarlayınız.
Cevap 1.basla 2.baslangic=1 3.i=baslangic 4.Yaz i 5.i=i+1 6.eğer i<=6 git 4 7.alt satıra geç 8.baslangic=baslangic+1 9.eğer baslangic<=6 git 3 10.Dur
Soru-1  Klavyeden girilen not bilgisinin 0 ile 100 arası olup olmadığını kontrol eden programı yapınız.
Soru-2  Klavyeden girilen 20 tam sayı değerin en büyük ve en küçük arasındaki farkı bulup ekrana yazan programın algoritmasını yazınız.
Soru-3  Klavyeden girilen bir tam sayı eğer 1 ile 5 veya 7 ile 10 arasında ise, ekrana “Sayınız doğru yerdedir.”, değilse “Sayınız yanlış yerdedir.” yazan algoritamyı yazınız.  (Aralık belirten sayılar da aramaya dâhildir.)
Soru-4  Aşağıda verilen algoritmadaki değişkenlerin aldıkları değerleri tek tek belirtiniz.  BAŞLA  Sayi1=15  Sayi2=30  Yaz Sayi1, Sayi2  Gecici=Sayi1  Sayi1=Sayi2  Sayi2=Gecici  Yaz Sayi1, Sayi2  dur
Soru-5  2-16 arasındaki çift sayıların ortalamasını bulan programın algoritmasını yazınız?
Soru-6  Klavyeden girilen 10 tabanındaki sayıyı ikilik tabana çeviren programın algoritmasını yazınız.
Soru-7  Bir aracın otopark ücretinin hesaplamasını aşağıdaki kurallara göre yapan programın algoritmasını yazınız.  Kurallar:  Araçların en fazla 24 saat kaldığı varsayılacak.  Küçük araçlariçin 1 büyük araçlar için 2 değeri girilecek(Örn:Otomobil için 1, kamyon otobüs için:2)  Ücret tarifesi  saat Küçükler için:4 TL Büyükler için: 6 TL saat Küçükler için:7 TL Büyükler için: 10 TL 8-24 saat Küçükler için:12 TL Büyükler için: 16 TL
Soru-8  10 ile 3000 arasındaki sayılardan 3 ve 10 ile tam bölünenlerin toplamını bulan algoritmayı oluşturunuz?
Soru-9  Girilen bir tamsayının asal sayı(sadece 1'e ve kendisine tam bölünebilen olup olmadığını bulan programın algoritmasını yazınız.  Örnek;Girilen sayı 5 ise;"5 asal sayıdır" yazmalı.... Girilen sayı 6 ise;"6 asal sayı değildir“ yazmalı
Soru 10  Girilen 2 basamaklı tamsayıyı yazıyla yazan programın algoritmasını yazınızz?  Örnek;Girilen sayı 52 ise;"Elli İki" yazmalı
Soru-11  Girilen iki adet tamının çarpımını toplama işlemi kullanarak yapan programın algoritmasını yazınız.
"Algoritmalar (Algoritms). Problem  Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir." indir ppt
Benzer bir sunumlar Algoritmalar (Algoritms). Problem  Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir.
Programlamaya Giriş 1. Verileri İşleyerek Özet bilgiler şekline sokabilen, bu veri ve bilgileri yüksek kapasitelerde saklayıp başka ortamlara iletebilen.
Algoritmalar (Algoritms). Problem Bir işlemin, otomasyonun yada bilimsel hesaplamanın bilgisayarla çözülmesi fikrinin ortaya çıkmasına problem denir.
KAYNAKLAR: 1- Algoritma Geliştirme ve Programlamaya Giriş, Fahri Vatansever, Seçkin Yayınları, 4. baskı, Algoritmayı anlamak, Mustafa Eker, Nirvana.
MF-103 Bilgisayar Programlama Güz 2011 (1. Sunu) (Yrd. Doç. Dr. Deniz Dal)
 Algoritma Nedir?  Algoritmanın Hazırlanması?  Akış Şemaları(Diyagramları) Nedir?  Akış Şemalarının Çizilmesi?
ALGORİTMA BULUNMASI Algoritma verilerin bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin, hangi basamaklardan.
Daha önce de söylediğimiz gibi bir program oluşturulurken kullanılan programlama dilinin Algoritmik olarak programlama diliyle bilgisayara aktarılması.
Algoritma Geliştirme ve Programlamaya Giriş-Öğr.Gör.Feridun Karakoç KONULAR  Programlamaya Giriş  Algoritma Hazırlama  Akış Diyagramları  Programlama.
☼Yazılım Nedir ☼Algoritma ☼Akış Seması ☼Örnekler PROGRAMLAMAYA GİRİŞ VE ALGORİTMA Ahmet SOYARSLAN.
Problem Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklar ve çatışmalar problem olarak değerlendirilir ve bu durumdaki birey.
BİL 102 BİLGİSAYAR PROGRAMLAMA DERS 1. PROGRAM GELİŞTİRME AŞAMALARI 1- Probleme ilişkin veriler nelerdir? 2- Çözüm yöntemi nasıl olacaktır? 3- Çözüm sonucunda.
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
1 ALGORİTMA HAZIRLAMA Temel tanımlar ve işleyiş Kaynak: Algoritma Geliştirme ve Programlamaya Giriş, Dr. Fahri VATANSEVER, Seçkin Yay., 2007 Doç.Dr. Cihad.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Bölüm 3 – Yapısal Programlama Konular 3.1Giriş 3.2Algoritmalar.
SÖZDE –KODLAR (pseudo-code). İÇERİK Sözde-kod nedir? Herhangi bir şarta bağlı aktiviteler Koşul sürdükçe devam eden eylemler Anlamlı bir isme bir değer.
Algoritma ve Akış Diyagramları Algoritmanın Hazırlanması Algoritma,herhangi bir sorunun çözümü için izlenecek yol anlamına gelmektedir.Çözüm için yapılması.
ALGORİTMA VE PROGRAMLAMA. Algoritma Nedir ? -Bir sorunu / problemi çözmek veya belirli bir amaca ulaşmak için gerekli olan sıralı mantıksal adımların.
1 Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ) Kaynak; T.Aydın(Ata.Ü.), T.Bayrak(G.Ü.)
 2003 Prentice Hall, Inc. All rights reserved. 1 Bölüm 2 – Kontrol Yapıları Outline 2.1 Giriş 2.2 Algoritmalar 2.3 Pseudocode 2.4 Kontrol Yapıları 2.5.
FIZ 275 Bilgisayar Uygulamaları Ders Notu Yrd. Doç. Dr. Meral ERYÜREK Fen- Edebiyat Fakültesi FİZİK BÖLÜMÜ.
ALGORİTMA VE AKIŞ ŞEMALARI. Algoritma Bir sorunu çözebilmek için gerekli olan mantıksal adımların, çözüme ulaşmak için izlenecek yolun belirlenmesidir.
PROGRAMLAMA Doç.Dr. Murat ÇAKIROĞLU 2. Hafta TEMEL KAVRAMLAR 1 PROGRAMLAMA.
11 BİLGİ TEK. VE ALG. GİRİŞ YRD.DOÇ.DR. BUKET DOĞAN.
Veri Yapıları ve Algoritmaları ders_1 Veri yapısı (Data Structure) verinin veya bilginin bellekte tutulma şeklini veya düzenini gösterir. Tüm programlama.