dwww Home | Show directory contents | Find package

<FILENAME filename="index.html"><html><head><title>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="Rocs é a ferramenta da teoria dos grafos do KDE."><meta name="keywords" content="KDE, kdeedu, matemática, matemática, grafos, nó, aresta"><link rel="home" href="index.html" title="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"> 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óxima</a></td></tr></table></div><div id="contentBody"><div lang="pt-BR" class="book"><div class="titlepage"><div><div><h1 class="title"><a name="rocs"></a>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">Marcus</span> <span class="surname">Gama</span><br></span><span class="othercredit"><span class="contrib">Tradução</span>: <span class="firstname">André Marcelo</span> <span class="surname">Alvarenga</span><br></span></div></div><div>revisão <span class="releaseinfo">Rocs 2.1.50 (Applications 16.04) (<span class="date">10/04/2016</span>)</span></div><div><p><a href="help:/kdoctools5-common/fdl-notice.html">Nota Legal</a></p></div><div><div><div class="abstract"><p><span class="application">Rocs</span> é a ferramenta da teoria dos grafos do <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">Objetivos, 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#idm85">Documentos de grafo</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm91">Tipos de borda</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm94">Tipos de nós</a></span></dt><dt><span class="sect2"><a href="introduction-nutshell.html#idm97">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#idm113">Gerando o grafo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm122">Criação dos tipos de elementos</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm129">O Algoritmo</a></span></dt><dt><span class="sect2"><a href="introduction-tutorial.html#idm133">Executar o Algoritmo</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="user-interface.html">2. A interface do usuário do <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect1"><a href="user-interface.html#user-interface-all">Elementos principais da interface do usuário</a></span></dt><dt><span class="sect1"><a href="user-interface-toolbar.html">Barra de ferramentas do editor de grafos</a></span></dt></dl></dd><dt><span class="chapter"><a href="scripting.html">3. Criação de scripts</a></span></dt><dd><dl><dt><span class="sect1"><a href="scripting.html#idm227">Executando algoritmos no <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="scripting.html#idm232">Controle da execução dos scripts</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm248">Resultado do programa</a></span></dt><dt><span class="sect2"><a href="scripting.html#idm254">API do mecanismo de criação de scripts</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">Compartilhar projetos do <span class="application">Rocs</span></a></span></dt><dd><dl><dt><span class="sect2"><a href="import-export.html#import-export-graphs">Importar e exportar documentos de grafo</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="Manual do Rocs"><link rel="up" href="index.html" title="Manual do Rocs"><link rel="prev" href="index.html" title="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óxima</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 apresentaremos as funcionalidades e fluxos de trabalho básicos. As partes mais importantes são <a class="xref" href="introduction-nutshell.html" title="O Rocs em resumo">“O <span class="application">Rocs</span> em resumo”</a> e <a class="xref" href="scripting.html" title="Capítulo 3. Criação de scripts">Capítulo 3, <i>Criação de scripts</i></a>, que, em conjunto, permitem que novos usuários possam começar a usar o <span class="application">Rocs</span>. </p><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="introduction-goals"></a>Objetivos, 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 estudo de algoritmos de grafos. Em particular, estes são</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>os professores, que poderão demonstrar algoritmos aos seus alunos,</p></li><li class="listitem"><p>os alunos e pesquisadores, que queiram ver como funcionam os seus algoritmos e</p></li><li class="listitem"><p>todos que estejam interessados em estruturas de dados e algoritmos.</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 mecanismo de criação de scripts poderoso para executar algoritmos e diversas ferramentas para ajudar nas simulações, experiências e exportações de 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, assim como todas as alterações feitas pelo algoritmo, 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 captura de tela 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="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óxima</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 projeto: Ao abrir o <span class="application">Rocs</span>, um projeto vazio será criado e ao carregar algum projeto existente, ele se tornará o projeto atual. Um projeto é composto de <span class="emphasis"><em>documentos de grafos</em></span>, <span class="emphasis"><em>scripts/algoritmos</em></span> e <span class="emphasis"><em>registro</em></span>. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm85"></a>Documentos de 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 usuário, 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 conectado). Tudo o que pertence ao documento de grafo fica acessível pelo mecanismo de criação de scripts através do objeto 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="idm91"></a>Tipos de borda</h3></div></div></div><p>Em alguns cenários, os grafos consistem em diversos tipos de arestas (p.ex., um grafo não-direcional mais as arestas da árvore calculadas por um algoritmo de pesquisa primeiro-em-largura) que deverá ser tratado e apresentado de forma diferente. Para isso, além de um tipo de aresta padrão, você poderá definir outros tipos de arestas arbitrários. Cada tipo de aresta tem a sua própria representação visual, propriedades dinâmicas e pode ser definido como direcionado ou não-direcionado. A interface de criação de scripts oferece métodos de conveniência para acessar de forma específica apenas as arestas de determinados tipos. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm94"></a>Tipos de nós</h3></div></div></div><p>De forma análoga aos tipos de arestas, você poderá definir diferentes tipos de nós de um grafo (p.ex., para indicar algumas regras especiais aos nós). Cada tipo de nó tem 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="idm97"></a>Propriedades</h3></div></div></div><p>Cada elemento (nó ou aresta) pode ter propriedades. Essas propriedades devem ser configuradas no tipo de nó ou aresta correspondente. As propriedades são identificadas e acessadas 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 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>Você também pode usar o mecanismo de criação de scripts para acessar as propriedades registradas e alterar os seus valores. No exemplo a seguir, assume-se que a propriedade "peso" está registrada para o tipo de aresta padrão. </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">Principal</a></td><td class="nextCell"><a accesskey="n" href="introduction-tutorial.html">Próxima</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"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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="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 do usuário 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óxima</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 seção criaremos um projeto de exemplo para explorar algumas das funções mais importantes do <span class="application">Rocs</span>. O objetivo é criar um grafo e um script que ilustre um algoritmo de 2 aproximações para o problema da <span class="emphasis"><em>cobertura mínima de vértices</em></span>. Esse problema consiste em encontrar um subconjunto de nós do grafo C com um tamanho mínimo, de modo que cada aresta do grafo esteja conectada 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 fator 2 computando uma correspondência no grafo dado. </p><p>Nosso objetivo é visualizar o relacionamento 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 nós 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="idm113"></a>Gerando o grafo</h3></div></div></div><p>Para criação do grafo, usamos o gerador de grafos padrão oferecido pelo <span class="application">Rocs</span>. Ele pode ser encontrado no menu principal em <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í, selecionamos 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="idm122"></a>Criação dos 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 os novos tipos, abrimos 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 definimos os IDs como <code class="literal">2</code>. Além disso, mudamos as cores dos elementos desses dois novos tipos (para distingui-los dos tipos padrão). Finalmente, definimos todos os tipos de arestas como sendo bidirecionais e os IDs dos tipos padrão como <code class="literal">1</code>. </p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm129"></a>O Algoritmo</h3></div></div></div><p>Por último, temos de implementar o algoritmo de aproximação. Para isso, 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(); // define o 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;           // define a aresta como sendo correspondente
    E.shift();            // remove a 'e' (i.e., E[0]) da lista de arestas
    C.push(u);            // adiciona a 'u' ao C
    C.push(v);            // adiciona a 'v' ao C

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

    // remove 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]); // localiza o índice
        if (indice != -1) {
            E.splice(indice, 1); // remove 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="idm133"></a>Executar o Algoritmo</h3></div></div></div><p>O algoritmo pode ser executado com o botão <span xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" class="guiitem"><span class="guibutton">Executar</span></span> no painel de controle de scripts. </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">Principal</a></td><td class="nextCell"><a accesskey="n" href="user-interface.html">Próxima</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 do usuário do <span class="application">Rocs</span></td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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">Principal</a></td><td class="nextCell"><a accesskey="n" href="introduction-nutshell.html">Próxima</a></td></tr><tr><td class="prevCell">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"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="user-interface.html"><html><head><title>Capítulo 2. A interface do usuário 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="Manual do Rocs"><link rel="up" href="index.html" title="Manual do Rocs"><link rel="prev" href="introduction-tutorial.html" title="Tutorial"><link rel="next" href="user-interface-toolbar.html" title="Barra de ferramentas 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 do usuário 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óxima</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 do usuário 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 principais da interface do usuário</h2></div></div></div><p>A interface do usuário 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 interface 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 os nós e arestas podem ser colocados. Ao clicar duas vezes em qualquer um dos elementos, será aberto um menu de propriedades correspondente. Você pode usar as ferramentas da <span class="emphasis"><em>Barra de Edição do Grafo</em></span> para criar e modificar os grafos.</p></dd><dt><span class="term">Barra de ferramentas do editor de grafos</span></dt><dd><p>A barra 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 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 aresta</span></span>, são usadas para criação de novos elementos no quadro. Observe que a barra de ferramentas extra, para seleção do tipo de nó ou aresta respectivo, fica visível se uma dessas ferramentas for selecionada. As ferramentas também são usadas para seleção, movimentação e exclusão dos elementos que estiverem disponíveis aqui. Para obter mais detalhes, consulte <a class="xref" href="user-interface-toolbar.html" title="Barra de ferramentas do editor de grafos">“Barra de ferramentas do editor de grafos”</a>. </p></dd><dt><span class="term">Barra lateral</span></dt><dd><p>À direita, você 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 fornece acesso direto para os tipos de arestas e nós disponíveis.</p></li><li class="listitem"><p>Diário: Cada projeto tem o seu próprio diário que pode ser usado por exemplo para: notas das tarefas, resultados ou observações.</p></li><li class="listitem"><p>API de criação de scripts: Para obter acesso direto à documentação do script, você poderá abrir este widget.</p></li></ul></div><p>
    </p></dd><dt><span class="term">Editor de script</span></dt><dd><p>Neste editor de texto você pode criar os algoritmos como explicado em detalhes em <a class="xref" href="scripting.html" title="Capítulo 3. Criação de scripts">Capítulo 3, <i>Criação de scripts</i></a>. Você poderá trabalhar com vários documentos de script ao mesmo tempo usando diversas abas. </p></dd><dt><span class="term">Resultado do programa</span></dt><dd><p>Esta área de texto poderá apresentar as informações de depuração ou o resultado do script para o seu algoritmo, dependendo da configuração no topo deste elemento. Se o script emitir um erro, o resultado de depuração é automaticamente apresentado. </p></dd><dt><span class="term">Controles</span></dt><dd><p>Aqui você pode encontrar controles para a execução do script. Você pode executar o script atualmente aberto no editor do script clicando em <span class="guiicon">Executar</span>. Enquanto o script estiver em execução, é possível interrompê-lo se clicar no botão <span class="guiicon">Parar</span>. </p></dd></dl></div></div><FILENAME filename="user-interface-toolbar.html"><html><head><title>Barra de ferramentas 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="Manual do Rocs"><link rel="up" href="user-interface.html" title="Capítulo 2. A interface do usuário do Rocs"><link rel="prev" href="user-interface.html" title="Capítulo 2. A interface do usuário do Rocs"><link rel="next" href="scripting.html" title="Capítulo 3. Criação de scripts"><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 de ferramentas 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 do usuário do <span class="application">Rocs</span></td><td class="nextCell"><a accesskey="n" href="scripting.html">Próxima</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 de ferramentas do editor de grafos</h2></div></div></div><p>Esta barra de ferramentas consiste nas seguintes ações. Clicar em uma ação significa que o ponteiro do seu mouse aplica esta açã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">Selecionar e mover</span></span>: Para selecionar os elementos, você poderá clicar no espaço em branco do quadro, manter o mouse pressionado e desenhar um retângulo que contenha alguns elementos de dados e/ou arestas para selecionar estes elementos ou então clicar diretamente em um elemento não selecionado para escolher esse elemento. Se clicar em um elemento ou conjunto de elementos selecionados, você poderá mover estes elementos em conjunto. A movimentação dos elementos selecionados também é possível com as teclas direcionais.</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 nó</span></span>: Clique em uma posição arbitrária no quadro do editor do grafo para criar um novo elemento de dados que pertença ao grafo selecionado na estrutura de dados. Mantendo o ponteiro do mouse pressionado no botão, um menu mostra a quais tipos de dados o novo elemento de dados criados pode pertencer (somente se existirem diferentes tipos de dados).</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 aresta</span></span>: Clique em um elemento de dado, mantenha o mouse pressionado e desenhe uma linha para outro elemento de dado, apontando a aresta nessa direção. Esta ação só será bem-sucedida se o grafo atual permitir adicionar esta aresta (por exemplo, em um grafo não-direcionado, você não poderá adicionar várias arestas entre dois elementos de dado). Mantendo o ponteiro do mouse pressionado no botão, um menu mostra qual o tipo das novas arestas criadas pode ser selecionado (somente se existirem diferentes tipos de aresta).</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">Excluir</span></span>: Clique em um elemento para excluí-lo. Se excluir um nó, todas as arestas adjacentes serão também excluídas.</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">Principal</a></td><td class="nextCell"><a accesskey="n" href="scripting.html">Próxima</a></td></tr><tr><td class="prevCell">A interface do usuário do <span class="application">Rocs</span> </td><td class="upCell">A interface do usuário do <span class="application">Rocs</span></td><td class="nextCell"> Criação de scripts</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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">Principal</a></td><td class="nextCell"><a accesskey="n" href="user-interface-toolbar.html">Próxima</a></td></tr><tr><td class="prevCell">Tutorial </td><td class="upCell"> </td><td class="nextCell"> Barra de ferramentas do editor de grafos</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME><FILENAME filename="scripting.html"><html><head><title>Capítulo 3. Criação de scripts</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="Manual do Rocs"><link rel="up" href="index.html" title="Manual do Rocs"><link rel="prev" href="user-interface-toolbar.html" title="Barra de ferramentas 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"> Criação de scripts</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óxima</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. Criação de scripts</h1></div></div></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idm227"></a>Executando algoritmos no <span class="application">Rocs</span></h2></div></div></div><p>O <span class="application">Rocs</span> usa internamente o mecanismo JavaScript do QtScript. Isso significa que todos os algoritmos que implementarem deverão usar JavaScript. Nos seguintes pontos, explicaremos como acessar e modificar os elementos de um documento de grafo a partir do mecanismo de criação de scripts. É importante apontar que as alterações feitas pelo mecanismo de criação de scripts são diretamente refletidas nas propriedades dos elementos do editor de grafos. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm232"></a>Controle da execução dos scripts</h3></div></div></div><p>Existem diferentes modo de execução para 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 script até ele 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 script (só está disponível enquanto um script estiver em execução).</p></li></ul></div></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm248"></a>Resultado do programa</h3></div></div></div><p>Durante a execução de um algoritmo, o resultado do programa e da depuração é exibido no <span class="emphasis"><em>Resultado do script &amp; depuração</em></span>. Se o motor de script detecta um erro de sintaxe em seu script, o erro é também exibido como uma mensagem de depuração. Observe que todas as mensagens do programa são também exibidas na saída de depuração (exibida em texto em negrito). </p><p>Você pode controlar o texto que é exibido no resultado do script com as seguintes funções: </p><pre class="programlisting">Console.log(string mensagem);    // exibe a mensagem como resultado do script
    Console.debug(string mensagem);  // exibe a mensagem como resultado da depuração
    Console.error(string message);          // exibe a mensagem como resultado do erro
</pre></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm254"></a>API do mecanismo de criação de scripts</h3></div></div></div><p>Cada uma das diferentes partes do <span class="application">Rocs</span> oferece um elemento estático que pode ser acessado pelo mecanismo de criação de scripts. São elas: </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 a saída do registro do console</p></li></ul></div><p> Para uso explícito da API e para referência dos métodos, consulte 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">Principal</a></td><td class="nextCell"><a accesskey="n" href="import-export.html">Próxima</a></td></tr><tr><td class="prevCell">Barra de ferramentas do editor de grafos </td><td class="upCell"> </td><td class="nextCell"> Importar e exportar</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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="Manual do Rocs"><link rel="up" href="index.html" title="Manual do Rocs"><link rel="prev" href="scripting.html" title="Capítulo 3. Criação de scripts"><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óxima</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>Compartilhar projetos do <span class="application">Rocs</span></h2></div></div></div><p>Os projetos do <span class="application">Rocs</span> podem ser importados e exportados como arquivos <code class="literal">.tar.gz</code>. Estes arquivos podem ser usados para compartilhar projetos. A importação e exportação pode ser feita com o <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 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 grafo como</span></span>, respectivamente. </p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="import-export-graphs"></a>Importar e exportar documentos de grafo</h3></div></div></div><p>O <span class="application">Rocs</span> atualmente suporta a importação e exportação para os seguintes formatos de arquivos:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Arquivos DOT, também conhecidos como arquivos Graphviz</p></li><li class="listitem"><p>Arquivos GML</p></li><li class="listitem"><p>Arquivos no formato Trivial Graph</p></li><li class="listitem"><p>Formato de Linguagem de Formatação Keyhole</p></li></ul></div><div class="sect3"><div class="titlepage"><div><div><h4 class="title"><a name="format-specification-tgf"></a>Formato de Arquivo Trivial Graph</h4></div></div></div><p>O <span class="emphasis"><em>Formato Trivial Graph</em></span> (TGF, sigla em inglês) é um formato de arquivo simples baseado em texto para descrever gráficos. O arquivo TGF consiste de uma lista de definições de nó, o mapa de IDs dos nós para rótulos, seguido de uma lista de arestas. Neste formato, somente é possível ter um rótulo por nó e um valor por aresta. O <span class="application">Rocs</span> interpreta os gráficos importados como gráficos não direcionados. Os gráficos exportados conterão duas arestas por conexão se as conexões forem bidirecionais. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm300"></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 arquivo inicia com uma lista de nós (um nó por linha), seguida de uma linha com somente o caractere "#", seguida pela lista de arestas (uma aresta por linha).</p></li><li class="listitem"><p>Um nó consiste de um inteiro (identificador), seguido por um espaço, seguido por um string arbitrário.</p></li><li class="listitem"><p>Uma aresta consiste de dois inteiros (identificadores) separados por um espaço, seguida por um espaço, seguida por um string arbitrário. É considerado que a aresta aponta do primeiro para o segundo identificador.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm309"></a>Exemplo</h5></div></div></div><pre class="programlisting">1 nó inicial
2 transmissor
3 fundo
#
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>Linguagem DOT / Formato do Arquivo de Grafos do Graphviz</h4></div></div></div><p>DOT é uma linguagem descritiva em texto simples que permite tanto uma representação legível para os usuários dos grafos, assim como um processamento eficiente pelos programas de formatação de grafos. O DOT é o formato de arquivo padrão do pacote de visualização de grafos Graphviz, mas também é largamente usado por outras ferramentas de grafos. As extensões usuais para os nomes de arquivos da linguagem DOT são <span class="emphasis"><em>.gv</em></span> e <span class="emphasis"><em>.dot</em></span>. </p><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm317"></a>Funcionalidades não suportadas</h5></div></div></div><p>O <span class="application">Rocs</span> consegue processar todos os arquivos de grafos que tenham um grafo definido de acordo com a especificação da linguagem DOT<a href="#ftn.idm321" class="footnote" name="idm321"><sup class="footnote">[1]</sup></a>. O suporte das funcionalidades da linguagem é completo, apesar das seguintes exceções: </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>subgrafo: Devido à falta da funcionalidade do conceito de subgrafos no <span class="application">Rocs</span>, os subgrafos só são importados como um conjunto de elementos de dados e ligações. Especialmente, as ligações de e para subgrafos 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 contenham uma sintaxe em <acronym class="acronym">HTML</acronym> ou <acronym class="acronym">XML</acronym> são lidos sem qualquer alteração. Especialmente, não são lidos os ajustes de estilos e tipos de letra destes atributos.</p></li></ul></div></div><div class="sect4"><div class="titlepage"><div><div><h5 class="title"><a name="idm333"></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.idm321" class="footnote"><p><a href="#idm321" 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">Principal</a></td><td class="nextCell"><a accesskey="n" href="credits.html">Próxima</a></td></tr><tr><td class="prevCell">Criação de scripts </td><td class="upCell"> </td><td class="nextCell"> Créditos e Licença</td></tr></table></div><div id="footer_text"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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="Manual do Rocs"><link rel="up" href="index.html" title="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>Direitos autorais do programa:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Direitos autorais 2008 Ugo Sangiori (ugorox AT gmail.com)</p></li><li class="listitem"><p>Direitos autorais 2008-2012 Tomaz Canabrava (tcanabrava AT kde.org)</p></li><li class="listitem"><p>Direitos autorais 2008-2012 Wagner Reck (wagner.reck AT gmail.com)</p></li><li class="listitem"><p>Direitos autorais 2011-2015 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</p></li></ul></div><p>Direitos autorais da documentação:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>Direitos autorais da documentação 2009 <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>Direitos autorais da documentação 2009 Tomaz Canabrava (tcanabrava AT kde.org)</p></li><li class="listitem"><p>Direitos autorais da documentação 2011-2015 Andreas Cord-Landwehr (cordlandwehr AT kde.org)</p></li></ul></div><p>Tradução de Marcus Gama <code class="email">(marcus.gama AT gmail.com)</code> e André Marcelo Alvarenga <code class="email">(alvarenga AT kde.org)</code></p><p><a name="gnu-fdl"></a>Esta documentação é licenciada sob os termos da <a class="ulink" href="help:/kdoctools5-common/fdl-license.html" target="_top">Licença de Documentação Livre 
GNU</a>.</p><p>Este programa é licenciado sob os termos da <a class="ulink" href="help:/kdoctools5-common/gpl-translated.html" target="_top">Licença Pública Geral GNU</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">Principal</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"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></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óxima</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"><br><a href="mailto:kde-doc-english@kde.org" class="footer_email"></a></div></div></div></body></html></FILENAME>

Generated by dwww version 1.15 on Sat May 18 12:22:41 CEST 2024.