File: parameters.phtml

package info (click to toggle)
wims 2%3A4.29a%2Bdfsg1-3
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 185,704 kB
  • sloc: xml: 366,687; javascript: 120,570; ansic: 62,341; java: 62,170; sh: 7,744; perl: 3,937; yacc: 3,217; cpp: 1,915; lex: 1,805; makefile: 1,084; lisp: 914; pascal: 601; python: 520; php: 318; asm: 7
file content (142 lines) | stat: -rw-r--r-- 6,512 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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
  
<h2 class="wimscenter">Parametri casuali in un esercizio interattivo</h2>
<p>
L'utilizzo di parametri casuali permette di programmare esercizi
pi interessanti, in quanto ogni volta che si apre l'esercizio di fatto
si ottiene un esercizio differente.
</p><p>
Per esempio, la riga seguente permette di definire una variabile con nome
<span class="tt wims_code_variable">x1</span>, il cui valore sar un
numero intero casuale tra 
-10 e 10 (inclusi):
</p><pre>
\integer{x1=random(-10..10)}
</pre>
Una volta definito, questo parametro potr essere utilizzato chiamando
la variabile
<b><span class="tt wims_code_variable">\x1</span></b>, in ogni punto
dell'esercizio (l'enunciato, le risposte, i suggerimenti e la soluzione).
In altre parole ogni volta che viene utilizzato il comando <span class="tt wims_code_variable">\x1</span> in uno di tali testi
questo sar sostituito con il valore casuale
del parametro. Questa sostituzione ha luogo anche nella definizione di altri 
parametri che richiamano il valore di <span class="tt wims_code_words">x1</span>.
<p>
Per esempio inseriamo il seguente codice
</p>
<pre>
\integer{x1=random(-10..10)}
\integer{y1=\x1+3}
</pre>
nel campo di definizione dei parametri e il seguente testo
<pre>
Calcola il prodotto di \x1 per \y1.
</pre>
<p>nell'enunciato dell'esercizio. Quando viene richiamato l'esercizio vengono
attribuiti valori casuali alle variabili, per esempio 
supponiamo che il valore casuale <span class="tt wims_code_variable">-7</span> sia assegnato a \x1. Allora 
il parametro seguente \y1 avr valore -4, e l'enunciato apparir
con tali valori
</p><p class="wimscenter">Calcola il prodotto di -7 per -4.
</p>
 allora possibile definire una risposta numerica con nome <span class="tt">Il prodotto</span>, definendo come risposta corretta <span class="tt">(\x1)*(\y1)</span>. (Sottolineiamo il fatto
che le parentesi sono necessarie in quanto la sostituzione dei valori
delle variabili  letterale.)
<a id="list"></a>
!if oefparm isitemof $special_parm
 !changeto help/oefparm.phtml
!endif
$table_header
<caption>Alcuni esempi di definizione di variabili
!href cmd=help&special_parm=$special_parm,oefparm#list [elenco completo]
</caption>
$table_hdtr<th>Definizione</th><th>Risultato</th></tr>
$table_tr<td class="tt wims_code_words">\real{x=random(-5..5)}
    </td><td>\x sar un numero reale casuale<br>tra -5 e 5
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=randitem(-5,-3,0.3,4)}
    </td><td>\a sar un numero reale preso casualmente <br>tra -5,-3,0.3 e 4
</td></tr>
$table_tr<td class="tt wims_code_words">\complex{z=(1+2*i)^3}
    </td><td>\z sar il numero complesso z=(1+2*i)^3
</td></tr>
$table_tr<td class="tt wims_code_words">\text{sign=randitem(+,-)}
    </td><td>\sign sar un segno casuale: + o -
</td></tr>
$table_tr<td class="tt wims_code_words">\integer{n=3*exp(\a)}
    </td><td>\n sar l'intero pi vicino a 3*e<sup>\a</sup> <br>(dipende dal
    valore di \a)
</td></tr>
$table_tr<td class="tt wims_code_words">\function{f=randitem(x^2+1,sin(x),log(x))}
    </td><td>\f sar una funzione casuale: o x^2+1,<br>o sin(x), oppure
    log(x)
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=evalue(x^2+sin(y),x=3,y=4)}
    </td><td>Valore assunto dalla funzione x^2+sin(y),<br>
    per x=3, y=4
