Exercices Ejcam

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

Algorithmique et bases de la programmation PHP

EJCAM

M.Dandonneau

Tous ces scripts seront placés dans functions.php de votre WebApp sous une forme nu et/ou sous la
forme de fonctions et/ou de méthodes ( programmation orientée objet ).
L’affichage des résultats sera si possible appelé depuis index.php et mise en forme simplement mais
clairement.

1 premiers affichages :

Utiliser l'instruction d'affichage echo pour afficher :

1. une chaîne de caractères,


2. une variable contenant un entier,
3. un texte différent selon qu'une condition est vraie ou fausse.

2- compter avec boucles et procédures


1. Produire l'affichage des entiers de 1 à 10 à l'aide d'une boucle while.
2. Idem avec une boucle for.
3. Placer cette boucle dans une fonction et y faire appel.
4. Modifier la procédure pour pouvoir compter de 1 à un entier quelconque.

3. Boucle imbriquée , html table


Ecrire  une   page  PHP  qui   affiche   les  nombres  de   1 à  100  dans  un  tableau
HTML de 10 lignes et 10 colonnes.
a-vous utiliserez la structure «for»
b-vous utiliserez la structure «while»

4. les fonctions ( avec arguments), les opérateurs


Déclarer une fonction  qui permet de comparer deux nombres.
Implémenter la fonction, pour qu’une fois appelée avec deux nombres, elle affiche comme résultat
nb1 est plus grand que nb2,  ou le contraire, ou l'égalité.

5 .les fonctions
-Coder une fonction stringToUp( $ch1, $ch2, $ch3) qui affiche les 3 mots entrés sous forme d’une
phrase en majuscule.
Exemple : $r = StringToUp(«bonjour», « a», «tous»);$r vaut «BONJOUR A TOUS»
-Implémenter la fonction pour qu’il soit possible d’ajouter autant de mots que souhaité.
-

6. functions / formulaires / $_POST/ tableaux

A l’aide du tutoriel suivant


https://openclassrooms.com/courses/apprenez-a-creer-votre-site-web-avec-html5-et-css3/les-
formulaires-8

Générer un formulaire sur une page HTML qui permet de saisir 3nombres :
Nombre de départ , nombre d’arrivée ,le pas (l’intervalle)

Dans le fichier php correspondant à l’attribut action du formulaire, ecrire du code php qui récupere
les données du formulaire à partir de la variable superglobale $_POST.
Afficher la liste de nombres correspondants à l'aide d'une boucle for

7.built-in fonctions , tableaux


Php embarque un certain nombre de functions internes
http://php.net/manual/fr/funcref.php

parmi les fonctions internes à php , trouver la fonction qui transforme une chaine de caractères en
tableau.
l'utiliser pour stocker dans un tableau de mots la phrase $phrase='Le choix des mots en poésie'.
Autrement dit convertir la variable de type chaine de caractère en variable de type tableau tout ne
conservant la valeur.
Faites de même avec 'La poésie n’est pas incompréhensible, elle est inexplicable'

8 .les tableaux / boucle foreach, conditions

