6.3 KiB
Rozhodovanie: Procesor študentských známok
Ciele učenia
V tejto úlohe si precvičíte koncepty rozhodovania z tejto lekcie tým, že vytvoríte program na spracovanie študentských známok z rôznych hodnotiacich systémov. Použijete príkazy if...else, porovnávacie operátory a logické operátory na určenie, ktorí študenti prešli svoje kurzy.
Výzva
Pracujete pre školu, ktorá sa nedávno zlúčila s inou inštitúciou. Teraz musíte spracovať študentské známky z dvoch úplne odlišných hodnotiacich systémov a určiť, ktorí študenti prešli. Toto je ideálna príležitosť na precvičenie podmieneného logického myslenia!
Pochopenie hodnotiacich systémov
Prvý hodnotiaci systém (Číselný)
- Známky sú uvedené ako čísla od 1 do 5
- Prechodná známka: 3 a vyššie (3, 4 alebo 5)
- Neúspešná známka: Menej ako 3 (1 alebo 2)
Druhý hodnotiaci systém (Písmenové známky)
- Známky sú uvedené písmenami:
A,A-,B,B-,C,C- - Prechodné známky:
A,A-,B,B-,C,C-(všetky uvedené známky sú prechodné) - Poznámka: Tento systém neobsahuje neúspešné známky ako
DaleboF
Vaša úloha
Na základe nasledujúceho poľa allStudents, ktoré reprezentuje všetkých študentov a ich známky, vytvorte nové pole studentsWhoPass, ktoré bude obsahovať všetkých študentov, ktorí prešli podľa ich príslušných hodnotiacich systémov.
let allStudents = [
'A', // Letter grade - passing
'B-', // Letter grade - passing
1, // Numeric grade - failing
4, // Numeric grade - passing
5, // Numeric grade - passing
2 // Numeric grade - failing
];
let studentsWhoPass = [];
Postupný prístup
- Nastavte cyklus, ktorý prejde každú známku v poli
allStudents - Skontrolujte typ známky (je to číslo alebo reťazec?)
- Použite pravidlá príslušného hodnotiaceho systému:
- Pre čísla: skontrolujte, či je známka >= 3
- Pre reťazce: skontrolujte, či je to jedna z platných prechodných písmenových známok
- Pridajte prechodné známky do poľa
studentsWhoPass
Užitočné techniky kódu
Použite tieto koncepty JavaScriptu z lekcie:
- typeof operátor:
typeof grade === 'number'na kontrolu, či je to číselná známka - Porovnávacie operátory:
>=na porovnanie číselných známok - Logické operátory:
||na kontrolu viacerých podmienok písmenových známok - if...else príkazy: na spracovanie rôznych hodnotiacich systémov
- Metódy poľa:
.push()na pridanie prechodných známok do nového poľa
Očakávaný výstup
Keď spustíte svoj program, pole studentsWhoPass by malo obsahovať: ['A', 'B-', 4, 5]
Prečo tieto známky prešli:
'A'a'B-'sú platné písmenové známky (všetky písmenové známky v tomto systéme sú prechodné)4a5sú číselné známky >= 31a2neprešli, pretože sú číselné známky < 3
Testovanie vášho riešenia
Otestujte svoj kód s rôznymi scenármi:
// Test with different grade combinations
let testGrades1 = ['A-', 3, 'C', 1, 'B'];
let testGrades2 = [5, 'A', 2, 'C-', 4];
// Your solution should work with any combination of valid grades
Bonusové výzvy
Keď dokončíte základnú úlohu, vyskúšajte tieto rozšírenia:
- Pridajte validáciu: Skontrolujte neplatné známky (ako záporné čísla alebo neplatné písmená)
- Počítajte štatistiky: Vypočítajte, koľko študentov prešlo a koľko neprešlo
- Konverzia známok: Konvertujte všetky známky na jeden číselný systém (A=5, B=4, C=3, atď.)
Hodnotiace kritériá
| Kritérium | Vynikajúce (4) | Dobré (3) | Rozvíjajúce sa (2) | Začiatočnícke (1) |
|---|---|---|---|---|
| Funkčnosť | Program správne identifikuje všetky prechodné známky z oboch systémov | Program funguje s menšími problémami alebo okrajovými prípadmi | Program čiastočne funguje, ale má logické chyby | Program má významné chyby alebo nefunguje |
| Štruktúra kódu | Čistý, dobre organizovaný kód s vhodnou logikou if...else | Dobrá štruktúra s primeranými podmienenými príkazmi | Prijateľná štruktúra s niektorými organizačnými problémami | Slabá štruktúra, ťažko sledovateľná logika |
| Použitie konceptov | Efektívne využíva porovnávacie operátory, logické operátory a podmienené príkazy | Dobré využitie konceptov lekcie s menšími nedostatkami | Čiastočné využitie konceptov lekcie, ale chýbajú kľúčové prvky | Obmedzené využitie konceptov lekcie |
| Riešenie problémov | Jasne ukazuje pochopenie problému a elegantný prístup k riešeniu | Dobrý prístup k riešeniu problémov s pevnou logikou | Primerané riešenie problémov s určitým zmätkom | Nejasný prístup, neukazuje pochopenie |
Pokyny na odovzdanie
- Dôkladne otestujte svoj kód s poskytnutými príkladmi
- Pridajte komentáre, ktoré vysvetľujú vašu logiku, najmä pre podmienené príkazy
- Overte, že výstup zodpovedá očakávaným výsledkom:
['A', 'B-', 4, 5] - Zvážte okrajové prípady, ako prázdne polia alebo neočakávané typy údajov
💡 Tip: Začnite jednoducho! Najskôr zabezpečte základnú funkčnosť, potom pridajte sofistikovanejšie funkcie. Pamätajte, že cieľom je precvičiť logiku rozhodovania pomocou nástrojov, ktoré ste sa naučili v tejto lekcii.
Zrieknutie sa zodpovednosti:
Tento dokument bol preložený pomocou služby AI prekladu Co-op Translator. Hoci sa snažíme o presnosť, prosím, berte na vedomie, že automatizované preklady môžu obsahovať chyby alebo nepresnosti. Pôvodný dokument v jeho rodnom jazyku by mal byť považovaný za autoritatívny zdroj. Pre kritické informácie sa odporúča profesionálny ľudský preklad. Nenesieme zodpovednosť za akékoľvek nedorozumenia alebo nesprávne interpretácie vyplývajúce z použitia tohto prekladu.