Blog

Plantar um livro, ter uma árvore, escrever um filho…

Escrita
Escrita de textos científicos.

Introdução

Já ouvi por aí quem compare escrever uma tese de doutorado a ter um filho. Isso seria o maior tempo de gestação existente (4 anos) já que a salamandra alpina – maior tempo de gestação animal conhecido – leva de 2 a 3 anos dependendo da temperatura [fonte].

Bom, quem já entrou ou pretende entrar para a pós graduação deve saber que dependendo do rigor da instituição, esse processo de escrita pode se tornar realmente bastante difícil. Por isso reuni nesse post alguns links com dicas úteis de organização textual e de formatação para ajudar no processo de desenvolvimento de uma tese.

Dicas para organização textual da tese

Para começar gostaria de indicar duas páginas brasileiras que tratam de assuntos da pós-graduação em geral, não somente do texto, de formas diferentes:

  • Pós-graduando: aborda de forma divertida problemas cotidianos da pós-graduação. Tem alguns posts realmente muito úteis que indico, como os que estão dentro do menu iniciantes. (Incluindo um específico sobre escrita de tese aqui!) Vale a pena ler!
  • Ciência Prática: conheci essa página recentemente e achei muito interessante também pois como o próprio nome diz, a ideia é abordar questões relacionadas a carreira científica de forma bastante prática. Contém várias dicas de organização textual!

(Sem fugir do assunto) Fugindo um pouco do assunto, para descontrair indico a página americana Phd Comics que contém tirinhas como essa:

Como escrever sua tese em 10 minutos.
Como escrever sua tese com 10 minutos por dia 🙂

Como disse antes, essa página é para descontrair mesmo porque todo mundo que está fazendo pós precisa desses momentos! Alguém discorda??? O.o

Bom, mais links para ajudar a organizar sua tese seguem abaixo:

Material da Universidade Harvard:

http://www.eecs.harvard.edu/~htk/thesis.htm

Dicas da Universidade de Columbia:

http://www.ldeo.columbia.edu/~martins/sen_sem/thesis_org.html

Dicas da Universidade de Yale:

http://www.yale.edu/graduateschool/writing/forms/Writing%20Theses%20and%20Dissertations.pdf

Dicas da Universidade South Wales (Tem versões em espanhol, francês e italiano):

http://www.phys.unsw.edu.au/~jw/thesis.html

Dicas para formatação da tese

Para a formatação do texto, procure seguir as normas adotadas pela sua instituição! As instituições de ensino geralmente oferecem um modelo de teses/dissertações que deve ser seguido para ser publicado e arquivado na biblioteca. Procure conversar com seu orientador(a) e se preciso recorra à biblioteca da sua instituição para confirmar o modelo que deve ser adotado.

A tendência é que as instituições brasileiras adotem as normas da ABNT (Associação Brasileira de Normas Técnicas) mas, como existem alguns detalhes que esse orgão não especifica, cada instituição possui a liberdade de escolher o seu.

Os modelos podem estar disponíveis tanto como um documento do MS Word como também como um documento LaTeX. Recomendo fortemente o investimento no aprendizado do LaTeX para quem tem acesso aos modelos nesse formato pois realmente depois que se aprende a utilizar esse ambiente de processamento de texto, todos os outros parecem ultrapassados.

Mais informações sobre LaTeX aqui.

Qualquer dúvida ou sugestão de material por favor deixe um comentário!

Até mais!

Algoritmos no LaTeX em Português

LaTeX
LaTeX. Fonte: http://latex-project.org

Pacotes

Caso esteja se perguntando “como colocar algoritmos na minha monografia, dissertação, tese feita em LaTeX em português”? Calma que é simples! 😀

Existem alguns pacotes para facilitar a vida de quem precisa listar algoritmos no meio do texto ( como por exemplo: algorithm e algoritmic). No entanto, geralmente os comandos estão em inglês.
Para utilizar os comandos em  português, recomendo incluir o pacote Algorithm2e.sty ao seu documento LaTeX (pode clicar aqui para baixar e mande salvar na mesma pasta que está seu texto, se quiser uma solução rápida).

