Abr 27 2009

Netbeans 6.5.1, Espaçamento..

Opa,

Como disse no post anterior instalei o NetBeans agora a pouco. Ao executar o mesmo, criar um novo projeto e arquivo percebo que o espaçamento (line-spacing) do mesmo está muito grande. Para alterar o mesmo você deve fazer o seguinte:

Editar o arquivo: org-netbeans-modules-editor-settings-CustomPreferences.xml

$ pico org-netbeans-modules-editor-settings-CustomPreferences.xml

Este arquivo está encontrado no seguinte diretorio:

/home//.netbeans/6.5/config/Editors/Preferences

Caso o arquivo e o diretorio existam simplesmente adicione as seguintes linhas:

<entry javaType="java.lang.Float" name="line-height-correction"
xml:space="preserve">
<value><![CDATA[0.75]]></value>
</entry>

Se o mesmo não exista, provavelmente você terá que criar o diretorio Preferences:

$ mkdir Preferences
(se você estiver no /home//.netbeans/6.5/config/Editors)

$ cd Preferences

E crie o arquivo:

$ pico org-netbeans-modules-editor-settings-CustomPreferences.xml

Adicione o seguinte conteudo:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE editor-preferences PUBLIC "-//NetBeans//DTD Editor Preferences 1.0//EN" "http://www.netbeans.org/dtds/EditorPreferences-1_0.dtd">
<editor-preferences>
<entry javaType="java.lang.String" name="code-template-expand-key" xml:space="preserve">
<value><![CDATA[TAB]]></value>
</entry>
<entry javaType="java.lang.Float" name="line-height-correction" xml:space="preserve">
<value><![CDATA[0.75]]></value>
</entry>
</editor-preferences>

Salve, reinicie o netbeans e pronto.

Uma otima noite a todos,
Matheus

English Version

Fontes:
http://my.opera.com/Nobita2708/blog/show.dml/2914020
http://www.linux4all.net/how_to_change_line_height_in_netbeans_editor
http://www.cs.wcupa.edu/rkline/netbeans-lin.html
http://www.google.com.br/search?hl=pt-BR&q=line+spacing+ubuntu+netbeans&btnG=Pesquisar&meta=

PS: Isso não é simplesmente uma tradução, a idéia basica está postada, mas aqui foram adicionadas algumas informações.

Abr 27 2009

Ubuntu com Netbeans Java e C

Boa noite,

Hoje pretendia instalar o netbeans 6.5.1 no Ubuntu 64 bits, baixei a versão que eu queria (C/C++) no site do netbeans. Tentava instalar o netbeans com o comando:

$ ./netbeans-6.5.1-ml-cpp-linux.sh

(PS: Tornei o mesmo executavel antes, com o comando $ chmod +x netbeans-6.5.1-ml-cpp-linux.sh)

Recebia a seguinte resposta:

x-warrior@x-warrior-desktop:~/Desktop$ ./netbeans-6.5.1-ml-cpp-linux.sh
Configuring the installer...
Searching for JVM on the system...
Extracting installation data...
Running the installer wizard...
x-warrior@x-warrior-desktop:~/Desktop$

Porém a parte grafíca não acontecia. Fui olhar o log da seguinte maneira:

$ sh netbeans-6.5.1-ml-cpp-linux.sh --verbose --output out.txt

Analisando o arquivo out.txt pude ver o seguinte erro:

[2009-04-27 20:56:18.173]: at org.netbeans.installer.Installer.main(Installer.java:78)
[2009-04-27 20:56:18.174]: ... show message dialog
[2009-04-27 20:56:18.174]: title: Critical Error
[2009-04-27 20:56:18.174]: message: An unexpected exception happened in thread main
[2009-04-27 20:56:18.174]:
[2009-04-27 20:56:18.174]: Exception:
[2009-04-27 20:56:18.174]: java.lang.NoClassDefFoundError:
[2009-04-27 20:56:18.175]: Could not initialize class java.awt.Toolkit

Infelizmente não sabia como corrigi-lo. Pesquisei um pouco e não achei nada que funcionasse. Então tive a brilhante idéia de instalar pelo synaptic. Instalei o netbeans que estava lá, tudo ocorreu normalmente. Executei o mesmo e fui criar um novo projeto, me deparo que a versão instalada era a para Java. Me decepcionei, afinal precisava mesmo da versão para C/C++. Quando fiz a instalação pelo synaptic percebi que existiam muitas dependencias, tentei instalar novamente a versão para C e vua-la. Consegui instalar a mesma. (Meio na gambiarra eu sei, afinal fiquei com 2 versões de netbeans uma para C e outra para Java, mas sem problemas já que eu utilizo as duas.)

Então caso você queira instalar a versão para C/C++, instale a versão de Java, ou suas dependencias somente e em seguida instale o para C/C++ que tudo vai ocorrer bem.

Ah, para um melhor entendimento editei o menu (Botao direito sobre Applications - edit menu), ele é muito intuitivo então não vou entrar em mais detalhes. Mas no mesmo editei os Netbeans 6.5 e 6.5.1 para Netbeans 6.5 (Java) e Netbeans 6.5.1 (C/C++). Assim não corro o problema de esquecer e abrir a versão errada perdendo tempo.

Espero que essa gambiarra dica ajude vocês.

Abraços,
Matheus

PS: Se alguem tiver a solução decente para conseguir instalar o Netbeans me avise que eu posto aqui. Ou caso eu descubra, postarei também.

Abr 25 2009

Lista, Estrutura de dados

Boa tarde,

Como estou tendo aula de estrutura de dados estou tentando colocar aqui, alguns dos conceitos que aprendemos em sala, junto ao seu exercicio e uma implementação de um exercicio (desenvolvido rapidamente, muitas vezes). A estrutura apresentada hoje é Lista, uma estrutura de dados linear. Existe também a lista ligada, ou encadeada que também é conhecida por linear e dinamica (fica pra outro post) e a lista duplamente ligada, ou duplamente encadeada (fica pra outro post também). A pilha e a fila são implementações especiais de listas. A Lista, não possue restrições como suas implementações especiais, e pode receber elementos em qualquer posição, remover de qualquer posição, remover especifico, adicionar em ordem entre outras.

O enunciado do exercicio que foi proposto para lista é o seguinte:

1. Crie o seu tipo de dados tLista em um headerfile;
2. esta deverá ser uma lista de elementos do tipo tAgenda;
3. O tipo tAgenda é um tipo que representa um nome de 30 posições e um número de telefone;
4. crie uma função maior(a,b) que compare os nomes de duas entradas;
5. programe todas as funções documentando cada função, inclusive com dicionário de dados;
6. crie um programa principal que execute todas as funções de lista a partir de um menu. A função procurar específico deverá basear-se no nome em uma Agenda;
7. além dessas funções, o programa deverá ser capaz de listar a lista em ordem alfabética.

Resolução do mesmo aqui.

Até mais,
Matheus

Abr 15 2009

Fila, Estrutura de dados

Boa Noite,

Como estou tendo aula de estrutura de dados estou tentando colocar aqui, alguns dos conceitos que aprendemos em sala, junto ao seu exercicio e uma implementação de um exercicio (desenvolvido rapidamente, muitas vezes). A estrutura apresentada hoje é Fila, uma estrutura de dados baseada no principio FIFO (first in, first out) ou seja, primeiro a entrar é o primeiro a sair. Ela, como a pilha possui duas funções básicas, que é adiciona e remove. Uma adicionando no fim, como uma fila (sem furos, é claro!) e a outra retirando do inicio.

Já faz alguns dias que resolvemos esse exercicio e pra ser sincero não tenho certeza se estou postando a ultima versão que tenho do mesmo, mas acredito que sim. O enunciado do exercicio resolvido foi o seguinte:

* Implemente todas as operações vistas sobre fila;
* implemente um programa principal que utilize a fila através de um menu com os seguintes itens: enfileirar, desenfileirar, limpar, mostrar fila, sair do programa. Use a estrutura de programação switch do "C" para isto;
* a fila possuirá tamanho máximo 100, definido como uma constante chamada MAXFILA. Utilize esta constante para a definição da estrutura de dados que será a fila;
* a fila será referenciada por uma variável global;
* para implementar a estrutura de dados defina um tipo elementoDaFila que será char[40] e defina a sua fila como um vetor de 100 elementoDaFila .

Aqui está a implementação da mesma que acredito ser a ultima.

Abraços,
Matheus

PS: Com o tempo eu pretendo (não sei se consigo) fazer algumas mudanças nas mesmas assim que for aprendendo novas tecnicas e conceitos relacionados ao assunto, mas como a faculdade ta muito corrida não sei se vai ser possivel.

Abr 02 2009

Pilha, Estrutura de dados.

Boa Noite,

Hoje vou ensinar um conceito bem básico de estrutura de dados, que vimos a algumas aulas atrás. PILHA, é uma estrutura de dados abstratos amplamente utilizada na informatica e é baseada no principio LIFO (Last in, first out), ou seja ultimo a entrar, primeiro a sair. Ela possue 2 funções que todas devem possuir, push (adicionar) e pop (remover), outros metodos que podem existir, podem ser considerados como privados, pois só mechem na estrutura interna da pilha.

O enunciado do exercicio que tivemos que resolver foi o seguinte:

* Implemente todas as operações vistas sobre pilha;
* implemente um programa principal que utilize a pilha através de um menu com os seguintes itens: empilhar, desempilhar, limpar, mostrar pilha, sair do programa. Use a estrutura de programação switch do "C" para isto;
* ao mostrar a pilha, o programa deve colocar embaixo de cada dado, a sua posição no vetor. Utilize as opções de definição de tamanho de campo de impressão do printf() para isto;
* a pilha possuirá tamanho máximo 30, definido como uma constante chamada MAXPILHA. Utilize esta constante para a definição da estrutura de dados que será a pilha;
* a pilha será referenciada por uma variável global.

Aqui está a primeira implementação que fizemos.

Abraços,
Matheus

PS: Com o tempo vou postar reformulações desse exercicio e os novos codigos desenvolvidos.

Mar 08 2009

Telis, aprendendo a programar.

Hoje irei apresentar uma linguagem de programação que o professor Fernando (Melga) utiliza em suas aulas.

Telis é uma linguagem de programação como muitas outras, porém ela tem suas vantagens para iniciantes, os seus comandos são em sua grande maioria em portugues e indicam explicitamente o que fazem. Ela também inclui um suporte grafico simples de se utilizar, tornando assim o aprendizado mais interessante (console é muito chato para alguns). Com ela, é possivel publicar na internet gratuitamente os programas criados, o laboratorio de Software Educacional - Edugraf, que foi quem desenvolveu esta linguagem disponibiliza em seus servidores um local para a publicação e no ambiente de desenvolvimento você consegue envia-la para os servidos com alguns cliques. Como a publicação é possivel, existe um lugar concentrado onde estão guardados muitos dos programas já escritos em telis, tornando assim a pesquisa para exemplos simples. O laboratorio disponibiliza uma lista de e-mails onde podem ser retirada duvidas e discutido diversos topicos relacionados a linguagem. Na minha opinião esta linguagem tem por função ensinar conceitos basicos de programação e uns não tão básicos de maneira simples e agradavel.

Um exemplo interessante realizado no inicio do aprendizado
Site da linguagem
Programas publicados
Lista de discussão telis

Ah, já ia me esquecendo uma das coisas mais importante, telis é software livre. Use, altere-o, distribua-o como você bem entender.

Até a proxima,
Matheus