Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ Öğr. Gör. İsmail KARAMAN Çankırı Karatekin Üniversitesi Meslek Yüksekokulu.

Benzer bir sunumlar


... konulu sunumlar: "ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ Öğr. Gör. İsmail KARAMAN Çankırı Karatekin Üniversitesi Meslek Yüksekokulu."— Sunum transkripti:

1 ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ Öğr. Gör. İsmail KARAMAN Çankırı Karatekin Üniversitesi Meslek Yüksekokulu

2 KONULAR  Problem Nedir? Bir Problemin Çözümü  Algoritma Nedir? Algoritmaların Yazılım Geliştirme Sürecindeki Yeri  Bilgisayar Sistemlerinde Programlama Dilleri, Programlama Dilleri Çeşitleri  Algoritma Oluşturma, Algoritma Yazım Çeşitleri

3 PROBLEM NEDİR? İnsanın zihnini karıştıran ve belirsizleştiren her şeye problem adı verilir. Problem, hakkında araştırma yapılacak, üzerine düşünülecek ve çözümlenecek soruna denir. Her problem üzerinde çeşitli işlemler yapılarak çeşitli çözüm değeri yada değerleri üretir. Bu çözüm değerlerine ise sonuç adı verilir. Her problemin sonunda mutlaka bir sonuç elde edilir. Bir problemin üzerinde çözüm işlemi eğer ki doğru uygulanmış ise elde edilen sonuç doğru, yanlış veya eksik bir çözümleme yapılmış ise elde edilen sonuca yanlış yada hatalı sonuç adı verilir. Bilgisayar sistemlerinde oluşturulan her yazılım aslında bilgisayar sistemlerinde karşılaşılan yada var olan bir problemin çözümlenmesi amacıyla oluşturulmuştur. Örneğin;  Bilgisayar sistemlerinde var olan donanım ve yazılım kaynaklarını insanların etkili bir biçimde kullanabilmesi için işletim sistemleri,  Bilgisayar sistemlerinde herhangi bir amaca yada probleme yönelik çözümler üretebilecek paket programlar,  Bilgisayar ortamında herhangi bir probleme yönelik program geliştirebilmek için programlama dilleri, Yazılım Geliştirme araçları, vb.

4 PROBLEMİN ÇÖZÜMÜ Bir problemi çözümleyebilmek ve sonuç elde edebilmek için çeşitli yöntemler vardır. Bunlar; Deneysel Yöntem: Çözümlenmek istenen problemle ilgili neden sonuç ilişkilerini saptamak üzere araştırmacının hazırladığı ve incelediği nesneyi yönlendirebildiği yöntem, deneysel yöntemdir. Sezgisel Yöntem (Deneme Yanılma Yöntemi) : Çözümlenmek istenen problemin üzerinde yapılacak birden fazla çözümleme işlemlerin deneme yanılma metoduyla sonucun elde edilmesini sağlayan yöntemdir. Deneyimsel Yöntem : Çözümlenecek problemle daha önceden yapılmış olan çözüm çalışmalarından kazanılan deneyimlerle yapılan çözümleme yöntemine deneyimsel yöntem adı verilir.

5 ALGORİTMA Bilgisayar sistemlerinde ise herhangi bir problemin çözümüne yönelik oluşturulan her bir program genel yada özel bir algoritmaya sahiptir. Algoritma : Bir problemi çözmek için takip edilecek sonlu sayıda adımdan oluşan çözüm yöntemine denir. Algoritma bir programlama dili değildir. Programlama dillerine yol gösteren bir yöntem dizisidir. Her dilde algoritma yazılıp uygulanabilir. Bir algoritma oluştururken dikkat edilecek özellikler; I.Kesinlik : Algoritma içindeki adımların herkes tarafından anlaşılabilir olması, içerisinde farklı anlamlara gelebilecek bulanık ifadeler içermemesi gerekir. II.Sıralı Olma : Yapılacak işlemlerin hangi adımda gerçekleştirileceği algoritma içerisinde net bir şekilde belirtilmelidir. III.Sonluluk : Algoritma mutlaka sonlu sayıda adımdan oluşmalıdır. Her algoritmanın bir son noktası ve sınırlı bir zaman dilimi olması gerekir.

