File: data.def

package info (click to toggle)
wims-help 4.01-5
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 18,412 kB
  • sloc: python: 46; sh: 16; makefile: 7
file content (115 lines) | stat: -rw-r--r-- 3,554 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
!set titb=Utiliser des fichiers de donnes
!set keyw=
!set datm=20050208
!set prev=
!set next=
!set upbl=main
!set dat1=19000101
!set dat2=24000101

!if $wims_read_parm!=$empty
 !goto $wims_read_parm
!endif

!exit

:content
<h2><center>Utiliser des fichiers de donnes indpendamment des exercices</center></h2>
<p>
On peut stocker des donnes dans un fichier que nous appellerons ici 
<tt class="e">tableau</tt> et les utiliser ensuite dans un ou plusieurs exercices. Prenons l'exemple
de l'exercice de grammaire 
!read primitives.phtml 1, fold, grammaire, suivant. 

<p>
Plutt que d'avoir les phrases dans le fichier d'exercice, crez un fichier d'adresse 
<tt class="e">tableau</tt> (attention, cette fois-ci ne pas mettre <tt class="d">src
</tt>). Et mettez-y 
le texte suivant 
<p>
<pre class="fichier"> 
&#58;Je suis grand ??et,est,ai?? brun.
Le caf ??est,et,ai?? chaud.
La fleur ??est,et,ai?? rouge.
Le soleil ??est,et,ai?? chaud
J'??ai,est,et?? chaud
	
&#58;L'lve ??est,et?? srieux ??et,est?? appliqu.
Paul se ramasse ??et,est?? se relve.
Le pull ??est,et?? chaud ??et,est?? lger.
La rue ??est,et?? troite ??et,est?? en pente.
Pierre ??est,et?? fort en mathmatiques ??et,est?? en franais.
La lumire sur le vieux port ??est,et?? trs belle en hiver ??et,est?? en t.
</pre>
<p>
Remarquez le signe de ponctuation <tt class="c"> <font size= +2>&#58;</font></tt>
que nous avons un peu grossi. Il va tre possible maintenant dans un exercice de 
<i>charger</i> ces donnes soit en entier, soit slectivement pour la partie entre deux 
points conscutifs. 
<p>
Donnons les premires commandes  permettant cette utilisation et qui donneront un 
exercice quivalent au prcdent &#58; 
<p>
<pre class="fichier">
<div class="variable">
\text{Tableau = wims(record 1 of tableau)}
\text{a = randomrow(\Tableau)}
</div>
</pre>
<div class="aide"><tt class="c">record 1</tt> chargera les cinq premires lignes
du tableau, plus exactement celles entre le premier <tt class="c">&#58;</tt> et 
le second. </div>
<p>
<pre class="fichier">
<div class="variable">
\text{Tableau = wims(record 2 of tableau)}
\text{a = randomrow(\Tableau)}
</div>
</pre>
<div class="aide"><tt class="c">record 2</tt> chargera les six dernires lignes
du tableau (il faudra bien sr changer la suite de l'exercice 
qui ne fonctionnera plus)</div>
<p>
<pre class="fichier">
<div class="variable">
\text{Tableau = wims(record 0 of tableau)}
\text{a = randomrow(\Tableau)}
</div>
</pre>
<p>
<div class="aide"><tt class="c">record 0</tt> chargera toutes
les lignes du fichier <tt class="e">tableau</tt></div>
<p>
<pre class="fichier">
<div class="variable">
\integer{m = wims(recordcnt tableau)}
\matrix{Tableau = }
\for{ i = 1 to \m}{
  \text{Tableau = \tableau
  randrow(wims(record \i of tableau))}
</div>
</pre>
<div class="aide">Ici, on compte le nombre de "record" (ici 2, 
mais il pourrait y en avoir plus). Et on prend une ligne par type. 
On pourra donc poser une question de chaque type. 
</div>
<p>

!read primitives.phtml 2, fold, fichiergram, Un exemple d'exercice complet 

<p>
Donnons un autre exemple d'utilisation de tableau extrieur aux exercices. 
Il s'agit de tableau de type "dictionnaire" de la forme suivante &#58; 
<div class="fichier">
<pre class="c">
azote&#58;.....
hydrogene&#58;....
</pre>
</div>
<p>
On peut alors aller chercher la ligne associe  azote avec la commande <tt class="c">lookup</tt>
<p>
<pre class="c">
\text{ligne= wims(lookup azote in tableau)}
</pre>
et rcuprer ensuite les informations qui suivent et dont vous avez besoin.