Académique Documents
Professionnel Documents
Culture Documents
SMI-3
DÉPARTEMENT INFORMATIQUE
Début
Ecrire (" Veuillez saisir un entier")
Lire (n)
F←1
Si n = 0 Alors
Sinon
Pour i =1 à n Pas de 1
F←F*i
FinPour
Fin Si
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 3
Fonctions - Procédures
Début
Ecrire (" Veuillez saisir le premier entier") Ecrire (" Veuillez saisir le deuxième entier ")
Lire (n1) Lire (n2)
F1 ← 1 F2 ← 1
Si n1 = 0 Alors Si n2 = 0 Alors
Ecrire (" La factorielle est :" , F1 ) Ecrire (" La factorielle est :" , F2 )
Sinon Sinon
Pour i =1 à n1 Pas de 1 Pour i =1 à n2 Pas de 1
F1 ← F1 * i F2 ← F2 * i
FinPour FinPour
Ecrire (" La factorielle est :" , F1 ) Ecrire (" La factorielle est :" , F2 )
Fin Si Fin Si
Fin
Début
Ecrire (" Veuillez saisir le premier entier") Ecrire (" Veuillez saisir le deuxième entier ")
Lire (n1) Lire (n2)
F1 ← 1 F2 ← 1
Si n1 = 0 Alors Si n2 = 0 Alors
Ecrire (" La factorielle est :" , F1 ) Ecrire (" La factorielle est :" , F2 )
Sinon Sinon
Pour i =1 à n1 Pas de 1 Pour i =1 à n2 Pas de 1
F1 ← F1 * i F2 ← F2 * i
FinPour FinPour
Ecrire (" La factorielle est :" , F1 ) Ecrire (" La factorielle est :" , F2 )
Fin Si Fin Si
Fin
Arguments
de fonction
Traitement
Nom de fonction
* Type de retour
Résultat retourné
Pr. Redouan Lahmyed ALGORITHMIQUE 2 12
Fonctions
Syntaxe:
Fonction Nom_Fonction (arg1 : Type1 , arg2 : Type2 , ....) : Type de retour
Variables
variable 1 : type_var1
variable 2 : type_var2
….
Début
Instructions
Retourne résulat_retour
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 13
Fonctions
Arguments de fonction Type résultat retourné
Syntaxe: Nom de fonction
Variables
variable 1 : type_var1
Variables locales
variable 2 : type_var2
….
Début
Instructions Traitements
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 14
Fonctions - Procédures
Exemple: Écrire une fonction qui calcule la factorielle d'un entier
Variables
Début
Fin
Variables
F , i : Entier
Début
F←1
Si N = 0 Alors
Retourne F
Sinon
Pour i =1 à N Pas de 1
F←F*i
FinPour
Retourne F
Fin Si
Fin
Variables
P : Entier
Début
P X^n
Retourne P
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 19
Fonctions
Appel de la fonction
Variable
Début
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 21
Fonctions
Algorithme Nom_Algorithm
Début
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 22
Fonctions
Algorithme Nom_Algorithm
Début
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 23
Fonctions
Algorithme Nom_Algorithm
Début
Début
Ecrire (" Veuillez saisir le premier entier") Ecrire (" Veuillez saisir le deuxième entier ")
Lire (n1) Lire (n2)
F1 ← 1 F2 ← 1
Si n1 = 0 Alors Si n2 = 0 Alors
Ecrire (" La factorielle est :" , F1 ) Ecrire (" La factorielle est :" , F2 )
Sinon Sinon
Pour i =1 à n1 Pas de 1 Pour i =1 à n2 Pas de 1
F1 ← F1 * i F2 ← F2 * i
FinPour FinPour
Ecrire (" La factorielle est :" , F1 ) Ecrire (" La factorielle est :" , F2 )
Fin Si Fin Si
Fin
Début
Fin
Début
F←1
Si N = 0 Alors
Retourne F
Sinon
Pour i =1 à N Pas de
1
F←F*i
FinPour
Retourne F
Fin Si Fin
Fin
Variables Début
F , i : Entier
Début
F←1
Si N = 0 Alors
Retourne F
Sinon
Pour i =1 à N Pas de
1
F←F*i
FinPour
Retourne F
Fin Si Fin
Fin
Variables Début
F , i : Entier Ecrire (" Veuillez saisir le premier entier")
Lire (n1)
Début
F←1 Ecrire (" La factorielle est :" , Factorielle (n1))
Si N = 0 Alors
Retourne F
Sinon
Pour i =1 à N Pas de
1
F←F*i
FinPour
Retourne F
Fin Si Fin
Fin
Variables Début
F , i : Entier Ecrire (" Veuillez saisir le premier entier")
Lire (n1)
Début
F←1 Ecrire (" La factorielle est :" , Factorielle (n1))
Si N = 0 Alors
Retourne F
Ecrire (" Veuillez saisir le deuxième entier")
Sinon Lire (n2)
Pour i =1 à N Pas de Ecrire (" La factorielle est :" , Factorielle (n2))
1
F←F*i
FinPour
Retourne F
Fin Si Fin
Fin
Variable
Début
Fin
Variables Déclaration
P : Entier de la fonction
Début
P X^n
Retourne P
Fin
Variable
Début
Fin
Variables Déclaration
P : Entier de la fonction
Début
P X^n
Retourne P
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir un nombre et leur puissance : " )
Appel de la
Lire (A , B)
fonction
Ecrire ( " Résultat est : " , Puissance ( A , B ) )
Fin
C ← fct1 ( B , B ) A ← A + fct1 ( A , A )
C ← fct1 ( B , B ) A ← A + fct1 ( A , A )
Variables
Min : Entier Déclaration
Début de la fonction
Min ← A
Si Min > B Alors
Min ← B
Fin Si
Retourne Min
Fin
Variable V1 , V2 : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Appel de la
Lire (V1 , V2)
fonction
Ecrire ( " La valeur minimale est : " , Minimum ( V1 , V2 ) )
Fin
Syntaxe:
Procedure Nom_Procedure (arg1 : Type1 , arg2 : Type2 , ....)
Variables
variable 1 : type_var1
variable 2 : type_var2
….
Début
Instructions
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 39
Procédures
Arguments de procédure
Syntaxe: Nom de procédure
Variables
variable 1 : type_var1
Variables locales
variable 2 : type_var2
….
Début
Instructions Traitements
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 40
Fonctions - Procédures
Exercice : Écrire une procédure qui calcule la puissance d'un entier
Variables
P : Entier
Début
P X^n
Retourne P
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 42
Fonctions - Procédures
Exercice : Écrire une procédure qui calcule la puissance d'un entier
Variables
P : Entier
Début
P X^n
Ecrire ( " Résultat est : " , P )
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 43
Procédures
Appel de la procédure
Méthode :
Variables Déclaration
P : Entier de la
procédure
Début
P X^n
Ecrire ( " Résultat est : " , P )
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir un nombre et leur puissance : " )
Appel de la
Lire (A , B)
procédure
Puissance ( A , B )
Fin
Variables
Pr : Entier
Début
Pr X * Y
Si Pr > 0 Alors
Ecrire (" Le produit est positif ")
Sinon
Si Pr < 0 Alors
Ecrire (" Le produit est negatif ")
Sinon
Ecrire (" Le produit est nul ")
Fin Si
Fin Si
Fin
Variables
Pr : Entier
Début
Pr X * Y
Déclaration de
Si Pr > 0 Alors la procédure
Ecrire (" Le produit est positif ")
Sinon
Si Pr < 0 Alors
Ecrire (" Le produit est negatif ")
Sinon
Ecrire (" Le produit est nul ")
Fin Si
Fin Si
Fin
Variable V1 , V2 : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Lire (V1 , V2) Appel de la
Signe_Produit (V1 , V2) procédure
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 48
Fonctions – Procédures (paramètres d’appels)
Variables
Temp : Entier
Début
Temp X
X Y
Y Temp
Fin
Variables
Temp : Entier
Début
Temp X
X Y
Y Temp
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 52
Fonctions – Procédures (paramètres d’appels)
Algorithme Echange
Procedure Echange_valeurs ( X: Entier , Y: Entier)
Variables
Temp : Entier
Début
Temp X
X Y
Y Temp
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier
Début
Temp X
X Y
Y Temp
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier
Début
Temp X
X Y
Y Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 3 2
Début
Temp X
X Y
Y Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 3 2
Début
Temp X
X Y
Y Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 3 2
Début
Temp X
X Y
Y Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3 3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 2 2
Début
Temp X
X Y
Y Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3 3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 2 3
Début
Temp X
X Y
Y Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3 3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (A , B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier
Début
Temp P1^
P1^ P2^
P2^ Temp
Fin
Variables
Temp : Entier
Début
Temp P1^
P1^ P2^
P2^ Temp
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Pr. Redouan Lahmyed ALGORITHMIQUE 2 62
Fonctions – Procédures (paramètres d’appels)
Algorithme Echange
Procedure Echange_valeurs ( P1: ^Entier , P2: ^Entier)
Variables
Temp : Entier
Début
Temp P1^
P1^ P2^
P2^ Temp
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier
Début
Temp P1^
P1^ P2^
P2^ Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 1B3 1B2
Début
Temp P1^
P1^ P2^
P2^ Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 1B3 1B2
Début
Temp P1^
P1^ P2^
P2^ Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 1B3 1B2
Début
Temp P1^
P1^ P2^
P2^ Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
3 3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 1B3 1B2
Début
Temp P1^
P1^ P2^
P2^ Temp 2
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
2 3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
Variables
Temp : Entier 1B3 1B2
Début
Temp P1^
P1^ P2^
P2^ Temp 3
Fin
Variable A , B : Entier
Début
Ecrire ( " Veuillez saisir deux nombres : " )
2 3
Lire (A , B)
Ecrire ( " Avant l’echange : A =" , A , " B = " , B )
Echange_valeurs (&A , &B)
Ecrire (" Apres l’echange : A =" , A , " B = " , B )
Fin
La fonction Alea renvoie un nombre réel aléatoire compris entre 0 et 1. Pour obtenir une
valeur entière comprise entre min et max (avec min < max) on utilise la formule suivante :
Solution:
X Ent ( 6 * Alea () + 5 )
• Exemples:
Len("Bonjour") vaut 7
Len("") vaut 0
Mid("Ahmed is back", 3, 7) vaut "ed is b"
Mid("Ahmed is back", 11, 1) vaut "c"
Left("Et pourtant…", 8) vaut "Et pourt"
Right("Et pourtant…", 4) vaut "t…"
Find("Un pur bonheur", "pur") vaut 3
Find(" Dans la vie ", "bonheur ") vaut -1