👤
Answered

FRstudy.me rend la recherche de réponses rapide et facile. Rejoignez notre communauté pour accéder à des réponses rapides et fiables à vos questions de la part de professionnels expérimentés.

bonjour est-ce que qqn pourrais m'aider pour ce programme en NSI s'il vous plait.
1- Il faut que je complète les lignes de codes "image1_console() et image1_turtle()
dans le code ci dessous:
#Image de la lettre a de type 1 - 0 blanc - 1 noir
image1 = [ [0,1,1,1,0],
[0,0,0,0,1],
[0,1,1,1,1],
[1,0,0,0,1],
[0,1,1,1,0] ]

# Image de la lettre a de type 2 - alternance b,n,b,n, ...
image2 = [ [1,3,1] , [4,1] , [1,4] , [0,1,3,1] , [0,1,3,1] , [1,4] ]

# Image mystère de type 2
image2_mystere = [ [32] ,
[0,1,3,1,1,1,1,1,3,1,2,2,3,1,3,1,2,2,2,1],
[0,1,3,1,3,1,3,1,1,1,2,1,2,2,2,1,1,1,2,1,2],
[0,1,3,1,1,1,1,1,3,1,1,1,2,1,2,1,1,1,1,1,1,1,4,1],
[1,1,1,1,2,1,2,1,1,1,2,3,3,1,1,1,1,1,2,2,2,1],
[1,1,1,1,2,1,2,1,1,1,2,1,5,1,1,1,1,1,4,1,1,1],
[2,1,3,1,3,1,3,1,2,1,2,1,2,2,1,1,2,1,1,1] ,
[2,1,3,1,3,1,4,2,3,1,3,1,2,2,2,1],
[32] ]

#-------------------------------------------------------------------------------
# Fonctions
#-------------------------------------------------------------------------------
# Fonction qui dessine une case noire de taille t en x,y (coin supérieur gauche)
def dessineCaseNoire(t,x,y) :
turtle.goto(x,y)
turtle.setheading(0)
turtle.down()
turtle.begin_fill()
for i in range(4) :
turtle.forward(t)
turtle.right(90)
turtle.end_fill()
turtle.up()


def image1_console(image1) :
'''
image1 : liste de listes de type image1
affichage dans la console
'''
# Boucle d'accès aux ................
for i in range(len(image1)):

# Boucle d'accès aux ................
for j in range(len(image1[0])) :

# ......................
if image1[i][j] == 1 :
print('O', end='')
else :
print(' ', end='')
print()



def image1_turtle(image1) :
'''
image1 : liste de listes de type image1
affichage dans une fenêtre turtle
'''
# ..................................
for i in range(len(image1)):

# ..................................
for j in range(len(image1[0])) :
# ...................................
if image1[i][j] == 1 :
dessineCaseNoire(10,-160+10*j,160-10*i)

def decodage(image2) :
'''
in : image2 - liste de listes de type image2
out : image1 - liste de listes de type image1
'''
# A compléter
# Il faut parcourir les sous-listes de image2 avec précision
# pour espérer recréer la liste image1 correspondante
# Prévoir 3 boucles inbriquées pour réécrire les 0 et les 1
# Utiliser une liste temporaire pour mémoriser chaque ligne
# Un test de parité (%2) permet d'identifier l'alternance
#-------------------------------------------------------------------------------
# Programme principal
#-------------------------------------------------------------------------------

# Réglages de la fenêtre turtle
turtle.speed(100)
turtle.color("black")
turtle.up()

# Affichages de image1 (Console et Turtle)
image1_console(image1)
image1_turtle(image1)

# Affichages de image2 (non disponible car à faire)
#image1_console(decodage(image2))
#image1_turtle(decodage(image2))

# Affichages de l'image mystère
#image1_console(decodage(image2_mystere))
#image1_turtle(decodage(image2_mystere))

turtle.hideturtle()
turtle.mainloop()


2- Ecrire une fonction "decodage()" qui permet de transformer une image de type 2 passee en parametre en image de type 1.
Principe généraux :
-Prévoir d'acceder aux valeurs des sous-listes(2boucles for)
-Identifier l'alternance avec un test de parité(%2)
-Ajouter autant de 0 et de 1 que nécéssaire(1 boucle for)
-Ajouter chaque ligne completee à la liste de l'image

3-Tester votre fonction sur l'image de type 2 fornie et sur l'image mystere
Ce travail est à rendre avant ce soir minuit,
Merci d'avance à tous


Sagot :

Nous sommes ravis de vous avoir parmi nous. Continuez à poser des questions et à partager vos réponses. Ensemble, nous pouvons créer une ressource de connaissances précieuse pour tous. Merci d'avoir utilisé FRstudy.me. Nous sommes là pour répondre à toutes vos questions. Revenez pour plus de solutions.