| Programmez par plaisir! |
30-07-2010 03:46 |
Introduction
Questions
Réponses
Téléchargements
On désire mettre en place une application pour gérer les informations
contenues sur un cadastre qui représente les parcelles d’un ensemble
d’exploitations agricoles.
Sur un cadastre, on trouve les bornes qui servent de points de repère
pour délimiter des parcelles, établir des clôtures ou
tracer des chemins, tel que le suggère la figure suivante où
apparaissent les bornes A,B, C, D, … et M :

A partir de ces bornes, repérées par leurs coordonnées
(x,y) sur le cadastre, on définit :
- des segments (de droite) : chacun est délimité à l’une
de ces deux extrémités par une borne. La figure ci-dessus montre
les segments (A, B), (B, C), …, (I, M), (M, L) ;
- des parcelles : chacune, ayant la forme d’un polygone, est une surface
délimitée par un ensemble de bornes (au moins 3) reliées
entre elles, deux à deux, par un segment. Sur la figure on voit les
parcelles P1, P2, P3, P4, P5. Une parcelle peut représenter une terre,
un bois ou une habitation.
Chacune de ces parcelles appartient à une exploitation agricole qui
est composée d’au moins une parcelle. Parmi les parcelles appartenant
à une exploitation, il en existe au moins une sur laquelle on trouve
l’habitation de l’exploitation. Chaque exploitation est définie
par son nom et par un lieu-dit. Par exemple, l’exploitation dont le
nom est ‘Château Margaux’ est située au lieu-dit
‘bord de Gironde’. Les parcelles qui font partie de cette propriété
pourraient être P5, P1 et P3. L’habitation est sur la parcelle
P3, les autres sont des terres. Chaque exploitation est gérée
par une seule personne, appelée gérant de l’exploitation.
Une personne ne peut gérer au plus, qu’une seule exploitation.
Chaque exploitation est la propriété d’au moins une personne.
Toute personne est définie dans la base par son nom et son adresse
et peut être propriétaire d’une exploitation, et même
plusieurs.
On décrit une parcelle par l’énumération de ses
bornes dans le sens trigonométrique (sens contraire des aiguilles d’une
montre). On attribut les numéro d’ordre 1 à une borne
choisie arbitrairement et on incrémente ce numéro en parcourant
le reste des bornes. La figure ci-dessous explicite cela :

