Un classement.
On retrouve toujours le mot if
. La terminaison est différente selon les langages. On retrouve les mots endif
ou end if
indentation
en python;{ }
dans beaucoup de langages;begin
et end
. On retrouve souvent les mots for
et while
.
Vous retrouvez les différents types qui permettent d'identifier les blocs
Dans ce domaine, il existe de nombreuses différences entre les langages.
Certains langages (comme Python ou PHP) ne demandent pas de spécifier le type des variables.
D'autres langages demandent de spécifier le type.
Les noms utilisés pour typer les variables peuvent être différents d'un langage à l'autre.
Se reporter au chapitre LP1 sur les fonctions en python. Accès direct
Il y a un mot référencé pour créer une fonction : def
ou function
. Certains langages font une différence entre fonction
et procédure
. La fonction
retourne une valeur à
la différence de la procédure
. En python il suffit d'utiliser ou non l'instruction return
.
Quelques définitions
Précondition. Il s’agit d’une condition à vérifier avant le début d’un calcul / l’appel d’une fonction afin de pouvoir en garantir le résultat. On pourrait résumer une précondition ainsi : « Donne-moi ce que je veux, tu auras ce que tu attends ». Exemple : avant une division, s’assurer que le dénominateur est non nul.
Postcondition. Il s’agit d’une condition à vérifier à la fin d’un calcul / d’une fonction. Sa vérification induit que le calcul est correct ; et réciproquement, une postcondition non satisfaite correspond à une erreur lors du calcul, généralement due à une erreur de programmation. Exemple : à la fin d’une fonction retournant la valeur absolue d’un nombre, vérifier que le résultat est supérieur ou égal à 0.
On utilise les assertions
et les exceptions
pour tester les préconditions et les postconditions.
Imaginez le programme suivant (en python) :
a=10
b=0
c=a/b
Le langage python a rencontré une erreur, il lève une exception.
Traceback
, est le début de la trace d'erreur.c=a/b
.ZeroDivisionError
signifie bien ici une division par zéro.Ces traces d'erreur permettent au développeur de corriger le code en comprenant où l'interpréteur à échouer à exécuter le code.
Vous pouvez faire la même chose en choisissant le message d'erreur qui vous semble le plus clair avec l'instruction assert
.
a=10
b=0
assert(b!=0), "attention, division par zéro" # On teste le précondition b différent de 0 pour la division par b
c=a/b
La réponse du langage :
L'interpréteur lit ligne à ligne le programme. Lorsqu'il rencontre un assert
, il teste la condition écrite juste après ici b!=0
. Deux cas :
Traceback
la chaîne de caractères écrites après la virgule ,
, (ici "attention, division par zéro"
) puis arrête la lecture du programme (Ici
la ligne c=a/b
ne sera pas lue)Vous pouvez gérer les exceptions avec l'instruction try
except
.
Voici la structure d'un try
except
:
try:
instruction(s) exécutées si aucune erreur ne survient
except: # si une erreur est apparue lors de l'exécution du bloc précédent
instruction(s) à exécuter si une erreur est survenu dans le bloc try
Voici son utilisation en reprenant l'exemple précédent :
a=10
b=0
try :
c=a/b
except :
print("Attention, division par 0")
Lancer le trinket suivant afin de bien comprendre :
Programmer la fonction racine carrée d'un nombre en utilisant math.sqrt(x)
de la bibliothèque math
. Quelles sont les préconditions et les postconditions de la fonction racine carrée ?
En utilisant cette plateforme, concentrer-vous sur les langages suivants : python
, Bash Shell
,javascript
, PHP
et java
.
L'année prochaine, vous découvrirez le langage SQL pour la manipulation des bases de données.
Pour le langage du type bash shell
, vous pouvez vous connecter sur un système linux pour tester vos codes.
Vous pourrez trouver quelques idées ici : des exemples de shell bash à partir de la page 52.
Vous pouvez au fur et à mesure de vos avancées remplir le tableau suivant :
Fonctionnalités/langages | Python | Bash/shell | javascript | php | java |
---|---|---|---|---|---|
Déclaration d'une variable | a=4 |
a=4 |
$a=4 |
int a=10 |
|
Modification du contenu d'une variable | a=10 |
a=10 |
$a=10 |
||
Affichage | print() |
echo $a |
|||
Saisir le contenu d'une variable à la console | input() |
||||
Identifier un bloc | L'indentation précédée de : |
||||
Ecrire une fonction | def et return |
||||
Structure conditionnelle | if condition(s) : bloc indenté else : bloc indenté |
||||
Structure conditionnelle variante | elif |
||||
Structure conditionnelle switch case | N'existe pas | ||||
Boucle itérative for | for bloc indenté |
||||
Boucle itérative while | while bloc indenté |
||||
... |
Vous retrouvez ce document au format texte : ici
Pour vous aider voici un aperçu de quelques commandes :
Essayer de traiter les exercices suivants dans trois langages différents.
Traiter l'algorithme suivant :
n=lecture d'un nombre au clavier Pour i←1 à n afficher la phrase "Hello world"
Transformer l'algorithme précédant en créant une fonction affichage avec comme paramètre le nombre n.
Ecrire un programme qui affiche la table de multiplication du nombre 7.
Ecrire un programme qui affiche la table de multiplication d'un nombre entré au clavier.
Ecrire un programme qui calcule et affiche la moyenne de deux nombres entrés au clavier
Vous retrouverez dans les "screen" ci-dessous différents exemples dans différents langages pour vous aider. Les "screen" proviennent de repl.it en ligne