Support Cours 2TI
Support Cours 2TI
Support Cours 2TI
Cours
Algorithme et Programmation
2TI
2
Sommaire
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.
Solution :
Données :
...........................................................................
...........................................................................
1
Traitement :
............................................................................
............................................................................
Résultat : 2
............................................................................
............................................................................
Algorithme Rectangle
Début
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
Fin
Objet
Solution : Type/Nature
............... ...............
...............
Données : ...............
............... ...............
...........................................................................
............... ...............
...........................................................................
1
Traitement :
............................................................................
............................................................................
Résultat : 2
............................................................................
............................................................................
Algorithme Moyenne
Début
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
Fin
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.
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
2. Vocabulaire et syntaxe :
Algorithme Python
Variable valeur Variable = valeur
3. Exemple :
Algorithme Python Commentaire Résultat
x5 .................... x reçoit 5 x = ...............
ax+3 .................... a reçoit la valeur de l’expression x+3 a = ...............
xx-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
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
1. Activité 1 :
Solution :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
................... .....................................
................... .....................................
2. Activité 2 :
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.
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
Solution :
Algorithme Implémentation en Python
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
............................................................................. .............................................................................
T.D.O :
Objet Type/Nature
................... .....................................
................... .....................................
................... .....................................
c. Application :
Compléter le tableau suivant :
👓 Remarque :
- Une variable de type caractère contient un caractère est un seul.
- L'espace " " est le caractère blanc.
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.
👓 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
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
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.
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.
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
A5
B A+2
B B+5 mod 2
C A div B
DC/A
E (A*A) + (C*B)
BB-E
AA+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
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 :
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. …………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
…………………………………. ………………………………….
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
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
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 :
3. Vocabulaire et syntaxe :
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 :
Exercice 2
On donne le programme suivant
v=int(input('donner la valeur de n= '))
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)
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.
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 :
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
n=46
N C D S
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 :
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 XX*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
29
Exercice 7 (x, y, p et k sont des entiers)
Exécuter manuellement ces algorithmes : 3
x8 p0 p0 x5 0
répéter Tant que p <5 faire Tant que p> 5 faire répéter
xx+2 pp+2 pp+5 xx+2
yx*2 Fin Tant que Fin Tant que kx*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
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.
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.
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
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 :
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 :
c. Remarque :
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>
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
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">.
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>
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; }
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
}
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