On pourra remarquer qu’une borne peut avoir des numéros d’ordre différents selon la parcelle qui la compose.
On supposera que :
- les coordonnées des bornes sont des nombres entiers. Par exemple,
on a : A(1, 6), B(5, 11), C(10, 13), D(9, 10), E(14, 9), F(12, 6),
G(7, 6), H(3, 4), I(0, 0), J(0, 13), K(16, 14), L(16, 0), M(10, 0) ;
- toutes les parcelles sont indépendantes : il n’y a pas de chevauchement
possible entre deux parcelles ;
- les segments ne se recouvrent pas, ne se coupent pas : si une borne X appartient
au segment [A, B], le segment est coupé en deux segments [AX] et [XB]
en rendant le segment [AB] interdit ;
- les parcelles recouvrent la zone entière du plan cadastral :
P1 U P2 U P3 U … U Pn = plan cadastral
Pour tout i et pour tout j appartenant à (1, n) : i ? j et Pi nPj =
Ø
En supposant que n est le nombre total de parcelles dans le plan cadastral.
Top
1) Donner le diagramme de classe associé à cet énoncé.
2) Donner un exemple de diagramme d’objet associé à cet énoncé.
3) Donner les ordres SQL de création des tables de la base de données
4) Donner les ordres SQL d’insertion des données dans les tables.
5) Quelle est l'adresse du gérant de l'exploitation 'Chateau Margaux' ?
6) Quelle est l'adresse des propriétaires de l'exploitation 'Chateau Margaux' ?
7) Quelles sont les parcelles de l'exploitation 'Chateau Margaux' ?
8) Quelles sont les coordonnées des bornes des parcelles de l'exploitation 'Chateau Margaux' ?
9) De combien de parcelles est composée 'Chateau Margaux' ?
10) Quels sont les segments de la parcelle P3 ?
11) Quelles sont les parcelles qui jouxtent la parcelle P3 ?
12) Quelles sont les personnes qui gèrent l'une de leur propriétés ?
13) Quelles sont les personnes qui gèrent une exploitation dont ils ne sont pas propriétaires ?
14) Nom des bornes du premier segment de la parcelle P2.
15) Nom des bornes du dernier segment de la parcelle P2.
16) Nom des bornes délimitant chaque segment de la parcelle P2.
17) Pour chaque segment d'une parcelle, donner son identifiant de parcelle et le nom des bornes délimitant le segment.
Un polygone (une parcelle) est convexe si chacun de ses angles (internes) est inférieur à 180 degrés. La parcelle P1, par exemple est convexe : chacun de ses angles (internes) est inférieur à 180 degrés, en particulier l’angle de sommet H. La parcelle P3 est concave : l’angle de sommet H (interne à la parcelle P3) est supérieur à 180 degrés.
La formule, dite du produit croisé, permet de savoir si un angle d’un
polygone est inférieur ou supérieur à 180 degrés.
Cette formule est fonction :
- de l’ordonnancement des angles du polygone, que l’on supposera
être dans le sens inverse des aiguilles d’une montre, à
partir d’un angle pris au hasard,
- des coordonnées de l’angle du sommet précédent
et du sommet suivant.
On suppose qu’un polygone a un angle S1 de coordonnées (x1,
y1). Il est noté (S0, S1, S2) : en supposant que son sommet précédent
de S1 est le sommet S0 de coordonnées (x0, y0), et que son sommet suivant
de S1 est le sommet S2 de coordonnées (x2, y2). La formule du produit
croisée est la suivante :
(x1 - x0) * (y2 - y0) - (x2 - x0) * (y1 - y0)
si la formule retourne une valeur positive, l’angle (S0, S1, S2) est
inférieur à 180 degrés ; une valeur négative,
l’angle (S0, S1, S2) est supérieur à 180 degrés.
18) Appliquer la formule à l'angle (A, H, G) de la parcelle P1, et à l'angle (G, H, A) de la parcelle P3, afin de vérifier que le premier est concave et l'autre convexe.
19) Ecrire une requête qui retourne la valeur de l'angle (A, H, G) de la parcelle P1 et de celle de l'angle (G, H, A) de la parcelle P3.
20) Ecrire une requête qui retourne pour chaque parcelle, son nom et le nom de son deuxième angle, c’est-à-dire le nom des 3 premiers sommets.
21) En supposant que vous ne connaissez pas le nombre de sommets délimitant la parcelle P1, écrire une requête qui retourne le nom de son premier angle ( nom du dernier sommet et des deux premiers sommets)
22) Ecrire une requête qui retourne pour chaque parcelle, son nom et le nom de son premier angle (le nom du dernier sommet et des deux premiers sommets)
23) Ecrire une requête qui retourne la liste des parcelles convexes.
24) Ecrire une procédure en PL/SQL qui effectue le changement d’exploitation d’une parcelle.
25) Construire le diagramme de classe sous USE avec les contraintes suivant la solution suivante.
+----------+ +-------+
| Personne | | Borne |
+----------+ +-------+
| nom | | code |
| age | | x |
+----------+ | y |
1..1 |g p| 1..* +-------+
| | b | 3..*
| | |
Gérant | | Propriétaire | Sommet
| | | (ordonné)
|gère | |
0..1 | ex| 0..* pa | 1..*
+--------------+ +----------+
| Exploitation | Composition | Parcelle |
+--------------+ ex pa +----------+
| nom |--------------------| code |
| lieu_dit | 1..1 1..* | type |
+--------------+ +----------+26) Construire le diagramme d’objet sous USE.
27) Quelles sont les parcelles de la propriété CH. Margaux ?
28) Donner les noms de personnes qui ne sont responsables d’aucune propriété.
29) Combien de bornes possède la parcelle P2 ?
30) Pour chaque parcelle, donner son nombre de bornes ?
31) Quelle est la personne qui a le plus de propriété ?
- En ligne. (html) [ 100 Ko]
- En ligne. (txt) [ 43 Ko ]
Top
- Le sujet. (doc) [ 20 Ko ]
- Le sujet. (pdf) [ 129 Ko ]
- Les réponses. (doc) [ 30 Ko ]
- Les réponses. (pdf) [ 118 Ko ]
Top