Arquivo da Categoria: A Programar

Artigos da secção “A Programar”.

Programação de aplicações cliente/servidor assentes no protocolo de transporte UDP

A pilha protocolar TCP/IP

A pilha protocolar TCP/IP é considerada o standard de facto na área das comunicações informáticas, sendo praticamente obrigatório o seu uso em aplicações distribuídas. A referida pilha tem mecanismos próprios que possibilitam o envio, encaminhamento e receção de dados entre duas ou mais entidades comunicantes. Um dos elementos chaves da pilha TCP/ IP é o endereço IP que identifica um sistema computacional. Atualmente, existem dois tipos de endereços IP: IPv4 e IPv6. O IPv4 assenta em endereços de 32 bits (4 octetos), sendo comum a sua representação através de 4 números inteiros separados por ponto. Por exemplo, 192.168.120.12 é um endereço IPv4. O crescimento exponencial da internet tornou necessária a criação de um espaço de endereçamento alternativo, com capacidade para um maior número de endereços IP: o IPv6. Neste protocolo, cada endereço IP é composto por 128 bits (16 octetos). Exemplos de endereço IPv6 são 2001:0db8:85a3:0000:0000:8a2e:0370:7334 e ::1, este último representando o endereço local.

Continuar a ler

PHP 7

Neste artigo, traremos informações a respeito do PHP 7, alguns dos novos recursos e exemplos de código que podem executar de maneiras diferentes em versões anteriores à 7. O PHP 7 foi liberado em dezembro de 2015, atualmente encontra-se na versão 7.0.11 (este artigo está sendo escrito em outubro de 2016).

A linguagem PHP surgiu na década de 1990 como uma linguagem de scripting interpretada no servidor, mas seu histórico não é o foco deste artigo e pode-se encontrar mais informações no link http://php.net/manual/history.php.

A especificação do PHP pode ser encontrada em https://github.com/php/php-langspec. Possui uma sintaxe parecida com C e Perl.

Continuar a ler

Let’s Brainfuck in Pascal!

Com os devidos créditos à originalidade do criador desta linguagem, e ainda mais pela originalidade e não menor acertividade pelo nome dado, Brainfuck é um clássico do mundo exotérico da programação. É inegável que, numa não muito usual conversa de café acerca de linguagens exotéricas, Brainfuck é comummente a primeira referida. Com o seu princípio extremamente simples e sintaxe altamente minimalista, esta linguagem consegue fazer jus ao seu nome num piscar de olhos.

Não obstante a sua alta aplicabilidade no mundo… exotérico, talvez?, Brainfuck representa um exercício bastante apetecível para a implementação de um parser. Estando disponível na Internet o código-fonte Assembly do interpretador de Brainfuck, a sua implementação noutras linguagens recorrendo a diferentes paradigmas representa um carácter didáctico inegável.

Neste artigo – ao qual referências ao calão não irão faltar por força da circunstância – será feita a implementação de um interpretador de Brainfuck em Pascal, recorrendo unicamente ao paradigma procedural. Iniciemos então esta curiosa jornada!

Continuar a ler

JavaFX : Uma Breve Introdução

Recentemente tive a necessidade de alterar a interface gráfica de uma aplicação, que tinha sido feita em Java Swing, para incluir mais uns campos. Mas a alteração, apesar de simples, revelou-se uma dor de cabeça devidos aos compromissos de código assumidos.

Aconselhei-me com outros colegas, investiguei e optei por experimentar o JavaFX e pouco tempo depois tinha uma nova interface gráfica a funcionar.

Continuar a ler

Algoritmo de Dijkstra

Nesta edição da Programar, não quisemos deixar de lado uma das linguagens mais usadas de todos os tempos.

A famosa linguagem C

E nesta edição comemorativa dos 10 anos da nossa revista, achamos que faria todo o sentido recordar um algoritmo, que em algum dia das nossas vidas, todos nós, programadores ouvimos falar… o não menos famoso que a própria linguagem C, o algoritmo de Dijkstra… e porque este algoritmo? Porquê este refere, o caminho do custo mínimo. E todos nós sabemos que a nossa revista já percorreu muitos caminhos até chegamos à edição 53.