6 ALGORİTMALAR ILE PROBLEM ÇÖZME Problem çözmek için Algoritma geliştirmenin temel adımları şöyledir; 1. Problemin Tanımlanması : Algoritmanın amacı belirli bir problemi çözmektir. bu nedenle problem ne kadar anlaşılırsa algoritmanın geliştirilmesi de o kadar kolaylaşır. 2. Girdi ve Çıktıların Belirlenmesi : Problemin iyi tanımlanabilmesi için başlangıç ve bitiş noktalarının çok net bilinmesi gerekir. 3. Çözüm Yolları Bulmak : Bir problemin çözümü için birden fazla çözüm alternatifi olabilir. Bu noktada programcının en sade çözümü tercih etmesi gerekir. Çünkü karmaşık çözümlemeler programa dönüştürüldüğünde anlaşılabilirliğini kaybedebilir. 4. Çözümün Kontrolü ve Testi : Algoritma oluşturulduktan sonra mutlaka kontrol edilmelidir. Kontrol esnasında bir eksiklik yada bir hata ile karşılaşılır ise bu sorunun düzeltilmesi gerekir. Bu eksiklikler ve hatalar giderildikten sonra mutlaka algoritma kağıt üzerinde değerler vererek test edilmelidir.

7 ALGORİTMALAR ILE PROBLEM ÇÖZME 5. Algoritmanın Kodlanması: Geliştirilen algoritma bilgisayar üzerinde bir programlama dili ile yazılır. Böylece kağıt üzerinde geliştirilen algoritma bilgisayar ortamında çalışabilecek hale gelmiş olur. 6. Kodun Sınanması ve İyileştirilmesi: Yazılan kod algoritmada olduğu gibi test edilir. Bu test aşamasında bir hata meydana gelir ise hatanın bulunduğu kod bloğunda iyileştirilme yapılır.

8 ALGORİTMALAR ILE PROBLEM ÇÖZME 5. Algoritmanın Kodlanması: Geliştirilen algoritma bilgisayar üzerinde bir programlama dili ile yazılır. Böylece kağıt üzerinde geliştirilen algoritma bilgisayar ortamında çalışabilecek hale gelmiş olur. 6. Kodun Sınanması ve İyileştirilmesi: Yazılan kod algoritmada olduğu gibi test edilir. Bu test aşamasında bir hata meydana gelir ise hatanın bulunduğu kod bloğunda iyileştirilme yapılır.

9 ALGORİTMALARIN YAZILIM GELİŞTİRME SÜRECİNDEKİ YERİ Yazılım : değişik ve çeşitli görevler yapma amaçlı tasarlanmış elektronik aygıtların birbirleriyle haberleşebilmesini ve uyumunu sağlayarak görevlerini ya da kullanılabilirliklerini geliştirmeye yarayan makine komutlarıdır. Yazılım, elektronik aygıtların belirli bir işi yapmasını sağlayan programların tümüne verilen isimdir. Bir başka deyişle, var olan bir problemi çözmek amacıyla bilgisayar dili kullanılarak oluşturulmuş anlamlı anlatımlar bütünüdür.

10 ALGORİTMALARIN YAZILIM GELİŞTİRME SÜRECİNDEKİ YERİ Bilgisayar yazılımları genel olarak 3 ana grupta incelenebilir. Bunlar; 1- Sistem Yazılımları (System Software): Bilgisayarın kendisinin işletilmesini sağlayan, işletim sistemi, derleyiciler (compilers) (Yazılım programında, yazılan programı makine diline çeviren program), çeşitli donatılar (facility) gibi yazılımlardır. Windows, Pardus, Android, vb. 2- Uygulama Yazılımları (Application Software): Bu kullanıcıların işlerine çözüm sağlayan örneğin çek, senet, stok kontrol, bordro, kütüphane kayıtlarını tutan programlar, bankalardaki müşterilerin para hesaplarını tutan programlar vs. gibi yazılımlardır. Örneğin Winrar, Word, Messenger,vb. 3- Çevirici Yazılımlar: Herhangi bir dilde yazılan programı makine diline çeviren yazılımlardır. Örneğin C, Pascal, Java,vb.

