4ème SC 1 & 2 Matière : Informatique
Nouveau Régime Devoir de synthèse n°1 Durée : 1H:30
Nom et Prenom……………………..
Exercice 1 (4 points)
Soit la partie déclarative d’un programme
mot1’informatique’
mot2’3D’
En utilisant des fonctions et des procédures prédéfinies en algorithme, donner
les instructions permettant de réaliser les traitements suivants :
a-A partir de mot1, mettre dans la variable mot3 le terme ‘format’.
Mot3sous_chaine(mot1,2,8)
b-A partir de mot3 et mot2 mettre dans la variable mot4 le terme ‘format 3D’
mot4mot3+’ ’+mot2
c-mettre dans n la longueur de la chaine mot4
nlong(mot4)
d-A partir de mot2, mettre dans m la valeur 3.
mvaleur(sous_chaine(mot2,0,1))
Exercice 2 (4 points)
Soit le module suivant :
Fonction inconnue (n :entier) : entier
Debut
s0
Repeter
rn mod 10
nn div 10
ss+r
jusqu’à n=0
retourner s
1
Fin
A/Tester le module avec n=135
rn mod 10 nn div 10 ss+r
5 13 0+5=5
3 1 5+3=8
1 0 8+1=9
On retourne 9
B/Déduire le rôle ce module
Retourner la somme des chiffres d’un entier n
Exercice 3 (2+4+6 points)
-Saisir un tableau T1 de n (n>2) chaine de caractères,
chaque chaine ne doit pas dépasser 8 caractères.
-Mettre dans un tableau T2 le nombre de caractères majuscules suivit
du caractère ‘*’ suivit du nombre de caractères chiffres de chaque élément de
T1.
-Afficher le tableau T2.
Exemple T1 :
Ahmed2 AB152 2test4
On affiche
T2 :
1*1 2*3 0*2
En effet la chaine Ahmed2 contient un seul caractère majuscule ‘A’ et un seul
caractère chiffres ‘2’ donc T2[0] contient 1*1
Travail demandé:
1/Compléter le schéma suivant :
2
Programme
principal
SaisirN RemplirT remplirT2
intervalle
2/Donner en Python le programme principale .
from numpy import array
n = saisirN()
T1 = remplirT1(n)
T2 = remplirT2(T1, n)
afficher(T2, n)
3/Définir en python les modules de la question 1
def saisirN():
valide = False
while valide == False:
n = int(input('Taille tableau '))
valide = 2 < n <= 10
return n
def remplirT1(n):
T1 = array([str] * n)
for i in range(n):
valide = False
3
while valide == False:
T1[i] = str(input('Donner element du
tableau '))
valide = len(T1[i]) < 8
return T1
def intervalle(ch, debut, fin):
s = 0
for i in range(len(ch)):
if debut <= ch[i] <= fin:
s = s + 1
return s
def remplirT2(T1, n):
T2 = array([str] * n)
for i in range(n):
T2[i] = str(intervalle(T1[i], 'A', 'Z')) +
'*' + str(intervalle(T1[i], '0', '9'))
return T2
def afficher(T, n):
for i in range(n):
print(T[i], end=" ")