Categories
Algorithms and Programming I

Midterm Sample Questions

Akış Diyagramları

  1. 1’den 10’a kadar olan sayıların karesini hesaplayan programın akış diyagramını çiziniz?


    Flowchart uygulaması çözüm dosyasını indirmek için tıklayınız (Sağ tıklayıp, bağlantıyı farklı kaydet’e tıklayın).
  2. 3’ten 9’a kadar olan sayıların toplamını ekrana yazdıran programın akış diyagramını çiziniz?

    Flowchart uygulaması çözüm dosyasını indirmek için tıklayınız (Sağ tıklayıp, bağlantıyı farklı kaydet’e tıklayın).
  3. 1’den 100’e kadar olan sayılardan asal sayı olanları ekrana yazdıran programın akış diyagramını çiziniz?

    Flowchart uygulaması çözüm dosyasını indirmek için tıklayınız (Sağ tıklayıp, bağlantıyı farklı kaydet’e tıklayın).
  4. 0’dan 100’e kadar olan sayıları küçükten büyüğe doğru sıralayan programın akış diyagramını çiziniz?

    Flowchart uygulaması çözüm dosyasını indirmek için tıklayınız (Sağ tıklayıp, bağlantıyı farklı kaydet’e tıklayın).
  5. 0’dan 100’e kadar olan sayıları büyükten küçüğe doğru sıralayan programın akış diyagramını çiziniz?

    Flowchart uygulaması çözüm dosyasını indirmek için tıklayınız (Sağ tıklayıp, bağlantıyı farklı kaydet’e tıklayın).
  6. Aşağıda örneği verilen programın akış diyagramını çiziniz?
    1 * 6 = 6

    2 * 6 = 12

    12 * 6 = 72


    Flowchart uygulaması çözüm dosyasını indirmek için tıklayınız (Sağ tıklayıp, bağlantıyı farklı kaydet’e tıklayın).

  7. Girilen 3 sayının ortancasını bulan programın akış diyagramını çiziniz.
  8. Sıcaklık girişi alan, sıcaklık değeri 32’den büyük ise “sıcak” yazan, değilse 18’den büyükse “normal” yazan, değilse “soğuk” yazan programın akış diyagramını çiziniz.
  9. 1 vize 1 final yapılan bir okulda, final’e girmek için vizeden en az 50 almış olmak gerekmektedir. Vize notu 50 den aşağıda ise “kaldı” yazan, değilse vize notunun %40’ı ve final notunun %60’ı toplandığında 50 den yukarı ise “geçti”, değilse “kaldı” yazan programın akış diyagramını çiziniz.

Değişkenler ve Operatörler

  1. Kullanıcıdan bir tam sayı alınız. Alınan tam sayı Fahrenheit cinsinden sıcaklığı temsil etmektedir. Fahrenheit’ten Celsius’a dönüşüp yaparak, sıcaklığı ekrana Celsius cinsinden yazan bir uygulama geliştiriniz. C = 5.0 / 9.0 * (F – 32) formülü ile bulunmaktadır
  2. İki kenarının uzunluğu cm cinsinden tam sayı olarak alınan bir diktörtgenin alanını bulan programı yazınız.
  3. Bir üçgenin iki iç açısını kullanıcıdan tam sayı olarak alıp, diğer açısını ekrana çıktı veren uygulamayı yazınız. İç açılar toplamı 180 derecedir.
  4. Günümüzde bir litre benzinin fiyatı 6TL’dir. Kullanıcıdan gidilecek km bilgisini ve arabanın 100 km’de kaç lt benzin harcadığını floating sayı olarak alıp. Gidilecek KM göre kaç liralık benzin harcayacağını ekrana gösteren bir uygulama yazınız.