</td></tr>
$table_tr<td class="tt wims_code_words">\real{r=solve(x^3-3*x+1,x=0..1)}
    </td><td>\r sar una radice semplice di x^3-3x+1 tra 0 e 1
</td></tr>
$table_tr<td class="tt wims_code_words">\function{h=simplify(x^5*y^3*x^2/y)}
    </td><td>Espressione semplificata: x<sup>7</sup>y<sup>2</sup>
</td></tr>
$table_tr<td class="tt wims_code_words">\function{g=diff(sin(x)+cos(y),x)}
    </td><td>\g sar la derivata di sin(x)+cos(y) rispetto a x
</td></tr>
$table_tr<td class="tt wims_code_words">\function{F=int(x^2+3*x+1,x)}
    </td><td>\F sar una primitiva di x^2+3*x+1,<br>
     il termine costante potrebbe variare da funzione a funzione
!!$table_tr<td class="wims_code_words">\function{F=int(t^2+3*t+1,t=1..x)}
!!    <td>\F sar la primitive x^2+3*x+1 tale che g(1)=0
</td></tr>
$table_tr<td class="tt wims_code_words">\real{a=int(t^2+3*t+1,t=0..1)}
    </td><td>\a sar l'integrale numerico di x^2+3*x+1, da 0 a 1
</td></tr>
$table_tr<td class="tt wims_code_words">\text{f=htmlmath(2*x^2+3*x)}
    </td><td>\f sar convertito in html come: 2x<sup>2</sup>+3x
</td></tr>
$table_tr<td class="tt wims_code_words">\text{f=texmath(2*x^2+3*x)}
    </td><td>\f sar il sorgente TeX dell'espressione.
</td></tr>
$table_tr<td class="tt wims_code_words">\integer{n=items(a,b,c,d,e,f)}
    </td><td>\n sar il numero di elementi (in questo caso 6) nella lista
     {a,b,c,d,e,f}
</td></tr>
$table_tr<td class="tt wims_code_words">\text{i=item(3,a,b,c,d,e,f)}
    </td><td>\i sar l'elemento numero 3 della lista
     {a,b,c,d,e,f} (quindi c).
</td></tr>
$table_tr<td class="tt wims_code_words">\text{s=shuffle(6)}
    </td><td>\s sar la lista dei 6 interi 1,2,...,6, in ordine casuale.
</td></tr>
$table_tr<td class="tt wims_code_words">\text{s=shuffle(a,b,c,d,e)}
    </td><td>\s sar la lista delle lettere {a,b,c,d,e} in ordine casuale.
</td></tr>
$table_tr<td class="wims_code_words">\matrix{m=1,2,3<br>4,5,6<br>7,8,9}
    </td><td>\m sar la matrice di 3 righe e 3 colonne.
</td></tr>
$table_tr<td class="tt wims_code_words">\text{t=asis(Come va? matrix(1,2,3))}
    </td><td>\t  la stringa esattamente come  scritta, <br>senza alcuna conversione o verifica di condizioni.
</td></tr>
$table_end

Parametri con condizioni: si pu scrivere
<pre>
\text{ttt=_condizione?_def1}
\text{ttt=_condizione?_def1:_def2}
</pre>
<p>
In questo modo <span class="tt wims_code_words">ttt</span> avr il valore <span class="tt wims_code_words">_def1</span> se
<span class="tt wims_code_words">_condizione</span>  verificata, oppure <span class="tt wims_code_words">_def2</span> altrimenti (nella seconda
forma).
!href target=wims_mhelp cmd=help&special_parm=if Elenco completo delle condizioni
</p><p>
La posizione di una definzione rispetto all'enunciato  importante:
se una variabile  definita DOPO l'enunciato, la sua valorizzazione
avr luogo unicamente DOPO che  stata data una risposta alla domanda.
In questo caso tale definizione pu utilizzare le risposte date,
utilizzando le variabili <span class="tt wims_code_variable">\reply1</span>, <span class="tt wims_code_variable">\reply2</span>, ecc. E le
variabili cos definite possono essere utilizzate per parametrizzare
la visualizzazione di commenti e condizioni.
</p>