L'ALGORITHME - Cours et formations - T©l©charger .L'ALGORITHME Pr©ambule : le Codage...

download L'ALGORITHME - Cours et formations - T©l©charger .L'ALGORITHME Pr©ambule : le Codage 8 ... 12.2

of 247

  • date post

    12-Sep-2018
  • Category

    Documents

  • view

    215
  • download

    1

Embed Size (px)

Transcript of L'ALGORITHME - Cours et formations - T©l©charger .L'ALGORITHME Pr©ambule : le Codage...

  • L'ALGORITHME Prambule : le Codage 8

    Pourquoi les ordinateurs sont-ils binaires ? 8

    La base dcimale 10

    La base binaire 12

    Le codage hexadcimal 15

    Introduction l'algorithmique 18

    Qu'est-ce que l'algomachin ? 18

    Faut-il tre matheux ?... 19

    L'ADN, les Shadoks et les ordinateurs 20

    Algorithmique et programmation 21

    Avec quelles conventions crit-on ? 22

    1. Les Variables 23

    1.1. A quoi servent les variables ? 23

    1.2. Dclaration des variables 24

    1.2.1 Types numriques classiques 24

    1.2.2 Autres types numriques 26

    1.2.3 Type alphanumrique 26

    1.2.4 Type boolen 27

    1.3. L'instruction d'affectation 28

    1.3.1 Syntaxe et signification 28

    1.3.2 Ordre des instructions 30

    Exercices 32

    Corrigs 35

    2

    AdministrateurTypewritten textPOURNONMATHEUXCOURSCOMPLETALGORITHMIQUEETPROGRAMMATIONavecexercices,corrigsetcitationsphilosophiques

  • 1.4. Expressions et oprateurs 38

    1.4.1 Oprateurs numriques : 39

    1.4.2 Oprateur alphanumrique : & 39

    1.4.3 Oprateurs logiques (ou boolens) : 40

    Exercices 41

    Corrigs 42

    1.5. Deux remarques pour terminer 43

    2. Lecture et Ecriture 44

    2.1 De quoi parle-t-on ? 44

    2.2 Les instructions de lecture-criture 45

    Exercices 46

    Corrigs 47

    3. Les Tests 49

    3.1 De quoi s'agit-il ? 49

    3.2 Structure d'un test 50

    3.3 Qu'est-ce qu'une condition ? 51

    Exercices 53

    Corrigs 54

    3.4 Conditions composes 55

    Exercices 58

    Corrigs 59

    3.5 Test imbriqus 60

    Exercices 62

    Corrigs 63

    3.6 De l'aiguillage la gare de tri 65

    3.7Variables boolennes 67

    3

  • 4. Encore de la Logique 68

    4.1 Faut-il mettre un Et ? un OU ? 68

    Exercices 71

    Corrigs 73

    4.2 Au del de la logique : le style 76

    Exercices 78

    Corrigs 80

    5. Les Boucles 89

    5.1 A quoi cela sert-il donc ? 89

    Exercices 94

    Corrigs 95

    5.2 Boucler en comptant... 97

    5.3 Des boucles dans des boucles 99

    5.4 Et encore une btise ne pas faire ! 101

    Exercices 102

    Corrigs 105

    6. Les Tableaux 111

    6.1 Utilit des tableaux 111

    6.2 Notation et utilisation algorithmique 112

    Exercices 115

    Corrigs 118

    6.3 Tableaux dynamiques 121

    Exercices 122

    Corrigs 124

    4

  • 7. Techniques Ruses 129

    7.1 Le tri par slection 129

    7.2 Un exemple de flag 131

    7.3 Le tri bulles 135

    7.4 La recherche dichotomique 137

    Exercices 139

    Corrigs 141

    8. Tableaux Multidimensionnels 146

    8.1 Pourquoi plusieurs dimensions ? 146

    8.2 Tableaux 2 dimensions 147

    Exercices 149

    Corrigs 152

    8.3 Tableaux n dimensions 159

    9. Fonctions Prdfinies 160

    9.1 Structure gnrale des fonctions 160

    Exercices 162

    Corrigs 163

    9.2 Les fonctions de texte 164

    Exercices 166

    Corrigs 168

    9.3 Trois fonctions numriques classiques 172

    Exercices 174

    Corrigs 177

    9.4 Les fonctions de conversion 181

    5

  • 10. Fichiers 182

    10.1 Organisation des fichiers 182

    10.2 Structure des enregistrements 184

    10.3 Types d'accs 185

    10.4 Instructions 187

    Exercices 191

    Corrigs 192

    10.5 Stratgies de traitement 194

    10.6 Donnes structures 195

    10.6.1 Donnes structures simples 195

    10.6.2 Tableaux de donnes structures 197

    10.7 Rcapitulatif gnral 198

    Exercices 200

    Corrigs 202

    11. Procdures et Fonctions 212

    11.1 Fonctions personnalises 212

    11.1.1 De quoi s'agit-il ? 212

    11.1.2 Passage d'arguments 215

    11.1.3 Deux mots sur l'analyse fonctionnelle 216

    Exercices 218

    Corrigs 219

    11.2 Sous-procdures 221

    11.2.1 Gnralits 221

    11.2.2 Le problme des arguments 222

    11.2.3 Comment a marche tout a ? 223

    11.3 Variables publiques et prives 227

    6

  • 11.4 Peut-on tout faire ? 228

    11.5 Algorithmes fonctionnels 229

    Corrigs 236

    12. Notions Complmentaires 242

    12.1 Programmation structure 242

    12.2 Interprtation et compilation 244

    12.3 La programmation rcursive 245

    Liens 248

    7

  • Prambule : Le Codage

    Linformation nest pas le savoir. Le savoir nest pas la sagesse. La sagesse nest pas la beaut. La beaut nest pas lamour. Lamour nest pas la musique, et la musique, cest ce quil y a de mieux. - Frank Zappa

    Les ordinateurs sont comme les dieux de lAncien Testament : avec beaucoup de rgles, et sans piti. - Joseph Campbell

    Compter en octal, cest comme compter en dcimal, si on nutilise pas ses pouces - Tom Lehrer

    Il y a 10 sortes de gens au monde : ceux qui connaissent le binaire et les autres - Anonyme

    Cest bien connu, les ordinateurs sont comme le gros rock qui tche : ils sont binaires.

    Mais ce qui est moins connu, cest ce que ce qualificatif de binaire recouvre exactement, et ce quil implique. Aussi, avant de nous plonger dans les arcanes de lalgorithmique proprement dite, ferons-nous un dtour par la notion de codage binaire. Contrairement aux apparences, nous ne sommes pas loigns de notre sujet principal. Tout au contraire, ce que nous allons voir prsent constitue un ensemble de notions indispensables lcriture de programmes. Car pour parler une machine, mieux vaut connatre son vocabulaire

    1. Pourquoi les ordinateurs sont-ils binaires ?

    De nos jours, les ordinateurs sont ces machines merveilleuses capables de traiter du texte, dafficher des tableaux de matre, de jouer de la musique ou de projeter des vidos. On nen est pas encore tout fait HAL, lordinateur de 2001 Odysse de lEspace, lintelligence si dveloppe quil a peur de mourir pardon, dtre dbranch. Mais lordinateur parat tre une machine capable de tout faire.

    Pourtant, les ordinateurs ont beau sembler repousser toujours plus loin les limites de leur champ daction, il ne faut pas oublier quen ralit, ces fiers--bras ne sont toujours capables que dune seule chose : faire des calculs, et uniquement cela. Eh oui, ces gros malins dordinateurs sont rests au fond ce quils ont t depuis leur invention : de vulgaires calculatrices amliores !

    8

  • Lorsquun ordinateur traite du texte, du son, de limage, de la vido, il traite en ralit des nombres. En fait, dire cela, cest dj lui faire trop dhonneur. Car mme le simple nombre 3 reste hors de porte de lintelligence dun ordinateur, ce qui le situe largement en dessous de lattachant chimpanz Bonobo, qui sait, entre autres choses, faire des blagues ses congnres et jouer au Pac-Man. Un ordinateur manipule exclusivement des informations binaires, dont on ne peut mme pas dire sans tre tendancieux quil sagit de nombres.

    Mais quest-ce quune information binaire ? Cest une information qui ne peut avoir que deux tats : par exemple, ouvert - ferm, libre occup, militaire civil, assis couch, blanc noir, vrai faux, etc. Si lon pense des dispositifs physiques permettant de stocker ce genre dinformation, on pourrait citer : charg non charg, haut bas, trou non trou.

    Je ne donne pas ces derniers exemples au hasard : ce sont prcisment ceux dont se sert un ordinateur pour stocker lensemble des informations quil va devoir manipuler. En deux mots, la mmoire vive (la RAM ) est forme de millions de composants lectroniques qui peuvent retenir ou relcher une charge lectrique. La surface dun disque dur, dune bande ou dune disquette est recouverte de particules mtalliques qui peuvent, grce un aimant, tre orientes dans un sens ou dans lautre. Et sur un CD-ROM, on trouve un long sillon troit irrgulirement perc de trous.

    Toutefois, la coutume veut quon symbolise une information binaire, quel que soit son support physique, sous la forme de 1 et de 0. Il faut bien comprendre que ce nest l quune reprsentation, une image commode, que lon utilise pour parler de toute information binaire. Dans la ralit physique, il ny a pas plus de 1 et de 0 qui se promnent dans les ordinateurs quil ny a crit, en lettres gantes, Ocan Atlantique sur la mer quelque part entre la Bretagne et les Antilles. Le 1 et le 0 dont parlent les informaticiens sont des signes, ni plus, ni moins, pour dsigner une information, indpendamment de son support physique.

    Les informaticiens seraient-ils des gens tordus, possdant un got immodr pour labstraction, ou pour les jeux intellectuels alambiqus ? Non, pas davantage en tout cas que le reste de leurs contemporains non-informaticiens. En fait, chacun dentre nous pratique ce genre dabstraction tous les jours, sans pour autant trouver cela bizarre ou difficile. Simplement, nous le faisons dans la vie quotidienne sans y penser. Et force de ne pas y penser, nous ne remarquons mme plus quel mcanisme subtil dabstraction est ncessaire pour pratiquer ce sport.

    9

  • Lorsque nous disons que 4+3=7 (ce qui reste, normalement, dans le domaine de comptence mathmatique de tous ceux qui lisent ce cours !), nous manions de pures abstractions, reprsentes par de non moins purs symboles ! Un tre humain dil y a quelques millnaires se serait demand longtemps quest-ce que cest que quatre ou trois , sans savoir quatre ou trois quoi ? . Mine de rien, le fait mme de concevoir des nombres, cest--dire de pouvoir considrer, dans un ensemble, la quantit indpendamment de tout le reste, cest dj une abstraction trs hardie, qui a mis trs longtemps avant de simposer tous comme une vidence. Et le fait de faire des additions sans devoir prciser des additions de quoi ? , est un pas supplmentaire qui a t encore plus difficile franchir.

    Le concep