Ana sayfa Algoritma
Gönderi
İptal

Algoritma

Algoritma Programlama

Bir işin veya programın yapılması için adımlara bölünmüş halidir. Aslında hayatımızın her noktasında algoritmaları kullanırız farkında olmadan. Yemek yapmaktan araba kullanmaya kadar hepsi birer algoritma içerir. Bu başlığımızda algoritma kurma yöntemlerini inceleyeceğiz. Takıldığınız konuları discussions bölümünde sorabilirsiniz.

Programlama soruları

Bu bölümde programlama ile ilgili sorular sorulacaktır. Çözümlerine ilgili programlama sayfalarından ulaşabilirsiniz.

Kullanıcıya hikayesindeki karakterlerin isimleri sorulur ve o isimlerle hikaye yazdırılır.

Kullanıcıya yaşı sorulur ve doğum tarihi hesaplanır.

Kullanıcıya iki tam sayı sorulur ve arasında dört işlem yaptırılıp ekrana yazdırılır.

Kullanıcıya havanın sıcaklığı santigrat cinsinden sorulur ve fahrenayta çevrilir.

Kullanıcıya çap sorulur ve dairenin çevresi ve alanı hesaplanır.

Kullanıcıya eşkenar üçgenin bir kenarı sorulur gelen yanıta göre eşkenar üçgenin alanı hesaplanır.

Kullanıcıya elindeki türk parası miktarı sorulur, gelen yanıta göre ne kadar dolar ve euro alacağı söylenir.

Kullanıcıdan üç sayı istenir ve büyükten küçüğe yazdırılır.

Kullanıcıdan tek harflik cinsiyet bilgisi istenir buna göre bir cümle kurulur.

Kullanıcıdan elindeki Türk Lirası miktarı sorulur. Gelen yanıta göre ne kadar japon yeni alabileceği söylenir.

Kullanıcıya kürenin çapı sorulur, gelen yanıta göre hacmi hesaplanır.

Kullanıcıya notu sorulur. 50 den büyükse geçtin, 50 den küçükse kaldın yazdırılır.

Suyun sıcaklığı sorulur, 0 dan küçükse katı, 0-100 arasında sıvı, 100 den büyükse gaz yazdırılır.

flowchart LR
	A[Suyun sıcaklığı?] --> B{Su kaç derece?}
    B -->|0 dan küçük| C[Katı halde]
    B -->|0 - 100 arasında| D[Sıvı halde]
    B -->|100 den büyük| E[Gaz halde]

Kullanıcıdan bir sayı girmesi istenir. Bu sayı tek mi çift mi yazdırılır.

Kullanıcıya kişinin cinsiyeti ve yaşı sorulur. Ona göre hediye önerilir.

Kullanıcıya 3 adet tamsayı kenar girmesi istenir. Girilen kenarlara göre üçgen olup olmadığı, üçgense ne tür bir üçgen olduğu yazdırılması istenir.

Kullanıcıya beş tane cümlenin doğru mu yanlış mı olduğu sorulur sırayla ve notu açıklanır. (doğru için d, yanlış için y, not 100 üzerinden)

Kullanıcıya üçgen, kare, düzgün beşgen veya düzgün altıgen çeşidi sorulur ve bir kenar uzunluğu istenir. Girilen kenar uzunluğundan alan hesaplanır.

1 den 100 e kadar sayılar yazdırılır. (döngü)

flowchart LR
    A[Sayı = 1] --> B{Sayı<=100}
    B -->|Evet| C[Sayıyı yazdır]
    C --> D[Sayıyı 1 arttır]
    D --> B
    B ---->|Hayır| E[Programı bitir]

1 ile 100 arasında 3 veya 7 ye tam bölünen sayılar yazdırılır.

1 ve 100 arası sayılardan 2, 3 ve 5 ile tam bölünemeyen sayılar kaç tanedir?

Kullanıcıdan tek sayılar için T çift sayılar için C tüm sayılar için B girmesi istenir. İstediği şekilde sayılar 100 e kadar yazdırılır.

Kullanıcıdan belirsiz sayıda not girilip ortalaması hesaplanır. Not girişini durdurmak için 0 a basılır.

