Assignment 3
by Ron Eaglin
HTML
Number:<br>
<input type="text" name="number" id="number" ><br><br>
<input type="submit" id="click" value="Guess"><br><br>
JavaScript
var outputarray = new Array();
document.getElementById("click").onclick = function() {myFormSubmit()};
function myFormSubmit() {
var number_entered = 0;
var number_entered = document.getElementById("number").value;
array = new Array(1000);
for(var i=0; i < 1000; i++){
array[i] = i+1;
}
if (number_entered > 1 && number_entered <= 1000) {
outputarray = new Array();
doSearch(array, number_entered);
document.getElementById('guess-results').innerHTML = outputarray.join("<br>");
}
else {
document.getElementById('guess-results').innerHTML = "You entered " + number_entered + " Please enter a number between 1 and 1000"
}
}
function doSearch(array, targetValue) {
var min = 0;
var tries = 0;
var max = array.length - 1;
var guess;
while(min <= max) {
guess = Math.floor((max + min) / 2);
if (array[guess] == targetValue) {
outputarray.push("Machine Guessed "+ array[guess] + " = BINGO!");
outputarray.push("It took " + array[tries] + " tries.");
return guess;
}
else if (array[guess] < targetValue) {
tries++;
outputarray.push("Machine Guessed " + array[guess] + " = too low.");
min = guess + 1;
}
else {
tries++;
outputarray.push("Machine Guessed " + array[guess] + " = too high.");
max = guess - 1;
}
} return -1;
}