Académique Documents
Professionnel Documents
Culture Documents
Pr : KASSABI Khadija
kassabikhadija2isd@gmail.com
K.Kassabi 25/10/2023 2
Plan du cours
K.Kassabi 25/10/2023 3
Algorithmique
Leçon 1 : Introduction à la programmation
Objectifs:
K.Kassabi 25/10/2023 4
Notions de Programmation
K.Kassabi 25/10/2023 5
Langage Informatique (2)
Lecture des données en entrée: Le programme recueille les informations nécessaires à partir
de sources telles que claviers, disques durs, ou réseaux.
Traitement des données: À partir des données d'entrée, le programme utilise des opérations
pour effectuer des calculs et manipulations, produisant ainsi un résultat.
Écriture des données en sortie: Une fois les calculs effectués, le programme affiche le résultat
à l'écran, le stocke dans un fichier ou le conserve en mémoire pour une utilisation ultérieure.
Traitement Sortie
Entrées (a, b) a+b s
(Algorithme)
K.Kassabi 25/10/2023 6
Algorithmique : Définition
K.Kassabi 25/10/2023 7
Algorithmique : Représentation
K.Kassabi 25/10/2023 8
Algorithmique : Syntaxe
K.Kassabi 25/10/2023 9
Algorithmique
Leçon 2 : Types des données
Objectifs:
K.Kassabi 25/10/2023 10
Variables et Opérations
En algorithmique, une variable est un symbole utilisé pour stocker et représenter une valeur
ou une donnée .
Elle peut être modifiée ou mise à jour pendant l'exécution de l'algorithme pour effectuer
diverses opérations.
K.Kassabi 25/10/2023 11
Variables et Opérations : Identificateur
Le choix des noms des variables est soumis a quelques règles qui varient selon les langages mais
en général :
Un nom doit commencer par une lettre alphabétique :
Exemple : A1 : Valide 2ISD : Invalide
Contient uniquement des lettres, chiffre et soulignement « _ »
Exemples : IISD_2023, MP3s_9 …
Doit être différents des noms réservés : int , float , max, for, return…
La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage
utilisé.
Conseil : pour la lisibilité du code choisir des noms significatifs qui décrivent les données
manipulées
exemples: TotalVentes2019, Prix_TTC, Prix_HT
K.Kassabi 25/10/2023 12
Variables et Opérations : Types
Type entier:
Le type entier (« int » en langage C abréviation de l’anglais integer) est une représentation des
nombres entiers. Comme toute variable informatique, un int ne peut prendre qu’un nombre fini
de valeur.
Les valeurs sont entre − et − 1 (ce qui fait bien valeurs possibles).
Les opérations arithmétiques binaires +, −, , / sont définies sur les ‘entiers’ et donnent toujours
pour résultat un entier .
K.Kassabi 25/10/2023 13
Variables et Opérations : Types
Un nombre réel tel qu’il est ainsi représenté possède une mantisse (des chiffres) et un exposant
qui correspond à la multiplication par une certaine puissance de 10.
Par exemple : 3.546E − 3 est égal à 3.546 × , ce qui fait 0.003546.
Le type double (codé sur 8 octets) est plus précis que le type réel (codé sur 4 octets). La valeur
maximale d’un double est d’environ alors que celle d’un float est de l’ordre de .
(en C les valeurs limites exactes sont données par les constantes DBL_MAX et FLT_MAX de
la bibliothèque float.h).
K.Kassabi 25/10/2023 14
Variables et Opérations : Types
Type Caractère :
Le type caractère (Char en C abréviation de l’anglais character) est un type caractère codé sur
1 octet. C’est la plus petite donnée qui puisse être stockée dans une variable.
Les valeurs (de −126 à 125) peuvent représenter des caractères conventionnels.
Par exemple, les caractères alphabétiques majuscules A, B, ..., Z ont pour valeur 65, 66, ... , 90
et les minuscules correspondantes a, b, ... ,z ont pour valeurs 97, 98, ... , 122. On appelle ce
codage des caractères le code ASCII.
Une variable de type char peut être considérée soit comme un nombre(code ASCII), soit comme
un caractère que l’on peut afficher.
K.Kassabi 25/10/2023 15
Variables et Opérations : Types
Type boolean :
un booléen est un type de variable à deux états (généralement notés vrai et faux), destiné à
représenter les valeurs de vérité de la logique et l'algèbre booléenne .
Constante :
Une constante est une valeur qui n’est pas susceptible de varier lors de l’exécution d’un
programme.
Par exemple, 9.81 est une constante de type réel, 1024 est une constante de type entier (qui peut
aussi être affectée à une variable de type réel).
K.Kassabi 25/10/2023 16
Variables et Opérations : Opérations
Les opérateurs sont des symboles qui permettent d'exécuter des opérations dans un algorithme
ou programme informatique entre deux opérants (variables )
Les opérateurs sont fondamentaux pour écrire des algorithmes et des programmes. C’est ce qui
compose les instruction d’un programme .
Variable 1 Variable 2
Opérateur
Opération
K.Kassabi 25/10/2023 17
Variables et Opérations : Opérations
Opérateurs Arithmétiques
Il existe plusieurs opérateurs arithmétiques :
K.Kassabi 25/10/2023 18
Variables et Opérations : Opérations
Opérateurs Arithmétiques
Exemple :
K.Kassabi 25/10/2023 19
Variables et Opérations : Opérations
Opérateurs de comparaison
Il existe plusieurs opérateurs de comparaison :
K.Kassabi 25/10/2023 20
Variables et Opérations : Opérations
Opérateurs de comparaison
Exemple :
K.Kassabi 25/10/2023 21
Variables et Opérations : Opérations
Opérateurs logiques
Il existe plusieurs opérateurs logiques:
K.Kassabi 25/10/2023 22
Variables et Opérations : Opérations
Opérateurs Logiques
Exemple :
p True
qFalse
et p AND q //et vaut False
ou p OR q //ou vaut True
non_p NOT p // non_p vaut False
FIN
K.Kassabi 25/10/2023 23
Variables et Opérations : Opérations
Opérateurs d'affectation
Il existe deux opérateurs d’affectation:
Exemple :
Variable x : entire
Debut
x5
x+=3 // x vaut maintenant 8 (équivaut à x x + 3)
FIN
K.Kassabi 25/10/2023 24
Exercice
a1;
b5; Correction
ca–b; a=2
a2; b=5
ca+b; c=7
K.Kassabi 25/10/2023 25
Les fonctions d'entrée - Sortie
Variable x : entire
Debut
x5
x+=3 // x vaut maintenant 8 (équivaut à x x + 3)
Ecrire (x) //affichage d’une variable
Ecrire(“ Fin Programme . ”) //affichage d’u message
FIN
K.Kassabi 25/10/2023 26
Les fonctions d'entrée - Entrée
Variable x : entire
Debut
Ecrire (“Donner la Valeur de x :”)
Lire (x) //saisir la valeur de x au clavier
x+=3 // x vaut maintenant 8 (équivaut à x x + 3)
Ecrire (x) //affichage d’une variable
Ecrire(“ Fin Programme . ”) //affichage d’u message
FIN
K.Kassabi 25/10/2023 27
Exercices (1)
o Ecrire un algorithme qui lit deux entiers au clavier et qui affiche ensuite leur somme et leur
produit.
o Ecrire un algorithme qui permet d’échanger les valeurs de deux variables entières.
o Écrire un algorithme qui à partir de trois notes d’un étudiant (n1,n2,n3) et de trois coefficients
(c1,c2,c3) calcule la moyenne.
o Écrire un algorithme qui permet d’effectuer une permutation circulaire des valeurs entières de
trois variables x, y, z (la valeur de y dans x, la valeur de z dans y et la valeur de x dans z).
o Écrire un algorithme qui à partir d’une somme d’argent donnée, donne le nombre minimal de
billets de 50DH et 20DH et le nombre de pièces de 2DH, 1DH qui la compose.
K.Kassabi 25/10/2023 28
Exercices (2)
o Pour convertir des degrés Fahrenheit en degrés Celsius, on a la formule suivante :
C ~ 0.55556 × (F − 32)
où F est une température en degrés Fahrenheit et C la température correspondante en degrés
Celsius.
-) Écrire un algorithme C qui convertit une température entrée au clavier exprimée
en degrés Fahrenheit et affiche une valeur approchée de la même température en degrés Celsius. Les
températures seront exprimées par des nombres réels .
o Lors d’une opération de promotion, un magasin de composants hardware applique une réduction de
10% sur tous les composants. Écrire un algorithme qui lit le prix d’un composant au clavier et
affiche le prix calculé en tenant compte de la réduction.
o Écrire un algorithme qui lit un nombre r au clavier et calcule le périmètre et l’aire d’un disque de
rayon r.
Périmètre = 2x PI x r
aire = PI x r x r
K.Kassabi 25/10/2023 29
Algorithmique
Leçon 3 : Structures Conditionnelles et Itératives
Objectifs:
K.Kassabi 25/10/2023 30
Structures Conditionnelles
Par exemples :
corriger le nombre de jours du mois de février dans le cas où l’année est bissextile.
ne mener le calcul des racines d’une équation du second degré que si le déterminant est positif.
K.Kassabi 25/10/2023 31
Structures Conditionnelles
K.Kassabi 25/10/2023 32
Structures Conditionnelles
K.Kassabi 25/10/2023 33
Structures Conditionnelles
K.Kassabi 25/10/2023 34
Structures Conditionnelles
K.Kassabi 25/10/2023 36
Structures Conditionnelles
K.Kassabi 25/10/2023 37
Structures Conditionnelles
Les Conditions
Les conditions que l’on peut mettre dans une instruction if sont des conditions booléennes simples
ou composées , pour les conditions simples on trouve :
• x==y est vérifiée lorsque x est égal à y ;
• x<y est vérifiée lorsque x est strictement inférieur à y ;
• x>y est vérifiée lorsque x est strictement supérieur à y ;
• x<=y est vérifiée lorsque x est inférieur ou égal à y ;
• x>=y est vérifiée lorsque x est supérieur ou égal à y ;
• x !=y est vérifiée lorsque x est différent de y ;
Un nombre (entier, réel, etc.) pourra être considéré comme vrai ou faux avec la convention suivante :
Exemples :
x comprend entre 2 et 6 : (x > 2) ET (x < 6)
n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
deux valeurs et deux seulement sont identiques parmi a, b et c : (a=b) XOR (a=c) XOR (b=c)
L'évaluation d'une condition composée se fait selon des règles présentées généralement dans ce
qu'on appelle tables de vérité
K.Kassabi 25/10/2023 41
Structures Conditionnelles
C1 C2 C1 ET C2 C1 NON C1
VRAI VRAI VRAI
VRAI FAUX
VRAI FAUX FAUX
FAUX VRAI
FAUX VRAI FAUX
FAUX FAUX FAUX
C1 C2 C1 XOR C2
C1 C2 C1 OU C2 VRAI VRAI FAUX
VRAI VRAI VRAI VRAI FAUX VRAI
VRAI FAUX VRAI FAUX VRAI VRAI
FAUX VRAI VRAI FAUX FAUX FAUX
FAUX FAUX FAUX
K.Kassabi 25/10/2023 42
Structures Conditionnelles
Le Selon…..Faire
Le switch (en C) permet de distinguer plusieurs cas selon les valeurs d’une variable. Le if permet de
distinguer deux cas, alors que le switch permet de distinguer un grand nombre de cas.
K.Kassabi 25/10/2023 43
Structures Conditionnelles
Exemple :
K.Kassabi 25/10/2023 44
Exercice
Soit une équation du second degré ax^2 + bx + c = 0. Écrire un algorithme qui lit a, b, c au clavier
et affiche les éventuelles solutions.
K.Kassabi 25/10/2023 45
Structures Itératives
Introduction :
Prenons le cas d’une saisie au clavier, par exemple, on pose une question à laquelle l’utilisateur doit
répondre par O (Oui) ou N (Non).
L’utilisateur risque de taper autre chose (une autre lettre), le programme peut soit planter par une erreur
d’exécution soit se dérouler normalement jusqu’au bout, mais en produisant des résultats fantaisistes.
Algorithme contrôle_de_saisie
Variable Rep : caractère
Début
Ecrire "Voulez vous une copie de ce cours ? (O/N)"
Lire (Rep)
Si Rep ≠ 'O' ET Rep ≠ 'N' Alors
Ecrire ("Erreur de saisie. Recommencez")
Lire (Rep)
FinSi
Fin
K.Kassabi 25/10/2023 46
Structures Itératives
Introduction :
Cet algorithme résout le problème si on se trompe qu’une seule fois, et on fait entrer une valeur correcte à la
deuxième demande. Sinon en cas de deuxième erreur, il faudrait rajouter un SI. Et ainsi de suite, on peut
rajouter des centaines de SI.
Algorithme contrôle_de_saisie
Variable Rep : caractère
Début
Ecrire "Voulez vous une copie de ce cours ? (O/N)"
Lire (Rep) La solution à ce problème consiste à
Si Rep ≠ 'O' ET Rep ≠ 'N' Alors utiliser une structure répétitive.
Ecrire ("Erreur de saisie. Recommencez")
Lire (Rep)
FinSi
Fin
K.Kassabi 25/10/2023 47
Structures Itératives
Définition :
Une structure répétitive, encore appelée boucle, est utilisée quand une
instruction ou une liste d’instructions, doit être répétée plusieurs fois.
La répétition est soumise à une condition.
K.Kassabi 25/10/2023 48
Structures Itératives
K.Kassabi 25/10/2023 49
Structures Itératives
• Si elle est vraie, le programme exécute les instructions qui suivent, jusqu’à ce qu’il rencontre la ligne
FinTantQue.
• Il retourne ensuite sur la ligne du TantQue, procède au même examen, et ainsi de suite.
• La boucle ne s’arrête que lorsque la condition prend la valeur fausse, et dans ce cas le programme
poursuit son exécution après FinTantQue .
K.Kassabi 25/10/2023 50
Structures Itératives
Algorithme contrôle_de_saisie
Variable Rep : caractère
Début
Ecrire ("Voulez vous une copie de ce cours ? (O/N)" )
Lire (Rep)
TantQue Rep ≠ 'O' ET Rep ≠ 'N' faire
Ecrire (" Erreur de saisie")
Ecrire ("Voulez vous une copie de ce cours ? (O/N)" )
Lire (Rep)
FinTantQue
Fin
K.Kassabi 25/10/2023 51
Structures Itératives
Remarques:
Etant donnée que la condition est évaluée avant la mise en œuvre des instructions, ce qui est
une sécurité, il est possible que celles-ci ne soient jamais exécutées.
Si une structure TantQue dans laquelle la condition ne devient jamais fausse. Le programme
tourne dans une boucle infinie et n’en sort plus.
K.Kassabi 25/10/2023 52
Structures Itératives
I1
Tant que I < = 10 Faire
Ecrire(" bonjour")
FinTantQue
Dans cet exemple nous avons une boucle infinie, l’ordinateur ne s'arrêtera jamais d’afficher
le message Bonjour car la variable I qui est testée dans la condition n'est jamais incrémentée.
K.Kassabi 25/10/2023 53
Structures Itératives
K.Kassabi 25/10/2023 55
Structures Itératives
La variable compteur est de type entier. Elle est initialisée à la valeur initiale. Le compteur augmente
sa valeur de un (1) automatiquement à chaque tour de boucle jusqu’à la valeur finale.
Pour chaque valeur prise par la variable compteur, la liste des instructions est exécutée.
Lorsque la variable compteur vaut la valeur finale, le traitement est exécuté une dernière fois puis le
programme sort de la boucle.
K.Kassabi 25/10/2023 56
Structures Itératives
7*0=0 7 * 4 = 28 7 * 8 = 56
7*1=7 7 * 5 = 35 7 * 9 = 63
7 * 2 = 14 7 * 6 = 42 7 * 10 = 70
7 * 3 = 21 7 * 7 = 49
K.Kassabi 25/10/2023 57
Structures Itératives
Algorithme Somme
Variables S, I : Entiers
Début
Ecrire ("Entrer la valeur de N : ")
Lire (N)
S0
Pour I 1 jusqu’à N Faire
SS+I
FinPour
Ecrire(''La somme des '', N, '' premiers entiers est : '', S)
Fin
K.Kassabi 25/10/2023 58
Factoriel 1
Algorithme Factoriell
Variables Fact,I,N: Entiers
Debut
Repeter
Ecrire(“Entrer la Valeur de N:”)
Lire(N)
Jusqu’a(N>0)
Fact 1
Pour i1 jusqu’a N Faire
Fact Fact * I
FinPour
Ecrire(“Le factoriel du nombre saisi est:”,Fact)
Fin
K.Kassabi 25/10/2023 59
Factoriel 2
Algorithme Factoriel
Variables Fact,I,N: Entiers
Debut
Ecrire(“Donner N:”)
Lire(N)
Fact1
I1
TantQue(I<=N) Faire
FactFact*I
I I+1
FinTantQue
Fin
K.Kassabi 25/10/2023 60
Structures Itératives
Remarques:
Pour modifier la valeur d’incrémentation, il suffit de rajouter le mot Pas (en anglais step) et
la valeur de ce pas à la boucle Pour.
K.Kassabi 25/10/2023 61
Structures Itératives
K.Kassabi 25/10/2023 62
Structures Itératives
K.Kassabi 25/10/2023 63
Structures Itératives
Remarques :
Cette boucle ne s’utilise en général que pour des menus, elle est dangereuse car il n’y a pas de vérification
de la condition avant d’y entrer !
Syntaxe :
série d’instructions 1 // début du programme
Répéter
Instruction(s)
Jusqu’à (Condition)
série d’instructions 3 // suite du programme
K.Kassabi 25/10/2023 64
Structures Itératives
Si elle est fausse, le corps de la boucle est exécuté à nouveau puis la condition est réévaluée et si
elle a la valeur vrai, le programme sort de la boucle et exécute l'instruction qui suit Jusqu'à.
K.Kassabi 25/10/2023 65
Structures Itératives
K.Kassabi 25/10/2023 67
Exercices :
Écrire une fonction qui calcule la factorielle n! d’un entier n passé en paramètre.
(Rappel : n! = 1 × 2 × · · · × n)
Écrire un programme qui calcule la somme des 1/i pour i = 1 à n pour une valeur de n rentrée au
clavier. Faire cette somme en partant de 1 à n et la recalculer en partant de n à 1. Comparer ces
deux sommes.
Écrire une procédure qui affiche à l’aide du signe + les figures suivantes :
1- Triangle de hauteur n (ex. n = 3) :
+
++
+++
2- Triangle de hauteur n (ex. n = 3) :
+
+++
+++++
N.B : Pour ces exercices, on considère que l’on connait la procédure retourLigne ( ).
K.Kassabi 25/10/2023 68
MERCI !
K.Kassabi 25/10/2023 69