Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Support Cours 2TI

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 58

1

Cours
Algorithme et Programmation

2TI
2
Sommaire

 Partie 1 : Démarche de résolution de problèmes..........................1


I. Introduction
II. Les étapes de résolution d’un problème

 Partie 2 : Les structures simples.....................................................3


I. L’opération d’entrée
II. L’opération de sortie
III. L’opération d’affectation

 Partie 3 : Les structures de données...............................................6


I. Les constantes
II. Les variables
III. Les types de données
IV. Le tableau à une dimension (Vecteur)

 Partie 4 : Les structures de contrôle conditionnelles....................12


I. La structure conditionnelle simple
II. La structure conditionnelle généralisée
III. La structure conditionnelle à choix

 Partie 5 : Les structures de contrôle itératives...............................16


I. La structure itérative complète
II. La structure itérative à condition d’arrêt

 Partie 6 : Les sous programmes......................................................20


I. Les fonctions
II. Les procédures
Partie 1 : Démarche de résolution de problèmes

Partie 1 : Démarche de résolution de problèmes 1

I. Introduction :
L'ordinateur est une machine électronique utilisé presque dans tous les domaines de vie pour
réaliser des différents types de traitements grâce à de programmes enregistrés dans sa mémoire.
Ces programmes sont élaborés par des informaticiens et pour les réaliser il y a toute une démarche
à suivre commençant par l'énoncé du problème jusqu'à abouti à une solution exécutable sur
machine.

II. Les étapes


Objetde résolution d’un problème
Type/Nature
1. Activité 1:
............... ...............
On se propose
............... de calculer et d’afficher la surface S et le périmètre P d'un rectangle de longueur
...............
Lo et...............
de largeur ...............
La.
a.Spécifier les différentes
............... ...............données nécessaires pour résoudre ce problème
b.Proposer le traitement nécessaire pour avoir le résultat voulu à partir les données
c. Indiquer le résultat à obtenir.
d.Ecrire un algorithme permettant de résoudre ce problème.
e.Implémenter cet algorithme en Python.

 Solution :

 Données :
...........................................................................
...........................................................................
1
Traitement :
............................................................................
............................................................................
Résultat : 2
............................................................................
............................................................................

Algorithme Implémentation en Python

Algorithme Rectangle
Début
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
Fin

 T.D.O : (Tableau de déclaration des objets) Résultat d’exécution


Partie 1 : Démarche de résolution de problèmes
2
2. Activité 2:
On se propose de calculer et d’afficher la moyenne annuelle MA d’un élève ayant les notes
suivants NT1, NT2 et NT3.
a.Spécifier les différentes données nécessaires pour résoudre ce problème
b.Proposer le traitement nécessaire pour avoir le résultat voulu à partir les données
c. Indiquer le résultat à obtenir.
d.Ecrire un algorithme permettant de résoudre ce problème.
e.Implémenter cet algorithme en Python.

Objet
 Solution : Type/Nature
............... ...............
...............
Données : ...............
............... ...............
...........................................................................
............... ...............
...........................................................................
1
Traitement :
............................................................................
............................................................................
Résultat : 2
............................................................................
............................................................................

Algorithme Implémentation en Python

Algorithme Moyenne
Début
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
Fin

 T.D.O : Résultat d’exécution


Partie 2 : Les structures simples

Partie 2 : Les structures simples 3

I. L’opération d’entrée :
1. Définition :
L’opération d’entrée c’est l’instruction qui permet à l’utilisateur de rentrer ou de saisir des
valeurs au clavier pour qu’elles soient utilisées par le programme

2. Exemple :
En Algorithme En Python
Lire (n) n = int (input( ))

3. Remarque :
 Quand on demande à la machine de lire une variable, cela implique que l’utilisateur va
devoir écrire cette valeur.
 Les données qui sont lues doit être compatibles aux variables réservées en mémoire.

II. L’opération de sortie :


1. Définition :
L’opération de sortie c’est l’instruction qui permet au programme de communiquer des
valeurs à l’utilisateur en les affichant à l’écran.

2. Exemple :
En Algorithme En Python
Affichage d’un texte :
Ecrire ("La valeur de n est : ") print ("La valeur de n est : ")
Affichage de contenu d’une variable :
Ecrire (n) print (n)
Affichage mixte (texte et variable) :
Ecrire ("La valeur de n est : ", n) print ("La valeur de n est : ", n)
Affichage avec retour à la ligne :
Ecrire_nl ("La valeur de n est : ", n) print ("La valeur de n est : ", n, "\n")

3. Remarque :
 Quand on demande à la machine d’écrire une valeur, c’est pour que l’utilisateur puisse la
lire.

4. Application :
Ordonner ces instructions pour que l’algorithme affiche le montant m à payer par un client qui
a acheté n cahiers sachant que le prix du cahier est 2500 millièmes et qu’il a une remise r de 10%.

N° d’instruction Instructions
................. Ecrire ("Le montant payé est: ", m)
................. m 2500 * n
................. Ecrire ("Donner la quantité : "), Lire (n)
................. r (10*m)/100
................. m m-r

En déduire le Tableau de Déclaration des Objets (TDO)


Objet Type
............... ......................................
............... ......................................
............... ......................................
Partie 2 : Les structures simples
III. L’opération d’affectation : 4
1. Définition :
L’opération d’affectation c’est une action qui permet d’affecter une valeur à une variable.
Elle est représentée par une flèche orientée vers la gauche «  ».

2. Vocabulaire et syntaxe :
Algorithme Python
Variable  valeur Variable = valeur

3. Exemple :
Algorithme Python Commentaire Résultat
x5 .................... x reçoit 5 x = ...............
ax+3 .................... a reçoit la valeur de l’expression x+3 a = ...............
xx-2 .................... x reçoit la valeur de l’expression x-2 x = ...............

4. Remarque :
 Le type des variables situées à droite doit être de même type ou de type compatible que
celle située à gauche.

5. Application 1 :
Soit la séquence d'affectations suivante :
1) x  10
2) y  8
3) Z  x
4) X  y
5) Y  z

1. Donner le résultat d'exécution de cette séquence sous forme d'un tableau.


N° de l'instruction 1 2 3 4 5 6
X
Y
Z
2. Quelles sont les valeurs finales de x et de y ?
............................................................................................................................................................
3. Quel est le rôle de cette séquence ?
............................................................................................................................................................
4. Quelle est l'utilité de la variable z ?
............................................................................................................................................................
6. Application 2 :
1. Compléter le tableau suivant :
Instruction Valeur de A Valeur de B
A5 ................. .................
B7 ................. .................
AA+B ................. .................
BA-B ................. .................
AA-B ................. .................
2. Quel est le rôle cet ensemble d’instructions ?
............................................................................................................................................................
Partie 2 : Les structures simples
7. Application 3 :
Ecrire un algorithme et son implémentation en Python d’un programme qui permet de 5
permuter les contenus de deux réels a et b.

 Solution :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :

Objet Type/Nature
................... .....................................
................... .....................................
................... .....................................

Application 4
Ordonner ces instructions pour que l’algorithme affiche le montant m à payer par un client
qui a acheté n cahiers sachant quele prix du cahier est 2500 millièmes et qu’il a une remise
r de 10%.
Partie 3 : Les structures données

Partie 3 : Les structures de données 6

I. Les constantes et les variables :

1. Activité 1 :

On se propose de calculer et d’afficher sur l'écran le périmètre P et la surface S d'un cercle de


rayon R. Pour ce fait, on vous demande d'écrire l’algorithme correspondant et son implémentation
en Python.

 Solution :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
................... .....................................
................... .....................................

2. Activité 2 :

Pour chaque rayon donné, calculez la surface et le périmètre du cercle correspondant on


exécutant le programme de l’activité1

PI R S P
3.14 2.5 ................... ...................
3.14 1.25 ................... ...................
3.14 4.5 ................... ...................

 On constate que PI est une constante tandis que R, S et P prennent des valeurs différentes. R, S
et P sont appelés des variables.
Partie 3 : Les structures données
II. Les types de données : 7
1. Le type Entier (int ):
a. Définition :
Le type Entier désigne un sous ensemble des nombres entiers relatifs Z.

b. Les opérations arithmétiques et relationnelles sur les entiers :


Désignation de Priorité des Opérateur en Opérateur en
Exemples
l’opération opérateurs algorithme python
Parenthèses 1 () ()
Multiplication * * 10 * 2 donne 20
Division / / 10 / 2 donne 5.0
Division entière DIV // 10 // 2 donne 5
Reste de la 2
MOD % 10 % 2 donne 0
division entière
Addition + + 10 + 2 donne 12
Soustraction 3 - - 10 - 2 donne 8
Égal à = == 10 == 2 donne False
Différent de ≠ != 10 != 2 donne True
Strictement
< < 10 < 2 donne False
inférieur à
Strictement
> > 10 > 2 donne True
supérieur à 4
Inférieur ou
≤ <= 10 <= 2 donne False
égal à
Supérieur ou
≥ >= 10 >= 2 donne True
égal à
L’appartenance
(entier, 5 ∈ in 10 in [5,7,10] donne True
caractère)

c. Application :
On se propose de saisir un nombre t en seconde et de l'affiche en heure h, minute mn et
seconde s. Pour ce fait, on vous demande de d'écrire l'algorithme correspondant et son
implémentation en Python.
 Exemple : t=4000s le programme affiche : 1 h 6 mn 40 s
 Solution : 8
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
................... .....................................
Partie 3 : Les structures données

2. Le type Réel ( float


): 9
a. Définition :
Le type Réel désigne un sous ensemble des nombres Réels IR.

b. Les opérations arithmétiques et relationnelles sur les réels :


Les mêmes opérations que les entiers sauf DIV et MOD.

c. Les fonctions prédéfinies sur les réels :

Fonctions (en algorithme) Fonctions (en Python) Exemple


