Ana içeriğe atla

Algoritma 2.Bölüm

Algoritma Geliştirmek

Aritmetik İşlemler 


Mantıksal İşlemler


Algoritma Yazımı 

Problem çözmenin üçüncü adımı algoritma geliştirmektir. Gelişen algoritma bir şekilde ifade edilmeli, kağıt ya da bilgisayar ortamında yazılı hale getirilmelidir. Algoritmayı yazılı hale getirmenin üç yöntemi vardır:
■Satır diyagramı
■Akış diyagramı
■Sözde Kod(Pseudo- Code)
Yukarıdaki ilk iki yöntem; matematik, işletme, inşaat vb. herhangi bir konuda problem çözülürken kullanılabilir. Ancak sözde kod tamamen bilgisayar programlamaya yönelik bir gösterimdir. Aslında sözde kod algoritma yazımıyla kod yazımı arasında bir noktadır ve daha çok kodlamaya yakındır.

Satır Algoritma

Satır algoritmalar, problem çözümünü günlük yazı/konuşma diliyle ifade ederek ve sıra numarasıyla yazılarak oluşturulur. Konuşma diline ve insana en yakın ifade şekli olması nedeniyle, bir algoritmayı ifade etmenin en basit yoludur.
Örnek Problem - 1
   Ekrana sırasıyla 10,20 ve 30 değerlerini yazdıran algoritmayı tasarlayın.
Örnek Satır Algoritma -1
----------------------------------------------------------------------------------------------------------
1. Başla
2. Yaz "10"
3. Yaz "20"
3. Yaz "30"
4. Dur
----------------------------------------------------------------------------------------------------------

Örnek Problem - 2
   Kullanıcan iki sayı alıp, bu iki sayının çarpımını ekrana yazdıran algoritmayı tasarlayın.
Örnek Satır Algoritma - 2
----------------------------------------------------------------------------------------------------------
1. Başla
2. Oku (A,B)
3. C = A + B
4. Yaz C
5. Dur
----------------------------------------------------------------------------------------------------------

Örnek Problem - 3 
  Kullanıcıdan yaşını alıp, girilen değer 18'e eşitse yada 18' den büyükse ekrana "Reşitsiniz", girilen değer 18'den küçükse "Reşit değilsiniz"yazdıran algoritmayı tasarlayın.
Örnek Satır Algoritma - 3 
----------------------------------------------------------------------------------------------------------
1. Başla
2. Oku "Yaşınız? :" (Y)
3. Eğer
3.1. ( Y >= 18 ) yaz "Reşitsiniz."
3.2. (DEĞİLSE) yaz "Reşit değilsiniz."
4. Dur
----------------------------------------------------------------------------------------------------------
Örnek Problem -4 
   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ı tasarlayın.
Örnek Satır Algoritma -4 
----------------------------------------------------------------------------------------------------------
1. Başla
2. Sayac = 0 , Toplam= 0
3. Oku Sayı
4. Eğer Sayac >= Sayı, 8 no'lu adıma git
5. Toplam = Toplam + Sayac
6. ayac = Sayac +1
7. 4 no'lu adıma git
8. Yaz Toplam
9. Dur
----------------------------------------------------------------------------------------------------------

Akış Diyagramları


Örnek Problem -1 in Akış diyagramı

------------------------------
1. Başla
2. Yaz "10"
3. Yaz "20"
3. Yaz "30"
4. Dur
------------------------------
Örnek Problem - 2 nin Akış diyagramı
------------------------------
1. Başla
2. Oku (A,B)
3. C = A + B
4. Yaz C
5. Dur
------------------------------
Örnek Problem 3 ün Akış Diyagramı
------------------------------
1. Başla
2. Oku "Yaşınız? :" (Y)
3. Eğer
3.1. ( Y >= 18 ) yaz "Reşitsiniz."
3.2. (DEĞİLSE) yaz "Reşit değilsiniz." 
4. Dur

