Vous êtes sur la page 1sur 19

Révision - Algorithmique I

Module informatique SMIA-S2


2020-2021

Pr. Er-rajy Latifa


Exercice 1

Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix
nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera
les nombres de 18 à 27.

Pr. Er-rajy Latifa


Exercice 1 Solution :

Algorithme Dix_Nombres
Var N, i : entier
Début
Ecrire ("Entrez un nombre : ")
Lire (N)
Pour i1 à 10 faire
Ecrire (N+i)
FinPour
Fin

Pr. Er-rajy Latifa


Exercice 2

Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA,
et qui fournit le prix total TTC correspondant. Faire en sorte que des libelles apparaissent
clairement.

prix total TTC (pttc)= le nombre d’articles (nb) * prix hors taxes (pht) * (1 + taux de TVA (ttva))

Pr. Er-rajy Latifa


Exercice 2 Solution :

Algorithme Prix_TTC
Variables nb, pht, ttva, pttc : entier
Début
Ecrire (”Entrez le prix hors taxes :”)
Lire (pht)
Ecrire (”Entrez le nombre d’articles :”)
Lire (nb)
Ecrire (”Entrez le taux de TVA :”)
Lire (ttva)
pttc nb * pht * (1 + ttva)
Ecrire (”Le prix toutes taxes est : ”, pttc)
Fin

Pr. Er-rajy Latifa


Exercice 3

Ecrire un algorithme qui demande l’ âge d’un enfant `a l’utilisateur. Ensuite,


il l’informe de sa catégorie :
”Poussin” de 6 `a 7 ans
”Pupille” de 8 `a 9 ans
”Minime” de 10 `a 11 ans
”Cadet” après 12 ans.

Pr. Er-rajy Latifa


Exercice 3 Solution :

Algorithme Age
Variable age : Entier
Début
Ecrire (”Entrez l’âge de l’enfant : ”)
Lire (age)
Si age >= 12 Alors
Ecrire (”Catégorie Cadet”)
SinonSi age >= 10 Alors
Ecrire(”Catégorie Minime”)
SinonSi age >= 8 Alors
Ecrire (”Catégorie Pupille”)
SinonSi age >= 6 Alors
Ecrire (”Catégorie Poussin”)
Finsi
Fin

Pr. Er-rajy Latifa


Exercice 4

Ecrire les fonctions permettant :


1. Le calcul du nombre d'occurrences d'un élément donnée dans un tableau.
2. Le calcul de la moyenne et du minimum des éléments d'un tableau.
3. De tester si un tableau est trie.

Ecrire le programme principal.

Pr. Er-rajy Latifa


Exercice 4 Solution :
Fonction Nb_occurences (N: entier par valeur, Tableau T: entier par référence, nb : entier par valeur) : entier
VAR i,nb_occ : entiers
nb_occ 0
Pour i  0 à N-1 Faire
Si T[i] = nb Alors
nb_occ  nb_occ + 1
FinSi
FinPour
retourner nb_occ
FinFonction

Fonction Moyenne (N: entier par valeur, Tableau T: réel par référence) : réel
VAR somme, i: entiers
moyenne : réel
somme  0
Pour i  0 à N-1 Faire
somme  somme + T[i]
FinPour
moyenne  somme / N
retourner moyenne
FinFonction

Pr. Er-rajy Latifa


Exercice 4 Solution :
Fonction Est_trie (N: entier par valeur, Tableau T: entier par référence) :booléen
VAR i : entier
est_trie : Booléen
est-trie faux
Pour i0 à N-1 faire
Si T[i] <= T[i+1] alors
est-trievrai
FinSi
FinPour
retourner est_trie
FinFonction

Pr. Er-rajy Latifa


Exercice 4 Solution :

Algorithme fonct_tab
Var N, i, nb : entier
Var tri :booléen
Tableau T[N]: entier
Début
Ecrire(" Veuillez saisir la taille de tableau:")
Lire(N)
Pour i0 à N-1 faire
Ecrire(" Veuillez saisir l’élément:", i+1)
Lire (T[i])
FinPour
Ecrire(" Veuillez saisir le nombre cherché: ")
Lire(nb)
Ecrire(" le nombre d’occurrences est :", Nb_occurences(N,T,nb))
Ecrire(" la moyenne est: ", Moyenne(N,T))
tri Est_trie(N,T)
Si tri=faux alors
Ecrire(« le tableau est trié »)
Sinon
Ecrire(« le tableau n’est créer »)
FinSi
Fin

Pr. Er-rajy Latifa


Exercice 5.

Ecrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs,