Ent (x) int (x) int (3.51) = ...............
round (3.49) = ...............
Arrondi (x) round (x)
round (3.51) = ...............
Abs (x) abs (x) abs (-3) = ...............
RacineCarré (x) sqrt (x) sqrt (25) = ...............
Aléa ( ) random ( ) Renvoie un réel aléatoire de [... , ... [
Aléa (a, b) uniform (a, b) Renvoie un réel aléatoire de [... , ...]
Aléa (m, n) randint (m, n) Renvoie un entier aléatoire de [... , ...]
d. Application :
Ecrire un algorithme d’un programme qui permet de calculer puis d’afficher la distance d
entre deux points A(x1, y1) et B(x2, y2) sachant que d(A,B) = √(x2 − x1)2 + (y2 − y1)2

 Solution :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
................... .....................................

3. Le type Booléen ( ):bool


a. Définition :
Le type booléen comporte deux valeurs Vrai et Faux (True et False en Python).

b. Opérations logiques sur les Booléens :


En Algorithme En Python Rôle
NON NOT Négation
OU OR Disjonction
ET AND Conjonction
Partie 3 : Les structures données
 La table de vérité qui manipule ces opérateurs est : 1
x y NON(x) x ET y x OU y 0
V V ......... ......... .........
V F ......... ......... .........
F V ......... ......... .........
F F ......... ......... .........

c. Application :
Compléter le tableau suivant :

Instruction Résultat Type


A  5+7
B 5-7
C 5*7
D5/7
E5 div 7
F5 mod 7
G5>7
H5≠7
A (2>7) et (-2<5)
B(Alea [1,3]<10) ou (4>2)
Cnon (10≠-2)
4. Le type Caractère ( str ):
a. Définition :
Un caractère (chiffre où lettre où symbole) est représenté le caractère lui-même mis entre
guillemets
 Exemple : "A", "a", "+",…

👓 Remarque :
- Une variable de type caractère contient un caractère est un seul.
- L'espace " " est le caractère blanc.

b. Opération sur les caractères :


Les opérations usuels : +, =, <, >, <=, >=, <>.

 Exemple :
"A" < "B" est une proposition vrai.
"a" >"b" est une proposition fausse.
Car tous les caractères sont ordonnés selon leur code ASCII.

c. Fonctions prédéfinis sur les caractères :


Fonction (en algorithme) En Python Exemples
ORD ("A") = 65
ORD ("E") = ..........
ORD(c) ORD (c)
ORD ("a") = 97
ORD ("d") = ..........
CHR (65) = ..........
CHR (66) = ..........
CHR (n) CHR (n)
CHR (97) = ..........
CHR ( ORD ("E")) = ..........
Partie 3 : Les structures données
👓 Remarque : 1
"x" : désigne le caractère "x". 1
x : désigne l'objet x constant ou variable.

5. Le type chaîne de caractère ( str):


a. Définition :
C'est une succession de n caractère (lettre, symbole, chiffre) avec n ≥ 0.

👓 Remarque :
Si n = 0 alors la chaîne est dite vide ("" : chaîne vide).
Les valeurs chaîne de caractères sont définies entre guillemets

b. Manipulation de chaîne de caractère :


On peut accéder en lecture au ième caractère d'une chaîne Ch en utilisant la notation CH[i] avec 0
≤ i ≤ Long (Ch)-1.

 Exemple : Soit Ch  "Bonjour papa"

 Ch [0] = "B"
 Ch [1] = "o"
 Ch [:3] = "Bon" renvoie les trois premiers caractères
 Ch [3:] = "jour papa" renvoie Ch on élimine les trois premiers caractères
 Ch [::3] = "Bjra"
 Ch [3:7] = "jour" renvoie une sous chaine de Ch de la position 3 jusqu’à la position 7-1=6

c. Fonctions prédéfinis sur les chaînes de caractère:

Fonctions Fonctions
Description
en algorithme en Python
Long (ch) len (ch) Retourne le nombre de caractères de la chaine ch.
Retourne la première position de ch1 dans ch2.
Pos (ch1, ch2) ch2.find (ch1)
Si ch1 n’existe pas dans ch2, retourne -1
Convch(x) str(x) Convertit un nombre x en chaine.
Retourne Vrai si la chaine ch est convertible en
Estnum(ch) ch.isnumeric()
numérique, Faux dans le cas contraire.
Retourne la conversion d’une chaine ch en numérique si
Valeur(ch) int(ch)
c’est possible.
Sous_chaine(ch,d,f) ch[d:f] Retourne une partie de la chaine ch à partir de la position
d jusqu’à la position f exclue.
Effacer(ch, d, f) ch[:d]+ch[f:] Efface des caractèresde la chaine ch à partir de la position
d jusqu’à la position f exclue.
Majus(ch) ch.upper() Convertit la chaine ch en majuscule.

 N.B. : On utilise l’opérateur + pour concaténer deux chaînes.


Partie 3 : Les structures données
III. Le tableau à une dimension (Vecteur) : 1
1. Définition : 2
Un vecteur est une structure de données permettant de ranger un nombre fini d'éléments de
même type.

2. Déclaration d'une variable de type vecteur :


En algorithme Implémentation en Python

 TDO from numpy import array


O T/N T =array ([int ( )] * 20)
T tableau de 20 entiers

 Remarque :
 Un vecteur est une suite de cases mémoire qui peut contenir des valeurs de même type.
 Un vecteur est caractérisé par son nom, sa taille et les types de ses éléments.

3. Accès aux éléments d'un vecteur :


L'accès à chaque élément ce fait par le biais d'un indice.

 Exemple : Soit T un tableau de 10 réels


T 10.50 0.25 6.00 -5.00 32.00 569.00 14.00 11.00 43.00 12.00
0 1 2 3 4 5 6 7 8 9
 1, 2,…10 : des indices.
 T [0] = 10.5
 T [1] = 0.25
 T [9] = 12.00
4. Modifier les éléments d'un vecteur :
 Activité : Soit T un vecteur de 5 entiers
Donner le contenu de chaque élément du vecteur T après l’exécution de séquence
d’instructions suivantes :
 T [1]  20
 T [2]  2
 T [3]  T [1] DIV T [2]
 T [4]  T [3] *5
 T [5]  T [4] + T [3] * T [2]

 Solution :
T 20 2 10 50 70
0 1 2 3 4
Série de révision
1
Instruction Valeur de Valeur de Valeur de Valeur de Valeur de3
A B C D E
A5
B  A+2
B  B+5 mod 2
C  A div B
DC/A
E  (A*A) + (C*B)
BB-E
AA+B-D
1- Compléter le tableau suivant :
2- En déduire les types des objets A, B, C, D et E :
…………………………………………………………………………………………………..

Exercice 2
Compléter le tableau suivant :
Instruction Résultat Type

A  258 div 100

B  258 mod 100 div 10

C  258 mod 100 mod 10

D  258 mod 10

Exercice 3
Ecrire un algorithme qui permet de saisir une note comprise entre 0 et 20.
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
…………………………………………
Exercice 4
1- Compléter le tableau suivant :

Instruction Valeur de A Valeur de B Valeur de C Valeur de D Valeur


de E
A5
B  A+2
B  B+5 mod 2
C  A div B
DC/A
E  (A*A) + (C*B)
BB-E
AA+B-D
2- En déduire les types des objets A, B, C, D et E :
…………………………………………………………………………………………………..
Exercice 5
Compléter le tableau suivant : 1
Instruction Résultat Type 4

A  258 div 100

B  258 mod 100 div 10

C  258 mod 100 mod 10

D  258 mod 10

Exercice 6
Ecrire un algorithme qui permet de saisir une note comprise entre 0 et 20.
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………
…………………………………………

SERIE 2
(Consolidation le type chaine de caractères)
Exercice1 : Pour chaque exemple donner les instructions en algorithme et en python permettant d’afficher son
résultat :
Exemples Instructions en algorithme Instructions en python 1
d ="03/11/2009" …………………………………. …………………………………. 5
Date modifiée = 03-11-09. …………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….

dn="12/06/2018" …………………………………. ………………………………….


12+06+2018 = 2036 …………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….

a=bensalah.ali@Edunet.tn …………………………………. ………………………………….


Nom= bensalah …………………………………. ………………………………….
Prénom= ali …………………………………. ………………………………….
Serveur= edunet …………………………………. ………………………………….
Suffixe= tn …………………………………. ………………………………….
…………………………………. ………………………………….

Exercice n° 2 : Ecrire un algorithme Miroir qui permet de saisir un mot M formé de 5 caractères et d’afficher
l’inverse de mot. Exemple : ‘AMINA’ devient ‘ANIMA’.
Exercice n° 3 : Faire un algorithme qui permet d’inverser un entier N de 3 chiffres.
Exemple : pour N= 528 l’ordinateur affiche « 528 inversé devient 825 »
Exercice N° 4 : Dans cet exercice on va créer un générateur de mot de passe.

Écrire un
algorithme
nommé
" Creer_MP"
et un

programme qui permet de générer un mot de passe formé de 3 caractères puis de l'afficher sachant que :
 Le premier caractère est un chiffre aléatoire.
 Le deuxième caractère est une lettre minuscule aléatoire.
1
 Le troisième caractère est une lettre majuscule aléatoire. 6
Exercice n° 5 :
Faire l’algorithme d’un programme nombre qui permet de saisir une chaîne CH de 3 lettres et d’afficher un
nombre N formé par les codes ASCII des lettres de CH. Exemple : si CH ="AMI" alors N = 657773
Exercice n° 6 :
Ecrire l’algorithme qui crypte un mot en utilisant la méthode suivante :
Permuter le premier et le dernier caractère puis changer le caractère milieu par son code ASCII.
Exemple : Lorsque le mot est "ABC" le programme affichera : Le mot crypté est : C66A
Lorsque le mot est "ALGO" le programme affichera : Le mot crypté est : OL71A
Exercice n° 7 :
Soit C et CH deux variables données tel que C est un caractère et CH est une chaîne de caractères. On se
propose d’afficher un message : C existe dans CH ou non.
Exemples : Pour C = ˝y˝ et CH = ˝python˝, le programme affichera : y existe dans python.
Pour C = ˝a˝ et CH = ˝python˝, le programme affichera : a n’existe pas dans python.
Exercice n° 8 :
Soit C et CH deux variables données tel que C est un caractère et CH est une chaîne de caractères. On se
propose d’afficher la deuxième position de C dans CH.
Exemples : Pour C = ˝m˝ et CH = ˝programmation˝, le programme affichera : La deuxième position est 7
Pour C = ˝a˝ et CH = ˝programmation˝, le programme affichera : La deuxième position est 8
Pour C = ˝t˝ et CH = ˝programmation˝, le programme affichera : La deuxième position est -1
Pour C = ˝d˝ et CH = ˝programmation˝, le programme affichera : La deuxième position est -1
Partie 4 : Les structures contrôle conditionnelles

Partie 4 : Les structures de contrôle conditionnelles 1


7
I. La structure de contrôle conditionnelle simple :
1. Activité 1 :
Ecrire un programme qui permet de saisir un entier n et d’afficher leur parité (paire ou
impaire)
 Exemples :
 25 est impaire
 36 est paire
D’après sur ce qu’on a déjà vu, on ne peut pas résoudre ce type de problème car on a
amènera à décider si l’entier n est paire ou impaire, donc on a intérêt de définir une nouvelle
structure qui permet de résoudre ce problème.
2. Définition :
La structure de contrôle conditionnelle simple est une structure algorithmique qui fait appel
à au maximum deux traitements suivant le résultat de l’évaluation d’une seule condition (vrai /
faux).
3. Vocabulaire et syntaxe :
Algorithme Implémentation en Python
Si condition alors if condition :
<traitement 1> <traitement 1>
Si non else :
<traitement 2> <traitement 2>
Fin Si

4. Remarque :
 Lorsque l'évaluation de la condition produit la valeur :
- Vrai : les instructions entre Alors et Fin Si sont exécutées.
- Faux : les instructions entre Alors et Fin Si ne sont pas exécutées.
 La condition peut être simple ou composée.
 Si traitement 2 est vide, on parle de structure conditionnelle simple réduite qui à la
syntaxe suivante :
Algorithme Implémentation en Python
Si condition alors if condition :
<traitement 1> <traitement 1>
Fin Si

2. Solution de l’activité 1 :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
Partie 4 : Les structures contrôle conditionnelles

II. La structure de contrôle généralisée : 1


1. Activité 2 : 8
Ecrire un programme qui permet de saisir un entier n et d’afficher leur signe (strictement
positif, strictement négatif ou nul).
 Exemples :
 5 est positif
 -9 est négatif
 0 est nul
Remarquez bien qu’on a plus que deux traitements donc on a intérêt de définir une nouvelle
forme de structure de contrôle conditionnelle qui nous permet de résoudre ce type de
problème.
2. Définition :
La forme généralisée est utilisée lorsqu'on a le choix entre plus que deux traitements suivant
les résultats des les évaluations des plus que deux conditions.

3. Vocabulaire et syntaxe :
Algorithme Implémentation en Python
Si condition1 alors if condition1 :
<traitement1> <traitement 1>
Sinon Si condition2 alors elif condition2 :
<traitement2> <traitement 2>
… ...
Sinon Si conditionN-1 alors elif condition N-1 :
<traitement N-1> <traitement N-1>
Sinon else :
<traitement N> <traitement N>
Fin Si

4. Remarque :
 L’exécution d’un traitement entraîne automatiquement le non exécution des autres
traitements.
 La condition peut être simple ou composée.

5. Solution de l’activité 2 :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :

Objet Type/Nature
................... .....................................
................... .....................................
Partie 4 : Les structures contrôle conditionnelles

6. Application : 1
Ecrire un algorithme qui permet de saisir le numéro du jour puis afficher son nom (1 9
Dimanche ; 2  Lundi ; … ; 7  Samedi)

7. Solution de l’application :

Algorithme Implémentation en Python


............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................

III. Structure de choix :


1. Activité 3 :
Regardez dans la solution de l’application précédente et remarquez que la structure
conditionnelle généralisée est trop longue bien que les conditions portent sur une seul variable,
donc on a intérêt de définir une nouvelle structure qui offre une meilleure lisibilité dans ce cas.
2. Définition :
Cette forme peut remplacer la forme généralisée dans le cas ou les conditions portent sur
une variable ou une expression de type scalaire.

3. Vocabulaire et syntaxe :

Algorithme Implémentation en Python


Selon sélecteur faire match sélecteur :
valeur 1 : <traitement 1> case valeur 1 :
valeur 2 : <traitement 2> <traitement 1>
… case valeur 2 :
Sinon <traitement 2>
<traitement N> …
Fin Selon case_ :
<traitement N>

4. Remarque :
 Cette structure offre une meilleure lisibilité de la solution que la forme généralisée.
 Le sélecteur doit être de type scalaire discret et non réel.
 Chaque bloc peut comporter une ou plusieurs instructions.
 La clause sinon et son traitement sont facultatifs dans la structure.
Partie 4 : Les structures contrôle conditionnelles
2
5. Solution de l’activité 2 avec la structure de choix :
0
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................

 T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
Serie 3 les structures conditionnelles

2
Exercice 1 1
En classe, un enseignant a donné un exercice permettant de saisir un réel x puis calculer
f(x).
La fonction f définie sur R par :

Un élève propose la solution algorithmique suivante :


algo ex1 Début
Lire (x)
Si x < 1 alors res  3*x-2 FinSi
Si (x >= 1) et (x <= 2) alors res  x*x Sinon res  2*x
FinSi Ecrire (res) Fin.
1-L’exécution de l’algorithme va conduire à des résultats erronés. Expliquer en donnant des exemples
.....................................................
.....................................................
....................................................

2- Rédiger correctement l’algorithme.

Exercice 2
On donne le programme suivant
v=int(input('donner la valeur de n= '))

if (((v > 1)and(v <= 2))or((v >= 4)and(v <= 6))):

if ((v>2)and(v<4))or((v > 5)and (v<=9)):

print('Une nouvelle faculté de médecine bientôt à Médenine!') else :


if ((v >=3)and(v <= 4)): print(' Train à
Medenine!')
else :
print('Hhhrrrrrrrrrrraaaaaaaaaaaaaeeeerrrrrrr')

1- Pour les valeurs suivantes de v, le programme va-t-il, oui ou non, afficher «


Hhhrrrrrrrrrrraaaaaaaaaaaaaeeeerrrrrrr »
(NB : au cas où vous ne l’auriez pas reconnu, il s’agit d’un medninien qui chante sous la douche) ?
v = 1 oui / non v = 2 oui / non v
= 3 oui / non v = 4 oui / non
2- Qu’est-ce que le programme affichera pour v = 2 ?
................................................
3- Qu’est-ce que le programme affichera pour v = 4
................................................
4- Donnez toutes les valeurs de v qui garantissent l’affichage de « Une nouvelle faculté de
médecine bientôt à Médenine!»
................................................
5- Par quelle condition plus simple remplacez-vous la condition soulignée ?
2
................................................ 2

Afin de faciliter l’apprentissage de table de multiplication de 9.Voici une


méthode avec les mains, très simple et bien sympathique !...On commence
par poser les paumes des mains à plat devant soi :

Ensuite, pour obtenir les résultats de la table de 9, on va replier un doigt, en partant de la


gauche, en fonction du multiplicateur de 9... Le nombre de doigts non repliés à gauche du
doigt replié indique les dizaines... Le nombre de doigts non repliés à droite du doigt replié
indique les unités...

Exemple 1 : Pour 2 x 9 :
(Je plie le deuxième doigt en partant de la gauche)

Exemple 2 : Pour 8 x 9 :
(Je plie le huitième doigt en partant de la gauche)

Ecrire l’algorithme d’un programme qui permet de saisir un entier n (1<=n<=10)


puis simuler cette méthode de multiplication par 9 pour afficher le résultat de n*9
…………………………………………………………………………………..…………………
………………………………………………………………..……………………………………
……………………………………………..………………………………………………………
…………………………..…………………………………………………………………………
………..…………………………………………………………………………………..………
…………………………………………………………………………..…………………………
………………………………………………………..……………………………………………
……………………………………..………………………………………………………………
…………………..…………………………………………………………………………………
..…………………………………………………………………………………..………………
…………………………………………………………………..…………………………………
………………………………………………..……………………………………………………

Exercice 4 :
Écrire L’algorithme d’un programme intitulé VERIFICATION, qui permet de lire un entier A (supposé
positif et composé de trois chiffres) et d'afficher :
1°/ "égaux" si les chiffres de A sont égaux.
2°/ "croissante" si les chiffres de A forment une progression croissante. On prendra comme sens : de
gauche à droite.
3°/ "décroissante" si les chiffres de A forment une progression décroissante. On prendra comme
sens : de gauche à droite.
4°/ "rien" dans le cas où il ne forme pas une progression croissante ou décroissante et il n’est pas
formé de même chiffre.

Exemples :
- Le nombre 222 a des chiffres égaux.
- Les nombres 123, 677 et 226 ont des chiffres en progression croissante.
- Les nombres 321, 866 et 441 ont des chiffres en progression décroissante.
- Le nombre 187  le programme affiche rien. 2
3
Exercice 5
Ecrire un programme Pascal intitulé LENDEMAIN, qui saisit une date quelconque (jj
/mm /aa) et affiche la date du lendemain
Exercice 6
Ecrire l’algorithme d’un programme qui permet de résoudre une équation de second degré sous la
forme a*x2+b*x+c=0 (avec a, b et c trois réels donnés)
Exercice 7
Considérons des nombres entiers à trois chiffres de 111 à 999. Certains de ces nombres peuvent
représenter une date contenant le jour et le mois. (Admettons que le février ne comporte que 28 jours.)
Exemples 313 représente le 31 mars, 112 représente le 11février ou bien le 1 décembre, 349 ne
représente aucune date.

Ecrire l’algorithme d’un programme qui permet de saisir un entier positif de 3 chiffres et afficher les
dates représentés par cet entier.
Exercice 8
Ecrire l’algorithme d’un programme qui permet de saisir un caractère c puis afficher la nature de ce caractère
(nature : Lettre (voyelle ou consonne), chiffre ou symbole).

Exercice 9
Ecrire un algorithme qui permet de saisir un entier composé de 3 chiffres et de vérifier s’il est cubique. Un
entier naturel de 3 chiffres est dit cubique s’il est égal à la somme des cubes de ses trois chiffres. (2
méthodes).
Exemples : 153 est cubique car 153=13+53+33, 300 n’est pas cubique car 300 ≠ 33+03+03 (=27)

Exercice 10
Analyser et écrire un programme qui permet d’afficher le nombre de jour nj d’un mois M donné , il faut
prendre en compte le mois de février (l’année sera donnée)
Exemple:
M=1 la résultat nj=31
Partie 5 : Les structures contrôle itératives

2
4
Partie 5 : Les structures de contrôle itératives
I. La structure itérative complète : la boucle [Pour … Faire] :

1. Activité 3 :
Ecrire un programme qui permet d’afficher le mot « hello world» 1000 fois.
 Le nombre de répétition de l’instruction [Ecrire (" Informatique ")] est très grand ce qu’il est
impossible d’écrire ces nombres d’instructions donc on a intérêt de définir une nouvelle
structure appelé la structure de contrôle itérative complète que nous permet de répété
l’exécution d’une instruction un nombre connu de fois.

2. Définition :
La structure itérative complète Pour … Faire est utilisée lorsqu'on a un nombre de
répétition connu à l’avance d’un traitement donné.
3. Vocabulaire et syntaxe :

Algorithme Python
Pour <compteur> de <Vi> à <Vf> Faire for <compteur> in range (Vi, Vf):
<traitement1> <traitement1>
Fin pour

4. Remarque :
 Le compteur est une variable de type scalaire énuméré (généralement entier ou caractère) et
sa pas d’incrémentation est par défaut de 1.
 Le compteur est initialisé à sa valeur initiale Vi et passe à sa valeur suivante après chaque
répétition jusqu'à attendre la valeur finale Vf.
 Vi et Vf sont de même type ou de type compatible que le compteur.
 Si on utilise range(Vf) alors la valeur initiale Vi =0
 Si on utilise range(Vi, Vf, P) alors sa pas d’incrémentation devient de valeur P
 Dans toutes les structures, chaque traitement peut comporter une ou plusieurs instructions.

5. Solution de l’activité 3 :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :

Objet Type/Nature
................... .....................................
Partie 5 : Les structures contrôle itératives

2
5
II. La structure itérative à condition d'arrêt : La boucle [Répéter … Jusqu'à] :

1. Activité 4 :
Ecrire un programme qui permet de saisir un mot de passe et confirmer à nouveau jusqu’à
avoir le mot de passe est confirmé correctement.

 Si on utilise les structures de contrôles conditionnelles l’utilisateur peut se tromper dans la


saisir de mot de passe, d’où la nécessité d’une nouvelle structure appelé la structure de
contrôle itérative à condition d’arrêt que nous permet de répété l’exécution d’une
instruction un nombre inconnu de fois.

2. Définition :
La structure Répéter … Jusqu’à est utilisée lorsqu'on a dans le cas ou le nombre de répétition
d’un traitement donné est inconnu et que le traitement sera exécuté au moins une fois.

3. Vocabulaire et syntaxe :

Algorithme Implémentation en Python


Répéter While Not <condition de sortie> :
<traitement> <traitement>
Jusqu'à <condition de sortie>

4. Remarque :
 La condition d‘arrêt est considérée comme une condition de sortie de la boucle car, une fois
elle est vérifier on quitte la boucle.
 La condition de sortie de la boucle peut être simple ou composée.
 La boucle Répéter … Jusqu’à est une structure adaptée pour le contrôle de la saisie des
données. Elle impose l’utilisateur d’entrer des données qui vérifient certaines contraintes.
 S’il y a un éventuel compteur, il faut l’initialiser avant la boucle pour assurer son avancement
dans la boucle.

5. Solution de l’activité 4 :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :

Objet Type/Nature
................... .....................................
................... .....................................
Partie 5 : Les structures contrôle itératives
6. Application :
2
Soit l’algorithme suivant :
6
Algorithme
Algorithme Inconnu
Début
Répéter
Ecrire(Saisir n :), lire (n)
Jusqu’à (10≤n≤99)
C  n div 10
D  n mod 10
S  C + D * 10
Ecrire(S=,S)
Fin

a. Exécuter manuellement cet algorithme pour les valeurs suivantes :


 n=23
N C D S

 n=46
N C D S

b. Déduire le rôle de cet algorithme :


............................................................................................................................................................
III. La structure itérative à condition d'arrêt : La boucle [Tant que … Faire] :
1. Activité 5 :
On se propose de chercher le PGCD (plus grand commun diviseurs) de deux entiers m et n
par la méthode de la différence.
Pour mieux comprendre la méthode, prenons un exemple: si m=10 et n=16
PGCD (10, 16) = PGCD (10, 16-10)
= PGCD (10-6, 6)
= PGCD (4, 6-4)
= PGCD (4-2, 2)
=2
 Le nombre de répétition est inconnu donc impossible d’opter pour la boucle Pour … Faire
 Voyons s’il est possible d’utiliser la boucle Répéter … Jusqu’à.
Algorithme
Algorithme PGCD Dans le cas ou m=n nous sommes amenés vers
Début une boucle infinie. Dans ce cas il faut que nous
Ecrire ("m= "), Lire (m) n’entrions pas dans la boucle dés que la
Ecrire ("n= "), Lire (n) condition m=n est vérifiée. Donc on a intérêt
Répéter des définir une nouvelle structure qu’elle peut
Si m>n Alors résoudre ce type de problème.
Mm-n
Sinon
Nn-m
Fin Si
Jusqu’à (m=n)
Ecrire ("PGCD = ", m)
Fin
Partie 5 : Les structures contrôle itératives
2
2. Définition : 7
La structure Tant que … Faire est utilisée lorsqu'on a dans le cas ou le nombre
de répétition d’un traitement donné est inconnu et que le traitement sera exécuté
zéro ou un nombre variable de fois.
3. Vocabulaire et syntaxe :

Algorithme Python
Tant que <condition d’entrée> Faire while <condition d’entrée> :
<traitement 1> <traitement 1>
Fin Tant que
Objet Type/Nature
4. Remarque :
................... .....................................
 La condition
................... d‘arrêt est considérée comme une condition d’entrée car,
.....................................
tant que elle est vérifier on itère encore jusqu’à sa non vérification.
 La condition d’entrée dans la boucle peut être simple ou composée.
 S’il y a un éventuel compteur, il faut l’initialiser avant la boucle pour assurer
son avancement dans la boucle.

5. Solution de l’activité 5 :

Algorithme Implémentation en Python


............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................

 T.D.O :

27
Série N° 5 – Parcours des chaines de caractères Boucle For et Str. cond.

Exercice N°1 :
2
Ecrire un algorithme puis un script python qui permet de saisir une chaine « ch » non8 vide
puis d’afficher le nombre de lettres « nl », le nombre de chiffres « nc », le nombre de signes de
ponctuation « np » ainsi que le nombre de symboles « ns » qui existent dans cette chaine.
Exemple : ch=’’A7b!2-M5’’ le programme affichera : Le nombre de lettres = 3
Sachant les signes de ponctuation Le nombre de chiffres = 3
Sont [ ‘’.’’ , ‘’ :’’, ‘’,’’ , ‘’ ;’’, ‘’ !’’, ‘’ ?’’ ] Le nombre de symboles = 1
Le nombre de signes = 1
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..…………
…………………………………………..…………
…………………………………………..…………
…………………………………………..………… …………………………………………..…………
…………………………………………..…………
…………………………………………..…………
…………………………………………..…………
…………………………………………..…………
…………………………………………..…………

Exercice N°2 :
Soit le script python suivant :
from random import *
ch ="la vie est belle."
c=choice(ch) c="e" cpt=0
cpt =0 i 0 1 2 3 4 5 10
for i in range (0, len (ch) ) : cpt
if ch[i] ==c :
cpt final affiché : ….
cpt +=1
print(cpt)
 Compléter le tournage à la main de ce script avec c=’’e’’ et ch=’’la vie est belle.’’
 Déterminer le rôle de ce script :………………………………………………………………………
……………………………………………………………………………………………………………………
 Donner la fonction équivalente en Python permettant d’afficher le même résultat :
…………………………………………………………… 28
Série Exécution manuelle
2
Exercice 1 (X est de type entier) 9
Début Exercice 2 (X est de type entier)
Ecrire(″X=″), lire(X) Début
U  X mod 10 Ecrire(″X=″), lire(X)
D  X div 10 Si (X mod 2=0) alors
Y  U*10+D X  X div 2
Ecrire(″Y=″,Y) Fin si
Fin Si (X mod 5=0) alors
1- Exécuter manuellement pour X=25 XX*2
2- En déduire le rôle. Fin si
Ecrire(″X=″,X)
Fin
Exécuter manuellement pour X=20, X=14, X=25 et X=9

Exercice 3 (X est de type entier) Début


Début Ecrire(″X=″), lire(X)
Ecrire(″X=″), lire(X) Ecrire(″Y=″), lire(Y)
Si (X mod 2=0) alors Ecrire(″Z=″), lire(Z)
X  X div 2 Si (X>2*Z) alors
Sinon Y  X-2*Z
XX*2 Sinon si (X>Z) alors
Fin si Y  X+Z
Ecrire(″X=″,X) X  X-2
Fin Z  Y+4+X
Exécuter manuellement pour X=20, X=14, X=25 et X=9 Sinon
YZ
Fin si
Ecrire(″X=″,X, ″Y=″,Y, ″Z=″,Z)
Fin
Exécuter manuellement pour :
 X=2, Y=3, Z=5
 X=17, Y=1, Z=4
 X=10, Y=1, Z=5
Exercice 4 (X, Y et Z sont de type entier)

Exercice 5 (ch et ch1 sont de type chaîne, c est de i  2, ch  ″″


type caractère) Répéter
Début Si (n mod i =0) alors
Ecrire(″ch=″), lire(ch) n  n div i
Ecrire(″c=″), lire(c) ch  ch + convch(i)+″*″
Ch1  ″″ Sinon
Pour i de 0 à long(ch)-1 faire i  i+1
Si (ch[i]≠c) alors Fin si
ch1  ch1+ch[i] Jusqu’à(n=1)
Fin si Ecrire(″ch=″, sous chaîne(ch,0,long(ch)-1)
Fin pour Fin
Ecrire(″ch1=″,ch1)
Fin
1- Exécuter manuellement pour ch=″poisson″ et
c=″s″
2- En déduire le rôle de cet algorithme

Exercice 6 (n et i sont de type entier, ch est de type


chaîne)
Début
Ecrire(″n=″), lire(n)

29
Exercice 7 (x, y, p et k sont des entiers)
Exécuter manuellement ces algorithmes : 3
x8 p0 p0 x5 0
répéter Tant que p <5 faire Tant que p> 5 faire répéter
xx+2 pp+2 pp+5 xx+2
yx*2 Fin Tant que Fin Tant que kx*2
jusqu’à y>25 jusqu’à k <30

x= y= p= p= x= k=
Nombre d’itérations : Nombre d’itérations : Nombre d’itérations : Nombre d’itérations :

30
Partie 6 : Les sous programmes

Partie 6 : Les sous programmes 3


1

I. Introduction :
Nous avons vu jusqu’à maintenant les différentes structures nécessaires pour résoudre un tel
problème, mais dés que le nombre de traitements augmente le problème devient très complexe
et difficile à résoudre.

A fin de faciliter la résolution d’un problème complexe et de grande taille, on a intérêt à le


décomposer en sous problèmes indépendants et de taille réduite. A chaque sous problème on
associe un module assurant sa résolution qu’il peut être une fonction ou une procédure.
II. Les fonctions :
1. Activité 1 :
Ecrire un algorithme et son implémentation en Python d’un programme qui permet de
calculer puis d’afficher le nombre de combinaison de P objets parmi N.
C NP = N! / (P!(N-P)!) ; N, P sont deux entiers strictement positifs avec N≥P.

 Remarque :
 On constate que le calcul de N !, P ! et (N-P) ! se fait de la même manière et le traitement
qui calcule la factorielle se répète trois fois et bien sur le programme dévient très long.

 Donc on a besoin de définir un nouvel outil pour éliminer cette redondance.

2. Vocabulaire et syntaxe :

Algorithme
Fonction Nom_fonction (pf1: type1, pf2: type2, … , pfn : typen) : Type_résultat
DEBUT
<Traitement>
Retourner Résultat
FIN

Implémentation en Python
def Nom_fonction (pf1, pf2 , … , pfn ) :
<Traitement>
return Résultat

31
Partie 6 : Les sous programmes
3. Solution de l’activité 1 :
3
Algorithme Implémentation en Python 2
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :
Objet Type/Nature
................... .....................................
.............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O : .............................................................................
Objet Type/Nature
................... .....................................

4. Caractéristiques
 Une fonction est un sous programme qui retourne une valeur d’un type identique à celui de
la fonction.
 Une fonction comporte des paramètres autres que le résultat.
 Retenons qu’une fonction est essentiellement un module de calcul et de renvoi une seule
valeur d’un type simple.

5. Remarque :

 Tout nouvel objet utilisé dans une fonction est appelé objet local.
 Tout objet déclaré dans le programme principal est appelé objet global.
 L’appel d’une fonction peut être effectué au niveau du programme principal ou au niveau
d’un module appelant.
 Les paramètres formels qui figurent dans l’en tête de la déclaration de la fonction et
correspondent à des variables locales utilisés dans son corps.
 Les paramètres effectifs utilisés dans l’instruction d’appel de la fonction et sont substitués
aux paramètres formels au moment de l’appel.
 Evitez d’y insérer les actions d’entrée et de sortie.

32
Partie 6 : Les sous programmes

III. Les procédures : 3


3
1. Activité 2 :
Ecrire un algorithme et son implémentation en Python d’un programme qui permet de saisir
3 entiers a, b et c puis les affichés avec a suivi de a étoiles et b suivi de b étoiles et c suivi de c
étoiles.

 Remarque :
 On ne peut pas utiliser des fonctions comme solution car une fonction est essentiellement
un module de calcule. Donc on a besoin de définir une autre manière de décomposition.

2. Vocabulaire et syntaxe :

Algorithme
Procédure Nom_procédure (pf1: type1, pf2: type2, … , pfn: typen)
DEBUT
<Traitement>
FIN

Turbo Pascal
def Nom_procédure (pf1, pf2, … , pfn) :
<Traitement>

3. Solution de l’activité 2 :

Algorithme Implémentation en Python


............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O :

Objet Type/Nature
................... .....................................

............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
 T.D.O : .............................................................................

Objet Type/Nature
................... .....................................

33
Partie 6 : Les sous programmes

4. Remarque : 3
4
 Tout nouvel objet utilisé dans une procédure est appelé objet local.
 Tout objet déclaré dans le programme principal est appelé objet global.
 L’appel d’une procédure peut être effectué au niveau du programme principal ou au
niveau d’un module appelant.

5. Les paramètres :

a. Les types de paramètres :


Il existe deux types de paramètres :
 Les paramètres formels qui figurent dans l’en tête de la déclaration de la
procédure et correspondent à des variables locales utilisés dans son corps.
 Les paramètres effectifs utilisés dans l’instruction d’appel de la fonction et sont
substitués aux paramètres formels au moment de l’appel.
b. Les modes de passages des paramètres :
La substitution des paramètres effectifs aux paramètres formels s’appelle mode de
passage de paramètres. Il existe deux modes de passages de paramètres :

 Passage par valeur :


Dans ce cas, toute modification des paramètres formels n'a aucun effet sur les
paramètres effectifs.
Le transfert de l'information se fait toujours du programme appelant vers le
programme appelé.

 Passage par variable :


Dans ce cas, toute modification portés sur le paramètre formel est la même sur le
paramètre effectif. Le transfert d'information entre le programme appelant et le
programme appelé se fait dans le 2 sens.

c. Remarque :

 Avec les fonctions on utilise toujours le passage de paramètre par valeur.


 Comment choisir le mode de passage de paramètre ?
 Si le paramètre est modifié par la procédure (lecture ou affectation) alors on
choisit le passage par variable.
 Si le paramètre n'est pas modifié par la procédure (affichage ou le paramètre est
utilisé comme donné pour faire un traitement quelconque) alors on utilise le
passage par valeur.
 Si le mode de passage est par variable (par référence, par adresse), on ajoutera le symbole @
avant le nom du paramètre.
Série5 : Les sous programmes
Une solution modulaire est exigée pour résoudre chacun des problèmes suivants 3
Exercice 1 : 5
Ecrire programme qui permet de :
 Saisir un entier n (2<n<15)
 Remplir 2 tableaux A et B par n entiers strictement positifs chacun
 calculer et afficher le produit scalaire PS de A et B en utilisant la formule suivante :
PS=A[0]*B[0]+A[1]*B[1]+A[2]*B[2]+…+ A[n-1]*B[n-1]
Exercice 2 :
Ecrire programme qui permet de :
 Saisir un entier n (2<n<21) ;
 Remplir un tableau T par N lettres majuscules de façon aléatoire et automatique
 Remplir un tableau R par n chiffres binaires (0/1) de façon aléatoire et automatique
 Déterminer et afficher la chaîne formée par la liste des voyelles de T tel que R[i]=1
Exemple : si n=9 et
T= A U X E J A M U P
0 1 2 3 4 5 6 7 8
R= 0 0 1 1 0 1 0 1 1
0 1 2 3 4 5 6 7 8
Alors la chaîne affichée sera : « EAU »
Exercice 3:
Soit T1 un tableau de n chaînes non vides (3≤n≤25). On se propose de remplir un tableau T2 à partir de T1 de
sorte que T2[i] soit la somme des chiffres qui existent dans T1[i]. si T1[i] ne contient aucun chiffre alors T2[i]
sera égal à -1.
Exemple : si n=4
et T1= Rh6E&4 /.µµ0HY Ertyu Sdfg12

T2= 10 0 -1 3
0 1 2 3
Ecrire un programme qui permet de réaliser le travail demandé et afficher le contenu du tableau T2.
Exercice 4:
Ecrire un programme qui permet de :
 Remplir un tableau T par N chaînes de caractères non vides (3≤n≤20)
 Remplir un tableau R à partir de T de sorte que R[i] soit le nombre des voyelles de T[i]
 Chercher le maximum de R
 Afficher le maximum trouvé ainsi que tous les éléments de T ayant un nombre de voyelles égales au
maximum
Exemple : si n=5 et
T= Eau Bébé souris içi Jolie
0 1 2 3 4
Alors 3 0 3 2 3
R=
0 1 2 3 4
Alors le programme affichera : le maximum est 3 ; la liste des chaînes de T qui ont un nombre de voyelles égal
au maximum sont : Eau, souris et Jolie
Exercice 5 :
Ecrire un programme qui permet de remplir un tableau A par n entiers supérieurs à 100 (5<n<21), puis afficher
tous les éléments de A qui sont formés par des chiffres distincts.
Exemple :
Si n=8 et A= 43876 87778 1002 8653 123 676554 9800 9102 7768 90000
Alors le programme affichera les entiers suivants : 43876 ; 8653 ; 123 ; 9102
Exercice 6 :
3
Ecrire un programme qui permet de : 6
 remplir un tableau A par n chaines de caractères non vides (3<n≤20)
 remplir un tableau B à partir de A de sorte que B[i] est la chaine des lettres de A[i] écrites en majuscules
 Afficher les chaines non vides et palindromes de B
Exemple :
Pour n=7 et le tableau A suivant :
gYT(-9 8E, 987 :;, , ;H09 S43EZ6Hd§ 34567 Kf/.fk ?ù
%LLe
1 2 3 4 5 6 7
On obtient le tableau B suivant :
GYT ELLE H SEZHD KFFK
1 2 3 4 5 6 7
Et donc le programme affiche de B les chaines palindromes suivantes : ELLE, H et KFFK
Module 2 : Communication et technologies Internet
Chapitre 1 : Le langage HTML5
Activité 1 : Lancer dreamweaver puis saisir le code ci-dessous et l’enregistrer sous le nom page1.html 3
7
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title> Ma première page web </title>
</head>
<body>
<h1>Bienvenue sur OpenClassrooms !</h1>
<p>Bonjour et bienvenue sur mon site : OpenClassrooms.<br>
OpenClassrooms, qu'est-ce que c'est ?</p>
<h2>Des cours pour débutants</h2>
<p>OpenClassrooms vous propose des cours destinés aux débutants : aucune connaissance n'est requise pour lire ces
cours !</p>
<hr>
<p>Vous pourrez ainsi apprendre, sans rien y connaître auparavant, à créer un site web, à programmer, à construire
des mondes en 3D !</p>
</body>
</html>

I) Qu'est-ce que le HTML ?


 HTML signifie Hyper Text Markup Language
 HTML est le langage de balisage standard pour la création de pages Web
 HTML décrit la structure d'une page Web
 HTML se compose d'une série d'éléments
 Les éléments HTML indiquent au navigateur comment afficher le contenu
 Les éléments HTML étiquettent des éléments de contenu tels que "ceci est un titre", "ceci est un
paragraphe", "ceci est un lien", etc.
II) Structure d’un document HTML5
 déclaration <!DOCTYPE html> définit que ce document est un document HTML5
La
 L'élément <html> est l'élément racine et il définit l'ensemble du document HTML.
 L'élément <head> contient quelques informations générales sur la page, comme son titre, l'encodage
(pour la gestion des caractères spéciaux), etc.
 <html lang="fr"> : cette balise permet d’indiquer clairement la langue du contenu de la page web.
 <meta charset="UTF-8"> : cette balise indique l'encodage utilisé dans votre page web. UTF-8. Cette
méthode d'encodage permet d'afficher sans aucun problème pratiquement tous les symboles de toutes les
langues de notre planète.
 L'élément <title> spécifie un titre pour la page HTML (qui s'affiche dans la barre de titre du navigateur ou
dans l'onglet de la page)
 L'élément <body> définit le corps du document et est un conteneur pour tous les contenus visibles, tels
que les titres, les paragraphes, les images, les hyperliens, les tableaux, les listes, etc.
III) Qu'est-ce qu'un élément HTML ?
Un élément HTML est défini par une balise de début, du contenu et une balise de fin :
< balise > Le contenu va ici... < /balise >
L' élément HTML est tout, de la balise de début à la balise de fin :
 < h1 > Ma première rubrique < /h1 >
 < p > Mon premier paragraphe. < /p >
