23 Nsi 03
23 Nsi 03
23 Nsi 03
SESSION 2023
__________________
NUMÉRIQUE et SCIENCES
INFORMATIQUES
Partie pratique
Classe Terminale de la voie générale
_________________
Sujet n°03
__________________
1/4
EXERCICE 1 (4 points)
Dans cet exercice, les nombres sont des entiers ou des flottants.
Écrire une fonction moyenne renvoyant la moyenne pondérée d’une liste non vide,
passée en paramètre, de tuples à deux éléments de la forme (valeur,
coefficient) où valeur et coefficient sont des nombres positifs ou nuls.
Si la somme des coefficients est nulle, la fonction renvoie None, si la somme des
coefficients est non nulle, la fonction renvoie, sous forme de flottant, la moyenne des
valeurs affectées de leur coefficient.
Exemples :
>>> moyenne([(8, 2), (12, 0), (13.5, 1), (5, 0.5)])
9.142857142857142
>>> moyenne([(3, 0), (5, 0)])
None
2/4
EXERCICE 2 (4 points)
On travaille sur des dessins en noir et blanc obtenus à partir de pixels noirs et blancs :
Dans le code ci-dessous, la fonction affiche permet d’afficher le dessin. Les pixels noirs
(1 dans la grille) seront représentés par le caractère " *" et les blancs (0 dans la grille)
par deux espaces.
La fonction zoomListe prend en argument une liste liste_depart et un entier k. Elle
renvoie une liste où chaque élément de liste_depart est dupliqué k fois.
La fonction zoomDessin prend en argument la grille dessin et renvoie une grille où
toutes les lignes de dessin sont zoomées k fois (c’est-à-dire, on applique à chaque
ligne la fonction zoomListe avec comme second paramètre k) et répétées k fois.
def affiche(dessin):
''' affichage d'une grille : les 1 sont représentés par
des " *" , les 0 par deux espaces " ".
La valeur "" donnée au paramètre end permet de ne pas avoir
de saut de ligne.'''
for ligne in dessin:
for col in ligne:
if col == 1:
print(" *", end= "")
else:
print(" ", end= "")
print()
3/4
def zoomListe(liste_depart, k):
'''renvoie une liste contenant k fois chaque
élément de liste_depart'''
liste_zoom = ...
for elt in ... :
for i in range(k):
...
return liste_zoom
Résultats à obtenir :
>>> affiche(coeur)
4/4