Vous êtes sur la page 1sur 6

LYCEE BILINGUE DE BOJONGO Département d’informatique Année scolaire : 2020-2021

Classe : 1ière TI - Durée : 3h - Coefficient : 3

Evaluation No 5 D’algorithmique et Programmation

PARTIE I : ALGORITHMIQUE 10 pts


Exercice 1 :
Le directeur d’une entreprise de la place souhaite concevoir une base de données permettant de conserver les
informations des employés. Un employé est caractérisé par son Matricule, son nom, son âge et sa
catégorie. Il vous sollicite pour résoudre ce problème. Vous, n’ayant aucune base sur la conception des
bases de données, vous optez créer un tableau qui permettra de conserver ces informations.
En se servant du langage algorithmique :
1- Ecrire la syntaxe de déclaration du type structuré EMPLOYE (0.5pt)
Type EMPLOYE: enregistrement
Matricule, nom, catégorie : chaine ;
age : entier ;
FinEnregistrement
2- Ecrire la syntaxe de déclaration du tableau nommé TbEmp qui permettra de contenir les
informations de 60 employés (0.5pt)
Var TbEmp: Tableau [1..60] de EMPLOYE;
3- Ecrire une procédure remplirTab() qui prend en paramètre un tableau d’employés (de taille max)
afin de remplir les différentes informations de ces employés (1pt)
Procédure remplirTab(Var TbEmp: Tableau [1..60] de EMPLOYE)
Var i : entier ;
debut
Pour i de 1 à 60 faire
Ecrire( ‘‘saisir successivement matricule, nom, catégorie et âge d’un employé’’) ;
Lire(TbEmp[i].Matricule, TbEmp[i].nom, TbEmp[i].catégorie, TbEmp[i].age) ;
Finpour
fin
4- Une fois le tableau rempli, ce directeur souhaite effectuer un test en affichant les informations d’un
employé en fonction du matricule.
a- Ecrire une procédure rechercheSeq() qui prend en paramètre un matricule, un tableau
d’employés puis affiche les informations de l’employé ayant ce matricule-là. (1pt)
Procédure rechercheSeq(Var TbEmp: Tableau [1..60] de EMPLOYE, Var matricule : chaine)
Var i : entier ;
debut
Pour i de 1 à 60 faire
si(TbEmp[i].Matricule = matricule) alors
ecrire(TbEmp[i].Matricule, TbEmp[i].nom, TbEmp[i].catégorie, TbEmp[i].age) ;
finsi
Finpour
fin
b- Il profite de ce moment de test et sollicite voir l’effectif des employés contenus dans une
catégorie donnée. Ecrire une fonction effectifClass() qui prend en paramètre le nom d’une
catégorie, un tableau d’employés puis renvoie le nombre d’employés contenus dans cette
catégorie. (1pt)
Examinateur : EPANDA Joel Page 1 sur 6
LYCEE BILINGUE DE BOJONGO Département d’informatique Année scolaire : 2020-2021

Classe : 1ière TI - Durée : 3h - Coefficient : 3

Fonction effectifClass(Var TbEmp: Tableau [1..60] de EMPLOYE, Var catégorie : chaine) : entier
Var i, compt : entier ;
Debut
Compt  0 ;
Pour i de 1 à 60 faire
si(TbEmp[i].catégorie = catégorie) alors
compt  compt+1 ;
finsi
Finpour
retourner compt ;
fin

5- Ecrire un algorithme qui permettra d’exécuter ces différentes fonctions et procédures (1pt)
algorithme
Var TbEmp: Tableau [1..60] de EMPLOYE;
Compte : entier ;
matricule, catégorie : chaine ;
Type EMPLOYE: enregistrement
Matricule, nom, catégorie : chaine ;
age : entier ;
FinEnregistrement
Procédure remplirTab(Var TbEmp: Tableau [1..60] de EMPLOYE) ;
Procédure rechercheSeq(Var TbEmp: Tableau [1..60] de EMPLOYE, Var matricule : chaine) ;
Fonction effectifClass(Var TbEmp: Tableau [1..60] de EMPLOYE, Var catégorie : chaine) : entier ;
Debut
remplirTab(TbEmp) ;
ecrire(‘‘saisir le matricule d’un employé’’) ;
lire(matricule) :
rechercheSeq(TbEmp, matricule) ;
ecrire(‘‘saisir la catégorie d’un employé’’) ;
lire(catégorie) :
Compte = effectifClass(TbEmp, catégorie);
fin

