yazikusagi.com

Algoritma Örnekleri#3 Bir sayının 1'den 9'a kuvvetlerini hesaplama

Algoritma örneklerimize devam ediyoruz. Daha evvel çarpım tablosu hazırlamıştık. Şimdi buna benzer şekilde girilen bir sayının ardışık olarak, 1'den başlayıp 9'uncu kuvvetini ekrana yazdıran bir programın algoritmasını tasarlayacağız. Oldukça kolay bir örnek.

17a. Girilen bir sayının 1'den 9'a kadar olan kuvvetlerini hesaplayan programın algoritmasını ve akış şemasını yazalım.

Algoritmada tüm değişkenleri reel olarak tanımladım. Böylece çok büyük sayı girildiğinde bunun kuvvetleri bilimsel gösterimle yazılıyor. Programı yazarken buna dikkat ediniz. Kaynak dosyası (17a'yı) aşağıdan indirebilirsiniz.

1. Başla

2. sayı, kuvvet ve n değişkenlerini tanımla

3. sayı değişkenini klavyeden oku.

4. n=sayıkuvvet değerini hesapla

5. kuvvet=9 ise n değerlerini ekrana yaz, değilse 4.adımı tekrarla

6. Dur

Akış şeması aşağıdaki gibidir.

üs alma işlemi yapan algoritma

İstenirse bu örnek şöyle de tasarlanabilir: Sayı da sayının hesaplanacak kuvveti de kullanıcı tarafından girilir. Bu durumda kuvvetin durumu önemli olacak. Mesela kullanıcı sayı olarak da kuvvet olarak 0 girerse veya kuvveti negatif girerse ne olacak? 00'ın tanımsız olduğunu biliyoruz. Burada negatif kuvvetleri de döngü olarak hesaplatmak zor. Çünkü negatif kuvvet rasyonel bir ifadedir ve 0 ile 1 arasında sonsuz tane rasyonel sayı vardır. Hatta örneğin 1/2 ile 1/3 arasında dahi sonsuz tane rasyonel sayı vardır. Dolayısıyla döngü içinde negatif kuvvet hesaplamak mümkün değil. Bunun yerine kuvvet negatif girilirse sadece onun değerini hesaplatabiliriz. Örneğin 2'nin -2'inci yani 1/2'inci kuvvetini hesaplatabiliriz. Bütün bunları dikkate alınca ortaya, biraz karmaşık görünen bir algoritma çıkıyor. Kaynak dosyasını (17b'yi) aşağıdan indirebilirsiniz.

17b. Girilen bir sayının yine girilecek olan kuvvetini, kuvvetin durumuna göre hesaplayan programın algoritmasını ve akış şemasını yazalım.

1. Başla

2. sayı, kuvvet, kuvvet2 ve n değişkenlerini tanımla

3. sayı ve kuvvet2 değişkenlerini klavyeden oku.

4. n=sayıkuvvet2 değerini hesapla

5. Eğer sayı = 0 ve kuvvet2 = 0 ise ekrana "00 tanımsızdır!" yazdırıp 7.adıma git

6. Eğer kuvvet2 = 0 ise 4.adımı tekrarla ve n=1 değerini ekrana yazdırıp 7.adıma git, değilse kuvvet=kuvvet2 olana dek 4.adımı tekrarla

7. Dur


Kaynak dosyaları buradan indirebilirsiniz.


Yorumlar

Yapacağınız yorumlarda kendi fikirlerinizi belirtiniz. Sağdan soldan kopyala-yapıştır yapmayınız! Kimseye hakaret etmeyiniz! Gizlilik ve yorum kurallarımız için buraya tıklayınız.