suppresion des Statex des algo de style impératif
This commit is contained in:
parent
2786706b0f
commit
eb3daeae4e
@ -2,10 +2,10 @@ Algorithmique
|
||||
=============
|
||||
|
||||
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
|
||||
depuis bien plus longtemps (Babylone, puis l'Egypte ancienne).
|
||||
des manipulations algébriques (algèbre = **al jabr**).
|
||||
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::
|
||||
|
||||
|
@ -35,7 +35,9 @@ extensions = [
|
||||
# ajout des cours avec solution des exercices ou non
|
||||
def setup(app):
|
||||
app.add_config_value('correction', False, 'env')
|
||||
app.add_config_value('exercice', False, 'env')
|
||||
|
||||
exercice = True
|
||||
correction = True
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
|
@ -106,8 +106,7 @@ Répéter ... jusqu'à
|
||||
\begin{algorithm}
|
||||
\caption{Exemple de répéter ... jusqu'à}
|
||||
\begin{algorithmic}[1]
|
||||
\Require $i \gets 1$ \Comment{déclaration et initialisation de i}
|
||||
\Statex
|
||||
\BState \emph{locales}: $i \gets 1$ \Comment{déclaration et initialisation de i}
|
||||
\Repeat \Comment{c'est le label de début du répéter}
|
||||
\State $i \gets \textit{i+1}$
|
||||
\Until{i == 100} \Comment{condition de fin de la boucle}
|
||||
@ -122,8 +121,7 @@ La boucle **pour** (for)
|
||||
\begin{algorithm}
|
||||
\caption{Exemple de boucle for}
|
||||
\begin{algorithmic}[1]
|
||||
\Require $sum\gets 0$
|
||||
\Statex
|
||||
\BState \emph{locales}: $sum\gets 0$
|
||||
\For{$i\gets 1, n$}
|
||||
\State $sum\gets sum+i$
|
||||
\EndFor
|
||||
@ -138,8 +136,7 @@ La boucle tant que (while)
|
||||
\begin{algorithm}
|
||||
\caption{Exemple de boucle while}
|
||||
\begin{algorithmic}[1]
|
||||
\Require $sum\gets 0$
|
||||
\Statex
|
||||
\BState \emph{locales}: $sum\gets 0$
|
||||
\State $i\gets 1$
|
||||
\While{$i\le n$}
|
||||
\State $sum\gets sum+i$
|
||||
|
@ -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).
|
||||
|
||||
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
|
||||
rester le nez dans le guidon. Qu'il doit être un expert de son domaine en accumulant des technos
|
||||
sans aucun recul. Bie sûr il se doit d'être un expert du système dans lequel il évolue
|
||||
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 technologies
|
||||
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
|
||||
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.
|
||||
@ -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
|
||||
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
|
||||
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
|
||||
|
@ -4,8 +4,8 @@ Avant propos
|
||||
Introduction
|
||||
~~~~~~~~~~~~
|
||||
|
||||
| "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)
|
||||
| "**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
|
||||
|
||||
|
||||
- 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,
|
||||
| mais encore les mauvaises pensées."
|
||||
| Thalès de Milet
|
||||
| "**Il ne suffit pas d'avoir les mains propres, il faut avoir l'esprit pur.**"
|
||||
| Thalès de Milet ; Sentences - VIe s. av. J.-C.
|
||||
|
||||
|
||||
L'algorithmique en tant que rapport à la vérité,
|
||||
L'algorithmique en tant que rapport à la vérité et à la pensée juste et vraie,
|
||||
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,
|
||||
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
|
||||
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 règles linguistiques, aussi, chez les Romains.
|
||||
|
||||
@ -60,16 +58,15 @@ Objectifs de ce cours
|
||||
|
||||
Il s'agit de :
|
||||
|
||||
- maîtriser et concevoir un algorithmes de base,
|
||||
- choisir une représentations appropriée des données,
|
||||
- maîtriser et concevoir un algorithme de base,
|
||||
- choisir une représentation appropriée des données,
|
||||
- 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é d’algorithmes et leur implantation
|
||||
permet d'acquérir les qualités suivantes :
|
||||
|
||||
+ Analyser et modéliser un problème,
|
||||
+ Spécifier,
|
||||
+ Exprimer, une problématique, une solution ou un algorithme,
|
||||
+ Analyser et modéliser un problème, spécifier,
|
||||
+ Exprimer une problématique, une solution ou un algorithme,
|
||||
+ 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é.
|
||||
|
Loading…
Reference in New Issue
Block a user