Pyramid Generator
Creates a pyramid using loops, arrays, and string methods.
- Loops & Functions
- Conditionals
- Array Manipulation
const character = "!";
const count = 10;
const rows = [];
let inverted = false;
function padRow(rowNumber, rowCount) {
return " ".repeat(rowCount - rowNumber) + character.repeat(2 * rowNumber - 1) + " ".repeat(rowCount - rowNumber);
}
for (let i = 1; i <= count; i++) {
if (inverted) {
rows.unshift(padRow(i, count));
} else {
rows.push(padRow(i, count));
}
}
let result = ""
for (const row of rows) {
result = result + row + "\n";
}
console.log(result);
Grade Book App
Calculates student grades and class average with feedback.
- Grade Logic
- Average Calculation
- Conditional Messages
function getAverage(scores) {
let sum = 0;
for (let i = 0; i < scores.length; i++) {
sum += scores[i];
}
return sum / scores.length;
}
function getGrade(score) {
if (score === 100) {
return "A++";
} else if (score >= 90) {
return "A";
} else if (score >= 80) {
return "B";
} else if (score >= 70) {
return "C";
} else if (score >= 60) {
return "D";
} else {
return "F";
}
}
function hasPassingGrade(score) {
return getGrade(score) !== "F";
}
function studentMsg(totalScores, studentScore) {
let average = getAverage(totalScores);
let grade = getGrade(studentScore);
if (hasPassingGrade(studentScore)) {
return "Class average: " + average + ". Your grade: " + grade + ". You passed the course.";
} else {
return "Class average: " + average + ". Your grade: " + grade + ". You failed the course.";
}
}
console.log(studentMsg([92, 88, 12, 77, 57, 100, 67, 38, 97, 89], 37));
console.log(studentMsg([56, 23, 89, 42, 75, 11, 68, 34, 91, 19], 100));