Najah.
Mon plan de révision⚡ Défi flash

Informatique · Écoles d'ingénieurs — ENSMR (Mines Rabat)

Introduction à l'algorithmique et à la programmation structurée

Le cours expliqué simplement, les questions que tous les élèves se posent et des exercices type examen national. Programme marocain, gratuit.

📘 Fiche de cours

L'essentiel du cours

Un algorithme est une suite finie d'instructions permettant de résoudre un problème. Il se compose de :

  1. Déclarations : Variables, constantes et types.
  2. Corps de l'algorithme : Séquence d'instructions (lecture, écriture, affectation).
  3. Structures de contrôle :
    • Conditionnelles : Si ... Alors ... Sinon ... FinSi ou Selon ....
    • Itératives : Pour ... FinPour, TantQue ... FinTantQue, Répéter ... Jusqu'à.

Méthodes à maîtriser

  • Analyse d'un problème : Identifier les entrées (données), les traitements et les sorties (résultats).
  • Utilisation des compteurs : Savoir initialiser et incrémenter une variable dans une boucle.
  • Gestion des tableaux : Parcourir un tableau avec une boucle Pour de l'indice $0$ à $n-1$.
  • Test de trace : Exécuter manuellement l'algorithme avec des valeurs précises pour vérifier sa logique.

Exemples corrigés

Exemple : Calcul de la somme des entiers de 1 à N.

Algorithme Somme
Variables : N, i, S : Entier
Début
  S ← 0
  Lire(N)
  Pour i allant de 1 à N Faire
    S ← S + i
  FinPour
  Ecrire(S)
Fin

Erreurs fréquentes

  • Oublier l'initialisation d'une variable accumulatrice (ex: S doit commencer à 0).
  • Confusion entre = (comparaison) et ← (affectation).
  • Dépasser les bornes d'un tableau (indice $n$ alors qu'il s'arrête à $n-1$).

🌉 Jisr : les mots du chapitre FR ⇄ AR

Tu as appris les sciences en arabe ? Touche un mot pour voir sa traduction et une explication en darija.

La question que tu n'oses pas poser en classe ? Pose-la à UstadZéro jugement, même en darija, même à minuit. Il t'explique pas à pas et corrige ta démarche. Gratuit.

Défi flash : 4 questions

Sans compte

🎯 Introduction à l'algorithmique et à la programmation structurée

1/4

Dans un tableau T de taille 10, quel est l'indice du dernier élément ?

❓ Questions fréquentes

Chno hiya lfar9 bin TantQue o Répéter ?
  1. TantQue vérifie la condition avant d'exécuter le bloc : si la condition est fausse dès le début, le code ne s'exécute jamais.
  2. Répéter exécute le bloc au moins une fois, car la condition est vérifiée à la fin.

💡 À retenir : Utilise TantQue quand le nombre de répétitions est inconnu et peut être nul, Répéter quand tu veux garantir au moins une exécution.

Kifach n7seb l'indice dyal l'élément l'akher f wa7d l-tableau 3ndo N éléments ?

Si ton tableau commence à l'indice 0, le dernier élément est à l'indice $N-1$.

💡 À retenir : En informatique, on compte souvent à partir de 0, donc la taille $N$ implique des indices de $0$ à $N-1$.

Wach momkin nst3mlo Pour ila kanch l3dad dyal l-iterations majhoul ?

Non, la boucle Pour est faite pour un nombre d'itérations connu à l'avance. Si le nombre dépend d'une condition dynamique, utilise TantQue.

💡 À retenir : Pour = nombre connu ; TantQue = condition dynamique.

Quelle est la différence entre une variable locale et globale ?

Une variable locale n'est accessible qu'à l'intérieur de la fonction où elle est déclarée. Une variable globale est accessible par tout l'algorithme.

💡 À retenir : Privilégie toujours les variables locales pour éviter les conflits de données.

Comment déclarer un tableau de 10 entiers ?

En pseudo-code : Tableau T[10] : Entier.

💡 À retenir : La déclaration doit toujours préciser le type des éléments contenus.

Qu'est-ce qu'un algorithme "glouton" ?

C'est un algorithme qui fait le meilleur choix local à chaque étape dans l'espoir d'obtenir l'optimum global.

💡 À retenir : Il est rapide mais ne garantit pas toujours la solution optimale.

Pourquoi doit-on commenter son code ?

Pour faciliter la maintenance et la compréhension par d'autres développeurs (ou toi-même après quelques mois).

💡 À retenir : Un code sans commentaire est un code difficile à maintenir.

Qu'est-ce qu'une erreur de syntaxe ?

C'est une faute dans l'écriture du code (oubli d'un point-virgule, mot-clé mal orthographié) qui empêche la compilation.

💡 À retenir : La syntaxe est le "langage" strict de la machine.

Comment échanger la valeur de deux variables A et B ?

Il faut utiliser une variable temporaire :

  1. Temp ← A
  2. A ← B
  3. B ← Temp

💡 À retenir : Sans variable temporaire, tu écraseras la valeur de A.

Qu'est-ce qu'un algorithme récursif ?

C'est une fonction qui s'appelle elle-même pour résoudre une version plus petite du problème.

💡 À retenir : Il faut toujours une condition d'arrêt pour éviter la boucle infinie.

Quelle est la complexité d'une boucle simple ?

Elle est de $O(n)$, où $n$ est le nombre de répétitions.

💡 À retenir : La complexité mesure le temps d'exécution en fonction de la taille des données.

Est-ce que l'ordre des instructions est important ?

Oui, absolument. L'algorithme est séquentiel : chaque ligne modifie l'état du système pour la suivante.

💡 À retenir : Une inversion peut changer totalement le résultat.

✍️ Exercices type examen national

Exercice 1

Écrire un algorithme qui demande à l'utilisateur de saisir 5 nombres entiers, les stocke dans un tableau, puis affiche le plus grand nombre.

Voir la correction détaillée : inscription gratuite

Exercice 2

Écrire un algorithme qui vérifie si un nombre entier N est premier.

Voir la correction détaillée : inscription gratuite

Exercice 3

Écrire un algorithme qui trie un tableau de 10 entiers par ordre croissant (Tri à bulles).

Voir la correction détaillée : inscription gratuite

Un prof de Informatique pour aller plus loin

Les cours du soir avec des profs vérifiés arrivent : inscris-toi pour être prévenu(e) en premier.

Être prévenu(e) gratuitement

Autres chapitres de Informatique