Programmes
applicables à compter de l'année scolaire 2001-2002
A.
du 31-7-2000. JO du 20-8-2000
NOR
: MENE0001885A
MESURES
PHYSIQUES ET INFORMATIQUE
ENSEIGNEMENT
DE DÉTERMINATION
Programme
applicable à compter de l'année scolaire 2001-2002
A - OBJECTIFS
L'enseignement
dispensé dans cette option est un enseignement de sciences expérimentales
: il est en concordance avec les programmes des disciplines scientifiques
et techniques de la classe de seconde. Il veut être attractif et
valorisant pour susciter des orientations vers les sections scientifiques
et technologiques. Il s'agit d'une véritable option transdisciplinaire
dans laquelle les apports de la physique instrumentale sont utilisés
comme outils propres au développement de la compréhension
et de l'appropriation d'autres programmes.
La
physique est omniprésente dans le monde par toutes ses applications
; aussi est-il nécessaire de démystifier l'environnement
scientifique et technologique qui nous entoure. Il est évidemment
hors de question de prétendre expliquer toutes les réalisations
actuelles, mais il est possible de faire comprendre un "modèle de
comportement" assez commun à de nombreux dispositifs, et généralement
absent des programmes de l'enseignement de tronc commun.
Qu'il
s'agisse de science fondamentale ou de science appliquée, la mesure
est un moment obligé de l'activité scientifique. Il est donc
important d'en connaître les méthodes et d'en évaluer
les limites, lesquelles sont souvent cachées par les modes d'affichage
qui découragent tout esprit critique et qui peuvent par là
même conduire à des estimations fausses. L'utilisation rationnelle
de quelques outils informatiques permet de prendre conscience des problèmes
liés au traitement des données. La réflexion sur la
validité et le traitement des mesures est une composante de "l'éducation
à la citoyenneté", car elle contribue à forger cet
esprit critique nécessaire.
Tout
en restant dans le domaine scientifique, les mesures proposées devront
porter sur des systèmes relevant des disciplines les plus variées
: physique, chimie, science de la vie et de la Terre, technologie, sciences
au sens large du terme.
Il
est souhaitable que le travail soit élaboré en commun entre
collègues. Cette façon de travailler existe déjà
: il faut la généraliser ; elle est efficace pour les élèves
et motivante pour les professeurs à condition que chacun fasse partager
ses connaissances et savoir-faire. Elle conduit au dynamisme pédagogique
et au respect des textes officiels, en limitant les dérives éventuelles.
Les
objectifs
méthodologiques généraux
(apprentissage
de l'autonomie, gestion du temps, recherche d'informations et présentation
d'un travail en utilisant au mieux les techniques actuelles de communication)
et les objectifs méthodologiques disciplinaires
(utilisation
réfléchie de matériels, initiation à la méthode
expérimentale, au traitement raisonné des mesures, utilisation
de logiciels de simulation) doivent prendre
le pas sur les objectifs de pur contenu.
L'introduction
d'une partie thématique permet d'adapter l'enseignement à
l'intérêt des élèves et aux conditions locales
tout en laissant à l'enseignant un espace d'autonomie dans lequel
il peut concrétiser ses idées.
B - RECOMMANDATIONS
Il
s'agit d'un enseignement expérimental devant favoriser l'apprentissage
de l'autonomie et de l'initiative ; les conditions matérielles doivent
donc être suffisantes pour que l'option fonctionne dans de bonnes
conditions : chaque binôme doit
disposer d'un matériel de base suffisant et d'un ordinateur. Le
laboratoire
(ou
le
lycée)
doit disposer de ressources
documentaires nécessaires à la mise en application du programme.
Chaque
étude de grandeur à mesurer est l'occasion d'aborder des
lois physiques, d'utiliser de façon réfléchie les
instruments de mesure, d'affiner le traitement des mesures et de diversifier
les techniques utilisées. La progression durant l'année scolaire
se fait par un réinvestissement des connaissances et savoir-faire
antérieurs, auxquels s'ajoutent des compléments appartenant
à chacune des colonnes du programme : chaque semaine, un ou deux
alinéas nouveaux du programme seront traités.
Il
est nécessaire de laisser aux élèves
du temps pour réfléchir, imaginer
et intégrer la logique d'un système fiable de mesures et
de traitement.
L'évaluation
se fera à partir de réalisations pratiques, de comptes-rendus
écrits ou oraux, de recherches documentaires..., tous ces travaux
se pratiquant pendant les heures de présence en classe. On pourra
être amené à donner aux élèves des tâches
différentes pendant une même tranche horaire pour utiliser
au mieux le matériel disponible au laboratoire.
Recommandations
propres à chaque colonne du tableau des contenus ci-après
:
Il
serait contraire à l'esprit du programme de traiter les seuls contenus
d'une même colonne durant plusieurs semaines consécutives
: la lecture doit en être faite horizontalement
de sorte que des notions appartenant à plusieurs colonnes soient
traitées lors d'une même séance et réinvesties
au cours des séances suivantes.
•Mesures
:
La
technologie des différents appareils ou capteurs est hors programme.
Aucune
considération mathématique n'est à développer
quant à l'étude statistique des mesures : on se limitera
à observer le sens physique des notions de moyenne et d'écart
type.
L'utilisation
des mots grandeur intensive et
grandeur
extensive est hors programme.
•Physique
analogique :
L'échelle
de température est une première approche de ce qui sera approfondi
dans le programme de tronc commun de physique et chimie.
Loi
d'ohm, loi des intensités, loi des tensions sont des rappels et
des compléments de ce qui a été vu au collège.
Le pont diviseur de tension sera étudié de façon expérimentale
; l'étude théorique pouvant faire l'objet d'un exercice si
le niveau (ou la demande) de la classe le justifie. Les montages suiveur,
comparateur, amplificateur, et amplificateur différentiel ne seront
étudiés que dans un but fonctionnel : on visualisera les
grandeurs d'entrée et de sortie et on établira la relation
les reliant.
•Physique
numérique :
Les
systèmes de numération : on s'efforcera de montrer qu'avec
un nombre restreint de symboles on peut dénombrer de grandes quantités
d'objets. On traitera les systèmes à base deux, dix, seize.
En
ce qui concerne les convertisseurs, toute étude technologique est
hors programme.
Résolution
et fréquence d'échantillonnage seront traitées expérimentalement
: toute étude théorique est hors programme. L'utilisation
comparée d'une interface et d'un oscilloscope pour la visualisation
d'un même phénomène sera démonstrative.
•Informatique
:
Aucune
connaissance théorique sur l'ordinateur et ses périphériques
n'est exigible, hormis ce qui est indispensable à son utilisation.
Aucune
connaissance spécifique à l'utilisation d'un logiciel n'est
exigée. Par contre, on pourra montrer que les fonctions de logiciels
de même type se manipulent de façon voisine.
•Culture
scientifique et technique :
L'histoire
de la numération : c'est toujours une surprise pour les élèves
de "découvrir" les techniques de numération des civilisations
disparues. Les systèmes à base 12 et 60 seront évoqués.
La
lecture d'une publicité peut être le prétexte à
comprendre l'architecture d'un ordinateur et sa compatibilité avec
les différents périphériques.
La
lecture de la notice technique d'un capteur renseigne sur ses conditions
d'utilisation, ses performances, et suggère souvent des exemples
d'utilisation.
Quelques
fonctionnalités d'un traitement de texte seront utilisées
pour réaliser de courts comptes-rendus écrits (quelques dizaines
de lignes au plus) en incluant des images, des graphiques, des tableaux,...
Ceci peut être une incitation à
maîtriser le clavier de façon efficace, technique qui sera
utile dans le cadre des études ultérieures. En aucun cas
les séances ne devront se ramener à des manipulations de
logiciels de traitement de textes.
•Partie
thématique :
Celle-ci
permet de proposer un mini-projet soit à la classe, soit à
des groupes d'élèves, pour réaliser un dispositif
de mesures et de traitement de celles-ci afin d'observer un phénomène
ou de réaliser une chaîne capteur-actionneur dans le domaine
des disciplines scientifiques ou techniques.
C - CONTENUS
Partie
tronc commun (environ 72 heures)
|
|
|
ET TECHNIQUE |
|
|
|
|||
-
Étude d'un capteur de température.
- Utilisation d'un thermomètre analogique. - Utilisation d'un contrôleur. - Distribution de mesures. - Etude statistique d'une série de mesures. - Incertitude de lecture sur un appareil de mesure. - Conditions d'utilisation d'un appareil de mesure. - Utilisation de l'oscilloscope : mesures de tension, mesure de périodes et de fréquences. - Utilisation de capteurs en relation avec les mesures ou dispositifs mis en œuvre dans les différentes disciplines : physique, chimie, science de la vie et de la Terre, technologie. - Limites d'utilisation d'un capteur ; temps amplificateur de réponse, influence du capteur sur mesure à réaliser. - Notion d'additivité ou de non additivité de grandeurs physiques. |
-
Échelle de température.
- Loi d'Ohm. - Loi des intensités. - Loi des tensions. - Diviseur de tension. - Utilisation raisonnée de montages : suiveur,comparateur, amplificateur, |
-
Systèmes de numération
- Convertisseurs analogique/numérique et numérique/analogique, visualisation de la conversion - Résolution. - Fréquence d'échantillonnage. |
-
Utilisation d'un tableur /grapheur.
Lissage d'une courbe, ajustement par une fonction mathématique. - Système d'exploitation : exemple du concept d'arborescence. - Acquisition de données : utilisation d'interfaces, de centrales de mesures,d'appareils de mesures liés à l'ordinateur ayant ou non une mémoire numérique. - Utilisation de logiciels d'acquisition de traitement données et de simulation. |
-
Quelques éléments d'histoirede la numération.
- L'architecture d'un ordinateur. - Quelques éléments de l'histoirede l'informatique .- Recherche documentaire sur Internet, sur CD et sur cataloguede caractéristiques techniques de capteurs. - Réalisation d'un rapport d'activité en utilisant quelques fonctions d'un traitement de texte. |
Partie
thématique (environ 18 heures)
Cette
partie est laissée à la liberté de l'enseignant en
fonction des spécificités locales et de l'intérêt
des élèves. Elle pourra être
l'occasion d'utiliser un pont de Wheatstone pour conditionner un capteur
passif, des portes logiques, de montrer le principe de l'additionneur,
de mettre en œuvre un actionneur, d'utiliser quelques notions de programmation
(algorithme élémentaire : analyse d'un problème simple,
instruction conditionnelle alternative ; langage de programmation associé
au tableur utilisé en classe.).
La
partie Thématique ne pourra donner lieu à des compétences
que dans le prolongement de celles du programme du tronc commun.
Cette suite de propositions,
qui constitue les pages M.P.I. de ce site Internet, ne prétend pas
respecter rigoureusement les programmes officiels.
Compte tenu de la grande diversité de niveaux des élèves
arrivant en MPI (certains n'ont jamais manipulé un ordinateur, ou
si peu, d'autres programment déjà, aspirent des documents
sur Internet, voire ont déjà réalisé leur site
personnel), le cours qui suit va largement au-delà des exigences
du programme officiel. Ce qui va au-delà est destiné
aux élèves les plus rapides, les plus motivés, afin
d'éviter qu'ils perdent leur temps et acquièrent une mauvaise
opinion de l'option MPI. L'expérience montre qu'un pourcentage significatif
d'élèves se motive pour la programmation et progresse ensuite
rapidement, de manière autonome. Ces compléments leur sont
communiqués sous forme de tirages, ou par accès Internet.
Ces suppléments (programmation en Delphi) peuvent aussi intéresser
des professeurs ou des élèves de première et terminale
S préparant un TPE.
Bien entendu, l'évaluation
ne porte que sur ce qui est au niveau exigé par les programmes officiels.
La suite de ce cours se déroule d'une manière trop 'linéaire'. Elle doit être considérée, une fois retirées les notions allant au-delà du programme, comme un mémoire de ce que les élèves devront savoir à la fin de l'année. Il est hors de question de consacrer plusieurs mois à des études théoriques, ou à des vérifications de la loi des noeuds ou des mailles. Ces notions seront abordées à l'occasion d'études concrètes, judicieusement choisies pour que l'étude des lois sous-jacentes s'impose.
Un groupe de travail a été constitué dans l'Académie de Besançon, à l'initiative de Monsieur Robert Mairot, Inspecteur Pédagogique Régional, pour proposer des listes d'expériences et de matériel.
Il en ressort, dès à présent, que le logiciel Synchronie
convient bien à l'option de M.P.I. Il peut piloter plusieurs cartes
d'acquisition courantes. Pour le choix de celles-ci, il faut se méfier
du Bus des ordinateurs PC. S'il s'agit de l'installation d'une nouvelle
salle, il faut des cartes pour Bus PCI (Sysam PCI, ou Candibus pour PCI).
Les cartes anciennes (Candibus, CandiPlus, FastLab) travaillent sur Bus
ISA, maintenant obsolète. En dépannage, il peut être
prudent
de constituer un petit stock d'ordinateurs récupérés
dans les autres départements de votre lycée.
Une variante qui mérite examen, consiste à piloter, à
l'aide de Synchronie des oscilloscopes à mémoire.
Rappelons ici quelques passages du programme officiel de Mesures
Physiques et Informatique :
Il serait contraire à l'esprit du programme de traiter les seuls
contenus d'une même colonne durant plusieurs semaines consécutives...
Concrètement, cela signifie aussi que le cours qui suit ne doit
pas être traité de façon linéaire, mais qu'il
faut naviguer d'une page à une autre, selon les besoins.
Cela pose un problème aux élèves : Comment prendre
et ranger des notes, comment s'y retrouver dans cet ensemble d'informations,
que faut-il savoir par coeur ?
Pour ma part, je procède ainsi :
Note : Les lignes qui suivent constituent une approche très
sommaire. Un ordinateur actuel est bien plus compliqué que ne l'indique
la description.
C'est le coeur d'un ordinateur. Il est capable d'effectuer des opérations
sur des nombres entiers ou réels, des opérations logiques
; il communique avec les autres organes de l'ordinateur.
Il est piloté par une horloge.
Il communique par 3 séries de fils, appelées bus :
Observez :
Il n'est bien entendu pas question ici de former au métier
de secrétariat, mais de donner quelques brefs conseils qui peuvent
toujours être utiles.
Voici quelques conseils. Bien entendu, vous vous empresserez de faire tout le contraire. Tant pis pour vous !
Lorsque vous créez un document, le mieux est d'entrer tout le texte, sans vous préoccuper de sa mise en forme, ce qu'on appelle entrer du texte au kilomètre.
Une fois le texte entré, viendra la phase de mise en forme.
L'intérêt est double :
D'une part, ce texte pourra être sauvegardé dans un format simple, du genre .txt, lisible par tous les logiciels ; il pourra être copié dans Netscape Composer, pour faire une page Internet, copié sur une disquette pour transmission à un éditeur. Le format .txt est très compact, et une disquette peut contenir un petit livre. Essayez donc d'en faire autant avec un traitement de textes plus sophistiqué.
D'autre part, vous formaterez l'ensemble du document en une seule fois, lui donnant un aspect plus homogène.
Si vous employez votre traitement de textes dans le but d'un transfert dans Netscape Composer, attendez d'être dans celui ci pour effectuez l'enrichissement, car les règles du langage HTML sont particulières.
Et même dans l'HTML, la tendance est aux feuilles de style, c'est à dire que les documents HTML ne comportent qu'une mise en forme minimale (en-tête 1, en-tête 2, paragraphe ...), la mise en forme de toutes les pages (taille, fonte et encadrement pour l'en-tête1, et les suivants, couleur de fond de la page, justification des paragraphes ... ) étant dictée par une feuille de style (fichier texte d'extension .css).
Lorsque vous entrez le texte au kilomètre, laissez votre
logiciel s'occuper des retours à la ligne.
En effet, le retour chariot (touche entrée ou enter) ne sert
qu'à indiquer la fin d'un paragraphe.
Si vous trouvez que les paragraphes sont trop serrés, ne
pas insérer de lignes vides. L'espace sera réglé ultérieurement
en faisant : Format | Paragraphe.
Si vous voulez forcer un passage à la page suivante, par
exemple pour éviter une coupure au milieu d'un paragraphe, ne pas
insérer de lignes vides. Ceci sera obtenu plus tard par : Insérer
| Saut de page.
Voici comment vous devez traiter les espaces autour des signes de
ponctuation : Retenez ceci : Si un signe de ponctuation est simple comme
un point, une virgule etc, placez un espace après, mais pas d'espace
avant ; si le signe est double, comme un point virgule, il faut deux espaces,
un avant et un après. Il n'y a pas d'espace à l'intérieur
de parenthèses.
Pensez à l'employer, tout en sachant qu'il détectera
des fautes de frappe telles que frapppe, mais laissera passer beaucoup
d'autres fautes, comme il était une foies.
Ses indications relèvent souvent de la plaisanterie involontaire.
Un logiciel de traitement de textes (selon l'auteur de ce site) possède
un correcteur grammatical digne d'intérêt ; il s'agit de WordPerfect
dont une version récente est disponible dans la revue Presque Offert,
dont on peut commander les anciens numéros.
Ses indications m'ont appris certaines subtilités de grammaire,
je vous le conseille.
Raison de plus pour ne pas formater trop tôt votre texte, de façon trop spécifique à un traitement de textes particulier.
Faites Insertion | Caractères spéciaux et choisissez
la lettre dans le tableau qui apparaît.
Faites Insertion | Objet ... ou cliquez sur l'icône raccourci
vers l'éditeur d'équations, ou lancez l'éditeur d'équations
(eqnedt32.exe). Celui-ci est le même pour Word et ClarisWorks. WordPerfect
dispose d'un éditeur à ligne de commande moins pratique (au
moins au début).
L'éditeur dispose d'une barre d'outils, fractions, lettres grecques... Si elle n'apparaît pas, faites Affichage | Barre d'outils. Le plus facile pour se déplacer dans une formule est d'employer les flêches de déplacement.
Une fois la formule réalisée, sélectionnez-la,
copiez-la et collez-la dans le traitement de textes. Inutile d'arrêter
l'éditeur d'équations. Si plusieurs formules se ressemblent,
travaillez par modifications successives dans l'éditeur d'équations,
vous gagnerez du temps.
Sélectionnez le graphique dans le logiciel de dessin ou le
tableur, copiez-le, puis collez-le dans le traitement de texte.
Exercice : Rédigez une page comportant les composantes suivantes :
Différentes règles s'appliquent selon qu'il s'agit
d'une monographie (ouvrage rédigé par un seul auteur), d'une
contribution à une monographie, ou d'un article de périodique.
En rouge figurent les élèments d'information indispensables,
en bleu les éléments facultatifs,
le tout suivi par un exemple en noir.
Exemple : JUSSIAUX, Jean-Michel. Problèmes pour physiciens résolus avec Mathematica et Maple. Paris : Ellipses / édition marketing S.A., 1999.
(Auteur ou auteurs de la contribution) NOM,
prénom. Titre de la contribution. In : (Auteur
du document hôte) NOM, prénom. Titre
du document hôte. Ville d'édition : éditeur, date
d'édition. Pages de la contribution. Collection.
Exemple : LIPSITZ, George. Film noir et guerre froide. In : BURCH, Noël. Revoir Hollywood : la nouvelle critique anglo-américaine. Paris : Nathan, 1993. P. 167-176. Fac-cinéma.
(Auteur ou auteurs de l'article) NOM,
prénom. Titre de l'article. Titre du périodique. Date, numéro
du périodique, pages de l'article.
Exemple : HAUSER, Jean-François. Editorial.
La
presse pontissalienne. Septembre 2002, n° 35, p. 2 - 5.
Chaque paragraphe devra comporter une illustration concrète,
formule, lettre grecque, graphique. Pour le graphique, les élèves
débutant en informatique attendront les leçons sur l'usage
d'un tableur. Pour les lettres grecques, insérez la lettre p,
de la manière indiquée dans le cours, puis insérez
tout l'alphabet grec, en minuscules, puis en majuscules.
// Note : Pour l'alphabet complet, la police "Symbol" peut convenir.
Retenez ce nom de police ; elle vous servira pour créer un site
Internet scientifique.
// Note : Word comporte un bug : Entrez les lettres d'abord,
dans l'alphabet latin, par exemple avec une police "Times", ou "Arial".
Sélectionnez l'ensemble, faites en une copie. Transformez le premier
alphabet en "Symbol" ; de même pour le deuxième, mais faites
en plus Format | Caractères | Majuscules.
Sur certains PC, cela ne fonctionne pas si vous avez entré vos lettres directement dans la police "Symbol".
Bonjour ! ! !
Je suis élève en classe de second et je voudrai vous parler de mon cour de MPI.
On va étudier un traitement de texte scientifique qui nous
servira à faire des comptes rendus,
on va étudier l’électronique,
on va aussi étudier l’oscilloscope analogique et numériques.
Notez les fautes d'orthographe et de grammaire trouvées par Word et par WordPerfect, appréciez la pertinence des réponses données par ces logiciels. Dans WordPerfect, l'outil grammatical "Grammatik" peut être paramétré en fonction du type de texte à vérifier ; comparez les réponses que donne grammatik selon que votre texte est considéré comme littéraire ou scientifique.
Voici 3 photographies : Oscilloscope, écran
de l'oscilloscope, générateur basse
fréquence.
Vous devez être capable de :
Pour cette dernière action, faites : Démarrer | Rechercher
| Fichiers ou dossiers | Nommé, ou dans l'explorateur Outils | Rechercher.
Entrez le nom avec des jockers pour les parties inconnues, par exemple
*nomPartiel.doc, ou nomConnu.* si vous ne connaissez pas l'extension du
fichier.
ATTENTION : Ne manipulez pas les programmes de cette façon ; ils risquent fort de ne plus fonctionner, car ils ont besoin de connaitre les adresses de différents éléments nécessaires.
Ne déplacez pas les fichiers Delphi de cette façon, vous risquez un grave disfonctionnement.
Le disque dur C ou le lecteur de disquette A est la racine du système de fichiers.
Remarquez que dans un système d'exploitation à interface graphique bien conçu, il existe toujours plusieurs façons de parvenir au même résultat. Lorsque vous concevrez vos propres logiciels, faites de même, pensez à l'utilisateur qui n'a pas de souris (panne ou portable), à celui qui a des habitudes (forcément bonnes) et ne veut pas en changer... Donc doublez ou triplez les commandes (menus déroulants, menus contextuels, souris, touches de raccourci, raccourcis clavier).
Dans un système Unix, ou Linux, sécurisé contrairement à Windows, la racine n'est pas la même selon les utilisateurs. On utilise l'expression 'monter une partition'.
Vous devez être capable, si vous en avez l'autorisation, de
:
Les méthodes de travail sont les mêmes que les précédentes,
après avoir fait : Démarrer | Paramètres | Barre des
tâches | Programmes du menu démarrer | Avancé.
Le mieux est de faire un clic droit sur un programme et de faire :
Créer un raccourci, puis une fois le raccourci créé,
de le tirer sur le bureau, et de changer éventuellement une partie
de son nom. En procédant ainsi, s'il vous arrive d'effacer par mégarde
un raccourci sur le bureau, il vous sera facile de le rétablir,
sans avoir à chercher où se trouve l'exécutable du
programme.
Lorsque vous avez fini, validez.
Il s'agit de supprimer dans l'éditeur d'adresses du navigateur
Internet, les noms des fichiers (progressivement et de la droite vers la
gauche), pour remonter à "la racine" de l'adresse.
Les leçons de Delphi qui suivent vont donc largement au-delà du programme. Le professeur pourra se contenter de montrer comment écrire une macro dans Excel. S'il préfère travailler en Delphi, il retiendra le code nécessaire pour tracer un graphique (transfert des valeurs d'un tableau dans le composant graphique par une boucle, For i := 1 To...) et un exercice sur une instruction conditionnelle(If ... Then...). Le reste pourra être mis à disposition des élèves les plus avancés, afin qu'ils n'aient pas l'impression de perdre leur temps.
Lorsque votre ordinateur exécute un programme, il lit à
partir d'une certaine adresse de la mémoire une suite de 0 et de
1. Ces suites, pour devenir plus lisibles à nous êtres humains
sont regroupées par huit (octet).
Les premiers ordinateurs étaient programmés ainsi, les 0 et 1 étant réalisés par une rangée d'interrupteurs, ou par des traits de crayon sur des cartes avalées par un lecteur de cartes.
Puis vint le langage d'Assembleur, presque aussi proche de la machine. Une suite de mots sont entrés au clavier et traduits par l'Assembleur en code machine. Programmer en Assembleur est laborieux, car il faut beaucoup de lignes de code. Les erreurs se terminent souvent en catastrophes (blocage de l'ordinateur, ou pire). Il faut donc sauvegarder son programme très très souvent. Par contre, ce langage permet des choses impossibles autrement (accès à des zones mémoire ... ), il est très rapide. Il est employé dans le domaine militaire et aussi par les pirates. Delphi que vous allez employer tout au long de l'année permet d'inclure du code assembleur au milieu de son code propre ; cela permet de piloter des cartes d'acquisition de données, l'horloge du PC ...
Puis vinrent des langages plus évolués, Forth, Fortran, Cobol qui ne sont plus enseignés, mais qui sont encore utilisés parce que très fiables.
Le Basic et ses variantes sont des langages simples, mais pas très rigoureux.
Le C est très utilisé par les professionnels, très puissant, mais pas facile.
Java est multi plates-formes (un programme peut tourner sur PC, Mac
... ), puissant, mais nécessite une mémoire énorme
pour programmer.
Javascript (et d'autres) permet de créer des pages Internet
réactives.
Rebol est un langage très évolué, bien adapté
aux réseaux et à l'internet, à l'échange de
données entre différents systèmes, permettant l'exécution
de programmes de script totalement indépendants des plateformes,
éventuellement à distance.
Il existe aussi des langages visuels, Visual Basic (Basic), Delphi (Pascal), Visual C (C), JBuilder (Java), Clipper, Labview (destiné à piloter certaines cartes d'acquisition, sans aucun langage de programmation) ...
Delphi utilise un langage nommé Pascal, en hommage au mathématicien, physicien français. Ce langage est rigoureux. Cela vous ennuiera au début, et même plus tard, mais vous évitera beaucoup d'erreurs.
Un langage visuel est doté d'outils permettant de réaliser facilement les interfaces d'un programme exécutable, fenêtres, boutons, menus déroulants ... Le reste par contre doit être programmé.
Les langages sont classés en deux grandes catégories : interprété, ou compilé. Un langage interprété nécessite un autre logiciel pour fonctionner ; c'est le cas du Basic. C'est le cas aussi du langage JavaScript qui sert à animer les pages des sites Internet, interprété par le navigateur, Netscape Communicator, ou Internet Explorer. Nous écrirons quelques lignes dans ce langage, plus tard, pour améliorer notre site Internet.
Les langages compilés sont directement exécutables par l'ordinateur ; ils sont beaucoup plus rapides (40 à 60 fois ! ). Delphi produit du code (vraiment) compilé très rapide (10 % seulement moins rapide qu'un programme écrit en C).
Beaucoup de langages de programmation font référence
à la notion d'objet. C'est d'ailleurs top pour un programmeur de
déclarer qu'il travaille en orienté objet. Bien souvent,
cela revient à mettre de jolis mots sur de la mauvaise cuisine.
Delphi et aussi Mathematica, dans le domaine du calcul formel, utilisent
les objets de façon élégante et rigoureuse. Nous ne
dirons rien quant aux autres.
A partir d'ici, commence le cours de Delphi.
Définitions :
Une classe est un type de données, possédant
(entre autres) des champs et des opérations ou comportements,
nommés méthodes.
Un objet est une instance de classe, ou en d'autres termes
une variable dont le type correspond à la classe.
A ce stade, le mathématicien commence à frétiller et le physicien se prépare à bailler.
Prenons un exemple concret : Je veux réaliser un logiciel de
mesure, et pour déclencher la mesure et afficher ses résultats,
je souhaite offrir à l'utilisateur une interface assez jolie, formée
d'un rectangle appelé fenêtre, sur laquelle se trouve, entre
autres, un bouton, c'est à dire un petit rectangle qui lancera la
mesure lorsque l'utilisateur cliquera dessus à l'aide de sa souris.
Je pourrais tout écrire en Assembleur. Mon programme sera le
plus rapide du monde, mais il sera terminé dans deux ou trois ans,
si en même temps je prépare le bac. Sa rapidité sera
donc toute relative.
En Delphi, cela me demandera quelques minutes. De plus le bouton aura
une esthétique qui suivra automatiquement la mode, Windows 95, 98,
Millénium ... Enfin, en changeant ma version de Delphi, mais sans
toucher à mon code, mon programme pourra fonctionner sous Linux.
Ce Bouton "concret", appelé Button en Delphi est un objet.
Il possède des propriétés (taille, couleur
... ), des évènements (si on clique dessus, si on
l'enfonce, s'il est survolé par la souris ... ) et des méthodes
(ce
qu'il est capable de faire, par exemple en réponse à un évènement).
Il est une instance d'une classe nommée TButton,
plus abstraite, qui décrit les caractéristiques de tous les
Button : Les propriétés sont rangées dans des champs
(ou variables de la classe) ; les méthodes du Button sont les méthodes
de la classe TButton. Cette classe dérive elle-même de la
classe TComponent (composant), dont elle hérite des méthodes.
Une des plus puissantes caractéristiques des classes Pascal Objet
est la possibilité d'ajouter des fonctionnalités à
une classe existante (classe ancêtre), en créant une nouvelle
classe (classe enfant) dérivée de la première, la
classe enfant héritant de toutes les fonctionnalités de son
ancêtre.
Nous en resterons la pour l'instant, car cela devient à nouveau
obscur, en remarquant que sur le plan mathématique, la théorie
des ensembles n'est pas loin, la classe enfant pouvant être considérée
comme un sous-ensemble de la classe ancêtre (le sous-ensemble contient
des objets qui ont plus de propriétés que ceux de l'ensemble
; exemple, ensemble des fleurs rouges), et que pour le physicien, ou l'informaticien
apparaît la notion de parallélisme (si nous plaçons
plusieurs boutons, nous n'avons pas à nous préoccuper de
savoir lequel sera "cliqué" en premier).
Réalisez un programme dont l'interface comporte une fenêtre
(Form), deux boutons (Button) et deux zones d'édition (Edit)
qui doivent changer de couleur lorsqu'on clique sur le Button correspondant.
Delphi, à partir de votre travail va créer de nombreux
fichiers. Si vous n'êtes pas ordonné, bonjour la pagaille
!
Avant de commencer à travailler avec Delphi, prenez l'habitude
de créer à l'aide de l'explorateur de Windows, et
à l'endroit approprié, un dossier où sera rangé
votre travail. Vous pouvez créer ce dossier depuis Delphi, lorsque
vous faites Fichier | Enregistrer le projet sous, mais ce n'est pas une
bonne façon d'organiser son travail. Si vous décidez de modifier
de façon risquée un ancien projet, faites une copie de son
dossier complet dans l'explorateur, renommez le dossier (par exemple Travail1
-> Travail2) et ouvrez dans Delphi le Project du dossier copie (Travail2).
Si vous faites Fichier | Nouveau projet, Delphi va créer un fichier
Project1.dpr (projet). C'est lui que vous ouvrirez la prochaine fois. Vous
aurez aussi un fichier Unit.pas correspondant au code Pascal que vous aurez
rédigé, un fichier .dfm correspondant à la fenêtre
(Form) que vous avez créée. Un Project peut contenir plusieurs
Unit. Vous aurez encore un fichier exécutable Project.exe que vous
pourrez diffuser et faire fonctionner sur d'autres ordinateurs, sans Delphi
et des fichiers .dcu compilés.
ATTENTION, ne regroupez pas diverses Unit et Form Delphi par des
Copier Coller à destination d'un dossier. Vous risquez dans quelques
temps de gros ennuis, Delphi refusant de compiler votre projet, parcequ'il
recherche des fichiers que vous avez depuis longtemps effacés.
Méfiez vous aussi des objets hérités d'autres
que vous modifieriez ensuite par mégarde. Delphi garde semble-t-il,
sous forme cryptée, la trace de vos modifications dans les fichiers
.dfm. Un jour, il risque de vous dire que l'Unit1 que vous appelez n'est
pas la bonne, et il refusera tout net de compiler votre exécutable
!
La bonne manière de récupérer des Unit d'origines
diverses est la suivante (nous supposons que vous voulez ajouter une unité
Unit33) :
Pour cela, vous devez faire : Fichier | Nouvelle application
Delphi crée alors une représentation de la fenêtre,
ressemblant à celle que vous obtiendrez dans l'exécutable,
mais pointillée, pour vous montrer que vous êtes en mode
conception.
A une Form est associée une Unit, feuille de code Pascal
Objet, correspondant à l'Unit.
Une icône dans la barre d'outil permet de basculer de
l'une à l'autre facilement.
En haut, à droite de l'écran, figure la barre d'outils
VCL,
librairie des composants visuels, avec plusieurs onglets.
Cliquez dans le bon onglet (Standard) sur le composant Button, puis cliquez
sur la Form, pour placer ce Button.
Faites de même, avec le composant Edit.
Cliquez sur le Button1. A gauche de l'écran figure l'inspecteur
d'objets. Il vous permet de modifier à l'arrêt (en mode
édition) les composants. Vous voyez que le Button a beaucoup de
propriétés. Modifiez le texte inscrit dessus. c'est la propriété
Caption.
Ne changez pas la propriété Name, sauf si vous êtes
très bon en Delphi. Name est le nom du Button, c'est à dire
qu'il sera appelé comme cela dans le code Pascal.
Sélectionnez un Edit et effacez le texte qu'il comporte, par
sa propriété Text.
Vous voulez que le Button réagisse lorsqu'on clique dessus.
Sélectionnez le, passez dans l'onglet Méthodes de l'inspecteur
d'objet. Vous voyez une longue liste des événements auxquels
peut réagir un Button. Placez le pointeur de la souris, dans la
colonne de droite, au niveau de OnClick (en cas de clic souris),
et faites un double clic. Plus simplement, vous pouvez placer le pointeur
directement sur le Button et faire le double clic. Delphi sait que pour
un Button c'est le OnClick qui vous intéresse.
Delphi bascule de la Form, à l'Unit contenant le code, et vous
prépare le travail en écrivant une procédure
:
procedure TForm1.Button1Click(Sender: TObject); ... begin ... end ;
Le code sera entré entre Begin et End. Les variables
locales à la procédure seront entre Button1Click et Begin.
Ecrivez :
Edit1.Color := clRed ; // ou clBlue, clGreen, clLime
Remarquez comment se notent les commentaires en Delphi. Il y a d'autres
techniques pour les longs commentaires.
Vous pouvez même faire :
Form1.Edit1.Color := clRed ;
"C'est long" diront les paresseux. Que nenni. Faites Form1. (n'oubliez
pas le point) et attendez une seconde ; Delphi vous propose la liste des
objets associés à Form1. Sélectionnez le bon, en faisant
défiler la liste, ou si elle est très longue, commencez à
entrer les premières lettres de Edit. Tous les objets dont le nom
commence par E, puis Ed ... apparaissent. Même chose pour Color.
Le deuxième intérêt de cette méthode est que
Delphi vérifie la validité de votre code. D'ailleurs, si
après Form1., il ne vous propose rien, c'est qu'il a détecté
une erreur.
Remarquez le point qui sert à lier un objet et sa propriété,
et l'instruction obligatoirement terminée par un point virgule.
Maintenant compilez votre Project, par Projet | Compiler.
Delphi se place sur la première erreur ; si tout va bien, des
points bleus apparaissent dans la gouttière à gauche
de votre code (à partir de Delphi 4), vous indiquant que Delphi
va effectuer ce travail. S'ils n'apparaissent pas, c'est que votre code
ne sert à rien.
Voici la procédure complète, dont vous n'avez écrit
qu'une partie. Si vous recopiez simplement ce texte dans votre Unit, cette
procédure ne sera pas associée par Delphi au Button et rien
ne fonctionnera. Avis à ceux qui pensent qu'on peut s'en sortir
en devoir surveillé avec ses notes personnelles, sans réfléchir.
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Edit1.Color := clRed ;
end;
Faites Exécuter | Exécuter, ou F9. Le programme s'exécute,
mais en mode débogage, c'est à dire sous le contrôle
de Delphi. Si une éventuelle erreur se produit, Delphi est capable
de reprendre le contrôle des opérations ; en ce cas, faites
Exécuter | Réinitialiser le programme.
Arrêtez l'exécution, par Exécuter | Réinitialiser
le programme (il existe une méthode plus rapide).
La fenêtre se couvre à nouveau de pointillés, prouvant
que vous êtes bien en mode conception.
Sauvegardez Project et Unit. La première fois faites Enregistrer
le projet sous ; les autres fois, Tout enregistrer. Remarquez
que Delphi sauvegarde un Project, puis votre Unit. En effet un projet important
comporte de nombreuses unités.
Il nous restera à améliorer ce programme. En effet, seule la première action sur un button produit un effet. Pour faire plus, nous devrons nous plonger dans les fonctions logiques.
Imaginons l'ensemble des fleurs (TComponent en Delphi) ; il s'agit
d'une notion abstraite. Les fleurs ont des propriétés, taille,
nombre de feuilles, et des méthodes, pour pousser, faner, faire
des graines ...
L'ensemble des fleurs rouges (TButton en Delphi) est un sous ensemble de l'ensemble des fleurs. Il est inclus dedans. Il a plus de propriétés ; il hérite de l'ensemble des fleurs.
Vous venez de cueillir une fleur rouge (Button en Delphi). Il s'agit d'un objet concret appartenant à l'ensemble des fleurs rouges. En Delphi, nous dirons qu'il s'agit d'une instance de la classe des fleurs rouges.