Mission 3 : Fonctions et sous-problèmes

Mission 3 : Fonctions et sous-problèmes

Introduction

UC Louvain

Le service Presse et Communication de l'Université fait appel aux étudiants de l'EPL pour étoffer ses ressources graphiques. Vous êtes chargés de produire des images de drapeaux et logos qui seront utilisés dans les médias de l'université. Pour produire ces dessins de nature géométrique, vous allez utiliser la programmation en Python en utilisant les graphiques tortue.

Objectifs

A l'issue de cette mission, chacun d'entre vous :

  • pourra expliquer et exploiter les notions suivantes en Python :
    • définition et appel de fonctions
    • paramètres et valeurs de retour
    • dessin avec la tortue
  • sera capable de décomposer un problème en sous-problèmes
  • pourra écrire une spécification précise d'un programme informatique

Préparation, étude et apprentissage

Vous devez lire et comprendre ces parties du syllabus pour pouvoir mener à bien cette mission :

Questionnaire de démarrage

Note

Pour vous aider dans la réalisation de ces exercices, certains d'entre eux sont disponibles sur Inginious avec une correction automatisée. Il a été fait en sorte que cette correction automatique soit utile à votre compréhension de la matière, cependant cela ne doit pas vous empêcher de discuter de vos réponses, correctes ou non, avec votre tuteur et les membres de votre groupe.

Questions à choix multiples

Les questions à choix multiples de cette mission sont également accessibles en ligne depuis https://inginious.info.ucl.ac.be/course/LSINF1101-PYTHON/Session3_QCM

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Question 1

Définissez les concepts suivants et donnez un exemple :

  • définition d'une fonction
  • en-tête d'une fonction
  • documentation et spécification d'une fonction
  • corps d'une fonction
 
 
 
 
 
 

Question 2

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Que faut-il changer pour faire une fonction calculeMax qui retourne le plus grand nombre au lieu de l'afficher ?

 
 
 
 

Question 3

Un étudiant montre à son tuteur le programme suivant :

hauteur = int(input("Hauteur de la croix: "))
print()
croix('X', hauteur)

Lors de son exécution, il affiche les caractères suivants à l'écran :

Hauteur de la croix: 9

    X
    X
    X
    X
XXXXXXXXX
    X
    X
    X
    X

Réécrivez l'en-tête, la spécification et le corps de la fonction croix utilisée par cet étudiant. (Pour rappel, print(x, end="") imprime x sans aller à la ligne ensuite.)

Question 4

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Question 5

You cannot see this exercise because you are currently not logged in. Click here to log in or get a direct access to the exercice on INGInious by following this link.

Question 6

Quelle est la différence entre les trois instructions import suivantes ? Après ces instructions, comment réfère-t-on à la constante math.pi ?

import math
.

import math as m
.

from math import *
.

Question 7

Dans le programme suivant :

import turtle
t = turtle.Turtle()
t.color("blue")
print(t.heading())

Quelle est la nature (module, objet, fonction, méthode, …) des différents identifiants : turtle, Turtle, t, color, print, heading ?

 
 
 
 
 
 

Quelle est la signification de turtle.Turtle ? t.color ?

 
 

Question 8

Ecrivez un programme qui crée une tortue et trace en bleu un escalier de 3 marches de 20 unités descendant vers la droite.

 
 
 
 
 
 
 
 

Question 9

Dans cette mission, vous allez devoir utiliser la tortue pour dessiner le drapeau européen :

Le drapeau européen

Pour écrire un programme qui réalise ce dessin, il n'est pas souhaitable de commencer directement à écrire le code Python correspondant. Il faut d'abord décomposer ce problème complexe en sous-problèmes plus simples. On pourra ensuite écrire des fonctions pour résoudre chacun de ces sous-problèmes, et utiliser ces fonctions dans la fonction principale.

Expliquez en français quels sous-problèmes vous pouvez identifier dans ce problème. Discutez-en avec votre tuteur durant la séance intermédiaire afin d'identifier les fonctions que vous allez réaliser. Pour répondre à cette question, vous devez avoir une idée de la spécification et des paramètres de vos fonctions, il n'est pas nécessaire d'avoir déjà leur réalisation.

 
 
 
 
 
 
 
 
 
 


Page précédente Page suivante