MPI Programmation TP cours
Introduction à la programmation
1.Généralités :
1.1.Algorithmique
La programmation découle directement de l'algorithmique qui date de plusieurs
siècles (voir le TP sur l'histoire de l'informatique). On rappelle qu'un algorithme
consiste à définir une suite finie , séquentielle de règles que l’on applique à un nombre
fini de données et qui permet de résoudre des classes de problèmes semblables. Par
extension, c’est l’enchaînement des actions nécessaires à l’accomplissement d’une
tâche.
Écrire un programme, c'est donc traduire dans le langage de programmation
choisi les étapes d'un algorithme. (Le programme Algobox permet de générer des
algorithmes et de les tester).
Exemple :
Détermination du min et du max de deux nombres :
Algorithme :
Titre
Demande min
Demande max
min>max Faux
Vrai
min,max=max,min
Écrit min, max
Programme en python :
#programme min,max
#!/usr/bin/python
print "Donne les valeurs extremes"
min=int(raw_input("min? "))
Juin 2010 1 Lycée Astier Aubenas
MPI Programmation TP cours
max=int(raw_input("max? "))
if min>max:
min,max = max,min
print "on a donc min=",min, "max=",max
Ce type de démarche préparatoire est très utile avant de se lancer dans l'écriture d'un
programme.
1.2.Choix du langage python
Utiliser les informations contenues dans la page article77 de ce répertoire pour qualifier
le langage python et décrire rapidement ses avantages et inconvénients principaux.
(description de 10 lignes maxi)
1.3.Autres langages
Consulter le TP9 histoire de l'informatique ainsi que la frise evol_langage et donner un
rapide historique des langages de programmation les plus courants :
Juin 2010 2 Lycée Astier Aubenas
MPI Programmation TP cours
1.4.logiciels nécessaires
Sous windows :
python-2.6.5.msi : langage et modules de base, intègre l'éditeur Idle.
pywin32-214.win32-py2.6.exe et pyserial-2.5-rc2.win32.exe : pour le pilotage de
l'interface Orphy.
matplotlib-0.93.3.win32-py2.6.exe et Vpython-Win-Py2.6-5.32.exe : modules
mathématiques (tracés de courbes, éléments en 3D,etc).
Sous linux :
l'essentiel : python2.6.5, Idle, Vpython sont en général disponibles dans la plupart
des distributions existantes.
Matplotlib-0.93.3 et pyserial-2.5-rc2 sont à télécharger séparément.
Sous mac :
Il faut télécharger macpython sur http://www.python.org/
Le module pyserial est à télécharger en plus.
2.Bases de la programmation
Pour réaliser des programmes, il nous faut :
un éditeur (Idle) : c'est là où on écrit le programme
un interpréteur (machine python) : permet l'exécution des tâches, lance le
programme
éventuellement un compilateur : transforme le programme en langage machine
(binaire) tenant compte de l'architecture. Inutile avec python.
Python offre la particularité de pouvoir être utilisé de 2 façons différentes. Le mode
interactif avec lequel on peut dialoguer directement avec lui depuis le clavier et qui
permettra de découvrir beaucoup de commandes; le mode de scripts qui permettra
d'écrire complétement des programmes, de les sauver, de les rendre executable,...
2.1.Mode interactif : Idle ou commandes Dos(cd c:/Python26/ puis python.exe)
2.1.1.Test de l'éditeur interactif : shell
Lancer le programme Idle.
Tester les commandes ci-dessous :
>>>5+3
>>>2-9
>>>7+3*4
>>>(7+3)*4
>>>20/3
>>>20.0/3
>>>8./5
Juin 2010 3 Lycée Astier Aubenas
MPI Programmation TP cours
2.1.2.Données et variables
Sous python, les noms de variables doivent obéir à quelques règles simples :
Un nom de variable est une séquence alphanumérique qui doit toujours commencer
par une lettre (les caractères spéciaux -accents, cédilles, espaces, etc sont interdits
dans les noms de variables).
La casse est significative (différence entre majuscules et minuscules).
Il existe différents types de variables : entier, réel, chaîne de caractères, liste, etc.
une variable est en quelque sorte une espèce de case mémoire dans laquelle on stocke
un élément.
2.1.3.Assignation
Le signe égal = réalise l'assignation d'une variable, c'est à dire le « remplissage » de la
case mémoire.
Taper alors les commandes suivantes :
>>>n=7
>>>message= ''Quoi de neuf?''
>>>pi=3.14159
Remarque : contrairement à de nombreux langages, les types de variables sont définis
automatiquement lors de l'assignation.
2.1.4.Affichage
Pour afficher des variables (contenu de la case mémoire), il suffit de taper le nom de la
variable dans le shell, puis d'appuyer sur la touche entrée <┘.
Exemple :
>>>n <┘
Python répond : >>>7
Si on demande l'affichage dans un programme, on tape alors la ligne :
print ''la valeur de n est : '',n
Exercice n°1 :
assigner les valeurs 3, 5 et 7 à trois variables a, b et c.
Effectuer l'opération a – b/c. Le résultat est-il mathématiquement correct?
Si ce n'est pas le cas, comment procéder pour qu'il le soit?
Juin 2010 4 Lycée Astier Aubenas
MPI Programmation TP cours
On peut manipuler les caractères de façon assez pratique avec python.
Ainsi, taper les commandes suivantes et donner un commentaire :
>>>phrase1= 'les oeufs durs'
>>>phrase2= '''Oui'',répondit-il'
>>>phrase3= ''j'aime bien''
>>>print phrase2, phrase3, phrase1
Addition de chaînes de caractères
>>>a='vive la physique'
>>>b='et la MPI'
>>>c=a+b
>>>print c
Accès aux caractères individuels d'une chaîne de caractères (la numérotation des
caractères commence à 0)
>>>s=a[2]
>>>t=b[7]
>>>print s,t
Lire une variable comme un caractère
>>>a=128
>>>b=str(128)
>>>print a,b
>>>print type(a), type(b)
>>>a+a
>>>b+b
2.1.5.Listes
Sous python, on peut définir une liste comme une collection d'éléments séparés par des
virgules, l'ensemble étant enfermé dans des crochets [].
Exemples :
>>>jour=['lundi','mardi','mercredi','jeudi','vendredi','samedi']
>>>print jour
Juin 2010 5 Lycée Astier Aubenas
1 / 13 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 !