algorithmie
Dernière réponse : dans Programmation
bonjour,
je suis d'butante en infomatiques de gestion,
est ce que vous pouvez m'aidez à trouver la solution de cet exercice?avec des explicatrions SVP.
Calculer le miroird'un nombre donné(par ex.465 donne564,3210 donne123)
le nombre de départ sera le paramétre d'une procédure.
MERCI pour votre interret :-)
je suis d'butante en infomatiques de gestion,
est ce que vous pouvez m'aidez à trouver la solution de cet exercice?avec des explicatrions SVP.
Calculer le miroird'un nombre donné(par ex.465 donne564,3210 donne123)
le nombre de départ sera le paramétre d'une procédure.
MERCI pour votre interret :-)
Autres pages sur : algorithmie
Lassé par la pub ? Créez un compte
connais tu le modulo (symbole %) ?
le modulo te permet de recuperer le reste de la division.
par exemple
4650/10=465
4650%10=0
465/10=46.5 (46 si on se limite à un type entier)
465%10=5
sur cette base on peut récupérer le dernier chiffre et le réinjecter dans le résultat.
la fonction miroir en php
<?php
function mirror($val) {
$result=0;
// je suppose que tu connais les boucles
while($val) {
$result=$result*10;
$result=$result+($val%10);
$val=($val-$val%10)/10;
}
return $result;
}
// echo sert a afficher
echo mirror(4650);
?>
explication :
on a $val qui est notre valeur de depart
on a $result qui est notre valeur d'arrivée (pour le moment vide)
tant que $val ne vaut pas 0
on va extraire le dernier chiffre avec modulo.
on va le mettre dans le resultat en tant que premier chiffre
on va oter du resultat ce chiffre puis diviser par 10
exemple :
val= 4650
result= 0
-------------boucle
result= 0x10= 0 (pas de changement)
chiffre= val modulo 10= 0
result= 0+ chiffre = 0+0= 0
val= (4650- chiffre) /10 = (4650-0)/10= 465
-------------reboucle
result= 0x10= 0 (pas de changement)
chiffre= val modulo 10= 5
result= 0+ chiffre = 0+5= 5
val= (465- chiffre) /10 = (465-5)/10= 46
-------------reboucle
result= 5x10= 50
chiffre= val modulo 10= 6
result= 50+ chiffre = 50+6= 56
val= (46- chiffre) /10 = (46-6)/10= 4
-------------reboucle
result= 56x10= 560
chiffre= val modulo 10= 4
result= 560+ chiffre = 560+4= 564
val= (4- chiffre) /10 = (4-4)/10= 0
-------------fin de boucle
le modulo te permet de recuperer le reste de la division.
par exemple
4650/10=465
4650%10=0
465/10=46.5 (46 si on se limite à un type entier)
465%10=5
sur cette base on peut récupérer le dernier chiffre et le réinjecter dans le résultat.
la fonction miroir en php
<?php
function mirror($val) {
$result=0;
// je suppose que tu connais les boucles
while($val) {
$result=$result*10;
$result=$result+($val%10);
$val=($val-$val%10)/10;
}
return $result;
}
// echo sert a afficher
echo mirror(4650);
?>
explication :
on a $val qui est notre valeur de depart
on a $result qui est notre valeur d'arrivée (pour le moment vide)
tant que $val ne vaut pas 0
on va extraire le dernier chiffre avec modulo.
on va le mettre dans le resultat en tant que premier chiffre
on va oter du resultat ce chiffre puis diviser par 10
exemple :
val= 4650
result= 0
-------------boucle
result= 0x10= 0 (pas de changement)
chiffre= val modulo 10= 0
result= 0+ chiffre = 0+0= 0
val= (4650- chiffre) /10 = (4650-0)/10= 465
-------------reboucle
result= 0x10= 0 (pas de changement)
chiffre= val modulo 10= 5
result= 0+ chiffre = 0+5= 5
val= (465- chiffre) /10 = (465-5)/10= 46
-------------reboucle
result= 5x10= 50
chiffre= val modulo 10= 6
result= 50+ chiffre = 50+6= 56
val= (46- chiffre) /10 = (46-6)/10= 4
-------------reboucle
result= 56x10= 560
chiffre= val modulo 10= 4
result= 560+ chiffre = 560+4= 564
val= (4- chiffre) /10 = (4-4)/10= 0
-------------fin de boucle
merci rongeur-sauvage
mais je veux un algorithme complet
début
lire(données)
affectation
ecrire(resultats)
fin
Citation :
rongeur-sauvage a écrit :
connais tu le modulo (symbole %) ?
le modulo te permet de recuperer le reste de la division.
par exemple
4650/10=465
4650%10=0
465/10=46.5 (46 si on se limite à un type entier)
465%10=5
sur cette base on peut récupérer le dernier chiffre et le réinjecter dans le résultat.
la fonction miroir en php
<?php
function mirror($val) {
$result=0;
// je suppose que tu connais les boucles
while($val) {
$result=$result*10;
$result=$result+($val%10);
$val=($val-$val%10)/10;
}
return $result;
}
// echo sert a afficher
echo mirror(4650);
?>
explication :
on a $val qui est notre valeur de depart
on a $result qui est notre valeur d
merci rongeur-sauvage
mais je veux un algorithme complet
début
lire(données)
affectation
ecrire(resultats)
fin
Citation :
rongeur-sauvage a écrit :
connais tu le modulo (symbole %) ?
le modulo te permet de recuperer le reste de la division.
par exemple
4650/10=465
4650%10=0
465/10=46.5 (46 si on se limite à un type entier)
465%10=5
sur cette base on peut récupérer le dernier chiffre et le réinjecter dans le résultat.
la fonction miroir en php
<?php
function mirror($val) {
$result=0;
// je suppose que tu connais les boucles
while($val) {
$result=$result*10;
$result=$result+($val%10);
$val=($val-$val%10)/10;
}
return $result;
}
// echo sert a afficher
echo mirror(4650);
?>
explication :
on a $val qui est notre valeur de depart
on a $result qui est notre valeur d
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :