~ubuntu-branches/ubuntu/vivid/kde-l10n-ca/vivid-proposed

« back to all changes in this revision

Viewing changes to docs/kdeedu/rocs/index.docbook

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2015-01-21 12:33:46 UTC
  • mfrom: (1.12.48)
  • Revision ID: package-import@ubuntu.com-20150121123346-bhbzamhhuw9ixr78
Tags: 4:14.12.2-0ubuntu1
* New upstream release, first version from KDE Applications
* Revert install to /usr/share/locale/
* Add debian/overlapping files to remove files that are in plasma5

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" ?>
2
 
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
3
 
 
4
 
  <!ENTITY kappname "&rocs;">
5
 
  <!ENTITY package "rocs">
6
 
  <!ENTITY % addindex "IGNORE">
7
 
  <!ENTITY % Catalan  "INCLUDE">
8
 
 
9
 
  <!ENTITY apiConsole SYSTEM "apiConsole.docbook">
10
 
  <!ENTITY apiDatastructure SYSTEM "apiDatastructure.docbook">
11
 
  <!ENTITY apiGraphstructure SYSTEM "apiGraphstructure.docbook">
12
 
  <!ENTITY apiLinkedListstructure SYSTEM "apiLinkedListstructure.docbook">
13
 
  <!ENTITY apiRootedTreestructure SYSTEM "apiRootedTreestructure.docbook">
14
 
 
15
 
  <!ENTITY chapterImportExport SYSTEM "chapterImportExport.docbook">
16
 
]>
17
 
<book id="rocs" lang="&language;">
18
 
 
19
 
<bookinfo>
20
 
<title
21
 
>El manual de &rocs;</title>
22
 
<authorgroup>
23
 
<author
24
 
><personname
25
 
> <firstname
26
 
>Tomaz</firstname
27
 
> <surname
28
 
>Canabrava</surname
29
 
> </personname
30
 
> <email
31
 
>tomaz.canabrava@gmail.com</email
32
 
> </author>
33
 
<author
34
 
><personname
35
 
> <firstname
36
 
>Andreas</firstname
37
 
> <surname
38
 
>Cord-Landwehr</surname
39
 
> </personname
40
 
> <email
41
 
>cordlandwehr@kde.org</email
42
 
> </author>
43
 
 
44
 
&traductor.Antoni.Bella; 
45
 
</authorgroup>
46
 
 
47
 
<copyright
48
 
><year
49
 
>2009</year
50
 
><holder
51
 
>Tomaz Canabrava</holder
52
 
></copyright>
53
 
<copyright
54
 
><year
55
 
>2011-2013</year
56
 
><holder
57
 
>Andreas Cord-Landwehr</holder
58
 
></copyright>
59
 
 
60
 
<date
61
 
>03-07-2013</date>
62
 
<releaseinfo
63
 
>1.10.0 &kde; 4.12</releaseinfo>
64
 
 
65
 
<legalnotice
66
 
>&FDLNotice;</legalnotice>
67
 
 
68
 
<abstract>
69
 
<para
70
 
>&rocs; és una eina de teoria de grafs pel &kde;. </para>
71
 
</abstract>
72
 
 
73
 
<keywordset>
74
 
<keyword
75
 
>KDE</keyword>
76
 
<keyword
77
 
>kdeedu</keyword>
78
 
<keyword
79
 
>matemàtiques</keyword>
80
 
<keyword
81
 
>matemàtica</keyword>
82
 
<keyword
83
 
>grafs</keyword>
84
 
<keyword
85
 
>node</keyword>
86
 
<keyword
87
 
>aresta</keyword>
88
 
</keywordset>
89
 
 
90
 
</bookinfo>
91
 
 
92
 
<chapter id="introduction">
93
 
<title
94
 
>Introducció</title>
95
 
<para
96
 
>En aquest capítol oferim una visió general de les principals característiques i el flux de treball de &rocs;. Per al lector impacient, que vol començar a utilitzar immediatament &rocs;, li suggerim que almenys llegeixi <xref linkend="introduction-nutshell"/> i que utilitzi <xref linkend="scripting"/> com a referència a l'hora d'escriure algorismes. </para>
97
 
 
98
 
<sect1 id="introduction-goals">
99
 
<title
100
 
>Objectius, destinataris i flux de treball</title>
101
 
<para
102
 
>&rocs; és un IDE per a la teoria de grafs per a tothom interessat en el disseny i anàlisi d'algorismes de graf. Això inclou explícitament</para>
103
 
<itemizedlist>
104
 
    <listitem
105
 
><para
106
 
>professors, que volen demostrar algorismes als seus estudiants,</para
107
 
></listitem>
108
 
    <listitem
109
 
><para
110
 
>estudiants, que volen entendre i veure com es realitza el seu algorisme,</para
111
 
></listitem>
112
 
    <listitem
113
 
><para
114
 
>i tothom, que està interessat en les estructures de dades i algorismes.</para
115
 
></listitem>
116
 
</itemizedlist>
117
 
 
118
 
<para
119
 
>Per a tots aquests usuaris, &rocs; ofereix una manera fàcil d'utilitzar l'editor d'estructura de dades per a crear estructures de dades, un motor per crear scripts de gran abast per executar algorismes i diverses eines d'ajuda per a les vostres simulacions i experiments. </para>
120
 
 
121
 
<para
122
 
>El flux de treball típic quan s'utilitza &rocs; és començar creant un graf amb l'editor visual de grafs. Ho podeu fer ja sigui a mà, afegint elements de dades i la seva connexió, o utilitzant un dels generadors d'estructura de dades (si estan disponibles per al dorsal d'estructura de dades actualment seleccionat). Els generadors d'estructura de dades es poden trobar a <menuchoice
123
 
><guimenu
124
 
>Document de graf</guimenu
125
 
> <guimenuitem
126
 
>Eines</guimenuitem
127
 
> <guimenuitem
128
 
>Genera el graf</guimenuitem
129
 
></menuchoice
130
 
