<?php
$alphabet = array (
"A",
"B",
"C",
"D",
"E",
"F",
"G",
"H",
"I",
"J",
"K",
"L",
"M",
"N",
"O",
"P",
"Q",
"R",
"S",
"T",
"U",
"V",
"W",
"X",
"Y",
"Z"
);
function code_mot_chiffre($mot) {
global $alphabet;
$result;
$i = 0;
foreach ( $mot as $lettre_mot ) {
for($i = 0; $i < sizeof ( $alphabet ); $i ++) {
if ($alphabet [$i] == $lettre_mot) {
$result [] = $i;
break;
}
}
}
return $result;
}
function code_chiffre_mot($code) {
global $alphabet;
$result;
foreach ( $code as $index ) {
$result [] = $alphabet [$index];
}
return $result;
}
function code_chiffre_chiffre($code) {
global $alphabet;
$result;
foreach ( $code as $index ) {
$result [] = (2 * $index + 3) % 26;
}
return $result;
}
function main($argv) {
/* Récupération du mot a coder */
if (sizeof ( $argv ) == 1) {
echo "Spécifier un mot en paramètre !";
exit ( 1 );
}
/* Lecture du mot a coder */
$mot = $argv [1];
/* Transformation du mot en tableau */
$mot = str_split ( $mot );
/* Codage du mot en chiffres */
$code_chiffre1 = code_mot_chiffre ( $mot );
/* Lecture du tableau de chiffre */
echo "Transformation du mot en chiffre : \n";
print_r ( $code_chiffre1 );
/* Codage affine */
$code_chiffre2 = code_chiffre_chiffre ( $code_chiffre1 );
/* Lecture du tableau de chiffres codés */
echo "Application de la fonction affine : \n";
print_r ( $code_chiffre2 );
/* Codage des chiffres au mot */
$mot_code = code_chiffre_mot ( $code_chiffre2 );
echo "Mot codé : \n";
print_r( $mot_code );
exit ( 0 );
}
main ($argv);
?>