Exercice 2 :
Soit l’algorithme suivant :

Examinateur : EPANDA Joel Page 2 sur 6


LYCEE BILINGUE DE BOJONGO Département d’informatique Année scolaire : 2020-2021

Classe : 1ière TI - Durée : 3h - Coefficient : 3

Algorithme fait_quoi ; 1) Citer deux avantages et deux limites du langage C (1pt)


Var i,n,p :entier ; il permet de créer des applications exécutables et des applications fenêtre
Début peut être intégré sur n’importe quel microprocesseur moderne
Ecrire (‘‘entrer un entier’’) ; limites : les limites des types, le depassement de la capacité d’un type
Lire(n), 2) Donner deux exemples de logiciels que vous pouvez utiliser pour
i 2;
p 1;
créer un programme C (0.5pt)
Tant que (i ≤ n) faire Visual C++, visual studio, code::blocks,
p p*i ; 3) Indiquer la structure utilisée dans cet Algorithme et dire à quelle
i i+1 ; condition exécuterons-nous cette structure ? (0.5pt)
fin tant que Structure itérative
Ecrire(‘‘le résultat est : p’’) ;
Fin

4) Nommer les différentes bibliothèques nécessaires pour traduire cet algorithme en programme C
(0.5pt) Les bibliothèques stdio.h, stdlib.h
5) Ecrire le programme C correspondant à cet algorithme (1pt)
Int main(void)
{
Int i, n, p ;
Printf(‘‘entrer un entier’’) ;
Scanf(‘‘ %d ’’,&n) ;
i=2;
p=1;
while(i <= n)
{
p = p*i ;
i = i+1 ;
}
Printf(‘‘le résultat est %d ’’, p) ;
}
6) Quel sont les valeurs de i et p à la fin de cet algorithme si on
saisit 5 ? (1pt)
à la fin, on aura i = 6 ; p = 120 .
7) En déduire ce que fait l’algorithme (0.5pt)
Cet algorithme calcul le factoriel d’un nombre

Examinateur : EPANDA Joel Page 3 sur 6


LYCEE BILINGUE DE BOJONGO Département d’informatique Année scolaire : 2020-2021

Classe : 1ière TI - Durée : 3h - Coefficient : 3

PARTIE II : PROGRAMMATION 10 pts


Exercice 1 : Programmation HTML et JAVASCRIPT (6pts)

Votre petit frère qui est en classe de première vient de découvrir la création des formulaires en HTML
et s’exerce en créant un formulaire ayant deux champs de types zones de textes mono ligne : Nom et email.
Vous saisissez des valeurs insensées dans ces champs et le formulaire est validé sans problème. Vous décidez
de lui faire une leçon de plus sur la gestion des formulaires sur une page web.
1) Donner l’intérêt du contrôle des données saisies par un utilisateur (0.5pt)
S’assurer que l’utilisateur saisisse les valeurs attendues
2) Dire s’il est possible de vérifier la correction d’une adresse email saisie par l’utilisateur en utilisant le
HTML. Si oui donner la procédure pour le faire. (0.5pt)
Non, cela n’est pas possible
3) Donner deux (02) limites du HTML résolues par le JavaScript concernant les formulaires (1pt)
La dynamisation des pages, l’embellissement des pages
4) Donner les étapes à suivre pour vérifier les données saisies par un utilisateur dans un formulaire en
utilisant le JavaScript (1pt)
- Créer le formulaire
- Ecrire une fonction javascript de récupération des valeurs saisies
- Effectuer un test sur ces valeurs
- Envoyer un message de validation ou de rejet
5) Rappeler les lignes de codes HTML permettant de créer des zones de textes mono lignes et multi
lignes dans un formulaire (1pt)
<input type=‘‘text’’ />
<textarea> </textarea>
6) Traduire en javascript l’algorithme suivante : (2pts)
Instruction algorithmique Instruction javascript
Variable i, k, min, temp : entiers ; var i, k, min, temp ;
Tab : Tableau[1..N] de entiers ; var Tab = newArray(N) ;
Début
Pour (i de 1 à N-1 pas de 1) faire for (i = 1 ; i= N-1 ; i++) {
Min  i ; Min = i ;
Pour (k de i+1 à N pas de 1) faire for (k = i+1 ; i = N ; i++) {
Si (Tab[k] < Tab[min]) alors if (Tab[k] < Tab[min]) {
Min  k ; Min = k ;
finSi }
finPour }
temp  Tab[i] ; temp = Tab[i] ;
Tab[i]  Tab[min] ; Tab[i] = Tab[min] ;
Tab[min]  temp ; Tab[min] = temp ;
finPour }
Fin

