KlarIA
💻 NSI (spécialité)1ereFiche de révision

Langages et programmation

📝

Fiche de révision

📝 Fiche de révision — Langages et programmation


🧱 Constructions élémentaires

constructionPython
séquenceinstructions successives
affectationx = expr
conditionnelleif / elif / else
boucle bornéefor i in range(n)
boucle non bornéewhile cond
fonctiondef f(x): … return ; appel f(3)
  • Langages Turing-complets : même puissance ; différences de syntaxe : indentation (Python) / accolades et ; (JavaScript, C), types déclarés (C int), let, ===.
  • Nouveau langage : repérer d'abord ces six constructions.

🎨 Styles

  • Impératif (état modifié), fonctionnel (fonctions sans effet de bord), objet (données + méthodes), événementiel (réactions), logique (faits, règles).
  • Python : multi-paradigme.
  • Pas des langages de programmation : HTML, CSS, SQL, JSON, CSV (description, requêtes, données).

📜 Spécification

  • Prototype : nom, paramètres, type du résultat ; docstring : ce que fait la fonction.
  • Précondition : condition sur les arguments (à charge de l'appelant) ; postcondition : propriété garantie du résultat.
  • assert condition, "message"AssertionError si faux ; pour préconditions / postconditions, pas pour valider une saisie utilisateur.
def racine_entiere(n):
    assert type(n) == int and n >= 0
    r = 0
    while (r + 1) * (r + 1) <= n:
        r = r + 1
    assert r * r <= n < (r + 1) ** 2
    return r

🧪 Jeux de tests

  • Test = appel + résultat attendu (assert f(x) == y) ; jeu = plusieurs tests.
  • Couvrir : cas ordinaires, limites (0, un élément, bornes), particuliers, variés (négatifs, doublons, grands).
  • Succès ≠ correction : maximum initialisé à 0 passe les tests positifs, échoue sur [-3, -8, -1].
  • Mise au point : lire l'erreur (type, ligne) → exemple minimal ajouté aux tests → tracer (print, tableau) → corriger → relancer tout.

📚 Bibliothèques

  • import math ; math.sqrt(2) ; from random import randint ; randint(1, 6).
  • Modulariser : une fonction par tâche, from outils import moyenne.
  • Documentation = spécification : prototype, paramètres (optionnels, défauts), retour, exemples ; help(f), dir(module).

⚠️ Pièges à éviter

PiègeCorrection
Conclure « juste » après des tests réussistests + raisonnement
Tests tous semblablesajouter limites et négatifs
assert pour une saisie utilisateurif + message
Précondition non vérifiée par l'appelantc'est l'appelant qui est en faute
Réécrire ce qu'une bibliothèque faitlire la documentation

📌 À retenir

  1. Six constructions, syntaxes variées.
  2. Styles et langages de description.
  3. Prototype, pré/postconditions, assert.
  4. Tests variés ; succès ≠ preuve.
  5. import et documentation.

Révise ce chapitre avec KlarIA

Tuteur qui t'explique pas à pas, quiz pour t'entraîner, flashcards pour mémoriser. Gratuit.

Créer mon compte gratuitement