Initiation à la programmation
(Atelier)
Un article de Wiki Linux62.
Intervenant : Guillaume Libersat (dukez)
Durant cet atelier, les participants découvriront le principe de la
programmation, les différents types de langages et apprendront à faire leurs
premiers programmes.
Les exemples seront réalisés avec le langage python.
Les points suivants seront abordés :
À quoi sert la programmation ?
Qu'est-ce que la programmation ?
Compilation ?
Les familles de langages
Les types de données
Les structures de contrôle
L'organisation d'un programme
Les espaces de nommage
...
Tout au long de cet atelier, nous accompagnerons les notions par des exemples et
nous terminerons par le classique programme de la tortue :-) (en mode
graphique).
Sommaire
[masquer]
1 Notes sur le cours (Première partie)
1.1 A quoi sert la programmation ?
1.1.1 Familles de programmes
1.1.2 Langages
1.2 La programmation concrètement
1.2.1 La notion de variable
1.2.2 Les chaînes de caractères
1.2.3 Les opérateurs
1.2.4 Les structures de contrôle
1.2.5 Les fichiers
2 Notes sur le cours (Deuxième partie)
2.1 Les fonctions
[modifier]
[modifier]
[modifier]
[modifier]
2.2 Un peu de graphique
Notes sur le cours (Première partie)
A quoi sert la programmation ?
sert à éviter de faire des choses rébarbatives
pour automatiser des processus difficiles à faire à la main
programmation capable de faire des choses à la place d'un humain
programme
faire suivre une suite de commandes (instructions) qui vont faire une tâche bien
spécifique
une suite d'instructions on l'exprime avec une syntaxe
instruction : une ligne de code
organisation d'un programme sous plusieurs formes possibles
fonction : (comme en math) -> données en entrée/données en sortie
procédure : fonction qui ne renvoie rien
programmation
en général, on ouvre un fichier et on écrit dans cd dernier le code source
pour python, on a un shell intéractif dans lequel on peut taper des commandes
qui seront exécutées.
[démo]
>>> <- on demande d'entrer quelque chose
Familles de programmes
compilés
on prend le code source, le passe dans une moulinette et le transforme en
langage machine (binaire)
beaucoup plus rapide mais à recompiler à chaque fois
un binaire par architecture -> inconvénient
"réservés" aux gens qui savent bien programmer : plus difficile à comprendre
interprétés
un programme (interpréteur) lit le code source et le comprend instruction par
instruction et les exécute une par une
pas besoin de recompiler mais à chaque fois besoin de relire, recomprendre et
exécuter -> plus lent
mais plus facile à manipuler -> multi-plateforme (pas besoin de compiler pour
chaque architecture)
plus facile car l'interpréteur dit où sont les erreurs
[modifier]
[modifier]
Langages
besoin d'un langage formel créé pour remplir des tâches précises
langage
ensemble de commandes pour exprimer quelque chose dans un langage formel
permet la manipulation de données (ex : déclaration et affectation de variables
etc) et structures de contrôle de flot (ex : si, sinon, boucles)
langage objet
plus récent
modélisation du programme par rapport à la réalité
(ex: un écran, on programme suivant l'écran)
python
syntaxe simple et rapide à exécuter
langage interprété
ici c'est python qui va transcrire à la volée et exécuter le programme prévu à la
base pour les scientifiques on peut à peu près tout faire (du hello world au jeu
3D) même si le langage est interprété, c'est relativement rapide (ex : bien adapté
pr interfaces graphiques) simple niveau syntaxe, le plus clair possible, simple à
apprendre en 1-2h de pratique très explicite (pas comme perl hein ! :p) une
personne qui ne programme pas est capable de comprendre le code
mi chemin entre Ada et C
C
langage qui commence à dater mais toujours à jour car on peut programmer des
choses qu'on ne peut pas faire dans d'autres langages
(ex: coder directement un driver pour une carte réseau)
Ada
vieux langage créé à la demande des militaires états-uniens
langage compréhensible en le lisant, proche du langage naturel (celui utili
pour parler)
La programmation concrètement
La notion de variable
boîte dans laquelle on met quelque chose
(valeur numérique, chaîne de caractères, bout binaire etc.)
langages typés
les boîtes sont typées
ex: pour une boîte chaîne de caractères on ne peut mettre que des chaines de
caractères
python non ty
rappel :
entier : 1 2 3 ...
flottant : décimal 1,2 1.7 ...
identificateur
nom donné à une boîte (ex : port est un symbole)
on peut donc mémoriser des choses en mémoire
(ex : on assigne 3 à port, dans port on aura 3)
constante
symbole qui représente une valeur de manière fixée (ex: 2)
[exemple]
>>> 2
2
--> ok 2 est reconnu
>>>2+2
4
--> évalué, l'instruction vaut 4
on va enrichir le langage avec des instructions plus compliquées
spécificité des ordinateurs
[exemple]
>>>5/2
2
--> 5 type entier et 2 type entier.
donc division entre deux nombres de type entier donne un entier
>>>5.0/2.0
2.5
--> float/float donne float
donc ATTENTION
>>>5.0/2
2.5
>>>5/2.0
2.5
--> quand on mélange entier et float, le float prend le pas
ATTENTION les processeurs dans les machines font des arrondis donc 1.45632 -
1.45632 peut ne pas donner 0
ATTENTION la division par 0 n'est pas permise -> il faut donc penser à gérer le
cas
les langages plantent à cause de ça : quand c'est du C, ça plante direct
En python, on a un avertissement car l'interpréteur vérifie à notre place
>>>5/0
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ZeroDivisionError: integer division or modulo by zero
[exemple de manipulation de variables]
>>>a
Traceback (most recent call last):
File "<stdin>", line 1, in ?
[modifier]
[modifier]
NameError: name 'a' is not defined
--> ne connait pas le symbole a
>>>a=2
>>>a
2
--> symbole connu et mémorisé à 2
>>> 10/a
5
--> a symbole valant 2 donc on a 5
[exercice]
enoncé : faire en sorte que b/a donne 2
>>>a=2
>>>b=4
>>>b/a
2
pourquoi a/b donne 0
--> parce que c'est une division de nombres entiers donc le résultat est aussi une valeur entière donc 0
Les chnes de caractères
Chaînes de caractères ou string
entourée entre guillemets doubles ou simples
[exemple]
>>>"bonjour"
'bonjour'
[exercice]
énoncé : assigner "hello" dans la variable bonjour et afficher bonjour]
>>>bonjour="hello"
>>>bonjour
'hello'
>>>a
2
>>>a="porte"
>>>a
'porte'
--> les boîtes peuvent contenir n'importe quoi
le type de dones contenu dans la variable a peut donc changer
Les opérateurs
[exercice]
énoncé :
mettre a à 10
b à 3
c à a+b
>>>a=10
>>>b=3
>>>c=a+b
>>>c
13
[exercice]
énoncé :
mettre a à "bonjour" et b à votre prénom
1 / 17 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 !