------------------------------
Şimdi ise yeni bir algoritma oluşturup hem satır algoritmasını hemde akış diyagramını tasarlayalım.

Örnek Problem - 5
    Kişiye adını soracak, daha sonra da adını kullanarak cisiyet unvanını ( bay/bayan ) soracak ve kullanıcının cinsiyet unvanıyla adını birleştirerek ekrana Merhaba X Bey/Hanım" yazdıran algoritmayı tasarlayın.

Örnek Satır Algoritması - 5
------------------------------
1. Başla
2. Yaz "Adınızı girin:"
3. Oku Ad
4. Yaz "Sayın" + Ad + ",Lütfen cinsiyet unvanınızı Bay/Bayan girin."
5. Oku Unvan
6. Yaz "Memnun oldum" + Unvan + " " + Ad
7. Dur

Python3 Kodu : 

Ad = input("Adınız:")
print("Sayin",Ad,",lütfen unvaninizi(Beyfendi/Hanfendi) girin)")
unvan= input("Beyfendi/Hanfendi")
print("Memnun oldum",unvan,Ad)
------------------------------
Örnek Problem - 6 
   Kullanıcıdan bir sayı girmesini isteyip, pozitif mi negatif mi yoksa sıfır mı olduğunu söyleyen algoritmayı tasarlayın.

Örnek Satır Algoritma - 6
------------------------------
1. Başla
2. Oku "Bir sayı girin." (Sayı)
3. Eğer
3.1. ( Sayı > 0 ) Yaz ( "Girdiğiniz sayı pozitiftir.")
3.2. ( Sayı < 0 ) Yaz ( "Girdiğiniz sayı negatiftir.")
3.3  ( Değilse) Yaz   ( "Girdiğiniz sayı sıfırdır.")
4. Dur 



Python 3 Kodu: 

sayi = int(input("Bir sayi girin."))
if ( sayi > 0 ):
    print("pozitif")
elif ( sayi < 0 ):
    print("negatif")
else:
    print("sıfır")
------------------------------


Tekrarlı Yapılar İçin Algoritma Geliştirmek

Örnek Problem -7
  Kullanıcıdan 100 ader sayı alarak, bu sayıların toplamını ekrana yazdıran algoritmayı tasarlayın.

Örnek Satır Algoritması - 7
------------------------------
1. Başla
2. Toplam = 0, Sayac = 1
3. Yaz "Bir sayı girin"
4. Oku Sayı
5. Eğer ( Sayac <= 100)
5.1. Toplam = Toplam + Sayı
5.2  Sayac = Sayac + 1
5.3  Git 4
6. Yaz Toplam
7. Dur
Python3 kodu:


toplam = 0
sayac = 1
while ( sayac <= 100):
    
    sayi = int(input("sayi:"))   
    toplam = toplam + sayi
    sayac = sayac + 1
    print(toplam)
------------------------------

Koşullu Tekrar Yapıları

Örnek Problem - 8
  Kullanıcının girdiği sayıları toplayan bir algoritma tasarlayın. Algoritma, Kullanıcı -1 girene kadar girdiği bütün sayıları alıp toplasın ve kullanıcı -1 girdiğinde kullanıcıdan sayı alma işlemini kesip, girilen sayıların toplamını ekrana yazdırsın.

Bu problemin bir öncekinden farkı, kaç kez tekrarlanacağnın bilinmemesidir. Kullancı iki sayı girdikten sonra -1 değeri girilebileceği gibi, belki de 100 tane ya da 200 tane sayıdan sonra -1 gelebilir. Kullanıcının -1 değerinin girmeden önce kaç tane sayı gireceğini bilmemiz mümkün değildir. Bu gibi durumlarda sayaç yapısını kullanamayız. Tekrarlama işlemini ancak kullanıcının girdiği -1 olup olmadığına bakarak gerçekleştirebiliriz.
Bu tip problemlerde tekrarlama işleminin bitmesi bir koşula bağlıdır. Bu koşul verilen problemin içerisinde yatar. Örneğimizde "Kullanıcıdan -1 "girmesi2, döngüden çıkış sinyalidir.
Örnek Satır Algoritması -8 
------------------------------
1. Başla
2. Toplam = 0
3. Döngü
4. Oku " Bir sayı girin" Sayı
5. Toplam = Toplam + Sayı
6. DöngüSonu(Sayı > 0 )
7. Yaz Toplam
8. Dur

