Escolar Documentos
Profissional Documentos
Cultura Documentos
CONTEÚDO PROGRAMÁTICO
ÍNDICE
Noções de Programação Python e R�����������������������������������������������������������������������������������������������������������������2
Python���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������2
Linguagem R e R Studio����������������������������������������������������������������������������������������������������������������������������������������������������6
API – Application Programming Interface�������������������������������������������������������������������������������������������������������������������7
Metadados��������������������������������������������������������������������������������������������������������������������������������������������������������������������������8
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
1
AlfaCon Concursos Públicos
Exemplos:
>>> L = [3 , “abacate” , 9.7 , [5 , 6 , 3] , “Python” , (3 , ‘j’)]
>>> print(L[2])
9.7
>>> print(L[3])
[5,6,3]
>>> print(L[3][1])
6
FUNÇÕES PARA MANIPULAÇÃO DE LISTAS
A lista é uma estrutura mutável, ou seja, ela pode ser modificada. Na tabela a seguir, estão
algumas funções utilizadas para manipular listas.
Função Descrição Exemplo
L = [1, 2, 3, 4]
len Retorna o tamanho da lista.
len(L) 4
L = [10, 40, 30, 20]
min Retorna o menor valor da lista.
min(L) 10
L = [10, 40, 30, 20]
max Retorna o maior valor da lista.
max(L) 40
L = [10, 20, 30]
sum Retorna soma dos elementos da lista.
sum(L) 60
L = [1, 2, 3]
append Adiciona um novo valor na no final da lista. L.append(100)
L [1, 2, 3, 100]
L = [1,2,3,4]
remove Remove um elemento da lista, dado seu índice. remove L[1]
L[1, 3, 4]
→→ Tupla, assim como a Lista, é um conjunto sequencial de valores, em que cada valor é identificado
por intermédio de um índice. A principal diferença entre elas é que as tuplas são imutáveis, ou
seja, seus elementos não podem ser alterados.
Dentre as utilidades das tuplas, destacam-se as operações de empacotamento e desempacota-
mento de valores.
Uma tupla em Python é declarada da seguinte forma:
Nome_tupla = (valor1, valor2, ..., valorN)
Exemplos:
>>>T = (1,2,3,4,5)
>>> print(T)
(1, 2, 3, 4, 5)
>>> print(T[3])
4
→→ Dicionário é um conjunto de valores, em que cada valor é associado a uma chave de acesso. Um
dicionário em Python é declarado da seguinte forma:
Nome_dicionario = { chave1 : valor1, chave2 : valor2, chave3 : valor3,...... chaveN : valorN}
Exemplo:
>>> D={“arroz”: 17.30, “feijão”:12.50,”carne”:23.90,”alface”:3.40}
>>> print(D)
{“arroz”: 17.3, “carne”: 23.9, “alface”: 3.4, “feijão”: 12.5}
>>> print(D[“carne”])
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
3
AlfaCon Concursos Públicos
23.9
ALGUNS OPERADORES
A linguagem Python pode apresentar alguns operadores diferentes dos usuais em outras linguagens:
Operadores Matemáticos:
Adição + idade + 1 = somando 1 à idade
Subtração - idade – 1 = subtraindo 1 à idade
Multiplicação * valor * 10 = multiplicando o por 10
Divisão / quantidade / 10 = dividindo a quantidade por 10
Resto % número % 3 = trazendo o resto da divisão de um número por 3
Potência ** número ** 2 = elevando o número à segunda potência
Operadores Relacionais:
Maior >
Menor
<
Maior ou igual >=
Menor ou igual <=
Igual ==
Diferente !=
Operadores Lógicos:
OU Or
E
And
Negação
Not
O uso de # (hashtag) ou ‘’’(aspas triplas) indicam um comentário.
ESTRUTURAS DE CONDIÇÃO E REPETIÇÃO EM PYTHON
Em Python, assim como na maioria das linguagens de programação, o programa deve ser capaz de
tomar decisões com base em valores e resultados gerados durante sua execução, ou seja, deve ser capaz de
decidir se determinada instrução deve ou não ser executada de acordo com uma condição. Para atender a
esse tipo de situação, podemos utilizar instruções especiais denominadas estruturas condicionais.
Além dessas, as linguagens de programação normalmente também suportam os chamados
laços de repetição, estruturas que permitem a execução de instruções repetidas vezes, até que uma
condição seja atingida.
Estruturas de condição com o IF
O if é uma estrutura de condição que permite avaliar uma expressão e, de acordo com seu resul-
tado, executar uma determinada ação.
No código a seguir, temos um exemplo de uso do if, no qual verificamos se a variável idade é
menor que 20. Em caso positivo, imprimimos uma mensagem na tela, e, em caso negativo, o código
seguirá normalmente, desconsiderando a linha 3.
Como podemos notar, essa estrutura é formada pela palavra reservada if, seguida por uma
condição e por dois pontos (:). As linhas abaixo dela formam o bloco de instruções que serão execu-
tadas se a condição for atendida. Para isso, elas devem ser indentadas corretamente, respeitando a
especificação do Python. Nesse código, apenas a instrução da linha 3 é executada, e por isso ela está
mais avançada. Se fosse necessária a execução de outras linhas no caso de a idade ser menor que 20,
elas também deveriam estar no mesmo nível de indentação da linha 3.
Vimos anteriormente como utilizar o if para executar uma ação, caso uma condição seja
atendida. No entanto, nenhum comportamento específico foi definido para o caso de a condição não
ser satisfeita. Quando isso é necessário, precisamos utilizar a palavra reservada else. Adicionalmen-
te, se existir mais de uma condição alternativa que precisa ser verificada, devemos utilizar o elif para
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
4
AlfaCon Concursos Públicos
A variável definida na linha 1 é uma lista inicializada com uma sequência de valores do tipo
string. A instrução for percorre todos esses elementos, um por vez, e, em cada caso, atribui o valor
do item à variável n, que é impressa em seguida. O resultado, então, é a impressão de todos os nomes
contidos na lista, como vemos nas linhas 5 a 7.
O comando while, por sua vez, faz com que um conjunto de instruções seja executado enquanto
uma condição for atendida. Quando o resultado passa a ser falso, a execução é interrompida, saindo
do loop, e passa para o próximo bloco.
No código a seguir, vemos um exemplo de uso do laço while, onde definimos a variável contador,
iniciando com 0, e enquanto seu valor for menor que 5, executamos as instruções das linhas 3 e 4.
Observe que na linha 4 incrementamos a variável contador, de forma que em algum momento
seu valor ultrapasse 5. Quando isso for verificado na linha 2, o laço será interrompido. Caso a
condição de parada nunca seja atingida, o loop será executado infinitamente, gerando problemas no
programa.
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
5
AlfaCon Concursos Públicos
Linguagem R e R Studio
A linguagem R é utilizada por cientistas, estatísticos e, mais recentemente, cientistas de dados
como um meio conveniente para a análise exploratória de dados interativos. Ao contrário do que se
imagina sobre a linguagem R, ela não é limitada a apenas sessões interativas, pois devido ao fato de
ser uma linguagem de programação, os scripts podem ser criados e empacotados como bibliotecas.
As soluções com base em scripts fornecem resultados mais consistentes e confiáveis do que os fluxos
de trabalho tradicionais, que requerem uma grande quantidade de interações manuais com uma
interface gráfica de usuário.
Essa linguagem, muitas vezes, não é considerada como uma linguagem de programação, sendo
mais comparada a um produto estatístico especializado. Este é um tema amplamente discutido
quando se considera a manipulação de dados usando planilhas do Excel ou um banco de dados rela-
cional, como o servidor SQL. A linguagem R é mais usada para manipulação de conjuntos de dados
de tamanho médio, análises estatísticas e produção de documentos e apresentações centradas em
dados. Além disso, fornece-nos uma ampla variedade de modelagens lineares, e não lineares, testes
estatísticos clássicos, análise de séries temporais, clustering, além de ser altamente extensível.
Um dos pontos fortes do R é a facilidade que podemos ter com uma melhor qualidade em relação
a plotagens bem desenhadas, inclusão de símbolos matemáticos e de fórmulas, quando estas passam
a ser necessárias, já que o R é um conjunto integrado de facilidades de software voltado para a mani-
pulação de dados e a exibição gráfica.
Duas das maiores empresas presentes no mercado, Facebook e FourSquare, utilizam a lingua-
gem R tanto para recomendações quanto para modelagem de comportamentos dos usuários.
R usa uma interface de linha de comando, mas há também vários front-ends gráficos para ele,
como R Studio.
Aparência do R Studio
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
6
AlfaCon Concursos Públicos
Uma API tem por objetivo principal disponibilizar recursos de uma aplicação para serem usados
por outra aplicação, abstraindo os detalhes da implementação e, muitas vezes, restringindo o acesso
a estes recursos com regras específicas para tal.
Uma API é criada quando uma empresa de software tem a intenção de que outros criadores de
software desenvolvam produtos associados ao seu serviço. Existem vários deles que disponibili-
zam seus códigos e instruções para serem usados em outros sites da maneira mais conveniente para
seus usuários. O Google Maps é um dos grandes exemplos na área de APIs. Por meio de seu código
original, muitos outros sites e aplicações utilizam os dados do Google Maps adaptando-o da melhor
forma a fim de utilizar esse serviço.
Quando uma pessoa acessa uma página de um hotel, por exemplo, é possível visualizar dentro do
próprio site o mapa do Google Maps para saber a localização do estabelecimento e verificar qual o
melhor caminho para chegar até lá. Esse procedimento é realizado por meio de uma API, em que os
desenvolvedores do site do hotel utilizam do código do Google Maps para inseri-lo em um determi-
nado local de sua página.
TIPOS DE API
Em termos de desenvolvimento de software, uma API pode ser construída de várias formas. As
mais utilizadas são:
→→ DLL – Dynamic-link library: são executáveis resultantes de classes ou conjuntos de classes compila-
das em ambientes como .Net e Delphi, por exemplo. Incorporado numa DLL, conforme as regras de
visibilidade aplicadas, são expostos vários métodos/funções que podem ser utilizados por terceiros.
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
7
AlfaCon Concursos Públicos
→→ Plugins: atualmente é um dos modos mais utilizados. Quando falamos de um blog WordPress por
exemplo a maioria dos recursos é resultado de consumo de plugins (exemplos são uso de captcha,
envio de e-mail e feed, antispam, otimizador de SEO, analisador de estatísticas etc.).
→→ WebAPI: basicamente são APIs utilizadas em soluções web. WebAPIs podem ser client-side ou
server-side (executadas no front ou no back-end de uma aplicação web).
Metadados
A tecnologia de metadados surgiu devido às organizações necessitarem conhecer melhor os
dados que elas mantêm. Os metadados proveem uma descrição concisa a respeito dos dados. Os
dados podem ser documentos, coleção de documentos, gráficos, tabelas, imagens, vídeos, entre
tantos outros.
Em banco de dados, informações a respeito dos dados são tão importantes quanto os dados. Os
Sistemas de Gerenciamento de Banco de Dados Relacionais – SGBDR também utilizam metada-
dos. As tabelas no banco de dados são usadas para armazenar informações. De forma similar, um
SGBDR tem várias metatabelas que armazenam descrições das tabelas.
No SGBD Oracle, por exemplo, a tabela USER_TABLES é uma metatabela, que possui informa-
ções a respeito das tabelas criadas pelos usuários. Entre estas informações podem ser encontradas:
proprietário da tabela, nome da tabela, nome da tablespace (unidade de armazenamento lógico) para
qual foi definida, entre outras.
Os metadados têm um papel importante na gestão de dados, pois a partir deles as informações
são processadas, atualizadas e consultadas. As informações de como os dados foram criados/deriva-
dos, ambiente em que reside e/ou residiu, alterações feitas, entre outras, são obtidas de metadados.
Os metadados fornecem os recursos necessários para entender os dados através do tempo.
A data e a hora estampadas nas fotos também constituem o uso de metadados, além da localiza-
ção geográfica que as câmeras modernas são capazes de executar para cada imagem.
Exercícios
Com relação às linguagens, julgue o item a seguir.
01. Python é uma linguagem livre de alto nível, orientada a objetos e de difícil leitura, pois não
permite indentação de linhas de código.
Certo ( ) Errado ( )
Julgue o item que se segue, a respeito da linguagem Python, versão 3.1.
02. Se, em qualquer linha do script Python, a expressão regular coding [=:] \s*([~\w.]+) correspon-
der a um comentário, este será processado como uma declaração de codificação.
Certo ( ) Errado ( )
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
8
AlfaCon Concursos Públicos
Certo ( ) Errado ( )
04. Com a introdução do HTML5, diversas novas APIs Javascript (Application Programming In-
terfaces) foram disponibilizadas, aumentando consideravelmente a quantidade de recursos
disponíveis para a produção de páginas web.
Certo ( ) Errado ( )
05. Em um SGBD, o gestor de dicionário de dados é responsável por armazenar os metadados
sobre a estrutura da base de dados.
Certo ( ) Errado ( )
Gabarito
01 - Errado
02 - Errado
03 - Errado
04 - Certo
05 - Certo
Lei do Direito Autoral nº 9.610, de 19 de Fevereiro de 1998: Proíbe a reprodução total ou parcial desse material ou divulgação com
fins comerciais ou não, em qualquer meio de comunicação, inclusive na Internet, sem autorização do AlfaCon Concursos Públicos.
9