Mathematics">
Exercices Tantque-6
Exercices Tantque-6
Exercices Tantque-6
faire
App
Soit la séquence suivante:
i ←2
Tantque (e mod i ≠ 0) faire
i←i+1
FinTantque
Rq:
Le travail est répété lorsque la condition est vérifiée(la condition doit être une
expression logique)
La notion de compteur(incrémentation ou décrémentation automatique n’existe
plus avec tantque)
Lorsque le travail se répéte mais il n’est pas possible de déterminer un nombre de
répétitions (VI et VF pour la structure Pour) , on passe à Tantque
Exercices
Ex1
Soit la séquence suivante
i ←2
Tantque e ≠ 1 faire
Si e mod i = 0 alors
écrire(i)
e ← e div i
Sinon
i←i+1
finsi
finTantque
Questions
Exécuter cette séquence pour e = 45
Que fait cette séquence?
Ex2
Récrire l’ago du test si une chaîne est palindrome ou non en utilisant
tantque…faire
Ex3
Ecrire un algo(+python) d’un programme permettant d’afficher le pgcd de 2 entiers
a et b (a>2 , b > 2)
Ex4
On se propose de simuler le jeu suivant
La machine choisit un entier au hasard entre 1 et 100
Le joueur doit deviner ce nombre en donnant une proposition à laquelle la
machine afficher “plus grand” si l’entier choisi est plus grand que la proposition ,
‘’plus petit’’ sinon
Le joueur dispose de 10 tentatives
Le jeu s’arrête lorsque le joueur devine le nombre avant les 10 tentatives ou
le nombre de propositions dépasse 10
App
Soit la séquence suivante:
i ←2
Tantque (e mod i ≠ 0) faire
i←i+1
FinTantque
Rq:
Le travail est répété lorsque la condition est vérifiée(la condition doit être une
expression logique)
La notion de compteur(incrémentation ou décrémentation automatique n’existe
plus avec tantque)
Lorsque le travail se répète mais il n’est pas possible de déterminer un nombre de
répétitions (VI et VF pour la structure Pour) , on passe à Tantque
Exercices
Ex1
Soit la séquence suivante
i ←2
Tantque e ≠ 1 faire
Si e mod i = 0 alors
écrire(i)
e ← e div i
Sinon
i←i+1
finsi
finTantque
Questions
Exécuter cette séquence pour e = 45
Que fait cette séquence?
Ex2
Récrire l’ago du test si une chaîne est palindrome ou non en utilisant
tantque…faire
Ex3
Ecrire un algo(+python) d’un programme permettant d’afficher le pgcd de 2 entiers
a et b (a>2 , b > 2)
Ex4
On se propose de simuler le jeu suivant
La machine choisit un entier au hasard entre 1 et 100
Le joueur doit deviner ce nombre en donnant une proposition à laquelle la
machine afficher “plus grand” si l’entier choisi est plus grand que la proposition ,
‘’plus petit’’ sinon
Le joueur dispose de 10 tentatives
Le jeu s’arrête lorsque le joueur devine le nombre avant les 10 tentatives ou
le nombre de propositions dépasse 10
1. afficher le plus grand nombre formé par les chiffres d’un nombre
Exemple : pour l’entier 623589 le plus grand nombre formé par ses chiffres est 986532
4. saisir une chaîne alphabétique puis afficher si elle est palindrome ou non
17 * 19 = 19 + 304 = 323
On veut écrire un programme qui lit deux entiers positifs non nuls et inférieur à 100,
calcule et affiche le produit de deux entiers par la méthode Russe.
8. Calculer le pgcd de 2 entiers a et b en utilisant le fait qu’il soit égal au produit des
facteurs communs dans la décomposition en facteurs premiers des 2 entiers avec
le plus petit exposant
Exemple
A = 113400 et B = 3667356
En déduire le ppcm comme étant tous les facteurs avec le plus grand exposant
Remarque : penser à utiliser l’algo de décomposition en facteurs premiers vu en
classe)
9. Remplir un tableau avec n entiers entre 1 et 100 (n entre 5 et 100) puis
afficher les entiers premiers s’il existe: Remplissage manuel
/aléatoire(automatique)
10. La suite de Syracuse d'un nombre entier Z > 0 est définie par récurrence,
de la manière suivante :
U0 = Z
Un = un-1/2 si n est pair Un = 3un-1+1 si n est impair
Z = 15
u0 u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u15 u16 u17 u18 u19 u20
15 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1 4 2 1
13. D’approximer la racine nième (n) de A sachant la suite ci-dessous converge vers
cette valeur
Et =A
14. Afficher les 10 premiers entiers positifs Kaprekar(Un entier E est dit kaprekar si
,lorsqu’il est élevé au carré , peut être séparé en une partie gauche et une partie
droite (non nulles) telles que la somme donne le nombre initial E)
15. Crypter une chaîne alphabétique ch en une chaîne numérique représentant la
concaténation des codes ASCII de chaque caractère
17. La partie décimale de l’inverse d’un entier premier P (1/P) contient une suite de
chiffres qui se répète (exp 1 / 7 = 0.142857142857 ….) . Afficher , pour un entier
P premier saisi , cette séquence
Préparation synthèse 1
FinPour
retourner
FIN
En déduire une affectation qui calcule V ( on ne demande pas de lire ou d’afficher)
Exercice 2
Pour chaque séquence , donner une affectation équivalente qui utilise une fonction prédéfinie
parmi cet ensemble ( estnum , abs , pos)
Si (x 0) alors
Y←x
Sinon
Y ← -x
finsi
P← -1 i← 0
Tantque ch[i] c et i long(ch)-1 faire
i← i +1
finTantque
Si ch[i] = c alors
P← i
finsi
P← -1 i← 0
Tantque ch[i] c et i long(ch)-1 faire
i← i +1
finTantque
Si ch[i] = c alors
P← i
finsi
Exercice 3
Soit l’algo suivant à compléter
Fonction inconnue(x:entier) : ………………………..
DEBUT
R ← “”
CH← convch(x)
Pour i de 0 à long(ch) -1 faire
Si valeur(ch[i] mod 2 = 1) alors
R ← R + ch[i]
finsi
finPour
Si long(R) > 0 alors
Retourner valeur(R)
Sinon
Retourner -1
finsi
FIN
Questions
● Compléter le type de retour dans l’entête
● Donner le tdo locaux de inconnue
● Donner la valeur retournée par la fonction pour x = 15472 et x= 2462
● Déduire le rôle de cette fonction
Exercice 4
Etant donné un ensemble de points , on se propose de réaliser les actions suivantes :
● Saisir un nombre de points n entre 100 et 1000
● Mettre les points dans un tableau T avec les coordonnées sous la forme d’une chaîne “x,y”
où x est l’abscisse et y est l’ordonnée (exp : “2.5,-1”)
● Afficher le / les points les plus proches du centre
Questions
Donner l’algo principal en utilisant une ou plusieurs fonctions
Donner l’algo de chaque fonction utilisée
Préparation synthèse 1
FinPour
retourner
FIN
En déduire une affectation qui calcule V ( on ne demande pas de lire ou d’afficher)
Exercice 2
Pour chaque séquence , donner une affectation équivalente qui utilise une fonction prédéfinie
parmi cet ensemble ( estnum , abs , pos)
Si (x 0) alors
Y←x
Sinon
Y ← -x
finsi
P← -1 i← 0
Tantque ch[i] c et i long(ch)-1 faire
i← i +1
finTantque
Si ch[i] = c alors
P← i
finsi
P← -1 i← 0
Tantque ch[i] c et i long(ch)-1 faire
i← i +1
finTantque
Si ch[i] = c alors
P← i
finsi
Exercice 3
Soit l’algo suivant à compléter
Fonction inconnue(x:entier) : ………………………..
DEBUT
R ← “”
CH← convch(x)
Pour i de 0 à long(ch) -1 faire
Si valeur(ch[i] mod 2 = 1) alors
R ← R + ch[i]
finsi
finPour
Si long(R) > 0 alors
Retourner valeur(R)
Sinon
Retourner -1
finsi
FIN
Questions
● Compléter le type de retour dans l’entête
● Donner le tdo locaux de inconnue
● Donner la valeur retournée par la fonction pour x = 15472 et x= 2462
● Déduire le rôle de cette fonction
Exercice 4
Etant donné un ensemble de points , on se propose de réaliser les actions suivantes :
● Saisir un nombre de points n entre 100 et 1000
● Mettre les points dans un tableau T avec les coordonnées sous la forme d’une chaîne “x,y”
où x est l’abscisse et y est l’ordonnée (exp : “2.5,-1”)
● Afficher le / les points les plus proches du centre
Questions
Donner l’algo principal en utilisant une ou plusieurs fonctions
Donner l’algo de chaque fonction utilisée