qui devront être stockées dans un tableau. Une fois la saisie terminée, le programme
affichera le nombre de valeurs négatives et le nombre de valeurs positives.

Pr. Er-rajy Latifa


Solution :
Exercice 5. Algorithme Positif_Nigatif
Var N, i, Pos, Nig : entier
Tableau T[N] : réel
Début
Pos0
Nig0
Ecrire(" Veuillez saisir N :")
Lire(N)
Pour i allant de 0 à N-1
Ecrire("Donner l’élément:",i+1, " de T:")
Lire(T[i])
FinPour
Pour i allant de 0 à N-1
Si T[i]>=0 Alors
PosPos+1
Sinon
NigNig+1
FinSi
FinPour
Ecrire("Nombre d’éléments positifs est: ", Pos)
Ecrire(" Nombre d’éléments négatifs est: ", Nig)
Fin Pr. Er-rajy Latifa
Exercice 6. (Retour aux Matrices)

Soient deux matrices A et B (NxM). Ecrire un algorithme qui permet de calculer:

1- La matrice S somme des deux matrices A et B


2- La matrice P produit des deux matrices A et B.
3- Écrire un algorithme qui donne la transposé d'une matrice NxM.

Pr. Er-rajy Latifa


Solution :

ALGORITHME SOM2MATRICES
Tableau A[N][M], B[N][M], S[N][M]: réel // somme de A et B
variables i, j, N,M: entier Pour i allant de 0 à N-1
DEBUT Pour j allant de 0 à M-1
Ecrire(" Veuillez saisir la taille :") S[i][j] ←A[i][j]+B[i][j]
Lire(N,M) FinPour
Pour i allant de 0 à N-1 FinPour
Ecrire("Donner la ligne:",i+1, “ de A:”) //affichage de la matrice S
Pour j allant de 0 à M-1 Pour i allant de 0 à N-1
Lire(A[i][j]) Pour j allant de 0 à M-1
FinPour Ecrire(S[i][j]," ")
FinPour FinPour
Pour i allant de 0 à N-1 FinPour
Ecrire("donner la ligne ",i+1"de B") FIN
Pour j allant de 0 à M-1
Lire(B[i][j])
FinPour
FinPour

Pr. Er-rajy Latifa


Exercice 6. (Retour aux Matrices)

Soient deux matrices carrées A et B (NxM). Ecrire un algorithme qui permet de


calculer:

2- La matrice P produit des deux matrices A et B.

Pr. Er-rajy Latifa


Solution :

ALGORITHME Produit2MATRICES
Tableau A[N][M], B[N][M],P[N][M]: réel // Produit P = A*B tel que pij= somme des
VAR i, j, k, N, M, S : entier aik*bkj
DEBUT Pour i allant de 0 à N-1
Ecrire(" Veuillez saisir la taille:") Pour j allant de 0 à M -1
Lire(N,M) S ←0
Pour i allant de 0 à N-1 Pour k allant de 0 à N-1
Ecrire("Donner la ligne:",i+1, “ de A”) S ←S + A[i][k]*B[k][j]
Pour j allant de 0 à M-1 FinPour
Lire(A[i][j]) P[i][j] ←S
FinPour FinPour
FinPour FinPour
Pour i allant de 0 à N-1 //affichage de la matrice P
Ecrire("donner la ligne ",i+1"de B") Pour i allant de 0 à N-1
Pour j allant de 0 à M-1 Pour j allant de 0 à M-1
Lire(B[i][j]) Ecrire(P[i][j]," ")
FinPour FinPour
FinPour FinPour
Fin

Pr. Er-rajy Latifa


Exercice 6. (Retour aux Matrices)

Soient deux matrices A et B (NxM). Ecrire un algorithme qui permet de calculer:

3- Écrire un algorithme qui donne la transposé d'une matrice NxM.

Pr. Er-rajy Latifa


Solution :

ALGORITHME TRANSPOSE
Tableau A[N][M], T[N][M]: réel //affichage de la matrice T
VAR i, j, N, M : entier Pour i allant de 0 à N-1
DEBUT Pour j allant de 0 à M-1
Ecrire(" Veuillez saisir la taille :") Ecrire(T[i][j]," ")
Lire(N,M) FinPour
Pour i allant de 0 à N-1 FinPour
Ecrire("Donner la ligne:",i+1, “ de A”) Fin
Pour j allant de 0 à M-1
Lire(A[i][j])
FinPour
FinPour
Pour i allant de 0 à N-1
Pour j allant de 0 à M-1
T[i][j]A[j][i]
FinPour
FinPour

Pr. Er-rajy Latifa

Vous aimerez peut-être aussi