Pode incluir desse jeito lá no início do documento passando entre as opções a palavra “portugues” (sem acento!):

\usepackage[portugues,ruled,lined]{algorithm2e}

Obs: inclusão de pacotes é feita depois da definição da classe (\documentclass[opcoes]{nomedaclasse} e antes do início do documento \begin{document})

Inclua também o pacote algorithmic citado acima que é utilizado junto ao algorithm2e.

\usepackage{algorithmic}

Feito isso, no local que quiser incluir a listagem com o algoritmo, escreva o código que quiser (existem comandos pré-definidos olhe mais abaixo nesse post) dentro do ambiente “algorithm” usando comandos já em português graças ao algorithm2e.

Segue um exemplo:

\begin{algorithm}[H]
\Entrada{o proprio texto}
\Saida{como escrever algoritmos com \LaTeX2e }
\Inicio{
inicializa\c{c}\~ao\;
\Repita{fim do texto}{
leia o atual\;
\uIf{entendeu}{
vá para o próximo\;
próximo se torna o atual\;}
\Else{volte ao início da seção\;}
}
}
\caption{Como escrever algoritmos no \LaTeX2e}
\end{algorithm}

O código acima gera a seguinte listagem de algoritmo no documento:

Algoritmo

Na versão que baixei do arquivo Algorithm2e.sty  tive um problema justamente com o trecho que define os nomes em português. Parece que os parâmetros estavam desatualizados. Mas só tive que substituir os parâmetros e funcionou perfeitamente!

Abra o arquivo Algorithm2e.sty e procure por “declareoption” (está na parte inicial do pacote).

Basta substituir o texto abaixo onde tiver a opção “\DeclareOption{portugues}”:


\DeclareOption{portugues}{%
 \renewcommand{\listalgorithmcfname}{Lista de Algoritmos}%
 \renewcommand{\algorithmcfname}{Algoritmo}%
 \renewcommand{\algocf@typo}{}%
 \renewcommand{\@algocf@procname}{Procedimento}
 \renewcommand{\@algocf@funcname}{Fun\c{c}\~{a}o}
 }

Substituindo esse trecho no arquivo Algorithm2e.sty garanto que resolve!

Comandos

Para saber quais são os comandos possíveis basta olhar no arquivo algorithm2e.sty mas se não tiver tanta intimidade com código LaTeX, vou dar uma colher de chá. Os comandos em português que podem ser utilizados para montar seu algoritmo são:

  • \Inicio
  • \Entrada
  • \Saida
  • \Dados
  • \Resultado
  • \Ate
  • \Retorna
  • \Repita

Agora é só escrever seus próprios algoritmos!

Qualquer dúvida ou sugestão deixe um comentário!

ATENÇÃO: Existem comandos atualizados nos comentários abaixo! Muito obrigada pelas colaborações!

Referências (em inglês):

O que é o LaTeXhttp://latex-project.org/intro.html

Blog bem completo com dicas sobre LaTeX: http://texblog.org/

Link para Algorithm2e.sty: http://tug.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/tex/algorithm2e.sty

Sempre a wikipedia! http://en.wikibooks.org/wiki/LaTeX/Algorithms_and_Pseudocode

Mais exemplos: http://www.math-linux.com/latex-26/faq/latex-faq/How-to-write-algorithm-and

Bibliotecas em C

Assunto que gera dúvidas para quem está aprendendo a programar em qualquer linguagem é o uso das Bibliotecas. Neste post pretendo dar uma ideia do que são e como usar as principais bibliotecas da linguagem de programação C.

Biblioteca
Biblioteca Nacional Austríaca (fonte)

O que são Bibliotecas?

Para exibir uma mensagem na tela, ao invés de programar uma função inteira que faça isso para mim, basta que eu importe um arquivo que já contém essa função pronta -> A Biblioteca!