>. A més, podeu assignar valors als elements de l'estructura de dades, ja sigui a mà o utilitzant <menuchoice
131
 
><guimenu
132
 
>Document de graf</guimenu
133
 
> <guimenuitem
134
 
>Eines</guimenuitem
135
 
> <guimenuitem
136
 
>Assigna valors</guimenuitem
137
 
></menuchoice
138
 
>. Finalment, podeu escriure el vostre algorisme en JavaScript i executar-lo amb l'estructura de dades que acabeu de crear. Tots els canvis que realitzi el vostre l'algorisme a l'estructura de dades seran directament visibles en l'editor visual de grafs. </para>
139
 
 
140
 
<screenshot>
141
 
<screeninfo
142
 
>Una captura de pantalla de &rocs;.</screeninfo>
143
 
<mediaobject>
144
 
<imageobject>
145
 
<imagedata fileref="rocs-screenshot.png" format="PNG"/>
146
 
</imageobject>
147
 
<textobject>
148
 
<phrase
149
 
>Una captura de pantalla de &rocs;</phrase>
150
 
</textobject>
151
 
</mediaobject>
152
 
</screenshot>
153
 
</sect1>
154
 
 
155
 
<sect1 id="introduction-nutshell">
156
 
<title
157
 
>&rocs; en poques paraules</title>
158
 
<para
159
 
>En aquesta secció proporcionem una visió general compacta dels elements centrals de &rocs;. Expliquem els conceptes importants de les estructures de dades, dorsals de les estructures de dades i tipus d'elements. La comprensió d'aquests conceptes és útil per entendre com es creen i es modifiquen les estructures de dades en &rocs;. </para>
160
 
<para
161
 
>En general &rocs; treballa amb projectes: En obrir &rocs; es crea un projecte buit i el podeu substituir carregant o important un altre projecte. En sí, un projecte consisteix en <emphasis
162
 
>documents de graf</emphasis
163
 
> i <emphasis
164
 
>scripts</emphasis
165
 
>. </para>
166
 
 
167
 
<sect2>
168
 
<title
169
 
>Documents de graf i dorsals d'estructura de dades</title>
170
 
<para
171
 
>Un document de graf representa el contingut d'una pissarra en blanc a l'editor visual de grafs. En sí, un document de graf pot contenir diverses estructures de dades alhora, però només un dorsal d'estructura de dades. Els dorsals d'estructura de dades estan presents en diversos tipus de graf (grafs en general, llistes enllaçades, arbres arrelats) i proporcionen característiques addicionals als seus tipus de graf específic. Això pot posicionar automàticament els elements, jocs d'icones especials o un conjunt ampliat de funcions d'script per utilitzar en els vostres algorismes. (Per a més detalls veure la secció corresponent del manual). És possible canviar el dorsal de l'estructura de dades d'un document de graf, tot i que es pot perdre la informació (&pex;, les arestes d'un cercle en un graf general no seran afegides a un d'arbre, si canvieu al dorsal d'arbre arrelat). </para>
172
 
<para
173
 
>Els documents de graf també formen la base per a definir el tipus d'apuntador i els tipus de dades. </para>
174
 
</sect2>
175
 
 
176
 
<sect2>
177
 
<title
178
 
>Estructures de dades</title>
179
 
<para
180
 
>Les estructures de dades són la base de tot el treball en &rocs;. Podeu afegir una o diverses a un document de graf, afegir elements de dades (nodes, dades) i apuntadors a elles i modificar-los mitjançant scripts. Per això, cada estructura de dades té el seu nom únic pel qual es pot accedir des dels scripts. Segons el dorsal de l'estructura de dades triat, pot passar que no es puguin modificar arbitràriament les estructures de dades (&pex;, un arbre mai podrà contenir un cicle). El dorsal de l'estructura de dades està determinat pel dorsal d'estructura de dades associat amb el document de graf corresponent que conté l'estructura de dades. </para>
181
 
</sect2>
182
 
 
183
 
<sect2>
184
 
<title
185
 
>Tipus d'apuntadors</title>
186
 
<para
187
 
>Amb els tipus d'apuntador podeu definir els diferents tipus d'apuntadors que s'utilitzaran en les vostres estructures de dades. És a dir, un tipus d'apuntador pot obtenir un disseny individual (essencialment un color), de manera que serà fàcil accedir des dels vostres scripts als apuntadors només d'un tipus específic. Els casos típics d'ús d'apuntadors poden ser la implementació dels meta-arestes a les vostres estructures de dades que visualitzen les relacions entre els elements de dades (&pex;, visualitzar els interessos de comunicació). Però, a més, si els vostres scripts han d'identificar tipus específics d'arestes (&pex;, les arestes dels arbres i la creu en l'algorisme de cerca de primera profunditat), els tipus d'apuntador poden ser una manera elegant d'implementar-ho. </para>
188
 
</sect2>
189
 
 
190
 
<sect2>
191
 
<title
192
 
>Tipus de dades</title>
193
 
<para
194
 
>En diversos problemes d'estructura de dades, un conjunt d'elements de dades s'han de separar en grups de diferents tipus (&pex;, problemes d'agrupament o de cobertura). O és útil per a l'execució d'un algorisme per especificar un tipus d'element de dades per expressar un tipus específic (&pex;, per a la cerca primer en amplada). Per als casos d'ús d'aquest tipus podeu definir tipus de dades. Cada tipus de dades té la seva pròpia icona i podeu accedir als tipus de dades d'algun tipus fàcilment des dels vostres scripts. </para>
195
 
</sect2>
196
 
 
197
 
<sect2>
198
 
<title
199
 
>Propietats dinàmiques</title>
200
 
<para
201
 
>Cada element de dades i l'apuntador poden tenir moltes propietats. Algunes d'aquestes propietats són per omissió del dorsal d'estructura de dades. Per a més detalls consulteu la documentació del dorsal d'estructura de dades. Per afegir propietats addicionals als elements de dades i apuntadors, hi podeu afegir <emphasis
202
 
>propietats dinàmiques</emphasis
203
 
