Transcript algoritma - Çankırı Karatekin Üniversitesi
Öğr. Gör. İsmail KARAMAN Çankırı Karatekin Üniversitesi Meslek Yüksekokulu
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
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 hatalı sonuç adı verilir.
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 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.
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.
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.
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 alternatifi olabilir. Bu noktada programcının en sade çözümü tercih etmesi gerekir.
Çünkü karmaşık : Bir problemin çözümü için birden fazla çözüm çö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.
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 edilir. Bu test aşamasında bir hata meydana gelir ise hatanın bulunduğu kod bloğunda iyileştirilme yapılır.
: Yazılan kod algoritmada olduğu gibi test
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.
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 anlatımlar bütünüdür.
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ı
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.
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 koşullara bakılarak hangi programlama dili, teknoloji, mimari, araç vb.
kullanılarak, çözümün planının ve mimarisinin tasarlanmasıdır.
ve 3.Geliştirme: bu aşamada yapılır. Bu aşamada arayüz tasarımları ve çeşitli ayarlamalar da yapılır.
Tasarımın artık hayata geçirilmeye başlandığı aşamadır. Kodlama 4.Hatalardan Arındırma: yeniden test edilir.
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
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.
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: olması gerekir.
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 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 email gönderme – alma işlemi yapacak bir yazılım geliştirilecekse, SMTP protokolünün iyi bilinmesi gerekir.
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.
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
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.
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.
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ı Toplama Çıkarma Çarpma Bölme Mod Atama Örnek C=A+B C=A-B C=A x B C=A / B C=A % B C=A+B Açıklama A ve B sayılarını toplar ve sonucu C ye aktarır.
A sayısından B yi çıkarır ve sonucu C ye aktarır.
A ve B sayılarını çarpar ve sonucu C ye aktarır. A sayısını B sayısına böler ve sonucu C ye aktarır. A sayısını B sayısına böler ve kalanı C ye aktarır.
A ve B sayılarını toplar ve sonucu C ye aktarır.
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ı Büyük Küçük Eşit Eşit Değil (Farklı) Büyük eşit Örnek A > B A < B A == B A != B A >= B <= Küçük eşit A <= B Açıklama A değişkeni B değişkeninden büyükse true, değilse false değeri üretir..
A değişkeni B değişkeninden küçükse true, değilse false değeri üretir..
A değişkeni B değişkeninden eşitse true, değilse false değeri üretir..
A değişkeni B değişkeninden eşit değilse true, değilse false değeri üretir..
A değişkeni B değişkeninden büyük yada eşitse true, değilse false değeri üretir..
A değişkeni B değişkeninden küçük yada eşitse true, değilse false değeri üretir..
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.
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.
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.
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
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ı1 4.2. Değilse Enbüyük=Sayı2 5. Enbüyüğü ekrana yaz 6. Dur
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 3. 1. ((Sayı % 2)==0) ise ekrana yaz ‘’çift’’ 3. 2. Değilse ekrana yaz ‘’tek’’ 4. Dur
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 + 1 7. Adım 4 e git 8. Yaz Toplam 9. Dur
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 3. 1. (Sayı > 100) ise Adım 6 ya git 3. 2. Eğer 3. 2. 1. ((Sayı % 8)==0) ise Sayıyı ekrana yaz 4. Sayı=Sayı + 1 5. Adım 3 e git 6. Dur
ALGORİTMA OLUŞTURMA
Akış Diyagramları; Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir.
Şekil Başla/Dur Anlamı Algoritmanın Başlangıcını ve bitişini göstermekte kullanılır.
Bilgi Girişi İşlem Kullanıcıdan bilgi alınacağı zaman kullanılır.
Aritmetiksel, Mantıksal vb. işlemleri ifade etmek için kullanılır.
Bilgi Çıkışı Kullanıcıya bilgi gösterileceği zaman kullanılır.
ALGORİTMA OLUŞTURMA
Akış Diyagramları; Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir.
Şekil Karar Döngü Bağ Anlamı 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.
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
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 Yaz Alan Dur Alan = Kenar * Kenar
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) True (E) Sayı1 > Sayı 2 False (H) Yaz Sayı1 Yaz Sayı2 Dur
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ı ) True (E) False (H) Sayı>0 True (E) False (H) ‘’POZİTİF’’ Sayı<0 ‘’SIFIR’’ ‘’NEGATİF’’ Dur
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.
Başla Toplam=0, Sayac=1, Sayac=1,100,1 Yaz ‘’Bir Sayı Girin’’ Yaz Toplam Dur Oku (Sayı) Toplam=Toplam + Sayı Başla Toplam=0, Sayac=1, Adet=0 Yaz ‘’Bir Sayı Girin’’
True (E)
Oku (Sayı) Toplam=Toplam + Sayı Adet=Adet + 1
Adet<=100
Yaz Toplam Dur
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ı)
True (E)
Sayac=Sayac + 1 Fakt=Fakt * Sayac
Sayac Yaz Fakt Dur 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. 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 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 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 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 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 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 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 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 FaktALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA
ALGORİTMA OLUŞTURMA