Uma Biblioteca é um arquivo com determinadas funções programadas que está separada em duas partes: um arquivo de cabeçalho e um arquivo com o código-fonte.

  • O arquivo de cabeçalho: é indicado pela extensão .h (vem de header que é cabeçalho em inglês) e contém informações sobre a biblioteca que os programas que a utilizam precisam saber. Em geral, o arquivo de cabeçalho contém constantes e tipos, junto com protótipos de funções disponíveis na biblioteca.
  • O arquivo de código-fonte: possui a implementação das funções propriamente ditas. É como um código normal em C sem o programa principal. Apresenta apenas um conjunto de funções programadas que serão aproveitadas em outros programas.

Como funcionam?

Voltando ao exemplo anterior, para que eu consiga mostrar uma mensagem na tela basta que eu importe uma biblioteca de I/O (Input/Output ou Entrada/saída) para utilizar a função de impressão que a biblioteca oferece.

Programando em C, a biblioteca que oferece essas funções é a stdio.h (acrônimo de standard input/output -> padrão de entrada/saída) que contém entre outras funções, a função de impressão printf. Para importar essa biblioteca, basta escrever no início do programa em C o seguinte:

#include <stdio.h>

Quando for compilar, o compilador vai buscar nessa biblioteca a função para saber como utilizá-la. Obs: se precisar incluir outra(s) biblioteca(s), basta escrever outro(s) comando(s) #include, um abaixo do outro no início do programa em C, por exemplo:

#include <biblioteca_1>

#include <biblioteca_2>

#include <biblioteca_3>

E no local que quero imprimir o texto na tela no meu programa, uso diretamente a função printf seguindo as regras de sintaxe:

printf(“expressao”, argumentos);

Com isso, todas as vezes que precisar imprimir algo na tela basta chamar a função modificando apenas os parâmetros. As bibliotecas surgem dessa necessidade de utilização contínua do mesmo padrão de operações. Ao invés de repetir várias vezes o mesmo conjunto de instruções para realizar ações muito parecidas em locais diferentes, posso usar uma mesma função pronta apenas passando parâmetros diferentes para ela. Usamos aqui o conceito de reutilização de código!


Obs:
O caracter “#” (em inglês: sharp e em português: cerquilha ou tralha) no inicio da linha indica que haverá um pré-processamento (o que é isso? quer dizer que mesmo antes de compilar o programa, os parâmetros necessários para ser criado o arquivo executável serão conhecidos). Lembrando que a inclusão de bibliotecas que iremos utilizar no nosso código deve ser feita sempre no início da programação!


Quais são as principais?

Existem várias bibliotecas e, aquelas que oferecem funções básicas (como por exemplo a stdio) são muito mais utilizadas do que outras. Segue uma pequena (pequena mesmo!) lista de bibliotecas com suas principais funções:

stdlib.h

  • Esta biblioteca é a responsável por conversões de números, alocação na memória e outras tarefas! Com ela podemos: converter um char em um double, converte um char para long, criar um número randômico (aleatório), alocar na memoria, realocar na memória, desalocar da memória, execução de comandos do sistema operacional Respectivamente, as funções citadas são:atof, atol, rand, malloc, realloc, free e system…Também não posso deixar de citar que ela retorna o valor absoluto de um número inteiro usando abs.

stdio.h

  • Esta biblioteca é a responsável pela entrada e saída padrão. Nela, encontramos funções para leitura do teclado, escrita formatada ou não na tela e operações com arquivos. Algumas funções dessas bibliotecas:fprintf, printf, fscanf, scanf, getchar, putc, getc, fopen, fclose…

math.h

  • Esta biblioteca declara funções matemáticas que podem servir para: achar a raiz quadrada, achar o seno, co-seno, tangente, logaritmo na base 10. As funções respectivas são:sqrt, sin, cos, tan, log10.Fora isso, um outro uso para declaração desta biblioteca é a possibilidade de arredondar um número! Para isso usamos a função que retorna o valor absoluto: fabs.