Kullanıcıdan 0 girilene kadar sayı girmesi istenir, girilen her sayıdan sonra şimdiye kadar girdiğiniz en büyük sayı: ve şimdiye kadar girdiğiniz en küçük sayı: şeklinde sonuçlar yazdırılır. 0 girildiğinde ise program sonlanır.

Kullanıcıdan bir sayı istenir o sayıya kadar olan sayıların toplamı istenir.

10 metre uzunluğundaki bir ağacın boyu her yıl %2 oranında artmaktadır. 50 yıl sonra bu ağacın boyu ne olur?

Kullanıcıdan parası, yıllık faiz oranı ve kaç yıl yatıracağı sorulur. Yatırılan yıl sonundaki faizleriyle birlikte parası hesaplanır.

Evrenin gizemli bir yerinde Diven diye bir gezegende Azanyum ve Sazanyum adlı iki türlü yaratık yaşıyordu. Her yılın son günü her Azanyum, bir sazanyum ve bir azanyum yaratacak şekilde bölünüyordu. Bir sazanyum ise bir azanyum iki sazanyuma bölünmekteydi. Bu gezegende hayatın tek bir azanyum ile başladığı bilinmekteydi. İncemeler şunu gösterdiki Sazanyum/Azanyum oranı 5/3 ü aştığında bu gezegende yaşam son bulacak. Sizce Diven gezegeninde yaşam bir gün son bulur mu? (Bu arada bölünen Azanyum ve Sazanyumlar yaşamaya devam ediyor)

Kullanıcıdan bir sayı istenir. Asal olup olmadığı yazdırılır.

flowchart LR
	A[Sayı iste] --> B[Bolen = 2 , Asal = True]
	B --> C{Bolen sayıdan küçük mü}
	C -->|Evet| D{Sayının Bolene kalanı?}
	D -->|0| E[Asal = False]
	D -->|0 dan farklı| F[Boleni 1 arttır]
	F --> C
	C -->|Hayır| G{Asal?}
	G -->|True| H[Sayı Asaldır]
	G -->|False| I[Sayı Asal değildir]
	E --> G

Girilen bir sayının palindrom olup olmadığını tespit eder. (tersinden de okunuşu aynı mı?)

1000 e kadar olan asal sayıları yazdırması istenir.

100 kişi bir pastayı bölüşmektedir. 1. kişi pastanın %1 ini, 2. kişi kalan pastanın %2 sini, 3. kişi kalan pastanın %3 nü ve böylece devam edip 100. kişi de kalan pastanın %100 ünü alır. Soru en çok payı kaçıncı kişi almıştır.

Girilen 5 sayıdan en büyüğünü bulan programı yazınız.

Girilen sayının basamaklarını tersten yazdıran program.

Bir kişinin yaşı iki basamaklıdır ve tersten yazılıp kendisi ile toplandığında elde edilen sonuç bir sayının karesidir. Bu kişinin yaşı en az kaç olabilir. Programlayınız

Girilen bir sayının yaklaşık kökünü bulan programı yazınız.

İki sayı istenir bu sayıların OKEK ve OBEB i bulunur.

Mükemmel sayıları bulan program. (Mükemmel sayı kendisi hariç bölenleri toplamı kendisine eşit olan sayılardır)

Arkadaş sayıları bulan program. (Arkadaş sayılar kendisi hariç bölenleri toplamı diğer sayıyı veren programdır)

Zengin sayıları veren program. (Zengin sayılar kendisi hariç bölenleri toplamı kendisinden büyük olan sayılardır)

Eğer bir sayının kendisi hariç tam bölenleri toplamı sayıdan büyükse o sayıya zengin sayı diyoruz. Örneğin 12 nin bölenleri 1,2,3,4,6 nın toplamı 16>12 olduğu için zengin sayıdır. En küçük tek zengin sayı nedir programlayınız?

Elimizde 10 cm boyunda olan ve sonsuza dek gerip uzatabileceğimiz özdeş bir lastik ip var. Bu ipin A ucunu bir duvara bağlıyoruz. B ucunu da bir arabaya bağlıyoruz. A ucuna bir solucan yerleştiriyoruz. Solucan ipin B ucuna doğru gidiyor. Saniyede 1 cm yol alıyor. Solucan 1 saniye süreyle gidince duruyor. Solucan durunca araba lastik ipi çekerek B ucunu 10 cm ileriye götürüyor ve duruyor. Araba durunca solucan yine 1 saniye süreyle gidiyor ve duruyor. Solucan durunca araba lastik ipin B ucunu yine 10 cm ileriye götürüyor ve duruyor. Ve bu olay hiç durmadan böyle tekrarlanıyor. Solucan lastik ipin B ucunu yakalayabilir mi? Programlayınız.