Seçim ve Kontrol Yapıları

  1. Kulanıcıdan alınan 3 sayının en büyüğünü bulan programı yazınız.
  2. Kullanıcıdan bir tam sayı alınız. Alınan tamsayının faktöriyelini ekrana bastıran uygulamayı yazınız.
  3. Sıcaklık girişi alan, sıcaklık değeri 32’den büyük ise “sıcak” yazan, değilse 18’den büyükse “normal” yazan, değilse “soğuk” yazan programını geliştiriniz.
  4. -1 girilene kadar, sürekli sayı alıp bir değişkenin üzerinde toplayan bir uygulama geliştiriniz. Uygulama -1 sayısını aldığı zaman önceden girilmiş olan sayıların toplamını ekrana yazmalıdır.
  5. 9999 girilene kadar, daha önceki girilen sayıların ortalamasını ekrana bastıran bir uygulama geliştirin. Uygulama 9999 sayısını aldığı zaman sayıların ortalamasını ekrana yazdırmalıdır.
  6. Kullanıcıdan iki tamsayı alınız. Bu iki tam sayı arasındaki çift sayıların toplamını ekrana yazdıran bir uygulama geliştiriniz. İlk sayı küçük, ikinci sayının büyük girileceğini varsayabilirsiniz.
  7. Aşağıdaki örüntüyü oluşturacak programı döngü kurarak yazınız. 1 * ile başlayıp, 10 yıldız ile bitmektedir.

    *
    **
    ***
    ****
    *****
    ******
    *******
    ********
    *********
    **********

  8. Aşağıdaki örüntüyü oluşturacak programı döngü(ler) kurarak yazınız.

    *
    ***
    *****
    *******
    *********
    *******
    *****
    ***
    *

  9. Kullanıcıdan -1 girişi gelen kadar 1 ile 5 arasında sayılar alın. Bu sayılardan kaç adet geldiğini sürekli değişkenlerde toplayın. Örn. 1 sayısından 25 defa girildiğini, 2 sayısından 30 defa girildiğini … tutan değişkenleriniz olsun. -1 girildiğinde, ekrana
    1: *******************************
    2: ***************
    3: **************************************
    4: **************
    5: **
    gibi, kaç adet geldi ise, ekrana o kadar * bastıran uygulamayı geliştiriniz.
  10. Bir üçgenin kenar uzunluklarının koşulu aşağıdaki şekilde verilmektedir.


    Kullanıcıdan üç tamsayı alıp, bu kenar ölçüleri ile geçerli bir üçgen olup olmayacağını ekrana yazan bir uygulama geliştiriniz.

Fonksiyonlar

  1. Bir otoparkta giriş ücreti 10TL’dir. Her bir saat için ek 2 TL ücret alınmakta ve 24 saat içerisinde en fazla 30 TL’lik ücret istenmektedir. Yani ücret 30TL’e geldiğinde 24 saat içinde 30TL’i aşmamaktadır. Buna göre ucretHesapla isminde bir fonksiyona, main’den alınan kaldığı saat değerini argüman olarak gönderip otopark ücreti hesapladıktan sonra mainden ekrana yazdıran bir uygulama geliştiriniz.

    Örnek çıktı

    Kaldığı saat 3, 16 TL
    Kaldığı saat 4, 18 TL
    Kaldığı saat 20, 30 TL
    Kaldığı saat 25, 32 TL

  2. Dik bir üçkenin, dik kenarları kullanıcıdan tam sayı olarak alınıyor. hipotenusHesapla fonksiyonu, iki tam sayı argüman almaktadır. Aldığı argümanlar ile hipotenüs’ü geri döndürmektedir. Mainden hipotenusHesapla fonksiyonuna argümanları gönderip, döndürdüğü sonucu ekrana bastıran bir uygulama yazınız. İpucu: Karakök için math.h kütüphanesinin altındaki sqrt fonksiyonunu kullanabilirsiniz.

  3. Bir sayının tersini alan tersiniAl isminde bir fonksiyon yazınız. Örneğin 7654 sayısı fonksiyona argüman olarak verildiğinde, fonksiyon geriye 4567 sayısını geri döndürmelidir. Fonksiyona giriş için main’den kullanıcı girişi alınız, fonksiyonun çıktısını ekrana bastırınız.
  4. Öğrencilerin notlarının değerlendirileceği bir ogrenciDegerlendir isminde bir fonksiyon yazınız. Bu fonksiyon argüman olarak 4 tam sayı girişi alsın. Bu tam sayı girişleri öğrencilerin notlarını ifade etmektedir. Notların ortalamasını alıp,

    90-100 arasında ise 5,
    80-89 arasında ise 4,
    70-79 arasında ise 3,
    60-69 arasında ise 2,
    50-59 arasında ise 1,
    hiçbiri değilse 0

    döndüren bir fonksiyon yazınız.
    Bu fonksiyona mainde kullanıcıdan alınan 4 girişi argüman olarak veriniz. Fonksiyonun döndürdüğü sayıyı ekrana bastırınız.

  5. Rand fonksiyonu ile rasgele sayılar üretilebilmektedir. Rand fonksiyonu kullanarak bir döngü içerisinde 100 defa, bir paranın yazı veya tura gelme durumunu sayınız. Bunun için rand fonksiyonunu geri döndürüğü değerin %2 sini alabilirsiniz. Dönecek olan 0 ve 1’lerin gelme sıklıklarını değişkenlerde sayınız. 100 adet denemede, kaç defa 0 kaç defa 1 geldiğini ekrana bastıran bir kod yazınız. İpucu, random sayı üretimi için kodun başında srand( time( NULL ) ); tanımlaması yapılmalıdır. stdlib.h ve time.h kütüphaneleri uygulamaya eklenmelidir.