Site A.T.L.A.N.T.I.C-83
COURS = () - VERSION:
- AUTEUR(s):
Ecran large mobile
Retour
sommaire cours

EVALUATION DU CHAPITRE 4




DOMAINE: ANNEXES: GESTION DES EVENEMENTS-NOTION D'OBJETS

- Nombre de sujets: 7
- Nombre de propositions à cocher: 22
- Durée totale allouée: 533 secondes



SUJET N°1: DEFINITION DU FLOT DE CONTROLE-Donnez votre avis sur les propositions suivantes:




Proposition N° 1 (Valeur: 1 ):Le flot de contrôle est un mécanisme qui permet de surveiller le fonctionnement de l'exécutant d'un algorithme.

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):Le flot de contrôle est constitué de l'ensemble des données qui influencent l'ordre d'exécution des instructions d'un algorithmes.

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):Lors de l'exécution d'un algorithme, le flot de contrôle est matérialisé par la suite des instructions exécutées par le processeur.

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:








SUJET N°2: DETERMINATION DU FLOT DE CONTROLE-Soit l'algorithme suivant:

00-
01-
02-
03-
04-
05-
06-
07-
08-
09-
DEBUT
Var N en numérique
Var I en numérique
ENTRER N
I ← 1
TANT QUE ( I*I <= N ) FAIRE
I ← I +1
FINFAIRE
SORTIR "Le premier carré de nombre entier positif plus grand que N est: ", I*I
FIN
Nous supposons que cet algorithme est isolé de toute influence extérieure, à part la saisie de la valeur de A. Si la valeur 15.2 est saisie par l'instruction ENTRER, le flot de contrôle peut être matérialisé par une des listes de numéros d'instructions suivantes?




Proposition N° 1 (Valeur: 1 ):0, 1, 2, 3, 4, 5, 6, 7, 8, 9

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):0, 1, 2, 3, 4, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 8, 9

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):0, 1, 2, 3, 4, 5, 6, 7, 5, 6, 7, 5, 6, 7, 5, 6, 7, 8, 9

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:








SUJET N°3: COUPLAGE PAR MEMOIRE PARTAGEE-Soient les algorithmes suivants:

DONNEES PARTAGEES
......................................
FIN DONNEES PARTAGEES

DEBUT
Var Message en Chaîne de caractères
...................................
Pointeur ← 0
TANTQUE ( 1 == 1 ) FAIRE
ENTRER Message // Depuis le réseau
SI ( Pointeur < 10 ) ALORS
T(Pointeur) ← Message
Pointeur) ← Pointeur + 1
FINSI
FIN TANTQUE
FIN

DEBUT
...................................

TANTQUE ( 1 == 1 ) FAIRE
SI ( Pointeur >= 1 ) ALORS
SORTIR T(Pointeur-1) // Sur l'imprimante
Pointeur ← Pointeur - 1
FINSI
FIN TANTQUE
FIN

NOTA: la notation TANTQUE ( 1 == 1 ) correspond à une itérative qui boucle indéfiniment. Ce procédé est utilisé pour pallier l'absence d'une boucle REPETER sans condition d'arrêt.
Supposons que ces deux algorithmes soient exécutés par deux processeurs différents partageant des données. Le premier algorithme fait l'acquisition de messages sur le réseau et les empile dans le tableau T (ce qui veut dire qu'il les place dans la "dernière case libre" de T. Le deuxième algorithme dépile ces messages (donc, en commençant par le dernier arrivé) et l'imprime.
Les données T et Pointeur ne sont pas déclarées. Ou et comment faut-il les déclarer? lesquelles de ces propositions vous paraissent acceptables?




Proposition N° 1 (Valeur: 1 ):Il faut déclarer T dans le segment DONNEES PARTAGEES:
Tableau T(9) en Chaîne de caractères
En revanche, la donnée Pointeur doit être déclarée dans chacune des deux procédures:
Var Pointeur en numerique

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):Il faut les déclarer toutes deux dans le segment DONNEES PARTAGEES:

Tableau T(20) en Chaîne de caractères
Var Pointeur en numerique

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):Il faut les déclarer toutes deux dans le segment DONNEES PARTAGEES:

Tableau T(9) en Chaîne de caractères
Var Pointeur en numerique

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:








SUJET N°4: TRAITEMENT DES EVENEMENTS-Soit l'algorithmes suivant:

DONNEES PARTAGEES
Var SignalMA en booleen // Signal = VRAI si on a reçu un signal d'arrêt de l'algorithme, FAUX sinon
FIN DONNEES PARTAGEES

DEBUT
Var Date en numérique // Date en secondes depuis minuit
SignalMA ← FAUX
QUAND Réception signal d'arrêt FAIRE TraiterArret
ATTENDRE Signal de passage à une minute ronde
TANTQUE ( SignalMA != VRAI ) FAIRE
ENTRER Date // Lecture de la date en secondes depuis minuit
ATTENDRE Signal de passage à une minute ronde
SORTIR Date // Sur l'écran de contrôle
FINFAIRE
FIN