IV) Éléments HTML imbriqués : Les éléments HTML peuvent être imbriqués (cela signifie que les
éléments peuvent contenir d'autres éléments).
TP 2 : Texte en HTML5
Problème : Créer en html5 un texte comme présenté ci-dessous : 3
8

Solution
:
<!DOCTYPE html>
<html>
<head>
<meta charset = "UTF-8">
<title> TP2 : organiser un texte </title>
</head>
<body>
<h1> HTML5 </h1>
<p> <strong>HTML5</strong> <mark>(HyperText Markup Language 5) </mark>est la dernière révision
majeure du HTML <br>(format de données conçu pour représenter les pages web).</p>
<p>Cette version a été finalisée le <em>28 octobre 2014.</em></p>
<h3> Évolution du langage : </h3>
<ol type="1">
<li> 1989-1992 : Origine </li>
<li> 1993 : HTML 1.0 </li>
<li> 1995-1996 : HTML 2.0 </li>
<li> 1997 : HTML 3.2. et 4.0 </li>
<li> 2000 : XHTML </li>
<li> De 2007 à nos jours : HTML 5 et abandon du XHTML 2 </li>
</ol>
<dl>
<dt> HTML </dt>
<dd> Hyper Text Markup Language </dd>
<dt> XHTML </dt>
<dd> Extensible Hyper Text Markup Language </dd>
</dl> </body></html>
I) Balises de structuration du texte
Balise Résultat
<p> paragraphe 1 </p> paragraphe 1 3
<p> paragraphe 2 </p> paragraphe 1 9

