Adloun

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

Un programme dans un éditeur de code : des instructions exécutées de haut en bas.

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.

AttentionCe que le programme attend, mot pour mot

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

ImportantLes briques exigibles, et elles seules
écriturerôle
nom = expressionaffectation
#commentaire
+ - * / **opérations arithmétiques
== > < >= <= !=comparaisons, tests
True False and or notlogique
if / elif / elseinstruction conditionnelle
for / whileboucles
def f(p1, ..., pn) et returndé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é.

ImportantLes cinq savoir-faire exigibles en première année
  • 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

La suite du cours · Tous les exercices du chapitre