dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>O Manual do Rocs</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="description" content="O Rocs é uma ferramenta da teoria dos grafos para o KDE."><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="next" href="introduction.html" title="Capítulo 1. Introdução"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> O Manual do <span class="application">Rocs</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Próximo</a></td></tr></table></div><div id="contentBody"><div lang="pt" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="rocs"></a>O Manual do <span class="application">Rocs</span></h1></div><div><div class="authorgroup"><p class="author"><span class="firstname">Tomaz</span> <span class="surname">Canabrava</span> <code class="email">&lt;tomaz.canabrava@gmail.com&gt;</code></p><p class="author"><span class="firstname">Andreas</span> <span class="surname">Cord-Landwehr</span> <code class="email">&lt;cordlandwehr@kde.org&gt;</code></p><span class="othercredit"><span class="contrib">Tradução</span>: <span class="firstname">José</span> <span class="surname">Pires</span><br></span></div></div><div>revisão <span class="releaseinfo">Rocs 2.1.50 (Aplicações 16.04) (<span class="date">2016-04-10</span>)</span></div><div><p><a href="help:/kdoctools5-common/fdl-notice.html">Aviso Legal</a></p></div><div><div><div class="abstract"><p>O <span class="application">Rocs</span> é uma ferramenta da teoria dos grafos para o <span class="orgname">KDE</span>. </p></div></div></div></div><hr></div><div class="toc"><p><b>Índice</b></p><dl class="toc"><dt><span class="chapter"><a href="introduction.html">1. Introdução</a></span></dt><dd><dl><dt><span class="sect1"><a href="introduction.html#introduction-goals">Objectivos, Público-Alvo e Funcionamento</a></span></dt><dt><span class="sect1"><a href="introduction-nutshell.html">O <span class="application">Rocs</span> em Resumo</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-nutshell.html#idm78">Documentos do Grafo</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm84">Tipos de Arestas</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm87">Tipos de Nós</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm90">Propriedades</a></span></dt></dl></dd><dt><span class="sect1"><a href="introduction-tutorial.html">Tutorial</a></span></dt><dd><dl><dt><span class="sect2"><a href="introduction-tutorial.html#idm106">Gerar o Grafo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm115">Criar os Tipos de Elementos</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm122">O Algoritmo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm126">Executar o Algoritmo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="user-interface.html">2. A Interface de Utilizador do <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="user-interface.html#user-interface-all">Elementos Gerais da Interface do Utilizador</a></span></dt><dt><span class="sect1"><a href="user-interface-toolbar.html">Barra do Editor de Grafos</a></span></dt></dl></dd><dt><span class="chapter"><a href="scripting.html">3. Programação</a></span></dt><dd><dl><dt><span class="sect1"><a href="scripting.html#idm222">Executar os Algoritmos no <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="scripting.html#idm227">Controlar a Execução do Programa</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm243">Resultado do Programa</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm249">API do Motor de Programação</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="import-export.html">4. Importar e Exportar</a></span></dt><dd><dl><dt><span class="sect1"><a href="import-export.html#import-export-projects">Intercâmbio de Projectos <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="import-export.html#import-export-graphs">Importação e Exportação de Documentos de Grafos</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="credits.html">5. Créditos e Licença</a></span></dt></dl></div><FILENAME filename="introduction.html"><html><head><title>Capítulo 1. Introdução</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="index.html" title="O Manual do Rocs"><link rel="prev" href="index.html" title="O Manual do Rocs"><link rel="next" href="introduction-nutshell.html" title="O Rocs em Resumo"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Introdução</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="introduction"></a>Capítulo 1. Introdução</h1></div></div></div><p>Neste capítulo, iremos dar uma visão geral sobre as funcionalidades e fluxos de trabalho básicos. Para o leitor que quiser começar a usar directamente o <span class="application">Rocs</span>, sugerimos que leia o <a class="xref" href="introduction-nutshell.html" title="O Rocs em Resumo">“O <span class="application">Rocs</span> em Resumo”</a> e, enquanto escreve programas, use o <a class="xref" href="scripting.html" title="Capítulo 3. Programação">Capítulo 3, <i>Programação</i></a> como referência. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-goals"></a>Objectivos, Público-Alvo e Funcionamento</h2></div></div></div><p>O <span class="application">Rocs</span> é uma Ferramenta da Teoria dos Grafos para todos os interessados no desenho e análise de algoritmos de grafos. Isto inclui explicitamente</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>os professores que poderão querer demonstrar algoritmos aos seus alunos,</p></li><li class="listitem"><p>os alunos e investigadores, que queiram compreender e ver como é que funcionam os seus algoritmos</p></li><li class="listitem"><p>e todos os que estejam interessados em algoritmos e estruturas de dados.</p></li></ul></div><p>Para todos eles, o <span class="application">Rocs</span> oferece um editor gráfico fácil de usar para criar grafos, um motor de programação poderoso para executar algoritmos e diversos utilitários para simulações, experiências e exportações dos grafos. A forma típica de usar o <span class="application">Rocs</span> é criar um grafo, seja à mão (i.e., arrastando nós e arestas para o quadro) ou usando um dos geradores de grafos. Os algoritmos de grafos poderão então ser implementados e executados no grafo criado e todas as alterações que o algoritmo efectue serão visíveis imediatamente no editor do grafo. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-screenshot.png" alt="Uma imagem do Rocs."></div></div></div><FILENAME filename="introduction-nutshell.html"><html><head><title>O Rocs em Resumo</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="introduction.html" title="Capítulo 1. Introdução"><link rel="prev" href="introduction.html" title="Capítulo 1. Introdução"><link rel="next" href="introduction-tutorial.html" title="Tutorial"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> O <span class="application">Rocs</span> em Resumo</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Anterior</a></td><td class="upCell">Introdução</td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-nutshell"></a>O <span class="application">Rocs</span> em Resumo</h2></div></div></div><p>Cada sessão do <span class="application">Rocs</span> é um projecto: ao abrir o <span class="application">Rocs</span>, é criado um projecto vazio e podê-lo-á substituir se carregar ou importar outro projecto. Como tal, um projecto em si consiste nos <span class="emphasis"><em>documentos de grafos</em></span>, nos <span class="emphasis"><em>programas/algoritmos</em></span> e num <span class="emphasis"><em>registo</em></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm78"></a>Documentos do Grafo</h3></div></div></div><p>Um documento de grafo representa o conteúdo de um quadro no editor de grafos. Contém informações sobre os tipos de nós e arestas definidos pelo utilizador, as suas propriedades e os nós e arestas já criados. Isto é, o <span class="application">Rocs</span> compreende o conjunto de todos os nós e arestas de um documento de grafo para formar um grafo (não necessariamente ligado). Tudo o que pertence ao documento de um grafo fica acessível ao motor de programação através do objecto global <strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>Document</strong></span></span></code></strong>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm84"></a>Tipos de Arestas</h3></div></div></div><p>Em alguns cenários, os grafos consistem em diversos tipos de arestas (p.ex., um grafo não-direccional mais as arestas da árvore calculadas por um algoritmo de pesquisa primeiro-em-largura) que deverá ser tratado e apresentado de forma diferente. Para tal, para além de um tipo de aresta predefinido, poderá definir outros tipos de arestas arbitrários. Cada tipo de aresta tem a sua representação visual individual, propriedades dinâmicas e poderá ser configurado como direccionado ou não-direccionado. A interface de programação oferece métodos de conveniência para aceder de forma específica apenas às arestas de determinados tipos. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm87"></a>Tipos de Nós</h3></div></div></div><p>De forma análoga aos tipos de arestas, poderá definir diferentes tipos de nós de um grafo (p.ex., para dar alguns papéis especiais aos nós). Cada tipo de nó tem a sua própria representação visual e propriedades dinâmicas. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm90"></a>Propriedades</h3></div></div></div><p>Cada elemento (nó ou aresta) poderá ter propriedades. Essas propriedades deverão ser configuradas no tipo de nó ou aresta correspondente. As propriedades são identificadas e acedidas pelos seus nomes e poderão conter qualquer valor. Para criar novas propriedades ou alterar as existentes, use a barra lateral <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipos de Elementos</span></span> e use o botão <span class="inlinemediaobject"><img src="hi22-action-rocsproperties.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Propriedades</span></span> para abrir a janela de propriedades. </p><p>Também poderá usar o motor de programação para aceder às propriedades registadas e alterar os seus valores. No exemplo que se segue, assume-se que a propriedade "peso" está registada para o tipo de aresta predefinido. </p><pre class="programlisting">var nos = Document.nodes()
for (var i = 0; i &lt; nos.length; ++i){
    nos[i].peso = i;
}
for (var i = 0; i &lt; nos.length; ++i){
    Console.log("peso do nó " + i + ": " + nos[i].peso);
}
</pre><p>
</p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Próximo</a></td></tr><tr><td class="prevCell">Introdução </td><td class="upCell">Introdução</td><td class="nextCell"> Tutorial</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="introduction-tutorial.html"><html><head><title>Tutorial</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="introduction.html" title="Capítulo 1. Introdução"><link rel="prev" href="introduction-nutshell.html" title="O Rocs em Resumo"><link rel="next" href="user-interface.html" title="Capítulo 2. A Interface de Utilizador do Rocs"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Tutorial</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Anterior</a></td><td class="upCell">Introdução</td><td class="nextCell"><a accesskey="n" href="user-interface.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-tutorial"></a>Tutorial</h2></div></div></div><p>Nesta secção, iremos querer criar um projecto de exemplo para explorar algumas das funções mais importantes do <span class="application">Rocs</span>. O objectivo é criar um grafo e um programa que ilustre um algoritmo de 2 aproximações para o problema da <span class="emphasis"><em>cobertura mínima de vértices</em></span>. Este problema consiste em encontrar um sub-conjunto de nós do grafo C com um tamanho mínimo, de modo que cada aresta do grafo esteja ligada a pelo menos um nó do C. Este problema é conhecido por ser NP-difícil e queremos ilustrar como encontrar uma aproximação com um factor 2, encontrando uma correspondência no grafo indicado. </p><p>O nosso objectivo é visualizar a correspondência da ocorrência e da cobertura mínima de vértices. Para tal, queremos mostrar dois tipos de arestas, um para mostrar as arestas correspondentes e outro para mostrar as "normais", assim como dois tipos de dados que usamos para distinguir os nós contidos em C e os não-contidos. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm106"></a>Gerar o Grafo</h3></div></div></div><p>Para criar o grafo, o <span class="application">Rocs</span> oferece um utilitário que poderá gerar grafos. Este está disponível no menu <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento do Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guisubmenu">Ferramentas</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Gerar o Grafo</span></span>. Aí, iremos gerar um <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Grafo Aleatório</span></span> com 30 nós, 90 arestas e com uma raiz 1 (a raiz é o valor de referência inicial para o gerador de grafos aleatórios; a utilização da mesma raiz várias vezes origina grafos iguais). </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm115"></a>Criar os Tipos de Elementos</h3></div></div></div><p>Usamos os <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Tipos de Elementos</span></span> e criamos um segundo tipo de nó, assim como um segundo tipo de aresta. Para ambos os tipos novos, poderemos abrir a janela de propriedades, usando os respectivos botões de <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Propriedades</span></span> e configurar os ID's como <code class="literal">2</code>. Para além disso, iremos mudar as cores dos elementos desses dois novos tipos (para os distinguir dos tipos predefinidos). Finalmente, configuramos todos os tipos de arestas como sendo bidireccionais e os ID's dos tipos predefinidos como <code class="literal">1</code>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm122"></a>O Algoritmo</h3></div></div></div><p>Por último, temos de implementar o algoritmo de aproximação. Para tal, iremos usar a seguinte implementação: </p><pre class="programlisting">for (var i=0; i &lt; Document.nodes.length; i++) {
    Document.nodes[i].type = 1;
}
for (var i=0; i &lt; Document.edges.length; i++) {
    Document.edges[i].type = 1;
}