<p> Ligne 1 <br /> Ligne 2 </p> Ligne 1


Ligne2
<strong> Mise en valeur forte Mise en valeur forte
</strong>
<em> Mise en valeur normale </em> Mise en valeur normale
<mark>Mise en valeur visuelle Mise en valeur visuelle
</mark>
<p> paragraphe 1 </p> paragraphe 1
<hr />
<p> paragraphe 2 </p> paragraphe 1
<h1> Titre niveau 1</h1>
Titre de niveau 1
<h2> Titre niveau 2</h2> Titre de niveau 2
<h3> Titre niveau 3 </h3> Titre de niveau 3
<h4> Titre niveau 4</h4> Titre de niveau 4
<h5> Titre niveau 5 </h5> Titre de niveau 5
<h6> Titre niveau 6 </h6> Titre de niveau 6
II) Balises de listes
1) Liste ordonnée
Balise Résultat
<ol>
<li>Liste n°1</li> 1. Liste n°1
<li>Liste n°2</li> 2. Liste n°2
<li>Liste n°3</li> 3. Liste n°3
</ol>
2) Liste non ordonnée
Balise Résultat
<ul>
<li>Liste n°1</li>  Liste n°1
<li>Liste n°2</li>  Liste n°2
<li>Liste n°3</li>  Liste n°3
</ul>
3) Une liste de description, avec des termes et des descriptions :

