Lesson 9 Learning construction Step 5

by nathanesa

JavaScript

// Set up array.
studentMarks = [83, 72, 92, 65, 54, 54, 78, 67, 52, 54, 48, 69, 87, 55, 51, 52, 44, 57, 79, 64, 66, 19, 82, 71, 66, 31, 87, 83, 64, 78];

// Declare variables.
var i = 0;
var highMark = 0;
var lowestMark = 100;
var length = studentMarks.length;

// Output and test for highest score achieved.
for (i = 0; i < length; i++) {
  document.write('Student ' + i + ', mark out of 100: ' + studentMarks[i] + "<br>");
  if (studentMarks[i] > highMark) {
    highMark = studentMarks[i];
  }
}

document.write('Highest mark is ' + highMark + "<br>"); // Test print of highest mark.

// Test for lowest score achieved.
for (var j = 0; j < length; j++) {
  if (studentMarks[j] < lowestMark) {
    lowestMark = studentMarks[j];
  }
}

document.write('Lowest mark is ' + lowestMark + "<br>"); // Test print of lowest mark.

// Get a, b, c, d and e grades.
var gradeA = [];
var gradeB = [];
var gradeC = [];
var gradeD = [];
var gradeE = [];

for (i = 0; i < length; i++) {
  if (studentMarks[i] >= 85) {
    gradeA.push(i);
  } else if (studentMarks[i] < 85 && studentMarks[i] >= 65) {
    gradeB.push(i);
  } else if (studentMarks[i] < 65 && studentMarks[i] >= 45) {
    gradeC.push(i);
  } else if (studentMarks[i] < 45 && studentMarks[i] >= 25) {
    gradeD.push(i);
  } else if ( studentMarks[i] < 25) {
    gradeE.push(i);
  }
}

// Output concatenations.
document.write('Number of students tested: ' + length + '<br>');
document.write('Highest possible mark: ' + 100 + '<br>');
document.write('Highest mark achieved: ' + highMark + '<br>');
document.write('Lowest mark achieved: ' + lowestMark + '<br>');

document.write('<br>');
document.write('Grade A student numbers: ' + gradeA + '<br>');
document.write('Grade B student numbers: ' + gradeB + '<br>');
document.write('Grade C student numbers: ' + gradeC + '<br>');
document.write('Grade D student numbers: ' + gradeD + '<br>');
document.write('Grade E student numbers: ' + gradeE +...