0% ont trouvé ce document utile (0 vote)
40 vues7 pages

TD 1

Le document présente plusieurs exercices d'algorithmique, incluant des algorithmes pour calculer des carrés, des suites, des maximums, des sommes de tableaux, des transferts d'éléments, des produits scalaires, des inversions de tableaux, des statistiques, des additions de matrices et des opérations sur des nombres complexes. Chaque exercice est accompagné d'une description, de déclarations de variables et d'un algorithme détaillé. L'ensemble vise à illustrer des concepts fondamentaux en programmation et en manipulation de données.

Transféré par

shazzo89898
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
40 vues7 pages

TD 1

Le document présente plusieurs exercices d'algorithmique, incluant des algorithmes pour calculer des carrés, des suites, des maximums, des sommes de tableaux, des transferts d'éléments, des produits scalaires, des inversions de tableaux, des statistiques, des additions de matrices et des opérations sur des nombres complexes. Chaque exercice est accompagné d'une description, de déclarations de variables et d'un algorithme détaillé. L'ensemble vise à illustrer des concepts fondamentaux en programmation et en manipulation de données.

Transféré par

shazzo89898
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TD 1 : Tableaux et Structures

Exercice 1 :
a) Cet algorithme calcule et stocke tous les carrés des nombres entiers de 1 à 5 dans un
tableau, puis les affiches.
i nb
1 [1]
2 [1|4]
3 [1|4|9]
4 [1|4|9|16]
5 [1|4|9|16|25]
1 [1|4|9|16|25]
2 [1|4|9|16|25]
3 [1|4|9|16|25]
4 [1|4|9|16|25]
5 [1|4|9|16|25]
Affiche :
1
4
9
16
25
b) On peut simplifier l’affichage pour éviter de devoir faire deux boucles :

Déclarations : nb : tableau [1 … 5] d’entiers ; i : entier


Début
Pour i de 1 à 5 faire
nb[i]  i*i
Ecrire(nb[i])
finPour
Fin

c) Cette algorithme calcule les 6 premiers termes d’une suite où U1 = 1 et Un = Un-1 + 2


et ensuite les affiches.

k t i
/ [1] /
2 [1|3] /
3 [1|3|5] /
4 [1|3|5|7] /
5 [1|3|5|7|9] /
6 [1|3|5|7|9|11] /
/ [1|3|5|7|9|11] 1
/ [1|3|5|7|9|11] 2
/ [1|3|5|7|9|11] 3
/ [1|3|5|7|9|11] 4
/ [1|3|5|7|9|11] 5
/ [1|3|5|7|9|11] 6
Affiche :
1
3
5
7
11

Oui on peut le simplifier, encore une fois on a besoin que d’une boucle puisqu’on peut
mettre le Ecrire de la deuxième boucle dans la première juste après l’affectation de t[k].
Ce qui en plus enlève une variable pas nécessaire ( i ). Il ne faut pas oublier d’ajouter
Ecrire(t[1]) juste avant le début de la boucle sinon ça n’affichera pas le premier terme de
la suite.

d) Cette algorithme calcule les 7 premiers termes d’une suite où U1 = 0 et U2 = 1 et Un =


Un-1 + Un-2 et ensuite les affiches. On reconnait la suite de Fibonacci

i suite
/ [0]
/ [0|1]
3 [0|1|1]
4 [0|1|1|2]
5 [0|1|1|2|3]
6 [0|1|1|2|3|5]
7 [0|1|1|2|3|5|8]
1 [0|1|1|2|3|5|8]
2 [0|1|1|2|3|5|8]
3 [0|1|1|2|3|5|8]
4 [0|1|1|2|3|5|8]
5 [0|1|1|2|3|5|8]
6 [0|1|1|2|3|5|8]
7 [0|1|1|2|3|5|8]

Exercice 2 :
Algorithme de Maximum
Description : Parmi 10 nombres donnés, l’algorithme trouve le plus grand nombre et sa
position dans la liste.
Déclarations : i_maxi, i, maxi, n : entiers ; nombres : tableau[1 … 10] d’entiers

Début
Lire(n)
nombres[1]  n
i_maxi  1
maxi  nombres[1]
Pour i  2 à 10 faire
Lire(n)
nombres[i]  n
Si n > maxi
alors
maxi  n
i_maxi i
finSi
finPour
Ecrire("Nombre maximum : ", maxi, " à la position : ", i_maxi)
Fin

Exercice 3 :
Algorithme de somme de deux tableaux

Description : Crée à partir de deux tableaux donnés un autre tableau qui est la somme des
éléments des deux tableaux de départs.
Déclarations : t1, t2, t3 : tableau[1 … 8] d’entiers ; i : entier