Como disse, essas são apenas algumas bibliotecas e suas funções. Agora que sabemos como utilizar basta pesquisar quais possuem as funções que precisamos e qual a sintaxe para chamar a função!

Outras Fontes:

Principais Bibliotecas em C: Celso Masotti, INED

Biblioteca stdio.h: Quaddro

Criação de bibliotecas: HowStuffWorks

Excelente referência sobre C/C++ online: http://www.cplusplus.com (em inglês)

Para tirar dúvidas ou dar sugestões deixem comentários!

Tutorial de Instalação do CodeBlocks no Windows

CodeBlocks é a IDE utilizada no curso de Laboratório de Programação I.
Para instalação no Windows, abra a página http://www.codeblocks.org/ e clique em Downloads.
Dentre as opções escolha a que tiver Binarie Release. Abrirá uma página como essa:
codeblocks
Role a tela para baixo e escolha uma versão para Windows que contenha “…mingw_setup.exe” no nome, o que indica que instalará também o pacote MingW (que é uma versão para Windows da coleção de compiladores GNU – GCC). Instale essa versão para poder compilar os programas. Existem duas opções de Download (Berlios ou SourceForge) e tanto faz a escolha.
codeblocks
Ao concluir o download, abra o arquivo e clique em “Next”.
codeblocks
Na tela seguinte clique em “I Agree” para concordar com os termos.
codeblocks
Continue clicando em “Next”.
codeblocks
Clique em “Install”.
codeblocks
Aparecerá uma mensagem perguntando se gostaria de rodar o CodeBlocks. Clique em “Sim”.
codeblocks
Certifique-se de que o compilador foi detectado e clique em “Ok”.
codeblocks
O CodeBlocks abrirá e, se mostrar uma dica pode clicar em “Close” para fechar.
codeblocks

A partir desse momento poderá utilizar o CodeBlocks para criar seus projetos em C!

Caso tenham dúvidas, mais links sobre instalação e configuração do CodeBlocks no Windows:
Para quem está familiarizado com o Linux segue um link para instalaçao de CodeBlocks no Ubuntu:
Ou deixe um comentário abaixo.

Tutorial – Instalar Dropbox Fedora (integrado ao Nautilus)

Supondo que já tenha uma conta criada no Dropbox (se não tiver vá até a página e crie) abra o terminal e se torne super usuário:
   $su
     (e dessa vez lembre a senha…)
Enfim, para uma instalação automatizada do dropbox, que funcionou em Jan/2013, cole o texto abaixo em um arquivo e salve.
#! /bin/bash
# This software installation script is for Fedora 15 (32-bit/64-bit)
# It configures Dropbox yum repository and install Dropbox

#ensure that wget is installed
yum install -y wget

#Addition yum repo file from Dropbox 
wget http://dl.dropbox.com/u/30876345/repo/dropbox.repo 
mv dropbox.repo /etc/yum.repos.d

#Install Dropbox
yum install -y nautilus-dropbox

echo "You need to activate the dropbox program to configure a user account. 
The program is under Applications >> Internet >> Dropbox"
Dê permissão para executar o arquivo:$sudo chmod +x <nome_do_script>E execute o script:$./<nome_do_script>Para concluir a instalação, precisa ainda do seguinte comando:

$ dropbox start -i

Daí vai aparecer uma tela para fazer login na conta e configurar a pasta local do Dropbox.
E depois que estiver instalado, configure nas preferências para iniciar quando ligar o sistema.
Ou se preferir pode simplesmente iniciar o dropbox pelo terminal:

$ dropbox start

É esperado que depois desses passos a pasta local do Dropbox esteja sincronizando os arquivos e mostre os ícones acima de cada subpasta ou arquivo que tenha.

Mais informação nos links abaixo:

http://technozeal.wordpress.com/2011/06/03/install-dropbox-in-fedora-15-lovelock/
http://pt.wikipedia.org/wiki/Dropbox
http://linuxbestchoice.wordpress.com/2010/05/11/dropbox-no-linux/
Caso tenha alguma dúvida ou algo a acrescentar, deixe um comentário: