Page 657 - IT2
P. 657
portables",…. Par contre, il y a des catégories comme "Scanners" où l’utilisateur se voit directement
devant la liste de produits sans avoir à passer par un deuxième choix.
La société donne aux clients de certains pays le droit d’effectuer des achats directement à partir du site.
Pour effectuer un achat, le client doit s’enregistrer dans le site en fournissant son nom et prénom, son
adresse, sa ville (à partir d’une liste déroulante), son code postal (généré automatiquement après sélection
de la ville), son numéro de téléphone et son e-mail. L’enregistrement ne se valide sauf si le client achète
au moins un produit, en spécifiant la quantité achetée du produit.
1- Etablir le dictionnaire de données. (3 pts)
2- Etablir le modèle conceptuel de données. (6 pts)
3- Etablir le modèle logique de données. (3 pts)
Partie II: Pratique (80 pts)
Dossier 1: Langage de programmation structurée (20 pts)
Exercice 1: (10 pts)
Soit le programme C suivant :
#include <stdio.h>
#include <ctype.h>
int main()
{
FILE *fpi=fopen("c:\\ofppt\\test.txt","r");
FILE *fpo=fopen("c:\\ofppt\\res.txt", "w");
int c;
for(;(c=fgetc(fpi)) != EOF;){
if(c == ' ') // test sur le caractère espace
fputc('\n', fpo);
else
fputc(((toupper(c) + 5 - 'A' ) % 26 ) + 'A' , fpo);
}
getchar();
}
NB :
i. toupper c’est une fonction de la bibliothèque ctype.h qui convertit un caractère en
majuscule.
ii. Les codes ASCII des caractères de ‘A’ à ‘Z’ sont ordonnés. Si le code de ‘A’ est une
valeur α alors celui de ‘B’ est α +1,… celui de ‘Z’ est α + 25.
Le fichier « test.txt » contient le texte suivant :
a. Que fournit l’expression : « ((toupper(c) + 5 - 'A')%26) + 'A' » pour
les valeurs suivantes de c : ‘B’, ‘L’, ‘V’ et ‘Z’. C’est quoi donc le rôle de cette
expression. (4 pts)
Filière Epreuve Session 3/7
TDI Synthèse V1 Juillet 2014

