Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Correction DS2018 PDF

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université de Carthage
Institut Supérieur des Technologies de l’Information et de la Communication

Classe : LART-2A Devoir Surveillé : PHP Nombre de pages : 4 pages


Enseignante : Faiza DEBBICHE Date : Jeudi 15 Mars 2018 Durée : 01h:30
Barème approximatif : 4,2,2,3,9 Documents : non autorisés Calculatrice : non autorisée
CIN :…………………………………….. Nom et prénom : ……………………………………. Note :………….…../20

QCM (4 points)
Pour chacune des questions suivantes, cochez la ou les bonnes réponses.
1. En PHP, on peut manipuler : 5. Que met-on la fin d'une ligne de déclaration
a. Des chaînes et des tableaux de fonction ?
b. Le calendrier / dates / heures a. Un point virgule
c. Des fonctions mathématiques b. Rien
d. L’accès au système de fichiers c. Deux-points
e. Des images
f. HTTP / FTP / IMAP
g. Des Bases de données (Oracle, MySQL, …)
2. Quelle est la particularité du code HTML pour des 6. Quel sont les affirmations ci-après qui sont
champs « SELECT multiple »? vraies ?
a. Le nom de la variable à passer doit être en a. Dans une table on peut accéder
majuscules indépendamment à chaque enregistrement
b. Le nom de la variable à passer est suivi de crochets b. Dans une table, les données sont rangées
[] par ordre alphabétique
c. Le nom de la variable à passer est suivi de c. Une table fait toujours partie d'une base de
parenthèses () données
3. Quelle est la fonction qui permet de ranger les 7. A quoi sert la clause 'LIMIT' en SQL ?
résultats d’une requête de lecture des données dans un a. Trier les données en sortie
tableau b. Regrouper des enregistrements en sortie
a. mysqli_fetch_table c. Indiquer de quelle entrée on commence à
b. mysqli_fetch_array lire une table
c. mysqli_array_fetch d. Indiquer combien d’entrées on doit
sélectionner
4. Pour récupérer le contenu et/ou la structure d’une 8. En affichant le contenu d’une table d’une
base de données enregistrée sur le disque dur on doit base de données, on peut :
utiliser a. Afficher tout le texte
a. Importer b. Afficher X lignes à partir de l’enregistrement
b. Exporter n°X
c. Requête c. Modifier une entrée
d. Structure d. Supprimer une entrée
Exercice 1 (2 points)
Donnez dans l’ordre les étapes de fonctionnement de PHP
a. Rendu graphique des données (HTML, image, …) 1. …..c........
b. Exécution du code PHP 2. …..e........
c. Connexion TCP sur le serveur (port 80) 3. …..f........
d. Envoi du résultat de l’exécution au client 4. …...b......
5. …...d.......
e. Requête HTTP du client (mon_fichier.php)
6. …..g........
f. Localisation de la ressource 7. …...a.......
g. Fermeture de la connexion
1/4
Exercice 2 (2 points)
Donner les valeurs de $a et $b à la fin du script suivant :
<?php Réponse :
function permutation($x, &$y) {
$a : …12…………………
echo "permutation..." ;
$t = $x ; $b : …12…………………
$x = $y ;
$y = $t ;
}
$a = 12 ;
$b = 210 ;
echo "\$a = $a" ;
echo "\$b = $b" ;
permutation($a, $b) ;
echo "\$a = $a" ;
echo "\$b = $b" ;
?>
Exercice 3 (3 points)
1. Ecrire un script PHP « fonction.php » contenant une fonction chCarre($n) prenant en paramètre un
nombre n et retournant la chaîne de caractères « n*n = m ».
Réponse :

<?php
function chCarre($n)
{
return "$n*$n =". $n * $n ;
}
?>
2. Ecrire un script PHP « test.php » appelant le fichier « fonction.php». En utilisant la fonction chCarre($n),
afficher sous forme de liste non ordonnée les carrés des nombres de 1 à 30 selon le format :
 1*1 = 1
 2*2 = 4
 ….
 30*30 = 900
NB : pour construire une liste non ordonnée on utilise les balises <ul><li>….</li></ul>

Réponse :

<?php require("fonction.php");
echo "<h1> Suite de carrés </h1>";
echo "<ul>" ;
for ($i = 1; $i < 31 ; $i++)
echo "<li>". chCarre($i) . "</li>";
echo </ul>;
?>

2/4
Exercice 4 (9 points)
Écrire une petite application en ligne permettant de préciser votre score et votre niveau de connaissance en
HTML et en programmation. Pour cela, on écrira successivement :
1. un formulaire « entrer_niveau.html », qui permet de cocher le niveau de connaissances en HTML et en
programmation ; Les valeurs des choix sont comme suit :
o pour connaissance faible en HTML est 1
o pour connaissance moyenne en HTML est 2
o pour connaissance bonne en HTML est 3
o pour expertise absente en programmation est 1
o pour expertise moyenne en programmation est 2
o pour expertise bonne en programmation est 3

Réponse :

<html>

<head>

<title>Formulaire boutons radios</title>

</head>

<body>

<form method="POST" action=" calculer_score.php ">

<h4>Quelles sont vos connaissances en HTML ?</h4>

<input type="radio" name="choice1" value="1" >Faibles

<input type="radio" name="choice1" value="2" checked>Moyennes

<input type="radio" name="choice1" value="3">Bonnes <br/>

<h4>Indiquez votre expertise en programmation :</h4>

<input type="radio" name="choice2" value="1" >Absente

<input type="radio" name="choice2" value="2" checked>Moyenne

<input type="radio" name="choice2" value="3">Bonne<br/><br/>

<input type="submit" value="Voir le résultat">

</form></body></html>

3/4
2. un script calculer_score.php, qui permet de calculer et d'afficher votre score total et votre niveau
général à partir des choix définie dans le formulaire précédent
o le score total est la somme de score de connaissance en HTML + le score d’expertise en
programmation
o si le score total < 3 alors le niveau affiché doit être « Vous êtes un débutant »
o si le score total < 5 alors le niveau affiché doit être « Vous avez un niveau moyen »
o si non le niveau affiché doit être « Vous êtes un expert !»

Réponse :

<html>

<head>

<title> Formulaire boutons radios</title>

</head>

<body>

<?php

$x=$_POST["choice1"];

$y=$_POST["choice2"];

$score = $x + $y;

echo("<h3>Votre score est de $score </h3>");

if ($score < 3){

echo ("<p>Vous êtes un débutant</p>");

}elseif ($score < 5){

echo ("<p>Vous avez un niveau moyen</p>");

}else{

echo ("<p>Vous êtes un expert !</p>");

?></body></html>

Bon Travail
4/4

Vous aimerez peut-être aussi