Python3 Kodu : 


toplam = 0
sayi =0
while ( sayi !=-1):
    sayi = int(input("Bir sayı girin:"))
    toplam = toplam + sayi
    print(toplam)  
------------------------------

2.Bölüm Sonu
kaynak  : Algorima "Kadir Çamoğlu"

Yorumlar

  1. Asansör kullananların yaş ve cinsiyet bilgilerini kullanıcıdan isteyen ve buna göre 35-45 yaş arası asansör kullanan
    bayanların, tüm asansör kullananlara oranını hesaplayan akış diyagramını
    nasıl çizebiliriz.

    YanıtlaSil

Yorum Gönder

Bu blogdaki popüler yayınlar

Sensörler ve Transdüserler Vize çalışma notları

Sensör ve Transdüserler            Isı - Işık - Ses - Manyetik alan - Basınç 5 sensör çeşidi vardır. Sensivity ( hassasiyet) Linearity = Doğrusallık , Nonlinearity = Doğrusal olmayan  Accuary  = Sensörün isabetlilik oranı ne kadar yüksekse fiyatı o kadar artar. Hysteris = Artan ve azalan değerler arasında sensörün göstermiş olduğu tepki, farklılık. Saturation = -40 , +100 C ölçen sensör 101 C , 102 C sapmaz ama 110 C de sapma göstermeye başlar. Repeatability = Tekrarlanabilirlik. Sensörün en önemli özelliğidir. Sensörün o noktada her zaman aynı değer göstermesidir. Dead Band = Ölü bant. Sensör hiç bir şekilde tepki vermez. Resolution = Çözünürlük.                sensivity ile farkı;                - Hassasiyet 30,1 çıktısını verebilme özelliği. Çözünürlük ise dış tepkiye ne kadar yakın oluğudur.

Alternatif Akım(AC) Devre Analizi ders notları

AC devre analizi ders notları Saykıl; Alternatörün bir tam tur dönmesiyle meydana gelen dalga şeklidir.Sinüs dalgasında bir saykıl gerçekleştikten sonra sinyal kendini tekrarlamaya başlar.

Matkap İç Mekanizması

http://wonderfulengineering.com/ Matkap Nasıl Çalışır? Matkap İç Mekanizması ve Parçaları Nelerdir? Matkap , kullanılan malzemenin hassasiyetine göre ayarlanabilen çok amaçlı bir alet. Peki ama nasıl çalışır? Tetik düğmesi, darbe veya dönme etkisi düğmesi ve bir elektrik motoru. Motor milinin ucunda birinci dişliyle bağlantılı bulunan ikinci bir çark bulunur. Bu ikinci dişliye matkap başı ve matkap ucu bağlıdır. Motor dakikada 27.000 dönüş hızına erişebilir. Bu dönme hareketi küçük dişliyi(1 numaralı dişliyi) hareket ettirir. Bu dişli dönme hareketi daha büyük olan ikinci dişliye aktarır. Boyutlarındaki bu fark ilk dişli de ki yüksek hızı ikinci dişli de daha büyük bir güce dönüştürür. Matkapta darbe etkisi Darbe etkisi tetiğine bas ve küçük bir mil sayesinde ortada gördüğümüz ikinci dişlinin arkasındaki çıkıntı ile plakadaki çıkıntılı yere birkaç milimetre kayar ve yerleşir. Dişli dönmeye başladığı zaman ikinci dişlinin arkasındaki çıkıntılar öteki çı...