Fiche de révision : Algorithmique et programmation 1

Plan du Cours

  1. Méthode de travail et évaluation
  2. Définition et exigences d’un algorithme
  3. Algorithme, programme et exécution
  4. Spécification et décomposition
  5. Mémoire, variables et affectation
  6. Types fondamentaux de C#
  7. Calculs entiers et nombres réels
  8. Caractères et chaînes
  9. Booléens, entrées et sorties
  10. Chiffrement de César

1. Méthode de travail et évaluation

★ À maîtriser

📌 Tout code que l’étudiant ne sait pas expliquer ligne à ligne est considéré comme faux, en cours, en TD, en TP et à l’examen.

Compléments

📌 Le cours articule les trois séances : le cours présente les outils, le TD permet de choisir les outils et le TP permet de les utiliser.

📌 Lors des contrôles sur table, les documents personnels de cours, TD et TP sont autorisés, mais les outils électroniques sont interdits.

Astuce mémo

Cours : outils → TD : choix → TP : usage

2. Définition et exigences d’un algorithme

Notions clés & Définitions

  • Algorithme : Ensemble de règles opératoires dont l’application permet de résoudre un problème énoncé au moyen d’un nombre fini d’opérations.

★ À maîtriser

📌 Un algorithme doit être fini, non ambigu, effectif, et s’arrêter en fournissant un résultat ou en réalisant une action.

Compléments

  • La division entière 10 / 3 est effective car elle produit exactement 3 avec un reste de 1, tandis que l’écriture décimale exacte 10 / 3 = 3,3333333333… n’est pas effective car elle ne se termine jamais.

Astuce mémo

FNAE : fini, non ambigu, effectif, arrêt

3. Algorithme, programme et exécution

★ À maîtriser

📌 L’algorithme décrit le scénario avec les entrées, les instructions, les entrées-sorties et les sous-programmes, tandis que le programme traduit ce scénario dans un langage avec ses structures de données et sa syntaxe.

📌 Un interpréteur lit et exécute le code ligne par ligne, tandis qu’un compilateur traduit tout le code en langage machine avant l’exécution.

Compléments

  • C# est un langage compilé, fortement typé, dérivé de C et de C++, proche de Java, utilisé cette année comme langage impératif sans programmation objet.

Astuce mémo

Algorithme = scénario ; programme = traduction

4. Spécification et décomposition

Notions clés & Définitions

  • Précondition : Ce qui doit être garanti vrai pour que l’algorithme ait un sens.

★ À maîtriser

  • Pour résoudre un problème, il faut le décomposer en sous-problèmes, résoudre les problèmes atomiques, recomposer les solutions, puis implanter le programme.

Compléments

  • Pour le chiffrement d’un message, les sous-problèmes comprennent la lecture du message et de la clé, le parcours lettre par lettre, le test des caractères, le décalage d’un caractère et le recollage des caractères.

Astuce mémo

Entrées → sorties → précondition, puis décomposer → résoudre → recomposer → implanter

5. Mémoire, variables et affectation

Notions clés & Définitions

  • Variable informatique : Case mémoire possédant un nom, un type et éventuellement une valeur.

★ À maîtriser

📌 La déclaration annonce le nom et le type, l’affectation range une valeur dans la case, et l’expression est un calcul qui produit une valeur.

📌 En C#, une variable reçoit un type à sa déclaration et ne peut jamais en changer, car C# est fortement typé.

Compléments

  • L’instruction age = age + 1 signifie que la valeur actuelle de age est augmentée de 1 puis replacée dans age.

Astuce mémo

Déclaration annonce ; affectation range ; expression calcule

6. Types fondamentaux de C#

★ À maîtriser

  • Les cinq types fondamentaux sont:
    • int : un entier
    • double : un nombre à virgule approché
    • char : un caractère
    • string : une suite de caractères
    • bool : vrai ou faux

📌 Les caractères s’écrivent entre apostrophes, comme 'a', tandis que les chaînes s’écrivent entre guillemets, comme "a".

Compléments

📌 Une constante se déclare avec le mot-clé const et ne peut ensuite pas être modifiée.

  • C# distingue les majuscules et les minuscules, donc Pi, pi et pI sont trois variables différentes.

7. Calculs entiers et nombres réels

Notions clés & Définitions

  • Modulo : L’opérateur modulo donne le reste de la division entière, et x%26x \% 26 est toujours compris entre 0 et 25.

★ À maîtriser

📐 Formule — La division de deux entiers produit un entier en supprimant la partie décimale : 7/2=37 / 2 = 3.

