Vous êtes sur la page 1sur 56

‫كلية العلوم والتقنيات بطنجة‬

Faculté des Sciences et Techniques de Tanger


Département Génie Informatique

Module : Algorithmique et
Programmation

Niveau : 1ère Année MIPC

Cours préparé par : Enseigné par


• Pr. Sanae KHALI ISSA • Pr. Ouafae Baida
• Pr. Ouafae Baida
Module : Algorithmique et Programmation 1 – 1ère année MIPC

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
C’est quoi l’informatique
• C’est la science du traitement automatique et rationnel
de l’information

C’est quoi Information ?


C’est quoi Traitement ?

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
C’est quoi l’information
• L’information est un ensemble des données portant
une connaissance.

• Une information peut être de type :


▫ Texte
▫ Image
▫ Vidéo
▫ Son
▫ Symbole

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Définition du traitement

• Le traitement est l’ensemble des opérations servant à


modifier l’état des données.

Données Traitements Résultats

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Exemples des traitements

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Exemples des traitements

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Système informatique

Partie Matérielle : Partie Logicielle :


Hardware Software

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Schéma fonctionnel d’un système Informatique

Unité Centrale

Unités 01101 Mémoire centrale


10110 Unités de
d’entrée sortie
Unité Centrale de
Données Résultat
Texte
Traitement
Texte,
Image Image
Son Son
Vidéo Codage Traitement des Transcodage Vidéo
etc. etc.
informations

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Codage de l’information

C’est la transformation des informations vers des symboles


pour pouvoir la traiter, stoker, transmettre, etc dans un
système informatique

⁻ l’information sera codée sous forme des chiffres binaires


{0,1} appelée aussi la base binaire.
⁻ Cette information s’appelle information binaire.
⁻ Chaque élément de l’information s’appelle un bit (binary
digit).

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Stockage de l’information dans un système Informatique

Avec 1 bit, on peut représenter 2=21 informations binaires : 0 et 1.


Avec 2 bits, on peut représenter 4=22 informations binaires : 00, 01,
10,11.
Avec 3 bits, on peut représenter 8=23 informations binaires : 000,
001, 010, 011, 100, 101, 110, 111

Avec 8 bits, on peut représenter 265=28 informations binaires.

Avec n bits, on peut représenter 2n informations binaires.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités

⁻ L’information traitée par ordinateur est constituée par un


groupe de 8 bits appelé un octet.

1 octet = 8 bits
1 kilo octet = 1024 octets
1 méga octets = 1024 Ko
1 géga octets = 1024 Mo
1 téra octet = 1024 Go

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Les systèmes de numération

Exemple :

10110, 01011, 10001 , …

Exemple :

12, 145, 17, 20,760, …..

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Généralités
Les systèmes de numération

Exemple :

1, 10, 19,20, 199, …..

Exemple :

1, 10A, 9BC, 19D, …..

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Conversion entre les bases


Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Codage &transcodage

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Codage &transcodage
Octal vers Binaire
1. Octal vers Décimal 2. Décimal vers Binaire
• •

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Codage &transcodage
Binaire vers Octal

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Codage &transcodage
Hexadécimal vers Binaire

• Donner à chaque élément son équivalent

• Exemple
▫ (A1E)16 = (1010 0001 1110)2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Codage &transcodage
Binaire vers Héxadécimal

• Regrouper les chiffres de binaires 4 par 4


• Remplacer chaque 4 chiffres par le nombre
hexadécimal équivalent.

• Exemple
▫ 100010011101 = 1000 1001 1101 = (89D)16

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Exercices Généralités
Exercice 1
Coder les nombres suivants :
(1456)10 , (176)8, ( 13AB)16
Transcoder les nombres suivants
( 100111) 2 = ( ) 10 , (111 010 001)2= ()8 , (0011101010)2=()16
Exercice 2
Soit X un nombre entier ayant la valeur 73 dans la base
décimale, trouver l’équivalent de X dans les bases suivantes :
⁻ Binaire
⁻ Octale
⁻ Hexadécimale

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

1. Problème : Préparer un gâteau


• Les ingrédients :
1. 1/2 paquet de levure chimique
2. 1 pot de yaourt nature (= 20 cl)
2. Identifier 3. 1/2 pot d'huile de colza (= 10 cl)
les données 4. 2 pots de sucre semoule
5. 3 pots de farine
6. 2 œufs
7. 1 zeste de citron
• Préparation de la recette
1. Mélanger tout simplement les ingrédients un à un, dans
3. Traiter les l'ordre ci-dessus.
données 2. Verser la pâte dans un moule à gâteau préalablement beurré.
3. Enfourner à 180°C (thermostat 6) pendant 30 minutes
environ.
4. Vérifier la cuisson avec la pointe d'un couteau (elle doit
ressortir sèche).
4. Résultat :un gâteau
Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger
Module : Algorithmique et Programmation 1 – 1ère année MIPC