11 ALGORİTMALARIN YAZILIM GELİŞTİRME SÜRECİNDEKİ YERİ Bir yazılımı geliştirmek için temel olarak şu adımları uygulamak gerekir; 1.Analiz: Müşterinin gereksinimlerinin belirlendiği, bu gereksinimlerin çözümlediği ve çerçevelendiği aşamadır. Bu aşamada yazılımın ne yapacağı, hangi ihtiyacı karşılayacağı hangi problemi çözeceği belirlenir. 2.Tasarım: Analizle belirlenen yazılımın en uygun şekilde nasıl gerçekleştirilebileceğinin belirlenmesidir. Müşterinin gereksinimlerine ve koşullara bakılarak hangi programlama dili, teknoloji, mimari, araç vb. kullanılarak, çözümün planının ve mimarisinin tasarlanmasıdır. 3.Geliştirme: Tasarımın artık hayata geçirilmeye başlandığı aşamadır. Kodlama bu aşamada yapılır. Bu aşamada arayüz tasarımları ve çeşitli ayarlamalar da yapılır. 4.Hatalardan Arındırma: Geliştirme aşamasında ortaya çıkan arayüz, kod, veritabanı, doküman gibi ürünlerin istenilen şeye uygun olup olmadığı test edilir. Eğer yazılımın çeşitli bölümlerinde hatalar bulunuyorsa,bu hatalar düzeltilerek yeniden test edilir.

12 ALGORİTMALARIN YAZILIM GELİŞTİRME SÜRECİNDEKİ YERİ Algoritmalar yazılım geliştirme sürecinde, programlamayla tasarım arasında bir yerde kalırlar. Büyük projelerde bazen yazılım mimarları karmaşık bir işin çözümü için önceden çalışarak çözümü bulur ve bunun algoritmasını oluştururlar. Daha sonrada yazılımcı bu algoritmayı alarak programlar. Orta ve küçük çaplı projelerde yazılımcı kendi algoritmasını kendisi belirler ve programını buna göre yazar. Günümüzde artık standart iş yazılımları geliştirilirken yapılan işler için algoritma yazmadan direkt programlama yoluna gidilmektedir. Fakat karmaşık problemleri çözümlemek için mutlaka algoritmalara başvurulması gerekir.

13 ALGORİTMALARIN YAZILIM GELİŞTİRME SÜRECİNDEKİ YERİ Sonuç olarak yazılım geliştirme sürecinde bir programcının ihtiyacı olan bilgi alanları şunlardır; Programlama Dili: Eğer ki bir yazılım geliştirilecekse, en azından bir programlama diline hakim olunması gerekir. Yazılım Geliştirme Arabirimi: Arayüz tasarlayıcı, kod düzenleyici, derleyici ve yorumlayıcıyı bir arada barındıran ve yazılım geliştirme sürecini kolaylaştıran araçlara verilen isimdir. İyi bir programcının mutlaka bir yazılım geliştirme arabirimine hakim olması gerekir. Platform: Geliştirilen yazılım, hangi ortamda çalıştırılacak ise (Windows, Web Browsers, MsDos,vb) bu platformların kendine has kullanılan komutlarının iyi bilinmesi gerekir. Örneğin internet ortamında çalışacak bir yazılım geliştirilecek ise oturum yönetiminin iyi bilinmesi gerekir. Teknoloji: Üzerinde çalışılan yazılım hangi teknolojileri kullanılıyor ise programcının bu araçlara da hakim olması gerekir. Örneğin bir gönderme – alma işlemi yapacak bir yazılım geliştirilecekse, SMTP protokolünün iyi bilinmesi gerekir.

14 ALGORİTMALARIN YAZILIM GELİŞTİRME SÜRECİNDEKİ YERİ En İyi Pratikler: Belirli bir teknolojide bir çözüm üretmek isteniyorsa, öncelikle bu işi birileri yapmış mı diye bakmak önemlidir. Bu işlem başka bir yazılımdan kopya çekmek anlamında değil, sistemin nasıl çalıştığı hakkında bilgi edinip bir fikir edinme hakkında ciddi avantajlar sağlar. Algoritma: Geliştirilen yazılım içerisindeki karmaşık bir problemin çözümünün bulunmasını sağlar. Yapılacak işin en iyi nasıl çözüleceğini bulmak için algoritmalardan faydalanılır.