📐 Formule — Pour obtenir une division réelle, il faut convertir un opérande avant la division, par exemple (double)a/b=3.5\text{(double)}a / b = 3.5 pour a = 7 et b = 2.

📌 Un double stocke une approximation d’un nombre réel, donc l’expression 0.1 + 0.2 == 0.3 vaut false en C# et il ne faut jamais tester directement l’égalité de deux double.

Compléments

📌 Le cast (int) tronque un double vers zéro sans l’arrondir : (int)3.9 vaut 3 et (int)(-3.9) vaut -3.

Astuce mémo

int tronque ; double approxime

8. Caractères et chaînes

Notions clés & Définitions

  • Caractère : Stocké par la machine comme un code numérique ASCII ou Unicode.

★ À maîtriser

  • Pour une lettre minuscule, l’expression c−′a′c - 'a' donne son rang dans l’alphabet, de 0 pour 'a' à 25 pour 'z'.

📌 Pour une chaîne de longueur Length, les indices valides vont de 0 à Length - 1 et l’accès à l’indice Length provoque une erreur à l’exécution.

Compléments

  • Dans la chaîne "bonjour", Length vaut 7, mot[0] vaut 'b' et mot[6] vaut 'r'.

Astuce mémo

Les caractères sont des numéros et les chaînes des cases indexées à partir de zéro

9. Booléens, entrées et sorties

★ À maîtriser

📌 Console.ReadLine renvoie toujours une string, et il faut convertir explicitement cette chaîne pour obtenir un int ou un double.

📌 Les opérateurs booléens comprennent == pour égalité, != pour différence, <, <=, > et >= pour les comparaisons, && pour et, || pour ou, et ! pour non.

Compléments

📌 int.Parse provoque une erreur si la saisie n’est pas un nombre, tandis qu’int.TryParse permet d’éviter cette erreur en signalant l’échec de conversion.

📌 Console.WriteLine affiche une valeur avec un retour à la ligne, tandis que Console.Write affiche sans retour à la ligne.

Astuce mémo

= affecte ; == compare

10. Chiffrement de César

★ À maîtriser

  • Le chiffrement d’un caractère par décalage consiste à convertir la lettre en rang, ajouter le décalage, appliquer le modulo 26, puis reconvertir le rang en caractère.

📐 Formule — Pour c = 'x' et decal = 5, le rang initial vaut 23, le nouveau rang vaut (23+5)%26=2(23 + 5) \% 26 = 2, et le caractère obtenu est 'c'.

Compléments

  • Pour c = 'z' et decal = 1, le rang 25 devient 0 avec le modulo 26 et le résultat est 'a'.

📌 Un algorithme doit être vérifié sur ses cas limites, notamment 'z' avec un décalage de 1 et 'a' avec un décalage de 0.

Astuce mémo

Lettre → rang → calcul modulo 26 → lettre

Tableaux de synthèse

Algorithme et programme

ÉlémentAlgorithmeProgramme
NatureScénario de résolutionTraduction du scénario
ContenuEntrées, instructions, sous-programmesStructures de données et syntaxe
ExécutionIndépendant d’un langageDépendant d’un langage

Types fondamentaux de C#

TypeContenuExemple d’usage
intEntierClé de chiffrement
doubleNombre à virgule approchéMoyenne
charUn caractèreLettre à chiffrer
stringSuite de caractèresMessage
boolVrai ou fauxTest

Teste tes connaissances

Teste tes connaissances sur Algorithmique et programmation 1 avec 24 questions à choix multiples et corrections détaillées.

1. Quel type C# convient à chacune des valeurs suivantes : 42, 3,14, 'x', "salut" et vrai ?

2. Quelle démarche permet de résoudre méthodiquement un problème complexe par décomposition ?

Faire le QCM →

Révisez avec les flashcards

Mémorisez les concepts clés de Algorithmique et programmation 1 avec 63 flashcards interactives.

Comment le cours, le TD et le TP sont-ils articulés ?

Le cours présente les outils, le TD choisit les outils, le TP les utilise.

Quels documents sont autorisés lors des contrôles sur table ?

Les documents personnels de cours, TD et TP sont autorisés.

Quels outils sont interdits lors des contrôles sur table ?

Les outils électroniques sont interdits.

Voir les flashcards →

Cours similaires

Crée tes propres fiches de révision

Importe ton cours et l'IA génère fiches, QCM et flashcards en 30 secondes.

Générateur de fiches