Bir okuldaki 100 kapalı dolabın önünde birer öğrenci duracak şekilde yerleşirler.

  1. düdük çaldığında 1 in katları olan tüm dolap kapakları açılır.
  2. düdük çaldığında 2 nin katları olan dolaplar açıksa kapanır kapalıysa açılır,
  3. düdük çaldığında 3 ün katları olan dolaplar yine aynı şekilde kapanır veya açılır,

. . . Bu böylece 100. düdük çalana kadar devam eder. 100. düdük çaldığında sadece 100. dolap kapağı açıksa kapanır kapalıysa açılır. Soru şu, bu işlemin sonucunda kaç dolap kapağı açık kalır?

Kullanıcıdan sayı istenir ve * lardan piramit yaptırılır.

Ada ve Deniz bir kutudan sırayla limon şekerleri alıyor. Önce Ada 1 şeker, sonra Deniz 2 şeker, sonra Ada 3 şeker, sonra Deniz 4 şeker biçiminde, sırası gelen kişi kutuda yeterince şeker kalmışsa, bir önceki seferde diğer kişinin aldığı şekerin bir fazlasını alıyor. Kutuda yeterli sayıda şeker kalmamışsa sırası gelen kişi kutudaki bütün şekerleri alıyor. Ada sonuçta toplam 2900 şeker almışsa, başlangıçta kutuda kaç tane limon şekeri vardı?

i^n * c^i = inci kelimesini veren rakamlar nelerdir.

Üç basamaklı rakamları birbirinden farklı tüm sayıları ekranda gösteren ve bu kurala uygun kaç tane sayı olduğunu söyleyen programı yazınız. Örnek çıktı : 102 103 104 105 106 107 108 109 120 123 . . . . . 980 981 982 983 984 985 986 987

Ali, bir romanın her gün bir önceki gün okuduğu sayfadan 5 sayfa fazlasını okumaktadır. İlk gün 10 sayfa okuyarak başlayan Alinin’ 1.000 sayfalık bir romanı kaç günde bitireceğini bulan programı kodlayınız.

Kullanıcıdan bir sayı istenir ve faktoriyeli bulunur.

10 kadar faktoriyeller bir dizinin elemanlarına kaydedilir. Dizinin indisi faktoriyeli verir dizi[5]=120 gibi.

Fibanocci dizisinin ilk 10 elemanı bir diziye kaydedilir.

Bir memur, ATM makinasından para çekmek istemektedir. Makinede sadece 10, 20, 50 ve 100 TL’ lik banknotlar kalmıştır. Büyük değerli banknotların sayısı maksimum olacak şekilde, çekilecek paranın kaç tane 100, 50, 20 ve 10 liralık banknottan oluşacağını ekranda yazan C programını yazınız.

5 kişinin katıldığı bir bilgi yarışmasının yalnız bir tane birincisinin olması koşuluyla yarışmanın kaç farklı şekilde sonuçlanabileceğini bulunuz.

2 ile 2022 arasında kaç sayı bir sayının karesi veya kübüdür. Sayıları da yazdırınız.

Farklı üç adet 2 basamaklı asal sayımız var.

  • Bu üç sayının ortalaması asal sayıdır.
  • Her sayı çiftinin ortalaması asal sayıdır.

Bu üç sayıyı bulan program.

Öyle üç farklı sayma sayı bulunuz ki herhangi ikisinin çarpımına üçüncü eklendiğinde bir kare sayı olsun sorusu program.

Duru yurt dışı gezisinde bir dükkandan 4 parça eşya alır. Dükkan sahibinin hesap yaparken sayıları toplayacağı yere çarptığını görür ve adalet duygusu hemen dükkan sahibini uyarmaya yöneltir. Fakat adam umursamazca “toplasam da aynı sonuç yani 7,11 dolar çıkacaktı” der. Durunun aldığı eşyaların fiyatı nedir?