15 PROGRAMLAMA DİLLERİ Programlama dili: Yazılımın bir algoritmayı ifade etmek amacıyla, bir bilgisayara ne yapmasının istendiğinin anlatıldığı bölümdür. Bu diller yazılımcının hangi veriler üzerinde işlem yapacağını, verilerin nasıl depolanacağını ve nasıl kullanılacağını, hangi koşullarda hangi işlemlerin tanımlanacağını tam olarak anlatılmasını sağlar. Günümüzde en yaygın olarak kullanılan programlama dilleri; C, C++, C#.NET, Objective C Pascal, Delphi QBasic, Visual Basic.NET Java, Netbeans Html Php, Asp, Asp.NET Sql,PL/SQL

16 PROGRAMLAMA DİLLERİ Programlama dilleri ile ilgili ortak kavramlar; Kaynak Kod (Source Code): Bir programın oluşması için program dili ile yazılan metinlere kaynak kod adı verilir. Kod Düzenleyici: Herhangi bir programlama dilinde program yazmak için, kodla ilgili ipuçları veren, hataları tespit eden ve hataların düzeltilmesi için çeşitli uyarı mesajları veren uygulamaya kod düzenleyici denir. Derleyici (Compiler): Herhangi bir programlama diliyle yazılmış olan kaynak kodunu makine dönüştüren programlara derleyici denir. Yorumlayıcı (Interpreter): Kaynak kodunun satır satır, komut komut derleyerek makine diline çeviren ve çalıştıran programlara yorumlayıcı adı verilir. Yorumlayıcının amacı, programcının yazdığı programı satır satır işleterek, çalışmasını izlemesini ve varsa hatalarını bularak düzeltilmesini sağlamaktır.

17 ALGORİTMA OLUŞTURMA Bir problemi çözmek üzere algoritma geliştiriliyor ise satır algoritmaları yada akış diyagramları tercih edilir. Böylelikle programlamaya geçmeden önce, problemin çözümü net bir şekilde ifade edilmiş olur. Algoritmanın temel öğeleri Tanımlayıcı : Değişken, sabit, alt yordam gibi programlama birimlerine yazılımcı tarafından verilmiş isimlere tanımlayıcı adı verilir. Değişken : Programın akışı içinde farklı değerleri tutmak üzere ayrılmış bellek bölümlerine değişken adı verilir. Sabit : Program her çalıştırıldığında ve programın içinde herhangi bir abda hep aynı değeri döndüren tanımlayıcılara sabit adı verilir. Gömülü değer : Kod içinde yazılmış olan metinsel, sayısal yada diğer veri tiplerindeki sabit değerlere denir.

18 ALGORİTMA OLUŞTURMA Aritmetik İşlemler; Programlamadaki en temel işlemlerdir. Aritmetik işlemler için kullanılan işleçlere operatör adı verilir. Aritmetiksel Operatörler İşleçAdıÖrnekAçıklama +ToplamaC=A+BA ve B sayılarını toplar ve sonucu C ye aktarır. -ÇıkarmaC=A-BA sayısından B yi çıkarır ve sonucu C ye aktarır. *ÇarpmaC=A x BA ve B sayılarını çarpar ve sonucu C ye aktarır. /BölmeC=A / BA sayısını B sayısına böler ve sonucu C ye aktarır. % ModC=A % BA sayısını B sayısına böler ve kalanı C ye aktarır. =AtamaC=A+BA ve B sayılarını toplar ve sonucu C ye aktarır.

