svg fraction exercice

This commit is contained in:
2026-05-12 20:59:55 +02:00
parent b06222506c
commit 06bc8e3cf4
18 changed files with 599 additions and 782 deletions

View File

@@ -1,85 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>.bg{fill:#f6f5ef}.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}.soft{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:54px;font-weight:800;fill:#074f4b}.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:30px;font-weight:800;fill:#074f4b}.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:25px;fill:#1d3038}.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:22px;fill:#2d4148}.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:72px;font-weight:800;fill:#074f4b}.line{stroke:#26383d;stroke-width:4;stroke-linecap:round}.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}.orange{fill:#e78232}.blue{fill:#1d78b5}</style>
</defs>
<defs><style>.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}</style></defs>
<rect class="bg" width="1600" height="900" />
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />
<text x="800" y="116" text-anchor="middle" class="title">Exercices - Lire et écrire une fraction</text>
<g transform="translate(110 190)">
<rect width="430" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">1. Lis les fractions</text>
<g class="math-expression">
<g transform="translate(70 145)" class="fraction-g">
<text x="29" y="-30" text-anchor="middle" class="frac">1</text>
<line x1="0" y1="5" x2="58" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="29" y="56" text-anchor="middle" class="frac">2</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(70 235)" class="fraction-g">
<text x="29" y="-30" text-anchor="middle" class="frac">3</text>
<line x1="0" y1="5" x2="58" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="29" y="56" text-anchor="middle" class="frac">4</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(70 325)" class="fraction-g">
<text x="29" y="-30" text-anchor="middle" class="frac">5</text>
<line x1="0" y1="5" x2="58" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="29" y="56" text-anchor="middle" class="frac">8</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(70 415)" class="fraction-g">
<text x="48" y="-30" text-anchor="middle" class="frac">7</text>
<line x1="0" y1="5" x2="96" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="48" y="56" text-anchor="middle" class="frac">10</text>
</g>
</g>
<line x1="230" y1="145" x2="375" y2="145" class="blank" />
<line x1="230" y1="235" x2="375" y2="235" class="blank" />
<line x1="230" y1="325" x2="375" y2="325" class="blank" />
<line x1="250" y1="415" x2="375" y2="415" class="blank" />
</g>
<g transform="translate(590 190)">
<rect width="430" height="560" rx="24" class="panel" />
<text x="32" y="58" class="h2">2. Haut et bas</text>
<g class="math-expression">
<g transform="translate(58 135)" class="fraction-g">
<text x="29" y="-30" text-anchor="middle" class="frac">2</text>
<line x1="0" y1="5" x2="58" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="29" y="56" text-anchor="middle" class="frac">5</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(58 255)" class="fraction-g">
<text x="29" y="-30" text-anchor="middle" class="frac">4</text>
<line x1="0" y1="5" x2="58" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="29" y="56" text-anchor="middle" class="frac">9</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(58 375)" class="fraction-g">
<text x="29" y="-30" text-anchor="middle" class="frac">6</text>
<line x1="0" y1="5" x2="58" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="29" y="56" text-anchor="middle" class="frac">7</text>
</g>
</g>
<text x="210" y="120" class="small">Numérateur :</text>
<line x1="210" y1="155" x2="370" y2="155" class="blank" />
<text x="210" y="205" class="small">Dénominateur :</text>
<line x1="210" y1="240" x2="370" y2="240" class="blank" />
<text x="210" y="325" class="small">Recommence pour les autres.</text>
</g>
<g transform="translate(1070 190)">
<rect width="420" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">3. Écris en chiffres</text>
<text x="45" y="140" class="body">deux tiers</text>
<line x1="45" y1="180" x2="340" y2="180" class="blank" />
<text x="45" y="255" class="body">trois cinquièmes</text>
<line x1="45" y1="295" x2="340" y2="295" class="blank" />
<text x="45" y="370" class="body">neuf dixièmes</text>
<line x1="45" y1="410" x2="340" y2="410" class="blank" />
<text x="45" y="500" class="small">Explique avec unité et parts.</text>
</g>
<text x="800" y="112" class="title" text-anchor="middle">Exercices - Lire et ecrire une fraction</text>
<g transform="translate(110 190)"><rect width="430" height="560" rx="24" class="card" /><text x="32" y="58" class="h2">1. Lis</text><g transform="translate(58 145)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">1</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">2</text></g><line x1="190" y1="153" x2="360" y2="153" class="blank" /><g transform="translate(58 255)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><line x1="190" y1="263" x2="360" y2="263" class="blank" /><g transform="translate(58 365)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">5</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">8</text></g><line x1="190" y1="373" x2="360" y2="373" class="blank" /><g transform="translate(58 475)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 102 110"><text x="43" y="-25" text-anchor="middle" class="frac">7</text><line x1="0" y1="8" x2="86" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="43" y="62" text-anchor="middle" class="frac">10</text></g><line x1="190" y1="483" x2="360" y2="483" class="blank" /></g><g transform="translate(590 190)"><rect width="430" height="560" rx="24" class="white" /><text x="32" y="58" class="h2">2. Haut et bas</text><g transform="translate(58 145)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">2</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">5</text></g><text x="175" y="123" class="small">Numerateur :</text><line x1="320" y1="123" x2="385" y2="123" class="blank" /><text x="175" y="187" class="small">Denominateur :</text><line x1="330" y1="187" x2="385" y2="187" class="blank" /><g transform="translate(58 305)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">4</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">9</text></g><text x="175" y="283" class="small">Numerateur :</text><line x1="320" y1="283" x2="385" y2="283" class="blank" /><text x="175" y="347" class="small">Denominateur :</text><line x1="330" y1="347" x2="385" y2="347" class="blank" /><g transform="translate(58 465)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">6</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">7</text></g><text x="175" y="443" class="small">Numerateur :</text><line x1="320" y1="443" x2="385" y2="443" class="blank" /><text x="175" y="507" class="small">Denominateur :</text><line x1="330" y1="507" x2="385" y2="507" class="blank" /></g><g transform="translate(1070 190)"><rect width="420" height="560" rx="24" class="card" /><text x="32" y="58" class="h2">3. Ecris</text><text x="45" y="140" class="body">deux tiers</text><line x1="45" y1="180" x2="340" y2="180" class="blank" /><text x="45" y="260" class="body">trois cinquiemes</text><line x1="45" y1="300" x2="340" y2="300" class="blank" /><text x="45" y="380" class="body">neuf dixiemes</text><line x1="45" y1="420" x2="340" y2="420" class="blank" /><text x="45" y="510" class="small">Ecris avec une barre horizontale.</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -1,64 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>.bg{fill:#f6f5ef}.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}.soft{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:54px;font-weight:800;fill:#074f4b}.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:30px;font-weight:800;fill:#074f4b}.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:25px;fill:#1d3038}.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:22px;fill:#2d4148}.line{stroke:#26383d;stroke-width:4}.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}.orange{fill:#e78232}.green{fill:#2f9246}</style>
</defs>
<defs><style>.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}</style></defs>
<rect class="bg" width="1600" height="900" />
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />
<text x="800" y="116" text-anchor="middle" class="title">Exercices - Représenter une fraction</text>
<g transform="translate(110 190)">
<rect width="430" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">1. Quelle fraction ?</text>
<text x="45" y="115" class="body">2 parts sur 3</text>
<line x1="45" y1="150" x2="340" y2="150" class="blank" />
<text x="45" y="225" class="body">4 parts sur 5</text>
<line x1="45" y1="260" x2="340" y2="260" class="blank" />
<text x="45" y="335" class="body">6 parts sur 10</text>
<line x1="45" y1="370" x2="340" y2="370" class="blank" />
</g>
<g transform="translate(590 190)">
<rect width="430" height="560" rx="24" class="panel" />
<g class="math-expression">
<text x="32" y="58" class="h2">2. Colorie </text>
<g transform="translate(204.48 58)" class="fraction-g">
<text x="21" y="-21" text-anchor="middle" class="h2">3</text>
<line x1="0" y1="4" x2="42" y2="4" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="21" y="39" text-anchor="middle" class="h2">6</text>
</g>
</g>
<g transform="translate(50 145)">
<rect width="330" height="95" rx="12" fill="#f7fbf9" stroke="#26383d" stroke-width="3" />
<line x1="55" y1="0" x2="55" y2="95" class="line" />
<line x1="110" y1="0" x2="110" y2="95" class="line" />
<line x1="165" y1="0" x2="165" y2="95" class="line" />
<line x1="220" y1="0" x2="220" y2="95" class="line" />
<line x1="275" y1="0" x2="275" y2="95" class="line" />
</g>
<text x="50" y="315" class="body">Puis explique :</text>
<text x="50" y="365" class="small">Dénominateur =</text>
<line x1="220" y1="365" x2="365" y2="365" class="blank" />
<text x="50" y="430" class="small">Numérateur =</text>
<line x1="220" y1="430" x2="365" y2="430" class="blank" />
</g>
<g transform="translate(1070 190)">
<rect width="420" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">3. Collection</text>
<text x="45" y="112" class="body">12 jetons, 5 rouges</text>
<g transform="translate(65 170)">
<circle cx="0" cy="0" r="18" class="green" />
<circle cx="52" cy="0" r="18" class="green" />
<circle cx="104" cy="0" r="18" class="green" />
<circle cx="156" cy="0" r="18" class="green" />
<circle cx="208" cy="0" r="18" class="green" />
<circle cx="260" cy="0" r="18" fill="#e8f3ee" stroke="#26383d" />
<circle cx="0" cy="65" r="18" fill="#e8f3ee" stroke="#26383d" />
<circle cx="52" cy="65" r="18" fill="#e8f3ee" stroke="#26383d" />
<circle cx="104" cy="65" r="18" fill="#e8f3ee" stroke="#26383d" />
<circle cx="156" cy="65" r="18" fill="#e8f3ee" stroke="#26383d" />
<circle cx="208" cy="65" r="18" fill="#e8f3ee" stroke="#26383d" />
<circle cx="260" cy="65" r="18" fill="#e8f3ee" stroke="#26383d" />
</g>
<text x="45" y="340" class="body">Fraction rouge :</text>
<line x1="45" y1="390" x2="340" y2="390" class="blank" />
<text x="45" y="480" class="small">Les parts doivent etre égales.</text>
</g>
<text x="800" y="112" class="title" text-anchor="middle">Exercices - Representer une fraction partagee</text>
<g transform="translate(95 190)"><rect width="460" height="560" rx="24" class="card" /><text x="32" y="58" class="h2">1. Fraction coloriee</text><text x="38" y="120" class="body">Quelle fraction est coloriee ?</text><rect x="45" y="160" width="83.3333" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="128.333" y="160" width="83.3333" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="211.667" y="160" width="83.3333" height="44" class="empty" stroke="#074f4b" stroke-width="2" /><line x1="330" y1="185" x2="430" y2="185" class="blank" /><rect x="45" y="260" width="50" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="95" y="260" width="50" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="145" y="260" width="50" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="195" y="260" width="50" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="245" y="260" width="50" height="44" class="empty" stroke="#074f4b" stroke-width="2" /><line x1="330" y1="285" x2="430" y2="285" class="blank" /><rect x="45" y="360" width="25" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="70" y="360" width="25" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="95" y="360" width="25" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="120" y="360" width="25" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="145" y="360" width="25" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="170" y="360" width="25" height="44" class="shade" stroke="#074f4b" stroke-width="2" /><rect x="195" y="360" width="25" height="44" class="empty" stroke="#074f4b" stroke-width="2" /><rect x="220" y="360" width="25" height="44" class="empty" stroke="#074f4b" stroke-width="2" /><rect x="245" y="360" width="25" height="44" class="empty" stroke="#074f4b" stroke-width="2" /><rect x="270" y="360" width="25" height="44" class="empty" stroke="#074f4b" stroke-width="2" /><line x1="330" y1="385" x2="430" y2="385" class="blank" /></g><g transform="translate(590 190)"><rect width="500" height="560" rx="24" class="white" /><text x="32" y="58" class="h2">2. Dessine</text><g transform="translate(52 145)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">1</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><text x="160" y="163" class="small">Dessine une bande.</text><line x1="345" y1="163" x2="470" y2="163" class="blank" /><g transform="translate(52 285)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">6</text></g><text x="160" y="303" class="small">Dessine une bande.</text><line x1="345" y1="303" x2="470" y2="303" class="blank" /><g transform="translate(52 425)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">5</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">8</text></g><text x="160" y="443" class="small">Dessine une bande.</text><line x1="345" y1="443" x2="470" y2="443" class="blank" /></g><g transform="translate(1125 190)"><rect width="360" height="560" rx="24" class="card" /><text x="32" y="58" class="h2">3. Verifie</text><text x="40" y="130" class="body">Verifie toujours :</text><text x="55" y="200" class="body">1. une seule unite</text><text x="55" y="270" class="body">2. des parts egales</text><text x="55" y="340" class="body">3. les parts prises</text><text x="55" y="450" class="small">Explique ton choix a l'oral.</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