var E = Document.edges(); // conjunto de arestas não processadas
var C = new Array();      // arestas correspondentes
while (E.length 
&gt; 0) {
    var e = E[0];         // escolhemos primeiro a aresta e={u,v}
    var u = e.from();
    var v = e.to();
    e.type = 2;           // configurar a aresta como sendo correspondente
    E.shift();            // remover a 'e' (i.e., E[0]) da lista de arestas
    C.push(u);            // adicionar a 'u' ao C
    C.push(v);            // adicionar a 'v' ao C

    // marcar o u,v como nós no C
    u.type = 2;
    v.type = 2;

    // remover do E todas as arestas que incidem em 'u' ou 'v'
    var adjacente = u.edges();
    for (var i=0; i &lt; adjacente.length; i++) {
        var indice = E.indexOf(adjacente[i]); // descobrir o índice
        if (indice != -1) {
            E.splice(indice, 1); // remover se já tiver encontrado
        }
    }
    var adjacente = v.edges();
    for (var i=0; i &lt; adjacente.length; i++) {
        var indice = E.indexOf(adjacente[i]); // descobrir o índice
        if (indice != -1) {
            E.splice(indice, 1); // remover se já tiver encontrado
        }
    }
}
Console.log("A Cobertura de Vértices contém " + C.length + " nós.");
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm126"></a>Executar o Algoritmo</h3></div></div></div><p>O algoritmo pode ser posto em execução com o botão de <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Execução</span></span> no painel de controlo do programa. </p></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-nutshell.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="user-interface.html">Próximo</a></td></tr><tr><td class="prevCell">O <span class="application">Rocs</span> em Resumo </td><td class="upCell">Introdução</td><td class="nextCell"> A Interface de Utilizador do <span class="application">Rocs</span></td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="index.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Próximo</a></td></tr><tr><td class="prevCell">O Manual do <span class="application">Rocs</span> </td><td class="upCell"> </td><td class="nextCell"> O <span class="application">Rocs</span> em Resumo</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="user-interface.html"><html><head><title>Capítulo 2. A Interface de Utilizador do Rocs</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="index.html" title="O Manual do Rocs"><link rel="prev" href="introduction-tutorial.html" title="Tutorial"><link rel="next" href="user-interface-toolbar.html" title="Barra do Editor de Grafos"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> A Interface de Utilizador do <span class="application">Rocs</span></div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-tutorial.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="user-interface-toolbar.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="user-interface"></a>Capítulo 2. A Interface de Utilizador do <span class="application">Rocs</span></h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface-all"></a>Elementos Gerais da Interface do Utilizador</h2></div></div></div><p>A interface do utilizador está dividida em várias partes lógicas, como aparece na imagem abaixo. </p><div class="screenshot"><div xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="mediaobject"><img src="rocs-interfaces.png" alt="Elementos gráficos da GUI do Rocs."></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">Editor de Grafos</span></dt><dd><p>O editor oferece um quadro onde poderá criar e modificar as suas estruturas de dados. Carregue com o botão direito no quadro, nos elementos de dados ou nas arestas para abrir os menus de contexto. Poderá usar as ferramentas da <span class="emphasis"><em>Barra de Edição do Grafo</em></span> para modificar os elementos no quadro visual do grafo.</p></dd><dt><span class="term">Barra do Editor de Grafos</span></dt><dd><p>A barra de ferramentas oferece as ferramentas <span class="inlinemediaobject"><img src="hi22-actions-rocsnode.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Criar um Nó</span></span> ou <span class="inlinemediaobject"><img src="hi22-actions-rocsedge.png"></span><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Criar uma Aresta</span></span>, para criar novos elementos no quadro (Lembre-se da barra extra para seleccionar o tipo do nó ou aresta respectivo, que fica visível quando seleccionar uma dessas ferramentas. Do mesmo modo, as ferramentas para seleccionar e mover, assim como remover, os elementos estão disponíveis aqui. Para mais detalhes, veja em <a class="xref" href="user-interface-toolbar.html" title="Barra do Editor de Grafos">“Barra do Editor de Grafos”</a>. </p></dd><dt><span class="term">Barra Lateral</span></dt><dd><p>À direita poderá encontrar a barra lateral que oferece diversas ferramentas para o seu fluxo de trabalho: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Tipos de Elementos: Este elemento dá-lhe acesso directo para os tipos de arestas e nós disponíveis.</p></li><li class="listitem"><p>Diário: Cada projecto tem o seu próprio diário que pode ser usado isto é para: notas das tarefas, resultados ou observações.</p></li><li class="listitem"><p>API de Programação: Para obter acesso directo ao manual e, deste modo, à documentação do programa, poderá abrir este elemento.</p></li></ul></div><p>
    </p></dd><dt><span class="term">Editor de Programas</span></dt><dd><p>Neste editor de texto, poderá criar os algoritmos da forma descrita em  <a class="xref" href="scripting.html" title="Capítulo 3. Programação">Capítulo 3, <i>Programação</i></a>. Poderá trabalhar com vários documentos de programas ao mesmo tempo, usando diversas páginas. </p></dd><dt><span class="term">Resultado do Programa</span></dt><dd><p>Esta área de texto poderá apresentar a informação de depuração ou o resultado do programa para o seu algoritmo, dependendo da configuração do resultado. Se o programa emitir um erro, será seleccionado automaticamente o resultado da depuração. </p></dd><dt><span class="term">Controlos</span></dt><dd><p>Aqui poderá encontrar os controlos para a execução dos algoritmos. Poderá executar o programa que está aberto de momento no editor do programa se carregar em <span class="guiicon">Executar</span>. Enquanto o programa estiver em execução, é possível interrompê-lo se carregar no botão <span class="guiicon">Parar</span>. </p></dd></dl></div></div><FILENAME filename="user-interface-toolbar.html"><html><head><title>Barra do Editor de Grafos</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="user-interface.html" title="Capítulo 2. A Interface de Utilizador do Rocs"><link rel="prev" href="user-interface.html" title="Capítulo 2. A Interface de Utilizador do Rocs"><link rel="next" href="scripting.html" title="Capítulo 3. Programação"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Barra do Editor de Grafos</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Anterior</a></td><td class="upCell">A Interface de Utilizador do <span class="application">Rocs</span></td><td class="nextCell"><a accesskey="n" href="scripting.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="user-interface-toolbar"></a>Barra do Editor de Grafos</h2></div></div></div><p>Esta barra de ferramentas consiste nas seguintes acções. Se carregar no nome de uma acção, significa que o seu cursor do rato aplica esta acção ao quadro do editor do grafo:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
<span class="inlinemediaobject"><img src="hi22-actions-rocsselectmove.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Seleccionar e Mover</span></span>: Para seleccionar os elementos, tanto poderá carregar no espaço em branco do quadro, mantenha carregado o rato e desenhe um rectângulo que contenha alguns nós e/ou arestas para seleccionar estes elementos ou poderá então carregar directamente num elemento não seleccionado para escolher esse elemento. Se carregar num elemento ou conjunto de elementos seleccionados, poderá mover estes elementos em conjunto. A movimentação dos elementos seleccionados também é possível com as teclas de cursores.</p></li><li class="listitem"><p>
<span class="inlinemediaobject"><img src="hi22-actions-rocsnode.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Criar um Nó</span></span>: Carregue numa posição arbitrária no quadro do editor do grafo para criar um novo elemento de dados que pertença ao grafo seleccionado de momento. Mantendo o botão do rato pressionado, irá aparecer um menu de contexto onde poderá escolher o tipo de dados dos novos elementos (somente se existirem outros tipos de dados diferentes).</p></li><li class="listitem"><p>
<span class="inlinemediaobject"><img src="hi22-actions-rocsedge.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Criar uma Aresta</span></span>: Carregue num elemento de dados, mantenha o rato pressionado e desenhe uma linha para outro nó, apontando a aresta nessa direcção. Esta acção só será bem-sucedida se o grafo actual permitir adicionar esta aresta (isto é, num grafo não-direccionado, não poderá adicionar várias arestas entre dois nós). Mantendo o botão do rato pressionado, irá aparecer um menu de contexto onde poderá escolher o tipo de aresta dos novos elementos (somente se existirem outros tipos de dados diferentes).</p></li><li class="listitem"><p>
<span class="inlinemediaobject"><img src="hi22-actions-rocsdelete.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Apagar</span></span>: Carregue num elemento para o apagar. Se apagar um nó, todas as arestas adjacentes serão também apagadas.</p></li></ul></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="scripting.html">Próximo</a></td></tr><tr><td class="prevCell">A Interface de Utilizador do <span class="application">Rocs</span> </td><td class="upCell">A Interface de Utilizador do <span class="application">Rocs</span></td><td class="nextCell"> Programação</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="introduction-tutorial.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="user-interface-toolbar.html">Próximo</a></td></tr><tr><td class="prevCell">Tutorial </td><td class="upCell"> </td><td class="nextCell"> Barra do Editor de Grafos</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="scripting.html"><html><head><title>Capítulo 3. Programação</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="index.html" title="O Manual do Rocs"><link rel="prev" href="user-interface-toolbar.html" title="Barra do Editor de Grafos"><link rel="next" href="import-export.html" title="Capítulo 4. Importar e Exportar"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Programação</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface-toolbar.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="import-export.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="scripting"></a>Capítulo 3. Programação</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm222"></a>Executar os Algoritmos no <span class="application">Rocs</span></h2></div></div></div><p>O <span class="application">Rocs</span> usa internamente o motor de JavaScript do QtScript. Isto significa que todos os algoritmos que implementar deverão estar feitos em JavaScript. Nos seguintes pontos, iremos explicar como aceder e modificar os elementos de um documento de grafo a partir do motor de programação. É importante apontar que as alterações feitas pelo motor de programação são reflectidas directamente nas propriedades dos elementos do editor de grafos. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm227"></a>Controlar a Execução do Programa</h3></div></div></div><p>Existem diferentes modos de execução para os seus algoritmos: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
        <span class="inlinemediaobject"><img src="hi22-actions-controls-run.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Executar</span></span>: Executa o programa até este terminar.</p></li><li class="listitem"><p>
        <span class="inlinemediaobject"><img src="hi22-actions-control-stop.png"></span> <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guilabel">Parar</span></span>: Interrompe a execução do programa (só disponível se tiver um programa em execução).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm243"></a>Resultado do Programa</h3></div></div></div><p>Durante a execução de um algoritmo, o resultado de depuração e do programa aparece no <span class="emphasis"><em>Resultado de Depuração ∧ Programa</em></span>. Se o motor de programação detectar um erro de sintaxe no seu programa, o erro também aparece como uma mensagem de depuração. Repare que todas as mensagens do programa também são apresentadas no resultado de depuração (aparecendo a negrito). </p><p>Pode controlar o texto que é apresentado no resultado do programa, usando as seguintes funções: </p><pre class="programlisting">Console.log(string mensagem);            // mostra a mensagem como resultado do programa
    Console.debug(string mensagem);             // mostra a mensagem como resultado de depuração
    Console.error(string mensagem);             // mostra a mensagem como resultado de erro
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm249"></a>API do Motor de Programação</h3></div></div></div><p>Cada uma das diferentes partes do <span class="application">Rocs</span> oferece um elemento estático que poderá ser acedido pelo motor de programação. Estas são: o </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>Document</strong></span></span></code></strong> para o documento do grafo</p></li><li class="listitem"><p><strong class="userinput"><code><span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="command"><span class="command"><strong>Console</strong></span></span></code></strong> para o resultado do registo da consola</p></li></ul></div><p> Para o uso explícito da API e para uma referência dos métodos, veja por favor a ajuda incorporada na barra lateral do <span class="application">Rocs</span>. </p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="user-interface-toolbar.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="import-export.html">Próximo</a></td></tr><tr><td class="prevCell">Barra do Editor de Grafos </td><td class="upCell"> </td><td class="nextCell"> Importar e Exportar</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="import-export.html"><html><head><title>Capítulo 4. Importar e Exportar</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="index.html" title="O Manual do Rocs"><link rel="prev" href="scripting.html" title="Capítulo 3. Programação"><link rel="next" href="credits.html" title="Capítulo 5. Créditos e Licença"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Importar e Exportar</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="credits.html">Próximo</a></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="import-export"></a>Capítulo 4. Importar e Exportar</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="import-export-projects"></a>Intercâmbio de Projectos <span class="application">Rocs</span></h2></div></div></div><p>Poderá importar e exportar projectos do <span class="application">Rocs</span> como ficheiros de pacotes <code class="literal">.tar.gz</code>. Estes pacotes poderão ser usados para o intercâmbio de projectos. A importação e exportação poderão ser efectuados com as opções <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento do Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Importar um Grafo</span></span> e <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenu">Documento do Grafo</span></span> → <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guimenuitem">Exportar o Grafo Como</span></span>, respectivamente. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="import-export-graphs"></a>Importação e Exportação de Documentos de Grafos</h3></div></div></div><p>O <span class="application">Rocs</span> suporta de momento a importação e exportação dos seguintes formatos de ficheiros:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>ficheiros DOT, também conhecidos por ficheiros do Graphviz</p></li><li class="listitem"><p>ficheiros GML</p></li><li class="listitem"><p>ficheiros no formato TGF (Trivial Graph Format)</p></li><li class="listitem"><p>Formato KML (Keyhole Markup Language)</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-tgf"></a>Formato TGF (Trivial Graph Format)</h4></div></div></div><p>O <span class="emphasis"><em>Trivial Graph Format</em></span> (TGF) é um formato de ficheiros simples em texto para descrever grafos. Um ficheiro TGF consiste numa lista de definições de nós que associam os ID's dos nós às legendas, seguidas de uma lista de arestas. Neste formato só é possível ter uma legenda por nó e um valor por aresta. O <span class="application">Rocs</span> interpreta os grafos importados como não-direccionais. Os grafos exportados irão ter duas arestas por ligação, caso estas sejam bidireccionais. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm295"></a>Especificação do Formato</h5></div></div></div><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>O ficheiro começa com uma lista de nós (um por cada linha), seguido de uma linha com o único carácter "#", seguido de uma lista de arestas (uma por cada linha).</p></li><li class="listitem"><p>Um nó consiste num número inteiro (identificador), seguido de um espaço e depois um texto arbitrário.</p></li><li class="listitem"><p>Uma aresta consiste em dois inteiros (identificadores) separados por um espaço, seguidos de um espaço e depois por um texto arbitrário. Assume-se que a aresta direccionada aponta do primeiro identificador para o segundo.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm304"></a>Exemplo</h5></div></div></div><pre class="programlisting">1 nó inicial
2 transmissor
3 receptor
#
1 2 azul
2 1 vermelho
2 3 verde
</pre></div></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-dot"></a>Formato da Linguagem DOT / Graphviz</h4></div></div></div><p>A linguagem DOT é uma linguagem de descrição de grafos em texto simples que permite tanto uma boa representação legível dos grafos, assim como um processamento eficiente pelos programas de formatação de grafos. O DOT é o formato de ficheiros por omissão para o pacote de visualização de grafos Graphviz, mas também é amplamente usado por outras ferramentas de grafos. As extensões de ficheiros normais do DOT são a <span class="emphasis"><em>.gv</em></span> e a <span class="emphasis"><em>.dot</em></span>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm312"></a>Funcionalidades Não Suportadas</h5></div></div></div><p>O <span class="application">Rocs</span> consegue processar todos os ficheiros de grafos que contêm um grafo definido de acordo com a especificação da linguagem DOT<a href="#ftn.idm316" class="footnote" name="idm316"><sup class="footnote">[1]</sup></a>. O suporte das funcionalidades da linguagem é completo, apesar das seguintes excepções: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>sub-grafos: Devido à falta do conceito de sub-grafos no <span class="application">Rocs</span>, os sub-grafos são importados apenas como um conjunto de elementos de dados e ligações. Especialmente, as ligações de e para sub-grafos não são importadas.</p></li><li class="listitem"><p>Atributos em <acronym class="acronym">HTML</acronym> e <acronym class="acronym">XML</acronym>: Os atributos (como as legendas) que tenham uma sintaxe em <acronym class="acronym">HTML</acronym> ou <acronym class="acronym">XML</acronym> são lidos sem qualquer alteração. Especialmente, não serão processados os estilos e ajustes de tamanho do texto a partir desses atributos.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm328"></a>Exemplo</h5></div></div></div><pre class="programlisting">digraph meuGrafo {
    a -&gt; b -&gt; c;
    b -&gt; d;
}
</pre></div></div></div></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm316" class="footnote"><p><a href="#idm316" class="para"><sup class="para">[1] </sup></a>http://www.graphviz.org/content/dot-language</p></div></div></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="scripting.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Próximo</a></td></tr><tr><td class="prevCell">Programação </td><td class="upCell"> </td><td class="nextCell"> Créditos e Licença</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME><FILENAME filename="credits.html"><html><head><title>Capítulo 5. Créditos e Licença</title><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-default.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-docs.css"><link rel="stylesheet" type="text/css" href="help:/kdoctools5-common/kde-localised.css"><meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="O Manual do Rocs"><link rel="up" href="index.html" title="O Manual do Rocs"><link rel="prev" href="import-export.html" title="Capítulo 4. Importar e Exportar"><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="GENERATOR" content="KDE XSL Stylesheet V1.14 using libxslt"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div id="content"><div id="header"><div id="header_content"><div id="header_left"><div id="header_right"><img src="help:/kdoctools5-common/top-kde.jpg" width="36" height="34"> Créditos e Licença</div></div></div></div><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Anterior</a></td><td class="upCell"> </td><td class="nextCell"></td></tr></table></div><div id="contentBody"><div class="chapter"><div class="titlepage"><div><div><h1 class="title"><a name="credits"></a>Capítulo 5. Créditos e Licença</h1></div></div></div><p><span class="application">Rocs</span> </p><p>Copyright do Programa:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>'Copyright' 2008 de Ugo Sangiori (ugorox AT gmail.com)</p></li><li class="listitem"><p>'Copyright' 2008-2012 de Tomaz Canabrava (tcanabrava AT kde.org)</p></li><li class="listitem"><p>'Copyright' 2008-2012 de Wagner Reck (wagner.reck AT gmail.com)</p></li><li class="listitem"><p>'Copyright' 2011-2015 de Andreas Cord-Landwehr (cordlandwehr AT googlemail.com)</p></li></ul></div><p>'Copyright' da Documentação:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Documentação com 'copyright' 2009 de <span class="firstname">Anne-Marie</span> <span class="surname">Mahfouf</span> <code class="email">(annma AT kde.org)</code></p></li><li class="listitem"><p>Documentação com 'copyright' 2009 de Tomaz Canabrava (tcanabrava at kde dot org)</p></li><li class="listitem"><p>Documentação com 'copyright' 2011-2015 de Andreas Cord-Landwehr (cordlandwehr AT googlemail.com)</p></li></ul></div><p>Tradução de José Nuno Pires <code class="email">(zepires AT gmail.com)</code></p><p><a name="gnu-fdl"></a>
A documentação está licenciada ao abrigo da
<a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">GNU Free Documentation License</a>.
</p><p>
Este programa está licenciado ao abrigo da
<a class="ulink" href="help:/kdoctools5-common/gpl-license.html" target="_top">GNU General Public License</a>.
</p></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"><a accesskey="p" href="import-export.html">Anterior</a></td><td class="upCell"><a accesskey="h" href="index.html">Início</a></td><td class="nextCell"></td></tr><tr><td class="prevCell">Importar e Exportar </td><td class="upCell"> </td><td class="nextCell"> </td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME></div></div><div id="footer"><div class="navCenter"><table class="navigation"><tr><td class="prevCell"></td><td class="upCell"> </td><td class="nextCell"><a accesskey="n" href="introduction.html">Próximo</a></td></tr><tr><td class="prevCell"> </td><td class="upCell"> </td><td class="nextCell"> Introdução</td></tr></table></div><div id="footer_text">Would you like to make a comment or contribute an update to this page?<br>Send feedback to the <a href="mailto:kde-doc-english@kde.org" class="footer_email">KDE Docs Team</a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Fri May 24 05:41:03 CEST 2024.