~ubuntu-branches/debian/sid/tex4ht/sid

« back to all changes in this revision

Viewing changes to doc/prgmn2.html

  • Committer: Bazaar Package Importer
  • Author(s): Kapil Hari Paranjape
  • Date: 2005-04-05 14:14:41 UTC
  • mfrom: (1.2.1 upstream) (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050405141441-x4dojdgz3frkfyet
Tags: 20050402.1817-1
* New upstream release (2005-04-02-18:17). Closes: #299934.
* See README.src, README.validate, README.Debian and copyright
  for information on minor changes.
* This upload fixes a some .htf files. Closes: #295109.
* Updated the description to reflect recent changes.
* Fixed some typos in src/tex4ht-mkht.tex and consequently
  in the mk4ht script.
* Updated the man page to include mk4ht. 
* Updated the description of options for the scripts in the man page.
  Put more information in the man page about the way the system works.
  Closes: #219348, #219347.
* Added debian/watch file.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
 
2
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
3
 
  "http://www.w3.org/TR/html4/loose.dtd">  
4
 
<html > 
5
 
<head><title>literate code</title> 
6
 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
7
 
<meta name="generator" content="TeX4ht (http://www.cis.ohio-state.edu/~gurari/TeX4ht/mn.html)"> 
8
 
<!--html--> 
9
 
<meta name="src" content="prgmn.tex"> 
10
 
<meta name="date" content="2001-02-28 17:06:00"> 
11
 
<link rel="stylesheet" type="text/css" href="prgmn.css"> 
12
 
</head><body 
13
 
>
14
 
   A mini-turtle program.
15
 
      <!--l. 45--><p class="indent"><a 
16
 
 name="PrTx2"><span 
17
 
class="cmtt-10">&lt;..</span></a><a 
18
 
 href="#PrTx2"  name="QPrTx1"><span 
19
 
class="cmtt-10">turtle</span></a><a 
20
 
 name="PrTx3"><span 
21
 
class="cmtt-10">..&gt;</span></a>
22
 
           <pre><!--x-->&nbsp;      <span 
23
 
class="cmtt-10">import java.applet.*;</span>
24
 
      <!--x-->&nbsp;<span 
25
 
class="cmtt-10">import java.awt.*;</span>
26
 
      <!--x-->&nbsp;<span 
27
 
class="cmtt-10">public class turtle extends Applet</span>
28
 
      <!--x-->&nbsp;<span 
29
 
class="cmtt-10">{</span>
30
 
      <!--x-->&nbsp;
31
 
      <!--x-->&nbsp;   <span 
32
 
class="cmtt-10">Graphics g;</span>
33
 
      <!--x-->&nbsp;   <a 
34
 
 name="PrTx4"><span 
35
 
class="cmtt-10">&lt;.</span></a><a 
36
 
 href="#PrTx18"><span 
37
 
class="cmtt-10">vars</span></a><a 
38
 
 name="PrTx5"><span 
39
 
class="cmtt-10">.&gt;</span></a>
40
 
      <!--x-->&nbsp;   <a 
41
 
 name="PrTx6"><span 
42
 
class="cmtt-10">&lt;.</span></a><a 
43
 
 href="#PrTx16"><span 
44
 
class="cmtt-10">turtle functions</span></a><a 
45
 
 name="PrTx7"><span 
46
 
class="cmtt-10">.&gt;</span></a>
47
 
      <!--x-->&nbsp;   <span 
48
 
class="cmtt-10">public void init()</span>
49
 
      <!--x-->&nbsp;   <span 
50
 
class="cmtt-10">{</span>
51
 
      <!--x-->&nbsp;     <a 
52
 
 name="PrTx8"><span 
53
 
class="cmtt-10">&lt;.</span></a><a 
54
 
 href="#PrTx48"><span 
55
 
class="cmtt-10">initial state</span></a><a 
56
 
 name="PrTx9"  href="#PrTx33"><span 
57
 
class="cmtt-10">.&gt;</span></a>
58
 
      <!--x-->&nbsp;     <a 
59
 
 name="PrTx10"><span 
60
 
class="cmtt-10">&lt;.</span></a><a 
61
 
 href="#PrTx20"><span 
62
 
class="cmtt-10">draw interface</span></a><a 
63
 
 name="PrTx11"><span 
64
 
class="cmtt-10">.&gt;</span></a>
65
 
      <!--x-->&nbsp;   <span 
66
 
class="cmtt-10">}</span>
67
 
      <!--x-->&nbsp;   <span 
68
 
class="cmtt-10">public void paint(Graphics g) {</span>
69
 
      <!--x-->&nbsp;     <span 
70
 
class="cmtt-10">this.g = g;</span>
71
 
      <!--x-->&nbsp;     <a 
72
 
 name="PrTx12"><span 
73
 
class="cmtt-10">&lt;.</span></a><a 
74
 
 href="#PrTx22"><span 
75
 
class="cmtt-10">execute commands</span></a><a 
76
 
 name="PrTx13"><span 
77
 
class="cmtt-10">.&gt;</span></a>
78
 
      <!--x-->&nbsp;   <span 
79
 
class="cmtt-10">}</span>
80
 
      <!--x-->&nbsp;   <span 
81
 
class="cmtt-10">public boolean action(Event e,Object o)</span>
82
 
      <!--x-->&nbsp;   <span 
83
 
class="cmtt-10">{</span>
84
 
      <!--x-->&nbsp;     <a 
85
 
 name="PrTx14"><span 
86
 
class="cmtt-10">&lt;.</span></a><a 
87
 
 href="#PrTx30"><span 
88
 
class="cmtt-10">get command</span></a><a 
89
 
 name="PrTx15"><span 
90
 
class="cmtt-10">.&gt;</span></a>
91
 
      <!--x-->&nbsp;     <span 
92
 
class="cmtt-10">repaint();</span>
93
 
      <!--x-->&nbsp;     <span 
94
 
class="cmtt-10">return true;</span>
95
 
      <!--x-->&nbsp;   <span 
96
 
class="cmtt-10">}</span>
97
 
      <!--x-->&nbsp;
98
 
      <!--x-->&nbsp;<span 
99
 
class="cmtt-10">}</span>
100
 
      <!--x-->&nbsp;-_-_-</pre>
101
 
<!--l. 48--><p class="noindent">The turtle can move forward without trace, move forward while tracing its path, and
102
 
rotate.
103
 
      <!--l. 72--><p class="indent"><a 
104
 
 name="PrTx16"><span 
105
 
class="cmtt-10">&lt;..</span></a><a 
106
 
 href="#PrTx6"  name="QPrTx2"><span 
107
 
class="cmtt-10">turtle functions</span></a><a 
108
 
 name="PrTx17"><span 
109
 
class="cmtt-10">..&gt;</span></a>
110
 
           <pre><!--x-->&nbsp;         <span 
111
 
class="cmtt-10">void Move(int x, int y){ this.x += x;  this.y -= y; }</span>
112
 
      <!--x-->&nbsp;
113
 
      <!--x-->&nbsp;   <span 
114
 
class="cmtt-10">void Move(int r){ x += (int) (r * Math.cos(d));</span>
115
 
      <!--x-->&nbsp;                     <span 
116
 
class="cmtt-10">y -= (int) (r * Math.sin(d)); }</span>
117
 
      <!--x-->&nbsp;
118
 
      <!--x-->&nbsp;   <span 
119
 
class="cmtt-10">void Line(int x, int y){</span>
120
 
      <!--x-->&nbsp;      <span 
121
 
class="cmtt-10">g.drawLine( this.x, this.y,  this.x+x, this.y-y );</span>
122
 
      <!--x-->&nbsp;      <span 
123
 
class="cmtt-10">Move(x,y);</span>
124
 
      <!--x-->&nbsp;   <span 
125
 
class="cmtt-10">}</span>
126
 
      <!--x-->&nbsp;   <span 
127
 
class="cmtt-10">void Line(int r){</span>
128
 
      <!--x-->&nbsp;    <span 
129
 
class="cmtt-10">Line(   (new Double(r * Math.cos(d))).intValue(),</span>
130
 
 
131
 
      <!--x-->&nbsp;            <span 
132
 
class="cmtt-10">(new Double( r * Math.sin(d) )).intValue() ); }</span>
133
 
      <!--x-->&nbsp;
134
 
      <!--x-->&nbsp;   <span 
135
 
class="cmtt-10">void Rotate(int d){</span>
136
 
      <!--x-->&nbsp;      <span 
137
 
class="cmtt-10">this.d += d * 3.14  / 180;</span>
138
 
      <!--x-->&nbsp;      <span 
139
 
class="cmtt-10">while( 6.28 &lt; this.d ){ this.d -= 6.28; }</span>
140
 
      <!--x-->&nbsp;      <span 
141
 
class="cmtt-10">while( this.d &lt; 0 ){ this.d += 6.28; }</span>
142
 
      <!--x-->&nbsp;   <span 
143
 
class="cmtt-10">}</span>
144
 
      <!--x-->&nbsp;
145
 
      <!--x-->&nbsp;-_-_-</pre>
146
 
<!--l. 75--><p class="noindent">The text field may be modified by the users.
147
 
      <!--l. 83--><p class="indent"><a 
148
 
 name="PrTx18"><span 
149
 
class="cmtt-10">&lt;..</span></a><a 
150
 
 href="#PrTx4"  name="QPrTx3"><span 
151
 
class="cmtt-10">vars</span></a><a 
152
 
 name="PrTx19"  href="#PrTx41"><span 
153
 
class="cmtt-10">..&gt;</span></a>
154
 
           <pre><!--x-->&nbsp;      <span 
155
 
class="cmtt-10">Button moveButton,</span>
156
 
      <!--x-->&nbsp;       <span 
157
 
class="cmtt-10">lineButton,</span>
158
 
      <!--x-->&nbsp;       <span 
159
 
class="cmtt-10">clearButton,</span>
160
 
      <!--x-->&nbsp;       <span 
161
 
class="cmtt-10">rotateButton;</span>
162
 
      <!--x-->&nbsp;<span 
163
 
class="cmtt-10">TextField in;</span>
164
 
      <!--x-->&nbsp;-_-_-</pre>
165
 
           <!--l. 93--><p class="noindent"><a 
166
 
 name="PrTx20"><span 
167
 
class="cmtt-10">&lt;..</span></a><a 
168
 
 href="#PrTx10"  name="QPrTx4"><span 
169
 
class="cmtt-10">draw interface</span></a><a 
170
 
 name="PrTx21"><span 
171
 
class="cmtt-10">..&gt;</span></a>
172
 
           <pre><!--x-->&nbsp;      <span 
173
 
class="cmtt-10">clearButton  = new Button(&#34;Clear&#34;);   add(clearButton);</span>
174
 
      <!--x-->&nbsp;<span 
175
 
class="cmtt-10">moveButton   = new Button(&#34;Move&#34;);    add(moveButton);</span>
176
 
      <!--x-->&nbsp;<span 
177
 
class="cmtt-10">lineButton   = new Button(&#34;Line&#34;);    add(lineButton);</span>
178
 
      <!--x-->&nbsp;<span 
179
 
class="cmtt-10">rotateButton = new Button(&#34;Rotate&#34;);  add(rotateButton);</span>
180
 
      <!--x-->&nbsp;<span 
181
 
class="cmtt-10">in           = new TextField(3);      add(in);</span>
182
 
      <!--x-->&nbsp;<span 
183
 
class="cmtt-10">in.setText( &#34;50&#34; );</span>
184
 
      <!--x-->&nbsp;-_-_-</pre>
185
 
           <!--l. 109--><p class="noindent"><a 
186
 
 name="PrTx22"><span 
187
 
class="cmtt-10">&lt;..</span></a><a 
188
 
 href="#PrTx12"  name="QPrTx5"><span 
189
 
class="cmtt-10">execute commands</span></a><a 
190
 
 name="PrTx23"><span 
191
 
class="cmtt-10">..&gt;</span></a>
192
 
           <pre><!--x-->&nbsp;            <span 
193
 
class="cmtt-10">int i;</span>
194
 
      <!--x-->&nbsp;  <span 
195
 
class="cmtt-10">x = 150; y = 150; d = 0;</span>
196
 
      <!--x-->&nbsp;  <span 
197
 
class="cmtt-10">for( i=0; i&lt;N; i+=2 ){</span>
198
 
      <!--x-->&nbsp;
199
 
      <!--x-->&nbsp;     <span 
200
 
class="cmtt-10">switch( command[i] ) {</span>
201
 
      <!--x-->&nbsp;
202
 
      <!--x-->&nbsp;<span 
203
 
class="cmtt-10">case</span>   <a 
204
 
 name="PrTx24"><span 
205
 
class="cmtt-10">&lt;.</span></a><a 
206
 
 href="#PrTx42"><span 
207
 
class="cmtt-10">Line op</span></a><a 
208
 
 name="PrTx25"  href="#PrTx35"><span 
209
 
class="cmtt-10">.&gt;</span></a><span 
210
 
class="cmtt-10">:{    Line( command[i+1] ); break; }</span>
211
 
      <!--x-->&nbsp;<span 
212
 
class="cmtt-10">case</span>   <a 
213
 
 name="PrTx26"><span 
214
 
class="cmtt-10">&lt;.</span></a><a 
215
 
 href="#PrTx44"><span 
216
 
class="cmtt-10">Move op</span></a><a 
217
 
 name="PrTx27"  href="#PrTx37"><span 
218
 
class="cmtt-10">.&gt;</span></a><span 
219
 
class="cmtt-10">:{    Move( command[i+1] ); break; }</span>
220
 
      <!--x-->&nbsp;<span 
221
 
class="cmtt-10">case</span> <a 
222
 
 name="PrTx28"><span 
223
 
class="cmtt-10">&lt;.</span></a><a 
224
 
 href="#PrTx46"><span 
225
 
class="cmtt-10">Rotate op</span></a><a 
226
 
 name="PrTx29"  href="#PrTx39"><span 
227
 
class="cmtt-10">.&gt;</span></a><span 
228
 
class="cmtt-10">:{  Rotate( command[i+1] ); break; }</span>
229
 
      <!--x-->&nbsp;
230
 
      <!--x-->&nbsp;<span 
231
 
class="cmtt-10">}</span>
232
 
      <!--x-->&nbsp;<span 
233
 
class="cmtt-10">}</span>
234
 
      <!--x-->&nbsp;-_-_-</pre>
235
 
           <!--l. 125--><p class="noindent"><a 
236
 
 name="PrTx30"><span 
237
 
class="cmtt-10">&lt;..</span></a><a 
238
 
 href="#PrTx14"  name="QPrTx6"><span 
239
 
class="cmtt-10">get command</span></a><a 
240
 
 name="PrTx31"><span 
241
 
class="cmtt-10">..&gt;</span></a>
242
 
           <pre><!--x-->&nbsp;      <span 
243
 
class="cmtt-10">if(&#34;Clear&#34;.equals(o)) {</span>  <a 
244
 
 name="PrTx32"  href="#PrTx8"><span 
245
 
class="cmtt-10">&lt;.</span></a><a 
246
 
 href="#PrTx48"><span 
247
 
class="cmtt-10">initial state</span></a><a 
248
 
 name="PrTx33"><span 
249
 
class="cmtt-10">.&gt;</span></a>  <span 
250
 
class="cmtt-10">}</span>
251
 
      <!--x-->&nbsp;<span 
252
 
class="cmtt-10">else{</span>
253
 
      <!--x-->&nbsp;
254
 
      <!--x-->&nbsp;   <span 
255
 
class="cmtt-10">if(  &#34;Line&#34;.equals(o)){  command[N]=</span><a 
256
 
 name="PrTx34"  href="#PrTx24"><span 
257
 
class="cmtt-10">&lt;.</span></a><a 
258
 
 href="#PrTx42"><span 
259
 
class="cmtt-10">Line op</span></a><a 
260
 
 name="PrTx35"><span 
261
 
class="cmtt-10">.&gt;</span></a><span 
262
 
class="cmtt-10">;   }</span>
263
 
 
264
 
      <!--x-->&nbsp;   <span 
265
 
class="cmtt-10">if(  &#34;Move&#34;.equals(o)){  command[N]=</span><a 
266
 
 name="PrTx36"  href="#PrTx26"><span 
267
 
class="cmtt-10">&lt;.</span></a><a 
268
 
 href="#PrTx44"><span 
269
 
class="cmtt-10">Move op</span></a><a 
270
 
 name="PrTx37"><span 
271
 
class="cmtt-10">.&gt;</span></a><span 
272
 
class="cmtt-10">;   }</span>
273
 
      <!--x-->&nbsp;   <span 
274
 
class="cmtt-10">if(&#34;Rotate&#34;.equals(o)){  command[N]=</span><a 
275
 
 name="PrTx38"  href="#PrTx28"><span 
276
 
class="cmtt-10">&lt;.</span></a><a 
277
 
 href="#PrTx46"><span 
278
 
class="cmtt-10">Rotate op</span></a><a 
279
 
 name="PrTx39"><span 
280
 
class="cmtt-10">.&gt;</span></a><span 
281
 
class="cmtt-10">; }</span>
282
 
      <!--x-->&nbsp;
283
 
      <!--x-->&nbsp;   <span 
284
 
class="cmtt-10">String s =  new String( in.getText() );</span>
285
 
      <!--x-->&nbsp;   <span 
286
 
class="cmtt-10">Integer i = new  Integer(     s  );</span>
287
 
      <!--x-->&nbsp;   <span 
288
 
class="cmtt-10">command[N+1]=   i.intValue();</span>
289
 
      <!--x-->&nbsp;   <span 
290
 
class="cmtt-10">N+=2;</span>
291
 
      <!--x-->&nbsp;
292
 
      <!--x-->&nbsp;<span 
293
 
class="cmtt-10">}</span>
294
 
      <!--x-->&nbsp;-_-_-</pre>
295
 
           <!--l. 129--><p class="noindent"><a 
296
 
 href="#PrTx18"  name="PrTx40"><span 
297
 
class="cmtt-10">&lt;..</span></a><a 
298
 
 href="#PrTx4"  name="QPrTx7"><span 
299
 
class="cmtt-10">vars</span></a><a 
300
 
 name="PrTx41"  href="#PrTx51"><span 
301
 
class="cmtt-10">..&gt;</span></a><span 
302
 
class="cmtt-10">+</span>
303
 
           <pre><!--x-->&nbsp;      <span 
304
 
class="cmtt-10">int command[] = new int[300];</span>
305
 
      <!--x-->&nbsp;-_-_-</pre>
306
 
           <!--l. 133--><p class="noindent"><a 
307
 
 name="PrTx42"><span 
308
 
class="cmtt-10">&lt;..</span></a><a 
309
 
 href="#PrTx24"  name="QPrTx8"><span 
310
 
class="cmtt-10">Line op</span></a><a 
311
 
 name="PrTx43"><span 
312
 
class="cmtt-10">..&gt;</span></a>
313
 
           <pre><!--x-->&nbsp;      <span 
314
 
class="cmtt-10">1</span>
315
 
      <!--x-->&nbsp;-_-_-</pre>
316
 
           <!--l. 137--><p class="noindent"><a 
317
 
 name="PrTx44"><span 
318
 
class="cmtt-10">&lt;..</span></a><a 
319
 
 href="#PrTx26"  name="QPrTx9"><span 
320
 
class="cmtt-10">Move op</span></a><a 
321
 
 name="PrTx45"><span 
322
 
class="cmtt-10">..&gt;</span></a>
323
 
           <pre><!--x-->&nbsp;      <span 
324
 
class="cmtt-10">2</span>
325
 
      <!--x-->&nbsp;-_-_-</pre>
326
 
           <!--l. 141--><p class="noindent"><a 
327
 
 name="PrTx46"><span 
328
 
class="cmtt-10">&lt;..</span></a><a 
329
 
 href="#PrTx28"  name="QPrTx10"><span 
330
 
class="cmtt-10">Rotate op</span></a><a 
331
 
 name="PrTx47"><span 
332
 
class="cmtt-10">..&gt;</span></a>
333
 
           <pre><!--x-->&nbsp;      <span 
334
 
class="cmtt-10">3</span>
335
 
      <!--x-->&nbsp;-_-_-</pre>
336
 
           <!--l. 146--><p class="noindent"><a 
337
 
 name="PrTx48"><span 
338
 
class="cmtt-10">&lt;..</span></a><a 
339
 
 href="#PrTx8"  name="QPrTx11"><span 
340
 
class="cmtt-10">initial state</span></a><a 
341
 
 name="PrTx49"><span 
342
 
class="cmtt-10">..&gt;</span></a>
343
 
           <pre><!--x-->&nbsp;      <span 
344
 
class="cmtt-10">N = 0;</span>
345
 
      <!--x-->&nbsp;-_-_-</pre>
346
 
           <!--l. 152--><p class="noindent"><a 
347
 
 href="#PrTx40"  name="PrTx50"><span 
348
 
class="cmtt-10">&lt;..</span></a><a 
349
 
 href="#PrTx4"  name="QPrTx12"><span 
350
 
class="cmtt-10">vars</span></a><a 
351
 
 name="PrTx51"><span 
352
 
class="cmtt-10">..&gt;</span></a><span 
353
 
class="cmtt-10">+</span>
354
 
           <pre><!--x-->&nbsp;      <span 
355
 
class="cmtt-10">int N;</span>
356
 
      <!--x-->&nbsp;<span 
357
 
class="cmtt-10">int x, y;</span>
358
 
      <!--x-->&nbsp;<span 
359
 
class="cmtt-10">double d;</span>
360
 
      <!--x-->&nbsp;-_-_-</pre>
361
 
<!--l. 155--><p class="noindent">&#8221;javac turtle.java&#8221;
362
 
 
363
 
    
364
 
</body></html>