Tuesday, May 10, 2016

Inicio da trilha

A trilha começa aqui

Interpretador Python

Você deve ter lido o post sobre Material recomendado. Portanto faça o que lá é sugerido e instale já o pacote Anaconda 3 em seu notebook ou desktop.

É conveniente ter um atalho no desktop para a interface de comando do Windows, "cmd.exe". Melhor ainda é um atalho para a interface de comando avançada, Windows Power Shell.

Sugiro que instale o anaconda diretamente em C:\Anaconda3 Após instalar verifique a documentação para verificar se foi tudo instalado corretamente.

Um teste simples é abrir a interface de comando e digitar:

>Python

Deve aparecer algo como:

PS C:\WINDOWS\system32> python
Python 3.5.1 |Anaconda 2.4.1 (64-bit)| (default, Feb 16 2016, 09:49:46) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>


Digite o seguinte comando e observe a resposta:

>>> print('hello world')
hello world
>>>


Isto demonstra que o interpretador Python foi instalado corretamente e está vivo.

Atalhos no desktop

Uma das primeiras coisas a fazer à seguir é colocar no seu desktop um atalho para o IDLE. O IDLE é uma interface simples para o interpretador Python que você vai usar muito. 

Para criar este atalho navegue para C:\Anaconda3\libs\idlelib e procure um arquivo idle.bat Crie um atalho (botão direito do mouse, criar atalho), mova o atalho para o desktop e renomeie como IDLE (ou como preferir).

OK. 


Precisaremos ainda deixar atalho para o jupyter notebook, mas isto fica para outro post.

Outros programas e pacotes do Python

Outros programas que serão úteis no futuro  incluem o Notepad++ e o XmlNotepad. Se possivel baixe-os e deixe-os instalados. 

O Python conquistou sua popularidade graças às muitas bibliotecas de programas ("modulos", modules) open source escritos por programadores voluntários da academia e da industria. Este repositórios permitem o download gratuito de  ferramentas de software para uso da comunidade.

Vamos precisar de diversos pacotes de módulos, conforme listados na referência Automate the Boring Stuff With Python.

Para baixar tais pacotes e fazer sua instalação existe um programa chamado "pip" que já foi instalado com o Anaconda. Existem outros programas de função similar mas usaremos o pip de preferência.

A utilização é simples: abra a janela de comandos do Power Shell e digite

>pip install nome_do_pacote_desejado

Faça já o teste com estes pacotes, todos usados em exemplos do livro acima:


  • pip install requests
  • pip install beautifulsoup4
  • pip install selenium
  • pip install pprint
  • pip install csv
  • pip install re

Muitos outros pacotes de módulos serão baixados mais adiante.

Python

Python

Uma breve nota histórica. 


Python foi criado por um programador e über hacker holandês, Guido Van Rossum, que depois foi trabalhar na Google onde ficou aperfeiçoando esta linguagem e seu interpretador. Atualmente Guido trabalha no Dropbox.




Originalmente intencionado para Unix/C hackers o nome "Python" vem do grupo comediante inglês Monty Python e nada tinha a ver com cobras.

Os objetivos do Python nas suas palavras:
  • an easy and intuitive language just as powerful as major competitors
  • open source, so anyone can contribute to its development
  • code that is as understandable as plain English
  • suitability for everyday tasks, allowing for short development times
Python é uma das linguagens mais populares e que mais crescem em número de usuários.

Sunday, May 8, 2016

Algoritmos

Algoritmos



Postei três páginas sobre algorítmos. 

Alguns autores usam o termo algorítmo liberalmente para qualquer procedimento. Outros mais precisos (talvez um pouco pedantes?) usam o termo para o que em Matemática se denomina método efetivo ( effective method ). 

Prefiro usar o termo liberalmente como sinônimo de procedimento.

Nas páginas Algoritmos e Algoritmos 1 descrevo o que chamei de padrão iterativo  para solução da maioria dos problemas que você provavelmente verá em seu dia a dia. Esta é uma vasta classe de tarefas que se conformam num paradigma relativamente simples:

É dado um conjunto de objetos e deve-se aplicar um mesmo procedimento para cada objeto deste conjunto.

Daí o nome iterativo para este padrão.

Outros tipos de problemas existem e a página Algoritmos 2 descreve um dos métodos mais poderosos que é o de algoritmos recursivos. Mas é tambem um paradigma relativamente complicado e fácil de induzir a erros.

Não existe uma classificação única para algoritmos. As que existem são parciais e dependem de ponto de vista.

Com estas 3 páginas termino a parte inicial deste módulo referente a pseudo código e algoritmos. Daqui para a frente vamos trabalhar com a linguagem de programação Python.



Ah sim, este é o logo oficial do Python.  

Thursday, May 5, 2016

Exercícios

Nova lista de exercícios

A lista de exercícios 2 já está aqui. Tentem resolver tudo.

Ah sim, uma versão HTML está aqui.

Por enquanto é só.

Wednesday, May 4, 2016

Mais pseudo código

Mais pseudo código

Hoje postei uma página revisitando comandos para usar em nosso pseudo código. A intenção ao formalizar um pouco os comandos que usamos no pseudo código é aproximar mais os termos usados com os termos de uma linguagem de programação, no caso com o Python.

Também depositei uma primeira lista de exercícios no Dropbox. Se você não tem add-on ou extensão Markdown no seu browser existe uma versão HTML da lista aqui. Alias sugiro que instale uma extensão destas, a qualidade da imagem resultante é muito boa. 

Daqui uns dias publico aqui soluções dos exercícios. 

Uma dica: se a página de exercícios versão HTML aparecer com caracteres estranhos mude no seu browser o View\Text Encoding para Unicode. O texto é em Português e acentuação, tilde, etc confundem a codificação padrão  anglo-saxonica. 


Tuesday, May 3, 2016

Pseudo código

Pseudo código

Pseudo código é a descrição informal de um procedimento usando linguagem natural misturada com trechos de programas e fórmulas matemáticas.

E para que serve isto?  No início do processo de programação é comum esboçarmos soluções que depois são modificadas e mesmo descartadas. Usando pseudo código agiliza muito este processo, comparado com programar diretamente numa linguagem de programação.

Pinçando um trecho desta referência:

What is pseudocode? A simplified, half-English, half-code outline of a computer program. It is sometimes given other names, such as Program Definition Language (PDL).
Why use it? Because it can help you to clarify your thoughts, and design a routine properly, before you start to write any code.
One of the hardest things to resist is the temptation to start writing code. Compared to typing source code, designing the functions which will make up a program seems dull. But spending ten minutes to think out carefully the pros and cons of different approaches to the goal can save you hours of time later on.
Another reason to use pseudocode: it turns into comments in your finished program, so you're save much of the task of going back to a finished program and inserting comments.

Vale a pena criar o hábito salutar de rascunhar em pseudo código  o seu procedimento, antes de investir tempo programando em Python ou outra linguagem.

Hoje postei uma página do curso dedicada a pseudo código. Outras mais virão.

Tambem postei aqui outra página introduzindo comandos e procedimentos.

 

Monday, May 2, 2016

Introdução à computação

Introdução à Computação

Na barra lateral direita do blog vocês encontram um ítem chamado Recursos. Ali há vários subtópicos com páginas de conteúdo deste curso.

Hoje postei duas páginas chamadas "Introdução à computação 1 e 2" com matéria de nossa aula piloto. Nos próximos dias postarei outras páginas onde vamos entrar em pseudo-código e bastante exercícios de programação em linguagem natural (ou quase natural).