Só para constar

6 comentários
Quando algum comentário aparece como "excluído pelo autor" é porque a própria pessoa deletou e não eu. Acontece, que já me perguntaram se fui eu que excluí.

Arquivo .bat

1 comentários

English version at the following link:


enprogramminghome.blogspot.com

Um .bat é arquivo texto que podem ser inseridos comandos para serem rodados pelo interpretador do DOS (No Unix/Linux nunca testei um .bat). Quais comandos podemos inserir? Comandos padrões do DOS, nomes de arquivos (incluindo o caminho para diretórios diferentes) e conteúdo da variável path.

Exemplo:
Suponha que no diretório que você está trabalhando contém o arquivo Registro.java, que imprime na tela um registro qualquer, e queremos compila-lo, executá-lo, redericionarmos a saída para "sai.txt" e abrir este último arquivo. Ao invés de fazermos isso manualmente podemos criar o arquivo test.bat com o seguinte conteúdo:

javac Registro.java
java Registro > sai.txt
sai.txt

---FIM---Não incluir essa linha no arquivo

Quando clicarmos em test.bat ou roda-lo por linha de comando tudo será feito automaticamente!!
Isso implica em aumento de produtividade.
Podemos fazer isso para simular um executável de Java. Basta inserirmos no arquivo:
java NomeDaClasse

Não é uma solução que um .exe proporciona, mas é melhor do que ir no prompt e digitar o comando do interpretador.

Driblando a variável path do Windows

1 comentários
Uma técnica muito utilizada por programadores Windows para ganhar produtividade em programação é adicionar comandos de compilação e outros na variável path, para que seja possível executa-los em qualquer diretório.
Contudo, descobri um jeito mais fácil de fazer isso. No diretório c:\Windows\system32
estão todos os programas que rodam no prompt. Se você colar um arquivo executável neste diretório ele passa a ser reconhecido como comando do DOS!!!!
Entretanto, existe uma desvantagem, não é possível colar uma pasta inteira e pedir para que o DOS chame os executáveis desta pasta diretamente.
Isso responde algo que me perguntava antes. Os comandos do DOS estão organizados em lista ou árvore?
Resp: Lista

James Gosling

0 comentários
Esse é o cara da computação, um grande nome.
Sem dúvida nenhuma um artista.

O vídeo já fala por si só.
http://www.youtube.com/watch?v=XiOgCSi1jlg

Códigos atualizados

2 comentários
Bem pessoal,

Como prometi, atualizei nas postagens os códigos que estão no blog.

Abaixo, segue a lista de todos os códigos atualizados.

Grafo de Lista de Adjacência

Interface Graph

Métodos Utilitários de Busca em H.D

Algoritmo caçador de Links em páginas HTML

Teste para Jconsole

Worm consumidor de memória

Teste para Imutabilidade de Strings

Teste para comparação de Strings

Exemplo de operador de canalização em Java

Exemplo de operador de canalização em C++

Só faltou o de intercalação por chave ordenada, pois, eu acho que ele pode ser melhorado.

Se faltou algum código me avisem.

Obrigado a todos e desculpe aqueles que quiseram acessar algum código mas não conseguiram.

O que vocês acham de um material sobre Grafos?

4 comentários
Oi pessoal,

Estou pensando em montar um material contendo um estudo sobre Grafos. Acho que seria legal fazer isso devido a enorme aplicabilidade dessa estrutura em diversos problemas, além de muitos terem dificuldade nos algoritmos.

Além dos conceitos e estruturas computacionais de Grafos os algoritmos que pretendo colocar são:
- Busca em Largura (Bredth First Search)
- Busca em Profundidade (Depth First Search)
- Algoritmo de Árvore Mínima de Espalhamento (Spanning Tree)
- Algoritmo de Kruskal
- Algoritmo de Dijkstra (Esse é o de menor caminho, não do problema dos filósofos)
- Algoritmo de Vetor de Distâncias

Para cada um deles vou por análise e implementação em Java.

Se alguém tiver alguma crítica ou sugestão me avise por aqui ou no e-mail
caiobmar at gmail dot com (Escrevo e-mail em textos html nesse formato para que ele não seja detectado por programas maliciosos, at = "@" e dot = ".")

Não sejam tímidos, opinem!!!

Até mais!

Modelo de Software

3 comentários

Servidor de códigos

0 comentários
Olá a todos,

Para postar código-fonte eu estava usando o servidor http://paste.la/. Mas, descobri que ele apaga postagens antigas, assim, vários dos meus códigos já sumiram.

Então, estarei usando esse servidor http://phpfi.com/ e vamos ver se não acontece o mesmo problema.

Em breve, atualizarei todos os códigos. Só não faço isso agora por que estou com sono(exagerei hoje no almoço).

Quando bater uma vontade atualizo tudo.

Até mais!

USACO

0 comentários
A USACO (USA Computing Olympiad) possui um site de treinamento gratuito para quem deseja participar das olimpíadas de computação americanas.

http://ace.delos.com/usacogate

A idéia do site é show!!!
Inicialmente, é liberado um exercício de programação. Se você resolver, outros três são liberados e assim por diante. É como se passasse de fase.

Agora, vem a pergunta?? Como eles corrigem seus exercícios?
A entrada e a saída de cada programa é por arquivo e cada problema tem sua formatação específica para ambos. Quando acreditar na sua resolução você envia seu código e este será compilado e executado no servidor deles. São realizados 10 testes sobre seu algoritmo. Se algum teste falhar é mostrado na sua tela a falha e o exercício não é considerado correto.

Se tudo der certo eles liberam a solução deles, tipicamente em C.
As linguagens de programação permitadas são: Java, C/C++ e Pascal.

Abaixo, segue um screenshot da minha página. Como vocês podem ver eu não entro a um tempo e fiz poucos problemas, hehehehe.
Os exercícios são difíceis e podem tomar algumas horas.
Agora, decidi retoma-los.



Veja o que eles mesmo dizem sobre os problemas que apresentam para resolver:

"Hal Burch conducted an analysis over spring break of 1999 and made an amazing discovery: there are only 16 types of programming contest problems! Furthermore, the top several comprise almost 80% of the problems seen at the IOI. Here they are:

Dynamic Programming
Greedy
Complete Search
Flood Fill
Shortest Path
Recursive Search Techniques
Minimum Spanning Tree
Knapsack
Computational Geometry
Network Flow
Eulerian Path
Two-Dimensional Convex Hull
BigNums
Heuristic Search
Approximate Search
Ad Hoc Problems
The most challenging problems are Combination Problems which involve a loop (combinations, subsets, etc.) around one of the above algorithms - or even a loop of one algorithm with another inside it. These seem extraordinarily tricky to get right, even though conceptually they are ``obvious''.

If you can master solving just 40% of these problem types, you can almost guarantee a silver medal at the IOI. Mastering 80% moves you into the gold range almost for sure. Of course, `mastery' is a tough nut to crack! We'll be supplying a plethora of problems so that you can hone your skills in the quest for international fame."

O interessante é que desses 16 tipos problemas, especificamente 5 são de grafos:
- Shortest path (Caminho mais curto)
- Mininum Spanning Tree (Árvore Mínima de Espalhamento),
- Network Flow (Fluxo de rede de trabalho)
- Eulerian Path (Caminho Euleriano)

Ratings:

Avaliação deste artigo

Copyright © Programming @ home