css-le-botlan/Y/Ada-S2/tps.html
2021-03-07 13:20:02 +01:00

283 lines
19 KiB
HTML

<!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>TP Ada S2</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">TP Ada S2</h1>
</div>
<main>
<section class="yfold">
<h2 class="yfold-title" onclick="toggleYfold('d8a680ac')"><span class="arrow" id="arrow-d8a680ac">&#x25b8;</span>Message (du 18/1)</h2>
<div class="yfold-content" id="content-d8a680ac" data-yfold-default="show">
<section class="card">
<h3>Rattrapage Algo</h3>
<p>L'examen de rattrapage Algo du semestre 1 est prévu le <b>JEUDI 11 mars de 14H à 16H</b>. </p>
<ul class="steps">
<li>Il se déroulera dans les mêmes conditions qu'au premier semestre - au sous-sol du STPI.</li>
<li>Pour se préparer, reprendre les exercices complémentaires du premier semestre. <br />En particulier, l'<a class="caml_c" href="../Ada-S1/exercices/complet-s1.html" data-eliom-c-onclick="SPnjmPK62WcD">exercice sur tout</a>. </li>
</ul>
</section>
</div>
<script>
//<![CDATA[
initYfold('d8a680ac');
//]]>
</script>
</section>
<section class="yfold">
<h2 class="yfold-title" onclick="toggleYfold('92e14f72')"><span class="arrow" id="arrow-92e14f72">&#x25b8;</span>Exercices préparatoires</h2>
<div class="yfold-content" id="content-92e14f72" data-yfold-default="show">
<aside class="answers">
<h4>Réponses</h4>
<ul>
<li>Tracés : <a class="caml_c" href="Programmes/exos-preparatoires/mission1.html" data-eliom-c-onclick="CxwK8ZhQznA9">mission1.adb</a></li>
<li>Intervalles : <a class="caml_c" href="Programmes/exos-preparatoires/mission2.html" data-eliom-c-onclick="mVeLLB9DtOii">mission2.adb</a></li>
<li>Pour les très curieux, voici la réponse au deuxième sujet en langage OCaml (étudié en 4ème année IR) : <a class="caml_c" href="Programmes/exos-preparatoires/solution-en-ocaml.html" data-eliom-c-onclick="D7vEf3CM0uFO">mission2.ml</a>
</li>
</ul>
</aside>
<section class="exercise">
<div class="content">
<h5>Exercices pour le premier TP (semaine du 25 janvier)</h5>Faites le maximum de ces deux exercices avant la première séance de TP. Vous les terminerez avec l'aide des encadrants pendant le TP (d'une durée courte : 1H15).<ul>
<li><a class="caml_c" href="exo-traces.html" data-eliom-c-onclick="+4H37B8r6eCH">Exercice de tracés avec des caractères</a></li>
<li><a class="caml_c" href="exo-intervalles.html" data-eliom-c-onclick="odFtUxKRrktH">Exercice avec des types article</a></li>
</ul>
</div>
</section>
</div>
<script>
//<![CDATA[
initYfold('92e14f72');
//]]>
</script>
</section>
<section class="yfold">
<h2 class="yfold-title" onclick="toggleYfold('1565250e')"><span class="arrow" id="arrow-1565250e">&#x25b8;</span>Sujets du projet de TP</h2>
<div class="yfold-content" id="content-1565250e" data-yfold-default="hide">
<section class="yfold card">
<h4 class="yfold-title" onclick="toggleYfold('11b98c2a')"><span class="arrow" id="arrow-11b98c2a">&#x25b8;</span>Objectifs</h4>
<div class="yfold-content" id="content-11b98c2a" data-yfold-default="hide">
<pre class="ascii">
`````,''',,,,,,'``
``,,,-.^~^^^''````` ```'-^~~\xxx:!'..``
'~!/\//~~^^^''`````````` `'^^~+=*??x:+',
`xx^,''```````````````` ``\?/`
`x/''````````````'``` `` 'x\`
,/~```````````'x/~+r'` `_;+\/\, 'x\,
'!-````````1~!~,!j;,,~~~!!!!!!!~~!;xeMgx//~V ~~^
`~~`'r+!!~+![ xyADN@B$gaucx;;xcs2A99556%%%5_]'=~~~~+' '^^`
'~'v\'0XXC''^~aDBMMRRWMMMW@@NDDMHH55555%%X%k_!,cscx,^L ''^
,~-`4 3%%%%s!sdB@F^'~~~~_'uNDDQ8E(~(((LL/$kk0}r)ssswx`] `,,,
`^^``] ]%9998DB@W?'x!```~r`?DW855%i~r```~L^Vsssssswss\ ] `^^'
`^^```^t^{5MDBD#C^ +r~~~~+'`?8555%%i,+~~~~+*;!Ywwwssk*'x' ''~`
,x!`````'\\:/!~^`,-^^~~~~///;?56%%%X(~~/xxxx`4*+:/!~~\=+' \x~`
`(s'``` ;f~,-~~~~~//xx//++?%%%%Xs}xx?Ysss\'t``j7!~'~!x` *s!
xs^`` `:r_'/~~~~~//~^;!!r!`?96g%ss(^\Yss?x\'`/*`_'_^~~`J, `ss'
.s/` !*_/ssssss??~!+' -r`u@@@@@$i~tr~^+xsssx'xssssssx'l ^sx'
(s` )~.sssssssss'x~ -r`u@@@@@$i~r '~+r!~+Ysssssss?-j- ?s~
_sx 4 ?sssssssss\^L` -r`u@@@@@$i~r '~++;~~+=+~;*` ~sx`
~s' 't_\sssssssssx^!!!!!!^'uBNBNN6i'!~~~~~~!!^`^~~~~~` -s(,
|s^ /v~~?ssssssssssss?xx///~~~~^^^^^^^^'''`,~\+. `ss^
|s, `xr~'` `'+*sssss??xx///~~~~^^^^^^^,,,,,^~~~~,_/x, `ss^
!s. ]`,~~/\,`Ys|:/~~~~~~~~~~~~~^^^^^,,,,,^~~~///xx\.~v_ ``'sY^
's! s ~/xx?Y?'~*'`'~~~~~+'`x%%%%5%i';!_'^~~///xxxx??x,/c` ````^s(^
`s? ,*''xYssssx._\r` -r`x%g599Ei~r ,/v`\xxxxx???Yss-~7``````xsr`
~s! ,\;'ssxx/~~,`~+/, -r`?9598MEi~r `] /xx???Ysss/_v~``````_s?^
?s. ]`\x/~~~^^^,'`^!+!`?988QD6i~L!+~_/x???Yss?~~v\```````'(s~`
`?s, /i_-^^^^^,,.~~/!!~?WQDDB6(,.'/xx????sx~~i/^````````'cs\'
`*7. ^~~!!+~'-^\xx??x?DDBN@$kxxxx??x/~~;rr^``````````_js\'
~?\` `~~~!!;/'^nN@@@@$Y~~~\:;!+!'`````````````/s?~`
'\x. \r`u@@@@@$i-[''` `````````````!?s\-
'^~, `v~`\#@@@@@B%\~v' ````````````_/??\^
`''`` -L`v@@@@@@@@@$i~r```````````_!xs*~'
`'^^,` 'l`~~^^~~~~+*7|\~```````_!xs?x~'`
``^~~,,` `s!!~~~'''~!!+!u^```_!xs?x~'`
`'^~~.,` ``````.!xs?x~'`
`'~\/',` ````.!x?x/~'`
`-~xx+^!x?x/^'`
`^~~^``
</pre>
<ul class="goals">
<li>L'objectif des prochains TPs est d'écrire un programme qui transforme une image en ascii-art (comme le logo ci-contre). </li>
</ul>
<h4>Pré-requis</h4>
<ul class="requires">
<li>Les compétences du premier semestre : boucles, type article.</li>
</ul>
</div>
<script>
//<![CDATA[
initYfold('11b98c2a');
//]]>
</script>
</section>
<section class="yfold card">
<h4 class="yfold-title" onclick="toggleYfold('3f1a2d9e')"><span class="arrow" id="arrow-3f1a2d9e">&#x25b8;</span>Les sujets</h4>
<div class="yfold-content" id="content-3f1a2d9e" data-yfold-default="hide">
<ul class="lessons">
<li><a class="caml_c" href="tp-m1.html" data-eliom-c-onclick="XPyqcjBl8dad"><span class="lbutton">Partie 1</span><small class="pcom">(2H environ)</small> : Manipulation de caractères</a>. </li>
<li><a class="caml_c" href="tp-m2.html" data-eliom-c-onclick="GxHu97aVn+4U"><span class="lbutton">Partie 2</span><small class="pcom">(3H environ)</small> : Manipulation d'image</a>. </li>
<li><a class="caml_c" href="tp-m3.html" data-eliom-c-onclick="6KcRk5bTByyR"><span class="lbutton">Partie 3</span><small class="pcom">(6H environ)</small> : Conception de l'algorithme</a>. </li>
</ul>
</div>
<script>
//<![CDATA[
initYfold('3f1a2d9e');
//]]>
</script>
</section>
<section class="yfold card">
<h4 class="yfold-title" onclick="toggleYfold('f204b86b')"><span class="arrow" id="arrow-f204b86b">&#x25b8;</span>Acteurs utilisés</h4>
<div class="yfold-content" id="content-f204b86b" data-yfold-default="hide">
<ul class="file-list">
<li><a class="file caml_c" href="../Ada-S1/acteur-gada/gada-text_io.ads.html" data-eliom-c-onclick="aPwrmA3rZv0p">GAda.Text_IO</a></li>
<li><a class="file caml_c" href="../Ada-S1/acteur-gada/gada-graphics.ads.html" data-eliom-c-onclick="otobeG+G/686">GAda.Graphics</a></li>
<li><a class="file caml_c" href="../Ada-S1/acteur-gada/gada-plus.ads.html" data-eliom-c-onclick="zRrapLcy53s4">GAda.Plus</a></li>
<li><a class="file caml_c" href="acteur-jpg/jpg.ads.html" data-eliom-c-onclick="hbwHasxnEjp6">JPG</a></li>
<li><a class="file caml_c" href="acteur-jpg/caracteres.ads.html" data-eliom-c-onclick="3HC03uiRypdz">Caracteres</a></li>
</ul>
</div>
<script>
//<![CDATA[
initYfold('f204b86b');
//]]>
</script>
</section>
<section class="yfold card">
<h4 class="yfold-title" onclick="toggleYfold('7bc12d73')"><span class="arrow" id="arrow-7bc12d73">&#x25b8;</span>TP du semestre 1</h4>
<div class="yfold-content" id="content-7bc12d73" data-yfold-default="hide">
<ul>
<li><a class="caml_c" href="../Ada-S1/tps.html" data-eliom-c-onclick="phbidk6TOS+K">Sujet des TP Ada du premier semestre</a></li>
</ul>
</div>
<script>
//<![CDATA[
initYfold('7bc12d73');
//]]>
</script>
</section>
</div>
<script>
//<![CDATA[
initYfold('1565250e');
//]]>
</script>
</section>
<section class="yfold">
<h2 class="yfold-title" onclick="toggleYfold('1ae86e95')"><span class="arrow" id="arrow-1ae86e95">&#x25b8;</span>Exercices complémentaires</h2>
<div class="yfold-content" id="content-1ae86e95" data-yfold-default="hide">
<ul class="exo-list">
<li><a class="caml_c" href="exo-base-tab.html" data-eliom-c-onclick="QD1WpDLf2rmV">Exercices de base sur les tableaux</a></li>
<li><a class="caml_c" href="exo-mouv.html" data-eliom-c-onclick="2WovPB7iPJYC">Exercice sur les types articles, types énumérés et tableaux</a></li>
<li><a class="caml_c" href="exo-carac.html" data-eliom-c-onclick="QSkWTgC1uOFz">Exercice sur les matrices et structures imbriquées</a></li>
<li><a class="caml_c" href="exo-structures.html" data-eliom-c-onclick="k6FWzu+NhJlU">Exercices sur les structures imbriquées</a></li>
<li><a class="caml_c" href="exo-ferme.html" data-eliom-c-onclick="RVPlqd3aFIbZ">Exercice sur TOUT - semestre 2<img class="nice-inline" style="width:264px;height:44px;" alt="Ferme" src="../Images/ferme0.png" /></a></li>
</ul>
</div>
<script>
//<![CDATA[
initYfold('1ae86e95');
//]]>
</script>
</section>
<section class="yfold">
<h2 class="yfold-title" onclick="toggleYfold('9ffcf072')"><span class="arrow" id="arrow-9ffcf072">&#x25b8;</span>Compétences</h2>
<div class="yfold-content" id="content-9ffcf072" data-yfold-default="hide">
<section class="card">
<h3>Compétences Algorithmiques du semestre 2</h3>
<p>Comme au premier semestre, les compétences d'algo sont classées dans trois macro-compétences, de difficulté croissante :</p>
<h4><span class="difficulty"><img style="width:16px;height:16px;" alt="Star" src="../Images/etoile.png" /></span>Bases de programmation</h4><small class="pcom">(le minimum vital à acquérir)</small>
<ul class="resources">
<li>Les programmes sont cohérents et compilent sans erreur.</li>
<li>Invoquer une procédure ou fonction recevant une structure de données en argument, afficher une structure de données.</li>
<li>Manipuler les types énumérés</li>
<li>Respecter les conventions de présentation (indentation, espacements, commentaires, nommage des variables).</li>
</ul><br class="bbr" />
<h4><span class="difficulty"><img style="width:16px;height:16px;" alt="Star" src="../Images/etoile.png" /><img style="width:16px;height:16px;" alt="Star" src="../Images/etoile.png" /></span>Éléments d'algorithmique</h4><small
class="pcom">(l'objet principal du cours)</small>
<ul class="resources">
<li>Appliquer toutes les règles de construction d'un programme (<b>typage</b>, 1er et 2ème semestre).</li>
<li>Prévoir le résultat d'un programme (<b>sémantique</b>, 1er et 2ème semestre).</li>
<li>Exploiter les informations contenues dans une structure de données complexe.</li>
<li><mark>Essentiel</mark> : les algorithmes classiques (min, max, moyenne, algorithme de recherche) appliqués à une structure complexe.</li>
</ul><br class="bbr" />
<h4><span class="difficulty"><img style="width:16px;height:16px;" alt="Star" src="../Images/etoile.png" /><img style="width:16px;height:16px;" alt="Star" src="../Images/etoile.png" /><img style="width:16px;height:16px;" alt="Star"
src="../Images/etoile.png" /></span>Algorithmique fine</h4><small class="pcom"> (pour obtenir le niveau maîtrisé)</small>
<ul class="resources">
<li>Pour le niveau maîtrisé : conception d'algorithme évolué nécessitant une décomposition en sous-problèmes.</li>
</ul>
</section>
<p>Ces compétences seront évaluées partiellement lors du contrôle Moodle, puis plus complètement lors du contrôle de TP en avril. Un échec au contrôle Moodle peut être rattrapé par une bonne prestation lors du contrôle de TP.</p>
<p>Toutes les compétences n'ont pas le même poids. Par exemple, afficher une structure de données est a priori plus important que le respect des conventions de présentation. Un correcteur examinera votre contrôle pour estimer si chaque
macro-compétence est acquise. </p>
</div>
<script>
//<![CDATA[
initYfold('9ffcf072');
//]]>
</script>
</section>
<section class="yfold">
<h2 class="yfold-title" onclick="toggleYfold('5e727de2')"><span class="arrow" id="arrow-5e727de2">&#x25b8;</span>Ada en dehors des heures de TP</h2>
<div class="yfold-content" id="content-5e727de2" data-yfold-default="hide">
<section class="card">
<h3>Pour travailler Ada à l'INSA</h3>
<p>Des salles informatiques sont en accès libre : <b>la salle du CSN</b> (au centre informatique), et les salles du sous-sol si vous parvenez à y accéder.</p>
</section>
<section class="card">
<h3>Pour travailler Ada depuis chez soi, en se connectant sur un serveur de l'INSA (avec connexion VPN)</h3>
<ol>
<li>Avoir une connexion VPN qui fonctionne : <a target="_blank" href="http://csn.insa-toulouse.fr/fr/services/services-transverses/connexion-par-vpn.html">le client VPN de l'INSA</a><br /> ou <a target="_blank"
href="https://wiki.etud.insa-toulouse.fr/books/r%C3%A9seau-et-internet">le VPN expliqué par WikEtud</a>. </li>
<li>Puis visiter : <a class="url" target="_blank" href="https://montp.insa-toulouse.fr">//montp.insa-toulouse.fr</a> et choisir une session linux.</li>
<li>En cas de problème technique, envoyez un email à <i>infrastructure-csn à insa-toulouse.fr</i>. </li>
</ol>
</section>
<section class="card">
<h3>Pour travailler Ada directement sur son propre ordi, chez soi (sans connexion internet)</h3>
<p>Grâce aux efforts du club info, il est possible d'installer sur son ordinateur personnel un environnement semblable à l'environnement des TP Ada à l'INSA.</p>
<p>Aucune connaissance technique n'est nécessaire. Il suffit de suivre les consignes indiquées <a target="_blank" href="https://wiki.etud.insa-toulouse.fr/books/tutos/chapter/machine-virtuelle-ada">pour installer une machine virtuelle.</a>
</p>
</section>
<section class="card">
<h3>Tech.io (connexion internet, pas de VPN)</h3>
<p>Alternative : vous pouvez travailler directement sur tech.io :</p>
<ul>
<li><a target="_blank" href="https://tech.io/playgrounds/5454/learning-algorithmics-with-ada/welcome">Exercices complémentaires du semestre 1<small class="pcom"> (by le Club Info)</small></a></li>
<li><a target="_blank" href="https://tech.io/playgrounds/53242/exercices-complementaires-ada">Exercices complémentaires du semestre 2<small class="pcom"> (by Le Botlan)</small></a></li>
<li><a target="_blank" href="https://tech.io/playgrounds/53242/programmation-ada-insa/espace-pour-tous-les-exercices">Espace sur tech-io pour écrire tous les programmes (hors TP)</a></li>
</ul>
</section>
<p>Enfin, notez que le club INFO vous aide à installer l'environnement - contactez-les.</p>
</div>
<script>
//<![CDATA[
initYfold('5e727de2');
//]]>
</script>
</section><br class="vskip" />
<section class="advice">
<div class="content">
<h4>Appel à CSS</h4>Si vous êtes amateur de feuilles de styles et souhaitez changer le style des pages de TP, proposez votre propre fichier css (et les images nécessaires) à M. Le Botlan <small class="pcom"> (qui s'en servira si le style
convient)</small>. <br />Le style proposé doit rester compatible avec la structure HTML actuelle.
</div>
</section>
</main>
<footer><a target="_blank" href="http://www.insa-toulouse.fr"><img title="INSA Toulouse" style="width:194px;height:42px;" alt="INSA logo" src="../Images/logo-insa.jpg" /></a><a target="_blank" href="https://www.laas.fr/"><img title="LAAS"
style="width:82px;height:42px;" alt="LAAS logo" src="../Images/laas.png" /></a><a target="_blank" href="http://www.univ-toulouse.fr/"><img title="University of Toulouse" style="width:84px;height:42px;" alt="University of Toulouse logo"
src="../Images/univt.jpg" /></a><small class="pcom"><a class="caml_c" href="../yversion.html" data-eliom-c-onclick="H5vKS1RVTTkX">Version information</a></small><a target="_blank" href="http://ocaml.org/"><img title="Powered by OCaml code"
style="width:42px;height:42px;" alt="OCaml logo" src="../Images/ocaml-small.png" /></a><a target="_blank" href="http://ocsigen.org/"><img title="Website generated by ocsigen &amp; eliom" style="width:38px;height:32px;" alt="Ocsigen logo"
src="../Images/ocsigen-small.png" /></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>