TP 01: Corrigé
Programme n° 3 :
Ecrivez l’algorithme puis le programme qui affiche l’âge de l’utilisateur en fonction des données qu’il devra saisir:
- année de naissance - année du jour en cours
Remarque : Il ne vous est pas demandé de tester le jour et le mois de naissance !
NB : Si vous êtes en avance, utilisez la fonction « date() » qui permet de récupérer l’année de la date système au lieu de la saisir.
Programme age Variables
anneeEnCours , anneerNaissance : Entiers Debut
Saisir anneeEnCours Saisir anneeNaissance
Afficher « Vous avez » , anneeEncours – anneeNaissance , « ans » Fin
<?php
$anneeEnCours=$_GET['annee']; // Facultatif selon paramétrage du serveur
$anneeNaissance=$_GET['naissance']; // Facultatif selon paramétrage du serveur echo "Vous êtes nés en $anneeNaissance .<br />";
echo "Vous avez ".($anneeEnCours - $anneeNaissance)." ans.<br />";
?>
Programme n° 4 :
Ecrivez l’algorithme puis le programme (n° 4) qui affiche pour 2 chiffres le résultat des différentes opérations mathématiques
Exemple:
Programme calcul Variables
Nb1 , nb2 : Entiers Resultat : réel Debut
Saisir nb1 Saisir nb2
Resultat <- nb1 * nb2
Afficher nb1,« * »,nb2, « = », resultat Resultat <- nb1 / nb2
Afficher nb1,« / »,nb2, « = », resultat Resultat <- nb1 - nb2
Afficher nb1,« - »,nb2, « = », resultat Resultat <- nb1 + nb2
Afficher nb1,« + »,nb2, « = », resultat Fin
6 * 3 = 18 6 / 3 = 2 6 – 3 = 3 6 + 3 = 9
Programme n° 5 :
Ecrivez l’algorithme puis le programme (n° 5) qui réponde au problème suivant : Vous effectuez une dépense de santé d’un montant MT à saisir.
La Sécurité sociale vous rembourse 70% de (MT moins 1 euro) Votre mutuelle vous rembourse 30 % de (MT moins 1 euro) Vous payez le montant restant.
Affichez ce que paie la Sécurité sociale, ce que paye la mutuelle, ce que vous payez.
Programme mutuelle Variables
Mt , rbtSecu , rbtMut , aPayer : réels Debut
Saisir mt
rbtSecu=(mt-1)*70/100 rbtMut=(mt-1)*30/100 aPayer=mt-rbtSecu-rbtMut
Afficher "Montant dépensé:", mt Afficher "Rbt Sécu :", rbtSecu Afficher "Rbt Mutuelle :", rbtMut Afficher "Vous devez payer :" ; aPayer Fin
<?php
$mt=$_GET['mt'];
$rbtSecu=($mt-1)*70/100;
$rbtMut=($mt-1)*30/100;
$aPayer=$mt-$rbtSecu-$rbtMut;
echo "Montant dépensé: $mt <br />";
echo "Rbt Sécu $rbtSecu <br />";
echo "Rbt Mutuelle $rbtMut <br />";
echo "Vous devez payer $aPayer <br />";
?>
Programme n° 6 :
Ecrivez l’algorithme puis le programme (n° 6) qui calcule le prix d’une commande pour une société.
L’utilisateur devra renseigner:
le prix unitaire du produit et la quantité commandée
En retour, le programme affichera le montant de la commande, la remise de 5% , les frais de port ( 2% montant de la commande) et le montant final.
Programme commande Variables
Prix, total , remise, port , totalFinal : Réels Qte : entier
Debut
Saisir prix Saisir qte
total =prix * qte remise = 0.05 * total port = 0.02 * total
totalFinal= total + port - remise
afficher "Montant : ",total
affichert "Frais de port : ", port afficher "Remise : " , remise
afficher "Montant final: " ,totalFinal Fin
<?php
$prix=$_GET['prix'];
$qte=$_GET['qte'];
$total =$prix * $qte;
$remise = 0.05 * $total;
$port = 0.02 *$total;
$totalFinal= $total + $port - $remise;
print ("Montant ".$total."€ <br/>\n");
print ("Frais de port ".$port."€ <br/>\n");
print ("Remise ".$remise."€ <br/>\n");
print ("Montant final: ".$totalFinal."€ <br/>\n");
?>
Programme n° 7 :
Ecrivez l’algorithme puis le programme (n° 7) qui transforme une durée exprimée en heures, minutes et secondes en une durée exprimée uniquement en secondes. Les heures, minutes et secondes doivent être saisies par l’utilisateur 30 min 10 sec 1810
2h 25 min 30sec 8730
Programme hmsEnSecondes Variables
Heures, minutes, secondes, resultat : entier Debut
Saisir heures Saisir minutes Saisir secondes
resultat=3600*heures+60*minutes+secondes
afficher "Temps exprimé en secondes : " ,resultat Fin
<?php
$h=$_GET['h'];
$m=$_GET['m'];
$s=$_GET['s'];
print ("$h heures $m minutes $s secondes -> ".(3600*$h + 60*$m +$s)."
secondes.<br/>\n");
?>
Exercice 8: Constante
En créant une constante de valeur pi, créer un programme constante.php qui affiche le périmètre d'un cercle en fonction du rayon fourni par l'utilisateur
Pour définir une constante en PHP, on utilise la fonction DEFINE.
Exemple : On veut nommer une constante UMLV qui a pour valeur "Université de Marne la Vallée", Il faut écrire : -
Programme Constante Constantes
PI <- 3.14 Variables
Rayon, perimetre : reels Debut
Saisir rayon
Perimetre=2*PI*rayon
afficher "perimetre : " ,perimetre Fin
define ("UMLV" , "Université de Marne la Vallée") ;
Les programmes qui suivent ne sont pas à faire… ou alors uniquement pour le plaisir !!!
Programme n° 9 :
Ecrivez le programme inverse (n° 8): Il affiche un temps en heures, minutes, secondes à partir d’un nombre de secondes saisi par l’utilisateur (utilisez le /et le %: reste de la division entière 8%3 = 2).
Exemples:
1810 30 min 10 sec 8730 2h 25 min 30 sec
Remarque : vous aurez certainement besoin d’utiliser la fonction mathématique floor (qui arrondit un nombre à l’entier inférieur).
Vous trouverez de l’aide sur Internet (critères de recherche : « php floor ».
Programme SecondesEnHMS Variables
Heures, minutes, secondes, secondesRestantes : entier Debut
Saisir secondes
Heures=secondes DIV 3600
secondesRestantes=secondes MOD 3600 minutes=secondesRestantes DIV 60 secondesRestantes=secondes MOD 60
afficher "Resultat :",heures, " heures ",minutes, " minutes et " , secondesRestantes , " secondes."
Fin
<?php
$secondes=$_GET['secondes'];
$h=floor($secondes/3600);
$secondesRestantes=$secondes%3600;
$m=floor($secondesRestantes/60);
$s=$secondesRestantes%60;
print ("$secondes secondes -> $h heures $m minutes et $s secondes.<br/>\n");
?>
Programme n° 10 :
Ecrivez un programme (n° 9) qui affiche la date du jour suivant 2 formats à l’aide de la fonction date.
Recherchez les possibilités du format date.
Programme n° 11 :
Ecrivez un programme (n° 10) qui compte le nombre de caractères de la phrase suivante :
« Le TP est presque termine »
<?php
$phrase=$_GET['phrase'];
echo 'la phrase "'.$phrase.'" a '.strlen($phrase)." caractères.";
?>
Nous sommes le : 06 09 05
tue 06 sept 2005
Programme n° 12 :
Ecrivez un programme qui génère login et mot de passe pour un utilisateur en fonction de son nom et de son prénom. Observez l’exemple pour comprendre les règles de création des logins et mots de passe:
Remarque : Le mot de passé fera obligatoirement 8 caractères.
Exemple: olivier debout > login : olDEBOUT mot de Passe: 76toubed
Cherchez les fonctions utiles dans l’aide en ligne PHP dans la rubrique : chaînes de caractères(String)
<?php
$prenom=$_GET['prenom'];
$nom=$_GET['nom'];
$lgNom=strlen($nom);
$lgPrenom=strlen($prenom);
$passe=strval(strlen($prenom)).strval(strlen($nom));
$passe.=substr($nom,strlen($nom)-1,1);
$passe.=substr($nom,strlen($nom)-2,1);
$passe.=substr($nom,strlen($nom)-3,1);
$passe.=substr($nom,strlen($nom)-4,1);
$passe.=substr($nom,strlen($nom)-5,1);
$passe.=substr($nom,strlen($nom)-6,1);
echo 'mot de passe: '.$passe;
?>