Ajuda do Site: Phylos.net

Glossário do Sage

Arquivo de script Um arquivo de script é um arquivo de texto puro contendo uma coleção de comandos a serem executados na ordem em que se encontram. Para o Sage os arquivos devem ter as extensões .sage, .py ou .pyx. Para gravar arquivos de script use um editor que permita a gravação de arquivos ASCII puro, que não inclua caracteres especiais de formatação. No Windows se pode usar o Notepad. Para o existem Bluefish ou Geany, entre muitos outros. É importante observar que existem editores especialmente dedicados à construção de scripts ou programas, com capacidade de demarcar a sintaxe, prover indentação apropriada e até completar comandos e oferecer opções para auto-completação.

Fechar Glossário

Booleano Lógica booleana é um sistema completo de operações lógicas, nomeadas em homenagem ao matemático George Boole, que primeiro descreveu estes sistemas algébricos no século XIX. A lógica booleana encontra aplicação imediata nos sistemas de computação eletrônicos, sendo a base de toda a eletrônica digital moderna. Este sistemas eletrônicos implementam de forma natural as operações lógicas AND, OR e NOT, entre outras.

Basicamente os circuitos eletrônicos transformam números inteiros em sua forma binária (no sistema de base 2) e realizam as operações matemáticas, tais como adição e multiplicação, usando as operações lógicas. Caracteres e sua manipulação são realizados da mesma forma, com os caracteres sendo transformados em números de acordo com tabelas preestabelecidas (por exemplo a tabela ASCII).

A variáveis boolenas podem assumir apenas dois valores: True (verdade ou 1) ou False (falso ou 0). Em termos dos circuitos o estado True pode ser representado por uma chave ligada ou, por exemplo, um pequeno setor de um disco rígido magnetizado. O estado False corresponde ao estado desligado. Os operadores lógicos AND (E), OR (OU), XOR (ou exclusivo) e NOT (negação) podem ser usados em testes envolvendo variáveis booleanas e satisfazem a seguinte tabela (onde usamos 1 = True; 0 = False).

  
  1 AND 1 = 1     1 OR 1 = 1     1 XOR 1 = 0     NOT 1 = 0  
  1 AND 0 = 0     1 OR 0 = 1     1 XOR 0 = 1     NOT 0 = 1  
  0 AND 1 = 0     0 OR 1 = 1     0 XOR 1 = 1       
  0 AND 0 = 0     0 OR 0 = 0     0 XOR 0 = 0     

A figura mostra como circuitos XOR e AND podem realizar uma soma de dois números de 1 bit.

Fechar Glossário

Browser Browser é um programa instalado no computador do usuário (um programa cliente) capaz de acessar e interagir com outros computadores denominados servidores, onde a informação está armazenada. Em geral os servidores estão conectados na rede Mundial (World Wide Web) mas podem também constituir uma rede local ou mesmo ser apenas o próprio computador do usuário.

Os browsers mais usados (em 2010) são o Internet Explorer, Firefox, Google Chrome, Opera e Safari (no Mac).

Fechar Glossário

Default Na computação um default se refere a valores ajustados automaticamente em um programa ou componente de hardware, sem a intervençao do usuário, tais como cores da interface, tipo de fonte ou caracter, etc. Geralmente o usuário pode alterar estes valores para personalizar o software ou equipamento.

Em Python/Sage uma função pode ser definida com parâmetros default. Por exemplo, a função definida como def f(x=1) ao ser chamada sem parâmetro ou argumento avalia f(1).

Fechar Glossário

Programação orientada a objetos (POO): Classes, Objetos, Propriedades e Métodos

A POO é um paradigma de programação que se popularizou a partir da década de 1990 que consiste em tratar os dados em um programa como objetos. Um objeto é uma generalização de um tipo de dados, tais como strings, arrays ou filas ou inteiros, dotados de funções e procedimentos. Eles possuem propriedades, atributos tais como um valor ou uma descrição textual, e métodos, funções executadas pelo objeto, tais como alterar alguma propriedade ou imprimí-la. Na linguagem Python todos os tipos da dados são objetos.

Na POO o elemento básico é formado pelas Classes, um tipo de dados embutido na linguagem ou criados pelo usuário e que define as propriedades abstratas de uma entidade qualquer que se deseja tratar e que inclui propriedades (valores) e métodos (funções que o objeto pode executar). Dentro de um programa um objeto é criado como a imagem ou uma instância da classe a que pertence. Ao ser criado o objeto já possui as propriedades de sua classe, o que se denomina herança. Ele pode manter exatamente as propriedades da classe abstrata ou modificá-las. Objetos admitem o encapsulamento, ou seja, a característica de que suas propriedades e procedimentos internos não precisam ser conhecidos ou acessáveis por partes externas do programa, exceto aquelas especificamente destinadas a este fim.


Um exemplo em Python/Sage: O primeiro quadro contém o código gravado em arquivo classe.py. O segundo mostra linhas de execução no prompt interativo de Sage.

# classe.py
class Multiplicador:
       def __init__(self, num):
              self.numero = num
       def multiplicar_por(self, x):
              print self.numero * x
sage: load "classe.py"
sage: q = Multiplicador(10)
sage: q.numero
10
sage: q.multiplicar_por(5)
50

A classe Multiplicador é definida com a propriedade número e método multiplicar_por, que toma o argumento, multiplica por numero e exibe o resultado. O método _init_ (que faz parte da linguagem) é executado na criação de uma instância da classe, por exemplo q, que atribui seu argumento num à q.numero. q também possui o método q.multiplicar_por.