Balise Résultat
<dl>
<dt> HTML </dt>
<dd> Hyper Text Markup Language </dd>
<dt> XHTML </dt>
<dd> Extensible Hyper Text Markup </dd>
</dl>
Application : Créer en html5 un texte comme présenté ci-dessous :
4
0

 Pour mettre un texte bien en valeur, on utilise la balise <strong> qui signifie « fort », ou
« important » si vous préférez. La balise <strong> ne signifie pas « mettre en gras » mais «
important ». On pourra décider plus tard, en CSS, d'afficher les mots « importants » d'une
autre façon que le gras si on le souhaite.
 Pour mettre un peu en valeur votre texte, vous devez utiliser la balise <em> </em>
 Par défaut, <mark> a pour effet de surligner une portion de texte. L'extrait n'est pas
forcément considéré comme important mais on veut qu'il se distingue bien du reste du texte
 La balise <dl> définit une liste de description. La balise <dl> est utilisée conjointement
avec <dt> (définit les termes/noms) et <dd> (décrit chaque terme/nom).
TP2 : Tableau et Image en HTML5
On désire créer en html5 une page web contenant deux images et un tableau comme
4
présenté ci-dessous : 1

Solution :
<body>
<p> Sociéte Electronic System<br />
<img src="info.jpg" alt="Matériel informatique" title="Nouvelles Technologies " />
</p>
<table>
<caption>Tableau de Vente en Mai 20022</caption>
<tr>
<th>Article</th>
<th>Prix unitaire</th>
<th>quantité</th>
<th>Prix Total</th>
</tr>
<tr>
<td>clavier</td>
<td>8500</td>
<td>20</td>
<td>170000</td> ²
</tr>
4
<tr> 2
<td>souris</td>
<td>10000</td>
<td>10</td>
<td>100000</td>
</tr>
<tr>
<td rowspan="2"> Ecran</td>
<td>200000</td>
<td>10</td>
<td>2000000</td>
</tr>
<tr>
<td>200000</td>
<td>10</td>
<td>2000000</td>
</tr>
<tr>
<td colspan="3">Total </td>
<td>470000</td>
</tr>
</table>
<figure>
<img src="ecran.png" alt="Ecran clavier souris" >
<figcaption>Matériel informatique </figcaption>
</figure>
</body>
En résumé
 Un tableau s'insère avec la balise <……….> et se définit ligne par ligne avec <…………>.
 Chaque ligne comporte des cellules <…….> (cellules normales) ou <….> (cellules d'en-
tête).
 Le titre du tableau se définit avec <………………..>.
 On peut fusionner des cellules horizontalement avec l'attribut ……….. ou verticalement
