while

Croissance de la factorielle.

Soit n un entier positif.
On appelle factorielle n (et on note n!) l'entier égal au produit des entiers de 1 à n.

Exemple : 5! = 1 × 2 × 3 × 4 × 5. On donc 5! = 120.

Écrire un programme qui détermine et affiche le plus petit entier n tel n! > B, B étant un entier paramètre indiqué dans le texte du programme.

Substitution à répétition.

Question 1.

Étudier le rôle de la méthode replace (méthode qui s'applique à un string) en testant le programme suivant.

Vous pouvez aussi voir et tester un exemple sur w3schools.

Question 2

Le rôle de cette méthode étant comprise, écrire un programme dans lequel on aura une chaîne de départ chDepart, une chaîne à remplacer chARemplacer et une chaîne de remplacement chRemplacement.

Ce script remplacera dans chDepart tous les chARemplacer par chRemplacement.

Attention, si chDepart='baaac', chARemplacer='ba' et chRemplacement='b' alors le résultat attendu n'est pas 'baac' puisque chARemplacer est encore présent. L'opération de substitution doit donc être à nouveau réalisée. Les étapes seraient ici 'baaac, 'baac' (le 'ba' du début a été remplacé par b), puis 'baac', puis 'bac' et enfin le résultat : 'bc'.

Question 1

nvch = ch.replace('e', 'a'); ne remplace que la première occurence de la lettre 'e' par 'a'.

Dans la version, nvch2 = ch.replace(/e/g, 'a');, toutes les lettres 'e' sont remplacées par 'a'.

Dans nvch3 = ch.replace('ess', 'u');, la première occurence de la chaîne "ess" est remplacée par "u".

Question 2

blog.

Soit x ≥ 1 un nombre réel. On appellera blog(x) le plus petit entier n tel que x ≤ 2n.

Par exemple, blog(17)= 5. En effet x > 24 et x ≤ 25 car \( 2^4 = 16 \) et \( 2^5 = 32 \). Le plus petit entier n tel que \( 2^n \) dépasse x = 17 est donc l'entier n = 5.

Écrire un script qui pour un nombre flottant x ≥ 1 donne en sortie blog(x).

PGCD.

Pour déterminer le pgcd de deux entiers naturels a et b, on utilise les propriétés suivantes :

  1. pgcd(a,0) = a
  2. pgcd(a,b) = pgcd(b,r) où r est le reste de la division euclidienne de a par b.

Lorsqu'on remplace pgcd(a,b) par pgcd(b,r), on remplace l'élément b par un élément strictement plus petit (et ≥ 0). En réitérant le procédé, on finit par arriver à une valeur de r égale à 0. La dernière valeur de r non nulle (qui peut éventuellement être b lui-même dans certains cas) est alors le pgcd de a et b.

En d'autres termes, le calcul du pgcd revient à remplacer le couple (a, b) par le couple (b,r) successivement jusqu'à ce que r soit nul puis à appliquer la règle 1 citée ci-dessus (c'est ce que l'on appelle habituellement l'algorithme d'Euclide).

Écrire un script qui détermine le pgcd de deux entiers naturels a et b.

Algorithme d'Euclide.

Pour éviter la variable auxiliaire:

La suite de Robinson.

Écrire un script :

  • générant au hasard un tableau A de chiffres (entiers entre 0 et 9).
  • A partir de ce tableau, le programme générera un second tableau B d'entiers naturels sur le modèle des exemples suivants :
    • Avec A = [2,2, 3, 1, 3, 4,4], B sera : [2,2,1,3,1,1,1,3,2,4]. Cela correspond à une lecture du tableau A : deux 2, un 3, un 1, un 3, deux 4.
    • Avec A = [9,9,9,1,2,2,2,5], B sera : [3,9,1,1,3,2,1,5].

Pour comprendre le titre donné à l'exercice, on pourra par exemple lire cette page.