19 ALGORİTMA OLUŞTURMA Mantıksal İşlemler; Bir programın akışı içerisinde, belirli bir koşula bağlı olarak akışın hangi yönde ilerleyeceğine karar vermede mantıksal operatörler kullanılır. Bu operatörler karşılaştırma işlemlerinde kullanıldıklarında sonuç olarak sadece true(doğru) yada false(yanlış) değerleri üretilir. Mantıksal Operatörler İşleçAdıÖrnekAçıklama >BüyükA > BA değişkeni B değişkeninden büyükse true, değilse false değeri üretir.. =Büyük eşitA >= B A değişkeni B değişkeninden büyük yada eşitse true, değilse false değeri üretir.. <=Küçük eşitA <= B A değişkeni B değişkeninden küçük yada eşitse true, değilse false değeri üretir..

20 ALGORİTMA OLUŞTURMA Algoritma Yazımı; Problem çözmenin 3. adımı algoritma geliştirmektir. Geliştirilen algoritma kağıt yada bilgisayar ortamında yazılı hale getirilmelidir. Algoritmayı yazılı hale getirebilmek için 3 yöntem kullanılır. Satır Algoritma Yöntemi Akış Diyagramları Yöntemi Sözde Kod Yöntemi Satır algoritma ile Akış diyagramı yöntemleri matematik, inşaat, vb. herhangi bir konuda problem çözülürken kullanılabilir. Ancak sözde kod tamamen programlamaya yönelik bir gösterimdir. Ve kodlamaya çok yakın bir yöntemdir.

21 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Satır Algoritmalar, problem çözümünü günlük yazı konuşma diliyle ifade ederek sıra numarasıyla yazılarak oluşturulur. Konuşma diline çok yakın olmasından dolayı bir algoritmayı ifade etmenin en basit yoludur. Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran algoritmayı tasarlayın. Çözüm : 1.Başla 2.Oku (Sayı1,Sayı2) 3.Sonuç=Sayı1 + Sayı2 4.Sonucu Ekrana Yaz 5.Dur Not: Burada Sayı1 ve Sayı2 değişkenleri girdi, Sonuç değişkeni çıktı olarak kullanılmıştır. Yani programın iki girdisi ve bir çıktısı vardır.

22 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Örnek: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak ekrana yazdıran algoritmayı tasarlayın. Çözüm: 1.Başla 2.Oku (Kenar) 3.Çevre=kenar * 4 4.Alan=kenar * kenar 5.Çevreyi ekrana yaz 6.Alanı ekrana yaz 7.Dur Not : Burada kenar bilgisi girdi, çevre ve alan değerleri ise değişken olarak kullanılmıştır. Burada kenar, çevre, alan değişken olarak tanımlanmıştır.

23 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Örnek: Klavyeden yol ve aracın hız bilgisi alınarak ne kadar sürede yolun tamamlanacağını hesaplayan algoritmayı oluşturunuz. Çözüm; 1.Başla 2.Oku (Yol) 3.Oku (Hız) 4.Süre=Yol / Hız (Y=V * t den) 5.Süreyi Ekrana Yaz 6.Dur

24 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz. Çözüm; 1.Başla 2.Oku (Sayı1) 3.Oku (Sayı2) 4.Eğer 4.1. (Sayı1>Sayı2) Enbüyük=Sayı Değilse Enbüyük=Sayı2 5. Enbüyüğü ekrana yaz 6.Dur

25 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Örnek: Klavyeden girilen sayının tek yada çift olup olmadığını ekrana yazdıran algoritmayı oluşturunuz. Çözüm; 1.Başla 2.Oku (sayı) 3.Eğer ((Sayı % 2)==0) ise ekrana yaz ‘’çift’’ Değilse ekrana yaz ‘’tek’’ 4. Dur

26 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Örnek: Kullanıcıdan bir sayı alıp 1 den başlayarak kullanıcıdan aldığı sayıya kadar bir artırarak ekrana yazdıran algoritmayı oluşturunuz. Çözüm; 1.Başla 2.Sayac=0, Toplam=0 3.Oku (sayı) 4.Eğer (Sayac >= Sayı), Adım 8 e git 5.Toplam = Toplam + Sayac 6.Sayac = Sayac Adım 4 e git 8.Yaz Toplam 9.Dur