avec ……………. Il faut indiquer combien de cellules doivent être fusionnées.
 On insère une image avec la balise <…….. />. Elle doit obligatoirement comporter au
moins ces deux attributs : …….. (nom de l'image) et ………… (courte description de l'image).
 Si une image illustre le texte (et n'est pas seulement décorative), il est conseillé de la
placer au sein d'une balise <………………>. La balise <……………………….> permet d'écrire la
légende de l'image.
TP4 : Les liens hypertextes en HTML5
On désire créer en HTML5 une page web comme présenté ci-dessous contenant un tableau 4
de liens hypertextes vers les adresses URL suivantes : www.kiteb.net , www.edunet.tn , 3
mailto://elgaiedwalid@gmail.com, web/tp3.html et web/HTML5.zip

Solution
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h2>Les liens hypertextes</h2>
<TABLE border="1">
<TR>
<TD>Lien vers un site web</TD>
<TD><a href="http://www.kiteb.net"> www.kiteb.net</a></TD>
</TR>
<TD>Lien qui s'ouvre dans une nouvelle fenêtre</TD>
<TD><a href="http://www.edunet.tn" target="_blank"> www.edunet.tn</a></TD>
</TR>
<TR>
<TD>Lien pour Envoyer un Email</TD>
<TD><a href="mailto://elgaiedwalid@gmail.com"> Nous contactez</a></TD>
</TR>
<TR>
<TD>Lien vers une autre page web</TD>
<TD><a href="web/tp3.html">Une page web se trouvant dans un sous dossier</a></TD>
</TR>
<TR>
<TD>Lien pour Télécharger un fichier</TD>
<TD><a href="web/HTML5.zip">Un fichier compressé</a></TD>
</TR>
</TABLE>
</body>
</html>
En résumé
 Les liens permettent de changer de page et sont, par défaut, écrits en bleu et soulignés.
4
La syntaxe du code HTML est : 4
<a ……..="adresse page cible" ……..="Texte affiché lors du survole de la sourie" >Texte du
lien</a>

Exemples :
 <a href="http://www.kiteb.net"> www.kiteb.net </a>
 <a href="http://www.edunet.tn" target="_blank"> www.edunet.tn</a>
 <a href="mailto://elgaiedwalid@gmail.com"> Nous contactez</a>
 On peut faire un lien vers une autre ………… de son site simplement en écrivant le nom
du fichier : <a href="page2.html">Texte du lien </a>.
 La figure suivante fait la synthèse des différents liens relatifs possibles.

 Un lien hypertexte ……….. permet d'amener vers un endroit précis d'une page. Il faut
créer une ancre avec l'attribut ………… pour “marquer” cet endroit dans la page, puis faire un
………. vers l'ancre comme ceci : <a href="#ancre">.

Syntaxe: Création d’un ancre : <balise id="nom_ancre">Texte</balise>


Création d’un lien vers un ancre : <a href="#nom_ancre"> Texte du lien </a>.

Exemple : <h2 id="…………….">Création de liens en HTML</h2>


<a href="……………….">Création de liens en HTML</a>
TP5 : Le multimédia en HTML5
Problème : Créez en html5 une page web contenant des séquences sonores et des vidéos
comme présenté ci-dessous : 4
5

Solution :
<!DOCTYPE html>
<body>
<h1>HTML5 prend-il en charge le multimédia ?</h1>
<h2>Écoutez ce message</h2>
<audio controls src="web/Kalimba.mp3"> </audio>
<h2>Regardez cette vidéo</h2>
<video controls src="web/Wildlife.mp4" autoplay="no" width="30%"></video>
</body>
</html>
Insertion d'un élément audio
Pour insérer un élément audio on utilise la syntaxe : <…….….. src="musique.mp3"> <……..….>
On peut ajouter à la balise audio les attributs suivants :
 ………… …….: pour ajouter les boutons « Lecture », « Pause » et la barre de défilement.
 ………………. : pour modifier la largeur de l'outil de lecture audio.
 loop : la musique sera jouée en boucle.
 autoplay : la musique sera jouée dès le chargement de la page.
Insertion d'une vidéo
Pour insérer une vidéo on utilise la syntaxe suivante : <………… src="sintel.webm"></……….>
On peut ajouter à la balise audio les attributs suivants :
 poster : image à afficher à la place de la vidéo tant que celle-ci n'est pas lancée.
 controls : pour ajouter les boutons « Lecture », « Pause » et la barre de défilement.
 width : pour modifier la largeur de la vidéo.
 height : pour modifier la hauteur de la vidéo.
 ………….. : la vidéo sera jouée en boucle.
 autoplay : la vidéo sera jouée dès le chargement de la page.
TP6 : Les formulaires en HML5
Activité :
1) Créez un fichier HTML contenant le formulaire ci-dessous puis l’enregistrez sous le 4nom
tp6.html 6
2) Créez un fichier HTML nommé sauvegarder.html contenant le message suivant : 
Inscription effectuée avec succès 
3) Le clic sur le bouton Envoyer fait appel au fichier sauvegarder.html permettant d’afficher le
message suivant :  Inscription effectuée avec succès 

