6.4 KiB
Päätöksenteko: Opiskelijoiden arvosanojen käsittely
Oppimistavoitteet
Tässä tehtävässä harjoittelet tämän oppitunnin päätöksentekokonsepteja rakentamalla ohjelman, joka käsittelee opiskelijoiden arvosanoja eri arvostelujärjestelmistä. Käytät if...else-lauseita, vertailuoperaattoreita ja loogisia operaattoreita määrittääksesi, mitkä opiskelijat läpäisevät kurssinsa.
Haaste
Työskentelet koulussa, joka on äskettäin yhdistynyt toisen oppilaitoksen kanssa. Nyt sinun täytyy käsitellä opiskelijoiden arvosanoja kahdesta täysin erilaisesta arvostelujärjestelmästä ja määrittää, mitkä opiskelijat läpäisevät. Tämä on täydellinen tilaisuus harjoitella ehdollista logiikkaa!
Arvostelujärjestelmien ymmärtäminen
Ensimmäinen arvostelujärjestelmä (Numeraalinen)
- Arvosanat annetaan numeroina välillä 1-5
- Hyväksytty arvosana: 3 ja sitä korkeammat (3, 4 tai 5)
- Hylätty arvosana: Alle 3 (1 tai 2)
Toinen arvostelujärjestelmä (Kirjaimet)
- Arvosanat annetaan kirjaimina:
A,A-,B,B-,C,C- - Hyväksytyt arvosanat:
A,A-,B,B-,C,C-(kaikki listatut arvosanat ovat hyväksyttyjä) - Huomio: Tässä järjestelmässä ei ole hylättyjä arvosanoja, kuten
DtaiF
Tehtäväsi
Annettuna seuraava taulukko allStudents, joka edustaa kaikkia opiskelijoita ja heidän arvosanojaan, rakenna uusi taulukko studentsWhoPass, joka sisältää kaikki opiskelijat, jotka läpäisevät omien arvostelujärjestelmiensä mukaan.
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 = [];
Vaiheittainen lähestymistapa
- Aseta silmukka, joka käy läpi jokaisen arvosanan
allStudents-taulukossa - Tarkista arvosanan tyyppi (onko se numero vai merkkijono?)
- Sovella sopivia arvostelujärjestelmän sääntöjä:
- Numeroille: tarkista, onko arvosana >= 3
- Merkkijonoille: tarkista, onko se yksi hyväksytyistä kirjainarvosanoista
- Lisää hyväksytyt arvosanat
studentsWhoPass-taulukkoon
Hyödyllisiä kooditekniikoita
Käytä näitä oppitunnilla opittuja JavaScript-konsepteja:
- typeof-operaattori:
typeof grade === 'number'tarkistaaksesi, onko kyseessä numeraalinen arvosana - Vertailuoperaattorit:
>=numeraalisten arvosanojen vertailuun - Loogiset operaattorit:
||tarkistaaksesi useita kirjainarvosanaehtoja - if...else-lauseet: käsitelläksesi eri arvostelujärjestelmiä
- Taulukkometodit:
.push()lisätäksesi hyväksytyt arvosanat uuteen taulukkoon
Odotettu tulos
Kun suoritat ohjelman, studentsWhoPass-taulukon tulisi sisältää: ['A', 'B-', 4, 5]
Miksi nämä arvosanat läpäisevät:
'A'ja'B-'ovat hyväksyttyjä kirjainarvosanoja (kaikki kirjainarvosanat tässä järjestelmässä ovat hyväksyttyjä)4ja5ovat numeraalisia arvosanoja, jotka ovat >= 31ja2hylätään, koska ne ovat numeraalisia arvosanoja < 3
Ratkaisun testaaminen
Testaa koodiasi eri skenaarioilla:
// 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
Bonushaasteet
Kun olet suorittanut perustehtävän, kokeile näitä lisähaasteita:
- Lisää validointi: Tarkista virheelliset arvosanat (kuten negatiiviset numerot tai virheelliset kirjaimet)
- Laske tilastot: Laske kuinka monta opiskelijaa läpäisee ja kuinka monta hylätään
- Arvosanojen muuntaminen: Muunna kaikki arvosanat yhdeksi numeraaliseksi järjestelmäksi (A=5, B=4, C=3 jne.)
Arviointikriteerit
| Kriteeri | Erinomainen (4) | Hyvä (3) | Kehittyvä (2) | Alkuvaiheessa (1) |
|---|---|---|---|---|
| Toiminnallisuus | Ohjelma tunnistaa oikein kaikki hyväksytyt arvosanat molemmista järjestelmistä | Ohjelma toimii pienillä ongelmilla tai reunatapauksilla | Ohjelma toimii osittain, mutta siinä on loogisia virheitä | Ohjelmassa on merkittäviä virheitä tai se ei toimi |
| Koodin rakenne | Siisti, hyvin järjestetty koodi, jossa on asianmukainen if...else-logiikka | Hyvä rakenne, jossa on sopivia ehtolauseita | Hyväksyttävä rakenne, jossa on joitakin järjestelyongelmia | Huono rakenne, vaikeasti seurattava logiikka |
| Konseptien käyttö | Käyttää tehokkaasti vertailuoperaattoreita, loogisia operaattoreita ja ehtolauseita | Hyvä konseptien käyttö pienillä puutteilla | Joitakin konseptien käyttöä, mutta puuttuu keskeisiä elementtejä | Rajoitettu konseptien käyttö |
| Ongelmanratkaisu | Osoittaa selkeää ymmärrystä ongelmasta ja eleganttia ratkaisua | Hyvä ongelmanratkaisulähestymistapa ja vankka logiikka | Riittävä ongelmanratkaisu, mutta jonkin verran epäselvyyttä | Epäselvä lähestymistapa, ei osoita ymmärrystä |
Palautusohjeet
- Testaa koodiasi perusteellisesti annetuilla esimerkeillä
- Lisää kommentteja selittääksesi logiikkasi, erityisesti ehtolauseiden kohdalla
- Varmista, että tulos vastaa odotettuja tuloksia:
['A', 'B-', 4, 5] - Huomioi reunatapaukset, kuten tyhjät taulukot tai odottamattomat tietotyypit
💡 Vinkki: Aloita yksinkertaisesti! Varmista ensin perustoiminnallisuus, ja lisää sitten monimutkaisempia ominaisuuksia. Muista, että tavoitteena on harjoitella päätöksentekologiikkaa oppitunnilla opituilla työkaluilla.
Vastuuvapauslauseke:
Tämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua Co-op Translator. Vaikka pyrimme tarkkuuteen, huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäinen asiakirja sen alkuperäisellä kielellä tulisi pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskäännöstä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.