27 ALGORİTMA OLUŞTURMA Satır Algoritmaları; Örnek: 1 den 100 e kadar olan sayılardan 8 e tam bölünebilen sayıları ekrana yazdıran algoritmayı oluşturunuz. Çözüm; 1.Başla 2.Sayı=0 3.Eğer (Sayı > 100) ise Adım 6 ya git Eğer ((Sayı % 8)==0) ise Sayıyı ekrana yaz 4.Sayı=Sayı Adım 3 e git 6.Dur

28 ALGORİTMA OLUŞTURMA Akış Diyagramları; Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir. ŞekilAnlamı Algoritmanın Başlangıcını ve bitişini göstermekte kullanılır. Kullanıcıdan bilgi alınacağı zaman kullanılır. Aritmetiksel, Mantıksal vb. işlemleri ifade etmek için kullanılır. Kullanıcıya bilgi gösterileceği zaman kullanılır. Başla/Dur Bilgi Girişi İşlem Bilgi Çıkışı

29 ALGORİTMA OLUŞTURMA Akış Diyagramları; Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir. ŞekilAnlamı Algoritma içinde belirli bir koşula bağlı olarak akışın dallanmasını sağlamak için, karar yapılarında kullanılır. Tekrarlı işlemleri ifade etmek için kullanılır. Aynı sayfaya sığmayacak algoritmaların devamıyla bağını göstermek için kullanılır. Adımlar arasındaki bağlantıyı ve akış yönünü göstermek için kullanılır. Karar Döngü Bağ

30 ALGORİTMA OLUŞTURMA Akış Diyagramları; Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran algoritmayı tasarlayın. Çözüm : 1.Başla 2.Oku (Sayı1,Sayı2) 3.Sonuç=Sayı1 + Sayı2 4.Sonucu Ekrana Yaz 5.Dur Başla (Sayı1,Sayı2) Sonuç=Sayı1 + Sayı2 Yaz Sonuç Dur

31 ALGORİTMA OLUŞTURMA Akış Diyagramları; Örnek: Kullanıcıdan bir kenarı alınan karenin çevresini ve alanını hesaplayarak ekrana yazdıran algoritmayı tasarlayın. Çözüm: 1.Başla 2.Oku (Kenar) 3.Çevre=kenar * 4 4.Alan=kenar * kenar 5.Çevreyi ekrana yaz 6.Alanı ekrana yaz 7.Dur Başla Oku (Kenar) Çevre = 4 * Kenar Yaz Çevre Dur Alan = Kenar * Kenar Yaz Alan

32 ALGORİTMA OLUŞTURMA Akış Diyagramları; Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz. Çözüm; Başla Oku (Sayı1) Oku (Sayı2) Yaz Sayı1 Yaz Sayı2 Dur Sayı1 > Sayı 2 True (E)False (H)

33 ALGORİTMA OLUŞTURMA Akış Diyagramları; Örnek: Klavyeden girilen sayının pozitif yada negatif, yada sıfır olduğunu ekrana yazan algoritmayı oluşturunuz. Çözüm; Başla Oku (Sayı ) Sayı>0 ‘’POZİTİF’’ Dur True (E) False (H) Sayı<0 True (E) ‘’NEGATİF’’ ‘’SIFIR’’ False (H)

34 ALGORİTMA OLUŞTURMA Akış Diyagramları; Örnek: Kullanıcıdan 100 adet sayı alarak, bu sayıların toplamını ekrana yazan algoritmayı akış diyagramları ile oluşturunuz. Oku (Sayı) Adet<=100 Yaz ‘’Bir Sayı Girin’’ Başla Toplam=0, Sayac=1, Adet=0 Toplam=Toplam + Sayı Adet=Adet + 1 Yaz Toplam Dur True (E) Başla Toplam=0, Sayac=1, Sayac=1,100,1 Yaz ‘’Bir Sayı Girin’’ Oku (Sayı) Toplam=Toplam + Sayı Yaz Toplam Dur

35 ALGORİTMA OLUŞTURMA Akış Diyagramları; Klavyeden girilen sayının faktöriyelini hesaplayan algoritmayı oluşturunuz. Başla Fakt=1,Sayac=0 Oku (Sayı) Sayac=Sayac + 1 Fakt=Fakt * Sayac Sayac