Schéma de résolution d’un problème

Problème

Identification
des données

Traitement
des données

Résultats

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Schéma de résolution d’un problème : Exemple 2

Problème Comment résoudre l’équation du 2ème degré ?

Identification
des données a, b, delta, x1, x2

1) Choisir la valeur de a
Traitement
2) Choisir la valeur de b
des données
3) Calcul de delta

Calculer x1
Résultats
et x2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Notion d’algorithme
Un algorithme est une suite d’actions ou instructions
appliquées sur des données dans un ordre bien déterminé pour
résoudre un problème ou atteindre un but.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Structure générale d’un algorithme

Algorithme Nom_de_l’algorithme ;
Déclarations des données
Début
Instruction 1;
Instruction 2;
….
Instruction N ;
Fin

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Exemple d’un algorithme


Algorithme surface_disque ;
Variables R, S : réel ;
Constante Pi : réel = 3,141559 ;
Début
S0;
Ecrire (‘Choisir une valeur pour le rayon : ‘);
Lire (R);
S  Pi*R^2;
Ecrire (‘La surface du disque est : ‘) ;
Ecrire (S) ;
Fin

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Notion d’une donnée

Une donnée est une zone


0
mémoire, dans laquelle on peut clavier
a
mémoriser une valeur pour une 1
123
exploitation ultérieure.

Mémoire de
l’ordinateur

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Caractéristiques d’une donnée


Dans un algorithme, chaque donnée est
identifiée par les attributs suivants :
⁻ Identificateur
⁻ Valeur
⁻ Type
⁻ Nature

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Identificateur d’une donnée


⁻ Appelé aussi nom de la donnée
⁻ Sert à désigné une donnée dans l’algorithme
⁻ Formé d’une suite de lettres, de chiffres et de traits de soulignement ’_’
dont le premier caractère est obligatoirement une lettre.
Exemple :
⁻ R pour designer le rayon du disque
⁻ S pour désigner la surface du disque

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Valeur d’une donnée


C’est une valeur prise par la donnée au cours de l’exécution de
l’algorithme.

Type d’une donnée


C’est l’ensemble des valeurs que peut prendre une donnée. Elle
peut être de type
⁻ Numérique : entier, réel
⁻ Alphanumérique : caractère, chaine
⁻ Logique ou booléen : il prend seulement deux valeurs vrai (1) ou faux (0)

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Nature d’une donnée


Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Structure générale de déclaration des données

Variable identificateur : type de la donnée


***
Variables iden1, iden2, iden3, … : type des données (Ils
doivent avoir même type)
***
Constante identificateur : type de la donnée = valeur de la
donnée

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instruction de lecture « Lire »


C’est l’action qui permet à l’utilisateur de fournir à
l’algorithme les valeurs des variables.

Choisir une valeur pour le rayon


2

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instruction de lecture « Lire »

Lire (var)
Ou bien
Lire (var1, var2, …, varN)
Avec var, var1, var2, … des identificateurs des données variables.

Exemple
Lire (R) ;

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instruction d’écriture « Ecrire »


C’est l’action qui permet à l’algorithme d’afficher
des messages ou le contenu des données à
l’utilisateur.
La surface du disque est :
12,56

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instruction d’écriture « Ecrire »


Ecrire (var)
Ou bien
Ecrire (var1, var2, …, varN)
Ou bien
Ecrire (‘message’)

Avec var, var1, var2, … des identificateurs des données variables.

Exemple
Ecrire (‘Donner la valeur du rayon : ‘) ;
Ecrire (‘la surface du disque est : ‘) ;
Ecrire (S) ;

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instruction d’affectation «  »
C’est l’action qui permet d’attribuer à une variable une valeur simple ou
bien résultante d’une expression arithmétique.

Forme générale Exemple


Nom_variable  valeur ; S 0 ;
Nom_variable  expression ; S Pi *R^2 ;

NB :
La valeur affectée doit être compatible avec le type de la variable
destinataire.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

• Exercice
▫ Parmi ces affectations, lesquelles provoqueront des erreurs, et
pourquoi ?

 Variables A, B, C : Numérique
 Constante G=5 : Numérique
 Variable D, F: Caractère
 A←G
 C←D
B ← A – (G-1)
 C←A/B
B←F;
 A ← A + (B * C)

▫ Pour les affectations correctes, Afficher les résultats.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Définition

On appelle instruction de contrôle toute