@@ -1,53 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>.bg{fill:#f6f5ef}.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}.soft{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:30px;font-weight:800;fill:#074f4b}.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:25px;fill:#1d3038}.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:21px;fill:#2d4148}.axis{stroke:#26383d;stroke-width:5;stroke-linecap:round}.tick{stroke:#26383d;stroke-width:4}.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}.orange{fill:#e78232}</style>
</defs>
<defs><style>.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}</style></defs>
<rect class="bg" width="1600" height="900" />
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />
<text x="800" y="116" text-anchor="middle" class="title">Exercices - Fraction sur demi-droite</text>
<g transform="translate(115 200)">
<rect width="1370" height="260" rx="24" class="soft" />
<g class="math-expression">
<text x="36" y="58" class="h2">1. Place </text>
<g transform="translate(177.12 58)" class="fraction-g">
<text x="21" y="-21" text-anchor="middle" class="h2">3</text>
<line x1="0" y1="4" x2="42" y2="4" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="21" y="39" text-anchor="middle" class="h2">4</text>
</g>
</g>
<line x1="130" y1="155" x2="640" y2="155" class="axis" />
<polygon points="640,155 610,138 610,172" fill="#26383d" />
<g transform="translate(130 0)">
<line x1="0" y1="125" x2="0" y2="185" class="tick" />
<text x="0" y="220" text-anchor="middle" class="body">0</text>
<line x1="120" y1="135" x2="120" y2="175" class="tick" />
<line x1="240" y1="135" x2="240" y2="175" class="tick" />
<line x1="360" y1="135" x2="360" y2="175" class="tick" />
<line x1="480" y1="125" x2="480" y2="185" class="tick" />
<text x="480" y="220" text-anchor="middle" class="body">1</text>
</g>
<text x="760" y="125" class="body">Unité partagée en 4 parts.</text>
<text x="760" y="180" class="body">Avance de combien de parts ?</text>
<line x1="1090" y1="180" x2="1260" y2="180" class="blank" />
</g>
<g transform="translate(115 520)">
<rect width="1370" height="230" rx="24" class="panel" />
<text x="36" y="58" class="h2">2. Lis le point</text>
<line x1="130" y1="145" x2="640" y2="145" class="axis" />
<polygon points="640,145 610,128 610,162" fill="#26383d" />
<g transform="translate(130 0)">
<line x1="0" y1="115" x2="0" y2="175" class="tick" />
<text x="0" y="210" text-anchor="middle" class="body">0</text>
<line x1="96" y1="125" x2="96" y2="165" class="tick" />
<line x1="192" y1="125" x2="192" y2="165" class="tick" />
<circle cx="192" cy="145" r="16" class="orange" />
<line x1="288" y1="125" x2="288" y2="165" class="tick" />
<line x1="384" y1="125" x2="384" y2="165" class="tick" />
<line x1="480" y1="115" x2="480" y2="175" class="tick" />
<text x="480" y="210" text-anchor="middle" class="body">1</text>
</g>
<text x="760" y="125" class="body">L'unité est en 5 parts.</text>
<text x="760" y="180" class="body">Le point indique :</text>
<line x1="980" y1="180" x2="1260" y2="180" class="blank" />
</g>
<text x="800" y="112" class="title" text-anchor="middle">Exercices - Fraction sur demi-droite</text>
<g transform="translate(95 190)"><rect width="450" height="500" rx="24" class="card" /><text x="32" y="58" class="h2">1. L'unite</text><line x1="55" y1="190" x2="375" y2="190" class="axis" /><line x1="55" y1="176" x2="55" y2="204" class="tick" /><line x1="135" y1="176" x2="135" y2="204" class="tick" /><line x1="215" y1="176" x2="215" y2="204" class="tick" /><line x1="295" y1="176" x2="295" y2="204" class="tick" /><line x1="375" y1="176" x2="375" y2="204" class="tick" /><text x="55" y="238" class="small" text-anchor="middle">0</text><text x="375" y="238" class="small" text-anchor="middle">1</text><text x="55" y="115" class="body">L'unite est partagee en 4.</text><line x1="55" y1="330" x2="350" y2="330" class="blank" /></g><g transform="translate(575 190)"><rect width="450" height="500" rx="24" class="white" /><text x="32" y="58" class="h2">2. Placer</text><line x1="55" y1="210" x2="375" y2="210" class="axis" /><line x1="55" y1="196" x2="55" y2="224" class="tick" /><line x1="135" y1="196" x2="135" y2="224" class="tick" /><line x1="215" y1="196" x2="215" y2="224" class="tick" /><line x1="295" y1="196" x2="295" y2="224" class="tick" /><line x1="375" y1="196" x2="375" y2="224" class="tick" /><text x="55" y="258" class="small" text-anchor="middle">0</text><text x="375" y="258" class="small" text-anchor="middle">1</text><circle cx="295" cy="210" r="11" fill="#e78232" /><text x="55" y="115" class="body">Avance de 3 petites parts.</text><g transform="translate(360 330)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g></g><g transform="translate(1055 190)"><rect width="450" height="500" rx="24" class="card" /><text x="32" y="58" class="h2">3. Lire</text><line x1="55" y1="210" x2="375" y2="210" class="axis" /><line x1="55" y1="196" x2="55" y2="224" class="tick" /><line x1="119" y1="196" x2="119" y2="224" class="tick" /><line x1="183" y1="196" x2="183" y2="224" class="tick" /><line x1="247" y1="196" x2="247" y2="224" class="tick" /><line x1="311" y1="196" x2="311" y2="224" class="tick" /><line x1="375" y1="196" x2="375" y2="224" class="tick" /><text x="55" y="258" class="small" text-anchor="middle">0</text><text x="375" y="258" class="small" text-anchor="middle">1</text><circle cx="183" cy="210" r="11" fill="#e78232" /><text x="55" y="115" class="body">Lis le point orange.</text><line x1="55" y1="330" x2="350" y2="330" class="blank" /></g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1,124 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>.bg{fill:#f6f5ef}.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}.soft{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:30px;font-weight:800;fill:#074f4b}.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:25px;fill:#1d3038}.num{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:38px;font-weight:800;fill:#074f4b}.line{stroke:#26383d;stroke-width:4}.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}.orange{fill:#e78232}.green{fill:#2f9246}</style>
</defs>
<defs><style>.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}</style></defs>
<rect class="bg" width="1600" height="900" />
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />
<text x="800" y="116" text-anchor="middle" class="title">Exercices - Fraction supérieure à 1</text>
<g transform="translate(105 190)">
<rect width="455" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">1. Entoure &gt; 1</text>
<g class="math-expression">
<g transform="translate(65 145)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">2</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">5</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(250 145)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">5</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">5</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(65 255)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">7</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">5</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(250 255)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">9</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">4</text>
</g>
</g>
<g class="math-expression">
<g transform="translate(65 365)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">3</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">8</text>
</g>
</g>
<text x="55" y="480" class="body">Attention : égal à 1 n'est pas &gt; 1.</text>
</g>
<g transform="translate(610 190)">
<rect width="455" height="560" rx="24" class="panel" />
<text x="32" y="58" class="h2">2. Complète</text>
<g class="math-expression">
<g transform="translate(55 145)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">5</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">4</text>
</g>
<text x="107.44" y="171" class="num"> = </text>
<g transform="translate(184.72 145)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">4</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">4</text>
</g>
<text x="237.16" y="171" class="num"> +</text>
</g>
<line x1="320" y1="145" x2="410" y2="145" class="blank" />
<g class="math-expression">
<g transform="translate(55 255)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">7</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">3</text>
</g>
<text x="107.44" y="281" class="num"> = </text>
<g transform="translate(184.72 255)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">6</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">3</text>
</g>
<text x="237.16" y="281" class="num"> +</text>
</g>
<line x1="320" y1="255" x2="410" y2="255" class="blank" />
<g class="math-expression">
<g transform="translate(55 365)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">9</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">2</text>
</g>
<text x="107.44" y="391" class="num"> = </text>
<g transform="translate(184.72 365)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">8</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">2</text>
</g>
<text x="237.16" y="391" class="num"> +</text>
</g>
<line x1="320" y1="365" x2="410" y2="365" class="blank" />
</g>
<g transform="translate(1115 190)">
<rect width="380" height="560" rx="24" class="soft" />
<g class="math-expression">
<text x="32" y="58" class="h2">3. Représente </text>
<g transform="translate(251.52 58)" class="fraction-g">
<text x="21" y="-21" text-anchor="middle" class="h2">7</text>
<line x1="0" y1="4" x2="42" y2="4" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="21" y="39" text-anchor="middle" class="h2">4</text>
</g>
</g>
<g transform="translate(45 120)">
<rect width="280" height="70" rx="10" fill="#f7fbf9" stroke="#26383d" stroke-width="3" />
<rect width="70" height="70" rx="10" class="green" />
<rect x="70" width="70" height="70" class="green" />
<rect x="140" width="70" height="70" class="green" />
<rect x="210" width="70" height="70" class="green" />
<line x1="70" y1="0" x2="70" y2="70" class="line" />
<line x1="140" y1="0" x2="140" y2="70" class="line" />
<line x1="210" y1="0" x2="210" y2="70" class="line" />
<rect y="115" width="280" height="70" rx="10" fill="#f7fbf9" stroke="#26383d" stroke-width="3" />
<line x1="70" y1="115" x2="70" y2="185" class="line" />
<line x1="140" y1="115" x2="140" y2="185" class="line" />
<line x1="210" y1="115" x2="210" y2="185" class="line" />
</g>
<text x="45" y="390" class="body">Colorie le reste.</text>
<line x1="45" y1="455" x2="320" y2="455" class="blank" />
</g>
<text x="800" y="112" class="title" text-anchor="middle">Exercices - Fractions superieures a 1</text>
<g transform="translate(80 190)"><rect width="560" height="500" rx="24" class="card" /><text x="32" y="58" class="h2">1. Reconnaitre</text><g transform="translate(45 170)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">2</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">5</text></g><g transform="translate(150 170)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">5</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">5</text></g><g transform="translate(255 170)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">7</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">5</text></g><g transform="translate(360 170)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">9</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><g transform="translate(465 170)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">8</text></g><text x="45" y="330" class="small">Entoure seulement celles qui sont &gt; 1.</text></g><g transform="translate(670 190)"><rect width="560" height="500" rx="24" class="white" /><text x="32" y="58" class="h2">2. Decomposer</text><g transform="translate(45 150)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">5</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><text x="145" y="170" class="op">=</text><g transform="translate(205 150)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">4</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><text x="305" y="170" class="op">+</text><line x1="365" y1="170" x2="500" y2="170" class="blank" /><g transform="translate(45 330)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">7</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">3</text></g><text x="145" y="350" class="op">=</text><g transform="translate(205 330)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">6</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">3</text></g><text x="305" y="350" class="op">+</text><line x1="365" y1="350" x2="500" y2="350" class="blank" /></g><g transform="translate(1260 190)"><rect width="260" height="500" rx="24" class="card" /><text x="32" y="58" class="h2">3. Attention</text><text x="35" y="135" class="small">Numerateur</text><text x="35" y="180" class="small">plus grand</text><text x="35" y="225" class="small">que le bas :</text><text x="35" y="285" class="small">souvent &gt; 1.</text><text x="35" y="380" class="small">Egal veut = 1.</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -1,78 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>.bg{fill:#f6f5ef}.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}.soft{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:30px;font-weight:800;fill:#074f4b}.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:25px;fill:#1d3038}.num{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:40px;font-weight:800;fill:#074f4b}.axis{stroke:#26383d;stroke-width:5}.tick{stroke:#26383d;stroke-width:4}.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}.orange{fill:#e78232}</style>
</defs>
<defs><style>.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}</style></defs>
<rect class="bg" width="1600" height="900" />
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />
<text x="800" y="116" text-anchor="middle" class="title">Exercices - Encadrer une fraction</text>
<g transform="translate(105 190)">
<rect width="455" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">1. Entiers en fractions</text>
<text x="45" y="145" class="num">1 =</text>
<line x1="130" y1="145" x2="215" y2="145" class="blank" />
<text x="235" y="145" class="num">/4</text>
<text x="45" y="245" class="num">2 =</text>
<line x1="130" y1="245" x2="215" y2="245" class="blank" />
<text x="235" y="245" class="num">/4</text>
<text x="45" y="365" class="body">Puis recommence en tiers.</text>
</g>
<g transform="translate(610 190)">
<rect width="455" height="560" rx="24" class="panel" />
<text x="32" y="58" class="h2">2. Complète</text>
<line x1="55" y1="145" x2="115" y2="145" class="blank" />
<g class="math-expression">
<text x="130" y="171" class="num">&lt; </text>
<g transform="translate(181.52 145)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">5</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">4</text>
</g>
<text x="233.96" y="171" class="num"> &lt;</text>
</g>
<line x1="325" y1="145" x2="395" y2="145" class="blank" />
<line x1="55" y1="255" x2="115" y2="255" class="blank" />
<g class="math-expression">
<text x="130" y="281" class="num">&lt; </text>
<g transform="translate(181.52 255)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">8</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">3</text>
</g>
<text x="233.96" y="281" class="num"> &lt;</text>
</g>
<line x1="325" y1="255" x2="395" y2="255" class="blank" />
<line x1="55" y1="365" x2="115" y2="365" class="blank" />
<g class="math-expression">
<text x="130" y="391" class="num">&lt; </text>
<g transform="translate(181.52 365)" class="fraction-g">
<text x="38" y="-28" text-anchor="middle" class="num">11</text>
<line x1="0" y1="5" x2="76" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="38" y="54" text-anchor="middle" class="num">5</text>
</g>
<text x="251.44" y="391" class="num"> &lt;</text>
</g>
<line x1="345" y1="365" x2="415" y2="365" class="blank" />
</g>
<g transform="translate(1115 190)">
<rect width="380" height="560" rx="24" class="soft" />
<g class="math-expression">
<text x="32" y="58" class="h2">3. Place </text>
<g transform="translate(173.12 58)" class="fraction-g">
<text x="30" y="-21" text-anchor="middle" class="h2">13</text>
<line x1="0" y1="4" x2="60" y2="4" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="30" y="39" text-anchor="middle" class="h2">6</text>
</g>
</g>
<line x1="45" y1="210" x2="320" y2="210" class="axis" />
<g transform="translate(60 0)">
<line x1="0" y1="180" x2="0" y2="240" class="tick" />
<text x="0" y="275" text-anchor="middle" class="body">1</text>
<line x1="120" y1="180" x2="120" y2="240" class="tick" />
<text x="120" y="275" text-anchor="middle" class="body">2</text>
<line x1="240" y1="180" x2="240" y2="240" class="tick" />
<text x="240" y="275" text-anchor="middle" class="body">3</text>
</g>
<text x="45" y="370" class="body">Ençadrement :</text>
<line x1="45" y1="425" x2="320" y2="425" class="blank" />
</g>
<text x="800" y="112" class="title" text-anchor="middle">Exercices - Encadrer une fraction</text>
<g transform="translate(90 190)"><rect width="470" height="540" rx="24" class="card" /><text x="32" y="58" class="h2">1. Entiers</text><text x="45" y="125" class="body">Avec des quarts :</text><text x="45" y="185" class="op">1 =</text><line x1="120" y1="185" x2="220" y2="185" class="blank" /><text x="235" y="185" class="op">et 2 =</text><line x1="340" y1="185" x2="440" y2="185" class="blank" /><text x="45" y="300" class="body">Avec des tiers :</text><text x="45" y="360" class="op">2 =</text><line x1="120" y1="360" x2="220" y2="360" class="blank" /><text x="235" y="360" class="op">et 3 =</text><line x1="340" y1="360" x2="440" y2="360" class="blank" /></g><g transform="translate(595 190)"><rect width="410" height="540" rx="24" class="white" /><text x="32" y="58" class="h2">2. Encadrer</text><text x="45" y="177" class="op">... &lt;</text><g transform="translate(180 155)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">5</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><text x="290" y="177" class="op">&lt; ...</text><text x="45" y="327" class="op">... &lt;</text><g transform="translate(180 305)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">8</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">3</text></g><text x="290" y="327" class="op">&lt; ...</text><text x="45" y="477" class="op">... &lt;</text><g transform="translate(180 455)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 102 110"><text x="43" y="-25" text-anchor="middle" class="frac">11</text><line x1="0" y1="8" x2="86" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="43" y="62" text-anchor="middle" class="frac">5</text></g><text x="305" y="477" class="op">&lt; ...</text></g><g transform="translate(1040 190)"><rect width="470" height="540" rx="24" class="card" /><text x="32" y="58" class="h2">3. Droite</text><line x1="45" y1="220" x2="365" y2="220" class="axis" /><line x1="45" y1="206" x2="45" y2="234" class="tick" /><line x1="125" y1="206" x2="125" y2="234" class="tick" /><line x1="205" y1="206" x2="205" y2="234" class="tick" /><line x1="285" y1="206" x2="285" y2="234" class="tick" /><line x1="365" y1="206" x2="365" y2="234" class="tick" /><text x="45" y="268" class="small" text-anchor="middle">0</text><text x="365" y="268" class="small" text-anchor="middle">1</text><circle cx="445" cy="220" r="11" fill="#e78232" /><text x="45" y="120" class="body">Repere l'entier juste avant</text><text x="45" y="345" class="small">puis l'entier juste apres.</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -1,79 +1,21 @@
<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">
<defs>
<style>.bg{fill:#f6f5ef}.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}.soft{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:30px;font-weight:800;fill:#074f4b}.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:25px;fill:#1d3038}.num{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:38px;font-weight:800;fill:#074f4b}.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}.orange{fill:#e78232}.line{stroke:#26383d;stroke-width:4}</style>
</defs>
<defs><style>.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}</style></defs>
<rect class="bg" width="1600" height="900" />
<rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />
<text x="800" y="116" text-anchor="middle" class="title">Exercices - Fraction d'une quantité</text>
<g transform="translate(105 190)">
<rect width="455" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">1. Une part</text>
<g class="math-expression">
<g transform="translate(55 145)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">1</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">2</text>
</g>
<text x="107.44" y="171" class="num"> de 18 =</text>
</g>
<line x1="300" y1="145" x2="410" y2="145" class="blank" />
<g class="math-expression">
<g transform="translate(55 255)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">1</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">3</text>
</g>
<text x="107.44" y="281" class="num"> de 24 =</text>
</g>
<line x1="300" y1="255" x2="410" y2="255" class="blank" />
<g class="math-expression">
<g transform="translate(55 365)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">1</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">5</text>
</g>
<text x="107.44" y="391" class="num"> de 40 =</text>
</g>
<line x1="300" y1="365" x2="410" y2="365" class="blank" />
</g>
<g transform="translate(610 190)">
<rect width="455" height="560" rx="24" class="panel" />
<text x="32" y="58" class="h2">2. Partage puis prends</text>
<g class="math-expression">
<g transform="translate(55 130)" class="fraction-g">
<text x="26" y="-28" text-anchor="middle" class="num">3</text>
<line x1="0" y1="5" x2="52" y2="5" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="26" y="54" text-anchor="middle" class="num">4</text>
</g>
<text x="107.44" y="156" class="num"> de 20</text>
</g>
<text x="55" y="205" class="body">20 ÷ 4 =</text>
<line x1="190" y1="205" x2="350" y2="205" class="blank" />
<text x="55" y="285" class="body">Puis x 3 =</text>
<line x1="205" y1="285" x2="350" y2="285" class="blank" />
<g transform="translate(55 375)">
<rect width="330" height="70" rx="10" fill="#f7fbf9" stroke="#26383d" stroke-width="3" />
<line x1="82.5" y1="0" x2="82.5" y2="70" class="line" />
<line x1="165" y1="0" x2="165" y2="70" class="line" />
<line x1="247.5" y1="0" x2="247.5" y2="70" class="line" />
</g>
</g>
<g transform="translate(1115 190)">
<rect width="380" height="560" rx="24" class="soft" />
<text x="32" y="58" class="h2">3. Problème</text>
<text x="45" y="120" class="body">28 élèves.</text>
<g class="math-expression">
<g transform="translate(45 165)" class="fraction-g">
<text x="19" y="-18" text-anchor="middle" class="body">3</text>
<line x1="0" y1="3" x2="38" y2="3" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />
<text x="19" y="34" text-anchor="middle" class="body">4</text>
</g>
<text x="79" y="178" class="body"> participent.</text>
</g>
<text x="45" y="240" class="body">Combien ?</text>
<line x1="45" y1="300" x2="320" y2="300" class="blank" />
<text x="45" y="405" class="body">Deux gestes :</text>
<text x="45" y="455" class="body">1. partager</text>
<text x="45" y="505" class="body">2. prendre</text>
</g>
<text x="800" y="112" class="title" text-anchor="middle">Exercices - Fraction d'une quantite</text>
<g transform="translate(80 190)"><rect width="490" height="560" rx="24" class="card" /><text x="32" y="58" class="h2">1. Une part</text><g transform="translate(45 135)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">1</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">2</text></g><text x="145" y="157" class="op">de 18 =</text><line x1="285" y1="157" x2="440" y2="157" class="blank" /><g transform="translate(45 285)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">1</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">3</text></g><text x="145" y="307" class="op">de 24 =</text><line x1="285" y1="307" x2="440" y2="307" class="blank" /><g transform="translate(45 435)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">1</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">5</text></g><text x="145" y="457" class="op">de 40 =</text><line x1="285" y1="457" x2="440" y2="457" class="blank" /></g><g transform="translate(610 190)"><rect width="490" height="560" rx="24" class="white" /><text x="32" y="58" class="h2">2. Plusieurs parts</text><g transform="translate(45 135)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><text x="145" y="157" class="op">de 20 =</text><line x1="285" y1="157" x2="440" y2="157" class="blank" /><g transform="translate(45 285)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">2</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">5</text></g><text x="145" y="307" class="op">de 30 =</text><line x1="285" y1="307" x2="440" y2="307" class="blank" /><g transform="translate(45 435)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">6</text></g><text x="145" y="457" class="op">de 42 =</text><line x1="285" y1="457" x2="440" y2="457" class="blank" /></g><g transform="translate(1140 190)"><rect width="370" height="560" rx="24" class="card" /><text x="32" y="58" class="h2">3. Methode</text><text x="45" y="130" class="body">1. Je partage par le bas.</text><text x="45" y="210" class="body">2. Je prends le haut.</text><text x="45" y="310" class="body">Exemple :</text><g transform="translate(45 390)" class="math-expression fraction-g" data-math="fraction" data-box="-8 -52 74 110"><text x="29" y="-25" text-anchor="middle" class="frac">3</text><line x1="0" y1="8" x2="58" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" /><text x="29" y="62" text-anchor="middle" class="frac">4</text></g><text x="145" y="412" class="op">de 20</text></g>
</svg>

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,293 @@
from __future__ import annotations
from pathlib import Path
from xml.sax.saxutils import escape
ROOT = Path(__file__).resolve().parents[2]
RELATIVE = Path("contenus_pedagogiques/cycle_3/mathematiques/cm1/01_nombres_calcul_resolution/01B_fractions/exercices")
TARGET_ROOTS = [ROOT / "backend" / RELATIVE, ROOT / "Programme" / RELATIVE]
STYLE = """
.bg{fill:#f6f5ef}
.panel{fill:#fff;stroke:#d9e7e1;stroke-width:3}
.card{fill:#eef7f4;stroke:#c9dfd8;stroke-width:3}
.white{fill:#fff;stroke:#c9dfd8;stroke-width:3}
.title{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:48px;font-weight:800;fill:#074f4b}
.h2{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:28px;font-weight:800;fill:#074f4b}
.body{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:24px;fill:#1d3038}
.small{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:20px;fill:#2d4148}
.frac{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:52px;font-weight:800;fill:#074f4b}
.op{font-family:"Trebuchet MS",Verdana,sans-serif;font-size:34px;font-weight:800;fill:#074f4b}
.blank{stroke:#7fa79d;stroke-width:3;stroke-dasharray:10 10}
.axis{stroke:#26383d;stroke-width:4;stroke-linecap:round}
.tick{stroke:#26383d;stroke-width:3;stroke-linecap:round}
.shade{fill:#5ab7a8}
.empty{fill:#fff}
""".strip()
def text(x: int, y: int, value: str, klass: str = "body", anchor: str | None = None) -> str:
anchor_attr = f' text-anchor="{anchor}"' if anchor else ""
return f'<text x="{x}" y="{y}" class="{klass}"{anchor_attr}>{escape(value)}</text>'
def line(x1: int, y1: int, x2: int, y2: int, klass: str = "blank") -> str:
return f'<line x1="{x1}" y1="{y1}" x2="{x2}" y2="{y2}" class="{klass}" />'
def fraction(x: int, y: int, n: str | int, d: str | int, size: int = 52) -> str:
n_text = str(n)
d_text = str(d)
width = max(58, int(max(len(n_text), len(d_text)) * size * 0.62) + 22)
cx = width / 2
return (
f'<g transform="translate({x} {y})" class="math-expression fraction-g" '
f'data-math="fraction" data-box="-8 -52 {width + 16} 110">'
f'<text x="{cx:g}" y="-25" text-anchor="middle" class="frac">{escape(n_text)}</text>'
f'<line x1="0" y1="8" x2="{width}" y2="8" stroke="#074f4b" stroke-width="4" stroke-linecap="round" />'
f'<text x="{cx:g}" y="62" text-anchor="middle" class="frac">{escape(d_text)}</text>'
"</g>"
)
def card(x: int, y: int, w: int, h: int, title: str, body: str, soft: bool = True) -> str:
klass = "card" if soft else "white"
return (
f'<g transform="translate({x} {y})">'
f'<rect width="{w}" height="{h}" rx="24" class="{klass}" />'
f'{text(32, 58, title, "h2")}'
f'{body}'
"</g>"
)
def sheet(title: str, cards: list[str]) -> str:
return (
'<svg xmlns="http://www.w3.org/2000/svg" width="1600" height="900" viewBox="0 0 1600 900">\n'
f' <defs><style>{STYLE}</style></defs>\n'
' <rect class="bg" width="1600" height="900" />\n'
' <rect x="56" y="42" width="1488" height="816" rx="34" class="panel" />\n'
f' {text(800, 112, title, "title", "middle")}\n'
f' {"".join(cards)}\n'
'</svg>\n'
)
def band(x: int, y: int, parts: int, shaded: int, width: int = 250, height: int = 44) -> str:
cell = width / parts
rects = []
for index in range(parts):
fill = "shade" if index < shaded else "empty"
rects.append(
f'<rect x="{x + cell * index:g}" y="{y}" width="{cell:g}" height="{height}" class="{fill}" '
'stroke="#074f4b" stroke-width="2" />'
)
return "".join(rects)
def number_line(x: int, y: int, parts: int, point: int | None = None, width: int = 320) -> str:
items = [line(x, y, x + width, y, "axis")]
for index in range(parts + 1):
px = x + int(width * index / parts)
items.append(line(px, y - 14, px, y + 14, "tick"))
items.append(text(x, y + 48, "0", "small", "middle"))
items.append(text(x + width, y + 48, "1", "small", "middle"))
if point is not None:
px = x + int(width * point / parts)
items.append(f'<circle cx="{px}" cy="{y}" r="11" fill="#e78232" />')
return "".join(items)
def svg_01() -> str:
c1 = "".join(
fraction(58, y, n, d) + line(190, y + 8, 360, y + 8)
for y, (n, d) in zip([145, 255, 365, 475], [(1, 2), (3, 4), (5, 8), (7, 10)])
)
c2 = "".join(
fraction(58, y, n, d) + text(175, y - 22, "Numerateur :", "small") + line(320, y - 22, 385, y - 22)
+ text(175, y + 42, "Denominateur :", "small") + line(330, y + 42, 385, y + 42)
for y, (n, d) in zip([145, 305, 465], [(2, 5), (4, 9), (6, 7)])
)
c3 = (
text(45, 140, "deux tiers", "body") + line(45, 180, 340, 180)
+ text(45, 260, "trois cinquiemes", "body") + line(45, 300, 340, 300)
+ text(45, 380, "neuf dixiemes", "body") + line(45, 420, 340, 420)
+ text(45, 510, "Ecris avec une barre horizontale.", "small")
)
return sheet("Exercices - Lire et ecrire une fraction", [
card(110, 190, 430, 560, "1. Lis", c1),
card(590, 190, 430, 560, "2. Haut et bas", c2, False),
card(1070, 190, 420, 560, "3. Ecris", c3),
])
def svg_02() -> str:
c1 = (
text(38, 120, "Quelle fraction est coloriee ?", "body")
+ band(45, 160, 3, 2) + line(330, 185, 430, 185)
+ band(45, 260, 5, 4) + line(330, 285, 430, 285)
+ band(45, 360, 10, 6) + line(330, 385, 430, 385)
)
c2 = "".join(
fraction(52, y, n, d) + text(160, y + 18, "Dessine une bande.", "small") + line(345, y + 18, 470, y + 18)
for y, (n, d) in zip([145, 285, 425], [(1, 4), (3, 6), (5, 8)])
)
c3 = (
text(40, 130, "Verifie toujours :", "body")
+ text(55, 200, "1. une seule unite", "body")
+ text(55, 270, "2. des parts egales", "body")
+ text(55, 340, "3. les parts prises", "body")
+ text(55, 450, "Explique ton choix a l'oral.", "small")
)
return sheet("Exercices - Representer une fraction partagee", [
card(95, 190, 460, 560, "1. Fraction coloriee", c1),
card(590, 190, 500, 560, "2. Dessine", c2, False),
card(1125, 190, 360, 560, "3. Verifie", c3),
])
def svg_03() -> str:
c1 = number_line(55, 190, 4) + text(55, 115, "L'unite est partagee en 4.", "body") + line(55, 330, 350, 330)
c2 = number_line(55, 210, 4, 3) + text(55, 115, "Avance de 3 petites parts.", "body") + fraction(360, 330, 3, 4)
c3 = number_line(55, 210, 5, 2) + text(55, 115, "Lis le point orange.", "body") + line(55, 330, 350, 330)
return sheet("Exercices - Fraction sur demi-droite", [
card(95, 190, 450, 500, "1. L'unite", c1),
card(575, 190, 450, 500, "2. Placer", c2, False),
card(1055, 190, 450, 500, "3. Lire", c3),
])
def svg_04() -> str:
c1 = "".join(fraction(x, 170, n, d) for x, (n, d) in zip([45, 150, 255, 360, 465], [(2, 5), (5, 5), (7, 5), (9, 4), (3, 8)]))
c1 += text(45, 330, "Entoure seulement celles qui sont > 1.", "small")
c2 = (
fraction(45, 150, 5, 4) + text(145, 170, "=", "op") + fraction(205, 150, 4, 4) + text(305, 170, "+", "op") + line(365, 170, 500, 170)
+ fraction(45, 330, 7, 3) + text(145, 350, "=", "op") + fraction(205, 330, 6, 3) + text(305, 350, "+", "op") + line(365, 350, 500, 350)
)
c3 = (
text(35, 135, "Numerateur", "small")
+ text(35, 180, "plus grand", "small")
+ text(35, 225, "que le bas :", "small")
+ text(35, 285, "souvent > 1.", "small")
+ text(35, 380, "Egal veut = 1.", "small")
)
return sheet("Exercices - Fractions superieures a 1", [
card(80, 190, 560, 500, "1. Reconnaitre", c1),
card(670, 190, 560, 500, "2. Decomposer", c2, False),
card(1260, 190, 260, 500, "3. Attention", c3),
])
def svg_05() -> str:
rows = [(2, 7, "<", 5, 7), (6, 8, ">", 3, 8), (4, 9, "=", 4, 9)]
c1 = "".join(
fraction(45, y, a, b) + text(155, y + 22, "...", "op") + fraction(235, y, c, d)
for y, (a, b, _, c, d) in zip([135, 285, 435], rows)
)
c2 = "".join(
fraction(45, y, a, b) + text(155, y + 22, "ou", "op") + fraction(245, y, c, d) + line(360, y + 22, 500, y + 22)
for y, (a, b, c, d) in zip([135, 285, 435], [(1, 2, 1, 4), (2, 3, 2, 5), (3, 6, 3, 10)])
)
c3 = (
text(45, 130, "Meme denominateur :", "body")
+ text(45, 190, "compare les numerateurs.", "small")
+ text(45, 290, "Meme numerateur :", "body")
+ text(45, 350, "les parts grandes", "small")
+ text(45, 390, "ont un bas plus petit.", "small")
)
return sheet("Exercices - Comparer des fractions", [
card(80, 190, 520, 560, "1. Complete", c1),
card(630, 190, 520, 560, "2. Choisis", c2, False),
card(1180, 190, 330, 560, "3. Strategie", c3),
])
def svg_06() -> str:
c1 = (
text(45, 125, "Avec des quarts :", "body") + text(45, 185, "1 =", "op") + line(120, 185, 220, 185) + text(235, 185, "et 2 =", "op") + line(340, 185, 440, 185)
+ text(45, 300, "Avec des tiers :", "body") + text(45, 360, "2 =", "op") + line(120, 360, 220, 360) + text(235, 360, "et 3 =", "op") + line(340, 360, 440, 360)
)
c2 = (
text(45, 177, "... <", "op") + fraction(180, 155, 5, 4) + text(290, 177, "< ...", "op")
+ text(45, 327, "... <", "op") + fraction(180, 305, 8, 3) + text(290, 327, "< ...", "op")
+ text(45, 477, "... <", "op") + fraction(180, 455, 11, 5) + text(305, 477, "< ...", "op")
)
c3 = number_line(45, 220, 4, 5, 320) + text(45, 120, "Repere l'entier juste avant", "body") + text(45, 345, "puis l'entier juste apres.", "small")
return sheet("Exercices - Encadrer une fraction", [
card(90, 190, 470, 540, "1. Entiers", c1),
card(595, 190, 410, 540, "2. Encadrer", c2, False),
card(1040, 190, 470, 540, "3. Droite", c3),
])
def svg_07() -> str:
c1 = "".join(
fraction(45, y, a, b) + text(145, y + 22, "+", "op") + fraction(205, y, c, d) + text(310, y + 22, "=", "op") + line(370, y + 22, 510, y + 22)
for y, (a, b, c, d) in zip([125, 275, 425], [(1, 5, 2, 5), (2, 7, 3, 7), (4, 10, 5, 10)])
)
c2 = "".join(
fraction(45, y, a, b) + text(145, y + 22, "-", "op") + fraction(205, y, c, d) + text(310, y + 22, "=", "op") + line(370, y + 22, 510, y + 22)
for y, (a, b, c, d) in zip([125, 275, 425], [(6, 8, 2, 8), (7, 9, 3, 9), (10, 12, 4, 12)])
)
c3 = (
text(35, 130, "On garde", "small")
+ text(35, 175, "le denominateur.", "small")
+ text(35, 260, "On calcule", "small")
+ text(35, 305, "les numerateurs.", "small")
+ line(45, 380, 330, 380)
)
return sheet("Exercices - Additionner et soustraire", [
card(75, 190, 560, 560, "1. Additionner", c1),
card(665, 190, 560, 560, "2. Soustraire", c2, False),
card(1255, 190, 270, 560, "3. Regle", c3),
])
def svg_08() -> str:
c1 = "".join(
fraction(45, y, n, d) + text(145, y + 22, f"de {q} =", "op") + line(285, y + 22, 440, y + 22)
for y, (n, d, q) in zip([135, 285, 435], [(1, 2, 18), (1, 3, 24), (1, 5, 40)])
)
c2 = "".join(
fraction(45, y, n, d) + text(145, y + 22, f"de {q} =", "op") + line(285, y + 22, 440, y + 22)
for y, (n, d, q) in zip([135, 285, 435], [(3, 4, 20), (2, 5, 30), (3, 6, 42)])
)
c3 = (
text(45, 130, "1. Je partage par le bas.", "body")
+ text(45, 210, "2. Je prends le haut.", "body")
+ text(45, 310, "Exemple :", "body")
+ fraction(45, 390, 3, 4)
+ text(145, 412, "de 20", "op")
)
return sheet("Exercices - Fraction d'une quantite", [
card(80, 190, 490, 560, "1. Une part", c1),
card(610, 190, 490, 560, "2. Plusieurs parts", c2, False),
card(1140, 190, 370, 560, "3. Methode", c3),
])
SVG_BY_DIR = {
"01_lire_ecrire_fraction_simple": svg_01,
"02_representer_fraction_partage": svg_02,
"03_fraction_sur_demi_droite_graduee": svg_03,
"04_fraction_superieure_a_un": svg_04,
"05_comparer_fractions_simples": svg_05,
"06_encadrer_fraction_entre_entiers": svg_06,
"07_additionner_soustraire_fractions_simples": svg_07,
"08_fraction_d_une_quantite": svg_08,
}
def main() -> None:
for root in TARGET_ROOTS:
for folder, builder in SVG_BY_DIR.items():
target = root / folder / "exercices.svg"
target.parent.mkdir(parents=True, exist_ok=True)
target.write_text(builder(), encoding="utf-8")
print(f"updated {target}")
if __name__ == "__main__":
main()