Kullanıcıdan bir sayı istenir bu sayı palindromik ise Palindromik sayı yazdırılır, değilse Palindromik sayı değil yazdırılır. Palindromik sayı, iki taraftan okunduğu zaman okunuş yönüyle aynı olan sayılardır. Örnek: 1, 4, 8, 99, 101, 363, 4004, 9889, 13531 vb.

Öyle bir sayı bulun ki; İki katı bir sayının karesi, Üç katı bir sayının küpü olsun. Bu koşulları sağlayan en küçük pozitif sam sayı nedir? Programlayınız.

Girilen bir sayının armstrong sayısı olup olmadığını bulma. 100000 e kadar armstrong sayıları bulma.

1,2,3,4,5,6,7 sayıları yan yana diziliyor. En soldaki 3 sayının toplamı en sağdaki 5 sayının toplamına eşit olacak biçimde kaç farklı sıralama vardır? Programlama ile bulunuz.

İki rakamı aynı, rakamları çarpımı 84 olan kaç tane beş basamaklı sayı vardır? Programlayınız.

Rakamları toplamının 7 katına eşit olan iki basamaklı sayıları yazdıran program.

Kendini oluşturan rakamların faktöriyellerinin toplamına eşit olan yalnızca 4 sayı vardır. Bunlardan üçü

  1. 1 = 1!
  2. 2 = 2!
  3. 145 = 1! + 4! + 5!

Dördüncü sayıyı bulunuz.

Bir banka getirdiğiniz paraya %100 yıllık faiz vereceğini söyler. Hatta bu kampanyayı şu şekilde detaylandırır. Paranızı bir yıl boyunca istediğiniz süre zarflarında faizin ana paraya ekleterek devam edebilirsiniz. Yani 100 lirayı 1 yıllık yatırırsanız 200 liranız olurken 2 defa altışar aylık yatırırsanız ilk altı ayda 150 liranız tekrar faize girer ve ikinci altı ay sonunda 225 liranız olur.Banka kampanyayı abartıp aynı şekilde aylık, günlük, saatlik hatta dakika ve saniyelik şekilde bir yıl boyunca paranızı arttırmayı vaad eder.Süreyi istediğiniz kadar kısaltmayı size bırakır. Maksimum ne kadar karlı çıkarsınız? (Programlayınız)

Mustafa elindeki çeki bozdurmak için bankaya gitti. Fakat veznedar bir yanlışlık yaptı ve çekin üzerinde yazılı liralar yerine kuruş ve kuruşlar yerine de lira vererek çeki ödedi. Mustafa da dikkat etmeden paraları cebine koydu. Eve giderken paranın 5 kuruşunu düşürdü. Bu vesile ile parasını saydı ve cebinde çekin değerinin tam iki katı parası olduğunun farkına vardı. Çekin üzerinde yazılı olan miktar ne kadardı? Programlama ile bulunuz.

41 kişi daire şeklinde dizilir. Herkes kendi solundaki ikinci kişiyi öldürüyor. 1. Kişi başlarsa son kalan 2 kişi hangi sayılar olur? Programlayınız.

Birbirinden farklı 6 pozitif tam sayıdan üçerli iki grup oluşturuyorsunuz. Sayıları incelediğinizde şu iki özellik fark ediliyor. Birinci ve ikinci gruptaki sayıların toplamları birbirine eşit. Birinci ve ikinci gruptaki sayıların karelerinin toplamları birbirine eşit. Bu koşulları sağlayan en küçük toplama sahip 6 sayıyı bulunuz.

Küplerden oluşan bir piramitin birinci katında 1, ikinci katında 3, üçüncü katında 6 küp bulunmaktadır. Şayet bu piramit 100 katlı olsaydı toplam kaç küp bulunacaktır?

Ayşegül, Buket, Cansu , Derya adlı dört arkadaşın her biri birinden farklı 4 uğurlu sayısı vardır. Bu sayıların toplamı 15, ve her uğurlu sayıya üyelerin baş harfini verirsek; A ve C nin toplamı D den küçüktür. B ve C nin toplamı A dan küçüktür. B, C den küçüktür. Sayılar pozitif ve birbirinden farklıdır. Uğurlu sayıları bulunuz.

Bir kişinin telefon numarası oldukça ilginç. Yedi haneli telefon numarasının son dört rakamını blok halinde ön tarafa taşıyınca yeni numara orjinal sayının iki katının bir fazlası oluyor. Bu kişinin telefon numarası nedir?