>. Cada propietat dinàmica s'identifica pel seu nom i pot contenir qualsevol valor associat amb ella. El nom ha de començar amb una lletra (a-z o A-Z) i només pot contenir lletres, nombres i «_». Si intenteu utilitzar qualsevol caràcter no vàlid en el nom de la propietat, la propietat no serà canviada. </para>
204
 
<para
205
 
>Per afegir propietats dinàmiques, utilitzeu els diàlegs <guilabel
206
 
>Propietats de l'element de dades</guilabel
207
 
> i <guilabel
208
 
>Propietats de l'apuntador</guilabel
209
 
> des dels menús contextuals dels respectius elements o les funcions de l'script, com s'explica a <xref linkend="scripting-data-structure"/>. </para>
210
 
<para
211
 
>També podeu utilitzar els scripts. Només necessitareu utilitzar la <literal
212
 
>add_property</literal
213
 
> amb el nom i el valor de la vostra propietat. Després d'això, podreu utilitzar el node/pointer.propertyName per establir/obtenir els valors. </para>
214
 
<para
215
 
>Heus aquí un exemple de com utilitzar les propietats dinàmiques amb el dorsal d'estructura de dades «Graf». <programlisting
216
 
>nodes = myGraph.list_nodes()
217
 
for (var i = 0; i &lt; nodes.length; ++i ){
218
 
    nodes[i].add_property("MyProperty", 0)
219
 
}
220
 
nodes[0].MyProperty = 2
221
 
nodes[1].MyProperty = nodes[0].MyProperty + 2
222
 
    </programlisting>
223
 
</para>
224
 
</sect2>
225
 
</sect1>
226
 
 
227
 
<sect1 id="introduction-tutorial">
228
 
<title
229
 
>Guia d'aprenentatge</title>
230
 
<para
231
 
>En aquesta secció volem crear un projecte d'exemple per explorar algunes de les característiques més importants de &rocs;. L'objectiu és crear un graf i un script que il·lustri un algorisme d'aproximació a 2 simple per al problema <emphasis
232
 
>cobertura de vèrtexs mínima</emphasis
233
 
>. En aquest problema s'han de trobar un subconjunt de nodes del graf C de mida mínima, de manera que cada aresta del graf estarà connectada a almenys un node de C. Se sap que aquest problema és NP-complex i volem il·lustrar com trobar una aproximació de factor 2 cercant una coincidència en el graf donat (en el que segueix utilitzarem la terminologia comuna per als algorismes de graf: un graf és l'estructura de dades, els nodes són els elements de dades i les arestes són els apuntadors). </para>
234
 
<para
235
 
>El nostre objectiu és visualitzar la correspondència de les coincidències i la cobertura de vèrtexs mínima. Per això, volem especificar dos tipus d'apuntadors, un per mostrar les arestes coincidents i un per mostrar arestes comunes, així com dos tipus de dades que utilitzarem per distingir els nodes continguts en C i els que no estan continguts en C. </para>
236
 
 
237
 
<sect2>
238
 
<title
239
 
>Generar un graf</title>
240
 
<para
241
 
>Per al dorsal d'estructura de dades <quote
242
 
>Graf</quote
243
 
>, &rocs; ofereix una eina d'ajuda que pot generar grafs. Anem a <menuchoice
244
 
><guimenu
245
 
>Document de graf</guimenu
246
 
> <guisubmenu
247
 
>Eines</guisubmenu
248
 
> <guimenuitem
249
 
>Genera el graf</guimenuitem
250
 
></menuchoice
251
 
>. Cal que generem un <guilabel
252
 
>Graf aleatori</guilabel
253
 
