resouds les tabs

This commit is contained in:
Mstrdav 2021-02-04 20:06:00 +01:00
parent 913652c1ff
commit 61edecda47
2 changed files with 77 additions and 107 deletions

View file

@ -1,135 +1,95 @@
<!DOCTYPE html>
<!-- Page generated by OCaml with Ocsigen.
See http://ocsigen.org/ and http://caml.inria.fr/ for information -->
<html class="ada2" lang="fr" id="h" xmlns="http://www.w3.org/1999/xhtml">
<html class="ada2" lang="fr" id="h" xmlns="http://www.w3.org/1999/xhtml"><head><title>mission2.adb</title><meta content="text/html; charset=utf-8" http-equiv="content-type"/><link media="all" href="../../../ystyle.css" rel="stylesheet"/><script src="../../../Scripts/yfold.js"></script></head><body><div class="header" id="header"><h1 id="title">mission2.adb</h1></div><main><code class="page block"><span class="kw">with</span> <span class="ident">Gada.Text_IO</span> ;<span class="eols">
<head>
<title>mission2.adb</title>
<meta content="text/html; charset=utf-8" http-equiv="content-type" />
<link media="all" href="../../../ystyle.css" rel="stylesheet" />
<script src="../../../Scripts/yfold.js"></script>
</head>
</span><span class="kw">procedure</span> <span class="fname">Mission2</span> <span class="kw">is</span><span class="eols">
<body>
<div class="header" id="header">
<h1 id="title">mission2.adb</h1>
</div>
<main>
<code class="page block"><span class="kw">with</span> <span class="ident">Gada.Text_IO</span> ;<span class="eols">
</span> <span class="kw">package</span> <span class="fname">Txt</span> <span class="kw">renames</span> <span class="ident">Gada.Text_IO</span> ;<span class="eols">
</span><span class="kw">procedure</span> <span class="fname">Mission2</span> <span class="kw">is</span><span class="eols">
</span> <span class="kw">package</span> <span class="fname">Txt</span> <span class="kw">renames</span> <span class="ident">Gada.Text_IO</span> ;<span class="eols">
</span> <span class="kw">type</span> <span class="type">T_Intervalle</span> <span class="kw">is</span> <span class="kw">record</span>
</span> <span class="kw">type</span> <span class="type">T_Intervalle</span> <span class="kw">is</span> <span class="kw">record</span>
<span class="ident">Inf</span> : <span class="type">Float</span> ;
<span class="ident">Sup</span> : <span class="type">Float</span> ;
<span class="kw">end</span> <span class="kw">record</span> ;
<span class="kw">function</span> <span class="fname">Intervalle_Image</span>(<span class="ident">A</span> : <span class="type">T_Intervalle</span>) <span class="kw">return</span> <span class="type">String</span> <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">return</span> <span class="string">&quot;[&quot;</span> &amp; <span class="ident">Integer</span>'<span class="ident">Image</span>(<span class="ident">Integer</span>(<span class="ident">A.Inf</span>)) &amp; <span
class="string">&quot;,&quot;</span> &amp; <span class="ident">Integer</span>'<span class="ident">Image</span>(<span class="ident">Integer</span>(<span class="ident">A.Sup</span>)) &amp; <span class="string">&quot;]&quot;</span> ;
<span class="kw">return</span> <span class="string">&quot;[&quot;</span> &amp; <span class="ident">Integer</span>'<span class="ident">Image</span>(<span class="ident">Integer</span>(<span class="ident">A.Inf</span>)) &amp; <span class="string">&quot;,&quot;</span> &amp; <span class="ident">Integer</span>'<span class="ident">Image</span>(<span class="ident">Integer</span>(<span class="ident">A.Sup</span>)) &amp; <span class="string">&quot;]&quot;</span> ;
<span class="kw">end</span> <span class="fname">Intervalle_Image</span> ;<span class="eols">
</span> <span class="comment">-- A est inclus dans B &lt;=&gt; les bornes de A sont comprises entre les bornes de B.
</span> <span class="kw">function</span> <span class="fname">Est_Inclus</span> (<span class="ident">A</span> : <span class="type">T_Intervalle</span> ; <span class="ident">B</span> : <span class="type">T_Intervalle</span>) <span
class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
</span> <span class="comment">-- A est inclus dans B &lt;=&gt; les bornes de A sont comprises entre les bornes de B.
</span> <span class="kw">function</span> <span class="fname">Est_Inclus</span> (<span class="ident">A</span> : <span class="type">T_Intervalle</span> ; <span class="ident">B</span> : <span class="type">T_Intervalle</span>) <span class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">return</span> <span class="ident">A.Inf</span> &gt;= <span class="ident">B.Inf</span> <span class="kw">and</span> <span class="ident">A.Sup</span> &lt;= <span class="ident">B.Sup</span> ;
<span class="kw">end</span> <span class="fname">Est_Inclus</span> ;<span class="eols">
</span> <span class="comment">-- A et B disjoints &lt;=&gt; A est situé avant B ou A est situé après B.
</span> <span class="kw">function</span> <span class="fname">Disjoints</span> (<span class="ident">A</span> : <span class="type">T_Intervalle</span> ; <span class="ident">B</span> : <span class="type">T_Intervalle</span>) <span
class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
</span> <span class="comment">-- A et B disjoints &lt;=&gt; A est situé avant B ou A est situé après B.
</span> <span class="kw">function</span> <span class="fname">Disjoints</span> (<span class="ident">A</span> : <span class="type">T_Intervalle</span> ; <span class="ident">B</span> : <span class="type">T_Intervalle</span>) <span class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">return</span> <span class="ident">A.Sup</span> &lt; <span class="ident">B.Inf</span> <span class="kw">or</span> <span class="ident">A.Inf</span> &gt; <span class="ident">B.Sup</span> ;
<span class="kw">end</span> <span class="fname">Disjoints</span> ;<span class="eols">
</span> <span class="kw">procedure</span> <span class="fname">Afficher_Relation</span> (<span class="ident">A</span> : <span class="type">T_Intervalle</span> ; <span class="ident">B</span> : <span class="type">T_Intervalle</span>) <span
class="kw">is</span>
</span> <span class="kw">procedure</span> <span class="fname">Afficher_Relation</span> (<span class="ident">A</span> : <span class="type">T_Intervalle</span> ; <span class="ident">B</span> : <span class="type">T_Intervalle</span>) <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">if</span> <span class="ident">Est_Inclus</span>(<span class="ident">A</span>, <span class="ident">B</span>) <span class="kw">then</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span
class="ident">B</span>)) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">B</span>)) ;
<span class="kw">elsif</span> <span class="ident">Est_Inclus</span>(<span class="ident">B</span>,<span class="ident">A</span>) <span class="kw">then</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span
class="ident">A</span>)) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">A</span>)) ;
<span class="kw">elsif</span> <span class="ident">Disjoints</span>(<span class="ident">A</span>,<span class="ident">B</span>) <span class="kw">then</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">B</span>)
&amp; <span class="string">&quot; sont disjoints.&quot;</span>) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; sont disjoints.&quot;</span>) ;
<span class="kw">else</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">B</span>)
&amp; <span class="string">&quot; ne sont pas disjoints.&quot;</span>) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Intervalle_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; ne sont pas disjoints.&quot;</span>) ;
<span class="kw">end</span> <span class="kw">if</span> ;
<span class="kw">end</span> <span class="fname">Afficher_Relation</span> ;<span class="eols">
</span> <span class="kw">type</span> <span class="type">T_Prod</span> <span class="kw">is</span> <span class="kw">record</span>
</span> <span class="kw">type</span> <span class="type">T_Prod</span> <span class="kw">is</span> <span class="kw">record</span>
<span class="ident">Gauche</span> : <span class="type">T_Intervalle</span> ;
<span class="ident">Droite</span> : <span class="type">T_Intervalle</span> ;
<span class="kw">end</span> <span class="kw">record</span> ;
<span class="kw">function</span> <span class="fname">Prod_Image</span>(<span class="ident">A</span> : <span class="type">T_Prod</span>) <span class="kw">return</span> <span class="type">String</span> <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">return</span> <span class="ident">Intervalle_Image</span>(<span class="ident">A.Gauche</span>) &amp; <span class="string">&quot; x &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span
class="ident">A.Droite</span>) ;
<span class="kw">return</span> <span class="ident">Intervalle_Image</span>(<span class="ident">A.Gauche</span>) &amp; <span class="string">&quot; x &quot;</span> &amp; <span class="ident">Intervalle_Image</span>(<span class="ident">A.Droite</span>) ;
<span class="kw">end</span> <span class="fname">Prod_Image</span> ;
<span class="comment">-- A1xA2 est inclus dans B1xB2 &lt;=&gt; A1 inclus dans B1 et A2 inclus dans B2
</span> <span class="kw">function</span> <span class="fname">Prod_Est_Inclus</span> (<span class="ident">A</span> : <span class="type">T_Prod</span> ; <span class="ident">B</span> : <span class="type">T_Prod</span>) <span
class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
</span> <span class="kw">function</span> <span class="fname">Prod_Est_Inclus</span> (<span class="ident">A</span> : <span class="type">T_Prod</span> ; <span class="ident">B</span> : <span class="type">T_Prod</span>) <span class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">return</span> <span class="ident">Est_Inclus</span> (<span class="ident">A.Gauche</span>, <span class="ident">B.Gauche</span>) <span class="kw">and</span> <span class="ident">Est_Inclus</span>(<span
class="ident">A.Droite</span>, <span class="ident">B.Droite</span>) ;
<span class="kw">return</span> <span class="ident">Est_Inclus</span> (<span class="ident">A.Gauche</span>, <span class="ident">B.Gauche</span>) <span class="kw">and</span> <span class="ident">Est_Inclus</span>(<span class="ident">A.Droite</span>, <span class="ident">B.Droite</span>) ;
<span class="kw">end</span> <span class="fname">Prod_Est_Inclus</span> ;<span class="eols">
</span> <span class="comment">-- A1xA2 disjoint de B1xB2 &lt;=&gt; A1 disjoint de B1 ou A2 disjoint de B2
</span> <span class="kw">function</span> <span class="fname">Prod_Disjoints</span> (<span class="ident">A</span> : <span class="type">T_Prod</span> ; <span class="ident">B</span> : <span class="type">T_Prod</span>) <span
class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
</span> <span class="comment">-- A1xA2 disjoint de B1xB2 &lt;=&gt; A1 disjoint de B1 ou A2 disjoint de B2
</span> <span class="kw">function</span> <span class="fname">Prod_Disjoints</span> (<span class="ident">A</span> : <span class="type">T_Prod</span> ; <span class="ident">B</span> : <span class="type">T_Prod</span>) <span class="kw">return</span> <span class="type">Boolean</span> <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">return</span> <span class="ident">Disjoints</span>(<span class="ident">A.Gauche</span>, <span class="ident">B.Gauche</span>) <span class="kw">or</span> <span class="ident">Disjoints</span>(<span class="ident">A.Droite</span>,
<span class="ident">B.Droite</span>) ;
<span class="kw">return</span> <span class="ident">Disjoints</span>(<span class="ident">A.Gauche</span>, <span class="ident">B.Gauche</span>) <span class="kw">or</span> <span class="ident">Disjoints</span>(<span class="ident">A.Droite</span>, <span class="ident">B.Droite</span>) ;
<span class="kw">end</span> <span class="fname">Prod_Disjoints</span> ;<span class="eols">
</span> <span class="kw">procedure</span> <span class="fname">Prod_Afficher_Relation</span> (<span class="ident">A</span> : <span class="type">T_Prod</span> ; <span class="ident">B</span> : <span class="type">T_Prod</span>) <span
class="kw">is</span>
</span> <span class="kw">procedure</span> <span class="fname">Prod_Afficher_Relation</span> (<span class="ident">A</span> : <span class="type">T_Prod</span> ; <span class="ident">B</span> : <span class="type">T_Prod</span>) <span class="kw">is</span>
<span class="kw">begin</span>
<span class="kw">if</span> <span class="ident">Prod_Est_Inclus</span>(<span class="ident">A</span>, <span class="ident">B</span>) <span class="kw">then</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span
class="ident">B</span>)) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span class="ident">B</span>)) ;
<span class="kw">elsif</span> <span class="ident">Prod_Est_Inclus</span>(<span class="ident">B</span>,<span class="ident">A</span>) <span class="kw">then</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span
class="ident">A</span>)) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; est inclus dans &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span class="ident">A</span>)) ;
<span class="kw">elsif</span> <span class="ident">Prod_Disjoints</span>(<span class="ident">A</span>,<span class="ident">B</span>) <span class="kw">then</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span class="ident">B</span>) &amp; <span
class="string">&quot; sont disjoints.&quot;</span>) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; sont disjoints.&quot;</span>) ;
<span class="kw">else</span>
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span class="ident">B</span>) &amp; <span
class="string">&quot; ne sont pas disjoints.&quot;</span>) ;
<span class="ident">Txt.Put_Line</span>(<span class="ident">Prod_Image</span>(<span class="ident">A</span>) &amp; <span class="string">&quot; et &quot;</span> &amp; <span class="ident">Prod_Image</span>(<span class="ident">B</span>) &amp; <span class="string">&quot; ne sont pas disjoints.&quot;</span>) ;
<span class="kw">end</span> <span class="kw">if</span> ;
<span class="kw">end</span> <span class="fname">Prod_Afficher_Relation</span> ;<span class="eols">
</span> <span class="ident">C</span> : <span class="kw">constant</span> <span class="type">T_Intervalle</span> := (<span class="number">5.0</span>, <span class="number">10.0</span>) ;
</span> <span class="ident">C</span> : <span class="kw">constant</span> <span class="type">T_Intervalle</span> := (<span class="number">5.0</span>, <span class="number">10.0</span>) ;
<span class="ident">D</span> : <span class="kw">constant</span> <span class="type">T_Intervalle</span> := (<span class="number">7.0</span>, <span class="number">8.0</span>) ;
<span class="ident">E</span> : <span class="kw">constant</span> <span class="type">T_Intervalle</span> := (<span class="number">4.0</span>, <span class="number">6.0</span>) ;<span class="eols">
</span><span class="kw">begin</span>
</span><span class="kw">begin</span>
<span class="ident">Afficher_Relation</span>(<span class="ident">C</span>,<span class="ident">D</span>) ;
<span class="ident">Afficher_Relation</span>(<span class="ident">D</span>,<span class="ident">C</span>) ;
<span class="ident">Afficher_Relation</span>(<span class="ident">C</span>,<span class="ident">E</span>) ;
<span class="ident">Afficher_Relation</span>(<span class="ident">D</span>,<span class="ident">E</span>) ;<span class="eols">
</span> <span class="ident">Prod_Afficher_Relation</span>((<span class="ident">C</span>, <span class="ident">C</span>), (<span class="ident">D</span>, <span class="ident">D</span>)) ;
</span> <span class="ident">Prod_Afficher_Relation</span>((<span class="ident">C</span>, <span class="ident">C</span>), (<span class="ident">D</span>, <span class="ident">D</span>)) ;
<span class="ident">Prod_Afficher_Relation</span>((<span class="ident">C</span>, <span class="ident">D</span>), (<span class="ident">D</span>, <span class="ident">C</span>)) ;
<span class="ident">Prod_Afficher_Relation</span>((<span class="ident">D</span>, <span class="ident">C</span>), (<span class="ident">E</span>, <span class="ident">C</span>)) ;
<span class="kw">end</span> <span class="fname">Mission2</span> ;
</code>
</main>
<footer><small class="pcom"><a class="caml_c" href="../../../yversion.html" data-eliom-c-onclick="VZGVzPPo79iK">Version information</a></small><a target="_blank" href="http://www.insa-toulouse.fr"><img title="INSA Toulouse"
style="width:73px;height:28px;" alt="INSA logo" src="../../../Images/logo-insa-light.jpg" /></a><a target="_blank" href="http://jigsaw.w3.org/css-validator/check/referer"><img title="Validate css stylesheet" style="width:28px;height:32px;"
alt="CSS3 logo" src="../../../Images/css3.png" /></a><a target="_blank" href="http://validator.w3.org/check/referer"><img title="Validate html5 content" style="width:32px;height:32px;" alt="HTML5 logo" src="../../../Images/html5.png" /></a>
</footer>
</body>
</html>
<span class="kw">end</span> <span class="fname">Mission2</span> ;
</code></main><footer><small class="pcom"><a class="caml_c" href="../../../yversion.html" data-eliom-c-onclick="VZGVzPPo79iK">Version information</a></small><a target="_blank" href="http://www.insa-toulouse.fr"><img title="INSA Toulouse" style="width:73px;height:28px;" alt="INSA logo" src="../../../Images/logo-insa-light.jpg"/></a><a target="_blank" href="http://jigsaw.w3.org/css-validator/check/referer"><img title="Validate css stylesheet" style="width:28px;height:32px;" alt="CSS3 logo" src="../../../Images/css3.png"/></a><a target="_blank" href="http://validator.w3.org/check/referer"><img title="Validate html5 content" style="width:32px;height:32px;" alt="HTML5 logo" src="../../../Images/html5.png"/></a></footer></body></html>

View file

@ -71,6 +71,7 @@ body:before {
main {
min-height: calc(100vh - 420px);
margin-bottom: 100px;
display: block;
}
.yfold:not(.card) {
@ -210,21 +211,30 @@ footer .pcom a {
/* PAGE DE CODE */
code {
background: #1b1b1b;
max-width: 900px;
width: auto;
z-index: 2;
background: #000;
width: min(94vw, 900px);
border-radius: 12px;
margin-left: 3vw;
margin-top: 20px;
font-family: monospace;
display: block;
color: #f5d67b;
display: inline-block;
color: #ffffcc;
tab-size: 2px;
tab-size: 2;
white-space: pre;
overflow-x: scroll;
padding: 15px 20px 12px 22px;
line-height: 1.75;
font-size: 120%;
padding: 20px 50px 22px 15px;
border-bottom: 10px solid #222;
line-height: 1.55;
}
code * {
white-space: pre;
tab-size: 2px;
display: inline;
}
span.comment {