Métodos e propriedades são acessados pela sintaxe objeto.metodo e objeto.propriedade.

Fechar Glossário

Python Python é uma linguagem de programação de alto nível, livre e de código aberto, criada pelo matemático Van Rossum e desenvolvida atualmente por uma vasta comunidade de colabores. Seu propósito é o de fornecer uma opção de linguagem poderosa e com sintaxe clara e de fácil aprendizado, voltada para a programação orientada a objetos mas permitindo o desenvolvimento sob outros paradigmas.

O uso de Python como linguagem de script (em servidores web para gerenciamento de páginas na internet) é bastante difundido mas não exclusivo. Ele é também usado para a construção de software executado localmente e tem sido adotado por instituições de ensino e pesquisa. A instalação de Python inclui diversas bibliotecas que podem ser diretamente vinculadas aos projetos e a comunidade disponibiliza grande volume de pacotes que podem ser incorporados, de acordo com a necessidade de uso. A literatura disponível sobre uso de Python em aplicações científicas também é bastante abrangente e de fácil acesso. Para maiores informações e download do software visite Python Homepage.

Temos neste site um curso sobre a linguagem Phyton.

Fechar Glossário

Software livre e de código aberto Softwares livres e de código aberto (Free and Open Source Softwares) são programas e aplicativos de computadores desenvolvidos por um grupo de pessoas interessadas em elaborar e aperfeiçoar um software de forma coletiva, cooperativa e não restrita à licenças e copyrights comerciais. Esta iniciativa busca apresentar uma alternativa aos produtos de grandes empresas desenvolvedoras que comercializam software cujo código (a programação interna do programa) não pode ser alterado e é, em geral, desconhecido do usuário.

No caso de Sage um debate tem sido proposto sobre a validade da apresentação de artigos e trabalhos matemáticos e em áreas correlatas que dependem fortemente de software proprietário, onde não se pode verificar o código envolvido e suas implementações de algorítimos.

Um programa de código aberto deve garantir:

  • Livre distribuição, sem restrição à venda ou distribuição gratuita, de forma independente ou como componente de outro programa.
  • Código aberto: O programa deve incluir seu código fonte e permitir a sua distribuição na forma compilada. Se a distribuição não incluir o código fonte ele deve ser disponibilizado gratuitamente ou com custo apenas de reprodução.
  • Trabalhos Derivados: A licença deve permitir alterações na código fonte e sua consequente distribuição sob os mesmos termos da licença original.
  • Integridade do código fonte original: A licença pode restringir a liberdade de distribuição do código fonte modificado, permitindo apenas a distribuição de arquivos patch (de atualização) devidamente identificados como tais. A licença pode requerer que programas derivados tenham nome ou número de versão diferente do programa original.
  • Não discriminação contra pessoas ou grupos: A licença não pode conter qualquer discriminação contra pessoa ou grupos. Ela também não pode discriminar a área de atuação onde será usado o programa.
  • A licença não pode limitar o uso de outros programas em conjunto com este software. Ela não pode, por exemplo, impedir que o software seja distribuído e usado em conjunto com programas proprietários.
  • A licença deve ser neutra em relação a tecnologia, sem estabelecer uma tecnologia individual, estilo ou interface a ser aplicada no programa.

Para saber mais sobre o assunto consulte as páginas da Open Source Initiative e da Free Software Foundation.
Outros (bons) exemplos de softwares livres e de código aberto, entre muitos outros, são: Ubuntu, sistema operacional GNU/Linux, basedo no Debian, Gimp, editor de imagens, TeXmacs, editor de texto matemático e científico, Open Office, editor de textos, planilha, banco de dados e apresentações, Firefox e Thunderbird, browser e cliente de emails, Amaya, o editor de html e css da W3C (World Wide Web Consortium) Eclipse, uma IDE para programação em Java e várias outras linguagens de programação, e, naturalmente, Python e Sage.

Fechar Glossário

Ubuntu Ubuntu é um sistema operacional totalmente livre e de código aberto (free, open source), construído em torno do núcleo do GNU/Linux. A iniciativa de manutenção do Ubuntu está baseada sobre os ideais de que um software deve ser disponível gratuitamente, que ferramentas de software devem poder ser usadas pelas pessoas em seu idioma local e independentemente de suas eventuais deficiências, e que as pessoas devem ter a liberdade de personalizar e alterar o software da forma que melhor lhes for conveniente.

Ubuntu é desenvolvido pela empresa Canonic, que apresenta as seguintes propostas e metas:

Ubuntu será sempre gratuito e incluirá as melhores traduções e ferramentas de acessibilidade que a comunidade desenvolvedora tem a oferecer para tornar seu uso acessível ao maior número possível de pessoas.

Ubuntu é lançado periodicamente e de modo previsível. Uma nova versão é lançada a cada seis meses. O usuário pode usar a versão estável atual ou a versão de desenvolvimento. Cada versão recebe suporte por 18 meses, pelo menos.

Ubuntu é totalmente comprometido com os princípios de desenvolvimento de software livre e de código aberto, estimulando as pessoas a usarem software livre, a contribuirem com seu desenvolvimento e com sua divulgação.

Visite o site de Ubuntu.

Fechar Glossário

Worksheet Worksheet é a área ou página de trabalho de Sage quando aberto no modo Notebook. Worksheets são discutidas na Seção 3.

Fechar Glossário