Ex 1:

Créez une fonction qui compte le nombre de voyelles dans une chaîne de caractères donnée par l’utilisateur. Faites attention aux lettres en majuscule.


Ex 2:

Définir une fonction qui compte le nombre de mots dans une chaîne saisie par l’utilisateur, en considérant qu’un mot est défini comme une séquence de caractères non-blancs.


Ex3:

Définir une fonction qui prend une phrase en entrée et la transforme en format titre, c’est-à-dire que la première lettre de chaque mot sera en majuscule .


Ex 4

Développez une fonction qui calcule la longueur d'une chaîne de caractères sans utiliser la fonction intégrée len()


Ex 5

Définir une fonction qui calcule la fréquence de chaque lettre dans une chaîne donnée.


Ex 6

Développer une fonction qui prend une chaîne de caractères comme argument et regroupe tout les mots de la chaîne dans une liste (chaque élément de la liste est un mot de la chaîne)


Ex 7

Un nombre heureux est un nombre entier qui, lorsqu’on ajoute les carrés de chacun de ses chiffres, puis les carrés des chiffres de ce résultat et ainsi de suite jusqu'à l’obtention d’un nombre à un seul chiffre égal à 1 (un).

Exemple :

N=7 est heureux, puisque :

  • 72=49
  • 4²+9²=97
  • 9²+7²=130
  • 1²+3²+0²=10
  • 1²+0²=1

On est arrivé à un nombre d’un seul chiffre qui est égal à 1, donc N=7 est heureux

Ecrire une fonction heureux (n) qui permet de déterminer si un nombre entier n est heureux ou non ( l'output est un booléen True si n est heureux).


Ex 8

En arithmétique, un auto-nombre est un entier naturel N qui ne peut pas s’écrire sous la forme d’un nombre M ajouté à la somme des chiffres de M.

Exemple

  • Pour N=21, n’est pas un auto nombre, puisqu’ilpeut être généré à partir de la somme d’un nombre M égal à 15 et les chiffres qui le constituent (1 et 5) c’est-à-dire 21=15+1+5.
  • Pour N=20, est un auto-nombre puisqu’il ne peut pas être généré à partir de la somme d’un nombre M et les chiffres qui le constituent.

Définit une fonction permettant de vérifier si un entier naturel N>0 est un auto-nombre (l'output doit etre un booléen ).


Ex 9

La suite de robinson est définie par :

  • U0=0
  • Un se construit en concaténant le nombre d’apparition de chacun des chiffres constituant le terme Un−1 suivi du chiffre lui-même, selon l’ordre décroissant des chiffres, pour tout n>0.

Exemple :

Pour n=5, U5=13123110

En effet :

  • U0=0
  • U1=10 car il y a une apparition (1) du chiffre 0 dans U0
  • U2=1110 car il y’a une apparition (1) du chiffre 1 et une apparition (1) du chiffre 0 dans U1
  • U3=3110 car il y’a une apparition (3) du chiffre 1 et une apparition (1) du chiffre 0 dans U2
  • U4=132110 car il y’a une apparition (1) du chiffre 3, deux apparition du chiffre 1 et une apparition (1) du chiffre 0 dans U3
  • U5=13123110 car il y’a une apparition (1) du chiffre 3, une apparition du chiffre 2, trois apparitions du chiffre 1 et une apparition (1) du chiffre 0 dans U4

Travail demandé :

Ecrire une fonction Robinson(N) permettant de calculer le N-ème terme de la suite de robinson


Ex 10

On définit le poids d’une chaine comme étant la somme des produits de la position de chaque voyelle dans cette chaine par son rang dans l’alphabet français.

Si la chaine ne contient pas de voyelles alors son poids est égal à zéro.

N.B : Les voyelles sont A, E, I, O, U, Y et leurs rangs respectifs sont : 1, 5, 9, 15, 21, 25

Exemple

  • La chaine ‘BONNE’ contient 2 voyelles ‘O’ et ‘E’, sont poids est égal à 2*15+5*5=55
  • La chaine ‘CHANCE’ contient 2 voyelles ‘A’ et ‘E’, son poids est égal à : 3*1+6*5=33

Ecrire un programme Python qui permet de lire une chaine non vide, composée seulement par des lettres alphabétiques majuscules puis calcule et affiche le poids de cette chaine.


Ex 11

Soit la formule suivante qui permet de déterminer une valeur approchée de cos(x) : $\cos(x) = 1 - \frac{x^2}{2!} + \frac{x^4}{4!} - \frac{x^6}{6!} + \cdots$

Ecrire une fonction dev_cos(x)qui permet de :

  • Saisir un réel x appartenant à l’intervalle [-1, 1],
  • Calculer et afficher une valeur approchée de cos(x) en utilisant la formule donnée ci-dessus. Le calcul s’arrête lorsque la différence entre deux termes consécutifs devient inférieure à 10−4.

Ex 12

On considère la suite \( U \) définie par :

  • \( U_0 \) est un entier positif pris au hasard, tel que \( 3 < U_0 < 40 \).
  • Si \( U_{n-1} \) est pair, alors \( U_n = \frac{U_{n-1}}{2} \).
  • Sinon, \( U_n = 3 \times U_{n-1} + 1 \), pour \( n > 0 \).

Cette suite finit toujours par entrer dans un cycle redondant formé par les termes \( 4, 2, 1 \) à partir d’un certain rang.

Exemple

Pour \( U_0 = 3 \), la suite se développe ainsi :

  • \( U_1 = 10 \)
  • \( U_2 = 5 \)
  • \( U_3 = 16 \)
  • \( U_4 = 8 \)
  • \( U_5 = 4 \)
  • \( U_6 = 2 \)
  • \( U_7 = 1 \)
  • \( U_8 = 4 \)
  • \( U_9 = 2 \)
  • \( U_{10} = 1 \)

Ainsi, la suite entre dans le cycle redondant \( 4, 2, 1 \) à partir du 6ème terme (rang \( = 6 \)).

Question

Écrire une fonction permettant de déterminer le rang à partir duquel la suite \( U \) entre dans le cycle redondant \( 4, 2, 1 \).


Ex 13

Soit la suite définie par :

\[ U_n = \begin{cases} 1 & \text{si } n < 2 \\ 3 \times U_{n-1} + U_{n-2} & \text{sinon} \end{cases} \]

Écrire une fonction récursive permettant de calculer le nième terme de la suite.


Ex 14

Soient \( u \) et \( v \) les deux suites définies par :

$$ \begin{cases} u_0 = a \\ v_0 = b \end{cases} \quad \text{et} \quad \forall n > 0, \quad \begin{cases} u_n = u_{n-1}^2 + 2v_{n-1} \\ v_n = v_{n-1} + 3u_{n-1} \end{cases} $$

Écrire deux fonctions CalculerU(a, b, n) et CalculerV(a, b, n) pour calculer respectivement les deux termes \( U_n \) et \( V_n \) des deux suites.

Laisser un commentaire

Retour en haut