sábado, 8 de agosto de 2020

Variáveis

(Nota: recomenda-se a leitura da gota anterior e nomeadamente a familiarização com a plataforma Google Colab).
Variáveis são entidades, com nome, e cujo valor pode variar durante a execução de um programa. Em Python, o sinal = significa a atribuição de um valor a uma variável.
Os valores podem ser de diversos tipos, como, por exemplo, booleano, numérico, texto, ou alguns tipos compostos, como conjuntos, listas, etc.

Experiência com variáveis

A variável y foi inicialmente criada como um número, mas posteriormente o programador atribuiu o mesmo nome a uma variável do tipo texto, perdendo-se a atribuição anterior.
Os mais curiosos, poderão espreitar em w3schools.com para aprofundar um pouco estes conceitos.
As listas são um tipo de variável muito poderoso em Python. Uma lista é uma colecção de entidades, que podem ser repetidas, e que têm posição na lista. São declaradas entre parênteses rectos e com os nomes das entidades separados por vírgulas. A primeira entidade da lista está na posição 0.

 
Experiência com listas

Neste exemplo, há uma variável, com o nome x e duas listas, com os nomes y e z. Um dos elementos da lista z é a lista y e outro é uma lista em que um dos elementos é x e o outro é a lista y.
Usa-se a função type para saber o tipo de uma variável, e com esta experiência pretende-se contribuir para ajudar a reconhecer a diferença absolutamente essencial entre o nome e o valor de uma variável.
Exemplos aqui.

sábado, 25 de julho de 2020

Saber programar

Programar é comunicar com uma máquina, e basicamente, usa-se uma linguagem, e partilham-se conceitos. Tudo normal. Como na comunicação entre humanos, só que mais simples...
Nos últimos 50 anos, com a evolução dos computadores, apareceram milhares de linguagens de programação, todas com as suas características distintivas, e a maioria em rápido desuso.
Na minha opinião, deve-se começar por aprender uma só, que seja muito usada, e para a qual existam bastantes ajudas.
Actualmente, eu recomendo Python, pela sua simplicidade,
Os mais treinados nestas artes serão capazes de instalar a linguagem Python no seu computador, visitando o seu sítio oficial, mas eu recomendo a utilização da plataforma Google Colab, que simplifica muito a vida aos iniciados. Tudo acontece numa página Web.
Antes disso, dois ou três conceitos muito simples, e numa linguagem que todos entendam.
Na conversa com um computador, podemos referir entidades, pelos seus nomes, e invocar operações. Por exemplo, aqui

Um programa!

definiu-se uma entidade (um número) com um nome (x), e um valor (4) e invocou-se a operação imprimir (print). E isto é um programa! Basta premir o botão de executar.
Está na altura de experimentar!... isto é, entrar na plataforma, começar uma página nova, escrever aquelas duas linhas de código, e carregar no botão... (ou usar a caixa de comentários em caso de dificuldade)
Aprender a programar é como aprender a falar, não é preciso saber as palavras todas antes de começar, aprende-se falando, perguntando, ouvindo, descobrindo.
Mas há uma questão essencial, que consiste na definição do problema que pretendemos que o computador resolva. Sem essa definição rigorosa, pode-se eventualmente produzir um programa, mas será muito possivelmente uma "solução à procura de um problema"...
O que caracteriza um programa, ou um programador, é o rigor no enunciado do problema. É esse o seu maior valor. Depois, o programador terá de escolher uma linguagem de programação que utilize conceitos adequados a esse enunciado.
A título de exemplo, imagine-se que o nosso problema é mostrar que existe uma relação entre a potência de um automóvel e o seu consumo de combustível.
Se tivermos acesso a uma tabela com estas características para um grande número de automóveis, e soubermos extrair valores dessa tabela e mostrá-los sob a forma gráfica, talvez tenhamos o problema resolvido.
A linguagem Python entende-se perfeitamente com tabelas, com os cabeçalhos, com os conteúdos de cada célula, e com gráficos. Alguém que estude Python sabe que o seu maior poder está nas packages desenvolvidas por terceiros e que são especializadoa em problemas específicos, que podem ir da matemática às redes, aos gráficos, à inteligência artificial, à aprendizagem automática, ao processamento de linguagem natural, etc.
Há uma package chamada Altair: Declarative Visualization in Python que nos pode dar uma grande ajuda e transformar um problema aparentemente complexo em meia dúzia de linhas de código, como se vê neste pequeno programa, que explora uma tabela de características de carros à venda nos Estados Unidos e faz um gráfico dos consumos (milhas por galão) em função da potência de cada um

Experimentar não custa...

E assim, de repente, chegamos à Ciência de Dados, em que utilizamos dados disponíveis para suportar as nossas teorias, etc.
Todos podem ver, experimentar ou copiar o código aqui.