Autorské riešenie
[stiahni]

  • Počet riešiteľov:8 / 17= 47%

  • Úspešnosť riešenia:3.86 / 6= 65 %

Na to aby sme dostali všetkých vhodných darcov krvných skupín musíme porovnať každú krvnú skupinu zo zoznamu darcov (:darcovia) s krvnou skupinou chorého pacienta, ktorú dostane procedúra vyber darcov ako vstup. Zoznam darcov môže mať rôznu dĺžku, preto je nutné zistiť dĺžku zoznamu :darcovia a podľa toho stanoviť počet opakovaní. V cykle musíme napísať  samostatnú podmienku pre každú krvnú skupinu, pretože možnosti darovania sú pre každú krvnú skupinu iné.

viem vyberDarcov :krvnaSkupina
  opakuj pocet :darcovia[
    urobTu "darca prvok poc :darcovia
    urobTu "skupinaDarcu  prvok 2 :darca
    ak2 :krvnaSkupina="AB [
      pis :darca
    ][
      ak2  :krvnaSkupina="0 [
        ak :skupinaDarcu = "0 [
          pis :darca
        ]
      ][
        ak2 :krvnaSkupina="A [
          ak alebo :skupinaDarcu = "A :skupinaDarcu = "0 [
            pis :darca
          ]
        ][
          ak :skupinaDarcu ="B[
            ak alebo :skupinaDarcu = "B :skupinaDarcu = "0 [
              pis :darca
            ]
          ]
        ]
      ]
    ]
  ]
koniec

Vaše zaujímavé riešenia a najčastejšie chyby

Chyby:

Zaujímavou chybou bolo riešenie, keď si žiaci vytvorili samostatné globálne zoznamy pre každú krvnú skupinu, potom zistili, ktorá je na vstupe a zoznam len vypísali. Problém bol v tom, že zoznamy sa nemenili a boli vytvorené len pre pôvodne vygenerovaný zoznam darcov, ak sa zoznam zmenil, tak bol výsledok nesprávny.

V ďalšom prípade žiaci len porovnali vstupnú krvnú skupinu so zoznamom :darcovia a ak boli rovnaké tak ich vypísali, odignorovali samostatné podmienky pre krvné skupiny A, B a AB. Možným vysvetlením je aj to. že žiakom neostal dostatok času na vypisovanie samostatných podmienok.

Zbytočnou chybou bolo aj nepozorné čítanie – aj napriek jasnému zadaniu, ktoré vraví že sa ma vypísať meno darcu a jeho krvná skupina sa stalo že vypísali len meno darcu.

Zaujímavé riešenia:

Zaujímavým prístupom bolo keď jeden z tímov najprv zisťoval vstupnú krvnú skupinu, vnútri podmienky bol cyklus, ktorý prechádzal zoznamom darcov a v cykle podmienky pre darcov krvnej skupiny.

V jednom riešení si žiaci vytvorili pomocnú metódu v ktorej využili opačný prístup – uvedomili si že stačí aby platila jedna z troch podmienok

  • ak je darca 0 tak môže darovať všetkým príjemcom

  • ak je príjemca AB, môže prijať všetko

  • musí sa rovnať krvná skupina darcu a príjemcu.

Jeden z tímov si vytvoril ďalší globálny zoznam v ktorom si vypísal vhodné krvné skupiny pre vstupnú krvnú skupinu a potom len porovnával obsah tohto zoznamu so zoznamom darcov.