PROCEDURE TraiterArret
SignalMA ← VRAI
FIN PROCEDURE

Sachant que l'instruction ENTRER Date est synchronisée sur le passage à la seconde ronde, que la survenue du signal de passage à la minute ronde est légèrement antérieur au passage à la seconde ronde correspondante et que la durée d'exécution des autres instructions peut être considérée comme négligeable, donnez votre avis sur les propositions suivantes:




Proposition N° 1 (Valeur: 1 ):Le résultat de l'exécution est l'affichage de la date courante à chaque seconde ronde

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):Le résultat de l'exécution est l'affichage de la date courante à chaque minute ronde.

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):Pour que la date courante s'affiche à chaque minute ronde, il suffirait de permuter dans la boucle TANTQUE les instructions ENTRER Date.. et ATTENDRE Signal de passage à une minute ronde.

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 4 (Valeur: 1 ):En cas d'arrêt de l'exécution par le signal d'arrêt, la dernière date imprimée sera la date de survenue du signal à une seconde près.

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:








SUJET N°5: LA NOTION D'OBJET-CLASSES ET OBJETS.Soit l'algorithme suivant:

CLASSE Triangle
var Base en numérique // Longueur de base en cm
var Hauteur en numerique // Hauteur en cm
var Surface en numerique // Surface en cm2
PROCEDURE CalculSurface ()
Surface = Base * Hauteur / 2
FIN PROCEDURE
PROCEDURE Triangle ( var B en numerique, var H en numerique )
Base ← B
Hauteur &larr H
FIN PROCEDURE
FIN CLASSE

Que faut-il faire pour créer un objet triangle de base 20 cm et de hauteur 15 cm ?




Proposition N° 1 (Valeur: 1 ):Il faut programmer:


CalculSurface ( 20, 15 )

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):Mais non ! il faut programmer:

OBJET MonArbre = NOUVEAU Triangle
.................................
Triangle ( 20, 15 )

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):Sûrement pas ! il suffit d'écrire:

OBJET MonTriangle = NOUVEAU Triangle (20, 15)

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:








SUJET N°6: LA NOTION D'OBJET-OBJETS-METHODES ET ATTRIBUTS. Soit l'algorithme de la question précédente. Après création d'un objet MonTriangle de base 20 et de hauteur 15, comment peut-on faire pour récupérer sa surface dans la variable numérique MaSurface ?




Proposition N° 1 (Valeur: 1 ):Il suffit d'écrire:

MaSurface &larr MonTriangle.CalculSurface ()

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):ou plutôt:

MonTriangle.CalculSurface ()
MaSurface ← MonTriangle.Surface
Ne pensez-vous pas ?

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):Un peu trop compliqué! la solution est, tout simplement:

CalculSurface ()
MaSurface ← MonTriangle.Surface

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:








SUJET N°7: LA NOTION D'OBJET-CLASSES DERIVEES.Soit l'algorithme suivant:

CLASSE Segment
var Longueur en numérique

PROCEDURE Segment ( var L en numérique)
Longueur ← L
FIN PROCEDURE
FIN CLASSE

CLASSE Carre: Segment
var Surface en numérique

PROCEDURE CalculSurface ()
Surface = Longueur * Longueur
FIN PROCEDURE
FIN CLASSE

On veut créer un objet de la classe Carre de 20 cm de côté et afficher sa surface et la longueur de son coté. Parmi les algorithmes suivants, dites s'ils vous semblent répondre ou pas à la question:




Proposition N° 1 (Valeur: 1 ):Première solution:

DEBUT
OBJET MonCarre = NOUVEAU Carre (20)

MonCarre.CalculSurface ()
SORTIR "Surface du carré de ", 20, " = ", MonCarre.Surface, " cm2"
FIN

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 2 (Valeur: 1 ):Deuxième solution:

DEBUT
OBJET MonCarre = NOUVEAU Carre ()
OBJET MonSegment = NOUVEAU Segment (20)

MonCarre.CalculSurface ()
SORTIR "Surface du carré de ", MonSegment.Longueur, " = ", MonCarre.Surface, " cm2"
FIN

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:


Proposition N° 3 (Valeur: 1 ):Troisième solution:

DEBUT
OBJET MonCarre = NOUVEAU Carre (20)

MonCarre.CalculSurface ()
SORTIR "Surface du carré de ", MonCarre.Longueur, " = ", MonCarre.Surface, " cm2"
FIN

D'accord: Plutôt d'accord: Ne sais pas: Plutôt pas d'accord: Pas d'accord:







Retour au sommaire
M/A
chrono