-Utiliser une boucle foreach pour afficher chacune des valeurs du tableau associatif clé=>valeur ci-
dessous
$panier = array('pomme' =>'fruit' , 'carotte' =>'legume' , 'courgette' =>'legume' , 'citrouille '=>
‘legume' , 'orange' =>'fruit');

-Modifier le code, en utilisant une condition ( http://www.w3schools.com/php/php_if_else.asp) ,


pour que si c est un fruit , est affiché
Adam mange la « pomme »
Et si c’est un légume, est affiché
le lapin mange la « carotte »
-Créer une fonction isThereAnyFruit qui teste et retourne true si le panier contient un fruit.

9. Boucle imbriquée , html table


Ecrire  une   script  PHP  qui   affiche   les  nombres  de   1 à  100 .
Modifier le code pour qu’il génère du code HTML sous la forme d’un tableau HTML <table> de
10lignes et 10 colonnes contenant les 100valeurs

10. Tableaux associatifs multidimensionnels ( tableaux dans tableau )


Voici un tableau multidimensionnel associatif dont les clés sont des noms de personne et les valeurs
des tableaux associatifs dont les clés sont le prénom, la ville de résidence et l’age de la personne
avec une série de valeurs associées :
$clientTab=array(
‘Duff’ =>array(
‘prénom’=>’john’,
‘ville’=>’NYC’,
‘age’=>42
)
‘Andy’=>array(
‘prénom’=>’horace’,
‘ville’=>’kingston’,
‘age’=>’56’
)
) ;

Créer un formulaire qui demande ces informations


Ecrire un script qui récupère ces valeurs et les stocke dans le tableau ci-dessus.

11- tableaux associatifs (suite )

Cet exercice porte sur la définition d'une structure pour décrire un étudiant de l'université, puis sur
le traitement de tableaux contenant de tels objets (et représentant donc une promotion d'étudiants).

Selon les intérêts et les projets de chacun, on remplacera les promotions d'étudiants par une biblio-
thèque de livres, un agenda d'événements, un recueil de recettes de cuisine, une collection d'oi-
seaux, etc.

1. Concevoir en PHP une structure représentant un « Étudiant » (par exemple avec un nom, un
prénom, une année de naissance, une note en informatique et d'une note de gestion de pro-
jet).
2. Définir une fonction PHP qui a pour rôle est d'afficher joliment toutes les informations dis-
ponibles sur un étudiant.
3. Implémenter la procédure, dédiée cette représentation, qui affiche la moyenne d'un étudiant.
4. Créer quelques étudiants et tester les fonctions.
5. Créer une promotion comme un tableau d'étudiants.
6. Pour chaque discipline, implémenter la procédure qui calcule la moyenne de la promotion.
7. Puis la procédure qui trouve et affiche l'étudiant ayant eu la note moyenne maximale.
8. Programmer des recherches d'étudiants par nom, puis par année de naissance.
9. Enfin, implémenter un tri en vue d'afficher le classement des étudiants par moyenne décrois-
sante.

12-Test nombre de lettres / pseudo-code / programmation orientée objet


Ecrire un programme qui prend en entrée un nom d’utilisateur et qui fasse le traitement suivant

PROGRAMME DEBUT
{
ENTREE_CONSOLE _variable_ Nom_Utilisateur
_variable_ Nb_Lettres = compteLettres->_Nom_Utilisateur
SI (Nb_Lettres > 10)
SORTIE_CONSOLE "Votre nom est long"
SINON
SORTIE_CONSOLE "Votre nom est court"
}
FIN
13- Make a cup of tea

A partir du pseudo code suivant , écrire un code PHP qui simule la préparation d’un thé, avec des
choix possible (paramètres ) et des affichages d’état pendant les différentes phases :

PROGRAM MakeACupOfTea:
Organise everything together;
Plug in kettle;
Put teabag in cup;
WHILE (Kettle is not full)
DO keep filling kettle;
ENDWHILE;
Wait for kettle to boil;
Add water to cup;
Remove teabag with spoon/fork;
Add milk;
IF (sugar is required)
THEN add sugar;
ELSE do nothing;
ENDIF;
Serve;
END.

14-Moving robot

Créer une application qui simule le mouvement d’un robot en fonction de contraintes liées à
son environnement proche , à partir du pseudo code suivant :

public boolean moveRobot (Robot aRobot)


{
    //IF robot has no obstacle in front THEN
        // Call Move robot
        // Add the move command to the command history
        // RETURN true
    //ELSE
        // RETURN false without moving the robot
    //END IF
}

15-bataille navale
Ci-dessus un tableau de 10 cases sur 10, vous devez créez une fonction qui prend deux arguments,
le premier de type char le second de type int, ce seront les coordonnées horizontales et verticales du
tableau.

Votre fonction doit retourner trois valeurs différentes:

[1] Si les coordonnées correspondent à une case grise, votre fonction doit afficher touché.
[2] Si les coordonnées correspondent à une case blanche, votre fonction doit afficher loupé.
[3] Si les coordonnées ne correspondent à aucune case, votre fonction doit afficher hors-jeu.

Exemple
En entrée:

1f, 5

En sortie:

1touché

16-Pseudo code
Ecrire un programme qui simule la lecture d’un document selon l’algorithme suivant.
Ajouter des marqueurs de compréhension ( variable understand ) et d’affichage d’état
pendant le processus
17-Tic-tac-toe

18-Recursivité
Créer une function recursive

$timeToGoHome = '23'; // jesus, I am in trouble, It’s getting late

function commanderEtBoireUneBiere($timeToGoHome) { }
Créer cette function qui s’appelle toute seule jusqu’à qu’il soit l’heure de rentrer

MORE REF & TUTOS:


https://php.net/manual/fr/index.php
http://www.w3schools.com/php
http://www.apprendre-php.com/tutoriels.html
http://openclassrooms.com/courses
http://sandbox.onlinephpfunctions.com/

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy