forked from Open-CT/openct-tasks
295 lines
17 KiB
HTML
295 lines
17 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>2016-JP-01</title>
|
|
<link class="module" rel="stylesheet" href="../../../_common/modules/pemFioi/taskStyles-0.1.css" id="http://www.france-ioi.org/modules/pemFioi/taskStyles-0.1.css">
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/ext/jquery/1.7/jquery.min.js" id="http://code.jquery.com/jquery-1.7.1.min.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/ext/jquery-ui/jquery.ui.touch-punch.min.js" id="jquery.ui.touch-punch.min.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/ext/raphael/2.2.1/raphael.min.js" id="http://cdnjs.cloudflare.com/ajax/libs/raphael/2.2.1/raphael.min.js"></script>
|
|
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/ext/json/json2.min.js" id="https://github.com/douglascrockford/JSON-js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/beav-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/beav-1.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/drag_lib-2.0.js" id="http://www.france-ioi.org/modules/pemFioi/drag_lib.js"></script>
|
|
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/beaver-task-2.0.js" id="http://www.france-ioi.org/modules/pemFioi/beaver-task-2.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/simulation-2.0.js" id="http://www.france-ioi.org/modules/pemFioi/simulation-2.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/raphaelFactory-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/raphaelFactory-1.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/delayFactory-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/delayFactory-1.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/simulationFactory-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/simulationFactory-1.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/grid-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/grid-1.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/randomGenerator-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/randomGenerator-1.0.js"></script>
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/raphaelButton-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/raphaelButton-1.0.js"></script>
|
|
|
|
<script class="module" type="text/javascript" src="../../../_common/modules/pemFioi/graph-1.0.js" id="http://www.france-ioi.org/modules/pemFioi/graph-1.0.js"></script>
|
|
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/integrationAPI.01/installationAPI.01/pemFioi/installation.js" id="http://www.france-ioi.org/modules/integrationAPI.01/installationAPI.01/pemFioi/installation.js"></script>
|
|
<script class="proxy module" type="text/javascript" src="../../../_common/modules/integrationAPI.01/official/platform-pr.js" id="http://www.france-ioi.org/modules/integrationAPI.01/official/platform-pr.js"></script>
|
|
<script class="stdButtonsAndMessages module" type="text/javascript" src="../../../_common/modules/integrationAPI.01/installationAPI.01/pemFioi/buttonsAndMessages.js" id="http://www.france-ioi.org/modules/integrationAPI.01/installationAPI.01/pemFioi/buttonsAndMessages.js"></script>
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/integrationAPI.01/official/miniPlatform.js" id="http://www.france-ioi.org/modules/integrationAPI.01/official/miniPlatform.js"></script>
|
|
<script>
|
|
var stringsLanguage = 'fi';
|
|
</script>
|
|
<script class="remove" type="text/javascript">
|
|
var json = {
|
|
"id": "http://castor-informatique.fr/tasks/2016/2016-JP-01-potions/",
|
|
"language": "fi",
|
|
"version": "fi.01",
|
|
"authors": "Arthur Charguéraud, Mathias Hiron, Nir Lavee, and authors from Japanese Bebras team, France-ioi",
|
|
"translators": "Timo Poranen, Heikki Hyyrö",
|
|
"license": "CC BY-SA 3.0",
|
|
"taskPathPrefix": "",
|
|
"modulesPathPrefix": "",
|
|
"browserSupport": [],
|
|
"fullFeedback": true,
|
|
"acceptedAnswers": [],
|
|
"usesRandomSeed": false
|
|
};
|
|
</script>
|
|
<script type="text/javascript">
|
|
var taskStrings = {
|
|
names: {
|
|
curlyWhiskers: "Kiharat viikset",
|
|
whiteEyes: "Valkeat silmät",
|
|
bigTeeth: "Isot hampaat",
|
|
bigEars: "Isot korvat",
|
|
blackTeeth: "Mustat hampaat",
|
|
whiteNose: "Valkea nenä",
|
|
blackEars: "Mustat korvat",
|
|
whiteSkin: "Vaalea iho"
|
|
},
|
|
|
|
success: "Onnittelut, ratkaisit tämän version!",
|
|
wrong: "Väärä vastaus. Yritä uudelleen.",
|
|
wrongHard: function(correct, total) {
|
|
return "Olet päätellyt oikein " + correct + " / " + total + " juomaa. Nyt voit yrittää päätellä vielä enemmän. Klikkaa nappia sekoittaaksesi juomat ja aloittaaksesi uudelleen.";
|
|
},
|
|
wrongLogic: "Asetit punaisella ympäröidyn majavan väärään kohtaan.",
|
|
|
|
drinkButton: function(beavers) {
|
|
return "Anna majavien\njuoda";
|
|
},
|
|
reshuffleButton: "Sekoita juomat\nja aloita alusta",
|
|
|
|
noDrink: "Majava\nennen juomien\njuomista.",
|
|
emptyExperiment: "Anna kullekin majavalle vähintään yksi juoma.",
|
|
answerTooEarly: "Anna majavien ensin juoda.",
|
|
cupsTooLate: "Voit vaihtaa juomia vasta kun olet ensin painanut sekoitus ja aloita alusta -nappia."
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="task.js"></script>
|
|
<style>
|
|
#anim_container {
|
|
}
|
|
#anim {
|
|
display: inline-block;
|
|
}
|
|
#drinkingInstruction {
|
|
margin-left: 170px;
|
|
}
|
|
#experimentCups {
|
|
}
|
|
.usageInstructions {
|
|
}
|
|
#feedback {
|
|
height: 1em;
|
|
margin-top: 0.3em;
|
|
margin-bottom: 0.3em;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
color: #CC8844;
|
|
}
|
|
#validation {
|
|
margin-top: 1em;
|
|
text-align: center;
|
|
}
|
|
#validation input {
|
|
padding: 2px 10px 2px 10px;
|
|
}
|
|
#solution li {
|
|
padding-bottom: 0.5em;
|
|
}
|
|
#solInfo {
|
|
border-collapse: collapse;
|
|
}
|
|
#solInfo td {
|
|
border: 1px solid black;
|
|
padding: 4px;
|
|
text-align: center;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="task">
|
|
<h1>Taikajuomat</h1>
|
|
<div id="tabsContainer"></div>
|
|
<div id="taskContent">
|
|
<p id="difficultyWarning" class="hard"></p>
|
|
<p>
|
|
Majavat löysivät <span class="totalCups">X</span> erilaista taikajuomaa.
|
|
Kukin juoma aiheuttaa yhden muutoksen majavan kasvoihin.
|
|
</p>
|
|
<p id="drinkingInstruction" class="easy medium">Kukin seuraavista 3 majavasta joi <span class="experimentCups">X</span> juomaa. Heidän kasvonsa muuttuivat seuraavasti:
|
|
</p>
|
|
<p class="hard">
|
|
Kolme majavaa voivat kokeilla juomia. Selvitä heidän avullaan kunkin juoman vaikutus.
|
|
</p>
|
|
<p class="hard">
|
|
Raahaa juomat majavien luo ja klikkaa "Anna majavien juoda".
|
|
</p>
|
|
<p class="hard">
|
|
<strong>Huom:</strong> Jos annat majavan juoda uudelleen, myös juomat sekoitetaan uudelleen (ja tehtävän vastaus muuttuu!).
|
|
</p>
|
|
<div id="anim_container">
|
|
<div id="anim1"></div>
|
|
<div id="feedback"></div>
|
|
<div class="usageInstructions">
|
|
<p>
|
|
Kukin alla oleva majava joi yhden juoman. Raahaa kukin majava sen juoman alle, jota hän joi.
|
|
</p>
|
|
<p class="hard">
|
|
<strong>Huom:</strong> ei kannata yrittää löytää oikeaa vastausta satunnaisesti arvaamalla.
|
|
</p>
|
|
</div>
|
|
<div id="anim2"></div>
|
|
</div>
|
|
<div id="validation"><input type="button" value="Tarkista vastaus" id="execute" /></div>
|
|
|
|
<img id="bigEars_image" src="bigEars.png" style="display:none">
|
|
<img id="bigTeeth_image" src="bigTeeth.png" style="display:none">
|
|
<img id="blackEars_image" src="blackEars.png" style="display:none">
|
|
<img id="blackTeeth_image" src="blackTeeth.png" style="display:none">
|
|
<img id="curlyWhiskers_image" src="curlyWhiskers.png" style="display:none">
|
|
<img id="whiteEyes_image" src="whiteEyes.png" style="display:none">
|
|
<img id="whiteNose_image" src="whiteNose.png" style="display:none">
|
|
<img id="whiteSkin_image" src="whiteSkin.png" style="display:none">
|
|
<img src="icon.png" style="display:none">
|
|
</div>
|
|
</div><!-- task -->
|
|
<div id="solution">
|
|
|
|
<h2>Ratkaisu</h2>
|
|
<p>Tehtävässä pitää tutkia, mitkä juomat ja kasvojen muutokset esiintyvät keskenään samoissa kohdissa.</p>
|
|
<div class="easy">
|
|
<ul>
|
|
<li>Vain 1. ja 2. majava joivat juomaa B, ja vain heille tuli kiharat viikset: tämä on juoman B vaikutus.</li>
|
|
<li>Vain 2. ja 3. majava joivat juomaa C, ja vain heille tuli isot korvat: tämä on juoman C vaikutus.</li>
|
|
<li>Vain 1. majava joi juomaa A, ja vain hänelle tuli isot hampaat: tämä on juoman A vaikutus.</li>
|
|
<li>Vain 3. majava joi juomaa D, ja vain hänelle tuli mustat hampaat: tämä on juoman D vaikutus.</li>
|
|
</ul>
|
|
<p><img src="sol_easy_fi.png"></p>
|
|
</div>
|
|
<div class="medium">
|
|
<ul>
|
|
<li>Vain 1. ja 2. majava joivat juomaa A, ja vain heille tuli isot hampaat: tämä on juoman A vaikutus.</li>
|
|
<li>Vain 2. ja 3. majava joivat juomaa D, ja vain heille tuli isot korvat: tämä on juoman D vaikutus.</li>
|
|
<li>Vain 1. ja 3. majava joivat juomaa C, ja vain heille tuli mustat hampaat: tämä on juoman C vaikutus.</li>
|
|
<li>Vain 1. majava joi juomaa B, ja vain hänelle tuli kiharat viikset: tämä on juoman B vaikutus.</li>
|
|
<li>Vain 2. majava joi juomaa E, ja vain hänelle tuli mustat korvat: tämä on juoman E vaikutus.</li>
|
|
<li>Vain 3. majava joi juomaa F, ja vain hänelle tuli vaalea iho: tämä on juoman F vaikutus.</li>
|
|
</ul>
|
|
<p><img src="sol_medium_fi.png"></p>
|
|
|
|
</div>
|
|
<div class="hard">
|
|
<p>Toimitaan seuraavasti, jotta voimme yksikäsitteisesti yhdistää juomat kasvojen muutoksiin:</p>
|
|
<ul>
|
|
<li>Joitain juomia juo vain yksi majava.</li>
|
|
<li>Joitain juomia juo vain kaksi majavaa.</li>
|
|
<li>Yhtä juomaa juo vain kolme majavaa.</li>
|
|
<li>Yhtä juomaa ei juo yksikään majava.</li>
|
|
</ul>
|
|
<p>Aloitetaan jakamalla juomat A, B ja C kullekin eri kokeilijalle:</p>
|
|
<p><img src="sol_hard_1.png"></p>
|
|
<p>Jaetaan sitten juomat D, E ja F kullekin kolmelle mahdolliselle kahden kokeilijan yhdistelmälle: 1. ja 2. majava juovat juomaa D, 2. ja 3. majava juomaa E, ja 1. ja 3. majava juomaa F.</p>
|
|
<p><img src="sol_hard_2.png"></p>
|
|
<p>Lopuksi annetaan kaikille kokeilijoille juomaa G. Tämän jälkeen jäljelle jäänyttä juomaa H ei kokeilla lainkaan. Nyt voidaan antaa majavien juoda juomia.</p>
|
|
<p><img src="sol_hard_3.png"></p>
|
|
<p>Yllä on esitetty yksi mahdollinen tulos (juomien vaikutukset voivat vaihdella eri kerroilla, joten sinulle tulisi mahdollisesti erilainen tulos). Tuloksesta voi kuitenkin aina päätellä juomien vaikutukset. Esimerkkituloksen kohdalla se tapahtuisi seuraavasti:</p>
|
|
<ul>
|
|
<li>Kaikilla kolmella majavalla on isot hampaat: he kaikki joivat juomaa G. </li>
|
|
<li>Vain 1. ja 2. majavalla on isot korvat: vain he joivat juomaa D.</li>
|
|
<li>Vain 2. ja 3. majavalla on vaalea iho: vain he joivat juomaa E.</li>
|
|
<li>Vain 1. ja 3. majavalla on mustat korvat: vain he joivat juomaa F.</li>
|
|
<li>Vain 1. majavalla on mustat hampaat: vain hän joi juomaa A.</li>
|
|
<li>Vain 2. majavalla on kiharat viikset: vain hän joi juomaa B.</li>
|
|
<li>Vain 3. majavalla on valkoinen nenä: vain hän joi juomaa C.</li>
|
|
<li>Yhdenkään majavan silmät eivät ole valkoiset: kukaan ei juonut juomaa H.</li>
|
|
</ul>
|
|
<p>Alla on esitetty edellisten johtopäätösten mukainen ratkaisu:</p>
|
|
<p><img src="sol_hard_4_fi.png"></p>
|
|
</div>
|
|
|
|
<h2>Tämä on tietojenkäsittelyä!</h2>
|
|
|
|
<p>Tehtävän taustalta voidaan löytää esimerkiksi tietojenkäsittelyssä yleisesti käytetty perustavanlaatuinen <b>binäärilukujärjestelmä</b>.</p>
|
|
<p>Vaikeimmassa versiossa piti jakaa juomat majaville niin, että voimme yksikäsitteisesti yhdistää juomat kasvojen muutoksiin. Juomien jakotapa voidaan esittää esimerkiksi seuraavanlaisena taulukkona, jossa tiettyä majavaa vastaan sarakkeen tiettyä juomaa vastaavalla rivillä on arvo 1, jos kyseinen majava joi kyseistä juomaa, ja muuten 0. Kunkin juoman vaikutus voidaan päätellä yksikäsitteisesti jos ja vain jos taulukon kaikki rivit ovat keskenään erilaisia (jos kahdella juomalla olisi samanlaiset rivit, ei juomien vaikutuksia voisi erottaa toisistaan).
|
|
</p>
|
|
<p>Mikä tahansa sellainen taulukon täyttötapa, jossa kaikki rivit ovat erilaisia, mahdollistaa ratkaisun. Alla on yksi esimerkki (mikä poikkeaa esimerkkiratkaisun valinnoista).</p>
|
|
|
|
<p><table id="solInfo">
|
|
<tr>
|
|
<td></td>
|
|
<td>1. majava</td>
|
|
<td>2. majava</td>
|
|
<td>3. majava</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma A</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma B</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma C</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma D</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma E</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma F</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
<td>1</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma G</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>0</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Juoma H</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
<td>1</td>
|
|
</tr>
|
|
</table></p>
|
|
|
|
<p>Voimme tehdä huomion, että taulukon kaikki erilaisista riveistä koostuvat täyttötavat ovat pohjimmiltaan samantapaisia kuin yllä esitetty taulukko: taulukot eroavat vain sen suhteen, missä järjestyksessä numerorivit ovat. Tähän on selvä syy: taulukossa on kolme saraketta, ja niistä kuhunkin laitetaan joko 0 tai 1. On siis olemassa 2x2x2 = 8 erilaista riviä, ja toisaalta taulukossa on 8 riviä. Näin ollen jokainen rivi voidaan täyttää eri tavalla vain jos taulukkoon laitetaan kaikki 8 erilaista rivimahdollisuutta (jossain järjestyksessä).</p>
|
|
|
|
<p>Yllä esitetyn esimerkkitaulukon rivit vastaavat 10-kantajärjestelmän lukujen 0-7 esityksiä <strong>binäärilukuina</strong>: 000 = 0, 001 = 1, 010 = 2, 011 = 3, 100 = 4, 101 = 5, 110 = 6 ja 111 = 7.</p>
|
|
<p>Sellaisissa tietojenkäsittelyn ongelmissa, joiden ratkaisuun liittyy jonkin osajoukon (kuten tässä tiettyä juomaa maistavien majavien joukko) valinta, osajoukkoja kuvataan usein binäärilukuina. Esimerkiksi esimerkkitaulukon binääriluvut kuvaavat kaikki erilaiset 8 mahdollista tapaa valita jokin osajoukko kolmen alkion (tässä majavan) joukosta. Yleisemmin ottaen n-numeroisilla binääriluvuilla voidaan kuvata n-alkioisen joukon osajoukkoja.</p>
|
|
|
|
</div> <!-- task-solution -->
|
|
</body>
|
|
</html>
|