I
Philippe Lacurie Séance du 8 octobre 2009
Initiation Algorithmique et programmation
pour la classe de seconde
Page 1 / 32
Sommaire
1 Introduction .......................................................................................................................... 2
1.1 Présentation .................................................................................................................. 2
1.2 Un exemple .................................................................................................................. 2
1.3 Définition ..................................................................................................................... 3
1.4 La représentation d'un algorithme ................................................................................ 4
2 Comment concevoir un algorithme ...................................................................................... 6
2.1 La méthode descendante .............................................................................................. 6
2.2 Un exemple .................................................................................................................. 6
2.3 Comment procéder ....................................................................................................... 7
3 Le langage algorithmique ..................................................................................................... 8
3.1 Les données .................................................................................................................. 8
3.2 L'organisation d'un algorithme ..................................................................................... 9
3.3 Les instructions d'entrées/sorties ................................................................................ 10
3.4 L'affectation ................................................................................................................ 11
3.5 Les structures conditionnelles .................................................................................... 11
3.5.1 La structure conditionnelle simple .................................................................... 11
3.5.2 La structure conditionnelle imbriquée ................................................................ 12
3.6 Les structures itératives .............................................................................................. 13
3.6.1 La structure itérative POUR ............................................................................... 13
3.6.2 La structure itérative REPETER ........................................................................ 14
3.6.3 La structure itérative TANT QUE ...................................................................... 15
3.7 La notion de fonction ................................................................................................. 15
3.8 Les procédures ............................................................................................................ 17
3.9 L'écriture d'un algorithme........................................................................................... 17
4 La programmation .............................................................................................................. 18
4.1 Introduction ................................................................................................................ 18
4.2 Quel langage ............................................................................................................... 18
4.3 Les langages abordés dans les manuels ou les documents officiels ........................... 19
4.4 Scratch ........................................................................................................................ 20
4.4.1 Présentation ........................................................................................................ 20
4.4.2 Les sites de référence ......................................................................................... 20
4.4.3 Installation .......................................................................................................... 20
4.4.4 L'environnement ................................................................................................. 21
4.4.5 L'écriture d'un programme ................................................................................. 22
4.4.6 Un peu de graphisme .......................................................................................... 25
4.5 Xcas ............................................................................................................................ 27
4.5.1 Présentation ........................................................................................................ 27
4.5.2 Les sites de référence ......................................................................................... 27
4.5.3 L'installation ....................................................................................................... 27
4.5.4 L'environnement ................................................................................................. 28
4.5.5 Utilisation de Xcas en programmation ............................................................... 29
4.5.6 Un exemple de programmes .............................................................................. 30
5 L'algorithmique et le programme de seconde .................................................................... 31
5.1 Les documents de référence ....................................................................................... 31
I
Philippe Lacurie Séance du 8 octobre 2009
Initiation Algorithmique et programmation
pour la classe de seconde
Page 2 / 32
1 Introduction
1.1 Présentation
Ce document n'a pas pour but de faire du lecteur un spécialiste en algorithmique et
programmation mais a la seule ambition d'initier à l'algorithmique à travers des exemples
simples, puis d'aborder les premiers concepts de la programmation, celle-ci étant là uniquement
pour montrer la mise en œuvre concrète d'un algorithme.
L'algorithme est la phase initiale (mais importante) à toute programmation, que le programme
soit écrit en langage évolué (Visual basic, C++, Delphi…) ou à l'aide de conditions sous Excel
(ou autre). C'est en fait la phase de réflexion qui permet de solutionner un problème.
L'apprentissage de l'algorithmique est un élément important qui par ailleurs permet de mieux
comprendre le fonctionnement des ordinateurs, puisque ce fonctionnement est basé sur des
programmes écrits à partir d'algorithmes.
1.2 Un exemple
Tout comme M. Jourdain, vous pratiquez (de façon plus ou moins consciente) l'algorithmique
tous les jours.
Un exemple, le matin au réveil :
Votre réveil sonne.
Vous avez différentes alternatives :
o Vous l'éteignez définitivement et vous levez (option 1)
o Vous l'éteignez définitivement et vous rendormez (option 2)
o Vous appuyez sur une touche pour qu'il résonne dans 5mn (option 3)
o Vous le lancez de manière agressive à l'autre bout de la chambre priori idem
option 2)
Option 1 : Vous vous êtes levé, le traitement "réveil" est terminé
Option 2 : Vous avez choisi l'option extinction définitive ou casse du réveil, le
traitement est terminé, mais vous serez en retard…
Option 3 : Vous avez choisi l'option rappel dans 5 mn. A la prochaine sonnerie, vous
refaites tout le traitement "réveil" ci-dessus.
A travers cet exemple simple, il est possible d'appréhender la notion d'algorithme. Tous les cas
ne sont naturellement pas pris en compte, vous pourriez vous lever avant la sonnerie, ne pas
avoir réglé la sonnerie… Mais ceci est une autre affaire qui ne prend pas en compte les mêmes
paramètres de départ.
I
Philippe Lacurie Séance du 8 octobre 2009
Initiation Algorithmique et programmation
pour la classe de seconde
Page 3 / 32
1.3 Définition
Logiciel ou programme :
Un programme est une suite d'opérations écrites dans le langage de l'ordinateur et
prévue pour effectuer une tache définie.
Les phases d'écriture d'un programme sont :
L'analyse du problème
L'écriture de l'algorithme ou des algorithmes correspondants
L'adaptation de l'algorithme à la machine, c'est à dire la codification dans le langage de
la machine.
Ces phases peuvent se résumer au schéma suivant :
Algorithme Programmation Résultats
Enoncé du
probléme
Analyse Codification Execution
.
Algorithme
D'après le schéma ci-dessus, l'algorithme est un élément primordial. C'est lui qui transcrit le
problème de façon claire. C'est la phase qui précède la programmation, et donc qui se trouve à
la base de tous les traitements qui vont être ensuite effectués par le programme.
En entreprise, les différentes fonctions, à savoir l'analyse, la codification et les tests sont
souvent réalisés par des personnes différentes.
La phase analyse est souvent confiée à un chef de projet qui réalise l'interface vis à vis du
client. C'est lui qui est chargé de rédiger le cahier des charges, à savoir énoncer de façon claire
la demande du client, puis c'est lui qui sur la base de ce cahier des charges valide les
algorithmes. C'est la phase la plus importante, et même diront certains la plus noble.
En fait, un algorithme traduit en une suite d'instructions ordonnées un ensemble d'opérations à
réaliser en vue de l'obtention d'un résultat. Un algorithme est indépendant de la machine sur
laquelle sera réalisé le programme, et est dans une certaine mesure indépendant des langages.
Un algorithme ou un programme se schématise de la façon suivante :
Traitement Données en
sortie
Données en
entrées .
I
Philippe Lacurie Séance du 8 octobre 2009
Initiation Algorithmique et programmation
pour la classe de seconde
Page 4 / 32
1.4 La représentation d'un algorithme
Il existe différentes façons de représenter un algorithme. Les deux représentations majeures
sont la représentation graphique et la représentation textuelle.
La représentation graphique est beaucoup utilisée en automatisme, et est normalisée (le
GRAFCET) pour représenter des séquences d'opérations pour un automate programmable
(outil utilisé en automatisme). Elle est régulièrement utilisé en informatique industrielle.
Exemple d'un algorithme graphique de gestion de pesage:
Premiere pesée
Acquisition poids et no
DSD
Benne existante
Stockage pesée dans la
base
Fin du cycle
Oui
Oui
Choix Langue
Saisie No Camion
No camion inexistant
Saisie PTRA
Stockage dans la
base REI2001
Saisie No Benne
ou 0 si pas de benne
Erreur appeller
opérateur
Non
Table PTRA
I
Philippe Lacurie Séance du 8 octobre 2009
Initiation Algorithmique et programmation
pour la classe de seconde
Page 5 / 32
Cette représentation est néanmoins assez peu utilisée, car elle est longue à mettre en œuvre
(dessins), et volumineuse dés que les traitements sont importants. C'est la raison pour laquelle
on lui préfère la représentation textuelle qui a le mérite d'être assez proche à la fois de nos
façons d'écrire, de penser et de la programmation qui s’en suit. Les langages de programmation
sont très proches de ces structures.
Exemple de représentation textuelle :
VAR
A : entier % variable saisie et à tester
DEBUT
LIRE ( 'entrez un nombre', A)
SI A >=0
ALORS
ECRIRE ('le nombre saisi est >=0')
SINON
ECRIRE ('le nombre saisi est <0')
FINSI
FIN
1 / 32 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !