10 Ekim 2014 Cuma

Veri Yapıları Ve Algoritmalar-Ödev1

   Bayramdan önce gelen bu ödev derse ısınmak için ufak başlangıçtı. Genel itibariyle temel java programlamaya dayanan ödevin çözümünü paylaşmak istedim.

// Use JDK 1.7 or after
import java.util.Scanner;

public class Bag {
 static int[] bagArray = new int[100];
 static int index = 0;

 public static void main(String args[]) {
  Scanner scan = new Scanner(System.in);
  String x = null;
  String[] a = null;
  while (true) {
   try {
    System.out.print("Add(A), Delete(D), Find(F), Size(S), Min(m), Max(M), List(L), Quit(Q) >> ");
    x = scan.nextLine();
    a = new String[x.split(" ").length];
    a = x.split(" ");

    switch (a[0]) {
    case "A":
     add(Integer.parseInt(a[1]));
     break;
    case "D":
     delete(Integer.parseInt(a[1]));
     break;
    case "F":
     find(Integer.parseInt(a[1]));
     break;
    case "S":
     size();
     break;
    case "m":
     min();
     break;
    case "M":
     max();
     break;
    case "L":
     list();
     break;
    case "Q":
     quit();
    default:
     System.out.println("You entered unknown command");

    }
   } catch (Exception e) {
    System.out.println("Please enter the command properly");
   }
  }

 }

 public static void add(int number) {
  bagArray[index] = number;
  ++index;
  System.out.println(number + " is added to the Bag.");
 }

 public static void delete(int number) {
  boolean found = false;
  boolean found2 = false;
  int i;
  for (i = 0; i < bagArray.length; i++) {
   if (number == bagArray[i]) {
    found = true;
    break;
   }
  }
  if (found) {
   found2 = true;
   for (int j = i; j < bagArray.length - 1; j++) {
    bagArray[j] = bagArray[j + 1];
   }
   System.out.println(number + " is deleted from the Bag.");
  }
  if (found2)
   --index;

  if (!found) {
   System.out.println("Cannot delete " + number
     + ". It does not exist in the Bag.");
  }
 }

 public static void find(int number) {
  boolean found = false;
  int i;
  for (i = 0; i < bagArray.length; i++) {
   if (number == bagArray[i]) {
    found = true;
    break;
   }
  }
  if (found) {
   if (count(bagArray[i]) == 1)
    System.out.println("There is (" + count(bagArray[i]) + ") "
      + number + " in the Bag.");
   else
    System.out.println("There are (" + count(bagArray[i]) + ") "
      + number + " in the Bag.");
  } else
   System.out.println(number + " does not exist in the Bag.");

 }

 public static void size() {
  int counter = 0;
  for (int i = 0; i < bagArray.length; i++) {
   if (bagArray[i] != 0) {
    counter++;
   }
  }
  if(counter>1) System.out.println("There are "+ counter +"numbers in the Bag.");
  else System.out.println("There is "+counter+" numbers in the Bag.");
   }

 public static void min() {
  int x = bagArray[0];
  for (int i = 0; i < bagArray.length - 1; i++) {
   if (bagArray[i + 1] != 0) {
    if (x > bagArray[i + 1])
     x = bagArray[i + 1];
   }
  }
  System.out.println("Minimum: " + x);
 }

 public static void max() {
  int x = bagArray[0];
  for (int i = 0; i < bagArray.length - 1; i++) {
   if (bagArray[i + 1] != 0) {
    if (x < bagArray[i + 1])
     x = bagArray[i + 1];
   }
  }
  System.out.println("Maximum: " + x);
 }

 public static void list() {
  //Pdfdeki gibi çizilecekse %9=0 olanlarda +
  //geri kalanlar -
  int[] reg = new int[100];
  boolean found = true;
  System.out.println("+-----------+-----------+");
  System.out.println("|   Number  |   Occurs  |");
  for (int i = 0; i < bagArray.length; i++) {

   for (int j = 0; j < i; j++) {
    if (bagArray[i] != reg[j])
     found = true;
    else {
     found = false;
     break;
    }
   }
   if (bagArray[i] != 0 & found) {
    System.out.println("+-----------+-----------+");
    System.out.format("|%11d|", bagArray[i]);
    System.out.format("%11d|", count(bagArray[i]));
    System.out.println();
    reg[i] = bagArray[i];
   }
  }
  System.out.println("+-----------+-----------+");
 }

 public static int count(int number) {
  int counter = 0;
  for (int i = 0; i < bagArray.length; i++) {
   if (bagArray[i] != 0) {
    if (number == bagArray[i])
     ++counter;
   }
  }
  return counter;
 }

 public static void quit() {
  System.out.println("Bye");
  System.exit(0);
 }
}

5 Ekim 2014 Pazar

Neden Windows 10?



Uzun zamandır anca yazmaya vakit bulabildim. Bildiğiniz gibi yakında Windows 10 çıktı fakat herkes Windows 9 olarak bekliyordu. Bunun bazı nedenleri var tabii ki. Şimdi bunları açıklayalım;


1) Gerçekçi Nedenler:
* Windows Vista'nın çekirdek sürümü 6.0 dı. Microsoft bundan sonra Windows'ta rakam adlandırması tercih etti. Şöyle ki;

Windows 7'nin çekirdek sürümü 6.1      =>  6+1=7 
Windows 8'in çekirdek sürümü 6.2        =>  6+2=8

Adlandırma böyle yapılıyor. Windows 8.1 ise aslında Windows 9 olacaktı fakat Windows 8'in üzerinden fazla zaman geçmediğinden ve büyük değişiklikler yapılmadığından Windows 9 yerine 8.1 tercih edildi.  Böylece,

Çekirdek numarası  6.3  olup,    6+3 = 9
Windows 8.1 olduğundan     => 8+1= 9

oluyordu. Bu nedenlerden dolayı Microsoft Windows 10 adlandırmasını yaptı.

* Reddit'teki bir kullanıcıdan gelen söyleme göre(kendisi Microsoft'ta çalışıyormuş) Windows 95 ve Windows 98  Microsoft çalışanları tarafından Windows 9x olarak olarak görülüyormuş bu yüzden farklı bir adlandırmaya gidilmiş
2) Batıl İnanç
 İngilizce'de seven, eight, nine(yedi, sekiz, dokuz) aslında bir kelime oyunu. Yedi, dokuzu yedi(ate) anlamına da geliyor. Şu an Windows 7 en çok kullanılan ve en başarılı Windows sürümü olduğundan sanki Windows 9 onu geçemeyecek ve Windows 7, Windows 9'u yedi gibi bir anlam çıkıyordu. Bu hem batıl inanç hem de diğer firmaların dalga geçebileceği bir neden olduğundan Microsoft Windows 10 adlandırmasını uygun gördü.