Début
t1 [4|8|7|9|1|5|4|6]
t2 [7|6|5|2|1|3|7|4]
Pour i  1 à 8
Faire
t3[i]  t1[i] + t2[i]
finPour
Fin

Exercice 4 :
(Ici, on dit que N = 10)

Algorithme de transfert des éléments positifs et des éléments négatifs d’un tableau.
Description : Transfert les éléments positifs d’un tableau T dans un tableau TPOS et transfère
les éléments négatifs ou nuls de T dans un tableau TNEG
Déclarations : i, n : entier ; TNEG, TPOS, T : tableau[1 … 10] d’entiers

Début
Pour i  1 à 10
Faire
Lire(n)
T[i]  n
Si n > 0
Alors
TPOS[i]  n
Sinon
TNEG[i]  n
finSi
finPour
Fin

Exercice 5 :
(Ici, N = 10)

Algorithme de produit scalaire de 2 vecteurs


Description : Calcul le produit scalaire de deux tableaux de nombres entiers.
Déclarations : U, V : tableau[1 à 10] d’entiers ; i, PS, n : entiers

Début
Pour i  1 à 10
Faire
Lire(n)
U[i]  n
finPour

Pour i  1 à 10
Faire
Lire(n)
V[i]  n
finPour

Pour i  1 à 10
Faire
PS  PS + U[i]*V[i]
finPour
Fin
Exercice 6 :
(Ici, on dit que N = 10)

Algorithme Inversion des éléments d’un tableau


Description : Inverse l’ordre des éléments d’un tableau donné.
Déclarations : n, i : entiers, TAB, TAB_temp : tableau[1 … 10] d’entiers.

Début
Pour i  1 à 10
Faire
Lire(n)
TAB[i] n
finPour
Pour i  1 à 10
Faire
TAB_temp[11-i]  TAB[i]
finPour
TAB  TAB_temp
Fin

Exercice 7 :
Algorithme de statistiques
Description : Calcul des statistiques à partir
Déclarations : n, i, j, inferieures, superieures : entiers ; valeurs : tableau[1 … 10] d’entiers ;
moyenne : réel

Début
Lire(n)
Si n > 0
Alors
valeurs[1]  n
moyenne  n
i1
Tant que i < 10 ET n > 0
Faire
Lire(n)
Si n > 0
Alors
moyenne  moyenne + n
ii+1
valeurs[i]  n
finSi
finTantQue
moyenne  moyenne / i
Pour j  1 à i
Faire
Si valeurs[j] > moyenne
Alors
superieures  superieures + 1
Sinon
inferieures  inferieures + 1
finSi
Ecrire(« Moyenne : », moyenne)
Ecrire(« Notes strictement supérieures à la moyenne : », superieures)
Ecrire(« Notes inférieures ou égales à la moyenne : », inferieures)
Sinon
Ecrire(« Erreur : au moins 1 valeur positive est nécessaire. »)
finSi
Fin

Exercice 8 :
Algorithme addition de matrices
Descriptions : Fait la somme de deux matrices données
Déclarations : M1, M2, M3 : tableaux[1 … 3][1 … 3] d’entiers ; i, j : entiers

Début
Pour j  1 à 3
Faire
Pour i  1 à 3
Faire
Lire(M1[i][j])
Lire(M2[i][j])
M3[i][j]  M1[i][j]) + M2[i][j])
finPour
Ecrire(M3[1][j], M3[2][j], M3[3][j])
finPour
Fin
Exercice 9 :
Algorithme Opérations Complexes
Description : Effectue différentes opérations entre deux nombres complexes

Déclarations : Type Comp = Structure


p_reele : réel
p_image : réel
FinStructure ;
comp1, comp2, comp3 : Comp
Début
# Addition
comp3.p_reele  comp1.p_reele + comp2.p_reele
comp3.p_image  comp1.p_image + comp2.p_image

# Soustraction
comp3.p_reele  comp1.p_reele - comp2.p_reele
comp3.p_image  comp1.p_image - comp2.p_image

# Multiplication
comp3.p_reele  comp1.p_reele*comp2.p_reele - comp1.p_image*comp2.p_image
comp3.p_image  comp1.p_reele*comp2.p_image + comp1.p_image*comp2.p_reele

# Division
comp3.p_reele  (comp1.p_reele*comp2.p_reele + comp1.p_image*comp2.p_image) /
(comp2.p_reele**2 + comp2.p_image**2)
comp3.p_image  (c comp1.p_image*comp2.p_reele - comp1.p_reele*comp2.p_image) /
(comp2.p_reele**2 + comp2.p_image**2)
Fin

Vous aimerez peut-être aussi