Php algo td2

De The Linux Craftsman
Révision datée du 18 mars 2014 à 10:02 par Jc.forton (discussion | contributions) (→‎Partie B)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Sujet

Sujet_TD2.pdf

Partie A

Exercice 1

FONCTION lettre_au_hasard()
VAR
   RETOURNER alphabet[alea(0,25)]
FIN FONCTION


Exercice 2

FONCTION noms(liste, lettre)
VAR
   resultat : liste de chaînes de caractères
   i : entier
   i <- 0
   POUR TOUT nom DE liste
      SI nom[0] = 'lettre'
         resultat[i] <- nom
      FIN SI
      i++
   FIN POUR
   RETOURNE resultat
FIN FONCTION

Partie B

Exercice 3

function lettre_au_hasard() {
   global $alphabet;
   return $alphabet [rand ( 0, 25 )];
}


Exercice 4

function noms($liste, $lettre) {
   $resultat = array();
   foreach ($liste as $nom){
      if(substr($nom, 0, 1) == $lettre){
         $resultat[] = $nom;
      }
   }
   return $resultat;
}


Exercice 5

<?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" 
);
$listenoms = array (
   "Alain",
   "Antoine",
   "Bernard",
   "Colin",
   "Christine",
   "François",
   "Guy",
   "Gérard",
   "Léa",
   "Léon",
   "Louis",
   "Nathalie",
   "Serge",
   "Sylvie",
   "Sylvain",
   "Vincent" 
);
function lettre_au_hasard() {
   global $alphabet;
   return $alphabet [rand ( 0, 25 )];
}
function noms($liste, $lettre) {
   $resultat = array();
   foreach ($liste as $nom){
      if(substr($nom, 0, 1) == $lettre){
         $resultat[] = $nom;
      }
   }
   return $resultat;
}
function main(){
   global $listenoms;
   /* Lecture de la lettre */
   $lettre = lettre_au_hasard();
   /* Récupération des noms */
   $noms = noms($listenoms, $lettre);
   /* Récupération de la longeur */
   $size = sizeof($noms);   
   /* Affichage du résultat */
   if ($size == 0) {
      echo "Il n’y a pas de noms commençant par la lettre ".$lettre;
   }else if ($size == 1){
      echo "Il y a 1 nom commençant par la lettre ".$lettre."\n";
      echo "Ce nom est ".$noms[0];
   }else{
      echo "Il y a ".$size." noms commençant par la lettre ".$lettre."\n";
      echo "Ces noms sont: \n";
      foreach ($noms as $nom){
         echo "- ".$nom."\n";
      }
   }
   echo "\n";
}

main();
?>

Exécution

# php -f TD2.php 
Il n’y a pas de noms commençant par la lettre P

# php -f TD2.php 
Il y a 2 noms commençant par la lettre C
Ces noms sont: 
- Colin
- Christine

# php -f TD2.php 
Il y a 1 nom commençant par la lettre N
Ce nom est Nathalie