Exercices Python

Exercices ciblés

Les exercices suivants portent sur des éléments bien précis du langage Python.

Exercices divers

Comptage de lettres

par exemple, compterLettres("L'informatique, c'est fantastique !") doit renvoyer :  {'t': 4, 'n': 2, 'i': 3, ',': 1, 'o': 1, ' ': 3, 'f': 2, 'm': 1, "'": 2, 's': 2, 'L': 1, 'u': 2, 'c': 1, 'r': 1, 'e': 3, '!': 1, 'a': 3, 'q': 2}

Correction

 


 Rectangles

Soient deux rectangles définis par des listes de la forme [positionX, positionY, largeur, hauteur] .

  • Écrire une fonction intersection()  qui à partir de deux rectangles ainsi définis renvoie, s'il existe, le rectangle intersection.

 

 

Correction

 


 Cinématique

  • Écrire une instruction qui permet de calculer puis afficher la distance d  parcourue par un point qui s'est déplacé à vitesse constante v  pendant un temps t .
  • Améliorer l'affichage pour limiter le résultat à 3 chiffres significatifs, quelles que soient les valeurs de d  et t .

La vitesse n'est plus constante. Elle est donnée par une fonction v(t) .

  • Écrire un algorithme permettant d'estimer la vitesse parcourue par une méthode d'intégration numérique : méthode des rectangles et méthode des trapèzes.

(voir https://fr.wikipedia.org/wiki/Calcul_numérique_d'une_intégrale)

méthode des trapèzes

méthode des rectangles

remarque : écrire cet algorithme dans une fonction  distance()  acceptant comme arguments :

la fonction v() , l'intervalle de temps (t0, t1)  pendant lequel estimer la distance parcourue, et la durée dt  de l'échantillon de calcul.

Correction


 Recherche dans une liste (séquentielle et dichotomique)

Il est fréquemment nécessaire de rechercher un élément particulier dans une liste (de nombres, de mots, de couleurs, ....).

Soit une liste de nombres réels, classés par ordre croissants :

L'objectif de l'exercice est d'obtenir l'indice i  et la valeur v  de l'élément de la liste le plus proche d'un nombre n  donné (mais inférieur).

  • Écrire un algorithme réalisant ceci par balayage (recherche séquentielle) : par test de tous les éléments de la liste depuis le premier, jusqu'à celui recherché.

Indice

On envisage deux types de fonction : une fonction séquentielle et une fonction récursive.

 

 

Éléments de Correction

 

 

 


rubikscube Rubik's cube

  • Construire un tableau (une liste de listes) représentant la face de ce Rubik's cube :
  • Réaliser une fonction tourner_Rubik()  opérant une rotation d'un quart de tour (sens trigonométrique) des cases du Rubik'cube.

 


 Suite de Conway

1 11 21 1211 111221 312211 13112221 1113213211 31131211131221 …

"Avez-vous deviné la règle de construction de cette suite ? Le premier terme se compose de un « un », puis le deuxième énonce le premier « un un ». Ce deuxième terme se compose de deux « un », donc le troisième, énonçant le deuxième, est « deux un ». Il est composé de un « deux » et de un « un », et donc est suivi par « un deux un un », et ainsi de suite."

J.H. Conway , The Book of Numbers , Springer-Verlag, 1996

  • Écrire une fonction Conway(u_n)  acceptant en argument une chaîne de caractères représentant un terme u_n de la suite de Conway et renvoyant le terme u_{n+1}.

Correction


 Génération de code HTML

Correction


 7 segments

  • Écrire une fonction sept_seg()  capable de convertir un nombre décimal dans un format pour afficheurs "7 segments".

Par exemple, la chaîne de caractères "23"  sera convertie en une chaîne de caractères qui s'affichera comme ceci :

Ce qui correspond à la chaîne de caractères : " _ _ \n _| _|\n|_ _|\n"

 

Correction

Mais on doit pouvoir faire plus lisible !!

 

 


Dépôt de fichier réponse

  • Ajouter un(des) fichier(s) puis cliquer sur Téléverser.
  • Rafraichir la page pour vérifier que le dépôt a bien eu lieu.

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code