Compare commits

...

2 commits

Author SHA1 Message Date
Mstrdav
1b316c5315 Merge branch 'master' 2021-02-04 20:08:48 +01:00
Mstrdav
61edecda47 resouds les tabs 2021-02-04 20:06:00 +01:00
3 changed files with 73 additions and 185 deletions

View file

@ -1,21 +1,7 @@
<!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">
<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">
<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">
</span><span class="kw">procedure</span> <span class="fname">Mission2</span> <span class="kw">is</span><span class="eols">
@ -28,39 +14,31 @@ See http://ocsigen.org/ and http://caml.inria.fr/ for information -->
<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="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="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">
@ -71,42 +49,32 @@ See http://ocsigen.org/ and http://caml.inria.fr/ for information -->
<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="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">
@ -124,12 +92,4 @@ See http://ocsigen.org/ and http://caml.inria.fr/ for information -->
<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>
</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,24 +211,32 @@ 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: #ffffcc;
tab-size: 2px;
tab-size: 2;
white-space: pre;
overflow-x: scroll;
font-size: 120%;
padding: 15px 20px 12px 22px;
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 {
font-style: italic;
color: rgb(128, 139, 150);

View file

@ -1,81 +0,0 @@
//
// Show/hide some sections by clicking on the title.
//
// Can be replaced by <details>, <summary> once it is supported by most browsers.
//
function saveStatus(id, shown) {
if (typeof(Storage) !== "undefined") {
localStorage.setItem("yfold-shown-" + id, shown) ;
}
}
// record : (when clicked), record the status in local storage
function setStatus(id, shown, content, record) {
// console.log ("setStatus (" + id + ", " + shown + ")") ;
var span = document.getElementById("arrow-" + id) ;
if (shown) {
content.classList.remove("anim-hide") ;
content.classList.remove("hidden") ;
span.innerHTML = "&#x25be;" ;
if (record) { content.classList.add("anim-show") ; }
else { content.classList.add("shown") ; }
}
else {
content.classList.remove("anim-show") ;
content.classList.remove("shown") ;
span.innerHTML = "&#x25b8;" ;
if (record) { content.classList.add("anim-hide") ; }
else { content.classList.add("hidden") ; }
}
if (record) { saveStatus(id, shown) ; }
}
// Invoked at load-time once for every yfold section.
function initYfold(id) {
// console.log ("initYfold (" + id + ")") ;
// console.log ("unknown " + id)
var shown = true ;
var content = document.getElementById("content-" + id) ;
// Sets the state according to local storage or default value.
if (typeof(Storage) !== "undefined") {
var local = localStorage.getItem("yfold-shown-" + id) ;
// console.log ("using storage value = " + local)
if (local === 'true') {
shown = true ;
}
else if (local === 'false') {
shown = false ;
}
else {
// Get default value
var defv = content.getAttribute("data-yfold-default") ;
if (defv === 'hide') {
shown = false ;
}
// console.log ("using default value = " + shown)
}
}
setStatus(id, shown, content, false) ;
}
// Function invoked when the title is clicked.
function toggleYfold(id) {
// console.log ("toggleYfold (" + id + ")") ;
var content = document.getElementById("content-" + id) ;
var expand = content.classList.contains("anim-hide") || content.classList.contains("hidden") ;
setStatus(id, expand, content, true) ;
}