<head>
<title>Formulaire</title>
</head>
<body>
<h1>Mon Premier formulaire HTML5</h1>
<form name="formulaire" method="post" action="destination.html">
<fieldset>
<legend><h2>Vos coordonnées</h2></legend><br />
<label for="nom">Nom*:</label><input type="text" name="nom" id="name"
placeholder="vote nom" required="" /> <br />
<label for="prenom">Prénom*:</label><input type="text" name="prenom" id="prenom"
placeholder="vote prenom" required="" /> <br />
<label for="date">Date de naissance:</label><input type="date" name="date"
id="date"value="jj/mm/aaaa" required=""><br />
<label for="email">Mail:*</label><input type="email" name="email" id="email" required
/> <br/>
<label for="site">Votre site:*</label><input type="text" name="site" id="site"
value="http://www." required=""><br />
<label for="code">Code:*</label><input type="password" name="code"
id="code"maxlength="8" pattern="[AZ]{2}+[1-9]{3}+[a-z]{2}" required="" /><br />
<input type="radio" name="sex" id="homme" value="Homme" /><label
for="homme">Homme</label><br/> 4
<input type="radio" name="sex" id="femme" value="Femme"/><label for="femme">Femme7
</label><br/>
<label for="pays">Dans quel pays habitez-vous ?</label><br />
<select name="pays" id="pays">
<option disabled="votre pays" selected="">Votre pays</option>
<optgroup label="Europe">
<option>France</option>
<option>italie</option>
<option>Allemagne</option>
</optgroup>
<optgroup label="Amérique">
<option>USA</option>
<option>Canada</option>
<option>Argentine</option>
<option>Mexique</option>
</optgroup>
<optgroup label="Autres">
<option>Afrique</option>
<option>Asie</option>
<option>Océanie</option>
<option>Australie</option>
</optgroup>
</select> <br/>
</fieldset>
<fieldset>
<legend><h2>Vos gôuts</h2></legend>
<input type="checkbox" name="pommes" id="pommes" value="Pommes" /><label
for="pommes">Pommes</label><br/>
<input type="checkbox" name="poires" id="poires" value="Poires" /><label
for="poires">Poires</label><br/>
<input type="checkbox" name="scoubidous" id="scoubidous" value="Scoubidous"/><label
for="scoubidous">Scoubidous</label> <br/>
<textarea cols="50" rows="5" name="gout" id="gout" required placeholder="Décrivez vos
gôuts en détail" onclick="this.value=''" > </textarea><label
for="gout">Scoubidous</label>
</fieldset>
<fieldset>
<legend><h2>Envoyer votre photo</h2></legend>
<input type="button" value="choisir un fichier" /> <br/><br/><br/>
<input value="Effacer" type="reset" />
<input type="submit" value="Envoyer" />
</fieldset>
</form>
</body>
</html>
En résumé
 Un formulaire est une zone interactive de la page, dans laquelle vos visiteurs peuvent saisir des
informations.
 On délimite un formulaire avec la balise <form> à laquelle il faut ajouter deuxattributs :
method (mode d'envoi des données) et action (page vers laquelle le visiteur sera redirigé après envoi
du formulaire et qui traitera les informations).
 Une grande partie des éléments du formulaire peut s'insérer avec la balise <input />. La valeur
de son attribut type permet d'indiquer quel type de champ doit être inséré :
 text : zone de texte ;
 password : zone de texte pour mot de passe ;
 tel : numéro de téléphone ;
 checkbox : case à cocher ;
4
 etc. 8
 La balise <label> permet d'écrire un libellé. On l'associe à un champ de formulaire avec
l'attribut for, qui doit avoir la même valeur que l'id du champ de formulaire.
 On peut rendre un champ obligatoire avec l'attribut required, faire en sorte qu'il soit
sélectionné par défaut avec autofocus, donner une indication dans le champ avec placeholder…
 Pour récupérer ce que les visiteurs ont saisi, le langage HTML ne suffit pas. Il faut utiliser un
langage « serveur » comme PHP… Si vous voulez aller plus loin, il va donc falloir apprendre un
nouveau langage !

TP1 : CSS3
Activité : Modifier la mise en forme de la page web"Tp2.html" pour obtenir le résultat
décrit ci-dessous :

Fichier tp2.html
<!DOCTYPE html>
<html lang="en">
<head>
…………..
<link rel="stylesheet" href="tp2css.css">
<title>HTML5 ET CSS3</title>
</head>
<body>
<h1> HTML5 </h1>
<p class="p1"> <strong>HTML5</strong> <mark>(HyperText Markup Language 5) </mark>est la
dernière révision majeure du HTML</p>
<p class="p2">Cette version a été finalisée le <em>28 octobre 2014.</em></p>
<h3> Évolution du langage : </h3>
<ol>
4
<li> 1989-1992 : Origine </li> 9
<li> 2000 : XHTML </li>
</ol>
<dl>
<dt> HTML </dt>
<dd> Hyper Text Markup Language </dd>
<dt> XHTML </dt>
<dd> Extensible Hyper Text Markup Language </dd>
</dl>
</Body>

Fichier css font-weight:bold;


body{ }
width:900px; mark{
margin: auto; background-color: rgb(101, 226, 43);
} }
h1{ ol{
font-size: 30px; background-color: rgb(161, 168, 194);
color :red ; }
font-family:cursive; h3{
font-weight: bold; font-size: 20px;
text-align: center; font-family:cursive;
text-decoration:underline; font-weight: bold;
} text-align: left;
.p1{ text-shadow: 2px 2px 4px rgb(170, 41, 41);
font-size: 20px; }
font-family: Arial; dl{
font-weight:normal; font-size: 15px;
text-align: justify; font-family: Arial;
border: 3px black dotted; font-weight:normal;
border-radius: 10px; text-align: justify;
padding:5px; border : 3px black dotted;
box-shadow: 6px 6px 0px black; border-radius: 10px;
} padding:5px;
.p2{ box-shadow: 6px 6px 0px black;
font-size: 20px;
font-family: Arial;
font-weight:normal;
text-align: justify;
border: 3px brown double;
border-radius: 20px;
padding:5px; }
strong{
color:red;
text-decoration:overline;
5
0

I) Formatage du texte
1) La taille : Pour modifier la taille du texte, on utilise la propriété CSS font-size.
a) Une taille absolue : on utilise généralement les pixels, vous devez donc écrire :
Code : CSS
P{
font-size: 16px;
}
b) Une valeur relative : C'est la méthode recommandée car le texte s'adapte alors plus facilement
aux préférences de tous les visiteurs.
 xx-small : minuscule ;
 x-small : très petit ; Code : CSS
 small : petit ; p
 medium : moyen ; { font-size: small; }
 large : grand ;
 x-large : très grand ;
 xx-large : euh… gigantesque.
2) La police
Modifier la police utilisée : La propriété CSS qui permet Code : CSS
d'indiquer la police à utiliser est font-family. Vous devez écrire P le
nom de la police comme ceci : { font-family: police; }

3) Italique, gras, souligné…


