Informatique et algorithmique
Cours · mathématiques (ECT 1re année), chapitre 13 · prépa ECT, 1re année · le début du chapitre, la suite sur Adloun
L'informatique n'est pas une matière à part : l'intitulé officiel de l'enseignement est « mathématiques – informatique », et la machine sert ici à voir ce que les chapitres précédents ont écrit. On calcule les termes d'une suite au lieu de les imaginer, on trace un nuage de ventes au lieu de le décrire, on simule un tirage au lieu de le supposer. Le programme organise l'année autour de quatre thèmes — suites, statistiques descriptives, bases de données, probabilités — et d'une liste très courte de commandes, que ce chapitre suit sans jamais la dépasser en silence.
Sur le rôle de l'ordinateur : « L'objectif principal de l'activité informatique reste la mise en pratique de connaissances mathématiques. » Il ne s'agit donc pas d'écrire de longs programmes, mais d'assimiler des savoir-faire.
Sur les commandes : « Seules celles dans la colonne de gauche sont exigibles, et leur syntaxe précise doit être rappelée. » Et, pour tout le reste : « Toute utilisation d'une telle fonction doit obligatoirement être accompagnée de la documentation utile, sans que puisse être attendue une quelconque maîtrise par les étudiants de ces éléments. »
13.1 Le langage Python
| écriture | rôle |
|---|---|
nom = expression | affectation |
# | commentaire |
+ - * / ** | opérations arithmétiques |
== > < >= <= != | comparaisons, tests |
True False and or not | logique |
if / elif / else | instruction conditionnelle |
for / while | boucles |
def f(p1, ..., pn) et return | définition d'une fonction |
import ... as, from ... import * | importation |
Le programme insiste : « La maîtrise des structures de programmation de base (if, while, for) constitue l'un des objectifs majeurs de l'informatique en première année. »
Python : Quatre types, et les tests
n = 12 # entier
prix = 19.9 # flottant
nom = "Dupont" # chaine de caracteres
solde = True # booleen
print(n + 3, n*2, n/5, n**2)
# 15 24 2.4 144
print(n >= 10, n != 12, n >= 10 and n != 12)
# True False False
Deux pièges d'écriture, et ce sont les plus fréquents de l'année : = affecte une valeur, == teste une égalité ; et n/5 rend un flottant () même quand les deux nombres sont entiers.
Python : Une fonction, et les trois branches
def remise(montant):
if montant >= 500:
return 0.10
elif montant >= 200:
return 0.05
else:
return 0.0
for m in [150, 300, 800]:
print(m, remise(m), m*(1 - remise(m)))
# 150 0.0 150.0
# 300 0.05 285.0
# 800 0.1 720.0
L'ordre des tests compte : si l'on écrivait >= 200 en premier, un montant de tomberait dans cette branche et n'obtiendrait que . Un elif ne se lit que si tous les tests précédents ont échoué.
- C1 : manipuler les structures algorithmiques de base (
if,for,while), connaître la syntaxe d'une fonction simple et savoir l'utiliser. - C2 : produire des graphiques et indicateurs afin d'interpréter des données statistiques.
- C3 : étudier des suites numériques, calculer des valeurs, tracer des graphiques et conjecturer des résultats.
- C4 : stocker, organiser et extraire des données structurées volumineuses.
- C5 : modéliser des phénomènes aléatoires et effectuer des simulations de variables aléatoires.
Exercices du chapitre
- Lire un script corrigé
- Calculer les termes d'une suite corrigé
- Le script qui affiche zéro corrigé
- Un rang d'arrêt corrigé
- Chercher une mensualité par balayage corrigé
- Quand la somme dépasse cinq corrigé