Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Correction de la question 5 de l'exercice 2 du TD3 (M1202)
1. Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
2. Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
3. 1/ Outils à disposition
Entrées/sorties
Algorithme Caractère
Exemple
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
4. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie :
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas :
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
5. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie :
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
6. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
7. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme SousChaine
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
8. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
Algorithme SousChaine
Entrées : chaîne de
caractères chaine et entiers i
et j
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
9. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie
et j
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
10. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
11. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
12. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères
chaine
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
13. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
14. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
Fin
15. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Fin
16. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Exemple d'entrée :
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Fin
17. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Fin
18. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Fin
19. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Fin
20. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée :
Type de sortie :
Variables :
Début
→ enlève le dernier zéro
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaineN
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Fin
21. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
Type de sortie : chaîne de caractères
Variables :
Début
→ enlève le dernier zéro
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaineN
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Fin
22. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
Type de sortie : chaîne de caractères
Variables :
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
→ enlève le dernier zéro
Fin
23. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(
,
)="0" alors :
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
→ enlève le dernier zéro
Fin Si
Fin
24. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,
)="0" alors :
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
→ enlève le dernier zéro
Fin Si
Fin
25. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
→ enlève le dernier zéro
Fin Si
Fin
26. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
→ enlève le dernier zéro
Fin Si
Fin
27. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
→ enlève le dernier zéro
SousChaine(
Fin Si
Fin
)
28. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
SousChaine(
Fin Si
Fin
)
29. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variables :
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
SousChaine(
Fin Si
renvoyer sortie
Fin
)
30. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
SousChaine(
Fin Si
renvoyer sortie
Fin
)
31. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
sortie ← SousChaine(
Fin Si
renvoyer sortie
Fin
)
32. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
sortie ← SousChaine(chaineN,
,
Fin Si
renvoyer sortie
Fin
)
33. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
sortie ← SousChaine(chaineN,1,
)
Fin Si
renvoyer sortie
Fin
34. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
sortie ← SousChaine(chaineN,1,Longueur(chaineN)-1)
Fin Si
renvoyer sortie
Fin
35. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
sortie ← SousChaine(chaineN,1,Longueur(chaineN)-1)
6
Fin Si
renvoyer sortie
Fin
36. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
exemple : "1010100"
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
exemple : "101010"
Début
// Tester si chaineN contient un nombre pair en binaire :
→ tester si son dernier caractère est 0
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
7
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
→ enlève le dernier zéro
sortie ← SousChaine(chaineN,1,Longueur(chaineN)-1)
6
Fin Si
"101010"
renvoyer sortie
Fin
37. 1/ Outils à disposition
Entrées/sorties
Exemple
Algorithme Caractère
Entrées : chaîne de
caractères chaine et entier i
Type de sortie : chaîne de
caractères
Exemple d'entrées :
"abaab" et 3
Sortie dans ce cas : "a"
→ Caractère("abaab",3)
renvoie "a"
34
Algorithme SousChaine
SousChaine("abaab", 3,
Entrées : chaîne de
caractères chaine et entiers i 4) renvoie "aa"
et j
Type de sortie : chaîne de
caractères
Algorithme Longueur
Entrée : chaîne de caractères Longueur("abaab")
renvoie 5
chaine
Type de sortie : entier
2/ Comportement attendu de
l'algorithme à écrire
Entrées/sorties
Exemple d'entrée :
"1010100" dans le cas où
n vaut 1010100, c'est-àdire 84 écrit en binaire
Sortie dans ce cas :
"101010" (chaîne
contenant n/2 en binaire,
c'est-à-dire 84/2=42 en
binaire, donc 101010)
Algorithme DiviseParDeuxPair
Variable d'entrée : chaîne de caractères chaineN
Type de sortie : chaîne de caractères
Variable : chaîne de caractères sortie
Début
// Tester si chaineN contient un nombre pair en binaire :
Si Caractère(chaineN,Longueur(chaineN))="0" alors :
// extraire les premiers caractères de chaineN,
// du premier à l’avant-dernier
Exemple
Algorithme
DiviseParDeuxPair
Entrée : chaîne de caractères
chaine
Type de sortie : chaîne de
caractères
Enoncé : Déduisez-en un algorithme DiviseParDeuxPair qui prend en entrée
une chaîne de caractères qui contient un nombre binaire n et s'il est pair,
renvoie une chaîne de caractères qui contient la valeur de n/2 écrite en
binaire. Vous utiliserez l'algorithme Caractère qui prend en entrée une chaîne
de caractères chaine et un entier i et renvoie le i-ième caractère de chaine,
ainsi que l'algorithme SousChaine qui renvoie la partie de la chaîne de
caractères chaine allant du i-ième au j-ième caractère (inclus), et l'algorithme
Longueur qui renvoie le nombre de caractères de la chaîne de caractères
chaine.
sortie ← SousChaine(chaineN,1,Longueur(chaineN)-1)
renvoyer sortie
Fin