Académique Documents
Professionnel Documents
Culture Documents
Exercice N°1 :
#include <stdio.h>
Algorithme chaînemot
CONST N = 45 #include <string.h>
TYPE CHN = tableau [1 .. N] de caractères #define N 45
VAR phrase, mot : CHN char phrase[N], mot[N];
FIN
FIN
Procédure minuscule(A:CHN)
VAR i :entier
DEBUT
Pour i de 1 à long(A) pas 1 faire
SI (A[i] >= ‘A’ ET A[i] <= ‘Z’) alors
A[i] A[i] + 32
FinSI
FinPour
FIN
int main( ) {
short i ;
printf(“donner une phrase “);
gets(phrase);
decomposer(phrase, tabch);
for(i=0; i<N; i++)
minuscule(tabch[i]);
palindrome(tabch,N);
return 0 ;}
Enseignant : Hassen NAKBI (Version 24/12/2022) Page 4 sur 8
Exercice N°4 :
Fonction password (A:CHN) : booléen
Algorithme chaînemailpassword VAR i :entier
CONST N = 20 x,y,z,v : booléen
TYPE CHN = tableau [1 .. N] de caractères DEBUT
VAR E1, E2 : CHN x faux
y faux
Procédure souschaine(A:CHN, R:CHN,id,ln : z faux
entier) v faux
VAR i, j :entier SI (long(A) >=6 ET long(A)<=9) alors
DEBUT x vrai
j 1 FinSI
Pour i de id à ln pas 1 faire SI (x = vrai) alors
R[j] A[i]
Pour i de 1 à long(A) pas 1 faire
j j+1
SI (A[i] >= ‘A’ ET A[i] <= ‘Z’) alors
FinPour
y vrai
R[j] ’\0’
FinSI
FIN SI (A[i] >= ‘0’ ET A[i] <= ‘9’) alors
Fonction email (A:CHN) : booléen z vrai
VAR i :entier FinSI
x,y,z,v : booléen FinPour
DEBUT FinSI
x faux SI ( x ET y ET z ) alors
y faux v vrai
z faux FinSI
v faux Renvoyer v
i 1 FIN
Tant que (A[i] >= ‘A’ ET A[i] <= ‘Z’ OU A[i] >= ‘a’
ET A[i] <= ‘z’ OU A[i] >= ‘0’ ET A[i] <= ‘9’ OU A[i] DEBUT
= ‘.’ OU A[i] = ‘@’ ET i <=long(A)) faire
SI (A[i] = ‘@’ ET i > 4) alors Ecrire("donner une adresse mail")
x vrai Lire(E1)
FinSI SI (email(E1)) alors
SI (A[i] = ‘.’ ET i > 8) alors Ecrire("email valide")
y vrai SINON
FinSI Ecrire("email n’est pas valide")
i i +1 FinSI
FinTantque
Ecrire("donner un mot de passe")
SI (i > long (A)) alors
z vrai
Lire(E2)
FinSI SI (password(E1)) alors
SI ( x ET y ET z ) alors Ecrire("mot de passe valide")
v vrai SINON
FinSI Ecrire("mot de passe n’est pas valide")
Renvoyer v FinSI
FIN
FIN