Académique Documents
Professionnel Documents
Culture Documents
Classes de Terminale TI
Module 1 : Programmation
- Créer un formulaire
Situation problème : …
Introduction :
Le langage JavaScript permet de gérer les formulaires définis dans une page web afin de renforcer
l'interactivité de cette page. Découvrons ensemble comment faire.
I- Rappels sur les formulaires
Les formulaires enrichissent les pages web en permettant à l'utilisateur de saisir des informations sous
différentes formes : zone de texte, cases à cocher, listes déroulantes, etc. À l'intérieur d'une page web, un
formulaire est défini sous la forme d'une balise HTML<form> contenant différents champs de saisie :
balises<input>,<select> ou encore<textarea>.
Si vous avez besoin d'une petite piqûre de rappel au sujet des formulaires, relisez ce chapitre du cours
HTML/CSS.
Classiquement, les données saisies par l'utilisateur dans un formulaire sont ensuite envoyées via le réseau à
un serveur web qui va les traiter et renvoyer une réponse adaptée au navigateur client sous la forme d'une
nouvelle page web. Pour réaliser cette tâche, un serveur web emploie une technologie adaptée, comme par
exemple le langage PHP.
II- Gestion des formulaires avec JavaScript
Grâce à JavaScript, nous allons pouvoir manipuler le formulaire et ses données directement côté navigateur
client, avant (éventuellement) d'envoyer ces données vers un serveur externe. Ainsi, on pourra avertir
immédiatement l'utilisateur en cas de saisie erronée, ou bien lui proposer une liste de suggestions au fur et à
mesure de sa frappe, et bien d'autres choses encore.
Plutôt alléchant, non ? Allez, au travail pour découvrir tout ça !
1- Le formulaire d'exemple
Nous allons partir d'un formulaire assez classique permettant à l'utilisateur de s'inscrire à un service en ligne.
Ce formulaire contient plusieurs types de zones de saisie : texte, case à cocher, boutons radio, liste
déroulante, ainsi que des boutons "Envoyer" et "Annuler". Nous allons découvrir successivement comment
gérer ces éléments avec JavaScript.
Vous aurez peut-être remarqué que la balise<form> ne contient pas les habituels attributs action et method.
Ces attributs permettent de définir la ressource demandée au serveur et le type de requête utilisé pour cette
demande. Puisque notre formulaire sera géré uniquement côté client avec JavaScript, ils sont superflus ici.
<label for="pseudo">Pseudo</label> :
<input type="text" name="pseudo" id="pseudo" required>
<span id="aidePseudo"></span>
En JavaScript, on accède à la valeur d'une zone de texte en utilisant la propriété value de l'élément du DOM
correspond. En donnant une nouvelle valeur à cette propriété, on modifie la valeur affichée dans la zone de
texte.
L'exemple suivant donne à la zone de saisie identifiée par "pseudo" la valeur "MonPseudo".
En cliquant dans la zone de saisie du pseudo, vous obtenez l'affichage d'un message informatif dans la balise <span> prévue à cet effet et
initialement vide.
Depuis le code JavaScript, on peut modifier la cible de saisie en appelant les méthodes focus (pour donner le focus) et blur (pour l'enlever)
sur un élément du DOM.
Le fonctionnement des zones de texte multi lignes (balises<textarea>) est similaire à celui des balises<input>.
La vérification des données saisies dans une zone de texte est abordée plus loin dans ce chapitre.
Les éléments d'options
Ces éléments permettent à l'utilisateur de faire un choix parmi plusieurs possibilités. Ils ont en commun de déclencher un événement de
type change lorsque l'utilisateur modifie son choix.
Cases à cocher
On définit une case à cocher dans un formulaire avec la balise<input type="checkbox">.
Voici l'extrait du formulaire initial qui permet de demander à l'utilisateur s'il souhaite ou non obtenir une confirmation de son inscription.
Lorsque la case change de valeur, l'objetEvent associé à l'événement dispose d'une propriété booléenne checked qui indique le nouvel état
de la case (cochée/décochée).
L'exemple de code ci-dessous gère les événements change sur la case à cocher pour afficher dans la console le choix effectué lorsque
l'utilisateur clique dans la case ou sur le libellé associé.
b- Boutons radio
Un groupe de boutons radio permet à l'utilisateur de faire un seul choix parmi plusieurs possibilités. On crée
ces boutons avec des balises <input type="radio"> possédant le même attribut name et des attributs value
différents.
Voici l'extrait du formulaire initial qui crée trois boutons radio permettant de choisir un type d'abonnement.
<input type="radio" name="abonnement" id="abonewspromo"
value="abonewspromo">
<label for="abonewspromo">M'abonner à la newsletter et aux
promotions</label>
<br>
<input type="radio" name="abonnement" id="abonews" value="abonews">
<label for="abonews">M'abonner uniquement à la newsletter</label>
<br>
<input type="radio" name="abonnement" id="aborien" value="aborien"
checked>
<label for="aborien">Ne pas m'abonner</label>
<br>
L'exemple de code suivant ajoute le même gestionnaire pour les événements de type change sur chacun des
boutons radio, afin d'afficher dans la console le type d'événement choisi.
Lors d'un changement de valeur d'un groupe de bouton radio, la propriétée.target.value de l'événement
change contient la valeur de l'attribut value de la nouvelle balise<input> sélectionnée.
c- Listes déroulantes
On construit une liste déroulante au moyen d'une balise<select> dans laquelle on ajoute une
balise<option> par choix possible dans la liste.
Voici l'extrait du formulaire initial qui crée une liste déroulante contenant trois nationalités.
<label for="nationalite">Nationalité :</label>
<select name="nationalite" id="nationalite">
<option value="FR" selected>Française</option>
<option value="BE">Belge</option>
<option value="SUI">Suisse</option>
<option value="XX">Autre</option>
</select>
Comme pour les boutons radio, la propriétée.target.value de l'événement change contient la valeur de
l'attribut value de la balise<option> associé au nouveau choix, et non pas le texte affiché dans la liste
déroulante.
INTRODUCTION
Pour échanger des informations sur le net, un utilisateur a besoin d’effectuer des demandes sur une machine
serveur, et grâce aux protocoles qui régissent les règles de communication sur internet, cela est possible. Mais
avant tout échange, il faudrait au préalable avoir installé un serveur de données dans sa machine.
I- DEFINITION ET ROLE D’UN SERVEUR WEB
1- Définition
Un serveur web ou serveur HTTP est un logiciel permettant de rendre accessible les pages web d’un site.
2- Rôle
Un serveur web ou serveur HTTP est un logiciel permettant de rendre accessible les pages web d’un site.
Quand un utilisateur fait une demande (requête), le serveur web traite la demande et renvoie le résultat à
l’utilisateur.
Quelques Exemples de serveur web :
• Apache HTTP Server de l’Apache Software Foundation,
• Internet Information Services (IIS) de Microsoft,
1- Définition de XAMPP
XAMPP est un ensemble de logiciels permettant de mettre en place facilement un serveur Web et un serveur
FTP. Il s’agit d’une distribution de logiciels libres (X Apache MySQL Perl PHP) offrant une bonne souplesse
d’utilisation, réputée pour son installation simple et rapide. Ainsi, il est à la portée d’un grand nombre de
personnes puisqu’il ne requiert pas de connaissances particulières et fonctionne, de plus, sur les systèmes
d’exploitation les plus répandus. Cette « distribution » se chargera donc d’installer l’ensemble des outils dont
vous pourriez avoir besoin lors de la création d’un site Web.
Plus d’une dizaines d’utilitaires sont intégrés comme
• MySQL
• PHP
• Perl
• ou encore phpMyAdmin
Il est distribué avec différentes bibliothèques logicielles qui élargissent la palette des services de façon
notable
• OpenSSL
• Expat(parseur XML)
• PNG
• SQLite
• zlib
• différents modules Perl et Tomcat
• FileZilla Server
4- Installation de XAMPP
• Rendez-vous sur le site Web de XAMPP et téléchargez le paquet.
• Suivez le processus d’installation par défaut.
• Une fois que vous avez téléchargé XAMPP, votre panneau de contrôle XAMPP devrait s’ouvrir
automatiquement.
• Si ce n’est pas le cas, vous pouvez localiser le programme XAMPP comme n’importe quel autre programme,
via le menu Démarrer.
Dans votre panneau de configuration XAMPP, vous devriez voir une présentation simple des processus
XAMPP en cours d’exécution.
Pour nos besoins, nous nous concentrerons sur les deux premières options : Apache et MySQL.
a- Apache
Noyau principal de XAMPP, l’option Apache crée un serveur Apache sur votre PC. C’est ce qui vous
permettra d’exécuter et d’éditer des sites Web sur votre PC à l’aide de navigateurs Web, tout comme on le
ferait pour un site.
Sauf, bien sûr, que ce site fonctionne sur votre PC, par opposition à un serveur connecté à Internet.
b- MySQL SQL
MySQL/SQL permet la communication entre les bases de données et les sites Web, ce qui permet aux
utilisateurs de tester et de stocker les emails, les mots de passe et toute autre donnée.
Cliquez sur le bouton Démarrer dans votre panneau de configuration XAMPP. Attendez qu’Apache et
MySQL soient surlignés en vert sous votre section de module. Une fois activé, vous êtes libre d’utiliser
XAMPP.
Pour vous assurer que tout est en ordre de marche, ouvrez un navigateur Web, entrez http://localhost/ dans
votre barre d’adresse et appuyez sur Entrée. Vous devriez être redirigé vers http://localhost/dashboard/, qui
est la page par défaut de XAMPP.
Ensuite, cliquez sur le bouton phpMyAdmin dans le menu de navigation supérieur. Vous serez dirigé vers
votre page phpMyAdmin par défaut.
Si vous cliquez sur l’option de menu phpMyAdmin, vous pouvez commencer à configurer vos bases de
données MySQL. L’écran de connexion phpMyAdmin s’ouvrira dans une nouvelle fenêtre du navigateur.
Par défaut, le nom d’utilisateur administrateur sera root, et vous pouvez laisser le champ mot de passe vide.
A partir de là, vous pouvez créer de nouvelles bases de données MySQL et modifier celles qui existent déjà.
La plupart des logiciels, comme WordPress, mettront automatiquement en place une nouvelle base de données
pour vous.
Si tout fonctionne, vous êtes prêt à commencer à créer des sites Web !
- Acheter un domaine
Lorsque votre hébergement Web est l'espace réel sur lequel se trouvent les fichiers de votre site Web, vous
avez besoin d'un nom de domaine pour que les utilisateurs puissent accéder à votre site. Le nom de domaine
agit comme votre adresse sur le WWW. Comme de vraies adresses, chacun est unique.
De nombreux plans d'hébergement Web seront livrés aujourd'hui avec un nom de domaine gratuit, alors
assurez-vous de vérifier si cela s'applique à l'hébergement Web que vous avez l'intention d'acheter. Si c'est le
cas, vous pouvez prendre soin du nom de domaine en même temps que lorsque vous payez pour votre plan
d'hébergement Web.
Sinon, vous devrez acheter un nom de domaine séparément. Cela peut être fait à partir du même endroit où
vous avez acheté le plan d'hébergement ou d'un autre fournisseur de services. Si vous devez acheter le nom
de domaine séparément, je vous recommande fortement de chercher ailleurs.
Les noms de domaine ne sont pas des articles à prix fixe et sont souvent mis en vente. Certains fournisseurs
ont souvent des ventes à bas prix sur les noms de domaine et si vous êtes chanceux, vous pouvez en acheter
un pour un vol. Namecheap, par exemple, proposait souvent des noms de domaine proposés jusqu'à 98% de
réduction.
L'exception à cela est si vous êtes propriétaire d'un site pour la première fois. Dans ce cas, l'achat d'un nom de
domaine et l'hébergement auprès du même fournisseur de services peuvent vous faciliter la tâche en tant que
débutant.
a- Avantages de l'auto-hébergement
• Contrôle extrême de votre environnement d'hébergement
• Potentiel d'accélération des délais de service
• Votre choix d'équipements et de prestataires de services
b- Inconvénients de l'auto-hébergement
• Peut être très cher
• Pas toujours possible dans les environnements résidentiels
Attention : l'hébergement local de serveurs Web est complexe et peut coûter très cher. Il est également souvent
moins fiable que l'hébergement avec un fournisseur de services.
1- Implantation / Interprétation
Un script PHP est un simple fichier texte (caractères ASCII 7 bits). Le code PHP est délimité par des balises
spécifiques et est généralement incluse dans du code HTML avec lequel il se marie parfaitement. Ce fichier
qui est stocké sur un serveur web doit avoir une extension ".php" pour être reconnu comme tel et être
interprété.
Lorsqu’un client fait une requête de demande d’une page PHP via un navigateur, la page ne lui est transférée.
Elle est interprétée coté serveur par un module PHP (interpréteur) et si nécessaire un code HTML est généré
et transmis au navigateur. C’est pour cette raison que vous ne verrez jamais le code source d’une page PHP
en demandant l’affichage de sa source depuis le navigateur.
2- Bases du langage
h- Les Tableaux
Un tableau est une suite de valeurs référencées par une unique variable. PHP gère dynamiquement la taille des
tableaux. Contrairement à ce qu’on observe dans plusieurs langages de programmation, le contenu d’un
tableau en PHP peut être mixte sans problème. Les tableaux en PHP peuvent être soit indicés (les valeurs sont
référencées par leur position en débutant à 0), soit associatifs (les valeurs sont référencées par des noms).
Tableaux indicés
$tab[0] = "élément 1" ;
$tab[1] = "élément 2" ;
$tab[2] = 12 ;
On peut aussi faire de l’affectation automatique
$tab[] = "élément 1" ; //correspond à $tab[0]="élément 1"
$tab[] = "élément 2" ;
$tab[] = 12 ;
En outre, la fonction array() offre un moyen d’initialiser facilement un tableau en les indiçant respectivement
par 0, 1, etc. les éléments du tableau. $tab = array("éléments 1", "élément 2", 12) ;
Tableaux associatifs
Dans un tableau associatif les indices, au lieu d’être numériques, sont des chaines de caractères.
$mes["voiture"] = "BMW" ;
$mes["filiere"] = "IIR" ;
$mes["sport"] = "marche" ;
Ou encore
$mes = array ("voiture" => "BMW", "filiere" => "IIR", "sport" =>"marche") ;
Tableaux multidimensionnels
Les tableaux indicés et associatifs se généralisent aux tableaux multidimensionnels, pour lesquels l’indice ou
la clé, est constituée de plusieurs valeurs (chacune des valeurs est entre crochets). Un tableau
multidimensionnel est au fait un tableau de tableaux.
Exemples :
$tab[0][0] = "En haut à gauche" ;
$tab[0][1] = "En haut à droite";
$tab[1][0] = "En bas à gauche";
$tab[1][1] = "En bas à droite";
$mes = array( "un" => array("premier","second"), "deux" =>
array("premier","second"), "trois" => array("premier","second")) ;
i- Opérateurs
i. Les opérateurs arithmétiques
Opérateur Exemple Nom Résultat
‐ ‐$a Négation Opposé de $a.
+ $a + $b Addition Somme de $a et $b.
‐ $a ‐ $b Soustraction Différence de $a et $b.
* $a * $b Multiplication Produit de $a et $b.
/ $a / $b Division Quotient de $a et $b.
% $a % $b Modulo Reste de $a divisé par $b.
L'opérateur de division ("/") retourne une valeur entière (le résultat d'une division entière) si les deux
opérandes sont entiers.
ii. Les opérateurs d'assignation
Assignation simple
= opérateur simple d’affectation
Opérateur associatifs ou opérateurs combinés
j- Opérateurs Logiques
Opérateur Exemple Nom Résultat
And $a and $b ET (And) TRUE si $a ET $b valent TRUE.
or $a or $b OU (Or) TRUE si $a OU $b valent TRUE.
xor $a xor $b XOR (Xor) TRUE si $a OU $b est TRUE, mais pas les deux en même temps.
! ! $a NON (Not) TRUE si $a n'est pas TRUE.
&& $a && $b ET (And) TRUE si $a ET $b sont TRUE.
|| $a || $b OU (Or) TRUE si $a OU $b est TRUE.
k- Opérateur de contrôle d'erreur
PHP supporte un opérateur de contrôle d'erreur : c'est @. Lorsque cet opérateur est ajouté en préfixe d'une
expression PHP, les messages d'erreur qui peuvent être générés par cette expression seront ignorés.
l- Opérateur d'exécution
PHP supporte un opérateur d'exécution : guillemets obliques ("``"). Notez bien qu'il ne s'agit pas de guillemets
simples. PHP essaie d'exécuter le contenu de ces guillemets obliques comme une commande shell. Le résultat
sera retourné (i.e. : il ne sera pas simplement envoyé à la sortie standard, il peut être assigné à une variable).
Utilisez les guillemets obliques revient à utiliser la fonction shell_exec().
<?php
$output = `ls -al`;
echo "<pre>$output</pre>";
?>
<?php
$parFile="param.txt";
$parImage="mohona.gif";
$output=`C:\ms4w\Apache\cgi-bin\owtchart.exe $parFile $parImage`;
echo "<pre>$output</pre>";
?>
Leçon 8 : Les structures de contrôles
Compétences :
-
Structures de contrôle
a- Structure conditionnelle
➢ If
Si l'expression est vraie exécuter l'instruction ou les instructions dans le bloc.
➢ For
for(expression; test; expression_inc){
instructions;
Leçon 9 : Fonctions
i. Syntaxe de définition
La syntaxe de définition d’une fonction est la suivante :
function nom_de_la_fonction([$arg1 [, $arg2 […]]]){
//liste des instructions
[return valeur ;]
}
Exemple :
function writeln($msg)
{
echo $msg ."<br/>" ;
}
On peut appeler la fonction de l’une des façons suivantes :
- Writeln("Bonjour le Monde !") ;
- $txt="Bonne lecture" ;
- Writeln($txt) ;
Certains arguments d’une fonction peuvent avoir des valeurs par défaut. Lorsque c’est le cas, ces arguments
doivent être passés en dernière position.
Syntaxe :
function nom_de_la_fonction([$arg1 [,[…]]][$darg1=val1 [,$darg2=val2[…]]])
{
//liste des instructions
[return valeur ;]
}
return valeur ; est une instruction de retour optionnelle qui permet de retourner (renvoyer) une valeur. Tous les types de variables
peuvent être renvoyés, tableaux et objets compris. Lorsque return est rencontrée lors de l’exécution du code d’une fonction, la
fonction finit son exécution immédiatement et passe le contrôle au programme appelant en lui retournant valeur.
Exemples :
function writeln($msg="")
{
echo $msg ."<br/>" ;
}
function convert($mont, $tauxCh, $devise=" F CFA")
{
Echo $mont*$tauxCh ." " .$devise ;
}
function somme($premier, $second)
{
return $premier + $second ;
}
Un appel de ces fonctions peut se faire de la façon suivante :
- writeln() ;
- writeln("le texte à afficher") ;
- writeln(12);
- convert(18,656) ;
- conver(24500, 0.0015244, " €") ;
- echo somme(10, 54);
ii. Passage de paramètres
i- Syntaxe
print_r(var, return)
ii- Paramètres
▪ var(Obligatoire) : Spécifie la variable à afficher.
▪ return(Optionnel) : Lorsqu’elle est définie sur TRUE, cette fonction retournera les informations (pas les
Introduction
Depuis PHP 5.4, l'extension MySQL originale est obsolète, et génèrera des alertes de
niveau E_DEPRECATED lors de la connexion à une base de données. A la place, on peut utiliser
l'extension MySQLi ou l'extension PDO_MySQL.
Si comme moi, vous avez des sites avec l'extension MySQL, voici des petits exemples pour passer
de MySQL à MySQLi (que je trouve plus simple d'emploi sur mes petites créations).
Définition
MySQLi (la lettre « i » vient de « improved » en anglais, qui signifie amélioré) est une extension du langage
de programmation PHP, permettant d’accéder aux bases de données MySQL. MySQL fait partie, avec Oracle
et Microsoft SQL Server, des systèmes de gestion de base de données relationnelles (SGBD) les plus
répandues dans le monde. Les bases de données relationnelles représentent un élément central de l’Internet,
car elles permettent le traitement et l’enregistrement de gros volumes de données. De gros ensembles de
données sont dissociés en volumes plus restreints avant d’être reliés les uns aux autres, si nécessaire.
// on envoie la requête
$res = mysql_query($req);
// on envoie la requête
$res = $conn->query($req);
// on envoie la requête
$res = mysql_query($req);
3. DELETE
De la même façon que le insert, le DELETE avec MySQL :
Code PHP :
// On créé la requête
$req = "DELETE FROM table1 WHERE texte='Du texte'";
// on envoie la requête
$res = mysql_query($req);
// on envoie la requête
$res = $conn->query($req) or die();
// Si on a des lignes...
if ( $res->num_rows > 0 )
{
echo "On a des résultats";
}
else
{
echo "On n'a aucun résultat";
}
Situation problème :
Votre amie Claudine a écrit un programme qui calcule la somme des 10 nombres en utilisant le langage C.
Elle souhaite donc tester ce programme pour savoir s’il réalise vraiment la tâche demandée. Rencontrant des
difficultés, elle fait appel à vous dans le but de l’aider.
Consignes :
1. De quoi a-t-elle besoin pour tester son programme ?
2. Donner le rôle d’un compilateur.
3. Décrire les étapes qu’elle doit suivre pour résoudre son problème.
Pour compiler votre code source C en utilisant le compilateur gcc, on utilise la commande suivante :
gcc [options] fichier.c [-llibrairies]
Par défaut, le fichier exécutable s’appelle a.out. Le nom de l’exécutable peut être modifié à l’aide de l’option
-o nom-de-fichier
fichier.c est le nom de votre programme C que vous avez tapé dans votre éditeur texte.
Un programme C est toujours enregistré sous l’extension .c Les éventuelles librairies sont déclarées par la
chaîne -llibrairie.
Dans ce cas, le système recherche le fichier liblibrairie.a dans le répertoire contenant les librairies
pré-compilées (généralement /usr/lib/).
Par exemple, pour lier le programme avec la librairie mathématique, on spécifie -lm. Le fichier objet
correspondant est libm.a.
Lorsque les librairies pré-compilées ne se trouvent pas dans le répertoire usuel, on spécifie leur chemin d’accès
par l’option –L
Exemple : la commande gcc -o programme1 programme1.c compile le code source du programme nommé
programme1.c pour produire un fichier exécutable nommé programme1
Après compilation de votre programme C, il faut donc ouvrir le fichier exécutable pour tester votre
programme.
INTRODUCTION
En programmation informatique, une structure de contrôle est une instruction particulière d'un langage de
programmation impératif pouvant dévier le flot de contrôle du programme la contenant lorsqu'elle est
exécutée. Le langage C propose plusieurs structures de contrôle différentes, qui nous permettent de nous
adapter à tous les cas possibles. Il permet d’utiliser les conditions (structures alternatives), des boucles
(structures itératives).
Exemple : le programme C qui prend en entrée un nombre puis affiche le message « positif » si c’est ce
nombre est supérieur à 0 est :
#include <Stdio.h>
- La forme complète
if (condition) {
bloc instructions 1
} else {
bloc instructions 2
}
Exemple : le programme C qui permet d’étudier la parité d’un nombre saisi par
l’utilisateur est :
#include <Stdio.h>
int main (void) {
int n ;
printf ("saisir un nombre");
scanf("%d",&n);
if (n%2==0) {
printf("%d",n,"est paire");
} else {
printf("%d",n,"est impaire");
}
Return 0;
}
- L’opérateurs conditionnel ?
L’opérateur conditionnel ? est un opérateur ternaire. Sa syntaxe est la suivante :
condition ? expression 1 : expression 2 ;
Cette expression est égale à expression 1 si condition est satisfaite, et à expression 2 sinon.
Exemple : le programme C qui calcule la valeur absolue d’un nombre est :
#include <Stdio.h>
int main (void) {
int x, abs;
abs=((x>=0)? x : -x) {
printf(" abs= %d",abs);
}
Return 0;
}
- L’opérateur virgule
Une expression peut être constitué d’une suite d’expressions séparées par des virgules :
expression 1, expression 2 , …… , expression n ;
Cette expression est alors évaluée de gauche à droite. Sa valeur sera la valeur de l’expression de droite.
Par exemple, le programme
- Structures itératives
Toutes les structures itératives répètent l’exécution de traitement(s). Deux cas sont cependant à envisager,
selon que :
- Le nombre de répétitions est connu à l’avance : c’est le cas des boucles itératives.
- Le nombre de répétitions n’est pas connu ou est variable : c’est le cas des boucles
conditionnelles.
• Boucle for
Cette structure est une boucle itérative ; elle consiste à répéter un certain traitement un nombre de fois fixé à
l’avance. Cette structure est donnée par :
for (initialisation ; condition ;incrémentation ) {
bloc instructions;
}
Exemple : Affichage de nombres plus petit ou égal à 5.
for (i=0 ;i<=5 ; i++ ) {
printf(" i=%d",i);
}
• Boucle while
Parfois, pour réaliser une tâche, on doit effectuer plusieurs fois les mêmes instructions, sans que le nombre de
fois soit déterminé à l’avance. On utilise alors une boucle conditionnelle. Dans cette structure, le même
traitement est effectué tant qu’une condition reste valide ; la boucle s’arrête quand celle-ci n’est plus remplie.
Cette structure répétitive est ainsi formulée :
While (condition vraie) {
bloc instructions;
}
EXERCICES
B- Écrire un programme C pour calculer la moyenne de notes fournies au clavier. Le nombre de notes
n’est pas connu à priori et l’utilisateur peut en fournir autant qu’il le désire. Pour signaler qu’il a
terminé on convient de fournir une note négative non comptée dans la moyenne.
C- Écrire un programme C pour Déterminer si un nombre entier fourni en donnée est
premier ou non
D- Écrire un programme qui affiche la table de multiplication des nombres de 1 à 10
E- Soit le programme C ci-dessous :
#include <Stdio.h>
int main (void) {
int a,b,m;
m =((a>b)? a : b) {
printf("%d",m);
}
Return 0;
EXERCICE
A- On veut écrire un programme C qui calcule la moyenne de 50 nombres saisis par l’utilisateur.
a. Écrire une fonction nommée Lecture qui permet de lire les 50 nombres puis les stockent dans un
tableau de taille 50.
b. Écrire une autre fonction nommée somme qui permet de sommer les 50 nombres stockés dans le
tableau.
c. Écrire une autre fonction nommée moyenne qui calcule la moyenne de ces 50 nombres.
d. Écrire la fonction principale faisant appel à ces fonctions pour résoudre le problème posé.