suppresion des Statex des algo de style impératif

This commit is contained in:
gwen 2017-04-12 10:22:44 +02:00 committed by Benjamin Bohard
parent 287dc14656
commit 97a8e6d31f
5 changed files with 24 additions and 28 deletions

View File

@ -2,10 +2,10 @@ Algorithmique
============= =============
Al-Kharezmi, auteur du traité "Kitab al jabr w'al-muqabala", est l'inventeur Al-Kharezmi, auteur du traité "Kitab al jabr w'al-muqabala", est l'inventeur
des manipulations algébriques (algèbre = al jabr), mais l'algèbre existe des manipulations algébriques (algèbre = **al jabr**).
depuis bien plus longtemps (Babylone, puis l'Egypte ancienne).
C'est Léonard de Pise, dit Fibonacci, qui emprunta le nom du célèbre C'est Léonard de Pise, dit Fibonacci, qui emprunta le nom du célèbre
mathématicien arabe du 9ème siècle. mathématicien arabe du 9ème siècle, mais l'algèbre existe
depuis bien plus longtemps (Depuis Babylone, puis ensuite l'Egypte ancienne).
.. glossary:: .. glossary::

View File

@ -35,7 +35,9 @@ extensions = [
# ajout des cours avec solution des exercices ou non # ajout des cours avec solution des exercices ou non
def setup(app): def setup(app):
app.add_config_value('correction', False, 'env') app.add_config_value('correction', False, 'env')
app.add_config_value('exercice', False, 'env')
exercice = True
correction = True correction = True
# Add any paths that contain templates here, relative to this directory. # Add any paths that contain templates here, relative to this directory.

View File

@ -106,8 +106,7 @@ Répéter ... jusqu'à
\begin{algorithm} \begin{algorithm}
\caption{Exemple de répéter ... jusqu'à} \caption{Exemple de répéter ... jusqu'à}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\Require $i \gets 1$ \Comment{déclaration et initialisation de i} \BState \emph{locales}: $i \gets 1$ \Comment{déclaration et initialisation de i}
\Statex
\Repeat \Comment{c'est le label de début du répéter} \Repeat \Comment{c'est le label de début du répéter}
\State $i \gets \textit{i+1}$ \State $i \gets \textit{i+1}$
\Until{i == 100} \Comment{condition de fin de la boucle} \Until{i == 100} \Comment{condition de fin de la boucle}
@ -122,8 +121,7 @@ La boucle **pour** (for)
\begin{algorithm} \begin{algorithm}
\caption{Exemple de boucle for} \caption{Exemple de boucle for}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\Require $sum\gets 0$ \BState \emph{locales}: $sum\gets 0$
\Statex
\For{$i\gets 1, n$} \For{$i\gets 1, n$}
\State $sum\gets sum+i$ \State $sum\gets sum+i$
\EndFor \EndFor
@ -138,8 +136,7 @@ La boucle tant que (while)
\begin{algorithm} \begin{algorithm}
\caption{Exemple de boucle while} \caption{Exemple de boucle while}
\begin{algorithmic}[1] \begin{algorithmic}[1]
\Require $sum\gets 0$ \BState \emph{locales}: $sum\gets 0$
\Statex
\State $i\gets 1$ \State $i\gets 1$
\While{$i\le n$} \While{$i\le n$}
\State $sum\gets sum+i$ \State $sum\gets sum+i$

View File

@ -28,9 +28,9 @@ allant de plus en plus haut, mais étant sous-entendu qu'il faut rester connect
bas niveau (comprendre comment ça se passe derrière la scène). bas niveau (comprendre comment ça se passe derrière la scène).
Dans ces deux cas, il est sous-entendu qu'on apprend plus de choses et plus rapidement en mettant Dans ces deux cas, il est sous-entendu qu'on apprend plus de choses et plus rapidement en mettant
les mains dans le cambouis, ce qui vrai bien sûr. Mais cela sous-entend qu'un développeur doit les mains dans le cambouis, ce qui est vrai bien sûr. Mais cela sous-entend qu'un développeur doit
rester le nez dans le guidon. Qu'il doit être un expert de son domaine en accumulant des technos rester le nez dans le guidon. Qu'il doit être un expert de son domaine en accumulant des technologies
sans aucun recul. Bie sûr il se doit d'être un expert du système dans lequel il évolue sans aucun recul. Bien sûr il se doit d'être un expert du système dans lequel il évolue
(connaissance du système d'exploitation, binding avec le C, du ramasse miette (garbage (connaissance du système d'exploitation, binding avec le C, du ramasse miette (garbage
collector), interaction avec les différentes librairies, gestion et optimisation de la mémoire, collector), interaction avec les différentes librairies, gestion et optimisation de la mémoire,
architecture par microservices, threads...) mais il doit aussi être capable de prendre du recul. architecture par microservices, threads...) mais il doit aussi être capable de prendre du recul.
@ -47,7 +47,7 @@ objects, généricité, polymorphisme paramétrique...) et d'un outil de communi
avec la machine qu'on appelle compilateur (dont la description est en dehors de avec la machine qu'on appelle compilateur (dont la description est en dehors de
l'objectif de ce cours). l'objectif de ce cours).
La tendance générale de l'évolution des languages est de se libérer de ces La tendance générale de l'évolution des langages est de se libérer de ces
contraintes de bas niveau, un peu comme en sciences physiques où les lois physiques contraintes de bas niveau, un peu comme en sciences physiques où les lois physiques
dépendent de l'échelle d'en dessous (du niveau microscopique/quantique) mais qu'à dépendent de l'échelle d'en dessous (du niveau microscopique/quantique) mais qu'à
l'échelle du dessus, on n'a pas affaire à des effets de bas niveau (pas d'effets l'échelle du dessus, on n'a pas affaire à des effets de bas niveau (pas d'effets

View File

@ -4,8 +4,8 @@ Avant propos
Introduction Introduction
~~~~~~~~~~~~ ~~~~~~~~~~~~
| "Que nul n'entre ici s'il n'est géomètre" | "**Que nul n'entre ici s'il n'est géomètre**"
| (Maxime apposée au porche d'entrée de l'École de Platon) | Maxime apposée au porche d'entrée de l'École de Platon
- L'accent est mis sur l'approche **algorithmique scientifique**, dite algorithmique - L'accent est mis sur l'approche **algorithmique scientifique**, dite algorithmique
@ -40,18 +40,16 @@ Intérêt
------- -------
| "Les dieux ne connaissent pas seulement les mauvaises actions, | "**Il ne suffit pas d'avoir les mains propres, il faut avoir l'esprit pur.**"
| mais encore les mauvaises pensées." | Thalès de Milet ; Sentences - VIe s. av. J.-C.
| Thalès de Milet
L'algorithmique en tant que rapport à la vérité et à la pensée juste et vraie,
L'algorithmique en tant que rapport à la vérité,
en tant qu'art de découper un problème complexe en tâches élémentaires, en tant qu'art de découper un problème complexe en tâches élémentaires,
en tant qu'énoncés de compréhension et de sémantique, en tant qu'énoncés de compréhension et de sémantique,
est la seule chose vraiment profonde dans l'informatique. Le reste n'est que 0 ou 1. est la seule chose vraiment profonde dans l'informatique. Le reste n'est que 0 ou 1.
Cette notion d'algorithme est profondément enracinée dans le désir humain de Cette notion d'algorithme est profondément enracinée dans le désir humain de
transmettre des méthodes pour comprendre des problématiques, transmettre des méthodes pour comprendre des problématiques,
qu'il s'agisse de procédures scientifiques ou mathématiques, de secrets, qu'il s'agisse de processus scientifiques ou mathématiques, de secrets,
de philosophie ou de divination au sens des anciens Grecs. de philosophie ou de divination au sens des anciens Grecs.
De règles linguistiques, aussi, chez les Romains. De règles linguistiques, aussi, chez les Romains.
@ -60,16 +58,15 @@ Objectifs de ce cours
Il s'agit de : Il s'agit de :
- maîtriser et concevoir un algorithmes de base, - maîtriser et concevoir un algorithme de base,
- choisir une représentations appropriée des données, - choisir une représentation appropriée des données,
- décomposer en sous-problèmes et affinements successifs, - décomposer en sous-problèmes et affinements successifs,
- organiser les modules et les fonctions. - organiser en fonction et en modules.
Le développement raisonné dalgorithmes et leur implantation Le développement raisonné dalgorithmes et leur implantation
permet d'acquérir les qualités suivantes : permet d'acquérir les qualités suivantes :
+ Analyser et modéliser un problème, + Analyser et modéliser un problème, spécifier,
+ Spécifier, + Exprimer une problématique, une solution ou un algorithme,
+ Exprimer, une problématique, une solution ou un algorithme,
+ Traduire un algorithme dans un langage de programmation, + Traduire un algorithme dans un langage de programmation,
+ Concevoir un algorithme répondant à un problème précisément posé. + Concevoir une réponse à un problème précisément posé.