36 ALGORİTMA OLUŞTURMA Sözde Kodlar; Bilgisayarda bir programlama dili olarak çalışmayan, ancak programlama dillerine yakın algoritma ifadelerine sözde kodlar(pseudo-code) denir. Bu yöntem farklı kullanım şekillerine sahiptir. Fakat genel kullanım dili ingilizce ve programlama dili olarak pascal diline çok benzerlik gösterir. Sözde kodlar yapısal olarak 4 temel ögeye sahiptir. 1.Okuma / Yazma İşlemleri: Okuma işlemleri için GET, READ, Yazma işlemleri için WRITE,DISPLAY gibi komutlar kullanılır. 2.İşlemler :Sözde kod içinde gerçekleştirilen toplama, çıkarma, çarpma, bölme vb. aritmetiksel işlemler, bir değişkene değer atanması gibi işlemlerdir. 3.Karar Yapıları : Bir koşula bağlı olarak bir işin yapılıp yapılamayacağına karar verme işlemleridir. 4.Tekrarlı Yapılar : Program içinde bir koşula bağlı olarak yada belirli bir sayıda tekrar edecek işlemler için kullanılırlar.

37 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek : Kullanıcıdan iki sayıyı alıp, bu iki sayının toplamını ekrana yazdıran algoritmayı tasarlayın. Çözüm : Satır Algoritmaları 1.Başla 2.Oku (Sayı1,Sayı2) 3.Sonuç=Sayı1 + Sayı2 4.Sonucu Ekrana Yaz 5.Dur Sözde Kodlar GET Sayı1 GET Sayı2 Sonuc=Sayı1+Sayı2 DISPLAY Sonuc

38 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz. Çözüm; GET Sayı1 GET Sayı2 IF (Sayı1>Sayı2) THEN DISPLAY Sayı1 ELSE DISPLAY Sayı2 ENDIF

39 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: Klavyeden girilen sayının tek yada çift olup olmadığını ekrana yazdıran algoritmayı oluşturunuz. Çözüm; GET Sayı IF ((Sayı % 2)==0) THEN DISPLAY ‘Girilen Sayı Çifttir.’ ELSE DISPLAY ‘Girilen Sayı Tektir.’ END IF

40 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: Klavyeden girilen sayının pozitif yada negatif, yada sıfır olduğunu ekrana yazan algoritmayı oluşturunuz. Çözüm; GET Sayı IF (Sayı>0) THEN DISPLAY ‘Sayı Pozitif’ ELSE IF (Sayı<0) THEN DISPLAY ‘Sayı Negatif’ ELSE DISPLAY ‘Sayı Sıfır’ END IF

41 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: Kullanıcıdan bir sayı alıp 1 den başlayarak kullanıcıdan aldığı sayıya kadar bir artırarak ekrana yazdıran algoritmayı oluşturunuz. Çözüm; GET Sayı FOR X=1 to Sayı STEP 1 DISPLAY X END FOR

42 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: Kullanıcıdan bir sayı alıp 1 den başlayarak kullanıcıdan aldığı sayıya kadar sayıları toplayıp ekrana yazdıran algoritmayı oluşturunuz. Çözüm; Toplam=0 GET Sayı FOR X=1 to Sayı STEP 1 Toplam=Toplam + X END FOR DISPLAY Toplam

43 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: 1 den 100 e kadar olan sayılardan 8 e tam bölünebilen sayıları ekrana yazdıran algoritmayı oluşturunuz. Çözüm; FOR Sayı=1 to 100 STEP 1 IF ((Sayı % 8) ==0) THEN DISPLAY Sayı END IF END FOR

44 ALGORİTMA OLUŞTURMA Sözde Kodlar; Örnek: Klavyeden girilen sayının faktöriyelini hesaplayan algoritmayı oluşturunuz. Çözüm; Fakt=1 GET Sayı FOR X=1 to Sayı STEP 1 Fakt=Fakt * X END FOR DISPLAY Fakt


"ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ Öğr. Gör. İsmail KARAMAN Çankırı Karatekin Üniversitesi Meslek Yüksekokulu." indir ppt

Benzer bir sunumlar


Google Reklamları