Você está na página 1de 9

AlfaCon Concursos Públicos

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

Noções de Programação Python e R


Python
Python é uma linguagem de programação interpretada, de código-fonte aberto e disponível para
vários sistemas operacionais. Diz-se que uma linguagem é interpretada se esta não precisar ser com-
pilada (traduzida para uma linguagem da máquina), mas sim “lida” por outro programa (chamado
de interpretador) que traduz para a máquina o que seu programa quer dizer.
Variáveis:
Em Python, os tipos de dados básicos são:
→→ tipo inteiro (armazena números inteiros);
→→ tipo float (armazena números em formato decimal); e
→→ tipo string (armazena um conjunto de caracteres).
Também vamos encontrar outros tipos de dados como números complexos; números imagi-
nários são escritos com o sufixo ‘j’ ou ‘J’.
Cada variável pode armazenar apenas um tipo de dado a cada instante.
Python é uma linguagem dinamicamente tipada. Diferentemente de outras linguagens de pro-
gramação, não é preciso declarar de que tipo será cada variável no início do programa. Quando se
faz uma atribuição de valor, automaticamente a variável se torna do tipo do valor armazenado, como
apresentado nos exemplos a seguir:
Exemplos:
>>> a = 10
>>> a
10
A variável a se torna uma variável do tipo inteiro.
Strings podem ser concatenadas (coladas) com o operador +, e repetidas com *.
>>> email = ’Marciohollweg’ + ’@’ + ’gmail.com’
>>> email
’Marciohollweg@gmail.com’
>>> curso = ‘ALFA ’
>>> ’<’ + curso*3 + ’>’
’<ALFA ALFA ALFA >’
Listas, Tuplas e Dicionários:
→→ Lista é um conjunto sequencial de valores, em que cada valor é identificado mediante um índice.
O primeiro valor tem índice 0. Uma lista em Python é declarada da seguinte forma:
Nome_Lista = [ valor1, valor2, ..., valorN]
Uma lista pode ter valores de qualquer tipo, incluindo outras listas.
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.
2
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

avaliar as expressões intermediárias antes de usar o else.


A Listagem 1 apresenta uma demonstração dessas instruções.

Loops com FOR e WHILE


Em algumas situações, é comum que uma mesma instrução (ou conjunto delas) precise ser exe-
cutada várias vezes seguidas. Nesses casos, normalmente utilizamos um loop (ou laço de repetição),
que permite executar um bloco de código repetidas vezes, enquanto uma dada condição é atendida.
Em Python, os loops são codificados por meio dos comandos for e while. O primeiro nos permite
percorrer os itens de uma coleção e, para cada um deles, executar um bloco de código. Já o while,
executa um conjunto de instruções várias vezes enquanto uma condição é atendida.
Na Listagem 2 temos um exemplo de uso do comando for.

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

Estruturas de controle, condicionais e de repetição estão presentes na maioria das linguagens de


programação e representam uma parte fundamental de cada uma delas. Sendo assim, é muito im-
portante conhecer a sintaxe e o funcionamento dessas estruturas.

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

Ela é composta por 4 partes e cada uma possui uma função:


→→ na parte superior à esquerda, fica o script, onde digitamos os comandos;
→→ na parte inferior à esquerda está o console, onde os comandos do script são executados e visuali-
zamos seus resultados, bem como as estatísticas;
→→ na parte superior à direita estão os bancos de dados com que estamos trabalhando e alguns botões
que auxiliam na importação deles;
→→ na parte inferior à direita, visualizamos os gráficos que estamos construindo.

API – Application Programming Interface


A sigla API refere-se ao termo em inglês Application Programming Interface que significa em
tradução para o português “Interface de Programação de Aplicativos”.

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

03. O script em R apresentado abaixo gera um determinado gráfico.


c=1:6
x=c(2,4,6)
y<-x+c
rev(c)->k
f=sort(y)
barplot(f)
O gráfico gerado por esse script é?

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

Você também pode gostar