instruction qui permet de contrôler la succession
des actions d'un programme.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC 45

Algorithmique

Instructions de contrôle

• Condition simple
Une condition simple est une comparaison entre
deux expressions du même type. Elle est évaluée
comme étant vraie ou fausse.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instructions de contrôle (suite)


• Condition simple (suite)
▫ Opérateurs de comparaison :

Opérateur Cas numérique Cas alphanumérique

= Egal à Egal à

<> Différent Différent

< Strictement inférieur Placé avant dans l’ordre alphabétique

> Strictement supérieur Placé après dans l’ordre alphabétique

<= Inférieur ou égal Placé avant dans l’ordre alphabétique ou égal

>= Supérieur ou égal Placé après dans l’ordre alphabétique ou égal


Algorithmique

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


46
Module : Algorithmique et Programmation 1 – 1ère année MIPC 47

Algorithmique

Instructions de contrôle (suite)

• Condition complexe
▫ Définition :
Une condition complexe est une condition
composée de plusieurs conditions simples reliées
par des opérateurs logiques : ET, OU, XOR et
NON.

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instructions de contrôle (suite)


• Condition complexe (suite)
▫ Opérateurs de comparaison :

Condition Signification

condition1 ET condition2 = VRAI condition1 = VRAI , condition2 = VRAI

condition1 = VRAI , condition2 = FAUX


condition1 OU condition2 = VRAI condition1 = FAUX, condition2 = VRAI
condition1 = VRAI, condition2 = VRAI
condition1 = VRAI , condition2 = FAUX
condition1 XOR condition2 = VRAI
condition1 = FAUX, condition2 = VRAI

Non condition = VRAI condition = FAUX


Algorithmique

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


48
Module : Algorithmique et Programmation 1 – 1ère année MIPC 49

Algorithmique

Instructions de contrôle (suite)


• Structure alternative
▫ Syntaxe :
Si condition alors
Bloc1 d’instructions
Sinon
Bloc2 d’instructions
Fin si

▫ Cas simple :

Si condition alors
Bloc d’instructions
Fin si

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC 50

Algorithmique

Instructions de contrôle (suite)


• Structure alternative (suite)
▫ Exemple :

Algorithme positif;
Variable nb : entier;
Début
Si (nb>0) alors
Ecrire (‘Nombre positif’);
Sinon
Ecrire (‘Nombre négatif ou nul’);
Finsi
Fin

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instructions de contrôle (suite)


Exercice d’application

• Écrire un algorithme qui demande un nombre à


l’utilisateur, et l’informe ensuite si ce nombre est
positif ou négatif (on laisse de côté le cas où le
nombre vaut zéro).

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC 52

Algorithmique

Instructions de contrôle (suite)


• Structures alternatives imbriquées
▫ Exemple :
Algorithme signe;
Variable nb : entier;
Début
Ecrire (‘nb=‘);
Lire(nb);
Si (nb>0) alors
Ecrire (‘Nombre positif’);
Sinon
Si (nb<0) alors
Ecrire (‘Nombre négatif’);
Sinon
Ecrire (‘Nombre nul’);
Finsi
Finsi
Fin

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instructions de contrôle (suite)


Exercice d’application

A partir d’un montant lu, on détermine un


montant net par application d’une remise de :
▫ 1% si le montant est compris entre 2000 et 5000 Dhs
(valeurs comprises)
▫ 2 % si le montant est supérieur à 5000 Dhs

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC 54

Algorithmique

Instructions de contrôle (suite)


• Structure sélective
▫ Syntaxe :

Selon variable ou expression faire


Valeur1 : bloc1 d’instructions
Valeur2 : bloc2 d’instructions

Valeurn : blocn d’instructions
Autrement : bloc d’instructions
Finselon

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC 55

Algorithmique

Instructions de contrôle (suite)


• Structure sélective (suite)
▫ Exemple :
Algorithme feu;
Variable feu : car;
Début
Selon feu faire
'V' : Ecrire (‘le conducteur passe’);
'R' : Ecrire (‘Le conducteur s’arrête’);
'O' : Ecrire (‘le conducteur ralentit’);
Finselon
Fin

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger


Module : Algorithmique et Programmation 1 – 1ère année MIPC

Instructions de contrôle (suite)


Exercice d’application

Écrire un algorithme qui demande l’âge d’un


enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :
▫ "Poussin" de 6 à 7 ans
▫ "Pupille" de 8 à 9 ans
▫ "Minime" de 10 à 11 ans
▫ "Cadet" après 12 ans

Professeur Sanae KHALI ISSA -- Département Génie Informatique -- FST de Tanger

Vous aimerez peut-être aussi