hafta 1-2-3

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

Upload: independent

Post on 25-Feb-2023

4 views

Category:

Documents


0 download

TRANSCRIPT

ALGORİ

TMALAR

VE

PROGRA

MLAMAY

A GİRİ

Ş

Öğr. Gör. İsmail KARAMANÇankırı Karatekin ÜniversitesiMeslek 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 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.

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İTMABilgisayar 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 İLE PROBLEM ÇÖZMEProblem çö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.

ALGORİTMALAR İLE 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İTMALAR İLE 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 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.

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 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.

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: 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 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ŞTURMABir 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ŞTURMAAritmetik İş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ı Örnek Açıklama

+ Toplama C=A+B A ve B sayılarını toplar ve sonucu C ye aktarır.

- Çıkarma C=A-B A sayısından B yi çıkarır ve sonucu C ye aktarır.

* Çarpma C=A x B A ve B sayılarını çarpar ve sonucu C ye aktarır.

/ Bölme C=A / B A sayısını B sayısına böler ve sonucu C ye aktarır.

% Mod C=A % B A sayısını B sayısına böler ve kalanı C ye aktarır.

= Atama C=A+B A ve B sayılarını toplar ve sonucu C ye aktarır.

ALGORİTMA OLUŞTURMAMantı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ı Örnek Açıklama

> Büyük A > B A değişkeni B değişkeninden büyükse true, değilse false değeri üretir..

< Küçük A < B A değişkeni B değişkeninden küçükse true, değilse false değeri üretir..

== Eşit A == B A değişkeni B değişkeninden eşitse true, değilse false değeri üretir..

!=Eşit Değil

(Farklı)A != B A değişkeni B değişkeninden eşit değilse true,

değilse false değeri üretir..

>= Büyük eşit A >= 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şit A <= B A değişkeni B değişkeninden küçük yada eşitse

true, değilse false değeri üretir..

ALGORİTMA OLUŞTURMAAlgoritma 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ŞTURMASatı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ı24.Sonucu Ekrana Yaz5.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ŞTURMASatı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şla2.Oku (Kenar)3.Çevre=kenar * 44.Alan=kenar * kenar5.Çevreyi ekrana yaz6.Alanı ekrana yaz7.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ŞTURMASatı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şla2.Oku (Yol)3.Oku (Hız)4.Süre=Yol / Hız (Y=V * t den)5.Süreyi Ekrana Yaz6.Dur

ALGORİTMA OLUŞTURMASatır Algoritmaları;

Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz.

Çözüm;

1.Başla2.Oku (Sayı1)3.Oku (Sayı2)4.Eğer4.1. (Sayı1>Sayı2) Enbüyük=Sayı14.2. Değilse Enbüyük=Sayı25. Enbüyüğü ekrana yaz6.Dur

ALGORİTMA OLUŞTURMASatır Algoritmaları;

Örnek: Klavyeden girilen sayının tek yada çift olup olmadığını ekrana yazdıran algoritmayı oluşturunuz.

Çözüm;

1.Başla2.Oku (sayı)3.Eğer3. 1. ((Sayı % 2)==0) ise ekrana yaz ‘’çift’’3. 2. Değilse ekrana yaz ‘’tek’’4. Dur

ALGORİTMA OLUŞTURMASatı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şla2.Sayac=0, Toplam=03.Oku (sayı)4.Eğer (Sayac >= Sayı), Adım 8 e git5.Toplam = Toplam + Sayac6.Sayac = Sayac + 17.Adım 4 e git8.Yaz Toplam9.Dur

ALGORİTMA OLUŞTURMASatı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şla2.Sayı=03.Eğer 3. 1. (Sayı > 100) ise Adım 6 ya git3. 2. Eğer3. 2. 1. ((Sayı % 8)==0) ise Sayıyı ekrana yaz4.Sayı=Sayı + 15.Adım 3 e git6.Dur

ALGORİTMA OLUŞTURMAAkış Diyagramları;

Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir.

Şekil Anlamı

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ışı

ALGORİTMA OLUŞTURMAAkış Diyagramları;

Akış Diyagramları, algoritmanın belirli grafikler kullanılarak ifade edilme şeklidir.

Şekil 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.

Karar

Döngü

Bağ

ALGORİTMA OLUŞTURMAAkış 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ı24.Sonucu Ekrana Yaz5.Dur

Başla

(Sayı1,Sayı2)

Sonuç=Sayı1 + Sayı2

Yaz Sonuç

Dur

ALGORİTMA OLUŞTURMAAkış 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şla2.Oku (Kenar)3.Çevre=kenar * 44.Alan=kenar * kenar5.Çevreyi ekrana yaz6.Alanı ekrana yaz7.Dur

Başla

Oku (Kenar)

Çevre = 4 * Kenar

Yaz Çevre

Dur

Alan = Kenar * Kenar

Yaz Alan

ALGORİTMA OLUŞTURMAAkış 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)

ALGORİTMA OLUŞTURMAAkış 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)

ALGORİTMA OLUŞTURMAAkış 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

ALGORİTMA OLUŞTURMAAkış 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<Sayı

Yaz Fakt

Dur

True (E)

ALGORİTMA OLUŞTURMASö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.

ALGORİTMA OLUŞTURMASö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ı24.Sonucu Ekrana Yaz5.Dur

Sözde Kodlar

GET Sayı1GET Sayı2Sonuc=Sayı1+Sayı2DISPLAY Sonuc

ALGORİTMA OLUŞTURMASözde Kodlar;

Örnek: Klavyeden girilen iki adet sayıdan büyük olanını ekrana yazan algoritmayı oluşturunuz.

Çözüm;

GET Sayı1GET Sayı2IF (Sayı1>Sayı2) THENDISPLAY Sayı1ELSEDISPLAY Sayı2ENDIF

ALGORİTMA OLUŞTURMASö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) THENDISPLAY ‘Girilen Sayı Çifttir.’ELSEDISPLAY ‘Girilen Sayı Tektir.’END IF

ALGORİTMA OLUŞTURMASö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) THENDISPLAY ‘Sayı Pozitif’ELSE IF (Sayı<0) THENDISPLAY ‘Sayı Negatif’ELSEDISPLAY ‘Sayı Sıfır’END IF

ALGORİTMA OLUŞTURMASö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 1DISPLAY XEND FOR

ALGORİTMA OLUŞTURMASö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=0GET SayıFOR X=1 to Sayı STEP 1Toplam=Toplam + XEND FORDISPLAY Toplam

ALGORİTMA OLUŞTURMASö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 1IF ((Sayı % 8) ==0) THENDISPLAY SayıEND IFEND FOR

ALGORİTMA OLUŞTURMASözde Kodlar;

Örnek: Klavyeden girilen sayının faktöriyelini hesaplayan algoritmayı oluşturunuz.

Çözüm;

Fakt=1GET SayıFOR X=1 to Sayı STEP 1Fakt=Fakt * XEND FORDISPLAY Fakt