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;
}