> amb 30 nodes, 90 arestes i amb 1 llavor (la llavor és la llavor inicial per al generador de grafs aleatoris; si s'utilitza la mateixa llavor diverses vegades es tornaran a reproduir els mateixos grafs). Finalment, modificarem el nom del graf en el plafó de l'estructura de dades i cridarem al graf <literal
254
 
>testgraph</literal
255
 
>. </para>
256
 
</sect2>
257
 
 
258
 
<sect2>
259
 
<title
260
 
>Crear els tipus</title>
261
 
<para
262
 
>Utilitzarem el botó <guibutton
263
 
>Propietats</guibutton
264
 
> a la barra del selector de documents per obrir el diàleg de propietats per als tipus de dades i d'apuntador del document de graf actual. Per al tipus de dades afegirem un nou tipus anomenat «C», el qual obtindrà automàticament l'ID <literal
265
 
>1</literal
266
 
>. Per aquest tipus seleccionarem la imatge del servidor com a icona. A més, canviarem a la pàgina tipus d'apuntador i afegirem un nou tipus d'apuntador anomenat «coincident». Això ens durà automàticament a l'ID <literal
267
 
>1</literal
268
 
> i establirem el color a blau. </para>
269
 
</sect2>
270
 
 
271
 
<sect2>
272
 
<title
273
 
>L'algorisme</title>
274
 
<para
275
 
>Per acabar, hem d'implementar l'algorisme d'aproximació. Per això utilitzarem la següent implementació: </para>
276
 
<programlisting
277
 
>var E = testgraph.list_edges(); // conjunt d'arestes sense processar
278
 
var C = new Array();            // arestes coincidents
279
 
while (E.length 
280
 
> 0) {
281
 
    var e = E[0];        // prenem la primera aresta e={u,v}
282
 
    var u = e.start();
283
 
    var v = e.end();
284
 
    e.set_type(1);       // establim l'aresta com a coincident
285
 
    E.shift();           // eliminem «e» (és a dir, E[0]) des de la llista d'arestes
286
 
    C.push(u);           // afegim «u» a «C»
287
 
    C.push(v);           // afegim «v» a «C»
288
 
 
289
 
    // marquem «u,v» com a nodes en «C»
290
 
    u.set_type(1);
291
 
    v.set_type(1);
292
 
 
293
 
    // eliminem de «E» totes les arestes adjacents a «u» o «v»
294
 
    var adjacent = u.adj_edges();
295
 
    for (var i=0; i &lt; adjacent.length; i++) {
296
 
        var index = E.indexOf(adjacent[i]); // troba l'índex
297
 
        if (index!=-1) {
298
 
            E.splice(index, 1); // l'elimina si ja s'ha trobat
299
 
        }
300
 
    }
301
 
    var adjacent = v.adj_edges();
302
 
    for (var i=0; i &lt; adjacent.length; i++) {
303
 
        var index = E.indexOf(adjacent[i]); // troba l'índex
304
 
        if (index!=-1) {
305
 
            E.splice(index, 1); // l'elimina si ja s'ha trobat
306
 
        }
307
 
    }
308
 
}
309
 
Console.log("Vertex Cover conté " + C.length + " nodes.");
310
 
</programlisting>
311
 
</sect2>
312
 
 
313
 
<sect2>
314
 
<title
315
 
>Executar l'algorisme</title>
316
 
<para
317
 
>Finalment volem executar l'algorisme. Per això podem iniciar l'execució amb el botó <guibutton
318
 
>Executa</guibutton
319
 
> al plafó de control de l'script. </para>
320
 
</sect2>
321
 
</sect1>
322
 
</chapter>
323
 
 
324
 
<chapter id="user-interface">
325
 
<title
326
 
>La interfície d'usuari de &rocs;</title>
327
 
 
328
 
<sect1 id="user-interface-all">
329
 
<title
330
 
>Elements generals de la interfície d'usuari</title>
331
 
<para
332
 
>La interfície d'usuari es divideix en diverses parts lògiques que es presenten en la següent captura de pantalla. </para>
333
 
<screenshot>
334
 
    <screeninfo
335
 
>Elements de la &IGU; de la interfície de &rocs;.</screeninfo>
336
 
    <mediaobject>
337
 
    <imageobject>
338
 
    <imagedata fileref="rocs-interfaces.png" format="PNG"/>
339
 
    </imageobject>
340
 
    <textobject>
341
 
    <phrase
342
 
>Elements de la &IGU; de la interfície de &rocs;.</phrase>
343
 
    </textobject>
344
 
    </mediaobject>
345
 
</screenshot>
346
 
<variablelist>
347
 
<varlistentry>
348
 
    <term
349
 
>Selector de documents</term>
350
 
    <listitem
351
 
><para
352
 
>En aquesta barra de menú superior haureu de seleccionar el document actual i l'estructura de dades. Des d'on també és possible crear i eliminar estructures de dades així com accedir a les propietats de l'estructura de dades. </para
353
 
></listitem>
354
 
</varlistentry>
355
 
<varlistentry>
356
 
    <term
357
 
>Editor visual de grafs</term>
358
 
    <listitem
359
 
><para
360
 
>Aquesta és la pissarra en blanc on es poden crear i modificar les estructures de dades. Feu clic dret a la pissarra, en els elements de dades, o en els apuntadors per obrir els menús contextuals. Podeu utilitzar les eines de la <emphasis
361
 
>barra d'eines Editor visual de grafs</emphasis
362
 
> per modificar els elements a la pissarra de l'editor visual de grafs.</para
363
 
></listitem>
364
 
</varlistentry>
365
 
<varlistentry>
366
 
    <term
367
 
>La barra d'eines Editor visual de grafs</term>
368
 
    <listitem
369
 
><para
370
 
>Aquesta barra d'eines proporciona totes les eines per a l'editor visual de grafs. Utilitzeu els botons <inlinemediaobject
371
 
><imageobject
372
 
><imagedata fileref="hi22-action-rocsadddata.png" format="PNG"/></imageobject
373
 
></inlinemediaobject
374
 
><guibutton
375
 
>Afegeix element</guibutton
376
 
> o <inlinemediaobject
377
 
><imageobject
378
 
><imagedata fileref="hi22-action-rocsaddedge.png" format="PNG"/></imageobject
379
 
></inlinemediaobject
380
 
><guibutton
381
 
>Afegeix connexió</guibutton
382
 
> per crear nous elements o per connectar elements, respectivament. S'afegeixen nous elements de dades a l'estructura de dades que es troba seleccionada a la barra <emphasis
383
 
>Selector de documents</emphasis
384
 
>. Recordeu que tant els botons <guibutton
385
 
>Afegeix element</guibutton
386
 
> com <guibutton
387
 
>Afegeix connexió</guibutton
388
 
> tenen menús per a seleccionar el tipus dels elements que seran creats. Per a més detalls, veure <xref linkend="user-interface-toolbars"/>. </para
389
 
></listitem>
390
 
</varlistentry>
391
 
<varlistentry>
392
 
    <term
393
 
>Barra lateral</term>
394
 
    <listitem
395
 
><para
396
 
>A la dreta, trobareu la barra lateral que proporciona diverses eines per al vostre flux de treball: <itemizedlist>
397
 
        <listitem
398
 
><para
399
 
>Tipus d'element: Aquest estri us permet accedir directament a l'apuntador i als tipus de dades disponibles.</para
400
 
></listitem>
401
 
        <listitem
402
 
><para
403
 
>Diari: Cada projecte disposa del seu propi diari que es pot utilitzar per, &pex;, anotar tasques, resultats o observacions.</para
404
 
></listitem>
405
 
        <listitem
406
 
><para
407
 
>Manual: Podeu obrir aquest estri per obtenir accés directe al manual i a través seu a la documentació dels scripts.</para
408
 
></listitem>
409
 
        <listitem
410
 
><para
411
 
>API per a crear scripts: Per obtenir accés directe a la documentació dels scripts, podeu obrir aquest estri.</para
412
 
></listitem>
413
 
        </itemizedlist>
414
 
    </para
415
 
></listitem>
416
 
</varlistentry>
417
 
<varlistentry>
418
 
    <term
419
 
>Editor d'scripts</term>
420
 
    <listitem
421
 
><para
422
 
>En aquest editor de text podeu escriure algorismes com s'explica en detall en <xref linkend="scripting"/>. Podeu treballar sobre diversos documents d'script simultàniament utilitzant diverses pestanyes. Si l'script conté canvis sense desar a la pestanya apareixerà el símbol d'un disc. </para
423
 
></listitem>
424
 
</varlistentry>
425
 
<varlistentry>
426
 
    <term
427
 
>Sortida de l'script</term>
428
 
    <listitem
429
 
><para
430
 
>Aquesta àrea de text bé mostra informació de depuració o la sortida de l'script del vostre algorisme, depenent de la preferència indicada a la part superior d'aquest estri. Si l'script retorna un error, automàticament es presentarà la sortida de depuració. </para
431
 
></listitem>
432
 
</varlistentry>
433
 
<varlistentry>
434
 
    <term
435
 
>Controls</term>
436
 
    <listitem
437
 
><para
438
 
>Aquí trobareu els controls per a l'execució d'scripts. Podeu executar l'script que està obert a l'editor d'scripts prement <guiicon
439
 
>Executa</guiicon
440
 
>. Mentre s'executa l'script, és possible aturar l'execució prement el botó <guiicon
441
 
>Atura</guiicon
442
 
>. Tingueu en compte que l'execució amb <guibutton
443
 
>Un pas</guibutton
444
 
> sols s'aturarà a les paraules clau específiques (veure <xref linkend="scripting"/>). </para
445
 
></listitem>
446
 
</varlistentry>
447
 
</variablelist>
448
 
</sect1>
449
 
 
450
 
<sect1 id="user-interface-toolbars">
451
 
<title
452
 
>Barres d'eines</title>
453
 
<para
454
 
>Hi ha diferents barres d'eines per a l'editor visual de grafs que us permeten accedir a les funcions amb un sol clic. Per omissió, es mostren les següents barres d'eines:</para>
455
 
<itemizedlist>
456
 
    <listitem
457
 
><para
458
 
>Barra d'eines principal</para
459
 
></listitem>
460
 
    <listitem
461
 
><para
462
 
>Barra d'eines d'alineació</para
463
 
></listitem>
464
 
</itemizedlist>
465
 
<!--  -->
466
 
<sect2 id="user-interface-toolbars-main">
467
 
<title
468
 
>Barra d'eines principal</title>
469
 
<para
470
 
>La <emphasis
471
 
>barra d'eines principal</emphasis
472
 
> es compon de les següents accions. El fer clic sobre una acció significa que el punter del ratolí aplica aquesta acció a la pissarra de l'editor visual de grafs:</para>
473
 
<itemizedlist>
474
 
<listitem
475
 
><para>
476
 
<inlinemediaobject
477
 
><imageobject>
478
 
<imagedata fileref="hi22-action-rocsselectmove.png" format="PNG"/></imageobject>
479
 
</inlinemediaobject
480
 
> <guilabel
481
 
>Moure</guilabel
482
 
>: Per a seleccionar elements, o bé feu clic sobre l'espai sense utilitzar a la pissarra, manteniu premut el ratolí i dibuixeu un rectangle que contingui alguns elements de dades i/o apuntadors per a seleccionar aquests elements o en cas contrari feu clic directament sobre un element sense seleccionar per seleccionar-lo. Si feu clic sobre un element o conjunt d'elements seleccionats, respectivament, els podreu moure mantenint premut el ratolí i movent-lo. També és possible moure els elements seleccionats amb les tecles del cursor.</para
483
 
></listitem>
484
 
<listitem
485
 
><para>
486
 
<inlinemediaobject
487
 
><imageobject>
488
 
<imagedata fileref="hi22-action-rocsadddata.png" format="PNG"/></imageobject>
489
 
</inlinemediaobject
490
 
> <guilabel
491
 
>Afegeix element</guilabel
492
 
>: Feu clic sobre una posició arbitrària a la pissarra de l'editor visual de grafs per crear un nou element de dades que pertanyi a l'estructura de dades actualment seleccionada. Si manteniu premut el punter del ratolí sobre el botó, es mostrarà un menú des d'on es podran seleccionar (només si hi ha diferents tipus de dades) els tipus de dades dels nous elements de dades creats.</para
493
 
></listitem>
494
 
<listitem
495
 
><para>
496
 
<inlinemediaobject
497
 
><imageobject>
498
 
<imagedata fileref="hi22-action-rocsaddedge.png" format="PNG"/></imageobject>
499
 
</inlinemediaobject
500
 
> <guilabel
501
 
>Afegeix connexió</guilabel
502
 
>: Feu clic sobre un element de dades, manteniu premut el ratolí i dibuixeu una línia cap a un altre element de dades al qual assenyali l'apuntador/aresta. Aquesta acció només té èxit si el graf actual permet afegir aquesta aresta (&pex;, en un graf no dirigit no podreu afegir múltiples arestes entre dos elements de dades). Si manteniu premut el punter del ratolí sobre el botó, es mostrarà un menú des d'on es podran seleccionar (només si hi ha diferents tipus d'apuntador) els tipus d'apuntador dels nous elements de dades creats.</para
503
 
></listitem>
504
 
<!--FIXME no different pointer names here -->
505
 
<listitem
506
 
><para>
507
 
<inlinemediaobject
508
 
><imageobject>
509
 
<imagedata fileref="hi22-action-rocsdeletedata.png" format="PNG"/></imageobject>
510
 
</inlinemediaobject
511
 
> <guilabel
512
 
>Elimina</guilabel
513
 
>: Feu clic sobre un element per eliminar-lo. Si elimineu un node, totes les arestes adjacents també s'eliminaran.</para
514
 
></listitem>
515
 
<listitem
516
 
><para>
517
 
<inlinemediaobject
518
 
><imageobject>
519
 
<imagedata fileref="hi22-action-rocszoom.png" format="PNG"/></imageobject>
520
 
</inlinemediaobject
521
 
> <guilabel
522
 
>Zoom</guilabel
523
 
>: Feu clic sobre la pissarra, manteniu premut el &BER; i dibuixeu un rectangle. La pissarra s'ampliarà a la zona seleccionada. Utilitzant també la roda del ratolí per apropar o allunyar. Un doble clic amb el &BER; restaura el zoom original.</para
524
 
></listitem>
525
 
</itemizedlist>
526
 
</sect2>
527
 
 
528
 
<sect2 id="user-interface-toolbars-alignment">
529
 
<title
530
 
>Barra d'eines d'alineació</title>
531
 
<para
532
 
>Podeu afegir l'opcional <emphasis
533
 
>barra d'eines d'alineació</emphasis
534
 
>. En prémer sobre una acció en aquesta barra d'eines tindrà un efecte directe en els nodes seleccionats:</para>
535
 
<itemizedlist>
536
 
<listitem
537
 
><para>
538
 
<inlinemediaobject
539
 
><imageobject>
540
 
<imagedata fileref="hi22-action-rocsaligntop.png" format="PNG"/></imageobject>
541
 
</inlinemediaobject
542
 
> <guilabel
543
 
>Dalt</guilabel
544
 
>: Alinea els elements de dades a la posició vertical de l'element de dades més superior. Això només afecta a les posicions verticals.</para
545
 
></listitem>
546
 
<listitem
547
 
><para>
548
 
<inlinemediaobject
549
 
><imageobject>
550
 
<imagedata fileref="hi22-action-rocsalignvmiddle.png" format="PNG"/></imageobject>
551
 
</inlinemediaobject
552
 
> <guilabel
553
 
>Centre</guilabel
554
 
>: Alinea els elements de dades a la posició vertical donada pel centre de totes les posicions verticals dels elements de dades seleccionats. Això només afecta a les posicions verticals.</para
555
 
></listitem>
556
 
<listitem
557
 
><para>
558
 
<inlinemediaobject
559
 
><imageobject>
560
 
<imagedata fileref="hi22-action-rocsalignbottom.png" format="PNG"/></imageobject>
561
 
</inlinemediaobject
562
 
> <guilabel
563
 
>Base</guilabel
564
 
>: Alinea els elements de dades a la posició vertical de l'element de dades més inferior. Això només afecta a les posicions verticals.</para
565
 
></listitem>
566
 
<listitem
567
 
><para>
568
 
<inlinemediaobject
569
 
><imageobject>
570
 
<imagedata fileref="hi22-action-rocsalignleft.png" format="PNG"/></imageobject>
571
 
</inlinemediaobject
572
 
> <guilabel
573
 
>Esquerre</guilabel
574
 
>: Alinea els elements de dades a la posició horitzontal de l'element de dades més a l'esquerra. Això només afecta a les posicions horitzontals.</para
575
 
></listitem>
576
 
<listitem
577
 
><para>
578
 
<inlinemediaobject
579
 
><imageobject>
580
 
<imagedata fileref="hi22-action-rocsalignhmiddle.png" format="PNG"/></imageobject>
581
 
</inlinemediaobject
582
 
> <guilabel
583
 
>Centre</guilabel
584
 
>: Alinea els elements de dades a la posició horitzontal de l'element de dades més superior. Això només afecta a les posicions horitzontals.</para
585
 
></listitem>
586
 
<listitem
587
 
><para>
588
 
<inlinemediaobject
589
 
><imageobject>
590
 
<imagedata fileref="hi22-action-rocsalignright.png" format="PNG"/></imageobject>
591
 
</inlinemediaobject
592
 
> <guilabel
593
 
>Dreta</guilabel
594
 
>: Alinea els elements de dades a la posició horitzontal de l'element de dades més a la dreta. Això només afecta a les posicions horitzontals.</para
595
 
></listitem>
596
 
<listitem
597
 
><para>
598
 
<inlinemediaobject
599
 
><imageobject>
600
 
<imagedata fileref="hi22-action-rocsaligncircle.png" format="PNG"/></imageobject>
601
 
</inlinemediaobject
602
 
> <guilabel
603
 
>Cercle</guilabel
604
 
>: Alinea els elements de dades en un cercle de diàmetre igual que la distància màxima entre els elements de dades. Els elements de dades estan col·locats en la mateixa seqüència que la proposta per vista des del centre de gravetat d'aquests elements de dades.</para
605
 
></listitem>
606
 
<listitem
607
 
><para>
608
 
<inlinemediaobject
609
 
><imageobject>
610
 
<imagedata fileref="hi22-action-rocsaligntree.png" format="PNG"/></imageobject>
611
 
</inlinemediaobject
612
 
> <guilabel
613
 
>Minimitza els creuaments d'arestes</guilabel
614
 
>: Torna a organitzar els elements de dades seleccionats per a minimitzar el nombre de connexions creuades (aplicació de l'algorisme Fruchterman-Reingold).</para
615
 
></listitem>
616
 
</itemizedlist>
617
 
</sect2>
618
 
</sect1>
619
 
 
620
 
<sect1 id="user-interface-documents">
621
 
<title
622
 
>Treballar amb documents de graf</title>
623
 
<para
624
 
>Un projecte de &rocs; conté un o múltiples documents de graf que es poden editar amb l'editor visual de grafs. A més, cada document pot contenir un nombre arbitrari d'estructures de dades. En aquest cas, totes les estructures de dades d'un document utilitzen el mateix dorsal per a l'estructura de dades. En aquesta secció explicarem com canviar entre els documents i la manera de crear-ne de nous. </para>
625
 
 
626
 
<sect2 id="user-interface-documents-selector">
627
 
<title
628
 
>La barra selector de documents</title>
629
 
<para
630
 
>La barra selector de documents s'utilitza per seleccionar el document de graf i també l'estructura de dades. Quan utilitzeu les eines de l'editor visual de grafs per crear elements d'estructures de dades, els nous elements creats s'afegiran automàticament a l'estructura de dades actual. A més, aquesta barra ofereix accés directe a eliminar els ja existents o crear noves estructures de dades dins del document actual. </para>
631
 
 
632
 
<itemizedlist>
633
 
<listitem
634
 
><para>
635
 
<inlinemediaobject
636
 
><imageobject>
637
 
<imagedata fileref="hi22-action-rocsnew.png" format="PNG"/></imageobject>
638
 
</inlinemediaobject
639
 
> <guilabel
640
 
>Nou</guilabel
641
 
>: Aquesta acció crea una nova estructura de dades utilitzant un patró de nomenclatura automàtica proposta pel dorsal de l'estructura de dades. L'estructura de dades creada s'afegirà al document de graf seleccionat. </para
642
 
></listitem>
643
 
<listitem
644
 
><para>
645
 
<inlinemediaobject
646
 
><imageobject>
647
 
<imagedata fileref="hi22-action-rocsdelete.png" format="PNG"/></imageobject>
648
 
</inlinemediaobject
649
 
> <guilabel
650
 
>Elimina</guilabel
651
 
>: Aquesta acció elimina l'estructura de dades que es troba seleccionada en el selector d'estructura de dades per al document actual. </para
652
 
></listitem>
653
 
<listitem
654
 
><para>
655
 
<inlinemediaobject
656
 
><imageobject>
657
 
<imagedata fileref="hi22-action-rocsproperties.png" format="PNG"/></imageobject>
658
 
</inlinemediaobject
659
 
> <guilabel
660
 
>Propietats</guilabel
661
 
> per al <guilabel
662
 
>Document de graf</guilabel
663
 
>: Obre un diàleg que permet accedir a les propietats del document, així com als tipus de dades i d'apuntador del document. </para
664
 
></listitem>
665
 
<listitem
666
 
><para>
667
 
<inlinemediaobject
668
 
><imageobject>
669
 
<imagedata fileref="hi22-action-rocsproperties.png" format="PNG"/></imageobject>
670
 
</inlinemediaobject
671
 
> <guilabel
672
 
>Propietats</guilabel
673
 
> per a <guilabel
674
 
>Estructura de dades</guilabel
675
 
>: Obre un diàleg que permet accedir a les propietats de l'estructura de dades. </para
676
 
></listitem>
677
 
  </itemizedlist>
678
 
 
679
 
<screenshot>
680
 
<screeninfo
681
 
>La barra d'eines principal</screeninfo>
682
 
<mediaobject>
683
 
<imageobject>
684
 
<imagedata fileref="document-selector.png" format="PNG"/>
685
 
</imageobject>
686
 
<textobject>
687
 
<phrase
688
 
>La barra selector de documents.</phrase>
689
 
</textobject>
690
 
</mediaobject>
691
 
</screenshot>
692
 
</sect2>
693
 
 
694
 
<sect2 id="user-interface-documents-menu">
695
 
<title
696
 
>Crear i importar documents de graf</title>
697
 
<para
698
 
>Per crear un nou document de graf o afegir un d'existent al projecte, utilitzeu <menuchoice
699
 
><guimenu
700
 
>Fitxer</guimenu
701
 
> <guimenuitem
702
 
>Projecte nou</guimenuitem
703
 
></menuchoice
704
 
> o <menuchoice
705
 
><guimenu
706
 
>Document de graf</guimenu
707
 
> <guimenuitem
708
 
>Importa un graf</guimenuitem
709
 
></menuchoice
710
 
>. També podreu importar documents de graf des d'aplicacions de tercers (per a això, veure <xref linkend="import-export"/>). </para>
711
 
</sect2>
712
 
 
713
 
</sect1>
714
 
</chapter>
715
 
 
716
 
 
717
 
<chapter id="scripting">
718
 
<title
719
 
>Escriure i executar algorismes en &rocs;</title>
720
 
 
721
 
<para
722
 
>&rocs; utilitza internament el motor per a la creació d'scripts QtScript, el qual és un motor específic de JavaScript. Això significa que tots els algorismes que implementeu hauran d'utilitzar JavaScript. Com funciona JavaScript i com escriure codi no està cobert per aquest manual, encara que s'explica com accedir a les estructures de dades, elements de dades i apuntadors de les estructures de dades del motor per crear scripts. Atès que mai utilitzareu l'objecte d'estructura de dades bàsica, sinó el proporcionat pel dorsal d'estructura de dades utilitzat actualment, la funcionalitat de l'estructura de dades s'estén pel dorsal corresponent i haureu de fer una ullada a la funcionalitat especialitzada. Sobretot, els dorsals d'estructura de dades utilitzant la terminologia comuna del vostre domini (nodes i arestes en els grafs, les fulles i les arrels en els arbres, &etc;) </para>
723
 
<para
724
 
>És important saber que els canvis fets pel motor per a la creació d'scripts es reflecteixen directament en les propietats a la pissarra de l'editor visual de grafs. Per tant, els scripts en realitat modifiquen les estructures de dades. </para>
725
 
 
726
 
 
727
 
<sect1 id="scripting-controls">
728
 
<title
729
 
>Controlar l'execució de l'script</title>
730
 
 
731
 
 
732
 
<sect2>
733
 
<title
734
 
>Incloure fitxers</title>
735
 
<para
736
 
>Els vostres documents d'script poden incloure altres scripts. Això pot ser útil per reduir la mida dels documents d'script i millorar la llegibilitat. Utilitzant <menuchoice
737
 
><guimenu
738
 
>Document d'script</guimenu
739
 
> <guimenuitem
740
 
>Inclusions possibles</guimenuitem
741
 
></menuchoice
742
 
> obtindreu una llista de fitxers d'script que ja vénen amb &rocs; i que podeu incloure. Podeu incloure un fitxer d'script amb la següent ordre: </para>
743
 
<programlisting
744
 
>include_script(string path);            // camí relatiu o absolut a un fitxer d'script
745
 
</programlisting>
746
 
</sect2>
747
 
 
748
 
<sect2 id="scripting-output">
749
 
<title
750
 
>Sortida de l'script</title>
751
 
<para
752
 
>Durant l'execució d'un algorisme, la sortida de depuració i del programa es mostren a la <emphasis
753
 
>depuració i sortida de l'script</emphasis
754
 
>. Si el motor per a la creació d'scripts detecta un error de sintaxi, l'error també es mostrarà com a missatge de depuració. Tingueu en compte que tots els missatges del programa també es mostraran a la sortida de depuració (com a text en negreta). </para>
755
 
<para
756
 
>Podeu controlar el text que es mostrarà a la sortida de l'script mitjançant les següents funcions: </para>
757
 
<programlisting
758
 
>Console.log(string message);            // mostra el missatge com a sortida de l'script
759
 
    Console.debug(string message);      // mostra el missatge com a sortida de depuració
760
 
</programlisting>
761
 
</sect2>
762
 
 
763
 
<sect2 id="scripting-controlling">
764
 
<title
765
 
>Controlar l'execució de l'script</title>
766
 
<para
767
 
>Hi ha diferents modes d'execució per als vostres scripts. </para>
768
 
<para
769
 
>Podeu controlar el text que es mostrarà a la sortida de l'script mitjançant les següents funcions: </para>
770
 
<itemizedlist>
771
 
    <listitem
772
 
><para>
773
 
        <inlinemediaobject
774
 
><imageobject>
775
 
        <imagedata fileref="rocs-control-engine-run.png" format="PNG"/></imageobject>
776
 
</inlinemediaobject
777
 
> <guilabel
778
 
>Executa</guilabel
779
 
>: Executa l'script fins finalitzar.</para
780
 
></listitem>
781
 
    <listitem
782
 
><para>
783
 
        <inlinemediaobject
784
 
><imageobject>
785
 
        <imagedata fileref="rocs-control-engine-step.png" format="PNG"/></imageobject>
786
 
</inlinemediaobject
787
 
> <guilabel
788
 
>Un pas</guilabel
789
 
>: Executa l'script fins que finalitza un pas. Un pas finalitza quan l'script crida la funció <literal
790
 
>interrupt()</literal
791
 
>:</para>
792
 
    <programlisting
793
 
>interrupt();    // finalitza un pas
794
 
    </programlisting>
795
 
    </listitem>
796
 
    <listitem
797
 
><para>
798
 
        <inlinemediaobject
799
 
><imageobject>
800
 
        <imagedata fileref="rocs-control-engine-debug.png" format="PNG"/></imageobject>
801
 
</inlinemediaobject
802
 
> <guilabel
803
 
>Depura</guilabel
804
 
>: Executa l'script en mode de depuració. Això obre el diàleg de depuració de QtScript.</para
805
 
></listitem>
806
 
    <listitem
807
 
><para>
808
 
        <inlinemediaobject
809
 
><imageobject>
810
 
        <imagedata fileref="rocs-control-engine-stop.png" format="PNG"/></imageobject>
811
 
</inlinemediaobject
812
 
> <guilabel
813
 
>Atura</guilabel
814
 
>: Atura l'execució de l'script (sols disponible si s'executa un script).</para
815
 
></listitem>
816
 
</itemizedlist>
817
 
</sect2>
818
 
</sect1>
819
 
</chapter>
820
 
 
821
 
 
822
 
<chapter id="scripting-API">
823
 
<title
824
 
>L'API per a la creació d'scripts</title>
825
 
<para
826
 
>Cada dorsal proporciona un conjunt especial de funcions i propietats de les seves estructures de dades i els seus elements. Però cada dorsal també proporciona les propietats i funcions definides per l'estructura de dades base. </para>
827
 
&apiDatastructure; &apiGraphstructure; &apiLinkedListstructure; &apiRootedTreestructure; &apiConsole; </chapter>
828
 
 
829
 
 
830
 
&chapterImportExport;
831
 
 
832
 
 
833
 
<chapter id="credits">
834
 
<title
835
 
>Crèdits i llicència</title>
836
 
 
837
 
<para
838
 
>&rocs; </para>
839
 
<para
840
 
>Copyright del programa:</para>
841
 
<itemizedlist>
842
 
        <listitem
843
 
><para
844
 
>Copyright 2008 Ugo Sangiori (ugorox AT gmail.com)</para
845
 
></listitem>
846
 
        <listitem
847
 
><para
848
 
>Copyright 2008-2012 Tomaz Canabrava (tcanabrava AT kde.org)</para
849
 
></listitem>
850
 
        <listitem
851
 
><para
852
 
>Copyright 2008-2012 Wagner Reck (wagner.reck AT gmail.com)</para
853
 
></listitem>
854
 
        <listitem
855
 
><para
856
 
>Copyright 2011-2013 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</para
857
 
></listitem>
858
 
</itemizedlist>
859
 
 
860
 
<para
861
 
>Copyright de la documentació:</para>
862
 
<itemizedlist>
863
 
        <listitem
864
 
><para
865
 
>Copyright de la documentació 2009 &Anne-Marie.Mahfouf; &Anne-Marie.Mahfouf.mail;</para
866
 
></listitem>
867
 
        <listitem
868
 
><para
869
 
>Copyright de la documentació 2009 Tomaz Canabrava (tcanabrava AT kde.org)</para
870
 
></listitem>
871
 
        <listitem
872
 
><para
873
 
>Copyright de la documentació 2011-2013 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</para
874
 
></listitem>
875
 
</itemizedlist>
876
 
 
877
 
<para
878
 
>Traductor de la documentació: &credits.Antoni.Bella;</para
879
 
880
 
&underFDL; &underGPL; </chapter>
881
 
 
882
 
<appendix id="installation">
883
 
<title
884
 
>Instal·lació</title>
885
 
 
886
 
<sect1 id="getting-rocs">
887
 
<title
888
 
>Com obtenir el &rocs;</title>
889
 
&install.intro.documentation; </sect1>
890
 
 
891
 
<sect1 id="compilation">
892
 
<title
893
 
>Compilació i instal·lació</title>
894
 
&install.compile.documentation; </sect1>
895
 
</appendix>
896
 
 
897
 
&documentation.index;
898
 
</book>
899
 
<!--
900
 
Local Variables:
901
 
mode: sgml
902
 
sgml-minimize-attributes: nil
903
 
sgml-general-insert-case: lower
904
 
sgml-indent-step:0
905
 
sgml-indent-data:nil
906
 
End:
907
 
-->