Assignment 3

Searching Algorithm

by F Fornos

HTML

<h3>
Enter a number between 1 and 1000<br/>
</h3>
<input size="3" type="textbox" id="uInput" value="329" />
<input type="button" value="Computer Guess" onClick="myList();" />
<br/>

<div id="output">

</div>

JavaScript

var uInput;
var arraySize = 1000;
var upperLimit = arraySize - 1;
var lowerLimit = 0;
var list = new Array(arraySize);
var compGuess;
var totalAttempts = 0;
var compResults;
var report;
var listStart = "";

function myList() {
  var uInput = parseInt(document.getElementById("uInput").value);
  var i;
  for (i = 0; i < list.length; i++) {
    list[i] = i + 1;
    listStart += i + ":" + list[i] + "<br/>";
  }
  compResults = "";

  //start of guesses comparisons -
  numGuess = "y";
  do {
    compGuess = Math.floor(((upperLimit - lowerLimit) / 2) + lowerLimit);
    totalAttempts++;
    if (list[compGuess] == uInput) {
      numGuess = "n";
      compResults += "Guessed " + list[compGuess] + " - Got It!<br/>";
    }
    if (list[compGuess] > uInput) {
      numGuess = "y";
      upperLimit = compGuess;
      compResults += "Guessed " + list[compGuess] + " - too High.<br/>";
    }
    if (list[compGuess] < uInput) {
      numGuess = "y";
      lowerLimit = compGuess + 1;
      compResults += "Guessed " + list[compGuess] + " - too Low.<br/>";
    }
  }
  while (numGuess == "y")

  report = "";
  report += "____________________" + "<br/>";
  report += compResults;
  report += "____________________" + "<br/>";
  report += "It took me " + totalAttempts + " tries.<br/>";
  document.getElementById("output").innerHTML = report;
}