Vous êtes sur la page 1sur 2

DEVOIR 3

Ce devoir est à réaliser sous forme numérique :


connectez-vous à votre site de formation www.cned.fr > espace inscrit
et suivez nos conseils pratiques pour déposer votre devoir et le faire corriger par internet.

IMPORTANT Veuillez réaliser ce devoir après avoir étudié la séquence 3.

« La réalisation de vos devoirs est un travail personnel permettant d’évaluer vos acquisitions et de construire
votre projet d’orientation. Sauf consignes contraires, il est obligatoire de les réaliser dans les conditions
de l’examen, c’est-à-dire en temps limité, sans recopier des contenus issus de supports extérieurs au
sujet (internet, cours du CNED, manuels scolaires…). Le cas échéant, si vous avez besoin de vous référer
à un passage issu d’un support extérieur, mettez-le entre guillemets et citez votre source. Tout travail non
personnel sera sanctionné.»

Durée : 2 h 00 – Ce devoir comporte une partie orale asynchrone. Pour ce devoir, vous devez
rendre une copie et un fichier audio.

Carré magique
Pour chaque question qui demande l’écriture d’une fonction en Python, vous collerez une capture d’écran de votre
programme avec date et heure apparentes. Vos fonctions seront documentées (docstrings et commentaires utiles).
Considérons l’étude des carrés magiques en Python comme :

CNED PREMIÈRE NUMÉRIQUE ET SCIENCES INFORMATIQUES 1


Ces carrés sont des tableaux carrés dont la somme des lignes, des colonnes et des diagonales sont
identiques. Plus précisément, un carré d’ordre n est magique si :
• il contient tous les n2 premiers nombres entiers ;
• les sommes des nombres des lignes, des colonnes et des diagonales sont identiques.

Consignes et questions
Comprendre comment est constitué un carré magique et dégager une structure Python permettant de le
représenter puis de concevoir de petites fonctions permettant de tester certaines propriétés d’un carré ou
d’effectuer certains calculs sur ce carré.
Toutes les réponses doivent être justifiées. Pour les questions 1 à 4, on considère l’exemple de carré donné
dans l’énoncé
1. C
 omment pourrait-on représenter un tel carré en Python ? (2 points) On notera carre cette représenta-
tion. Donnez son implémentation en Python.
2.Que vaut len(carre) ? (1 point)
3.Que valent carre[2][0] et carre[1][2] ? (1 point)
4.Comment récupérer la valeur centrale du carré ? (1 point)
5.Définir une fonction somme_ligne(carre, k) qui prend un carré de dimension quelconque en paramètre
et qui renvoie la somme des nombres sur la ligne d’indice k du carré. (3 points)
Pour la fonction somme_ligne (carre, k) on pensera a parcourir chaque nombre de la ligne k avec une boucle
for et à accumuler tous ces nombres dans un cumul que l’on retourne à la fin.
6.En utilisant la fonction somme_ligne (même si vous n’avez pas trouvé son code), proposez une fonction
somme_lignes_egales(carre) qui vérifie que les sommes de tous les nombres de chaque ligne sont les
mêmes. (4 points)
7.Proposer à présent le code d’une fonction qui prend un carré de dimension quelconque en paramètre,
ainsi que le numéro k d’une colonne, et qui renvoie la somme des nombres de la colonne k. (3 points)

Partie orale asynchrone – réponse à enregistrer


Vous devez commencer pour cette présentation orale de l’exercice par énoncer votre prénom, votre nom
et votre indicatif. Si vous traiter cet exercice « à l’écrit », celui-ci sera noté sur 2,5 points.
8. E
 xpliquez à présent comment on pourrait concevoir une fonction qui teste si un carré est magique. On
ne demande pas le code de cette fonction mais simplement des explications sur sa mise en oeuvre.
(5 points)

– Respecter le nommage proposé et s’en inspirer pour proposer vos propres fonctions.
– Le travail est déjà bien découpé en petites questions.
– Les fonctions demandées obéissent à une logique semblable, il faut s’en inspirer et les réutiliser
dans le code si besoin.

2 CNED PREMIÈRE NUMÉRIQUE ET SCIENCES INFORMATIQUES

Vous aimerez peut-être aussi