Eski zamanlarda acımasız bir kral, on mahkumu daire biçiminde sıralar ve içlerinden birini seçerek ona bir kılıç verir. Kılıç kimdeyse solundaki ilk mahkumu öldürecek ve ölenin solundaki ilk canlı mahkuma kılıcı verecektir. İşlem tek bir mahkum kalana kadar devam edecek ve bu mahkum serbest bırakılacaktır. Kılıcın ilk verildiği mahkuma 1’den başlayarak sola doğru takip eden sayılar verilirse, bu on kişi içinden sırasıyla 2,4,6,8,10,3,7,1,9 numaralı mahkumlar ölecek ve 5 numaralı mahkum kurtulacaktır. Aynı işlem ONBİN mahkumluk bir gruba uygulansa hangi mahkum kurtulur programlayınız.

Sonsuzusun düzenlediği bir matematik yarışmasına 81 ilden (her ilden en az 1 en çok 10 öğrenci olmak üzere) bilinmeyen sayıda öğrenciler katılmıştır. Bütün öğrencilere yarışma salonuna girme sıralarına göre 1 ‘den başlamak üzere sırayla giriş numaraları verilmiştir. (Salona ilk girene 1, İkinci girene 2, vb.) Yarışma sonunda birinciliği kazanan öğrenci ye giriş numarası sorulduğunda şu cevabı vermiştir: “Salona benden önce gelen arkadaşların giriş numaralarının toplamıyla benden sonra gelenlerin giriş numaralarının toplamı birbirine eşittir. Benim numaramı buradan bulabilirsiniz.” Öğrencinin giriş numarasını programlama ile bulunuz.

Okunuşunda ki harfleri birbirinden farklı en büyük üç haneli sayı nedir? Programlayınız.

Fedai’nin Ödülü

“Yüzüğümü Honoria’ya başarıyla teslim ettiğin için,” dedi Atilla, fedaisi Tarkan’a, “sana ödül olarak arazi vereceğim ve yerini-yurdunu bileceksin. Şuradaki kazık yığınından dilediğin sayıda kazık al ve araziye dilediğin gibi çak. Sonuçta ilk başladığın yere dön. kazıkları iple birleştireceğim ve ipin belirlediği konveks arazi senin olacak. karar verdiğin sayıda kazığı topladığın andan itibaren 24 saatin var.”

Atilla’nın konveks falan dediğine bakmayın, matematik bilmez, ama Tarkan’da bilmez. Bir kazığı çakmasının 1 dakika sürdüğünü ve iki kazık arası mesafeyi daima aynı sabit hızla yürüdüğünü farz ederek, mümkün olduğunca büyük yüzölçümüne sahip olan araziyi çevreleyecek kazık sayısını bulması için Tarkan’a programlama ile yardım edin.

Ek bilgiler: ®tarkan ve ®honoria sonsuz’un tescilli kahramanıdır. Atilla Hun imparatorudur. Kazıklar Atilla’nın hazine müşteşarına zimmetlidir. İp çin malıdır.

image

Şekilde 4x4 karenin her sütunda ve satırda 2 kare karalı olacak şekilde kaç farklı biçimde karalayabilirsiniz programlayınız.

Rekürsif Fonksiyon Soruları

Faktoriyel hesabını rekürsif fonksiyon kullanarak bulunuz.

Fibanocci dizisi hesabını rekürsif fonksiyon ile bulunuz.

Collatz serisini rekürsif fonksiyonla yapınız.

Olasılık Soruları

Atılan iki zarın toplamının 7 gelme olasılığı nedir? (En az 10bin defa simule ediniz)

Rastgele iki noktasından kırılan bir çubuğun oluşturduğu üç kenarın bir üçgen olma olasılığı nedir?

10 tane madeni paranın 8 tanesi hilesizdir, 2 tanesinin ise her iki yüzü de turadır. Bu 10 madeni paradan bir tanesi rasgele seçilir ve 2 defa yazı-tura atılırsa, her ikisinin de tura gelme ihtimali kaçtır?

Bilgisayarın yukarı aşağı oyunu oynaması programı

Bu gönderi CC BY 4.0 lisansı altındadır.

-

C/C++ Programlama