Links

👨‍👩‍👦 Nüfus Sayımı İstatistikleri

❓ Soru

Şanlıurfa’nın nüfusu 500.000, Gaziantep’in nüfusu 900.000’dir. Doğumlardan ve göçlerden dolayı Şanlıurfa’nın nüfusu yılda %2.5 ve Gaziantep’in nüfusu ise yılda %1.4 oranında artıyor. Buna göre Şanlıurfa’nın nüfusunun kaç yıl sonra Gaziantep’in nüfusunu geçeceğini bulan ve o andaki nüfuslarını hesaplayan algoritmayı yazınız.

⛓ Program Kısımları

  1. 1.
    Şanlıurfa’nın nüfusunun kaç yıl sonra Gaziantep’in nüfusunu geçeceğini ve geçtiği yıldaki nüfusu hesaplamak.
  2. 2.
    Sonuçları ekrana yazdırmak.

👓 Çözüm Yöntemi

  • sa_nunun ga_nudan küçük olduğu sürece oranı kullanarak yeni nüfusu hesaplayan ve yılı artıran bir döngü oluştururuz.

👩‍🔧 Çözüm Adımları

  1. 1.
    Değişkenlerin tanımlanması.
  2. 2.
    (sa_nu<=ga_nu) iken:
    1. 1.
      Nüfusların yeniden hesaplanması.
    2. 2.
      “yil” sayacının artırılması.
  3. 3.
    Sonuçların ekrana yazdırılması.

🤖 Kod

⚙ C++ Kodu

#include <iostream>
using namespace std;
int main()
{
int yil = 0, sa_nu = 500000, ga_nu = 900000; // Değişkenlerin tanımlanması
while (sa_nu <= ga_nu)
{
// Nüfusların yeniden hesaplanması
sa_nu = (int)(sa_nu + (sa_nu * 2.5 / 100));
ga_nu = (int)(ga_nu + (ga_nu * 1.4 / 100));
yil++; // “yil” sayacının artırılması
}
cout << yil << " yil sonra Sanliurfa nufusu " << sa_nu << " olacak "; // Sonuçların ekrana yazdırılması
}

🐍 Python Kodu

# Değişkenlerin tanımlanması
yil = 0
sa_nu = 500000
ga_nu = 900000
while (sa_nu <= ga_nu):
# Nüfusların yeniden hesaplanması
sa_nu = (int)(sa_nu + (sa_nu * 2.5 / 100))
ga_nu = (int)(ga_nu + (ga_nu * 1.4 / 100))
yil += 1 # “yil” sayacının artırılması
print(yil ," yil sonra Sanliurfa nufusu ", sa_nu, " olacak ") # Sonuçların ekrana yazdırılması

☕ Java Kodu

public class NufusSayimi {
public static void main(String arg[]) {
int yil = 0, sa_nu = 500000, ga_nu = 900000; // Değişkenlerin tanımlanması
while (sa_nu <= ga_nu)
{
// Nüfusların yeniden hesaplanması
sa_nu = (int)(sa_nu + (sa_nu * 2.5 / 100));
ga_nu = (int)(ga_nu + (ga_nu * 1.4 / 100));
yil++; // “yil” sayacının artırılması
}
System.out.println(yil + " yil sonra Sanliurfa nufusu "+sa_nu+" olacak "); // Sonuçların ekrana yazdırılması
}
}

⏹ C# Kodu

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NufusSayimi{
class Program{
static void Main(string[] args){
int yil = 0, sa_nu = 500000, ga_nu = 900000; // Değişkenlerin tanımlanması
while (sa_nu < ga_nu){
// Nüfusların yeniden hesaplanması
sa_nu = (int)(sa_nu + (sa_nu * 2.5 / 100));
ga_nu = (int)(ga_nu + (ga_nu * 1.4 / 100));
yil++; // “yil” sayacının artırılması
}
// Sonuçların ekrana yazdırılması
Console.WriteLine(yil);
Console.WriteLine(sa_nu);
Console.ReadLine();
}
}
}

🧩 Akış Şeması

🎉 Ekran Çıktısı

55 yil sonra Sanliurfa nufusu 1944329 olacak

💡 Notlar

  1. 1.
    Nüfus sayısını rasyonel sayıyla çarptığımız için sonuç da rasyonel oldu. O yüzden sayıyı inte dönüştürmek zorunda kaldık.