Académique Documents
Professionnel Documents
Culture Documents
Exercice 1 :
1) Fonction Calcul (N : entier) : entier
2)
Tableau de déclaration des objets locaux (TDOL)
Objet Type/Nature
s,k Entier
ch Chaine de caractères
3)
Calcul (31) : 1
Calcul (111) : 3
Calcul (145) : 4
4)
Répéter le calcul de la somme des carrées des chiffres d’un entier jusqu’à avoir un
nombre formé par un seul chiffre et le retourner.
Exercice 2 :
Algorithme de la fonction produit :
Fonction produit (n : chaine de caractères, d : entier) : chaine de caractères
Début
k long (convch (d))-1 # k représente le nombre de zéros de d
res n
p pos (".", n) # p représente la position de "." dans n
Si (p ≠ -1) alors # il s’agit d’un réel
nb long (n)-p-1 # nb représente le nombre de chiffres après la virgule
effacer (res, p, p+1) # éliminer "."
Si (k > nb) alors
Pour i de 1 à k-nb faire
res res + "0"
Fin pour
res sous_chaine (res, 0, p+k) + "." + "0"
Sinon si (k < nb) alors
res sous_chaine (res, 0, p+k) + "." + sous_chaine (res, p+k, long (res))
Sinon
res sous_chaine (res, 0, p+k) + "." + "0"
Fin si
Sinon # il s’agit d’un entier
Pour i de 1 à k faire
res res + "0"
Fin si
Retourner res
Fin
Tableau de déclaration des objets locaux (TDOL)
Objet Type/Nature
i , k , p , nb Entier
res Chaine de caractères
Implémentation en python :
def produit (n,d) :
k = len (str (d))-1
res = n
p = n.find (".")
if (p != -1) :
nb = len (n)-p-1 # nb chiffres après la virgule
res = res [ : p] + res [p+1 : ] # éliminer "."
if (k > nb) :
for i in range (1,k-nb+1) :
res += "0"
res = res [ : p+k] + "." + "0"
elif (k < nb) :
res = res [ : p+k] + "." + res [p+k : ]
else :
res = res [ : p+k] + "." + "0"
else :
for i in range (1,k+1) :
res += "0"
return res
#programme principal
print (produit ("1.5",10))
Exercice 3 :
Solution :
Algorithme du programme principal :
Algorithme hydrocarbure
Début
saisir_taille (n)
remplir_tableau (t,n)
trier (t,n)
afficher_tableau (t,n)
Fin
Tableau de déclaration des nouveaux types (TDNT)
Type
Tab = Tableau de 20 chaines de caractères
Sinon
ii+1
Fin si
Fin pour
Fin
Tableau de déclaration des objets locaux (TDOL)
Objet Type/Nature
i,k,p,x,y Entier
ch Chaine de caractères
decalage_gauche Procédure
decalage_droite Procédure
Implémentation en python :
from numpy import array
def saisir_taille () :
x = int (input ("Donner le nombre d'hydrocarbures (> 4 et < 21) :"))
while not (4 < x < 21) :
x = int (input ("Donner le nombre d'hydrocarbures (> 4 et < 21) :"))
return x
def remplir_tableau (ta,nb) :
for i in range (nb) :
print ("**** Hydrocarbure num", i+1 ,"****")
x = int (input ("Donner le nombre d’atomes de carbone :"))
while (x <= 1) :
x = int (input ("Donner le nombre d’atomes de carbone :"))
y = int (input ("Donner le nombre d’atomes d’hydrogène :"))
while (y != 2*x+2) and (y != 2*x) and (y != 2*x-2) :
y = int (input ("Donner le nombre d’atomes d’hydrogène :"))
ta [i] = "C" + str (x) + "H" + str (y)
def decalage_droite (ta,ind) :
tmp = ta [ind]