From 95231a42530d58928f0d32ba296b4a04270c0d0d Mon Sep 17 00:00:00 2001 From: gwen Date: Fri, 7 Apr 2017 17:22:05 +0200 Subject: [PATCH] =?UTF-8?q?d=C3=A9finition=20des=20actions=20d'un=20progra?= =?UTF-8?q?mme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- algorithmique/cours/fondement.txt | 39 ++++++++++++++++++++ algorithmique/cours/index.txt | 1 - algorithmique/cours/machine.txt | 27 -------------- algorithmique/cours/modularite.txt | 2 +- algorithmique/cours/programme.txt | 57 ++++++++++++++++++++++++++++++ 5 files changed, 97 insertions(+), 29 deletions(-) delete mode 100644 algorithmique/cours/machine.txt diff --git a/algorithmique/cours/fondement.txt b/algorithmique/cours/fondement.txt index e7ce4c1..15e6ce4 100644 --- a/algorithmique/cours/fondement.txt +++ b/algorithmique/cours/fondement.txt @@ -107,3 +107,42 @@ plus efficace. langages ne dépent plus de la machine, et ils implémentent des paradigmes de programmation indépendant de l'état de la mémoire de l'ordinateur, ils sont indépendant même du système d'exploitation. + +Qu'est-ce qu'une machine ? +--------------------------- + +Une machine, ce truc apparemment si complexe, est en fait +un assemblage de bric et de brac. + +L'assemblage des connecteurs permet de simuler un additionneur, +en prenant en compte les propriétés de **reste euclidien** +de l'addition. + +La structure électronique est composée de : + +- un ordonnanceur. +- le stockage d'un **état**. +- une pile d'instruction + +.. glossary:: + + adressage + + Dès lors qu'on dispose de ces bases électronique au dessus du processeur, + un langage d'assemblage est possible, c'est le langage de calcul sur les registres. + + registre + + machines ont un espace mémoire et un espace de calcul (registres) + +Un ordinateur, c'est très très stupide, mais ça permet de disposer de : + +- une mémoire très grande et ordonnée, +- une capacité à effectuer inlassablement des tâches répétitives +- une grande rapidité de calcul + +Apprendre à programmer, c'est-à-dire être capable de +contrôler la machine. + +.. important:: Apprendre à programmer, c'est-à-dire apprendre à penser de manière structurée, + pour pouvoir accessoirement ensuite communiquer avec une machine. diff --git a/algorithmique/cours/index.txt b/algorithmique/cours/index.txt index 7c23c16..8fc94b1 100644 --- a/algorithmique/cours/index.txt +++ b/algorithmique/cours/index.txt @@ -11,5 +11,4 @@ Introduction à l'algorithmique algo programme control - machine annexes/index diff --git a/algorithmique/cours/machine.txt b/algorithmique/cours/machine.txt deleted file mode 100644 index b0e9c77..0000000 --- a/algorithmique/cours/machine.txt +++ /dev/null @@ -1,27 +0,0 @@ -Machine abstraite ------------------ - -une machine, ce truc apparemment si complexe, est en fait -un assemblage de bric et de brac. - -l'assemblage des connecteurs permet de simuler un additionneur, -en prenant en compte les propriétés de **reste euclidien** -de l'addition. - -la structure électronique est composée de : - -- un ordonnanceur. -- le stockage d'un **état**. -- une pile d'instruction - -dès lors qu'on dispose de ces bases électronique au dessus du processeur, -un langage d'assemblage est possible, c'est le langage de calcul sur les registres. - -l'adressage mémoire - - -registre - - machines ont un espace mémoire et un espace de calcul (registres) - - diff --git a/algorithmique/cours/modularite.txt b/algorithmique/cours/modularite.txt index e1ca7b8..ccc8091 100644 --- a/algorithmique/cours/modularite.txt +++ b/algorithmique/cours/modularite.txt @@ -1,4 +1,4 @@ -L'organisation d'un programme +Introduction à la modularité ============================= diff --git a/algorithmique/cours/programme.txt b/algorithmique/cours/programme.txt index 52d57ff..c2789ca 100644 --- a/algorithmique/cours/programme.txt +++ b/algorithmique/cours/programme.txt @@ -7,6 +7,21 @@ Qu'est-ce qu'un programme ? - Un **programme** est une suite de **phrases** ; - Une **phrase** est une **déclaration** ou une **expression** (*statement* en anglais) ; +Exemple de déclarations : + +- `a = 1` +- `b = 'c'` + +Exemple d'expressions : + +- 5 est une expression de type int +- 4.5 est une expression de type float +- 'c' est une expression de type char +- true est une expression de type bool +- print ('c') est une expression de type None +- raw_input est une expression de type string + + .. important:: Le signe égal est utilisé de deux manières - lors d'une déclaration d'une expression @@ -15,6 +30,48 @@ Qu'est-ce qu'un programme ? Suivant les langages, il y a deux symboles différents, ou alors ils sont identiques. +Production d'un programme : + +1. on écrit le code source du programme ; +2. on demande au compilateur de le traduire en code machine : c'est la compilation du programme ; +3. on demande à la machine d'effectuer le code machine : c'est l'exécution du programme. + +.. important:: + + L'introduction à la compilation et les différentes phases de la compilation + d'un programme sont des sujets qui ne seront pas traités dans ce cours. + +Dans un programme de base, il y a deux fichiers : + +1. un fichier contenant le code : c'est le source du programme. +2. un fichier contenant le code machine : c'est l'exécutable. + +Que peut faire un programme lorsqu'il est exécuté ? +Le programme doit communiquer. S'il reste isolé, il ne pourra pas +produire quoi que ce soit. Voici les trois moyens de communication qu'a un +programme : + +1. communiquer avec l'utilisateur, +2. communiquer avec des fichiers, +3. communiquer avec d'autres programmes. + +La REPL +-------- + +.. glossary:: + + REPL + + Read Eval Print Loop : outil principal de communication avec un programme + ou avec un système. Exemples : la console python, le prompt OCaml. + + interface + + outil de communication avec un programme. + + - interface texte + - interface graphique + Les déclarations ----------------