|
|
չʾJavaScript¸÷ÖÖÓï¾ä±êʶ·ûµÄʵ¼ÊÓ¦ÓÃ
- // JavaScript Óï¾ä±êʶ·û - ѧÉú³É¼¨¹ÜÀíϵͳ
- // AIWROKÈí¼þ - չʾJavaScript¸÷ÖÖÓï¾ä±êʶ·ûµÄʵ¼ÊÓ¦ÓÃ
- // 🍎½»Á÷QQȺ711841924Ⱥһ£¬Æ»¹ûÄÚ²âȺ£¬528816639
- // ¶¨Òåprintlº¯ÊýÓÃÓÚÈÕÖ¾Êä³ö
- function printl() {
- var args = Array.prototype.slice.call(arguments);
- var message = '';
- for (var i = 0; i < args.length; i++) {
- if (i > 0) {
- message += ' ';
- }
- message += String(args[i]);
- }
- console.log(message);
- }
- // 1. var - ÉùÃ÷±äÁ¿
- var schoolName = "Ï£ÍûÖÐѧ";
- var maxStudents = 100;
- var currentYear = 2026;
- var passingGrade = 60;
- var gradeScale = ["A", "B", "C", "D", "F"];
- // 2. function - ¶¨Ò庯Êý
- function calculateAverage(scores) {
- if (scores.length === 0) return 0;
- var sum = 0;
- for (var i = 0; i < scores.length; i++) {
- sum += scores[i];
- }
- return sum / scores.length;
- }
- function getLetterGrade(score) {
- 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";
- }
- // 3. if...else - Ìõ¼þÅжÏ
- function evaluateStudentPerformance(student) {
- printl("--- ѧÉúÆÀ¹À ---");
-
- if (student.average >= 90) {
- printl("ѧÉú", student.name, "±íÏÖÓÅÐ㣡");
- } else if (student.average >= 80) {
- printl("ѧÉú", student.name, "±íÏÖÁ¼ºÃ");
- } else if (student.average >= passingGrade) {
- printl("ѧÉú", student.name, "´ïµ½¼°¸ñÏß");
- } else {
- printl("ѧÉú", student.name, "ÐèÒª¶îÍâ°ïÖú");
- }
- }
- // 4. while - Ñ»·´¦Àí
- function processStudentsWhile(students) {
- printl("ʹÓÃwhileÑ»·´¦ÀíѧÉú:");
-
- var index = 0;
- while (index < students.length) {
- var student = students[index];
- printl("´¦ÀíѧÉú:", student.name, "- ƽ¾ù·Ö:", student.average.toFixed(2));
- index++;
- }
- }
- // 5. do...while - ÖÁÉÙÖ´ÐÐÒ»´Î
- function validateInput(value) {
- printl("ÑéÖ¤ÊäÈëÖµ:", value);
-
- var isValid = false;
- do {
- if (typeof value === 'number' && value >= 0 && value <= 100) {
- isValid = true;
- printl("ÊäÈëÓÐЧ:", value);
- } else {
- printl("ÊäÈëÎÞЧ:", value, "- ±ØÐëÊÇ0-100Ö®¼äµÄÊý×Ö");
- break; // Ìø³ödo...whileÑ»·
- }
- } while (!isValid);
-
- return isValid;
- }
- // 6. for - ±éÀúÊý×é
- function displayStudentGrades(students) {
- printl("ѧÉú³É¼¨Áбí:");
-
- for (var i = 0; i < students.length; i++) {
- var student = students[i];
- var letterGrade = getLetterGrade(student.average);
- printl((i + 1) + ". " + student.name + " - ƽ¾ù·Ö: " +
- student.average.toFixed(2) + " - µÈ¼¶: " + letterGrade);
- }
- }
- // 7. for...in - ±éÀú¶ÔÏóÊôÐÔ
- function showStudentDetails(student) {
- printl("ѧÉúÏêϸÐÅÏ¢:");
-
- for (var key in student) {
- if (student.hasOwnProperty(key)) {
- printl(key + ": " + student[key]);
- }
- }
- }
- // 8. break - ÌáǰÍ˳öÑ»·
- function findTopStudent(students) {
- printl("ѰÕÒ×î¸ß·ÖѧÉú:");
-
- var topStudent = null;
- var highestScore = -1;
-
- for (var i = 0; i < students.length; i++) {
- if (students[i].average > highestScore) {
- highestScore = students[i].average;
- topStudent = students[i];
- }
-
- // Èç¹ûÕÒµ½Âú·ÖѧÉú£¬Á¢¼´Í˳ö
- if (highestScore === 100) {
- printl("ÕÒµ½Âú·ÖѧÉú£¬Í£Ö¹ËÑË÷");
- break;
- }
- }
-
- if (topStudent) {
- printl("×î¸ß·ÖѧÉú:", topStudent.name, "- ·ÖÊý:", highestScore);
- }
-
- return topStudent;
- }
- // 9. continue - Ìø¹ýÌØ¶¨µü´ú
- function filterFailedStudents(students) {
- printl("ɸѡ²»¼°¸ñѧÉú:");
-
- var failedStudents = [];
-
- for (var i = 0; i < students.length; i++) {
- if (students[i].average >= passingGrade) {
- continue; // Ìø¹ý¼°¸ñµÄѧÉú
- }
-
- failedStudents.push(students[i]);
- printl("²»¼°¸ñѧÉú:", students[i].name, "- ·ÖÊý:", students[i].average.toFixed(2));
- }
-
- return failedStudents;
- }
- // 10. switch - ¶à·ÖÖ§Ñ¡Ôñ
- function assignAwardBasedOnGrade(letterGrade) {
- printl("¸ù¾ÝµÈ¼¶·ÖÅä½±Ïî:");
-
- var award;
- switch (letterGrade) {
- case "A":
- award = "У³¤Ìرð½±";
- break;
- case "B":
- award = "ѧÊõÓÅÐã½±";
- break;
- case "C":
- award = "½ø²½¹ÄÀø½±";
- break;
- case "D":
- award = "ѧϰŬÁ¦½±";
- break;
- default:
- award = "¼ÌÐøÅ¬Á¦½±";
- }
-
- printl("µÈ¼¶", letterGrade, "»ñµÃ:", award);
- return award;
- }
- // 11. try...catch - ´íÎó´¦Àí
- function safeCalculateAverage(scores) {
- printl("°²È«¼ÆËãÆ½¾ù·Ö:");
-
- try {
- if (!Array.isArray(scores)) {
- throw new Error("²ÎÊý±ØÐëÊÇÊý×é");
- }
-
- if (scores.length === 0) {
- throw new Error("Êý×é²»ÄÜΪ¿Õ");
- }
-
- for (var i = 0; i < scores.length; i++) {
- if (typeof scores[i] !== 'number') {
- throw new Error("ËùÓÐÔªËØ±ØÐëÊÇÊý×Ö");
- }
- }
-
- var average = calculateAverage(scores);
- printl("¼ÆËã³É¹¦£¬Æ½¾ù·Ö:", average.toFixed(2));
- return average;
-
- } catch (error) {
- printl("¼ÆËã³ö´í:", error.message);
- return null;
- } finally {
- printl("¼ÆËã¹ý³Ì½áÊø");
- }
- }
- // 12. throw - Ö÷¶¯Å׳ö´íÎó
- function validateStudentData(student) {
- printl("Ñé֤ѧÉúÊý¾Ý:");
-
- if (!student || typeof student !== 'object') {
- throw new Error("ѧÉúÊý¾Ý±ØÐëÊǶÔÏó");
- }
-
- if (!student.name || typeof student.name !== 'string') {
- throw new Error("ѧÉúÐÕÃû±ØÐëÊÇ×Ö·û´®");
- }
-
- if (!Array.isArray(student.scores)) {
- throw new Error("ѧÉú³É¼¨±ØÐëÊÇÊý×é");
- }
-
- for (var i = 0; i < student.scores.length; i++) {
- if (student.scores[i] < 0 || student.scores[i] > 100) {
- throw new Error("³É¼¨±ØÐëÔÚ0-100Ö®¼ä");
- }
- }
-
- printl("ѧÉúÊý¾ÝÑé֤ͨ¹ý");
- return true;
- }
- // ×ÛºÏʾÀý£ºÑ§Éú³É¼¨¹ÜÀíϵͳ
- function studentManagementSystem() {
- printl("=== ѧÉú³É¼¨¹ÜÀíϵͳ ===");
- printl("ѧУ:", schoolName, "- Äê·Ý:", currentYear);
-
- // ´´½¨Ñ§ÉúÊý¾Ý
- var students = [
- {
- name: "ÀîÃ÷",
- scores: [92, 88, 95, 90],
- attendance: 98
- },
- {
- name: "Íõ·¼",
- scores: [78, 82, 75, 80],
- attendance: 95
- },
- {
- name: "ÕÅΰ",
- scores: [45, 52, 48, 55],
- attendance: 85
- },
- {
- name: "ÁõÑó",
- scores: [96, 94, 98, 92],
- attendance: 100
- }
- ];
-
- // Ϊÿ¸öѧÉú¼ÆËãÆ½¾ù·Ö
- for (var i = 0; i < students.length; i++) {
- students[i].average = calculateAverage(students[i].scores);
- students[i].grade = getLetterGrade(students[i].average);
- }
-
- // ÏÔʾËùÓÐѧÉúÐÅÏ¢
- sleep.second(2);
- displayStudentGrades(students);
-
- // ÆÀ¹Àÿ¸öѧÉú
- sleep.second(2);
- for (var j = 0; j < students.length; j++) {
- evaluateStudentPerformance(students[j]);
- }
-
- // ѰÕÒ×î¸ß·ÖѧÉú
- sleep.second(2);
- var topStudent = findTopStudent(students);
-
- // ɸѡ²»¼°¸ñѧÉú
- sleep.second(2);
- var failedStudents = filterFailedStudents(students);
-
- // ΪÓÅÐãѧÉú·ÖÅä½±Ïî
- sleep.second(2);
- if (topStudent) {
- assignAwardBasedOnGrade(topStudent.grade);
- }
-
- // ´íÎó´¦ÀíʾÀý
- printl("--- ´íÎó´¦Àí²âÊÔ ---");
- sleep.second(2);
-
- // ²âÊÔÓÐЧÊý¾Ý
- safeCalculateAverage([85, 90, 78, 92]);
-
- // ²âÊÔÎÞЧÊý¾Ý
- safeCalculateAverage("not an array");
- safeCalculateAverage([]);
- safeCalculateAverage([85, "invalid", 90]);
-
- // Êý¾ÝÑéÖ¤²âÊÔ
- try {
- validateStudentData({
- name: "²âÊÔѧÉú",
- scores: [85, 90, 78]
- });
- } catch (error) {
- printl("Ñé֤ʧ°Ü:", error.message);
- }
-
- // ͳ¼ÆÐÅÏ¢
- sleep.second(2);
- printl("=== ϵͳͳ¼Æ ===");
-
- var totalStudents = students.length;
- var passedCount = totalStudents - failedStudents.length;
- var overallAverage = calculateAverage(students.map(function(s) { return s.average; }));
-
- printl("×ÜѧÉúÊý:", totalStudents);
- printl("¼°¸ñÈËÊý:", passedCount);
- printl("²»¼°¸ñÈËÊý:", failedStudents.length);
- printl("ȫУƽ¾ù·Ö:", overallAverage.toFixed(2));
-
- // ʹÓÃwhileÑ»·ÏÔʾÏêϸͳ¼Æ
- printl("¸÷µÈ¼¶·Ö²¼:");
-
- var gradeCounts = {};
- for (var k = 0; k < gradeScale.length; k++) {
- gradeCounts[gradeScale[k]] = 0;
- }
-
- for (var l = 0; l < students.length; l++) {
- gradeCounts[students[l].grade]++;
- }
-
- var m = 0;
- while (m < gradeScale.length) {
- var grade = gradeScale[m];
- printl(grade + "¼¶:", gradeCounts[grade], "ÈË");
- m++;
- }
- }
- // Ö´ÐÐѧÉú¹ÜÀíϵͳ
- sleep.second(2);
- studentManagementSystem();
¸´ÖÆ´úÂë
|
|