6.3 KiB
Rozhodování: Zpracování známek studentů
Cíle učení
V tomto úkolu si procvičíte koncepty rozhodování z této lekce tím, že vytvoříte program, který zpracovává známky studentů z různých systémů hodnocení. Použijete příkazy if...else, operátory porovnání a logické operátory k určení, kteří studenti projdou své kurzy.
Výzva
Pracujete pro školu, která se nedávno sloučila s jinou institucí. Nyní musíte zpracovat známky studentů ze dvou zcela odlišných systémů hodnocení a určit, kteří studenti projdou. To je ideální příležitost procvičit si podmíněnou logiku!
Porozumění systémům hodnocení
První systém hodnocení (Číselný)
- Známky jsou udělovány jako čísla od 1 do 5
- Prospěl: 3 a více (3, 4 nebo 5)
- Neprospěl: Méně než 3 (1 nebo 2)
Druhý systém hodnocení (Písmenové známky)
- Známky jsou udělovány jako písmena:
A,A-,B,B-,C,C- - Prospěl:
A,A-,B,B-,C,C-(všechny uvedené známky jsou prospěšné) - Poznámka: Tento systém neobsahuje neprospěšné známky jako
DneboF
Váš úkol
Na základě následujícího pole allStudents, které reprezentuje všechny studenty a jejich známky, vytvořte nové pole studentsWhoPass, které bude obsahovat všechny studenty, kteří projdou podle jejich příslušných systémů hodnocení.
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ý přístup
- Nastavte smyčku, která projde každou známku v poli
allStudents - Zkontrolujte typ známky (je to číslo nebo řetězec?)
- Použijte odpovídající pravidla systému hodnocení:
- Pro čísla: zkontrolujte, zda je známka >= 3
- Pro řetězce: zkontrolujte, zda je to jedna z platných prospěšných písmenových známek
- Přidejte prospěšné známky do pole
studentsWhoPass
Užitečné techniky kódu
Použijte tyto koncepty JavaScriptu z lekce:
- Operátor typeof:
typeof grade === 'number'pro kontrolu, zda je známka číselná - Operátory porovnání:
>=pro porovnání číselných známek - Logické operátory:
||pro kontrolu více podmínek písmenových známek - Příkazy if...else: pro zpracování různých systémů hodnocení
- Metody pole:
.push()pro přidání prospěšných známek do nového pole
Očekávaný výstup
Když spustíte svůj program, pole studentsWhoPass by mělo obsahovat: ['A', 'B-', 4, 5]
Proč tyto známky prošly:
'A'a'B-'jsou platné písmenové známky (všechny písmenové známky v tomto systému jsou prospěšné)4a5jsou číselné známky >= 31a2neprošly, protože jsou číselné známky < 3
Testování vašeho řešení
Otestujte svůj kód s různými scénáři:
// 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
Jakmile dokončíte základní úkol, zkuste tyto rozšíření:
- Přidejte validaci: Zkontrolujte neplatné známky (například záporná čísla nebo neplatná písmena)
- Spočítejte statistiky: Vypočítejte, kolik studentů prošlo vs. neprošlo
- Konverze známek: Převádějte všechny známky na jednotný číselný systém (A=5, B=4, C=3, atd.)
Hodnotící kritéria
| Kritéria | Vynikající (4) | Dobré (3) | Rozvíjející se (2) | Začínající (1) |
|---|---|---|---|---|
| Funkčnost | Program správně identifikuje všechny prospěšné známky z obou systémů | Program funguje s drobnými problémy nebo okrajovými případy | Program částečně funguje, ale má logické chyby | Program má významné chyby nebo nefunguje |
| Struktura kódu | Čistý, dobře organizovaný kód s odpovídající logikou if...else | Dobrá struktura s vhodnými podmíněnými příkazy | Přijatelná struktura s některými organizačními problémy | Špatná struktura, obtížně sledovatelná logika |
| Použití konceptů | Efektivní použití operátorů porovnání, logických operátorů a podmíněných příkazů | Dobré použití konceptů lekce s drobnými nedostatky | Nějaké použití konceptů lekce, ale chybí klíčové prvky | Omezené použití konceptů lekce |
| Řešení problému | Jasné pochopení problému a elegantní přístup k řešení | Dobrý přístup k řešení problému s pevnou logikou | Přiměřené řešení problému s určitým zmatením | Nejasný přístup, neprokazuje pochopení |
Pokyny k odevzdání
- Důkladně otestujte svůj kód s poskytnutými příklady
- Přidejte komentáře, které vysvětlují vaši logiku, zejména u podmíněných příkazů
- Ověřte, že výstup odpovídá očekávaným výsledkům:
['A', 'B-', 4, 5] - Zvažte okrajové případy, jako jsou prázdná pole nebo neočekávané datové typy
💡 Tip: Začněte jednoduše! Nejprve zajistěte, aby základní funkčnost fungovala, a poté přidejte sofistikovanější funkce. Pamatujte, že cílem je procvičit si logiku rozhodování pomocí nástrojů, které jste se naučili v této lekci.
Prohlášení:
Tento dokument byl přeložen pomocí služby AI pro překlady Co-op Translator. I když se snažíme o přesnost, mějte prosím na paměti, že automatizované překlady mohou obsahovat chyby nebo nepřesnosti. Původní dokument v jeho původním jazyce by měl být považován za autoritativní zdroj. Pro důležité informace se doporučuje profesionální lidský překlad. Neodpovídáme za žádná nedorozumění nebo nesprávné interpretace vyplývající z použití tohoto překladu.