forked from Open-CT/openct-tasks
178 lines
7.6 KiB
HTML
178 lines
7.6 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>2018-FR-07-checkers-graph</title>
|
|
<script>
|
|
window.stringsLanguage = 'fr';
|
|
</script>
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/pemFioi/importModules-1.1_M.js" id="import-modules"></script>
|
|
<script class="remove" type="text/javascript">
|
|
var modulesPath = '../../../_common/modules';
|
|
importModules([
|
|
'jquery-1.7.1', 'jquery-ui.touch-punch', 'raphael-2.2.1', 'JSON-js',
|
|
'beav-1.0', 'beaver-task-2.0', 'simulation-2.0', 'raphaelFactory-1.0',
|
|
'delayFactory-1.0', 'simulationFactory-1.0', 'raphaelButton-1.0',
|
|
'jschannel', 'platform-pr', 'buttonsAndMessages', 'installationAPI.01',
|
|
'miniPlatform', 'taskStyles-0.1','graph-1.0', 'visual-graph-1.0', 'grid-1.0']);
|
|
</script>
|
|
<script class="remove" type="text/javascript">
|
|
var json = {
|
|
"id": "",
|
|
"language": "fr",
|
|
"version": "fr.01",
|
|
"authors": "France-ioi",
|
|
"translators": [],
|
|
"license": "CC BY-SA 3.0",
|
|
"taskPathPrefix": "",
|
|
"modulesPathPrefix": "",
|
|
"browserSupport": [],
|
|
"fullFeedback": true,
|
|
"acceptedAnswers": [],
|
|
"usesRandomSeed": false
|
|
};
|
|
</script>
|
|
<script type="text/javascript">
|
|
var taskStrings = {
|
|
success: "Bravo, vous avez réussi !",
|
|
errorWrongEdge: "Le trait marqué en rouge n'est pas présent dans l'objectif.",
|
|
errorMissingEdge: "Le trait marqué en rouge manque dans la situation actuelle.",
|
|
connectTokens: function(srcToken, dstToken, direction) {
|
|
var message = "On relie " + srcToken + " à " + dstToken + " car les deux se trouvent sur la même ";
|
|
if (direction == "vertical") {
|
|
message += "colonne.";
|
|
} else {
|
|
message += "rangée.";
|
|
}
|
|
return message;
|
|
},
|
|
connexionsInBlue: "Tous ces jetons sont coloriés en bleus sur le diagramme.",
|
|
noConnexions: function(srcToken) {
|
|
return "On ne relie " + srcToken + " à rien, car il est seul sur la rangée et sa colonne."
|
|
}
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="task.js"></script>
|
|
|
|
<style>
|
|
#board
|
|
{
|
|
width : 450px;
|
|
margin: 10px 10px;
|
|
}
|
|
#board, #graphContainer
|
|
{
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
}
|
|
#target
|
|
{
|
|
margin-bottom: 15px;
|
|
}
|
|
#graphContainer
|
|
{
|
|
width: 200px;
|
|
margin: auto;
|
|
text-align: center;
|
|
font-size: 18px;
|
|
}
|
|
.graphTitle {
|
|
margin-bottom: 0.5em;
|
|
}
|
|
#displayHelper_graderMessage {
|
|
margin-top: 1em;
|
|
margin-bottom: 1em;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
color: red;
|
|
}
|
|
#layoutTable {
|
|
margin-top: 2px;
|
|
}
|
|
#layoutTable td {
|
|
vertical-align: top
|
|
}
|
|
td#layoutTableFirstCol {
|
|
width: 480px;
|
|
}
|
|
#message {
|
|
color: green;
|
|
}
|
|
#solution img {
|
|
width: 250px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<div id="task">
|
|
<h1>Attaques croisées</h1>
|
|
<div id="tabsContainer"></div> <!-- will contain the versions tabs -->
|
|
<div id="taskContent">
|
|
<div id="zone_1">
|
|
<div class="consigne"> <!-- will contain the content of the task -->
|
|
<p>Déplacez les jetons de la grille pour que votre diagramme ait les mêmes traits que l'objectif.</p>
|
|
<p>Il y a un trait entre deux jetons s'ils sont sur la même rangée ou sur la même colonne dans la grille.</p>
|
|
</div>
|
|
</div>
|
|
<div id="zone_2">
|
|
<table id="layoutTable">
|
|
<tr><td id="layoutTableFirstCol">
|
|
<div id="board"></div>
|
|
<div id="message"></div>
|
|
</td><td>
|
|
<div id="graphContainer">
|
|
<div class="graphTitle">Objectif : </div>
|
|
<div id="target"></div>
|
|
<div class="graphTitle">Votre diagramme :</div>
|
|
<div id="current"></div>
|
|
</div>
|
|
</td></tr></table>
|
|
</div>
|
|
</div>
|
|
<img src="icon.png" style="display:none">
|
|
</div><!-- #task -->
|
|
|
|
<div id="solution">
|
|
<h2>Solution</h2>
|
|
|
|
<div class="easy">
|
|
<p>Pour relier <b>A</b> et <b>B</b>, plaçons ces jetons sur une même ligne.</p>
|
|
<img src="sol_easy_1.png">
|
|
<p>Pour relier <b>B</b> et <b>C</b>, il faut placer <b>C</b> sur la même ligne ou bien sur la même colonne que <b>B</b>.</p>
|
|
<p>Mais si l'on place <b>C</b> sur la même ligne que <b>B</b>, alors on obtient un trait entre <b>A</b> et <b>C</b> que l'on ne souhaite pas avoir.</p>
|
|
<img src="sol_easy_2.png">
|
|
<p>Il faut placer donc <b>C</b> sur la même colonne que <b>B</b>. Par exemple ainsi :</p>
|
|
<img src="sol_easy_3.png">
|
|
<p>Il reste à placer <b>D</b>. Pour que <b>D</b> soit relié à <b>C</b>, mais que <b>D</b> ne soit pas relié à <b>B</b> ni <b>A</b>, il faut placer <b>D</b> sur la même ligne que <b>C</b>, tout en évitant la colonne de <b>A</b>. Voici une solution :</p>
|
|
<img src="sol_easy_4.png">
|
|
<p>Il y a de nombreuses autres solutions, en voici par exemple une autre :</p>
|
|
<img src="sol_easy_5.png">
|
|
</div>
|
|
|
|
<div class="medium">
|
|
<p>Pour relier <b>A</b> et <b>B</b> et <b>C</b> tous les trois entre eux, plaçons ces jetons sur une même ligne.</p>
|
|
<img src="sol_medium_1.png">
|
|
<p>Ensuite, pour relier <b>D</b> à <b>B</b>, mais sans relier <b>D</b> à <b>A</b> ou à <b>C</b>, il faut placer <b>D</b> sur la même colonne que <b>B</b>.</p>
|
|
<img src="sol_medium_2.png">
|
|
<p>Enfin, pour relier <b>E</b> à <b>C</b> et à <b>D</b>, il faut placer <b>E</b> sur la même colonne que <b>C</b> et sur la même ligne que <b>D</b>.</p>
|
|
<img src="sol_medium_3.png">
|
|
</div>
|
|
|
|
<div class="hard">
|
|
<p>Une méthode efficace consiste à se concentrer sur les "triangles" qui sont formés dans le dessin objectif. En effet, un triangle reliant 3 jetons indique que ces 3 jetons se trouvent sur une même ligne ou une même colonne.</p>
|
|
<p>Pour relier <b>A</b> et <b>D</b> et <b>G</b> tous les trois entre eux, plaçons ces jetons sur une même ligne. Ensuite, pour relier <b>D</b> et <b>C</b> et <b>F</b> tous les trois entre eux, plaçons ces jetons sur la colonne de <b>D</b>.</p>
|
|
<img src="sol_hard_1.png">
|
|
<p>Pour relier <b>H</b> et <b>E</b> et <b>C</b> tous les trois entre eux, on place <b>H</b> et <b>E</b> sur la ligne de <b>C</b>, tout en évitant les colonnes déjà utilisées. </p>
|
|
<img src="sol_hard_2.png">
|
|
<p>Enfin, pour relier <b>B</b> à <b>E</b> et à <b>F</b>, il faut placer <b>B</b> à la fois sur la même colonne que <b>E</b> et sur la même ligne que <b>F</b>.</p>
|
|
<img src="sol_hard_3.png">
|
|
</div>
|
|
|
|
<!-- description of the solution -->
|
|
<h2>C'est de l'informatique !</h2>
|
|
<!-- explanations on why this task is about informatics -->
|
|
<img src="icon.png" style="display:none">
|
|
</div>
|
|
</body>
|
|
</html>
|