Les langages de programmation présentent une unité car ils possèdent
un corpus d'instructions élémentaires commun.
Leur diversité réside dans leur syntaxe :
Un programme est souvent utilisé pour présenter la syntaxe d'un langage de programmation.
Il s'agit du programme consistant à afficher « Hello world! ».
Retrouver la liste des langages de programmation sur cet article de Wikipédia.
Retrouver le classement des langages les plus utilisés sur la page de l' Index TIOBE.
Une séquence est une suite d'instruction.
Une affectation est le fait de donner une valeur à une variable.
algorithmique | python | C |
---|---|---|
|
|
|
PHP | javascript | Fortran |
|
|
|
L'affectation dans les langages de programmation se distingue par le typage des variables et leur domaine de définition.
var
définit une variable globale tandis que
let
définit une variable
seulement dans le bloc courant.a
et x
?
def double(x):
return 2*x
a = 5
print(double(a))
a
est définie dans le domaine principal du script.
La variable x
est définie dans le domaine de la fonction.a
dans le bloc de la fonction ?a
n'est pas globale et ne peut donc pas être modifier dans le bloc de la fonction.
UnboundLocalError: local variable
'a' referenced before assignment
a
dans le bloc de la fonction ?a
n'est pas globale mais étant définie dans le domaine principal du script,
sa valeur peut être invoquée dans la fonction.
def double(x):
print(a) # Ne renvoie pas d'erreur
return 2*x
a = 5
print(double(a))
a
dans le bloc de la fonction ?b
définie dans le bloc de la fonction n'est pas la même variable b
définie
en dehors de la fonction.
def double(x):
a = 2
print(a) # Affiche 2
return 2*x
a = 5
print(double(a))
print(a) # Affiche 5, la variable "a" n'a pas été modifiée.
global
.
def double(x):
global a
a = 2
print(a) # Affiche 2
return 2*x
a = 5
print(double(a))
print(a) # Affiche 2, la variable "a" a été modifiée.
Une structure de contrôle permet de gérer le flux d'exécution en modifiant l'ordre d'exécution des lignes du code.
Une structure conditionnelle définie une partie de code à exécuter dans le cas où une condition est vérifiée. Cette condition doit être une expression booléenne : test d'égalité, d'inégalité ou expression logique.
Les opérateurs de comparaison utilisent très souvent la syntaxe ==
, >
ou >=
mais on
trouve aussi gt
pour « greater than », ou lt
pour « lower than » etc.
Les opérateurs Booléens s'écrivent : or
, and
et not
en python mais dans de nombreux
langages on trouvera respectivement : ||
, &&
et !
.
langage | opérateurs de comparaison | opérateurs Booléens | |||||
---|---|---|---|---|---|---|---|
python | == | > | >= | != | and | or | not |
javascript | == | > | >= | != | && | || | ! |
C | == | > | >= | != | && | || | ! |
OCaml | == | > | >= | <> =! | && and | || or | not |
... | ... | ... | ... | ... | ... | ... | ... |
algorithmique | python |
---|---|
|
|
VBA | C, PHP, javascript, java, Kotlin |
|
|
Certain langage propose une syntaxe particulière qui est une manière plus condensée de traiter une structure conditionnelle : le modèle switch.
PHP | C | Kotlin |
---|---|---|
|
|
|
Une boucle bornée permet d'exécuter des instructions un nombre de fois connu dès le départ.
algorithmique | python | C |
---|---|---|
|
|
|
javascript | PHP | R |
|
|
|
Une boucle non-bornée permet d'exécuter des instructions tant qu'une condition est vérifiée. Il est important que cette condition soit réévaluée à chaque itération de la boucle pour éviter de tomber dans une boucle infinie.
algorithmique | python |
---|---|
|
|
C, PHP, javascript | C (autre syntaxe) |
|
|
Une fonction est un bloc d'instructions séparé du reste du code afin de les appeler autant de fois que souhaité dans le reste du code. Elle possède son propre domaine de variables et peut accepter 0, 1 ou plusieurs arguments.
python | C |
---|---|
|
b est un entier [mot clé « int » en début de fonction].
|
PHP | javascript |
|
|
def double(x):
print(a) # Ne renvoie pas d'erreur
return 2*x
a = 5
print(double(a))
age = 12
if age >= 18:
print("majeur")
else:
print("mineur")
i = 0
while i < 4:
i += 2
print("C'est fini !")
Un paradigme est un ensemble de méthodes reconnu par une communauté. Il existe plusieurs paradigmes de programmation. Un même langage peut proposer plusieurs paradigmes.
# Récupère la liste de nombres
liste = input("Entrez la liste de nombres séparés par un espace : \n").replace(",", ".").split()
somme = 0
for nb in liste: # boucle sur la liste
somme = somme + float(nb)
print(somme) # affiche la somme
def somme_liste(liste): # définit la fonction (procédure) pour effectuer le calcul
somme = 0
for nb in liste:
somme = somme + float(nb)
return somme
# Récupère la liste de nombres
liste = input("Entrez la liste de nombres séparés par un espace : \n").replace(",", ".").split()
s = somme_liste(liste) # récupère la somme
print(s) # affiche la somme