Ora para os mais distraídos, e para os menos recordados, este algoritmo data do ano de 1956, tendo tido a sua primeira publicação em 1959. Foi criado por um matemático computacional holandês, Edsger Dijkstra. E trouxe uma solução que vários procuravam na altura, a solução para o problema do caminho mais curto num grafo dirigido.

Continuar a ler

Funções de distribuição de probabilidade e o Python

Este artigo aborda a construção de um programa escrito em Python capaz de calcular funções de distribuição de probabilidade (PDF) a partir de arquivos *.txt ou *.csv contendo uma ou duas colunas de dados. Essas informações estatísticas são importantes para compreensão de diversos problemas complexos que usualmente são representados, de forma equivocada, via uma abordagem Gaussiana simples. Assim, esperamos que a ferramenta aqui apresentada seja tão útil para toda a comunidade, como é para o nosso grupo.

Continuar a ler

Sistema de chat público em PHP

Introdução

chat_publico_0.3Embora a base deste sistema seja o PHP, também serão utilizadas outras tecnologias. A nossa “caixa de ferramentas” tem, então, o seguinte conteúdo e a respetiva utilização:

  • PHP: Linguagem de programação base;
  • HTML: Estrutura das páginas;
  • CSS: Design das páginas;
  • jQuery/JavaScript: Utilização do AJAX;
  • MySQL/MariaDB: Base de dados;
  • Apache: Servidor web;

Objectivo

No fim deste artigo o leitor terá uma visão abrangente do que é essencial para criar aplicações web e a ajuda necessária para começar a desbravar este mundo com o PHP.

Continuar a ler

O meu primeiro Jogo em MonoGame

Muitos programadores chegaram ao mundo da programação através do fascínio do desenvolvimento de jogos. Desde as cassetes de ZX Spectrum, que demoravam eternidades a carregar e a criação de jogos era uma tarefa muitas vezes hercúlea, até aos dias de hoje, a criação de jogos percorreu um longo caminho e hoje podemos encontrar várias plataformas dedicadas ao seu desenvolvimento.

Para facilitar a criação de jogos para múltiplas plataformas foi criada a framework MonoGame, baseada na framework XNA da Microsoft, que apresenta uma grande facilidade de aprendizagem. Seguindo o princípio “Escreve uma vez, corre em todo o lado”, ao desenvolvermos um jogo com MonoGame, ele irá correr em iOS, Android, Mac OS X, tvOS, Windows, Linux, Playstation4 e mais.

Neste artigo vamos criar um jogo do princípio ao fim, passo a passo, desde a criação do interface de utilizador até ao adicionar da lógica de jogo.

Continuar a ler

Extrair dados do cartão de cidadão

Neste artigo vou demostrar como se podem obter dados do cartão de cidadão utilizando a linguagem de programação JAVA e validar os dados de identificação.

Porquê Java? Não vejo muitos artigos a utilizar Java e é uma linguagem que continua a ser utilizada nas universidades, nas empresas de desenvolvimento de software e não só. Já vi em fóruns de comunidades pedidos de ajuda para obter os dados do cartão de cidadão, mas o pedido que mais encontro é como obter a fotografia. Este artigo foi feito a pensar nessas questões. Também inclui funções de validação do número de bilhete de identidade e cartão de cidadão, número de identificação fiscal, número de identificação da segurança social e número de identificação bancária.

Continuar a ler

Android Monkey Test: Um “Macaco” ao Serviço dos Programadores Android

O processo de criar e desenvolver uma aplicação não passa apenas pela programação propriamente dita. Tudo começa pela análise de requisitos, planeamento, programação e por fim o teste ao que foi implementado para garantir que tudo funciona como o previsto.

Todos os programadores fazem testes (“debug”) às suas aplicações em busca de erros execução ou situações inesperadas que possam ocorrer no decorrer da execução da aplicação desenvolvida. É neste processo que a ferramenta Android Monkey Test é extremamente interessante para quem desenvolve para a plataforma móvel Android.

Continuar a ler