a) Italique : en CSS, pour mettre en italique, on utilise font-style
qui peut prendre trois valeurs : Code : CSS
 italic : le texte sera mis en italique. h2
 oblique : le texte sera passé en oblique. { font-style: normal; }
 normal : le texte sera normal (par défaut). Cela vous permet
d'annuler une mise en italique.
b) Gras : La propriété CSS pour mettre en gras est font-weight et Code : CSS
prend les valeurs suivantes : h1
 bold : le texte sera en gras ; { font-weight: bold;}
 normal : le texte sera écrit normalement (par défaut).
c) Soulignement et autres décorations : La propriété CSS
associée porte bien son nom : text-decoration. Voici les différentes valeurs qu'elle peut prendre :
 underline : souligné.
 line-through : barré. Code : CSS
 overline : ligne au-dessus. h1
 none : normal (par défaut). { text-decoration: underline;}
4) L'alignement : On utilise la propriété text-align et on
indique l'alignement désiré :
 left : le texte sera aligné à gauche.
 center : le texte sera centré. Code : CSS
 right : le texte sera aligné à droite. h1
{ text-align: center;}
 justify : le texte sera « justifié ».
5
1
II)La couleur et le fond
1) Couleur du texte :
a) Indiquer le nom de la couleur :
Code : CSS
h1
{
color: red;
}
b) La notation hexadécimale :
Code : CSS
p{
color: #FFFFFF;
}
c) La méthode RGB
Code : CSS
p{
color: rgb(240,96,204);
}
2) Couleur de fond : Pour indiquer une couleur de fond, on utilise la propriété CSS background-
color.
Code : CSS
Body
{
background-color: black; /* Le fond de la page sera noir */
}
3) Images de fond : La propriété permettant d'indiquer une image de fond est background-image
Code : CSS
Body
{ background-image: url("neige.png"); }
III) Les bordures et les ombres
1) Bordures standard : Pour border on peut utiliser jusqu'à trois valeurs pour modifier l'apparence
de la bordure :
La largeur : indiquez la largeur de votre bordure. Mettez une valeur en pixels (comme 2px).
La couleur : c'est la couleur de votre bordure. Utilisez, comme on l'a appris, soit un nom de couleur
(black, red,…), soit une valeur hexadécimale (#FF0000), soit une valeur RGB (rgb(198, 212, 37)).
Le type de bordure : Votre bordure peut être un simple :
 solid : un trait simple ;
 dotted : pointillés ;
 dashed : tirets ;
 double : bordure double ;

Ainsi, pour avoir une bordure bleue, en tirets, épaisse de 3 pixels autour de mes titres, je vais écrire :
Code : CSS
h1
{
5
border: 3px blue dashed; 2
}

a) En haut, à droite, à gauche, en bas…


Si vous voulez mettre des bordures différentes en fonction du côté (haut, bas, gauche ou droite).
Dans ce cas, vous devrez utiliser ces quatre propriétés :
 border-top : bordure du haut ;
 border-bottom : bordure du bas ;
 border-left : bordure de gauche ;
 border-right : bordure de droite.
Exemple : Pour ajouter une bordure à gauche et à droite des paragraphes, on écrira donc :
Code : CSS
p{
border-left: 2px solid black;
border-right: 2px solid black;
}
b) Bordures arrondies : La propriété border-radius permet d'arrondir les angles de n'importe quel
élément. Il suffit d'indiquer la taille (« l'importance ») de l'arrondi en pixels :
Code : CSS
p{
border-radius: 10px;
}
2) Les ombres :
a) box-shadow : Les ombres des boîtes
La propriété box-shadow s'applique à tout le bloc et prend quatre valeurs dans l'ordre suivant :
1. le décalage horizontal de l'ombre ;
2. le décalage vertical de l'ombre ;
3. l'adoucissement du dégradé ;
4. la couleur de l'ombre.
Par exemple, pour une ombre noire de 6 pixels, sans adoucissement, on écrira :
Code : CSS
p{
box-shadow: 6px 6px 3px black;
}

c) text-shadow : l'ombre du texte : Avec text-shadow, vous ajouter une ombre directement sur les
lettres de votre texte. Les valeurs fonctionnent exactement de la même façon que boxshadow :
décalage, adoucissement et couleur.
Code : CSS
{
text-shadow: 2px 2px 4px black;
5
} 3

Liste des balises HTML


<HTML>...</HTML> Début et fin de fichier Html
<HEAD>...</HEAD> Zone d'en-tête d'un fichier Html
<TITLE>...</TITLE> Titre affiché par le browser (élément de HEAD)
<BODY>...</BODY> Début et fin du corps du fichier Html
<BODY bgcolor="#XXXXXX"> Couleur d'arrière-plan (en hexadécimal) 5
<BODY background="xyz.gif"> Image d'arrière-plan 4
Mise en forme des caractères
<B>...</B> Texte en gras
<BIG>...</BIG> Agrandissement de la taille des caractères
<BLINK>...</BLINK> Texte clignotant (Netscape seul)
<EM>...</EM> Texte en italique
<FONT
Texte en couleur où XXXXXX est une valeur hexadécimale
color="#XXXXXX">...</FONT>
<FONT size=X>...</FONT> Taille des caractères où X est une valeur de 1 à 7
<I>...</I> Texte en italique
<NOBR>...</NOBR> Empêche les ruptures automatiques de ligne des navigateurs
<PRE>...</PRE> Texte préformaté, soit avec affichage de tous les espaces et sauts de ligne
<SMALL>...</SMALL> Réduction de la taille des caractères
<STRONG>...</STRONG> Mise en gras du texte
<SUB>...</SUB> Texte en indice
<SUP>...</SUP> Texte en exposant
<U>...</U> Texte souligné
Mise en forme du texte
<!--...--> Commentaire ignoré par le navigateur
<BR> A la ligne
<BLOCKQUOTE>...</BLOCKQUOTE> Citation (introduit un retrait du texte)
<CENTER>...</CENTER> Centre tout élément compris dans le tag
<DIV align=center> ...</DIV> Centre l'élément encadré par le tag
<DIV align=left> ...</DIV> Aligne l'élément à gauche
<DIV align=right> ...</DIV> Aligne l'élément à droite
<Hx>...</Hx> Titre où x a une valeur de 1 à 7
<Hx align=center>...</Hx> Titre centré
<Hx align=left>...</Hx> Titre aligné à gauche
<Hx align=right>...</Hx> Titre aligné à droite
<P>...</P> Nouveau paragraphe
<P align=center>...</P> Paragraphe centré
<P align=left>...</P> Paragraphe aligné à gauche
<P align=right>...</P> Paragraphe aligné à droite
Listes
<UL>
Liste non numérotée (dite à puces)
<LI>
Elément de liste
</UL>
<OL>
Liste numérotée
<LI>
Elément de liste
</OL>
<DL> Liste de glossaire
<DT>...</DT> Terme de glossaire (sans retrait)
<DD>...</DD> Explication du terme (avec retrait)
</DL> Ligne de séparation
<HR> Trait horizontal (centré par défaut)
<HR width="x%"> Largeur du trait en %
<HR width=x> Largeur du trait en pixels
<HR size=x> Hauteur du trait en pixels
<HR align=center> Trait centré (défaut)
<HR align=left> Trait aligné à gauche
<HR align=right> Trait aligné à droite
<HR noshade> Trait sans effet d'ombrage
Hyperliens
<A href="http://...">...</A> Lien vers une page Web
<A href="mailto:...">...</A> Lien vers une adresse Email 5
<A href="fichier.htm">...</A> Lien vers la page locale fichier.htm située dans le même dossier 5
<A name="xyz">...</A> Définition d'une ancre
<A href="xyz">...</A>
Lien vers une ancre
<A href="fichier#xyz">...</A>
Images
<IMG src="xyz.gif"> Insertion d'une image au format Gif ou Jpg
<IMG src="xyz.pjg> (voir liens pour l'adressage)
<IMG ... width=x height=y> Mise à l'échelle de l'image en pixels
< IMG ... border=x> Définition de la bordure d'une image avec lien
<IMG ... alt="votre texte"> Texte alternatif lorsque l'image n'est pas affichée
<IMG ... align=bottom> Aligne l'image en bas
<IMG ... align=middle> Aligne l'image au milieu
<IMG ... align=top> Aligne l'image en haut
<IMG ... align=left> Aligne l'image à gaughe
<IMG ... align=right> Aligne l'image à droite
<IMG ... hspace=x> Espacement horizontal entre l'image et le texte
<IMG ... vspace=y> Espacement vertical entre l'image et le texte
Tableau
<TABLE>...</TABLE> Définition d'un tableau
<TABLE width="x%"> Largeur du tableau en %
< TABLE width=x> Largeur du tableau en pixels
<TABLE border=x> Largeur de la bordure
<TABLE cellpadding=x> Espace entre la bordure et le texte
<TABLE cellspacing=x> Epaisseur du trait entre les cellules
<TR>...</TR> Ligne du tableau
<TD>...</TD> Cellule du tableau
<TD bgcolor="#XXXXXX"> Couleur d'une cellule de tableau
<TD width="x%"> Largeur de colonne en %
<TD width=x> Largeur de colonne en pixels
<TD align=center> Texte dans la cellule centré
<TD align=left> Texte dans la cellule aligné à gauche
<TD align=right> Texte dans la cellule aligné à droite
<TD valign=bottom> Alignement vers le bas du contenu d'une cellule
<TD valign=middle> Centrage vertical du contenu d'une cellule
<TD valign=top> Alignement vers le haut du contenu d'une cellule
<TD colspan=x> Nombre de cellules à fusionner horizontalement
<TD rowspan=x> Nombre de cellules à fusionner verticalement
<FRAMESET>...</FRAMESET> Définit une structure de frames(remplace alors le tag BODY)
<FRAMESET rows="x%,y%,..."> Division horizontale de la fenêtre en %
<FRAMESET cols="x%,y%,..."> Division verticale de la fenêtre en %
<FRAME src="fichier.htm"> Fichier affiché dans une fenêtre de frames
<NOFRAMES>...</NOFRAMES> Contenu pour les browsers non prévus pour les frames

Table des codes ASCII


5
6

Vous aimerez peut-être aussi