Examinateur : EPANDA Joel Page 4 sur 6


LYCEE BILINGUE DE BOJONGO Département d’informatique Année scolaire : 2020-2021

Classe : 1ière TI - Durée : 3h - Coefficient : 3

Exercice 2 : Programmation HTML, CSS et JAVASCRIPT (4pts)

Votre voisin qui est en classe de première, est passionné par la programmation web. En utilisant les
langages JavaScript, HTML et CSS, il a créé une page web pour le lycée bilingue de Bojongo afin de faciliter
l’enregistrement des élèves. Cette page présente le formulaire suivant :

Il vient vous rencontrer car il souhaite à présent contrôler les données que les utilisateurs vont saisir
dans ce formulaire. Il ne sait pas comment s’y prendre. Vous décidez alors de l’initier au langage JavaScript.
1) Ecrire le code Html ayant permis de réaliser cette page (1pt)
<!DOCTYPE html>
<html>
<head>
<title>FORMULAIRE</title>
<meta charset="UTF-8"/>
</head>
<body>
<form name = "formulaire">
<h1> ENREGISTREMENT AU LBY </h1><br/>
<label>Nom :</label><br/>
<input type="text" id="nom" name="nom" /><br/>
<label>Prenom :</label><br/>
<input type="text" id="prenom" name="prenom" /><br/>
<label>Sexe :</label><br/>
<input type="radio" id="feminin" name="feminin" value="feminin" />
<input type="radio" id="masculin" name=" masculin " value=" masculin " /><br/>
<label>Date de naissance :</label><br/>
<select name=" jour " id=" jour " >
<option value="01">01</option>
</select>
<select name=" mois " id=" mois " >
<option value="janvier"> janvier </option>
</select>
<select name=" annee " id=" annee " >
<option value="1990"> 1990 </option>
</select><br/>

Examinateur : EPANDA Joel Page 5 sur 6


LYCEE BILINGUE DE BOJONGO Département d’informatique Année scolaire : 2020-2021

Classe : 1ière TI - Durée : 3h - Coefficient : 3

<label>Classe :</label><br/>
<select name=" classe " id=" classe " >
<option value="6e1"> 6e1 </option>
</select><br/>
<input type="button" name = "bouton" value="Enregistrer" />
</form>
</body>
</html>
2) Ecrire le code CSS ayant permis cette mise en forme (1pt)
form{
Text-align : center ;
Background-color : gray ;
}
3) Ecrire une fonction JavaScript qui permettra de vérifier si un chant de ce formulaire reste vide lorsqu’on
clique sur le bouton d’enregistrement (1pt)
Function verification()
{
Var nom = document.getElementById(nom) ;
Var prenom = document.getElementById(prenom) ;
If(document.getElementById(feminin).checked)
{
Var sexe = document.getElementById(feminin).value ;
}else If(document.getElementById(masculin).checked)
{
Var sexe = document.getElementById(masculin).value ;
}
If(nom == " " || prenom = " " || sexe = " ")
{
Alert(" un champ de ce formulaire est vide !") ;
}
}

4) Quel évènement permettra d’exécuter cette fonction JavaScript ? (1pt)


Evènement « Onclick »

Examinateur : EPANDA Joel Page 6 sur 6

Vous aimerez peut-être aussi