Numérique et Sciences Informatiques • 1ère

Définir un algorithme adapté

Concepts fondamentaux
Définition :
Un algorithme adapté est une suite d'instructions précises et ordonnées qui permettent de résoudre un problème donné de manière efficace et correcte.
Algorithme = Entrées → Instructions → Sorties
Structure d'un algorithme :
1
Déclaration des variables
2
Lecture des données
3
Traitement des données
4
Affichage des résultats
Exemple simple :
ALGORITHME CalculMoyenne
  VARIABLES note1, note2, note3, moyenne : RÉEL
  DÉBUT
    LIRE(note1, note2, note3)
    moyenne ← (note1 + note2 + note3) / 3
    AFFICHER("Moyenne :", moyenne)
  FIN
Structures algorithmiques
➡️
Séquence : Instructions ordonnées
Conditionnelle : Si-Alors-Sinon
🔄
Répétitive : Boucles Pour/TantQue
🔄
Fonction : Bloc réutilisable
Critères de qualité
Correct
Efficace
📊
Lisible
🔧
Modifiable
Règle fondamentale :
Un algorithme doit être fini, non ambigu et produire un résultat attendu à partir des données d'entrée.
Méthodes & Astuces
Processus de conception :
1. Comprendre le problème
2. Identifier les entrées/sorties
3. Décomposer en étapes
4. Choisir les structures adaptées
5. Écrire l'algorithme
6. Tester et valider
🎯
Commencez par un cas simple
📊
Tracez l'algorithme
Testez avec plusieurs jeux de données
⚖️
Optimisez la complexité
🔄
Documentez chaque étape
📌 Un bon algorithme est la base d'une bonne implémentation !
# Exemple d'algorithme en Python
def tri_selection(tab):
    n = len(tab)
    for i in range(n):
        min_idx = i
        for j in range(i+1, n):
            if tab[j] < tab[min_idx]:
                min_idx = j
        tab[i], tab[min_idx] = tab[min_idx], tab[i]
    return tab

# Application
donnees = [64, 34, 25, 12, 22, 11, 90]
resultat = tri_selection(donnees.copy())
print(f"Trié: {resultat}")
Conception et décomposition de problèmes Compétences méthodologiques