






Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Revista Portugal a Programar 1ª Edição - Março de 2006 Artigos Tema de capa Começar a programar A programar Criar setups em Visual Studio.NET 2003 Base de dados MySQL com ASP.NET C e o Makefile Python: Sockets e NetWorking Análises Wengo Beginning C++ Game Programming
Tipologia: Notas de estudo
1 / 12
Esta página não é visível na pré-visualização
Não perca as partes importantes!
Os poderes ocultos do make file
A melhor maneira de distribuir as
suas aplicações
Ano novo projectos novos!
A
<Índice>
<02> Editorial
<03> Notícias
<05> A Programar
<09> Geek
<10> Em Download
<11> Em Análise
<12> Blue Screen
PROGRAMAR
deathseeker
neon_prannock
GpL
gurzi
s_e_7_e_n
Strong
vbmaster
filip_e
<Revisão>
d_pintassilgo
Overrun
perdido_e_sozinho
Uma Edição
<Do Início> Começar a Programar
A
Dados de entrada: dados que são necessários fornecer para poderem ser calculados os dados de saída. Dados de saída: resultados a obter. Relações de transformação: Relações matemáticas ou de qualquer outra espécie que permitam transformar os dados de entrada nos dados de saída. Algoritmo: escrita, numa linguagem normalizada, da sequencia de operações que definem o problema.
Para resolver os problemas em programação recorreremos à utilização de Al- goritmos. E o que é um algoritmo? Um algoritmo é, nada mais nada menos, do que a sequencia de passos a utili- zar de modo a que possamos chegar à solução para um determinado tipo de problema. A utilização de algoritmos apenas visa tornar mais fácil a programação, visto que, ao elaborarmos um algoritmo, subdividimos o problema sistematicamente em partes mais pequenas e menos complexas chegando a um ponto em que compreendemos claramente cada uma das partes.
Assim podemos indicar sem ambiguidade os passos (algoritmo) para a resolu- ção de problemas:
Para que um computador produza resultados úteis é necessário indicar as or- dens a que ele deve obedecer. Essas ordens serão uma série de instruções binárias - as únicas instruções que o computador entende, também designadas por código máquina. Apesar de ser possível escrever um programa directamente em código máqui- na, dar ordens em números binários é fastidioso, lento e sujeito a erros, pelo que se desenvolveram linguagens de programação de baixo e alto nível, con- soante estejam mais próximas do código máquina ou da linguagem humana, respectivamente. É nessas linguagens que são escritos os programas com que os computadores funcionam e que se designam por program as fonte. Assim, uma linguagem de programação é constituída por um conjunto de pala- vras (ou símbolos) que, colocados segundo determinadas regras, significam operações a realizar pelo computador - programa fonte. As linguagens de programação tão, portanto, como função descrever todas as operações a serem efectuadas por um computador, necessárias a resolver um determinado problema. Desta forma, uma linguagem de programação deve apresentar as seguintes facilidades:
Linguagens de baixo nível:
Linguagens de alto nível:
Actualmente programa-se com linguagens de alto nível, como o Pascal, salvo situações em que a velocidade de execução seja crítica.
Na próxima edição vamos iniciar o tutorial de Pascal.
COMEÇAR A PROGRAMAR
Criar Setups em Visual Studio .NET
A
O setup, como é obvio deverá ser a ultima coisa a fazer num projecto de programação. Após o utilizador ter uma aplicação completa- mente concebida, deverá então avançar para o setup. Eis como fazer.
1
Em primeiro lugar abrir o projecto do qual se quer fazer o setup.
2
Através da Windows Solution Explorer, clicar na Solution do nosso projecto com
3
Surge uma janela. Na área do lado esquerdo
área da direita, neste caso es- pecífico e para a maioria dos
quecer de preencher a caixa de texto com o nome que quere- mos dar ao setup e carregar OK. Se não se sentir à vontade com os seguintes passos pode sempre esco-
step os diversos passos até à criação do setup.
4
o nosso setup.
5
Uma das primeiras coisas a fazer será clicar no setup que entretanto apareceu na Solution Explorer Window com o botão di-
Surge uma janela e no Project deve-se selecci- onar o projecto do qual queremos fazer um
6
Para definirmos algumas propiedades do setup, deverá neste momento ser feito
alteradas definições como por exemplo, o au- tor do programa, a empresa que o criou
deste (valor que deve ser igual ao nome). Es- tas definições podem não ter captado muito a
Criar Setups em Visual Studio.NET 2003
Um setup permite
que a configuração
da sua aplicação
seja mais simples
Usar base de dados MySQL com ASP.NET
C
Para poder usar o MySQL (http://www.mysql.com) no seu servidor com Framework .NET v1.0 ou v1.1 terão de seguir alguns passos:
1
Instale o MyODBC (http://www.mysql.com/downloads/api- myodbc-3.51.html), depois de ter efectuado o download e a ins- talação, precisa de criar uma conexão DSN indo a Program Files > Ad- ministrator Tools > DataSource ODBC, indo depois a "System DSN", carregar em "Add", e escolher no fundo da lista MySQL ODBC 3. Driver, depois por os parâmetros necessários à sua conexão com o MySQL.
2
Instale o ODBC .NET Data Provider (http://msdn.microsoft.com/ downloads/default.asp?URL=/downloads/sample.asp?url=/ MSDN-FILES/027/001/668/msdncompositedoc.xml), este componente é um add-on da Framework .NET, este permite o acesso aos drivers de raiz da mesma forma que o OLEDB.NET o faz com os dispositivos OLE DB. Só tem de instalar depois de feito o download com sucesso.
3
Se não tiver instale o MDAC 2.7 (http://www.microsoft.com/ data/download_270RTM.htm), no caso de ainda não o ter, faça o download e instale o mesmo, pare os serviços de Internet e relativos às bases de dados que tiver a correr da Microsoft.
Depois pode experimentar um exemplo simples: c o n M y S Q L. a s p x
Não se esqueça de alterar o caminho do local onde estão o ficheiro Microsoft.Data.Odbc.dll, e sim pode por o mesmo no directório /bin do seu website.
E assim fica explicada a forma de conectar ao MySQL, uma base de dados que vale todo o esforço que venhamos a dar à mesma. Os va- lores que é preciso suportar em bases de dados caras não tem sentido com a existência do MySQL (http://www.mysql.com). </filip_e>
Usar base de dados MySQL com ASP.NET
<%@ Import Namespace="System.Data" %> <%@ Import Namespace="Microsoft.Data.ODBC" %>
<asp:datagrid id="MyDataGrid" runat="server" />
<%@ Page Language="VB" Debug="True" CompilerOp- tions='/R:"C:\Program Files\Microsoft.NET\Odbc. Net\Microsoft.Data.Odbc.dll"' %>
E
Neste tutorial os exemplos que vou dar serão basicamente em C, mas as Makefiles não são uma ferramenta exclusiva desta linguagem. Vou admitir que me encontro num terminal Linux, e que existem os comando básicos (incluindo o 'Make').
O Make é um programa de computador que tem o intuito de automatizar a compilação de programas que usam diversos ficheiros. As instruções que o Make executa estão todas dentro de um ficheiro chamado 'Makefile' (ou 'makefile'). Esta é uma ferramenta (na minha opinião) indispensável para qualquer pro- grama que se faça, pois a (re)compilação é das partes mais chatas do desen- volvimento de um programa.
Um pouco de história: (Wikipedia) Make was originally created by Dr. Stuart I. Feldman in 1977. Dr. Feldman was working at Bell Labs at the time. Since it is old, many derived tools have appeared that work better. Among these are BSD make, GNU make and A-A- P. In 2003 Dr. Feldman received the ACM Software System Award for the invention of this important tool.
O programa Make é a Makefile na directoria em que se estão a trabalhar (por defeito), se não for passado nenhum: nome ao comando Make, este vai procurar um ficheiro chamado 'makefile', e caso não exista vai procurar 'Makefile' (tudo isto na directoria em que se estão a trabalhar).É de referir que estes ficheiros podem ser 'hidden'. O Make apenas compila/recompila ficheiros que precisão de ser (re) compilados, por exemplo, ficheiros que não foram modificados desde a última compilação não serão recompilados. O que torna o processo de (re)compilação muito mais simples e rápido, visto que muitas vezes existem programas que são formados por muitas dezenas de ficheiros.
O que se passa aqui? Bem, nesta Makefile o que se passa é o seguinte:
(1.ª linha) Se os ficheiros 'foo.c' e 'foo.h' forem mais recentes que o ficheiro 'foo.o', então… (2.ª linha) o ficheiro 'foo.o' é recompilado usando o comando "gcc -o foo.o foo.c".Neste exemplo diz-se que o ficheiro 'foo.o' depende dos ficheiros 'foo.c' e 'foo.h'.
Há pontos importantes a serem respeitados na sintaxe das Makefiles. Na 2.ª linha do exemplo o primeiro caracter é um TAB, isto é essencial. É o que precede um comando a realizar. Na 1.ª linha do exemplo está o ficheiro de saída (chamemo-lo assim), depois ':' seguido das suas dependências. Na linha seguinte o comando a realizar caso seja necessário (questão dos ficheiros terem sido ou não modificados).
Não sei se parece esquisito comentários em Makefiles, mas podem crer que por vezes dá muito jeito. Os comentários em Makefile são feitos precedendo o texto do comentário por um caracter '#', isto em cada linha individualmente.
Por vezes é útil a compilação condicional de alguns 'targets', para isso são usadas expressões condicionais...if, else.
Nesta Makefile é testado se o compilador é o gcc, em caso afirmativo são usa- das libraries especificas deste, caso contrário são usadas outras. Estas libraries s ã o i n d i c a d a s a t r a v é s d e v a r i á v e i s.
As directivas condicionais usadas são:
O 'ifeq' que inicia a condição e especifica-a. Contem dois argumentos os quais são comparados para verificar se são iguais. Nesta directiva é possível o uso de variáveis definidas à priori. Se os dois argumentos forem iguais então são executadas as linhas a baixo desta directiva, caso contrário são ignoradas.
O 'else' faz com que sejam executadas as linhas a seguir a este, caso a condi- ção não se tenha verificado. Verifica-se então que esta directiva é opcional.
O 'endif' termina a condição, todas as condições têm de terminar com o 'endif'.
Voltamo-nos a encontrar na próxima edição para continuarmos a falar no makefile.
foo.o: foo.c foo.h gcc -o foo.o foo.c
#teste foo.o: foo.c foo.h gcc -o foo.o foo.c
libs_for_gcc = -lgnu normal_libs =
foo: $(objects) ifeq ($(CC),gcc) $(CC) -o foo $(objects) $(libs_for_gcc) else $(CC) -o foo $(objects) $(normal_libs) endif
MagicAjax 0.2.
O
MagicAjax é uma fra- m e w o r k na qual o utilizador p o d e adaptar a tecno- logia AJAX para a sua página pessoal. Esta ferramenta facilita o trabalho do programador, na medida em que integra facil- mente o sistema AJAX na sua página. Não é necessário estar a substituir os controlos ASP. NET ou estar a re-escrever código JavaScript para colocar a ferramenta a funcionar.
Inúmeros bugs foram corrigidos e pequenas melhorias nas opções foram introduzidas neste lançamento. http://www.magicajax.net/
P
ython Sudoku é um programa gráfico e de texto (interface GTK) que cria e resol- ve sudokus. Tem tambem a função de impri- mir um sudoku (1 ou 4 sudokus por página) e escrever uma imagem (png, jpeg,jpg, etc) com um sudoku. h t t p : / / s o u r c e f o r g e. n e t / p r o j e c t s / pythonsudoku/
p hpBMS é um CMS (Client Management System) especializado na factura- ção, programação e gestão de clientes com
suporte MySQL, e programado em PHP. Inclui funções como criação de PDFs para impres- são, e-mails em massa para clientes, macros e temporização de eventos, entre outras.
Foram corrigidos inúmeros erros no programa e adicionadas novas funções como por exem- plo, anexar ficheiros externos ao produto, cli- ente ou gravações "invoice". O pacote pode ser instalado por cima de instalações anterio- res (usando o script de update), sofrendo um upgrade sem perder dados. http://kreotek.com/products/phpbms/
Tux Paint
O Tux Paint é um programa
de desenho direccionado
para crianças que contém
efeitos de som, uma perso-
nagem cartoon e divertidas
funções relacionadas com
desenho e pintura. Depois de
quase um ano de desenvolvi-
mento, esta nova versão do
Tux Paint está agora disponí-
vel. Entre as muitas mudan-
ças que existiram, destacam-
se as ferramentas mágicas
(borrão, grama, tijolos, car-
toon, ilumina, matiz), tempo
de arranque e gestão de me-
mória melhorados, suporte
para ecrãs mais largos e 10
novas traduções
foram criadas, entre as quais
constam espanhol, tailandês
e ucraniano. Muitas imagens
foram adicionadas e a colec-
ção das mesmas foi total-
mente reorganizada. Para
mais informações consulte os
"changelogs". Divirta-se!
<Em Análise>
Wengo Beginning C++
Game Programing
D
e ligações directamente de um computador para um tele- fone local (de casa por exemplo) já todos ouvimos falar, cada vez mais o mercado vem a ser invadi- do por este novo comércio vanta- joso em certos aspectos para to- das as empresas não só em valor monetário mas também como va- lor funcional dando mais seguran- ça. Desde Skype, VoipBuster e outros programas lançados recentemente com o aparecimento de VOIP(voz sobre ip) o Wengo aparece no ano 2005 como um concorrente directo ao skype sendo um user friendly e de livre acesso ao seu código fonte em http://dev. openwengo.com/svn/openwengo/ softphone/. A solução é baseada no protocolo aberto desenvolvido pelo IETF (Internet Engineering Task Force) chamado de SIP (Session Initiati- on Protocol – (http://www. sipforum.org/). Este protocolo permite a inclusão de novos servi- ços, além da comunicação com muitos outros produtos de merca-
do como centrais telefônicas IP ou o Asterisk (http://www.asterisk. org/) um PABX baseado na plata- forma de Software Livre. Desde o Inicio da configuração da instalação até ao momento em que o utilizador pretende fazer uma chamada o Wengo torna-se bastante acessível e de carácter básico na estrutura de utilização tendo como alguns pontos positi- vos os seguintes :
B
eginning C++ Game Pro- gramming é um livro destina- do para aqueles que querem en- trar no desenvolvimento de jogos, através da programação, e que ainda não possuem experiência nesta área. O seu escritor, Michael Dawson trabalhou durante vários anos na indústria de videojogos, quer como programador, como designer e produtor. Actualmente encontra-se a ensinar através dos c u r s o s d a U C L A. Este livro aborda todos os conhe- cimentos básicos para dominar o desenvolvimento de jogos em C++, sem prolongar certos aspec- tos mais complexos. È bastante completo e utiliza sempre exem- plos de pequenos jogos, para ilus- trar os conceitos abordados. È de salientar que estes exemplos são sempre mantidos o mais simples possível, para facilitar a sua com- preensão.
O livro aborda, principalmente, os seguintes conceitos:
Com este livro não é possível aprender a fazer jogos com gráfi- cos apelativos, já que todos os jogos correm na consola, mas aprender os conhecimentos funda- mentais de C++, a linguagem mais utilizada no desenvolvimento de jogos. Através destes conheci- mentos é possível partir então, para matérias mais avançadas, como as APIs gráficas. </neon_prannock>