0Pricing
Mojo Academy · Leçon

Algorithmes paramétriques

Un algorithme, de nombreuses versions spécialisées.

Algorithmes paramétriques est une leçon Mojo Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Mojo Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Mojo Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

One Algorithm, Many Shapes

A parametric algorithm describes the logic once, then lets compile-time parameters mint a specialized version for each size, type, or width you need. ⚙️

Parameters Carry the Variation

Anything that changes the code's structure, like a vector width or element type, becomes a parameter instead of a runtime argument.

fn sum[width: Int](data: SIMD[DType.float32, width]) -> Float32:
    return data.reduce_add()

Type Parameters Generalize

Use a type parameter so the same routine handles Int32, Float64, or any numeric type without you rewriting the body.

fn scale[T: DType, w: Int](v: SIMD[T, w], s: Scalar[T]) -> SIMD[T, w]:
    return v * s

The Compiler Specializes Each Use

For every distinct set of parameter values, Mojo generates a fresh specialized function, each optimized exactly for that combination.

No Runtime Cost for Parameters

Because parameters are fixed at compile time, the generated code pays zero runtime cost to read them, unlike normal arguments.

Constraining Type Parameters

Pair a type parameter with a trait so the body can rely on the methods every conforming type promises to provide.

fn total[T: Copyable](items: List[T]) -> Int:
    return len(items)

Parameters Can Combine

Mix several parameters at once: a type for the data and an Int for the size or width, all resolved together before the program runs.

fn fill[T: DType, n: Int](value: Scalar[T]) -> SIMD[T, n]:
    return SIMD[T, n](value)

Inference Saves Typing

Mojo can often infer a parameter from the arguments you pass, so you fill in fewer brackets and the compiler completes the rest.

One Source of Truth

You keep a single readable definition while the compiler quietly emits a fast tailored build for each parameter combination behind the scenes.

Where It Shines

Parametric algorithms power Mojo's fast numeric kernels: one matmul or reduction definition, many specialized versions tuned per type and width. 🚀

Readable Yet Generic

The big win is staying readable: your logic reads like normal code, while parameters quietly handle every type and size variation for you.

Quick Check

Think about why parametric algorithms stay fast.

Recap

A parametric algorithm is written once but specialized many times: parameters carry the variation, and each build is tuned with no runtime cost. 🎯

Questions Fréquemment Posées

La leçon « Algorithmes paramétriques » est-elle gratuite ?

Oui — le texte complet de « Algorithmes paramétriques » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Mojo Academy, passe à CoddyKit PRO. Le cours Mojo Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Algorithmes paramétriques » ?

Un algorithme, de nombreuses versions spécialisées. Tu pratiques Mojo Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Mojo Academy ?

Aucune expérience préalable n'est requise. Mojo Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Algorithmes paramétriques » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Mojo Academy ?

Oui. Chaque leçon Mojo Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Algorithmes paramétriques
  2. Déroulage des boucles à la compilation
  3. Compilation conditionnelle
  4. Contraintes et vérifications statiques
← Retour à Mojo Academy