Escolar Documentos
Profissional Documentos
Cultura Documentos
CÓD: 7908403501168
Escriturário
A APOSTILA PREPARATÓRIA É ELABORADA
ANTES DA PUBLICAÇÃO DO EDITAL OFICIAL COM BASE NO EDITAL
ANTERIOR, PARA QUE O ALUNO ANTECIPE SEUS ESTUDOS.
• A Opção não está vinculada às organizadoras de Concurso Público. A aquisição do material não garante sua inscrição ou ingresso na
carreira pública,
• Alterações e Retificações após a divulgação do Edital estarão disponíveis em Nosso Site na Versão Digital,
• Dúvidas sobre matérias podem ser enviadas através do site: www.apostilasopção.com.br/contatos.php, com retorno do professor
no prazo de até 05 dias úteis.,
• É proibida a reprodução total ou parcial desta apostila, de acordo com o Artigo 184 do Código Penal.
Língua Portuguesa
1. Emprego do acento indicativo de crase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Concordância verbal e nominal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
3. Regência verbal e nominal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 03
4. Colocação pronominal dos pronomes oblíquos átonos (próclise, mesóclise e ênclise) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
5. Emprego dos sinais indicativos de pontuação: vírgula, ponto, ponto e vírgula, dois-pontos, reticências, aspas, travessão e parênte-
ses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
Língua Inglesa
1. Conhecimento de um vocabulário fundamental e dos aspectos gramaticais básicos para a interpretação de textos técnicos . . . . . 01
Matemática
1. Lógica proposicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Noções de conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3. Relações e funções; Funções polinomiais; Funções exponenciais e logarítmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4. Matrizes; Determinantes; Sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5. Sequências; Progressões aritméticas e progressões geométricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6. Matemática financeira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Probabilidade e Estatística
1. Análise combinatória; Noções de probabilidade; Teorema de Bayes; Probabilidade condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Noções de estatística; População e amostra; Análise e interpretação de tabelas e gráficos; Regressão, tendências, extrapolações e
interpolações; Tabelas de distribuição empírica de variáveis e histogramas; Estatística descritiva (média, mediana, variância, desvio
padrão, percentis, quartis, outliers, covariância) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 06
Conhecimentos Bancários
1. Estrutura do Sistema Financeiro Nacional: Conselho Monetário Nacional; Banco Central do Brasil; Comissão de Valores Mobiliári-
os. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. COPOM – Comitê de Política Monetária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
3. Produtos Bancários: Noções de cartões de crédito e débito, crédito direto ao consumidor, crédito rural, caderneta de poupança, cap-
italização, previdência, investimentos e seguros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 06
4. Noções de Mercado de capitais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. Noções de Mercado Câmbio: Instituições autorizadas a operar e operações básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6. Garantias do Sistema Financeiro Nacional: aval; fiança; penhor mercantil; alienação fiduciária; hipoteca; fianças bancárias. . . . . 13
7. Crime de lavagem de dinheiro: conceito e etapas. Prevenção e combate ao crime de lavagem de dinheiro: Lei nº 9.613/98 e suas al-
terações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8. Circular Bacen 3.461/2009 e suas alterações e Carta-Circular Bacen 3.542/12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9. Autorregulação Bancária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
ÍNDICE
Conhecimentos de Informática
1. Linguagens de programação: Java (SE 8 e EE 7), Phyton 3.6, JavaScript/EcmaScript 6, Scala 2.12 e Pig 0.16; . . . . . . . . . . . . . . . . . . 01
2. Estruturas de dados e algoritmos: busca sequencial e busca binária sobre arrays, ordenação (métodos da bolha, ordenação por
seleção, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3. ordenação por inserção, lista encadeada, pilha, fila, noções sobre árvore binária), noções de algoritmos de aprendizado supervisiona-
dos e não supervisionados; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4. Banco de dados: conceitos de banco de dados e sistemas gerenciadores de bancos de dados (SGBD), modelagem conceitual de dados
5. (a abordagem entidaderelacionamento), modelo relacional de dados (conceitos básicos, normalização), banco de dados SQL (lingua-
gem SQL (SQL2008), linguagem HiveQL (Hive 2.2.0)), banco de dados NoSQL (conceitos básicos, bancos orientados a grafos, colunas,
6. chave/valor e documentos), data Warehouse (modelagem conceitual para data warehouses, dados multidimensionais) . . . . . . . 73
7. Tecnologias web: HTML 5, CSS 3, XML 1.1, Json (ECMA-404), Angular.js 1.6.x, Node.js 6.11.3, REST; . . . . . . . . . . . . . . . . . . . . . . . . . 97
8. Manipulação e visualização de dados: linguagem R 3.4.2 e R Studio 5.1, OLAP, MS Excel 2013; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9. Sistema de arquivos e ingestão de dados: conceitos de MapReduce, HDFS/Hadoop/YARN 2.7.4, Ferramentas de ingestão de dados
10. (Sqoop 1.4.6, Flume 1.7.0, NiFi 1.3.0 e Kafka 0.11.0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
LÍNGUA PORTUGUESA
1. Emprego do acento indicativo de crase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Concordância verbal e nominal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
3. Regência verbal e nominal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 03
4. Colocação pronominal dos pronomes oblíquos átonos (próclise, mesóclise e ênclise) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
5. Emprego dos sinais indicativos de pontuação: vírgula, ponto, ponto e vírgula, dois-pontos, reticências, aspas, travessão e parênte-
ses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
LÍNGUA PORTUGUESA
Crase é o nome dado à contração de duas letras “A” em uma só: preposição “a” + artigo “a” em palavras femininas. Ela é demarcada
com o uso do acento grave (à), de modo que crase não é considerada um acento em si, mas sim o fenômeno dessa fusão.
Veja, abaixo, as principais situações em que será correto o emprego da crase:
• Palavras femininas: Peça o material emprestado àquela aluna.
• Indicação de horas, em casos de horas definidas e especificadas: Chegaremos em Belo Horizonte às 7 horas.
• Locuções prepositivas: A aluna foi aprovada à custa de muito estresse.
• Locuções conjuntivas: À medida que crescemos vamos deixando de lado a capacidade de imaginar.
• Locuções adverbiais de tempo, modo e lugar: Vire na próxima à esquerda.
DICA: Como a crase só ocorre em palavras no feminino, em caso de dúvida, basta substituir por uma palavra equivalente no masculino.
Se aparecer “ao”, deve-se usar a crase: Amanhã iremos à escola / Amanhã iremos ao colégio.
Concordância é o efeito gramatical causado por uma relação harmônica entre dois ou mais termos. Desse modo, ela pode ser verbal
— refere-se ao verbo em relação ao sujeito — ou nominal — refere-se ao substantivo e suas formas relacionadas.
• Concordância em gênero: flexão em masculino e feminino
• Concordância em número: flexão em singular e plural
• Concordância em pessoa: 1ª, 2ª e 3ª pessoa
Concordância nominal
Para que a concordância nominal esteja adequada, adjetivos, artigos, pronomes e numerais devem flexionar em número e gênero,
de acordo com o substantivo. Há algumas regras principais que ajudam na hora de empregar a concordância, mas é preciso estar atento,
também, aos casos específicos.
Quando há dois ou mais adjetivos para apenas um substantivo, o substantivo permanece no singular se houver um artigo entre os
adjetivos. Caso contrário, o substantivo deve estar no plural:
• A comida mexicana e a japonesa. / As comidas mexicana e japonesa.
Quando há dois ou mais substantivos para apenas um adjetivo, a concordância depende da posição de cada um deles. Se o adjetivo
vem antes dos substantivos, o adjetivo deve concordar com o substantivo mais próximo:
• Linda casa e bairro.
Se o adjetivo vem depois dos substantivos, ele pode concordar tanto com o substantivo mais próximo, ou com todos os substantivos
(sendo usado no plural):
• Casa e apartamento arrumado. / Apartamento e casa arrumada.
• Casa e apartamento arrumados. / Apartamento e casa arrumados.
Quando há a modificação de dois ou mais nomes próprios ou de parentesco, os adjetivos devem ser flexionados no plural:
• As talentosas Clarice Lispector e Lygia Fagundes Telles estão entre os melhores escritores brasileiros.
Quando o adjetivo assume função de predicativo de um sujeito ou objeto, ele deve ser flexionado no plural caso o sujeito ou objeto
seja ocupado por dois substantivos ou mais:
• O operário e sua família estavam preocupados com as consequências do acidente.
1
LÍNGUA PORTUGUESA
Concordância verbal
Para que a concordância verbal esteja adequada, é preciso haver flexão do verbo em número e pessoa, a depender do sujeito com o
qual ele se relaciona.
Mas, se o sujeito composto aparece depois do verbo, o verbo pode tanto ficar no plural quanto concordar com o sujeito mais próximo:
• Discutiram marido e mulher. / Discutiu marido e mulher.
Se o sujeito composto for formado por pessoas gramaticais diferentes, o verbo deve ficar no plural e concordando com a pessoa que tem
prioridade, a nível gramatical — 1ª pessoa (eu, nós) tem prioridade em relação à 2ª (tu, vós); a 2ª tem prioridade em relação à 3ª (ele, eles):
• Eu e vós vamos à festa.
Quando o sujeito apresenta uma expressão partitiva (sugere “parte de algo”), seguida de substantivo ou pronome no plural, o verbo
pode ficar tanto no singular quanto no plural:
• A maioria dos alunos não se preparou para o simulado. / A maioria dos alunos não se prepararam para o simulado.
Quando o sujeito apresenta uma porcentagem, deve concordar com o valor da expressão. No entanto, quanto seguida de um subs-
tantivo (expressão partitiva), o verbo poderá concordar tanto com o numeral quanto com o substantivo:
• 27% deixaram de ir às urnas ano passado. / 1% dos eleitores votou nulo / 1% dos eleitores votaram nulo.
Quando o sujeito apresenta alguma expressão que indique quantidade aproximada, o verbo concorda com o substantivo que segue
a expressão:
• Cerca de duzentas mil pessoas compareceram à manifestação. / Mais de um aluno ficou abaixo da média na prova.
Quando o sujeito é indeterminado, o verbo deve estar sempre na terceira pessoa do singular:
• Precisa-se de balconistas. / Precisa-se de balconista.
Quando o sujeito é coletivo, o verbo permanece no singular, concordando com o coletivo partitivo:
• A multidão delirou com a entrada triunfal dos artistas. / A matilha cansou depois de tanto puxar o trenó.
Quando não existe sujeito na oração, o verbo fica na terceira pessoa do singular (impessoal):
• Faz chuva hoje
2
LÍNGUA PORTUGUESA
Quando o pronome relativo “que” atua como sujeito, o verbo deverá concordar em número e pessoa com o termo da oração principal
ao qual o pronome faz referência:
• Foi Maria que arrumou a casa.
Quando o sujeito da oração é o pronome relativo “quem”, o verbo pode concordar tanto com o antecedente do pronome quanto com
o próprio nome, na 3ª pessoa do singular:
• Fui eu quem arrumei a casa. / Fui eu quem arrumou a casa.
Quando o pronome indefinido ou interrogativo, atuando como sujeito, estiver no singular, o verbo deve ficar na 3ª pessoa do singular:
• Nenhum de nós merece adoecer.
Quando houver um substantivo que apresenta forma plural, porém com sentido singular, o verbo deve permanecer no singular. Ex-
ceto caso o substantivo vier precedido por determinante:
• Férias é indispensável para qualquer pessoa. / Meus óculos sumiram.
A regência estuda as relações de concordâncias entre os termos que completam o sentido tanto dos verbos quanto dos nomes. Dessa
maneira, há uma relação entre o termo regente (principal) e o termo regido (complemento).
A regência está relacionada à transitividade do verbo ou do nome, isto é, sua complementação necessária, de modo que essa relação
é sempre intermediada com o uso adequado de alguma preposição.
Regência nominal
Na regência nominal, o termo regente é o nome, podendo ser um substantivo, um adjetivo ou um advérbio, e o termo regido é o
complemento nominal, que pode ser um substantivo, um pronome ou um numeral.
Vale lembrar que alguns nomes permitem mais de uma preposição. Veja no quadro abaixo as principais preposições e as palavras que
pedem seu complemento:
PREPOSIÇÃO NOMES
acessível; acostumado; adaptado; adequado; agradável; alusão; análogo; anterior; atento; benefício; comum;
A contrário; desfavorável; devoto; equivalente; fiel; grato; horror; idêntico; imune; indiferente; inferior; leal; necessário;
nocivo; obediente; paralelo; posterior; preferência; propenso; próximo; semelhante; sensível; útil; visível...
amante; amigo; capaz; certo; contemporâneo; convicto; cúmplice; descendente; destituído; devoto; diferente;
DE dotado; escasso; fácil; feliz; imbuído; impossível; incapaz; indigno; inimigo; inseparável; isento; junto; longe; medo;
natural; orgulhoso; passível; possível; seguro; suspeito; temeroso...
SOBRE opinião; discurso; discussão; dúvida; insistência; influência; informação; preponderante; proeminência; triunfo...
acostumado; amoroso; analogia; compatível; cuidadoso; descontente; generoso; impaciente; ingrato; intolerante;
COM
mal; misericordioso; ocupado; parecido; relacionado; satisfeito; severo; solícito; triste...
abundante; bacharel; constante; doutor; erudito; firme; hábil; incansável; inconstante; indeciso; morador; negligente;
EM
perito; prático; residente; versado...
atentado; blasfêmia; combate; conspiração; declaração; fúria; impotência; litígio; luta; protesto; reclamação;
CONTRA
representação...
PARA bom; mau; odioso; próprio; útil...
Regência verbal
Na regência verbal, o termo regente é o verbo, e o termo regido poderá ser tanto um objeto direto (não preposicionado) quanto um
objeto indireto (preposicionado), podendo ser caracterizado também por adjuntos adverbiais.
Com isso, temos que os verbos podem se classificar entre transitivos e intransitivos. É importante ressaltar que a transitividade do
verbo vai depender do seu contexto.
Verbos intransitivos: não exigem complemento, de modo que fazem sentido por si só. Em alguns casos, pode estar acompanhado
de um adjunto adverbial (modifica o verbo, indicando tempo, lugar, modo, intensidade etc.), que, por ser um termo acessório, pode ser
retirado da frase sem alterar sua estrutura sintática:
• Viajou para São Paulo. / Choveu forte ontem.
Verbos transitivos diretos: exigem complemento (objeto direto), sem preposição, para que o sentido do verbo esteja completo:
• A aluna entregou o trabalho. / A criança quer bolo.
3
LÍNGUA PORTUGUESA
Verbos transitivos indiretos: exigem complemento (objeto indireto), de modo que uma preposição é necessária para estabelecer o
sentido completo:
• Gostamos da viagem de férias. / O cidadão duvidou da campanha eleitoral.
Verbos transitivos diretos e indiretos: em algumas situações, o verbo precisa ser acompanhado de um objeto direto (sem preposição)
e de um objeto indireto (com preposição):
• Apresentou a dissertação à banca. / O menino ofereceu ajuda à senhora.
Os pronomes são palavras que fazem referência aos nomes, isto é, aos substantivos. Assim, dependendo de sua função no enunciado,
ele pode ser classificado da seguinte maneira:
• Pronomes pessoais: indicam as 3 pessoas do discurso, e podem ser retos (eu, tu, ele...) ou oblíquos (mim, me, te, nos, si...).
• Pronomes possessivos: indicam posse (meu, minha, sua, teu, nossos...)
• Pronomes demonstrativos: indicam localização de seres no tempo ou no espaço. (este, isso, essa, aquela, aquilo...)
• Pronomes interrogativos: auxiliam na formação de questionamentos (qual, quem, onde, quando, que, quantas...)
• Pronomes relativos: retomam o substantivo, substituindo-o na oração seguinte (que, quem, onde, cujo, o qual...)
• Pronomes indefinidos: substituem o substantivo de maneira imprecisa (alguma, nenhum, certa, vários, qualquer...)
• Pronomes de tratamento: empregados, geralmente, em situações formais (senhor, Vossa Majestade, Vossa Excelência, você...)
Colocação pronominal
Diz respeito ao conjunto de regras que indicam a posição do pronome oblíquo átono (me, te, se, nos, vos, lhe, lhes, o, a, os, as, lo, la,
no, na...) em relação ao verbo, podendo haver próclise (antes do verbo), ênclise (depois do verbo) ou mesóclise (no meio do verbo).
Veja, então, quais as principais situações para cada um deles:
• Próclise: expressões negativas; conjunções subordinativas; advérbios sem vírgula; pronomes indefinidos, relativos ou demonstrati-
vos; frases exclamativas ou que exprimem desejo; verbos no gerúndio antecedidos por “em”.
Nada me faria mais feliz.
• Ênclise: verbo no imperativo afirmativo; verbo no início da frase (não estando no futuro e nem no pretérito); verbo no gerúndio não
acompanhado por “em”; verbo no infinitivo pessoal.
Inscreveu-se no concurso para tentar realizar um sonho.
DICA: o pronome não deve aparecer no início de frases ou orações, nem após ponto-e-vírgula.
EMPREGO DOS SINAIS INDICATIVOS DE PONTUAÇÃO: VÍRGULA, PONTO, PONTO E VÍRGULA, DOIS-PONTOS, RETICÊN-
CIAS, ASPAS, TRAVESSÃO E PARÊNTESES
Os sinais de pontuação são recursos gráficos que se encontram na linguagem escrita, e suas funções são demarcar unidades e sinalizar
limites de estruturas sintáticas. É também usado como um recurso estilístico, contribuindo para a coerência e a coesão dos textos.
São eles: o ponto (.), a vírgula (,), o ponto e vírgula (;), os dois pontos (:), o ponto de exclamação (!), o ponto de interrogação (?), as
reticências (...), as aspas (“”), os parênteses ( ( ) ), o travessão (—), a meia-risca (–), o apóstrofo (‘), o asterisco (*), o hífen (-), o colchetes
([]) e a barra (/).
Confira, no quadro a seguir, os principais sinais de pontuação e suas regras de uso.
4
LÍNGUA PORTUGUESA
Indicar hesitação
Sabe... não está sendo fácil...
... Reticências Interromper uma frase
Quem sabe depois...
Concluir com a intenção de estender a reflexão
Isolar palavras e datas A Semana de Arte Moderna (1922)
() Parênteses Frases intercaladas na função explicativa (podem substituir Eu estava cansada (trabalhar e estudar
vírgula e travessão) é puxado).
Indicar expressão de emoção Que absurdo!
Ponto de
! Final de frase imperativa Estude para a prova!
Exclamação
Após interjeição Ufa!
Ponto de
? Em perguntas diretas Que horas ela volta?
Interrogação
A professora disse:
Iniciar fala do personagem do discurso direto e indicar — Boas férias!
— Travessão mudança de interloculor no diálogo — Obrigado, professora.
Substituir vírgula em expressões ou frases explicativas O corona vírus — Covid-19 — ainda
está sendo estudado.
Vírgula
A vírgula é um sinal de pontuação com muitas funções, usada para marcar uma pausa no enunciado. Veja, a seguir, as principais regras
de uso obrigatório da vírgula.
• Separar termos coordenados: Fui à feira e comprei abacate, mamão, manga, morango e abacaxi.
• Separar aposto (termo explicativo): Belo Horizonte, capital mineira, só tem uma linha de metrô.
• Isolar vocativo: Boa tarde, Maria.
• Isolar expressões que indicam circunstâncias adverbiais (modo, lugar, tempo etc): Todos os moradores, calmamente, deixaram o
prédio.
• Isolar termos explicativos: A educação, a meu ver, é a solução de vários problemas sociais.
• Separar conjunções intercaladas, e antes dos conectivos “mas”, “porém”, “pois”, “contudo”, “logo”: A menina acordou cedo, mas não
conseguiu chegar a tempo na escola. Não explicou, porém, o motivo para a professora.
• Separar o conteúdo pleonástico: A ela, nada mais abala.
No caso da vírgula, é importante saber que, em alguns casos, ela não deve ser usada. Assim, não há vírgula para separar:
• Sujeito de predicado.
• Objeto de verbo.
• Adjunto adnominal de nome.
• Complemento nominal de nome.
• Predicativo do objeto do objeto.
• Oração principal da subordinada substantiva.
• Termos coordenados ligados por “e”, “ou”, “nem”.
EXERCÍCIOS
1. (FMPA – MG)
Assinale o item em que a palavra destacada está incorretamente aplicada:
(A) Trouxeram-me um ramalhete de flores fragrantes.
(B) A justiça infligiu pena merecida aos desordeiros.
(C) Promoveram uma festa beneficiente para a creche.
(D) Devemos ser fieis aos cumprimentos do dever.
(E) A cessão de terras compete ao Estado.
2. (UEPB – 2010)
Um debate sobre a diversidade na escola reuniu alguns, dos maiores nomes da educação mundial na atualidade.
5
LÍNGUA PORTUGUESA
Rosa Maria Torres 4. (CASAN – 2015) Observe as sentenças.
15
O tema da diversidade, como tantos outros, hoje em dia, abre I. Com medo do escuro, a criança ascendeu a luz.
16
muitas versões possíveis de projeto educativo e de projeto 17po- II. É melhor deixares a vida fluir num ritmo tranquilo.
lítico e social. É uma bandeira pela qual temos que reivindicar, 18e III. O tráfico nas grandes cidades torna-se cada dia mais difícil
pela qual temos reivindicado há muitos anos, a necessidade 19de para os carros e os pedestres.
reconhecer que há distinções, grupos, valores distintos, e 20que a
escola deve adequar-se às necessidades de cada grupo. 21Porém, o Assinale a alternativa correta quanto ao uso adequado de ho-
tema da diversidade também pode dar lugar a uma 22série de coisas mônimos e parônimos.
indesejadas. (A) I e III.
[…] (B) II e III.
Adaptado da Revista Pátio, Diversidade na educação: limites e possibi- (C) II apenas.
lidades. Ano V, nº 20, fev./abr. 2002, p. 29. (D) Todas incorretas.
6
LÍNGUA PORTUGUESA
6. (FMU) Leia as expressões destacadas na seguinte passagem: (E) introduzir uma conclusão após os argumentos apresenta-
“E comecei a sentir falta das pequenas brigas por causa do tempero dos.
na salada – o meu jeito de querer bem.”
Tais expressões exercem, respectivamente, a função sintática 12. (IBFC – 2013) Leia as sentenças:
de: É preciso que ela se encante por mim!
(A) objeto indireto e aposto Chegou à conclusão de que saiu no prejuízo.
(B) objeto indireto e predicativo do sujeito
(C) complemento nominal e adjunto adverbial de modo Assinale abaixo a alternativa que classifica, correta e respecti-
(D) complemento nominal e aposto vamente, as orações subordinadas substantivas (O.S.S.) destacadas:
(E) adjunto adnominal e adjunto adverbial de modo (A) O.S.S. objetiva direta e O.S.S. objetiva indireta.
(B) O.S.S. subjetiva e O.S.S. completiva nominal
7. (PUC-SP) Dê a função sintática do termo destacado em: “De- (C) O.S.S. subjetiva e O.S.S. objetiva indireta.
pressa esqueci o Quincas Borba”. (D) O.S.S. objetiva direta e O.S.S. completiva nominal.
(A) objeto direto
(B) sujeito 13. (ADVISE-2013) Todos os enunciados abaixo correspondem
(C) agente da passiva a orações subordinadas substantivas, exceto:
(D) adjunto adverbial (A) Espero sinceramente isto: que vocês não faltem mais.
(E) aposto (B) Desejo que ela volte.
(C) Gostaria de que todos me apoiassem.
8. (MACK-SP) Aponte a alternativa que expressa a função sintá- (D) Tenho medo de que esses assessores me traiam.
tica do termo destacado: “Parece enfermo, seu irmão”. (E) Os jogadores que foram convocados apresentaram-se on-
(A) Sujeito tem.
(B) Objeto direto
(C) Predicativo do sujeito 14. (PUC-SP) “Pode-se dizer que a tarefa é puramente formal.”
(D) Adjunto adverbial No texto acima temos uma oração destacada que é ________e
(E) Adjunto adnominal um “se” que é . ________.
(A) substantiva objetiva direta, partícula apassivadora
9. (OSEC-SP) “Ninguém parecia disposto ao trabalho naquela (B) substantiva predicativa, índice de indeterminação do sujeito
manhã de segunda-feira”. (C) relativa, pronome reflexivo
(A) Predicativo (D) substantiva subjetiva, partícula apassivadora
(B) Complemento nominal (E) adverbial consecutiva, índice de indeterminação do sujeito
(C) Objeto indireto
(D) Adjunto adverbial 15. (UEMG) “De repente chegou o dia dos meus setenta anos.
(E) Adjunto adnominal Fiquei entre surpresa e divertida, setenta, eu? Mas tudo parece
ter sido ontem! No século em que a maioria quer ter vinte anos
10. (MACK-SP) “Não se fazem motocicletas como antigamen- (trinta a gente ainda aguenta), eu estava fazendo setenta. Pior: du-
te”. O termo destacado funciona como: vidando disso, pois ainda escutava em mim as risadas da menina
(A) Objeto indireto que queria correr nas lajes do pátio quando chovia, que pescava
(B) Objeto direto lambaris com o pai no laguinho, que chorava em filme do Gordo e
(C) Adjunto adnominal Magro, quando a mãe a levava à matinê. (Eu chorava alto com pena
(D) Vocativo dos dois, a mãe ficava furiosa.)
(E) Sujeito A menina que levava castigo na escola porque ria fora de hora,
porque se distraía olhando o céu e nuvens pela janela em lugar de
11. (UFRJ) Esparadrapo prestar atenção, porque devagarinho empurrava o estojo de lápis
Há palavras que parecem exatamente o que querem dizer. “Es- até a beira da mesa, e deixava cair com estrondo sabendo que os
paradrapo”, por exemplo. Quem quebrou a cara fica mesmo com meninos, mais que as meninas, se botariam de quatro catando lá-
cara de esparadrapo. No entanto, há outras, aliás de nobre sentido, pis, canetas, borracha – as tediosas regras de ordem e quietude se-
que parecem estar insinuando outra coisa. Por exemplo, “incuná- riam rompidas mais uma vez.
bulo*”. Fazendo a toda hora perguntas loucas, ela aborrecia os profes-
QUINTANA, Mário. Da preguiça como método de trabalho. Rio de sores e divertia a turma: apenas porque não queria ser diferente,
Janeiro, Globo. 1987. p. 83. queria ser amada, queria ser natural, não queria que soubessem
que ela, doze anos, além de histórias em quadrinhos e novelinhas
*Incunábulo: [do lat. Incunabulu; berço]. Adj. 1- Diz-se do livro açucaradas, lia teatro grego – sem entender – e achava emocionan-
impresso até o ano de 1500./ S.m. 2 – Começo, origem. te.
(E até do futuro namorado, aos quinze anos, esconderia isso.)
A locução “No entanto” tem importante papel na estrutura do O meu aniversário: primeiro pensei numa grande celebração,
texto. Sua função resume-se em: eu que sou avessa a badalações e gosto de grupos bem pequenos.
(A) ligar duas orações que querem dizer exatamente a mesma Mas pensei, setenta vale a pena! Afinal já é bastante tempo! Logo
coisa. me dei conta de que hoje setenta é quase banal, muita gente com
(B) separar acontecimentos que se sucedem cronologicamen- oitenta ainda está ativo e presente.
te. Decidi apenas reunir filhos e amigos mais chegados (tarefa difí-
(C) ligar duas observações contrárias acerca do mesmo assun- cil, escolher), e deixar aquela festona para outra década.”
to. LUFT, 2014, p.104-105
(D) apresentar uma alternativa para a primeira ideia expressa.
7
LÍNGUA PORTUGUESA
Leia atentamente a oração destacada no período a seguir: 20. (IBGE) Indique a opção correta, no que se refere à concor-
“(...) pois ainda escutava em mim as risadas da menina que dância verbal, de acordo com a norma culta:
queria correr nas lajes do pátio (...)” (A) Haviam muitos candidatos esperando a hora da prova.
(B) Choveu pedaços de granizo na serra gaúcha.
Assinale a alternativa em que a oração em negrito e sublinhada (C) Faz muitos anos que a equipe do IBGE não vem aqui.
apresenta a mesma classificação sintática da destacada acima. (D) Bateu três horas quando o entrevistador chegou.
(A) “A menina que levava castigo na escola porque ria fora de (E) Fui eu que abriu a porta para o agente do censo.
hora (...)”
(B) “(...) e deixava cair com estrondo sabendo que os meninos, 21. (FUVEST – 2001) A única frase que NÃO apresenta desvio
mais que as meninas, se botariam de quatro catando lápis, em relação à regência (nominal e verbal) recomendada pela norma
canetas, borracha (...)” culta é:
(C) “(...) não queria que soubessem que ela (...)” (A) O governador insistia em afirmar que o assunto principal
(D) “Logo me dei conta de que hoje setenta é quase banal seria “as grandes questões nacionais”, com o que discordavam
(...)” líderes pefelistas.
(B) Enquanto Cuba monopolizava as atenções de um clube,
16. (FUNRIO – 2012) “Todos querem que nós do qual nem sequer pediu para integrar, a situação dos outros
____________________.” países passou despercebida.
(C) Em busca da realização pessoal, profissionais escolhem a
Apenas uma das alternativas completa coerente e adequada- dedo aonde trabalhar, priorizando à empresas com atuação
mente a frase acima. Assinale-a. social.
(A) desfilando pelas passarelas internacionais. (D) Uma família de sem-teto descobriu um sofá deixado por
(B) desista da ação contra aquele salafrário. um morador não muito consciente com a limpeza da cidade.
(C) estejamos prontos em breve para o trabalho. (E) O roteiro do filme oferece uma versão de como consegui-
(D) recuperássemos a vaga de motorista da firma. mos um dia preferir a estrada à casa, a paixão e o sonho à
(E) tentamos aquele emprego novamente. regra, a aventura à repetição.
17. (ITA - 1997) Assinale a opção que completa corretamente 22. (FUVEST) Assinale a alternativa que preenche corretamen-
as lacunas do texto a seguir: te as lacunas correspondentes.
“Todas as amigas estavam _______________ ansiosas A arma ___ se feriu desapareceu.
_______________ ler os jornais, pois foram informadas de que as Estas são as pessoas ___ lhe falei.
críticas foram ______________ indulgentes ______________ ra- Aqui está a foto ___ me referi.
paz, o qual, embora tivesse mais aptidão _______________ ciên- Encontrei um amigo de infância ___ nome não me lembrava.
cias exatas, demonstrava uma certa propensão _______________ Passamos por uma fazenda ___ se criam búfalos.
arte.”
(A) meio - para - bastante - para com o - para - para a (A) que, de que, à que, cujo, que.
(B) muito - em - bastante - com o - nas - em (B) com que, que, a que, cujo qual, onde.
(C) bastante - por - meias - ao - a - à (C) com que, das quais, a que, de cujo, onde.
(D) meias - para - muito - pelo - em - por (D) com a qual, de que, que, do qual, onde.
(E) bem - por - meio - para o - pelas – na (E) que, cujas, as quais, do cujo, na cuja.
18. (Mackenzie) Há uma concordância inaceitável de acordo 23. (FESP) Observe a regência verbal e assinale a opção falsa:
com a gramática: (A) Avisaram-no que chegaríamos logo.
I - Os brasileiros somos todos eternos sonhadores. (B) Informei-lhe a nota obtida.
II - Muito obrigadas! – disseram as moças. (C) Os motoristas irresponsáveis, em geral, não obedecem aos
III - Sr. Deputado, V. Exa. Está enganada. sinais de trânsito.
IV - A pobre senhora ficou meio confusa. (D) Há bastante tempo que assistimos em São Paulo.
V - São muito estudiosos os alunos e as alunas deste curso. (E) Muita gordura não implica saúde.
8
LÍNGUA PORTUGUESA
A frase reescrita está com a regência correta em: 31. (VUNESP/2017 – TJ-SP) Assinale a alternativa em que todas
(A) I apenas as palavras estão corretamente grafadas, considerando-se as regras
(B) II apenas de acentuação da língua padrão.
(C) III apenas (A) Remígio era homem de carater, o que surpreendeu D.
(D) I e III apenas Firmina, que aceitou o matrimônio de sua filha.
(E) I, II e III (B) O consôlo de Fadinha foi ver que Remígio queria desposa-
-la apesar de sua beleza ter ido embora depois da doença.
26. (INSTITUTO AOCP/2017 – EBSERH) Assinale a alternativa (C) Com a saúde de Fadinha comprometida, Remígio não con-
em que todas as palavras estão adequadamente grafadas. seguia se recompôr e viver tranquilo.
(A) Silhueta, entretenimento, autoestima. (D) Com o triúnfo do bem sobre o mal, Fadinha se recuperou,
(B) Rítimo, silueta, cérebro, entretenimento. Remígio resolveu pedí-la em casamento.
(C) Altoestima, entreterimento, memorização, silhueta. (E) Fadinha não tinha mágoa por não ser mais tão bela; agora,
(D) Célebro, ansiedade, auto-estima, ritmo. interessava-lhe viver no paraíso com Remígio.
(E) Memorização, anciedade, cérebro, ritmo.
32. (PUC-RJ) Aponte a opção em que as duas palavras são acen-
27. (ALTERNATIVE CONCURSOS/2016 – CÂMARA DE BANDEI- tuadas devido à mesma regra:
RANTES-SC) Algumas palavras são usadas no nosso cotidiano de (A) saí – dói
forma incorreta, ou seja, estão em desacordo com a norma culta (B) relógio – própria
padrão. Todas as alternativas abaixo apresentam palavras escritas (C) só – sóis
erroneamente, exceto em: (D) dá – custará
(A) Na bandeija estavam as xícaras antigas da vovó. (E) até – pé
(B) É um privilégio estar aqui hoje.
(C) Fiz a sombrancelha no salão novo da cidade. 33. (UEPG ADAPTADA) Sobre a acentuação gráfica das palavras
(D) A criança estava com desinteria. agradável, automóvel e possível, assinale o que for correto.
(E) O bebedoro da escola estava estragado. (A) Em razão de a letra L no final das palavras transferir a
tonicidade para a última sílaba, é necessário que se marque
28. (SEDUC/SP – 2018) Preencha as lacunas das frases abaixo graficamente a sílaba tônica das paroxítonas terminadas em
com “por que”, “porque”, “por quê” ou “porquê”. Depois, assinale a L, se isso não fosse feito, poderiam ser lidas como palavras
alternativa que apresenta a ordem correta, de cima para baixo, de oxítonas.
classificação. (B) São acentuadas porque são proparoxítonas terminadas em
“____________ o céu é azul?” L.
“Meus pais chegaram atrasados, ____________ pegaram trân- (C) São acentuadas porque são oxítonas terminadas em L.
sito pelo caminho.” (D) São acentuadas porque terminam em ditongo fonético –
“Gostaria muito de saber o ____________ de você ter faltado eu.
ao nosso encontro.” (E) São acentuadas porque são paroxítonas terminadas em L.
“A Alemanha é considerada uma das grandes potências mun-
diais. ____________?” 34. (IFAL – 2016 ADAPTADA) Quanto à acentuação das palavras,
(A) Porque – porquê – por que – Por quê assinale a afirmação verdadeira.
(B) Porque – porquê – por que – Por quê (A) A palavra “tendem” deveria ser acentuada graficamente,
(C) Por que – porque – porquê – Por quê como “também” e “porém”.
(D) Porquê – porque – por quê – Por que (B) As palavras “saíra”, “destruída” e “aí” acentuam-se pela
(E) Por que – porque – por quê – Porquê mesma razão.
(C) O nome “Luiz” deveria ser acentuado graficamente, pela
29. (CEITEC – 2012) Os vocábulos Emergir e Imergir são parô- mesma razão que a palavra “país”.
nimos: empregar um pelo outro acarreta grave confusão no que (D) Os vocábulos “é”, “já” e “só” recebem acento por constitu-
se quer expressar. Nas alternativas abaixo, só uma apresenta uma írem monossílabos tônicos fechados.
frase em que se respeita o devido sentido dos vocábulos, selecio- (E) Acentuam-se “simpática”, “centímetros”, “simbólica” por-
nando convenientemente o parônimo adequado à frase elaborada. que todas as paroxítonas são acentuadas.
Assinale-a.
(A) A descoberta do plano de conquista era eminente. 35. (MACKENZIE) Indique a alternativa em que nenhuma pala-
(B) O infrator foi preso em flagrante. vra é acentuada graficamente:
(C) O candidato recebeu despensa das duas últimas provas. (A) lapis, canoa, abacaxi, jovens
(D) O metal delatou ao ser submetido à alta temperatura. (B) ruim, sozinho, aquele, traiu
(E) Os culpados espiam suas culpas na prisão. (C) saudade, onix, grau, orquídea
(D) voo, legua, assim, tênis
30. (FMU) Assinale a alternativa em que todas as palavras estão (E) flores, açucar, album, virus
grafadas corretamente.
(A) paralisar, pesquisar, ironizar, deslizar
(B) alteza, empreza, francesa, miudeza
(C) cuscus, chimpazé, encharcar, encher
(D) incenso, abcesso, obsessão, luxação
(E) chineza, marquês, garrucha, meretriz
9
LÍNGUA PORTUGUESA
36. (IFAL - 2011)
“Oportunamente serão divulgados os resultados de tão importante encontro, mas enquanto nordestinos e alagoanos sentimos na pele
e na alma a dor dos mais altos índices de sofrimento da infância mais pobre. Nosso Estado e nossa região padece de índices vergonhosos
no tocante à mortalidade infantil, à educação básica e tantos outros indicadores terríveis.” (Gazeta de Alagoas, seção Opinião, 12.10.2010)
O primeiro período desse parágrafo está corretamente pontuado na alternativa:
(A) “Oportunamente, serão divulgados os resultados de tão importante encontro, mas enquanto nordestinos e alagoanos, sentimos
na pele e na alma a dor dos mais altos índices de sofrimento da infância mais pobre.”
(B) “Oportunamente serão divulgados os resultados de tão importante encontro, mas enquanto nordestinos e alagoanos sentimos,
na pele e na alma, a dor dos mais altos índices de sofrimento da infância mais pobre.”
(C) “Oportunamente, serão divulgados os resultados de tão importante encontro, mas enquanto nordestinos e alagoanos, sentimos
na pele e na alma, a dor dos mais altos índices de sofrimento da infância mais pobre.”
(D) “Oportunamente serão divulgados os resultados de tão importante encontro, mas, enquanto nordestinos e alagoanos sentimos,
na pele e na alma a dor dos mais altos índices de sofrimento, da infância mais pobre.”
(E) “Oportunamente, serão divulgados os resultados de tão importante encontro, mas, enquanto nordestinos e alagoanos, sentimos,
na pele e na alma, a dor dos mais altos índices de sofrimento da infância mais pobre.”
Sinais de pontuação são símbolos gráficos usados para organizar a escrita e ajudar na compreensão da mensagem. No texto, o sentido
não é alterado em caso de substituição dos travessões por
(A) aspas, para colocar em destaque a informação seguinte
(B) vírgulas, para acrescentar uma caracterização de Davi Akkerman.
(C) reticências, para deixar subetendida a formação do especialista.
(D) dois-pontos, para acrescentar uma informação introduzida anteriormente.
(E) ponto e vírgula, para enumerar informações fundamentais para o desenvolvimento temático.
10
LÍNGUA PORTUGUESA
40. (FCC – 2020)
41. (CESGRANRIO - RJ) As palavras esquartejar, desculpa e irreconhecível foram formadas, respectivamente, pelos processos de:
(A) sufixação - prefixação – parassíntese
(B) sufixação - derivação regressiva – prefixação
(C) composição por aglutinação - prefixação – sufixação
(D) parassíntese - derivação regressiva – prefixação
(E) parassíntese - derivação imprópria - parassíntese
42. (UFSC) Aponte a alternativa cujas palavras são respectivamente formadas por justaposição, aglutinação e parassíntese:
(A) varapau - girassol - enfaixar
(B) pontapé - anoitecer - ajoelhar
(C) maldizer - petróleo - embora
(D) vaivém - pontiagudo - enfurece
(E) penugem - plenilúnio - despedaça
11
LÍNGUA PORTUGUESA
43. (CESGRANRIO) Assinale a opção em que nem todas as pala- 47. (UFMG-ADAPTADA) As expressões em negrito correspon-
vras são de um mesmo radical: dem a um adjetivo, exceto em:
(A) noite, anoitecer, noitada (A) João Fanhoso anda amanhecendo sem entusiasmo.
(B) luz, luzeiro, alumiar (B) Demorava-se de propósito naquele complicado banho.
(C) incrível, crente, crer (C) Os bichos da terra fugiam em desabalada carreira.
(D) festa, festeiro, festejar (D) Noite fechada sobre aqueles ermos perdidos da caatinga
(E) riqueza, ricaço, enriquecer sem fim.
(E) E ainda me vem com essa conversa de homem da roça.
44. (FUVEST-SP) Foram formadas pelo mesmo processo as se-
guintes palavras: 48. (UMESP) Na frase “As negociações estariam meio abertas
(A) vendavais, naufrágios, polêmicas só depois de meio período de trabalho”, as palavras destacadas são,
(B) descompõem, desempregados, desejava respectivamente:
(C) estendendo, escritório, espírito (A) adjetivo, adjetivo
(D) quietação, sabonete, nadador (B) advérbio, advérbio
(E) religião, irmão, solidão (C) advérbio, adjetivo
(D) numeral, adjetivo
45. (FUVEST) Assinale a alternativa em que uma das palavras (E) numeral, advérbio
não é formada por prefixação:
(A) readquirir, predestinado, propor 49. (ITA-SP)
(B) irregular, amoral, demover Beber é mal, mas é muito bom.
(C) remeter, conter, antegozar (FERNANDES, Millôr. Mais! Folha de S. Paulo, 5 ago. 2001, p. 28.)
(D) irrestrito, antípoda, prever
(E) dever, deter, antever A palavra “mal”, no caso específico da frase de Millôr, é:
(A) adjetivo
46. (UNIFESP - 2015) Leia o seguinte texto: (B) substantivo
Você conseguiria ficar 99 dias sem o Facebook? (C) pronome
Uma organização não governamental holandesa está propondo (D) advérbio
um desafio que muitos poderão considerar impossível: ficar 99 dias (E) preposição
sem dar nem uma “olhadinha” no Facebook. O objetivo é medir o
grau de felicidade dos usuários longe da rede social. 50. (PUC-SP) “É uma espécie... nova... completamente nova!
O projeto também é uma resposta aos experimentos psicológi- (Mas já) tem nome... Batizei-(a) logo... Vou-(lhe) mostrar...”. Sob o
cos realizados pelo próprio Facebook. A diferença neste caso é que ponto de vista morfológico, as palavras destacadas correspondem
o teste é completamente voluntário. Ironicamente, para poder par- pela ordem, a:
ticipar, o usuário deve trocar a foto do perfil no Facebook e postar (A) conjunção, preposição, artigo, pronome
um contador na rede social. (B) advérbio, advérbio, pronome, pronome
Os pesquisadores irão avaliar o grau de satisfação e felicidade (C) conjunção, interjeição, artigo, advérbio
dos participantes no 33º dia, no 66º e no último dia da abstinência. (D) advérbio, advérbio, substantivo, pronome
Os responsáveis apontam que os usuários do Facebook gastam (E) conjunção, advérbio, pronome, pronome
em média 17 minutos por dia na rede social. Em 99 dias sem acesso,
a soma média seria equivalente a mais de 28 horas, 2que poderiam
ser utilizadas em “atividades emocionalmente mais realizadoras”. GABARITO
(http://codigofonte.uol.com.br. Adaptado.)
12
LÍNGUA PORTUGUESA
15 A ANOTAÇÕES
16 C
17 A ______________________________________________________
18 C ______________________________________________________
19 D
______________________________________________________
20 C
21 E ______________________________________________________
22 C ______________________________________________________
23 A
______________________________________________________
24 D
______________________________________________________
25 E
26 A ______________________________________________________
27 B ______________________________________________________
28 C
______________________________________________________
29 B
30 A ______________________________________________________
31 E _____________________________________________________
32 B _____________________________________________________
33 E
______________________________________________________
34 B
35 B ______________________________________________________
36 E ______________________________________________________
37 A
______________________________________________________
38 A
39 B ______________________________________________________
40 A ______________________________________________________
41 D ______________________________________________________
42 D
______________________________________________________
43 B
44 D ______________________________________________________
45 E ______________________________________________________
46 D
______________________________________________________
47 B
______________________________________________________
48 B
49 B ______________________________________________________
50 E ______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
13
LÍNGUA PORTUGUESA
ANOTAÇÕES ANOTAÇÕES
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
_____________________________________________________ _____________________________________________________
_____________________________________________________ _____________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
14
LÍNGUA INGLESA
1. Conhecimento de um vocabulário fundamental e dos aspectos gramaticais básicos para a interpretação de textos técnicos . . . . . 01
LÍNGUA INGLESA
- Conhecimento prévio: para compreender um texto, o leitor
CONHECIMENTO DE UM VOCABULÁRIO FUNDAMEN- depende do conhecimento que ele já tem e está armazenado em
TAL E DOS ASPECTOS GRAMATICAIS BÁSICOS PARA A sua memória. É a partir desse conhecimento que o leitor terá o
INTERPRETAÇÃO DE TEXTOS TÉCNICOS entendimento do assunto tratado no texto e assimilará novas in-
formações. Trata-se de um recurso essencial para o leitor formular
INGLÊS hipóteses e inferências a respeito do significado do texto.
1
LÍNGUA INGLESA
Countable and Uncountable nouns
Contáveis são os substantivos que podemos enumerar e contar, ou seja, que podem possuir tanta forma singular quanto plural. Eles
são chamados de countable nouns em inglês.
Por exemplo, podemos contar orange. Podemos dizer one orange, two oranges, three oranges, etc.
Incontáveis são os substantivos que não possuem forma no plural. Eles são chamados de uncountable nouns, de non-countable nou-
ns em inglês. Podem ser precedidos por alguma unidade de medida ou quantificador. Em geral, eles indicam substâncias, líquidos, pós,
conceitos, etc., que não podemos dividir em elementos separados. Por exemplo, não podemos contar “water”. Podemos contar “bottles
of water” ou “liters of water”, mas não podemos contar “water” em sua forma líquida.
Alguns exemplos de substantivos incontáveis são: music, art, love, happiness, advice, information, news, furniture, luggage, rice, sugar,
butter, water, milk, coffee, electricity, gas, power, money, etc.
Subject Pronouns
I (eu) I am a singer.
YOU (você, tu, vocês) You are a student.
HE (ele) He is a teacher.
SHE (ela) She is a nurse.
IT (ele, ela) It is a dog/ It is a table.
WE (nós) We are friends.
THEY (eles) They are good dancers.
O pronome pessoal (subject pronoun) é usado apenas no lugar do sujeito (subject), como mostra o exemplo abaixo:
Mary is intelligent = She is intelligent.
2
LÍNGUA INGLESA
The pen is red.It is red.
The dog is strong.It is strong.
Attention
a) If you talk about a pet use HE or SHE
Dick is the name of my little dog. He’s very intelligent!
b) If you talk about a baby/children that you don’t know if is a girl or a boy.
The baby is in tears. It is in tears. The child is happy. It is happy.
Object Pronous
São usados como objeto da frase. Aparecem sempre depois do verbo.
ME
YOU
HIM
HER
IT
US
YOU
THEM
Exemplos:
They told me the news.
She loves him so much.
Demonstrative Pronouns
Os pronomes demonstrativos são utilizados para demonstrar alguém ou alguma coisa que está perto ou longe da pessoa que fala ou
de quem se fala, ou seja, indica posição em relação às pessoas do discurso.
Veja quais são em inglês:
Usa-se o demonstrativo THIS/THESE para indicar seres que estão perto de quem fala. Observe o emprego dos pronomes demonstra-
tivos nas frases abaixo:
This method will work.
These methods will work.
O pronome demonstrativo THAT/THOSE é usado para indicar seres que estão distantes da pessoa que fala. Observe:
That computer technology is one of the most fundamental disciplines of engineering.
Those computers technology are the most fundamental disciplines of engineering.
3
LÍNGUA INGLESA
Possessive Adjectives são usados antes de substantivos, prece- - Antes de nomes próprios no singular.
didos ou não de adjetivos. She lives in South America.
Exemplos:
Our house is close. - Antes de possessivos.
I want to know your name. My house is more comfortable than theirs.
Possessive Pronouns são usados para substituir a construção - Antes de nomes de idiomas, não seguidos da palavra langua-
possessive adjective + substantivo, evitando assim a repetição. ge.
Exemplo: She speaks French and English. (Mas: She speaks THE French
My house is yellow and hers is white. language.)
Theirs is the most beautiful car in the town.
- Antes de nomes de estações do ano.
Articles (definite and indefinite) Summer is hot, but winter is cold.
4
LÍNGUA INGLESA
- Antes de profissão ou atividades.
James is A lawyer.
Her sister is A physician.
C. Omissão
Prepositions
As preposições são muito utilizadas na estrutura das frases. Em inglês não poderia ser diferente. As preposições expressam lugar ou
posição, direção, tempo, maneira (modo), e agente (ou instrumento).
PREPOSIÇÕES
Horas The airplane will arrive at five o’clock.
Datas We have a big party at Christmas.
Lugares He is at the drugstore.
AT Cidades pequenas She lives at Barcelos.
Períodos do dia She works at night.
(noon,night, midnight, dawn)
Endereços completos Fabrizio lives at 107 Boulevard Street.
Períodos do diaMarcus works in the morning.
(exceto noon, night, midnight e dawn)
Meses The case will arrive in March.
Estações do ano It’s very hot in summer.
IN Anos David graduaded in 2008.
Séculos Manaus was created in 18th century.
Expressões do tempo The computer will be working in few days.
Expressões de lugar (dentro) The memory is in the CPU.
Estados, Cidades grandes, Países, August lives in São Paulo.
Continentes There are many developed countries in Europe.
“sobre” Our bags are on the reception desk.
Dias da semana He has class on Friday.
Datas He has class on Friday.
ON
Transportes coletivos There are a lot of people on that plane.
Nomes de ruas ou avenidas The CETAM is on Djalma Street.
“floor” Gabriel lives on the 8th floor.
5
LÍNGUA INGLESA
Prepositions of Place
Verb tenses
Infinitive
Usos:
- após numerais ordinais
He was the first to answer the prohne.
Observações:
Certos verbos admitem
o gerund ou infinitive sem alteração de sentido.
It started raining. / It started to rain.
2. O verbo STOP admite tanto o gerund quanto o infinitive com alteração de sentido.
He stopped smoking.
(= Ele parou de fumar.)
He stopped to smoke.
(= Ele parou para fumar.)
Imperative
O imperativo, é usado para dar ordens, instruções, fazer pedidos e até mesmo aconselhar alguém. É uma forma verbal utilizada dia-
riamente e que muita gente acaba não conhecendo.
6
LÍNGUA INGLESA
Be careful! – Tome cuidado!
Turn the TV down. – Desligue a televisão.
Complete all the sentences. – Complete todas as sentenças.
Be quiet, please! – Fique quieto, por favor!
Simple Present
O Simple Present é a forma verbal simples do presente. O você precisa fazer para usar o Simple Present é saber os verbos na sua forma
mais simples. Por exemplo “to go” que significa ir, é usado em “I go” para dizer eu corro.
Exemplos de Simple Present:
I run– Eu corro
You run – Você corre/Vocês correm
We run – Nós corremos
They run – Eles correm
Para verbos que têm algumas terminações específicas com “o”, “s”, “ss”, “sh”, “ch” “x” ou “z”, deve-se acrescentar “es” no final:
He goes – Ele vai
She does – Ela faz
It watches – Ele/ela assiste
Quando o verbo termina com consoantes e “y” no final. Por exemplo, os verbos study, try e cry e têm consoantes antes do “y”. Nesses
casos, você deve tirar o “y” e acrescentar “ies” no lugar. Veja o exemplo:
He studies – Ele estuda
She tries – Ela tenta
It cries – Ele/ela chora
Com verbos que também terminam com “y” e têm uma vogal antes, permanece a regra geral da maioria dos verbos: acrescentar
apenas o “s” ao final da palavra.
He enjoys – Ele gosta
She stays – Ela fica
It plays – Ele/ela brinca
7
LÍNGUA INGLESA
Present Continuous
- Usamos o Present Continuous para ações ou acontecimentos ocorrendo no momento da fala com as expressões now, at present, at
this moment, right now e outras.
Exemplo:
She is running at the park now.
Observações:
- Alguns verbos não são normalmente usados nos tempos contínuos. Devemos usá-los, preferencialmente, nas formas simples: see,
hear, smell, notice, realize, want, wish, recognize, refuse, understand, know, like, love, hate, forget, belong, seem, suppose, appear,
have (= ter, possuir), think (= acreditar).
- Verbos monossilábicos terminados em uma só consoante, precedida de uma só vogal, dobram a consoante final antes do acréscimo
de –ing.
Exemplos:
Run → running
swim → swimming
- Verbos dissilábicos terminados em uma só consoante, precedida de uma só vogal, dobram a consoante final somente se o acento
tônico incidir na segunda sílaba.
Exemplos:
prefer → preferring
admit → admitting
listen → listening
enter → entering
- Verbos terminados em –e perdem o –e antes do acréscimo de –ing, mas os terminados em –ee apenas acrescentam –ing.
Exemplos:
make → making
dance → dancing
agree → agreeing
flee → fleeing
- Verbos terminados em –ie, quando do acréscimo de –ing, perdem o –ie e recebem –ying.
Exemplos:
lie → lying
die → dying
Porém, os terminados em –ye não sofrem alterações.
dye → dyeing
8
LÍNGUA INGLESA
Formas afirmativa, negativa e interrogativa
Immediate Future
O simple future é um das formas usadas para expressar ações futuras. Em geral vem acompanhado de palavras que indicam futuro,
como: tomorrow, next. Geralmente, usamos a palavra “will”. Posteriormente, você verá que também podemos utilizar “be going to” para
formar o futuro e a diferença de utilização entre eles.
Example:
Affirmative: What will you study?
Negative: I will study English.
Interrogative: I won’t study English.
Note: we use the auxiliary verb WILL +verbs in infinitive (without “to” ).
Forma contraída
I will study - I’ll study
You will travel - You’ll travel
He will / She will eat - He’ll / She’ll eat
It will happen - It’ll happen
We will work - We’ll work
You will dance - You’ll dance
They will do - They’ll do
Simple Past
With most verbs, the simple past is created simply by adding “ED”. That form belongs for all to the people, not varying in the 3rd person.
Simple past is used to indicate an accomplished action and totally finished in the past, corresponding in Portuguese, the perfect pre-
terite as imperfect preterite.
Ex.: Santos Dumont lived in France. He created the 14 Bis.
9
LÍNGUA INGLESA
Example:
To work
I worked
You worked
He worked
She worked
It worked
We worked
They worked
Usos:
- ações definidas no passa do com yesterday, ...ago, last night (week,month etc) e expressõesque indiquem ações completamente
terminadas no passado.
Exemplos:
Peter flew to London last night.
Cabral discovered Brazil in 1500.
- ações habituais no passado com as mesmas expressões e advérbios que indicam ações habituais no presente.
Exemplos:
They visited rarely visited their grandparents.
She often got up at 6.
OBSERVAÇÕES
1. As regras de “dobra” de consoantes existentes para o acréscimo de -ing aplicam-se quando acrescentarmos -ed.
stop → stopped
prefer → preferred
2. Verbos terminados em -y perdem o -y e recebem o acréscimo de -ed quando o -y aparecer depois de umaconsoante. Caso contrário,
o -y permanece.
rely → relied
play → played
10
LÍNGUA INGLESA
Past Continuous
Usos:
- ação que estava ocorrendo no passado quando outra ação passada começou.
Exemplos:
They were having a bath when the phone rang.
She was watching TV when Stanley arrived.
Present Perfect
Usos:
- ação indefinida no passado, sem marca de tempo. Isso o diferencia do Simple Past.
We have finished our homework.
Jane has traveled to London.
They have accepted the job offer.
- com os advérbios EVER, NEVER, ALREADY, YET, JUST, SO FAR, LATELY, RECENTLY e expressões como ONCE, TWICE, MANY TIMES, FEW
TIMES etc.
11
LÍNGUA INGLESA
Exemplos:
As cold as = tão frio quanto
Not so (as) cold as = não tão frio quanto
Less cold than = menos frio que
The least cold = o menos frio
As expensive as = tão caro quanto
Not so (as) expensive as = não tão caro quanto
Less expensive than = menos caro que
The least expensive = o menos caro
12
LÍNGUA INGLESA
Observações: Formas irregulares
1. Usamos os sufixos –er ou –est com adjetivos / advérbios de Alguns adjetivos e advérbios têm formas irregulares no compa-
uma só sílaba. rativo e superlativo de superioridade.
Exemplos:
taller than = mais alto que / the tallest = o mais alto
good (bom / boa)
bigger than = maior que / the biggest = o maior better than - the best
well (bem)
2. Usamos os sufixos –er ou –est com adjetivos de duas sílabas. bad (ruim / mau)
- the worst
Exemplos: badly (mal)
happier than = mais feliz que little (pouco) less than - the least
cleverer than = mais esperto que
the happiest = o mais feliz Alguns adjetivos e advérbios têm mais de uma forma no com-
the cleverest = o mais esperto parativo e superlativo de superioridade.
3. Usamos os prefixos more e most com adjetivos de mais de
duas sílabas. far (longe)
Exemplos: farther than – the farthest (distância)
further (than) – the furthest (distância / adicional)
More comfortable than = mais confortável que old (velho)
More careful than = mais cuidadoso que older than – the oldest
The most comfortable = o mais confortável elder – the eldest (só para elementos da mesma família)
The most careful = o mais cuidadoso late (tarde)
the latest (o mais recente)
4. Usamos os prefixos more e most com advérbios de duas sí- the last (o último da série)
labas.
Exemplos: Adverbs (manner, modifier and frequency)
More afraid than = mais amedrontado que - Advérbios de frequência (OFTEN, GENERALLY, SOMETIMES,
More asleep than = mais adormecido que NEVER, SELDOM, ALWAYS...) são colocados, de preferência, ANTES
The most afraid = o mais amedrontado do verbo principal ou APÓS o verbo auxiliar ou o verbo to be.
The most asleep = o mais adormecido
They USUALLY watch TV in the evenings.
5. Usamos os prefixos more e most com qualquer adjetivo ter- She is ALWAYS late.
minado em –ed, –ing, –ful, –re, –ous. These curtains haveNEVER been cleaned.
Exemplos:
tired – more tired than – the most tired (cansado) Expressões adverbiais de freqüência são colocadas no final ou
charming – more charming than – the most charming (char- no início de uma oração.
moso) They watch TV EVERY EVENING.
hopeful – more hopeful than – the most hopeful (esperançoso) ONCE A WEEK they go swimming.
sincere – more sincere than – the most sincere (sincero)
famous – more famous than – the most famous (famoso) -Advérbios de probabilidade (POSSIBLY, PROBABLY, CER-
TAINLY...) são colocados antes do verbo principal mas após be ou
Variações ortográficas um verbo auxiliar.
- Adjetivos monossilábicos terminados em uma só consoante, He PROBABLYknows her phone number.
precedida de uma só vogal dobram a consoante final antes de rece- He isCERTAINLY at home now.
berem –er ou –est.
Exemplos: PERHAPS e MAYBE aparecem normalmente no começo de
fat – fatter than – the fattest (gordo) uma oração.
thin – thinner than – the thinnest (magro) PERHAPS I’ll see her later.
MAYBE you’re right.
- Adjetivos terminados em Y, precedido de vogal, trocam o Y
por I antes do acréscimo de –er ou –est: - Advérbios de tempo (TODAY, TOMORROW, NOW, SOON, LA-
Exemplos: TELY...) são colocados no final ou no início de uma oração.
angry – angrier than – the angriest (zangado) He bought a new camera YESTERDAY.
happy – happier than – the happiest (feliz) ON MONDAY I’m going to London.
Exceção
shy - shyer than - the shyest (tímido) - Advérbios de modo (SLOWLY, QUICKLY, GENTLY, SOFTLY,
WELL...) aparecem normalmente no final da oração. Alguns advér-
- Adjetivos terminados em E recebem apenas –r ou –st. bios podem também aparecer no início de uma oração se quiser-
Exemplos: mos enfatizá-los.
nice– nicer than – the nicest (bonito, simpático) She entered the room SLOWLY.
brave – braver than – the bravest (corajoso) SLOWLY she entered the room.
13
LÍNGUA INGLESA
serious – seriousLY
careful – carefulLY
quiet – quietLY
heavy – heaviLY
bad – badLY
- Advérbios de lugar (HERE, THERE, EVERYWHERE...) são usados no início ou no final de orações.
You’ll find what you want HERE.
THERE comes the bus.
There to be
Para a formação do verbo haver, em inglês, faz-se necessário a junção de there e o verbo to be. Veja alguns exemplos práticos, a seguir.
SINGULAR PLURAL
Present There is Present There are
Past There was Past There were
Tradução Há Tradução Havia
Examples:
There is a bad operation in the computer.
There are two basic types of monitors.
Before there was the public internet.
14
LÍNGUA INGLESA
Can
O verbo can geralmente significa poder e/ou conseguir e é usado para indicar várias situações:
- Possibilidade
- Capacidade/habilidade
- Permissão
- Pedido
Capacidade, habilidade
She can speak five languages. (present)
She could play tennis when she was younger. (past)
She will be able to translate the text. (future)
Permissão
You can use my car.
She can sit anywhere.
O verbo can é sempre acompanhado do verbo principal no infinitivo sem o to. Ele pode ser usado para construir frases afirmativas,
negativas e interrogativas.
Word order
A estrutura básica das frases em inglês é semelhante à nossa, no português. Ela segue um esquema que chamamos SVO, ou seja Su-
jeito-Verbo-Objeto. O mesmo vale para frases negativas, em que simplesmente se adiciona ao verbo auxiliar a forma negativa not a essa
estrutura afirmativa. Do mesmo jeito que, no português, usamos um advérbio de negação, como “não”.
Formar uma frase interrogativa em inglês também não é complicado, embora os componentes da frase mudem um pouco de posição
em relação ao português. O mesmo vale para frases exclamativas.
Para formar frases afirmativas, o inglês usa o mesmo esquema Sujeito-Verbo-Objeto que usamos no português. Já para frases nega-
tivas devemos apenas adicionar o not a essa estrutura afirmativa — exatamente como fazemos em nosso idioma — mas também inserir
um verbo auxiliar em inglês.
Já para interrogações e exclamações, os componentes das frases em inglês mudam um pouco, em relação aos do português.
Tradução literal não tem como funcionar porque cada língua é parte de uma cultura e as culturas são completamente diferentes.
Fica fácil não cometer mais este erro se você lembrar que as frases em Inglês sempre precisam ter um sujeito (considerando somente
a frase central). As únicas que começam direto do verbo são as imperativas como tell me, stand up e ask her.
Entender a estrutura de um idioma é muito mais importante do que tentar traduzir tudo ao pé-da-letra.
Sujeito
O sujeito, que sempre ocupa a primeira posição na frase, contrário ao que ocorre na língua portuguesa, nunca é omitido. O sujeito
pode ser representado por um ou vários substantivos ou por pronomes pessoais.
15
LÍNGUA INGLESA
Verbo
Como se pode observar nos exemplos anteriores, o verbo ou a locução verbal (sublinhados) ocupa a segunda posição na estrutura
frasal inglesa.
Na poesia, na música ou no inglês falado coloquial, pode-se encontrar exemplos em que esta regra não é observada.
Entretanto, em linguagem técnico-científica, como no inglês computacional, o formato S+V+C é usado rigorosamente.
Complementos
Os complementos são palavras ou frases inteiras que detalham ou completam as informações estabelecidas pelo sujeito e o verbo,
que são os únicos termos essenciais da oração.
Analisemos estas frases: “A secretária chegou”, “O ônibus saiu”, “O avião caiu”. Sintaticamente, já temos os dois elementos indispen-
sáveis: O sujeito que determina quem está envolvido na execução de uma determinada ação e o verbo que responde pelo ato executado.
WH-questions
Os Interrogativos (Question Words) são usados para se obter informações específicas. As perguntas elaboradas com eles são chama-
das wh-questions, pois todos os interrogativos, com exceção apenas de how (como), começam com as letras wh.
Há perguntas em inglês iniciadas por pronomes interrogativos para se obter informações do tipo: “quem, o que, como, quando, onde”.
Whodoesshelove? (objeto)
auxiliarsujeitoverbo
principal
WHOM = quem
WHERE = onde
Where are you going tonight?
WHY = por que
Why don’t you come to the movies with us?
WHEN = quando
“When were you born?” “In 1970.”
HOW = como
“How is his sister?” “Fine.”
WHOSE = de quem
“Whose dictionary is this?” “John’s.”
16
LÍNGUA INGLESA
Formas compostas de WHAT e HOW
- WHAT
Vestimentas
17
LÍNGUA INGLESA
T-shirt = camiseta Subjects
Sweatshirt = Blusa de moletom Inglês: English
Shirt = camisa Matemática: Mathematics (Math)
Suit = terno História: History
Pants:calça Geografia: Geography
Tie = gravata Química: Chemistry
Wedding dress = vestido de noiva Física: Physics
Jacket = jaqueta Ciência: Science
Skirt = saia Biologia: Biology
Coat = casaco Educação Física: Physical Education (P.E.)
Shorts = Bermuda Artes: Arts
Dress = vestido Música: Music
Underpants = cueca Literatura: Literature
Panties = calcinha Redação: Writing
Bra = sutiã Português: Portuguese
Nightgown = camisola Espanhol: Spanish
Pajamas = pijama
Robe = roupão Diversão e mídia
Scarf = cachecol Movies/cinema = cnema
Uniform = uniforme Theater = teatro
Singlet = regata Bar/Pub = bar
Swimming Trunks = sunga Restaurant = restaurante
Swimsuit = maiô Café = lanchonete
Bikini = biquíni Park = parque
Concert = show
Cotidiano Play = peça de teatro
18
LÍNGUA INGLESA
French fries — Batata-frita Veal — Vitela
Ham — Presunto
Ice cream — Sorvete Vegetables (vegetais)
Jam — Geleia Anise — Anis
Jello — Gelatina Asparagus — Espargos
Margarine — Margarina Beans — Feijão
Mashed potatoes — Purê de batatas Beet — Beterraba
Meat — Carne Broccoli — Brócolis
Pancacke — Panqueca Cabbage — Repolho
Pasta — Macarrão Carrot — Cenoura
Peanut — Amendoim Cauliflower — Couve-flor
Peanut butter — pasta de amendoim Celery — Aipo/Salsão
Pepper — Pimenta Corn — Milho
Pie — Torta Cucumbers — Pepinos
Pizza — Pizza Eggplant — Berinjela
Popsicle — Picolé Garlic — Alho
Potato chips — Batata-frita Ginger — Gengibre
Rice — Arroz Green onion — Cebolinha verde
Salt — Sal Heart of Palms — Palmito
Sandwich — Sanduíche Leeks — Alho-poró
Sliced bread — Pão fatiado Lettuce — Alface
Soup — Sopa Manioc — Mandioca
Sugar — Açúcar Mushroom — Cogumelo
Toast — Torrada Okra — Quiabo
Water cracker — Bolacha de água e sal Olives — Azeitonas
Onion — Cebola
Meat (carne) Pepper — Pimenta
Bacon — Bacon Pickles — Picles
Barbecue — Churrasco Potato — Batata
Beef — Carne de vaca Pumpkin — Abóbora
Beef Jerky — Carne seca Radish — Rabanete
Blood sausage —Chouriço Rucola — Rúcula
Carp — Carpa Snow pea — Ervilha
Chicken — Frango Spinach — Espinafre
Chicken legs — Pernas de Frango Sweet potato — Batata doce
Chicken wings — Asas de Frango Tomato — Tomate
Cod — Bacalhau Turnip — Nabo
Crab — Caranguejo Watercress — Agrião
Duck — Pato Yams — Inhame
Fish — Peixe
Grilled fish — Peixe grelhado Fruits (frutas)
Ground beef — Carne moída Apple — Maçã
Hamburger — Hambúrguer Apricots — Damascos
Lobster — Lagosta Avocado — Abacate
Meatball — Almôndega Banana — Banana
Mortadella — Mortadela Blackberry — Amora
Pork chops — Costeletas de porco Blueberry — Mirtilo
Pork legs — Pernas de porco Cashew nut — Castanha de Cajú
Pork loin — Lombo de porco Cherry — Cereja
Rib cuts — Costela Coconut — Coco
Roast chicken — Frango assado Figs — Figos
Salami — Salame Grapes — Uvas
Salmon — Salmão Guava — Goiaba
Sausage — Linguiça Honeydew melon — Melão
Shrimp — Camarão Jackfruit — Jaca
Sirloin — Lombo Kiwi — Kiwi
Smoked sausage — salsicha defumada Lemon — Limão
Squid — Lula Mango — Manga
Steak — Bife Orange — Laranja
Stew meat — Guisado de carne Papaya — Mamão
T-bone steak — Bife t-bone Passion fruit — Maracujá
Tenderloin — Filé mignon Peach — Pêssego
Tuna — Atum Pear — Pera
Turkey — Peru Pineapple — Abacaxi
19
LÍNGUA INGLESA
Plum — Ameixa
Prune — Ameixa-seca
Start fruit — Carambola
Strawberry — Morango
Tamarind — Tamarindo
Tangerine — Tangerina
Watermelon — Melancia
Drinks (bebidas)
Beer — Cerveja
Brandy — Aguardente
Champagne — Champanhe
Chocolate — Chocolate
Cocktail — Coquetel
Coffee — Café
Coffee-and-milk — Café-com-leite
Draft beer — Chope
Gin — Gim
Hot chocolate — Chocolate quente
Juice — Suco
Lime juice — Limonada
Liqueur — Licor
Milk — Leite
Mineral water — Água mineral
Red wine — Vinho tinto
Rum — Rum
Soda — Refrigerante
Sparkling mineral water — Água mineral com gás
Still mineral water — Água mineral sem gás
Tonic water — Água tônica
Vodka — Vodca
Water — Água
Whiskey —Uísque
White wine —Vinho branco
Yogurt — Iogurte
20
LÍNGUA INGLESA
Stamp collecting = colecionar selos
Surfing = surfar
Working out = malhar
Saúde e exercícios
Aches (Dores)
Backache – dor nas costas
Earache – dor de ouvido
Headache – dor de cabeça
Heartache – dor no peito
stomachache – dor de estômago
Toothache – dor de dente
21
LÍNGUA INGLESA
Other Diseases (Outras doenças)
Aneurism - aneurisma
Appendicitis - apendicite
Asthma – asma
Bronchitis – bronquite
Cancer – câncer
Cirrhosis - cirrose
Diabetes – diabetes
Hepatitis – hepatite
High Blood Pressure – hipertensão (pressão alta)
Pneumonia – pneumonia
Rheumatism – reumatismo
Tuberculosis – tuberculose
Moradia;
Povos e línguas
22
LÍNGUA INGLESA
Suspicious = suspeito Aquarium – Aquário
Surprised = surpreso Art gallery – Galeria de arte
Loving= amoroso ATM (Automatic Teller Machine) – Caixa eletrônico
Curious = curioso Auto repair shop ou Garage – Oficina mecânica
Envious = invejoso Avenue – Avenida
Jealous = ciumento Baby store – Loja infantil ou bebê
Miserable = miserável Barber shop – Barbearia
Confused = confuso Bakery – Padaria
Stupid = burro Bank – Banco
Angry = com raiva Beach – Praia
Sick = enjoado/doente Beauty salon/parlor/shop – Salão de beleza
Ashamed = envergonhado Block – Quarteirão
Indifferent = indiferente Bookstore ou Bookshop – Livraria
Determined = determinado Bridge – Ponte
Crazy = louco Building – Edifício ou Prédio
Depressed = depressivo Bus station – Rodoviária
Frightened = assustado Bus stop – Ponto de ônibus
Interested = interessado Butcher shop – Açougue
Shy = tímido Cabstand ou Taxi stand – Ponto de taxi
Hopeful = esperançoso Capital – Capital
Regretful = arrependido Cathedral – Catedral
Scared = assustado Cemetery – Cemitério
Stubborn = teimoso Chapel – Capela
Thirsty = com sede Church – Igreja
Guilty = culpado Circus – Circo
Nervous = nervoso City – Cidade
Embarrassed = envergonhado Clothing store – Loja de roupas
Disgusted = enojado Club – Clube
Proud = orgulhoso Coffee shop – Cafeteria
Lonely = solitário College – Faculdade
Frustrated = frustrado Computer store – Loja de informática
Hurt= magoado Concert hall – Casa de espetáculos ou Sala de concertos
Hungry = com fome Convenience store – Loja de conveniência
Tired= cansado Corner – Esquina
Thoughtful = pensativo Costume store – Loja de Fantasia
Optimistic = otimista Court – Quadra de esportes ou pode ser Tribunal ou comumen-
Relieved = aliviado te chamado de Fórum, depende do contexto.
Shocked = chocado Crosswalk/Pedestrian crossing/Zebra crossing – Faixa de pe-
Sleepy = com sono destres
Excited = animado Cul-de-sac ou Dead end street – Beco ou Rua sem saída
Bad = mal City hall – Prefeitura
Worried = preocupado Dental clinic – Clinica dentária ou Consultório Odontológico
Downtown – Centro da cidade
Identificação pessoal Driving school – Auto escola
First name = Primeiro nome Drugstore – Farmácia ou Drogaria
Middle name = Nome do meio Factory – Fábrica
Last name = Último nome Field – Campo
Full name = Nome completo Fire station – Posto ou Quartel de bombeiros
Date of Birth = Data de nascimento Fishmonger’s – Peixaria
Age = Idade Flower show – Floricultura
Sex = Sexo Food Truck – Food Truck ou Caminhão que vende comida
Place of Birth = Local de nascimento Gas station – Posto de gasolina
Nationality = Nacionalidade Glasses store ou Optical store – Loja de Ótica
Occupation = Ocupação/profissão Greengrocer – Quitanda
Address = Endereço Grocery store – Mercearia
City = Cidade Gym – Academia de ginástica
Country = País Hair salon – Cabeleireiro
Zip code/Post code = Código postal (CEP) Hardware store – Loja de ferramentas
Phone number = Número de telefone Health Clinic/Center – Clinica ou Posto de saúde
E-mail address = Endereço de e-mail Hospital – Hospital
Hotel – Hotel
Lugares e edificações House – Casa
Airport – Aeroporto Ice Cream Shop/Parlor – Sorveteria
Amusement park – Parque de diversões Intersection ou Crossroad – Cruzamento
23
LÍNGUA INGLESA
Jail ou Prison – Cadeia ou Prisão Siblings – irmãos
Jewelry store – Joalheria Brother – irmão
Kiosk – Quiosque Sister – irmã
Lake – Lago Halfbrother – meio-irmão
Laundromat ou Laundry – Lavanderia Halfsister – meia-irmã
Library – Biblioteca Only child – filho único
Lottery retailer ou Lottery kiosk – Casa lotérica Wife – esposa
Mall – Shopping center Husband – esposo
Metropolis – metrópole Fiancé – noivo
Monument – Monumento Bride – noiva
Mosque – Mesquita Uncle – tio
Movie theater – Cinema Aunt – tia
Museum – Museu Cousin – primo e prima
Neighborhood – Bairro Nephew – sobrinho
Newsstand – Banca de jornal Niece – sobrinha
Office – Escritório Grandparents – avós
One-way street – Rua de mão única ou sentido único Grandfather – avô
Outskirts ou Suburb – Periferia ou Subúrbio Grandmother – avó
Park – Parque Grandson – neto
Parking lot – Estacionamento Granddaughter – neta
Penitentiary – Presídio ou Penitenciária Great grandfather – bisavô
Perfume shop – Perfumaria Great grandmother – bisavó
Pet Shop – Pet Shop Great grandson – bisneto
Pizzeria – Pizzaria Great granddaughter – bisneta
Place – Lugar Father-in-law – sogro
Playground – Parque infantil Mother-in-law – sogra
Police station – Delegacia de polícia Brother-in-law – cunhado
Port – Porto Sister-in-law – cunhada
Post office – Agência de correios Stepfather – padrasto
Pub – Bar Stepmother – madrasta
Real estate agency – Imobiliária Stepson – enteado
Reference point ou Landmark – Ponto de referência Stepdaughter – enteada
Restaurant – Restaurante Foster parents – pais adotivos
River – Rio Foster father – pai adotivo
Road – Estrada Foster mother – mãe adotiva
Rotary ou Roundabout – Rotatória
School – Escola Transporte e serviços
Shoe store – Sapataria Airliner: Avião comercial (Aviões maiores geralmente chama-
Sidewalk – Calçada dos de boeing)
Snack bar – Lanchonete Airplane ou apenas plane: Avião
Square – Praça Bike: Bicicleta
Stadium – Estádio Boat: Barco ou bote
Station – Estação Bus: Ônibus
Stationery store – Papelaria Canoe: Canoa
Steak House – Churrascaria Car: Carro
Store – Loja Carriage: Carruagem
Street – Rua Cruiser: Cruzeiro
Subway station – Estação de metrô Ferry: Balsa
Supermarket – Supermercado Glider: Planador
Synagogue – Sinagoga Helicopter ou chopper (informal): Helicóptero
Temple – Templo Jet: Jato ou como falamos às vezes, jatinho
Town – Cidade pequena ou Município Moped ou scooter: Motocicleta ou mobilete (Patinete também
Toy store ou Toy shop – Loja de brinquedos pode ser chamado de scooter)
Train station – Estação de trem Motorbike: Motocicleta ou simplesmente moto
Travel agency – Agência de viagens Motorboat: Lancha
University – Universidade Ocean liner: Transatlântico
Zoo – Zoológico On foot: A pé
Pickup truck: Caminhonete
Relacionamento com outras pessoas Raft: Jangada
Parents – pais Roller skates: Patins
Father – pai Sailboat: Veleiro ou barco à vela
Mother – mãe School bus: Ônibus escolar
Son – filho Ship: Navio
Daughter – filha Skateboard: Skate
24
LÍNGUA INGLESA
Streetcar ou trolley: Bonde Beach Volleyball - Vôlei de Praia
Subway ou metro (inglês americano) ou The underground ou Football – Futebol Americano
informalmente the tube (inglês britânico): Metrô Footvolley - Futevôlei
Taxi ou cab: Táxi Futsal - Futsal
Train: Trem Handball - Handebol
Truck: Caminhão Hockey - Hóquei
Van: Furgão ou van Polo - Polo
Rhythmic Gymnastics - Ginástica Rítmica
Compras Rugby - Rúgbi
Algumas placas com informações importantes: Soccer - Futebol
Out to lunch – Horário de almoço Synchronized Swimming - Nado Sincronizado
Buy one get one free – Pague um, leve dois. Outras formas de Volleyball - Vôlei
passar essa mesma ideia são: BOGOF (sigla para a mesma expres- Water Polo - Polo Aquático
são) e two for one (dois por um).
Clearance sale/Reduced to clear/Closing down sale – Liquida- Mundo natural
ção
Animais em inglês: principais animais domésticos (pets)
Conversando com atendentes Bird: Pássaro;
Excuse me, I’m looking for… – Licença, eu estou procurando Bunny: Coelhinho;
por… Cat: Gato;
I’m just looking/browsing, thanks. – Estou só olhando, obri- Dog: Cachorro;
gado(a). GuineaPig: Porquinho da Índia;
Do you have this in… – Você tem isso em…Complete com o que Mouse: Rato/Camundongo;
você precisa que mude na peça: A bigger size (um tamanho maior)? Parrot: Papagaio;
/ Yellow (amarelo)? / Pink (rosa)? Rabbit: Coelho;
Could I return this? – Eu poderia devolver isso? Turtle: Tartaruga.
Could I try this on? – Posso provar?
What are the store’s opening hours? – Qual o horário em que Animais em inglês: principais nomes de aves
a loja abre? Chicken: Galinha;
Rooster: Galo;
Esporte Pigeon: Pomba;
Peacock: Pavão;
Individual Sports - Esportes Individuais Hawk: Falcão;
Athletics - Atletismo Swan: Cisne;
Automobilism - Automobilismo Sparrow: Pardal;
Artistic Gymnastics - Ginástica Artística Duck: Pato.
Boxing - Boxe
Bowling - Boliche Animais em inglês: principais animais selvagens
Canoeing - Canoagem Alligator: Jacaré;
Cycling - Ciclismo Bat: Morcego;
Equestrianism - Hipismo Bear: Urso;
Fencing - Esgrima Crocodile: Crocodilo;
Golf - Golfe Deer: Viado;
Jiujitsu - Jiu-Jítsu Elephant: Elefante;
Judo - Judô Eagle: Águia;
Karate - Caratê Giraffe: Girafa;
Motorcycling - Motociclismo Hippo: Hipopótamo;
Mountaineering - Alpinismo Kangaroo: Canguru;
Olympic Diving - Salto Ornamental Lion: Leão;
Skiing - Esqui Monkey: Macaco;
Sumo - Sumô Owl: curuja;
Surfing - Surfe Pig: Porco;
Swimming - Natação Snake: Cobra;
Table tennis - Tênis de mesa/Pingue-pongue Squirrel: Esquilo;
Taekwon-Do - Taekwon-Do Stag: Cervo;
Tennis - Tênis Tiger: Tigre;
Triathlon - Triatlo Zebra: Zebra;
Weightlifting - Halterofilismo Wolf: Lobo.
25
LÍNGUA INGLESA
Butterfly: Borboleta; bromélia bromeliads
Caterpillar: Lagarta;
Cockroach: Barata; bétula birch
Cricket: Grilo; canela cinnamon
Fly: Mosca;
Flea: Pulga; carvalho oak
Firefly: Vagalume; castanheiro horse chestnut tree
Grasshoper: Grilo;
caule stem
Ladybug: Joaninha;
Louseorlice: Piolho; cebola onion
Mosquito: Pernilongo/Mosquito; cebolinha green onion
Snail: Caracol;
Spider: Aranha; cedro cedar
Tick: Carrapato; cerejeira cherry tree
Termite: Cupim.
coentro cilantro
Animais em inglês: principais animais marítimos colorau red spice mix
Crab: Caranguejo;
cominho cumin
Dolphin: Golfinho;
Fish: Peixe; coqueiro coconut tree
Octopus: Polvo; cravo clove
Penguin: Pinguim;
Seal: Foca; erva herb
Shark: Tubarão; ervas finas fine herbs
Whale: Baleia.
figueira fig tree
Animais em inglês: principais tipos de peixes folha de louro bay leaves
Carp: Carpa; gengibre ginger
Dogfish: Cação;
Dried Salted Cod: Bacalhau; girassol sunflower
Flounder: Linguado; grama grass
Hake: Pescada;
Scabbardfish: PeixeEspada; lírio lily
Tuna: Atum; macieira apple tree
Tilapia: Tilápia;
manjericão basil
Trout: Truta.
margarida daisy
Animais brasileiros em inglês melissa melissa
Capivara: Capybara;
Boto Cor-de-rosa: Pink Dolphin; musgo moss
Lobo guará: Maned Wolf; noz moscada nutmeg
Mico Leão Dourado: Golden Lion Tamarin;
Onça Pintada: Jaguar; oliveira olive tree
Tamanduá Bandira: Giantanteater; orquídea orchid
Tatu: Armadilo;
orégano oregano
Tucano: Toucan;
Quati: Coati. papoula poppy
pereira pear tree
Plantas em inglês
pinheiro pine tree
PORTUGUÊS INGLÊS planta plant
árvore tree páprica paprika
alecrim rosemary rosa rose
ameixieira plum tree salgueiro willow
arbusto bush / shrub salsa parsley
azaleia azalea samambaia fern
azevinho holly tulipa tulip
açafrão turmeric violeta violet
bordo maple vitória-régia waterlily
26
LÍNGUA INGLESA
Viagens e férias Have a picnic. — Ter um piquenique.
Had a picnic. — Teve um piquenique.
Vocabulário Play frisbee. — Jogar frisbee.
Time off. — Tempo fora do trabalho. Played frisbee. — Jogou frisbee.
Day off. — Dia de folga. Look for seashells. — Procurar por conchas do mar.
Vacation. — Férias. Looked for seashells. — Procurou por conchas do mar.
Go away. — Ir viajar. Watch the sunset. — Assistir o pôr-do-sol.
Travel. — Viajar. Watched the sunset. — Assistiu o pôr-do-sol.
Take a trip. — Fazer uma viagem. Search for historic sites. — Procurar por lugares históricos.
Take time off. — Tirar um tempo fora do trabalho. Searched for historic sites. — Procurou por lugares históricos.
Go to the beach. — Ir para a praia. Get a tan. — Pegar um bronzeado.
Go to the country. — Ir para o interior. Got a tan. — Pegou um bronzeado.
Go sunbathing ou go tanning. — Ir tomar banho de sol, se bron-
Como foram suas férias zear.
How was your vacation? — Como foram as suas férias? Went sunbathing. — Foi se bronzear.
It was good. — Foram boas. Get a sunburn. — Pegar uma queimadura do sol.
It was amazing. — Foram demais. Got a sunburn. — Pegou uma queimadura do sol.
It was very relaxing. — Foi muito relaxante. Get sunburn. — Se queimar, ser queimado pelo sol.
Got sunburn. — Se queimou do sol.
Para onde você foi Wear sunscreen ou wear sunblock. — Usar protetor solar.
Where did you go? — Onde você foi? Wore sunscreen. — Usou protetor solar.
We went to the beach. — Nós fomos para a praia. Use tanning lotion. — Usar bronzeador.
I went to the country with my family. — Eu fui para o interior Used tanning lotion. — Usou bronzeador.
com minha família.
We took a trip to Hawaii. — Nós fizemos uma viagem para o Tempo
Hawaii. As horas em inglês podem vir acompanhadas de algumas ex-
We went to visit our family in France. — Nós fomos visitar a pressões de tempo como:
nossa família na França. Day: dia
Who did you go with? — Com quem você foi? Today: hoje
I went with my sister and brother. — Eu fui com a minha irmã Yesterday: ontem
e meu irmão. The day before yesterday: anteontem
I went with my husband and kids. — Eu fui com meu marido, Tomorrow: amanhã
esposo e crianças. The day after tomorrow: depois de amanhã
I went with my wife and kids. — Eu fui com a minha esposa e Morning: manhã
crianças. Afternoon: tarde
I went with my classmates. — Eu fui com os meus colegas de Evening: noite
aula. Night: noite
Tonight: esta noite
Como você viajou Midday: meio-dia
How did you go? — Como que você foi? At noon: ao meio-dia
We went by plane. — Nós fomos de avião. Midnight: meia noite
We went by car. — Nós fomos de carro. At midnight: à meia-noite
27
LÍNGUA INGLESA
A expressão “o’clock” é utilizada para indicar as horas exatas: Civil Servant = servidor público, funcionário público
Exemplo: 3:00 – It is three o’clock. Clerk = auxiliar de escritório
Coach = treinador, técnico esportivo
A expressão “past” é usada para indicar os minutos antes do Cobbler = sapateiro
30: Comedian = comediante
Exemplo: 6:20 – It is six twenty ou It is twenty past six. Commentator = comentarista (rádio e TV)
Composer = compositor
A expressão “a quarter” é usada para indicar um quarto de Computer programmer = programador
hora (15 minutos): Conference interpreter = intérprete de conferência
Exemplo: 3:15 – It is three fifteen ou It is a quarter past three. Contractor = empreiteiro
Consultant = consultor
A expressão “half past” é usada para indicar meia hora (30 mi- Cook = cozinheiro
nutos): Dancer = dançarino
Exemplo: 8:30 – It is eight thirty ou It is half past eight. Dentist = dentista
Designer = designer, projetista, desenhista
Note que depois dos 30 minutos, em vez da expressão “past”, Diplomat = diplomata
utilizamos o “to”: Doctor, medical doctor, physician = médico
Exemplo: 8.45 – It is eight forty-five ou It is a quarter to nine. Doorman = porteiro
Driver = motorista, piloto de automóvel
Utilizamos as expressões a.m. e p.m. para indicar quando o ho- Economist = economista
rário em inglês ocorre antes ou depois de meio-dia. Editor = editor; revisor
a.m. – antes do meio-dia Electrician = eletricista
p.m. – depois do meio-dia Engineer = engenheiro, maquinista
Farmer = fazendeiro; produtor rural; agricultor
Trabalho e empregos Filmmaker = cineasta, produtor de cinema, diretor de cinema
Accountant = contador Firefighter, fireman = bombeiro
Actor = ator Fisherman = pescador
Actress = atriz Flight attendant = comissário de bordo
Administrator = administrador Foreman = capataz; encarregado
Agronomist = agrônomo Garbageman (ame); dustman (bre) = lixeiro
Anthropologist = antropólogo Gardener = jardineiro
Archaeologist / archeologist = arqueólogo Geographer = geógrafo
Architect = arquiteto Geologist = geólogo Geographer Geógrafo(a)
Astronaut = astronauta Glazer = vidraceiro
Astronomer = astrônomo Graphic designer = designer gráfico
Athlete = atleta Gravedigger = coveiro
Babysitter, baby-sitter, sitter, nanny (ame) = babá Guide = guia
Baker = padeiro Hairdresser, hairstylist = cabeleireiro
Bank clerk = bancário Headmaster, principal (ame) = diretor (de escola)
Banker = banqueiro; bancário Historian = historiador
Bank teller = caixa de banco Housewife = dona de casa
Barber = barbeiro Illustrator = ilustrador
Barista = barista (quem tira café em casas especializadas) Interior designer = designer de interiores, decorador
Bartender = barman Interpreter = intérprete
Bellhop, bellboy = mensageiro (em hotel) Jailer = carcereiro
Biologist = biólogo Janitor, superintendent, custodian = zelador
Biomedical scientist = biomédico Journalist = jornalista
Blacksmith = ferreiro Jeweller (bre), Jeweler (ame) = joalheiro
Bricklayer, mason = pedreiro Judge = juiz (de direito)
Broker = corretor (de seguros, de investimentos etc., menos de Lawyer = advogado
imóveis) Librarian = bibliotecário
Butcher = açougueiro Lifeguard = salva-vidas, guarda-vidas
Butler, major-domo = mordomo Locksmith = serralheiro; chaveiro
Buyer = comprador Maid = empregada doméstica
Cabdriver, cab driver, taxi driver, cabby, cabbie = taxista Male nurse = enfermeiro
Cabinet-maker = marceneiro Manager = gerente
Carpenter = carpinteiro Mathematician = matemático
Cartoonist = cartunista Mechanic = mecânico
Cattle breeder, cattle raiser, cattle farmer, cattle rancher = pe- Medic = militar do Serviço de Saúde; médico
cuarista Meteorologist = meteorologista
Cashier = caixa Midwife = parteira
Chef = chef Miner = mineiro
Chemist (bre) = farmacêutico Milkman = leiteiro
Chemist (ame) = químico model = modelo
28
LÍNGUA INGLESA
Musician = músico Writer = escritor
Nanny (ame) = babá Zoologist = zoólogo
Nurse = enfermeiro, enfermeira
Occupational therapist = terapeuta ocupacional A Marinha
Optician, optometrist = oculista Proa = Bow
Painter = pintor Popa = Stern \ astern
Paleontologist = paleontólogo Bombordo = port
Paramedic = paramédico Boreste = starboard
Personal TRAINER = personal Convés = deck
Pharmacist = farmacêutico (ame) Cf. CHEMIST Linha d aqua = water line
Philosopher = filósofo Castelo de Proa = forecastle
Photographer = fotógrafo Boca = beans
Physicist = físico Comprimento (LOA) = length overall
Physiotherapist = fisioterapeuta Obras Vivas = botton
Pilot = piloto (menos de automóvel), prático Obras Mortas = topsides
Playwright = dramaturgo Pontal = depth
Plumber = encanador, bombeiro (RJ) Calado de Vante = Draught forward
Poet = poeta Tombadilho = Fanny
Police officer, officer, constable = policial Calado a ré = draught forward
Politician = político Costado = ribcage
Porter = porteiro Plano diametral = diametral plane
Postman, mailman = carteiro Bochecha = tack
Producer = produtor (em geral artístico) Alheta = wing \ quarter
Professor = professor (universitário) Passadisso = gangway \ bridge
Proofreader = revisor Casco = hull
Psychiatrist = psiquiatra Borda livre = free board
Psychologist = psicólogo Displacement = tonelagem
Publisher = editor Notice to marine = aviso aos navegantes
Real estate agent, realtor = corretor de imóveis List of Lights = lista de faróis
Receptionist = recepcionista Full Load = plena carga
Referee = árbitro, juiz (esportes), perito (responsável por análi- Fuel = combustível
se de artigos científicos) Cruising speed = velocidade de cruzeiro
Reporter = repórter Draft = projeto
Researcher = pesquisador Length = comprimento
Sailor, seaman = marinheiro Inland Waters = águas interiores
Salesman* = vendedor Bússula = compass
Sales representative, sales rep = vendedor Ship = navio
Saleswoman* = vendedora Ocean liner = navio transatlântico
Scientist = cientista Tug = rebocador
Screenwriter = roteirista Gross Tonnage = arqueação bruta
Sculptor = escultor Tanker Ship = Navio Petroleiro
Seamstress = costureira Plataform Ship = navio plataforma
Secretary = secretária Vessel = navio embarcação
Shopkeeper (ame), storekeeper (bre), shop owner, merchant = Broken = quebrado
lojista, comerciante Rope = cabo
Singer, vocalist = cantor Boom = pau de carga
Social worker = assistente social Starboard = boreste
Speech therapist = fonoaudiólogo Port = bombordo
Statistician = estatístico Speed = velocidade
Systems analyst = analista de sistemas Ahead = a frente
Tailor = alfaiate Crew = tripulação
Teacher = professor Stern = popa
Operator = operador Fire = fogo
Operator, telephone operator = telefonista Fireman = bombeiro
Teller = caixa (geralmente de banco) Hose = mangueira
Trader = trader, operador (em bolsa de valores) Fire Hose = mangueira de incêndio
Translator = tradutor Tonnage Length = comprimento tonelagem
Travel agent = agente de viagens Scend = Caturro
Treasurer = tesoureiro Heel = adernar (mesmo que banda)
Valet = manobrista Bulkhead = Antepara
Vet, veterinarian = veterinário Flush Deck = convés corrido
Waiter* = garçom Hold = porão
Waitress* = garçonete Bollard = cabeço no cais
Welder = soldador Bitt = cabeço no navio
29
LÍNGUA INGLESA
Profissões a bordo no navio Bags Balles = bolsas de fardos
Captain of Long Haul = capitão de longo curso Steel plates = chapas de aço
Auxiliary Health = auxiliar de saúde Homem ao mar = man over board
Steward = taifeiro Merchant Ship = Navio mercante
Cook = cozinheiro
Pumpman = bombeiro (trabalha com bombas) Chamadas e comunicações
Nurse = enfermeiro Não especificado = unspecified
Officer = oficial Explosion = explosão
Skipper = patrão Alagado = flooding
Helmsman = timoneiro Collision = colisão
Bo’sun = mestre ou contra mestre Grounding = encalhando
Seaman = homem do mar Adernado = listing
Sailor = marinheiro Capsizing = emborcando
Engineer = chefe de máquinas Sin King = naufragando
Mid Ship = meio navio Disabled = sem governo
Ship’s Articles = rol de equipagem Adrift = a deriva
Ship’s Log = diário de bordo Abandonar o navio = abandoning ship
Insurance Certificate = certificado de seguro Piracy = pirataria
Customs Clearance = aduaneiro Ataque armado = armed attack
Charter Party = Fretamento Grande = big
Bill of Health = certificado de saúde
Charts = cartas hidrográficas
International Convention for the Safety of Live at Sea = conven-
ção internacional de salvaguarda da vida humana no mar. (Solas) EXERCÍCIOS
STCW = Standards of training certification and watchkeeping =
convenção internacional sobre normas de formação certificação e 01. (Colégio Pedro II - Professor – Inglês - Colégio Pedro II –
service de quarto para marinheiro. 2019)
EPP = personal projective equipament = EPI equipamento de
proteção individual. TEXT 6
Fire Extinguisher = extintor de incêndio
Rudder = leme “Probably the best-known and most often cited dimension of
Helm = timão the WE (World Englishes) paradigm is the model of concentric cir-
Bosun’s Locker = paiol do mestre cles: the ‘norm-providing’ inner circle, where English is spoken as
Oars = remos a native language (ENL), the ‘norm-developing’ outer circle, where
Buoy = boia it is a second language (ESL), and the ‘norm-dependent’ expanding
Fire Alarm = alarme de incêndio circle, where it is a foreign language (EFL). Although only ‘tentati-
Rope Ladder = escada de quebra peito vely labelled’ (Kachru, 1985, p.12) in earlier versions, it has been
Gangway = passadiço claimed more recently that ‘the circles model is valid in the senses
Ports = portos of earlier historical and political contexts, the dynamic diachronic
Port Captaincy = capitania dos portos advance of English around the world, and the functions and stan-
Yacht Harbours = docas de recreio dards to which its users relate English in its many current global
Coast Guard = guarda costeira incarnations’ (Kachru and Nelson, 1996, p. 78).”
Watch Tower = posto de vigia PENNYCOOK, A. Global Englishes and Transcultural Flows. New York:
Life Boat Station = Estação de Salva Vidas Routledge, 2007, p. 21.
Dependências a bordo According to the text, it is possible to say that the “circles mo-
Galley = cozinha del” established by Kachru
Crew Mess = refeitório da tripulação a) represents a standardization of the English language.
Stateroom = cabine de dormir b) helps to explain the historicity of the English language.
c) establishes the current standards of the English language.
Amarração de cabos d) contributes to the expansion of English as a foreign langua-
Rope = cabo \ corda ge.
Dock line = cabo de amarração
Warp = lais de guia 02. (Colégio Pedro II - Professor – Inglês - Colégio Pedro II –
Reef Knot = nó direito 2019)
Volta do Fiel = clove hitch
Fisherman’s Bend = volta do Anete TEXT 5
Kink = coca (nó na mangueira)
Yarn = fibra “In other words, there are those among us who argue that the
Order = ordem future of English is dependent on the likelihood or otherwise of the
Anchor = ancora U.S. continuing to play its hegemonic role in world affairs. Since that
possibility seems uncertain to many, especially in view of the much-
Estivagem de carga -talked-of ascendancy of emergent economies, many are of the opi-
Rope Sling = linga de cabo nion that English will soon lose much of its current glitter and cease
30
LÍNGUA INGLESA
to be what it is today, namely a world language. And there are those amongst us who further speculate that, in fifty or a hundred years’
time, we will all have acquired fluency in, say, Mandarin, or, if we haven’t, will be longing to learn it. […] Consider the following argument:
a language such as English can only be claimed to have attained an international status to the very extent it has ceased to be national, i.e.,
the exclusive property of this or that nation in particular (Widdowson). In other words, the U.K. or the U.S.A. or whosoever cannot have it
both ways. If they do concede that English is today a world language, then it only behooves them to also recognize that it is not their exclu-
sive property, as painful as this might indeed turn out to be. In other words, it is part of the price they have to pay for seeing their language
elevated to the status of a world language. Now, the key word here is “elevated”. It is precisely in the process of getting elevated to a world
status that English or what I insist on referring to as the “World English” goes through a process of metamorphosis.”
RAJAGOPALAN, K. The identity of “World English”. New Challenges in Language and Literature. Belo Horizonte: FALE/UFMG, 2009, p. 99-100.
03. (Prefeitura de Cuiabá - MT - Professor de Ensino Fundamental - Letras/ Inglês - SELECON – 2019)
Texto III
Warnock (2009) stated that the first reason to teach writing online is that the environment can be purely textual. Students are in a
rich, guided learning environment in which they express themselves to a varied audience with their written words. The electronic commu-
nication tools allow students to write to the teacher and to each other in ways that will open up teaching and learning opportunities for
everyone involved. Besides, writing teachers have a unique opportunity because writing-centered online courses allow instructors and
students to interact in ways beyond content delivery. They allow students to build a community through electronic means. For students
whose options are limited, these electronic communities can build the social and professional connections that constitute some of educa-
tion’s real value (Warnock, 2009).
Moreover, Melor (2007) pointed out that social interaction technologies have great benefits for lifelong education environments. The
social interaction can help enhancing the skills such as the ability to search, to evaluate, to interact meaningfully with tools, and so on.
Education activities can usually take place in the classroom which teacher and students will face to face, but now, it can be carried out
through the social network technologies including discussion and assessment. According to Kamarul Kabilan, Norlida Ahmad and Zainol
Abidin (2010), using Facebook affects learner motivation and strengthens students’ social networking practices. What is more, according
to Munoz and Towner (2009), Facebook also increases the level of web-based interaction among both teacher-student and student-stu-
dent. Facebook assists the teachers to connect with their students outside of the classroom and discuss about the assignments, classroom
events and useful links.
Hence, social networking services like Facebook can be chosen as the platform to teach ESL writing. Social networking services can
contribute to strengthen relationships among teachers as well as between teachers and students. Besides, they can be used for teachers
and students to share the ideas, to find the solutions and to hold an online forum when necessary. Using social networking services have
more options than when using communication tools which only have single function, such as instant messaging or e-mail. The people can
share interests, post, upload variety kinds of media to social networking services so that their friends could find useful information (Wiki-
pedia, 2010).
(Adapted from: YUNUS, M. D.; SALEHI, H.; CHENZI, C. English Language Teaching; Vol. 5, No. 8; 2012.)
Das opções a seguir, aquela que se configura como o melhor título para o Texto III é:
a) Advantages of Integrating SNSs into ESL Writing Classroom
b) Using Communication Tools Which Only Have Single Function
c) Facebook Assists the Teachers to Connect with Their Students
d) Using Social Networking Services to Communicate with Colleagues
31
LÍNGUA INGLESA
I. No primeiro quadrinho Hagar consultou o velho sábio para 07. (SEDF - Professor Substituto – Inglês - Quadrix – 2018)
saber sobre o segredo da felicidade.
II. No segundo quadrinho as palavras that e me se referem, res-
pectivamente, ao “velho sábio” e a “Hagar”.
III. As palavras do velho sábio no último quadrinho são de que
é melhor dar que receber.
The Aral Sea was once the fourth biggest landlocked sea in the
world – 66,100 square kilometers of surface. With abundant fishing
resources, the Sea provided a healthy life for thousands of people.
The Aral receives its waters from two rivers – the Amu Dar’ya
and the Syr Dar’ya. In 1918, the Soviet government decided to di-
vert the two rivers and use their water to irrigate cotton planta-
tions. These diversions dramatically reduced the volume of the Aral.
As a result, the concentration of salt has doubled and impor-
tant changes have taken place: fishing industry and other enterpri-
ses have ceased: salt concentration in the soil has reduced the area Based on the text, judge the following items.
available for agriculture and pastures; unemployment has risen dra- The final “s” in “ideas” (line 2) and “brains” (line 8) is pronoun-
matically; quality of drinking water has been declining because of ced in the same way.
increasing salinity, and bacteriological contamination; the health of ( ) Certo
the people, animal and plant life have suffered as well. ( ) Errado
In the past few decades, the Aral Sea volume has decreased by
75 percent. This is a drastic change and it is human induced. During 08. I normally have two long ________ a year.
natural cycles, changes occur slowly, over hundreds of years. A)holiday
The United Nations Environment Program has recently created B)holidays
the International Fund for Saving the Aral Sea. Even if all steps are C)holidaies
taken, a substantial recovery might be achieved only with 20 years. D)holidayes
(From: https://www.unenvironment.org/)
09. They have four ________, all girls.
De acordo com o texto: The diversion of the rivers has reduced A)childs
the volume of the Aral..., assinale a alternativa correta. B)childes
a) by 60 percent C)childen
b) by 70 percent D)children
c) by 75 percent
d) by 66,100 kilometers 10. You must remember to brush your _____ after eating.
A)tooths
06. (Pref. de Teresina - PI - Professor de Educação Básica - Lín- B)toothes
gua Inglesa - NUCEPE – 2019) C)teeth
D)teeths
The plural form of brother-in-law, foot and candy is
a) brothers-in-laws, feet ,candys. 11. (Prefeitura de Fraiburgo - SC - Professor - Língua Inglesa -
b) brothers-in-law, feet, candies. FEPESE – 2019)
c) brother-in-laws, feet, candies. The Disappearing Honeybee
d) brothers-in-law, foots, candies.
e) brother-ins-law, foots, candys. Honeybees do more than just make honey. They fly around and
pollinate flowers, plants, and trees. Our fruits, nuts, and vegetables
rely.....................these pollinators. One third.....................America’s
food supply is pollinated.....................the honeybee.
Have you seen or heard a honeybee lately? Bees are myste-
riously disappearing in many parts of the world. Most people don’t
know about this problem. It is called “colony collapse disorder”
(CCD). Some North American beekeepers lost 80% of their hives
from 2006-2008. Bees in Italy and Australia are disappearing too.
32
LÍNGUA INGLESA
The disappearance of the honeybee is a serious problem. Can is frequently sidelined or ignored when it could be used as a resour-
you imagine never eating another blueberry? What about almonds ce and a way to discover more about evolving personal and social
and cherries? Without honeybees food prices will skyrocket. The motivations for learning.
poorest people always suffer the worst when there is a lack of food. One example of how mobile devices can bridge formal and
This problem affects other foods besides fresh produce. Ima- informal learning is through instantmessaging applications. Both
gine losing your favourite ice cream! Haagen Daaz is a famous ice synchronous and asynchronous activities can be developed for lan-
cream company. Many of their flavours rely on the hard working guage practice outside the classroom. For example, in a discussion
honeybee. In 2008, Haagen Daaz began raising money for CCD. They group on Whatsapp, students can discuss short videos, practice vo-
also funded a garden at the University of California called The Ha- cabulary with picture collages, share recent news, create captions
ven. This garden helps raise awareness about the disappearing ho- and punch lines for memes, and take turns to create a multimodal
neybee and teaches visitors how to plant for pollinators. story. Teachers can also create applications specifically to practice
Donating money to research is the most important thing hu- new vocabulary and grammar to support classroom learning.
mans can do to save the honeybee. Some scientists blame CCD on Digital and mobile media are changing and extending langua-
climate change. Others think pesticides are killing the bees. Com- ge use to new environments as well as creating opportunities to
mercial bee migration may also cause CCD. Beekeepers transport learn in different ways. Mobile technology enables us to get physi-
their hives from place to place in order to pollinate plants year rou- cally closer to social contexts of language use which will ultimately
nd. influence the ways that language is used and learned. Therefore,
https://www.englishclub.com/reading/environment/honeybee.htm let us incorporate mobile learning into our EFL lessons and literally
“have the world in our hands”.
Analyze the sentences according to structure and grammar use. (Disponível em http://www.richmondshare.com.br/going-mobile-goin-
1. The underlined words in the following sentence: “ The poo- g-further/)
rest people always suffer the worst when there is a lack of food.”,
are examples of adjectives in the comparative of superiority degree. In “Consequently, there are missed opportunities in terms of
2. In the sentence:” Imagine losing your favourite ice cream!”, mutual benefit: formal education remains somewhat detached
the underlined word is a noun. from rapid socio-technological change, and informal learning is fre-
3. The words in bold in the text: ‘they’ and ‘our’ are pronouns. quently sidelined or ignored when it could be used as a resource and
4. The word ‘hives’ has the following definition: a container for a way to discover more about evolving personal and social motiva-
housing honeybees. tions for learning.”, the pronoun it (paragraph 2, line 10) refers to:
A) formal education
Choose the alternative which contains all the correct affirma- B) informal learning
tives: C) mutual benefit
A) Only 3 is correct. D) change
B) Only 4 is correct. E) resource
C) Only 1 and 2 are correct.
D) Only 2 and 3 are correct. 13. (CRA-PR - Analista Sistema - Quadrix – 2019)
E) Only 2 and 4 are correct.
33
LÍNGUA INGLESA
15. (SEDF - Professor Substituto – Inglês - Quadrix – 2018)
( ) Certo
( ) Errado
34
LÍNGUA INGLESA
Choose the alternative that presents the correct prepositions that are missing in the first paragraph.
A) on • of • by
B) in • off • by
C) at • from • about
D) on • from • by
E) at • of • due to
17. (Prefeitura de Sapucaia do Sul - RS - Professor – Área II – Língua Inglesa - FUNDATEC – 2019)
In lines 02, 03, 20 and 27 the correct sequence of particles to fill in the blanks is:
A) on – on – to – to
B) on – at – for – to
C) on – at – for – for
D) in – at – for – for
E) in – on – for – to
Complete the sentences with in, at or on and choose the correct alternative.
She lives _____ the countryside.
Mark is _____ university.
Don´t drop litter ____ the ground.
I arrived ____ the USA last week.
A) in - at - on - on
B) in - at - on - in
C) on - on - in - in
D) at - in - in - in
35
LÍNGUA INGLESA
19.(Pref. de Teresina - PI - Professor de Educação Básica - Lín- 21. (Prefeitura de Cabo de Santo Agostinho - PE - Professor II –
gua Inglesa - NUCEPE – 2019) Inglês - IBFC – 2019) O tempo verbal utilizado para descrever fatos
que aconteceram em tempo não determinado chama-se _____.
Smiling Can Actually Make People Happier, Study Finds Assinale a alternativa que preencha corretamente a lacuna.
a) Past continuous
Researchers of a new study find that the simple act (1)______ b) Past simple
smiling can actually make a person happier. Evidently, nearly 50 c) Present simple
years of data shows facial expressions can affect an individual’s d) Present perfect
emotions or feelings.
22. (Prefeitura de São José do Cedro - SC - Professor –Inglês -
Emotional Debate AMEOSC – 2019)
Did you _____________ that Pilates was born in prison and ins-
For over 100 years, psychologists have been debating whether pired by cats?
facial expressions can affect emotions. The argument became even Identify the best alternative that completes the context.
more pronounced (2)______ 2016 after 17 teams of scientists failed a) Knew.
to replicate a popular experiment that would supposedly show that b) Know.
smiling can actually make people happier. c) Told them.
While there are some studies that do not show a relationship d) Brought.
(3)______facial expressions and emotional feelings, the researchers
of the new study believe that they can’t focus on the data from just 23. (AMEOSC - 2019 - Prefeitura de São Miguel do Oeste - SC -
one. As such, they scoured data from 138 studies, which tested over Professor - Língua Inglês) Observe the paragraph below.
11,000 participants (4)_____ all over the world. Over the past few years, a bunch of similar books ______ to fill
“But we can’t focus on the results of any one study. Psycholo- the yawning gaps left in recorded history regarding women’s con-
gists have been testing this idea since the early 1970s, so we wan- tributions recently. Identify the best alternative that completes the
ted to look at all the evidence,” said lead researcher Nicholas Coles, context.
PhD. a) Has attempted.
Facial Expressions Affect People’s Emotions b) Had attempted.
Based on the team’s meta-analysis, facial expressions do, in c) Have attempted.
fact, have a small impact on emotions. For instance, a person who d) Are attempted.
smiles will feel happier, a person who scowls will feel angrier, and a
person who frowns will feel sadder. While the effects aren’t very po- 24. (CRA-PR - Analista Sistema I - Quadrix – 2019)
werful or long-lasting, it is significant enough to show a correlation.
According to researchers, their findings bring us closer to un-
derstanding how human emotions work and how the mind and
body work together to shape how we experience emotions. That
said, they do note that they are not saying that people can just
smile their way to happiness, especially when it comes to mental
health conditions such as depression.
The study is published in Psychological Bulletin.
Source: https://www.techtimes.com/articles/241396/20190413/
smiling-can-actually-make-peoplehappier-study-finds.htm(adapted)
Access: April 13th, 2019
A) on / in / in.
B) in / in / in.
C) on / in / on.
D) on / in / at.
E) at / on / on.
36
LÍNGUA INGLESA
Based on the text, judge the item below. c) He plays an important role in my life.
The infinitive form of “taught” (line 2) is think. d) She plays soccer on weekends.
( ) Certo e) The play starts at 8 p.m.
( ) Errado
26. (Prefeitura de Blumenau - SC - Professor - Inglês – Matuti-
25. (Pref. de Teresina - PI - Professor de Educação Básica - Lín- no - FURB – 2019)
gua Inglesa – NUCEPE – 2019)
What is the sequence that presents the correct example asses-
Planet’s ocean-plastics problem detailed in 60-year data set sment items with their grammatical focus listed below?
Researchers find evidence of rising plastic pollution in an acci- Grammatical focus: A superlative B past simple C gerunds and
dental source: log books for planktonmonitoring instruments. Mat- infinitives D relative pronouns E present simple passive F second
thew Warren conditional
Example assessment items:
Scientists have uncovered the first strong evidence that the 1) Complete the sentences with the correct word(s). I ..........
amount of plastic polluting the oceans has risen vastly in recent de- there for six years before moving to Budapest.
cades — by analysing 60 years of log books for plankton-tracking 2) Complete the descriptions with who or which. This is a kind
vessels. of cheese .......... is made from goat’s milk not cow’s milk.
Data recorded by instruments known as continuous plankton 3) Rewrite the sentences using the correct form of the verbs in
recorders (CPRs) — which ships have collectively towed millions of brackets. Where (you/fly) if (you/be) a bird?
kilometres across the Atlantic Ocean — show that the trackers have 4) Complete the sentences with the correct form of the verbs
become entangled in large plastic objects, such as bags and fishing in brackets. Coffee (grow) in Brazil. It (export) to many countries in
lines, roughly three times more often since 2000 than in preceding the world.
decades. 5) Complete the sentences with ... +ing or to + ... . I decided
This is the first time that researchers have demonstrated the (send) a letter to my friend. 6) Complete the sentences with an
rise in ocean plastics using a single, longterm data set, says Erik van appropriate adjective. Shanghai is the .......... city in the world.
Sebille, an oceanographer at Utrecht University in the Netherlands.
“I’m excited that this has been finally done,” he says. The analysis Mark the alternative that presents the correct sequence:
was published on 16 April in Nature Communications. a) B – D – F – E – C – A.
Although the findings are unsurprising, long-term data on b) F – E – C – A – D – B.
ocean plastics had been scant: previous studies looked mainly at c) A – C – B – E – D – F.
the ingestion of plastic by sea creatures over shorter timescales, d) C – A – F – B – D – E.
the researchers say. e) B – E – D –C – F – A.
Fishing for data 27. (Prefeitura de São Miguel do Oeste - SC - Professor - Língua
CPRs are torpedo-like devices that have been used since 1931 Inglesa - AMEOSC – 2019)
to survey plankton populations, by filtering the organisms from the
water using bands of silk. Today, volunteer ships such as ferries and Analyze the sentences below:
container ships tow a fleet of CPRs around the world’s oceans. I. She can read music much more quickly then I can;
(…)Each time a ship tows a CPR, the crew fills in a log book and II. Until 2005, the film had made the most money that any Bri-
notes any problems with the device. So Ostle and her colleagues tish film had ever made;
looked through all tow logs from the North Atlantic between 1957 III. A lot of people behaved badly at the party, but she behaved
and 2016, to determine whether plastic entanglements have beco- worst of all.
me more common.
Indicate the correct alternative according to the comparative
Evidence analysis form.
(…)Van Sebille says that because the study focused on large a) The items I and II, only.
plastic items, it doesn’t reveal much about the quantity of micro- b) The items II and III, only.
plastics — fragments fewer than 5 millimetres long — in the oceans. c) The item III, only.
These tiny contaminants come from sources such as disposable d) The items I, II, and III.
plastic packaging, rather than from fishing gear.
Nevertheless, he adds, the study demonstrates that fisheries
play a major part in plastic pollution, and will provide useful ba-
seline data for tracking whether policy changes affect the levels of
plastic in the oceans. “As fisheries become more professional, espe-
cially in the North Sea, hopefully we might see a decrease,” he says.
Source: https://www.nature.com/articles/d41586-019-01252-0 (adap-
ted).
Access: April 20th, 2019
37
LÍNGUA INGLESA
28. (Prefeitura de Salvador - BA - Professor Língua Estrangeira 29. (CRM-PR - Analista de Tecnologia da Informação - Quadrix
– Inglês - FGV - 2019) – 2018)
TEXT III
(Source: https://pt.wikipedia.org/wiki/Green_Book)
38
LÍNGUA INGLESA
32. (SEDF - Professor – Inglês – Quadrix – 2017)
39
LÍNGUA INGLESA
Based on the text, judge the following items. a) intermittently.
The adverb “often” as in “these food fads are often based” (line b) sometimes.
18) is more commonly placed before the verb to be. c) seldom.
( ) Certo d) hardly ever.
( ) Errado e) frequently.
34. (SEDF - Professor – Inglês - Quadrix – 2017) 36. (Prefeitura de Salvador - BA - Professor Língua Estrangeira
– Inglês - FGV – 2019)
40
LÍNGUA INGLESA
37. (CEMIG - MG - Analista de Gestão Administrativa JR - FU- 38. (Prefeitura de Maricá - RJ - Docente I - Língua Estrangeira
MARC – 2018) – Inglês - COSEAC - 2018)
READ THE FOLLOWING TEXT AND CHOOSE THE OPTION WHICH TEXT 1 below, retrieved and adapted from https://chroniclinga-
BEST COMPLETES EACH QUESTION ACCORDING TO IT: merica. loc.gov/lccn/sn83035487/1851-06-21/ed-1/seq-4/ on July
9th, 2018.
Technology has created more jobs than it has destroyed
Women’s rights convention – Sojourner Truth
The battle between men and machines goes back centuries.
Are they taking our jobs? Or are they easing our workload? A study One of the most unique and interesting speeches of the con-
by economists at the consultancy Deloitte seeks to shed new light vention was made by Sojourner Truth, an emancipated slave. It is
on the relationship between jobs and the rise of technology by impossible to transfer it to paper or convey any adequate idea of
searching through census data for England and Wales going back the effect it produced upon the audience. Those only can apprecia-
to 1871. te it who saw her powerful form, her whole-souled, earnest gestu-
Their conclusion is that, rather than destroying jobs, techno- re, and listened to her strong and truthful tones. She came forward
logy has been a “great job-creating machine”. Findings by Deloitte to the platform and addressing the President said with great sim-
such as rise in bar staff since the 1950s or a surge in the number plicity:
of hairdressers this century suggest to the authors that technology “May I say a few words?” Receiving an affirmative answer,
has increased spending power, therefore creating new demand and she proceeded: I want to say a few words about this matter. I am
new jobs. Their study argues that the debate has been twisted to- a woman’s rights. I have as much muscle as any man and can do
wards the job-destroying effects of technological change, which are as much work as any man. I have plowed and reaped and husked
more easily observed than its creative aspects. and chopped and mowed, and can any man do more than that? I
Going back over pastfigures paints a more balanced picture, have heard much about the sexes being equal. I can carry as much
say authors Ian Stewart and Alex Cole. “The dominant trend is of as any man, and can eat as much too, if I can get it. I am as strong
contracting employment in agriculture and manufacturing being as any man that is now. As for intellect, all I can say is, if a woman
more than balanced by rapid growth in the caring, creative, techno- has a pint, and a man a quart -- why can’t she have her little pint
logy and business services sectors,” they write. “Machines will take full? You need not be afraid to give us our rights for fear we will
on more repetitive and laborious tasks, but they seem no closer to take too much; -- for we can’t take more than our pint will hold.
eliminating the need for human labor than at any time in the last The poor men seem to be all in confusion, and don’t know what to
150 years.” do. Why children, if you have woman’s rights, give it to her and you
According to the study, hard, dangerous and dull jobs have de- will feel better. You will have your own rights, and they won’t be so
clined. In some sectors, technology has quite clearly cost jobs, but much trouble. I can’t read, but I can hear. I have heard the bible and
they question whether they are really jobs we would want to hold have learned that Eve caused man to sin. Well, if a woman upset the
on to. Technology directly substitutes human muscle power and, in world, do give her a chance to set it right side up again. The Lady
so doing, raises productivity and shrinks employment. “In the UK has spoken about Jesus, how he never spurned woman from him,
the first sector to feel this effect on any scale was agriculture,” says and she was right. When Lazarus died, Mary and Martha came to
the study. him with faith and love and besought him to raise their brother. And
The study also found out that ‘caring’ jobs have increased. The Jesus wept and Lazarus came forth. And how came Jesus into the
report cites a “profound shift”, with labor switching from its historic world? Through God who created him and the woman who bore
role, as a source of raw power, to the care, education and provision him. Man, where was your part? But the women are coming up
of services to others. Technological progress has cut the prices of blessed be God and a few of the men are coming up with them. But
essentials, such as food, and the price of bigger household items man is in a tight place, the poor slave is on him, woman is coming
such as TVs and kitchen appliances, notes Stewart. That leaves more on him, he is surely between a hawk and a buzzard.
money to spend on leisure, and creates new demand and new jobs, Reference: Robinson, M. (1851, June 21). Women’s rights con-
which may explain the big rise in bar staff, he adds. “_______ the vention: Sojourner Truth. Anti-slavery Bugle, vol. 6 no. 41, Page 160.
decline in the traditional pub, census data shows that the number
of people employed in bars rose fourfold between 1951 and 2011,” Question must be answered by looking at the following senten-
the report says. ce from Text 1:
The Deloitte economists believe that rising incomes have allo-
wed consumers to spend more on personal services, such as groo- I have plowed and reaped and husked and chopped and mo-
ming. That in turn has driven employment of hairdressers. So, while wed, and can any man do more than that?
in 1871 there was one hairdresser or barber for every 1,793 citizens
of England and Wales; today there is one for every 287 people. When Sojourner chooses to use “can” in “and can any man do
(Adapted from: https://goo.gl/7V5vuw. Access: 02/02/2018.) more than that?”, she does it because:
a) she wants to question men’s ability to do more than she
What is one of the consequences of technological progress does.
pointed by the study? b) she’s asking for permission to continue doing what she does.
a) It creates new demand and new jobs. c) it’s an informal situation and “could” would be too formal.
b) It has made food more expensive. d) she’s talking about what she did in the past.
c0 There are less jobs and careers. e) she knows men will never do what she does.
d) There is no money to spend on leisure.
41
LÍNGUA INGLESA
39. (Pref. de Teresina - PI - Professor de Educação Básica - Lín- 41. (Prefeitura de Teresina - PI - Professor de Educação Básica
gua Inglesa - NUCEPE – 2019) - Língua Inglesa - NUCEPE – 2019)
Consider the following conversation.
What is Alzheimer’s disease? -____did Jonathan go to New York?
-Because he went on a tour with his family.
There are many types and causes of dementia, but Alzheimer’s -____did they go?
disease is the most common form, accounting for between 60 and -By ship.
70 per cent of all cases.
Common early symptoms of Alzheimer’s include short-term Taking into account the use of interrogative pronouns, the op-
memory loss, apathy and depressed mood, but these symptoms tion below that completes the conversation is
are often just seen as being a part of normal ageing, making early
diagnosis difficult. a) When – How.
Doctors diagnose Alzheimer’s on the basis of medical exami- b) When – What.
nation, patient history and cognitive tests, and can use imaging to c) Why – How.
rule out other forms of dementia. However, a definitive diagnosis of d) Why – When.
Alzheimer’s is only possible after death, when examination of brain e) What – How.
tissue can reveal whether a person had the deposits of amyloid and
tau proteins that are characteristic of the condition. 42. (MPE-BA - Analista de Sistemas - FESMIP-BA - 2011)
Source http://advances.sciencemag.org/content/5/1/eaau3333(a-
dapted) Journal reference: Science Advances, DOI: 10.1126/sciadv. Information Systems
aau3333
This article was updated on 30 January 2019 to add more detail Information Systems (IS) is concerned with the information
and comment. Access: April 20th, 2019 that computer systems can provide to aid a company, non-profit
or governmental organization in defining and achieving its goals. It
Which is the option that shows a verb with the same idea of is also concerned with the processes that an enterprise can imple-
can in the sentence “…brain tissue can reveal whether a person had ment and improve using information technology. IS professionals
the deposits of amyloid and tau proteins…”? must understand both technical and organizational factors , 5 and
a) You ought to drive more carefully. must be able to help an organization determine how information
b) I have to be back at 10 o’clock. and technology-enabled business processes can provide a founda-
c) The girls could play tennis when they were younger. tion for superior organizational performance. They serve as a bridge
d) Sheyla is able to do that in less than an hour. between the technical and management communities within an or-
e)The boy doesn’t have to call a taxi. ganization. What information does the enterprise need? How is that
information generated? Is it delivered to the people who need it? Is
40. (UNICAMP - Profissional da Tecnologia, Informação e Co- it presented to them in ways that permit them to use it readily? 10
municação - VUNESP – 2019) Is the organization structured to be able to use technology effecti-
vely? Are the business processes of the organization well designed?
What is a Content Management System (CMS)? Do they use the opportunities created by information technology
July 19, 2018 fully? Does the organization use the communication and collabora-
tion capabilities of information technologies appropriately? Is the
A content management system, often abbreviated as CMS, is organization capable of adapting quickly enough to changing exter-
software that helps users create, manage, and modify content on nal circumstances? These are the important issues that businesses
a website without the need for specialized technical knowledge. rely on IS people to 15 address. A majority of IS programs are loca-
In simpler language, a content management system is a tool that ted in business schools; however, they may have different names
helps you build a website without needing to write all the code such as management information systems, computer information
from scratch (or even know how to code at all). systems, or business information systems. All IS degrees combine
Instead of building your own system for creating web pages, business and computing topics, but the emphasis between techni-
storing images, and other functions, the content management sys- cal and organizational issues varies among programs. For example,
tem handles all that basic infrastructure stuff for you so that you 20 programs differ substantially in the amount of programming
can focus on more forward-facing parts of your website. Beyond required. Traditionally, many graduates of IS programs have func-
websites, you can also find content management systems for other tioned in roles that are similar to the roles for which IT programs
functions – such as document management.
explicitly prepare their students. Information systems graduates
The content management system is not just a backend mana-
continue to fill these roles, but the new programs in information
gement interface, though. It also makes all of the content that you
technology offer an alternative path to these positions. INFORMA-
create show up for your visitors exactly like you want it to.
TION Systems. Disponível em: . Acesso em: 03 jan. 2011.
(https://kinsta.com/knowledgebase/content-management-system.
“How is that information generated?” (linha 8). The use of
Adaptado)
“How”, in this question, is in order to
a) request permission to do something.
No trecho do segundo parágrafo – you can also find content
management systems –, o termo em destaque pode ser substituído, b) get information in what way or manner.
sem alteração de sentido, por c) expect or demand something.
a) have to. d) express an opinion on something.
b) must. e) ask for something.
c) may.
d) ought to.
e) used to.
42
LÍNGUA INGLESA
43. (CETESB - Analista de TI - Administração de Dados - VU-
21 D
NESP – 2009)
22 B
23 C
24 ERRADO
25 C
26 A
27 B
28 B
29 CERTO
30 B
31 A
32 CERTO
33 ERRADO
34 ERRADO
35 E
36 C
The blank in - how __________ can you live? - is correctly filled 37 A
with
a) long 38 A
b) far 39 D
c) come 40 C
d) high
e) many 41 C
42 B
43 A
GABARITO
1 B
ANOTAÇÕES
2 C
______________________________________________________
3 A
4 A ______________________________________________________
5 C ______________________________________________________
6 B
______________________________________________________
7 CERTO
______________________________________________________
8 B
9 D ______________________________________________________
10 C ______________________________________________________
11 E
______________________________________________________
12 B
13 CERTO ______________________________________________________
14 ERRADO ______________________________________________________
15 ERRADO
______________________________________________________
16 A
_____________________________________________________
17 C
18 B _____________________________________________________
19 B ______________________________________________________
20 A
______________________________________________________
43
LÍNGUA INGLESA
ANOTAÇÕES ANOTAÇÕES
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
_____________________________________________________ _____________________________________________________
_____________________________________________________ _____________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
44
MATEMÁTICA
1. Lógica proposicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Noções de conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3. Relações e funções; Funções polinomiais; Funções exponenciais e logarítmicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4. Matrizes; Determinantes; Sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5. Sequências; Progressões aritméticas e progressões geométricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
6. Matemática financeira . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
MATEMÁTICA
LÓGICA PROPOSICIONAL
ESTRUTURAS LÓGICAS
Precisamos antes de tudo compreender o que são proposições. Chama-se proposição toda sentença declarativa à qual podemos atri-
buir um dos valores lógicos: verdadeiro ou falso, nunca ambos. Trata-se, portanto, de uma sentença fechada.
• Sentença fechada: quando a proposição admitir um ÚNICO valor lógico, seja ele verdadeiro ou falso, nesse caso, será considerada
uma frase, proposição ou sentença lógica.
• Proposições compostas (ou moleculares ou estruturas lógicas): aquela formada pela combinação de duas ou mais proposições sim-
ples. As proposições compostas são designadas pelas letras latinas maiúsculas P,Q,R, R..., também chamadas letras proposicionais.
ATENÇÃO: TODAS as proposições compostas são formadas por duas proposições simples.
Negação ~ Não p
Conjunção ^ peq
Disjunção Inclusiva v p ou q
1
MATEMÁTICA
Disjunção Exclusiva v Ou p ou q
Condicional → Se p então q
Bicondicional ↔ p se e somente se q
Em síntese temos a tabela verdade das proposições que facilitará na resolução de diversas questões
Exemplo:
(MEC – CONHECIMENTOS BÁSICOS PARA OS POSTOS 9,10,11 E 16 – CESPE)
A figura acima apresenta as colunas iniciais de uma tabela-verdade, em que P, Q e R representam proposições lógicas, e V e F corres-
pondem, respectivamente, aos valores lógicos verdadeiro e falso.
Com base nessas informações e utilizando os conectivos lógicos usuais, julgue o item subsecutivo.
2
MATEMÁTICA
A última coluna da tabela-verdade referente à proposição lógica P v (Q↔R) quando representada na posição horizontal é igual a
( ) Certo
( ) Errado
Resolução:
P v (Q↔R), montando a tabela verdade temos:
R Q P [P v (Q ↔ R) ]
V V V V V V V V
V V F F V V V V
V F V V V F F V
V F F F F F F V
F V V V V V F F
F V F F F V F F
F F V V V F V F
F F F F V F V F
Resposta: Certo
Proposição
Conjunto de palavras ou símbolos que expressam um pensamento ou uma ideia de sentido completo. Elas transmitem pensamentos,
isto é, afirmam fatos ou exprimem juízos que formamos a respeito de determinados conceitos ou entes.
Valores lógicos
São os valores atribuídos as proposições, podendo ser uma verdade, se a proposição é verdadeira (V), e uma falsidade, se a proposi-
ção é falsa (F). Designamos as letras V e F para abreviarmos os valores lógicos verdade e falsidade respectivamente.
Com isso temos alguns aximos da lógica:
– PRINCÍPIO DA NÃO CONTRADIÇÃO: uma proposição não pode ser verdadeira E falsa ao mesmo tempo.
– PRINCÍPIO DO TERCEIRO EXCLUÍDO: toda proposição OU é verdadeira OU é falsa, verificamos sempre um desses casos, NUNCA
existindo um terceiro caso.
“Toda proposição tem um, e somente um, dos valores, que são: V ou F.”
• Sentença fechada: quando a proposição admitir um ÚNICO valor lógico, seja ele verdadeiro ou falso, nesse caso, será considerada
uma frase, proposição ou sentença lógica.
3
MATEMÁTICA
• Proposições compostas (ou moleculares ou estruturas lógicas): aquela formada pela combinação de duas ou mais proposições
simples. As proposições compostas são designadas pelas letras latinas maiúsculas P,Q,R, R..., também chamadas letras proposicionais.
Exemplo
P: Thiago é careca e Pedro é professor.
ATENÇÃO: TODAS as proposições compostas são formadas por duas proposições simples.
Exemplos:
1. (CESPE/UNB) Na lista de frases apresentadas a seguir:
– “A frase dentro destas aspas é uma mentira.”
– A expressão x + y é positiva.
– O valor de √4 + 3 = 7.
– Pelé marcou dez gols para a seleção brasileira.
– O que é isto?
Há exatamente:
(A) uma proposição;
(B) duas proposições;
(C) três proposições;
(D) quatro proposições;
(E) todas são proposições.
Resolução:
Analisemos cada alternativa:
(A) “A frase dentro destas aspas é uma mentira”, não podemos atribuir valores lógicos a ela, logo não é uma sentença lógica.
(B) A expressão x + y é positiva, não temos como atribuir valores lógicos, logo não é sentença lógica.
(C) O valor de √4 + 3 = 7; é uma sentença lógica pois podemos atribuir valores lógicos, independente do resultado que tenhamos
(D) Pelé marcou dez gols para a seleção brasileira, também podemos atribuir valores lógicos (não estamos considerando a quantidade
certa de gols, apenas se podemos atribuir um valor de V ou F a sentença).
(E) O que é isto? - como vemos não podemos atribuir valores lógicos por se tratar de uma frase interrogativa.
Resposta: B.
Negação ~ Não p
Conjunção ^ peq
Disjunção Inclusiva v p ou q
4
MATEMÁTICA
Disjunção Exclusiva v Ou p ou q
Condicional → Se p então q
Bicondicional ↔ p se e somente se q
Exemplo:
2. (PC/SP - Delegado de Polícia - VUNESP) Os conectivos ou operadores lógicos são palavras (da linguagem comum) ou símbolos (da
linguagem formal) utilizados para conectar proposições de acordo com regras formais preestabelecidas. Assinale a alternativa que apre-
senta exemplos de conjunção, negação e implicação, respectivamente.
(A) ¬ p, p v q, p ∧ q
(B) p ∧ q, ¬ p, p -> q
(C) p -> q, p v q, ¬ p
(D) p v p, p -> q, ¬ q
(E) p v q, ¬ q, p v q
Resolução:
A conjunção é um tipo de proposição composta e apresenta o conectivo “e”, e é representada pelo símbolo ∧. A negação é repre-
sentada pelo símbolo ~ou cantoneira (¬) e pode negar uma proposição simples (por exemplo: ¬ p ) ou composta. Já a implicação é uma
proposição composta do tipo condicional (Se, então) é representada pelo símbolo (→).
Resposta: B.
Tabela Verdade
Quando trabalhamos com as proposições compostas, determinamos o seu valor lógico partindo das proposições simples que a com-
põe. O valor lógico de qualquer proposição composta depende UNICAMENTE dos valores lógicos das proposições simples componentes,
ficando por eles UNIVOCAMENTE determinados.
• Número de linhas de uma Tabela Verdade: depende do número de proposições simples que a integram, sendo dado pelo seguinte
teorema:
“A tabela verdade de uma proposição composta com n* proposições simples componentes contém 2n linhas.”
Exemplo:
3. (CESPE/UNB) Se “A”, “B”, “C” e “D” forem proposições simples e distintas, então o número de linhas da tabela-verdade da propo-
sição (A → B) ↔ (C → D) será igual a:
(A) 2;
(B) 4;
(C) 8;
(D) 16;
(E) 32.
5
MATEMÁTICA
Resolução:
Veja que podemos aplicar a mesma linha do raciocínio acima, então teremos:
Número de linhas = 2n = 24 = 16 linhas.
Resposta D.
• Contradição: possui todos os valores lógicos, da tabela verdade (última coluna), F (falsidades). A contradição é a negação da Tauto-
logia e vice versa.
Princípio da substituição: Seja P (p, q, r, ...) é uma contradição, então P (P0; Q0; R0; ...) também é uma contradição, quaisquer que sejam
as proposições P0, Q0, R0, ...
• Contingência: possui valores lógicos V e F ,da tabela verdade (última coluna). Em outros termos a contingência é uma proposição
composta que não é tautologia e nem contradição.
Exemplos:
4. (DPU – ANALISTA – CESPE) Um estudante de direito, com o objetivo de sistematizar o seu estudo, criou sua própria legenda, na qual
identificava, por letras, algumas afirmações relevantes quanto à disciplina estudada e as vinculava por meio de sentenças (proposições).
No seu vocabulário particular constava, por exemplo:
P: Cometeu o crime A.
Q: Cometeu o crime B.
R: Será punido, obrigatoriamente, com a pena de reclusão no regime fechado.
S: Poderá optar pelo pagamento de fiança.
Ao revisar seus escritos, o estudante, apesar de não recordar qual era o crime B, lembrou que ele era inafiançável.
Tendo como referência essa situação hipotética, julgue o item que se segue.
A sentença (P→Q)↔((~Q)→(~P)) será sempre verdadeira, independentemente das valorações de P e Q como verdadeiras ou falsas.
( ) Certo
( ) Errado
Resolução:
Considerando P e Q como V.
(V→V) ↔ ((F)→(F))
(V) ↔ (V) = V
Considerando P e Q como F
(F→F) ↔ ((V)→(V))
(V) ↔ (V) = V
Então concluímos que a afirmação é verdadeira.
Resposta: Certo.
Equivalência
Duas ou mais proposições compostas são equivalentes, quando mesmo possuindo estruturas lógicas diferentes, apresentam a mesma
solução em suas respectivas tabelas verdade.
Se as proposições P(p,q,r,...) e Q(p,q,r,...) são ambas TAUTOLOGIAS, ou então, são CONTRADIÇÕES, então são EQUIVALENTES.
6
MATEMÁTICA
Exemplo:
5. (VUNESP/TJSP) Uma negação lógica para a afirmação “João é rico, ou Maria é pobre” é:
(A) Se João é rico, então Maria é pobre.
(B) João não é rico, e Maria não é pobre.
(C) João é rico, e Maria não é pobre.
(D) Se João não é rico, então Maria não é pobre.
(E) João não é rico, ou Maria não é pobre.
Resolução:
Nesta questão, a proposição a ser negada trata-se da disjunção de duas proposições lógicas simples. Para tal, trocamos o conectivo
por “e” e negamos as proposições “João é rico” e “Maria é pobre”. Vejam como fica:
Resposta: B.
Leis de Morgan
Com elas:
– Negamos que duas dadas proposições são ao mesmo tempo verdadeiras equivalendo a afirmar que pelo menos uma é falsa
– Negamos que uma pelo menos de duas proposições é verdadeira equivalendo a afirmar que ambas são falsas.
ATENÇÃO
As Leis de Morgan exprimem que NEGAÇÃO CONJUNÇÃO em DISJUNÇÃO
transforma: DISJUNÇÃO em CONJUNÇÃO
CONECTIVOS
Para compôr novas proposições, definidas como composta, a partir de outras proposições simples, usam-se os conectivos.
7
MATEMÁTICA
ATENÇÃO: Sentenças interligadas pelo conectivo “e” possuirão o valor verdadeiro somente quando todas as sentenças, ou argumen-
tos lógicos, tiverem valores verdadeiros.
Exemplos:
R: Paulo é professor ou administrador
S: Maria é jovem ou idosa
No primeiro caso, o “ou” é inclusivo,pois pelo menos uma das proposições é verdadeira, podendo ser ambas.
No caso da segunda, o “ou” é exclusivo, pois somente uma das proposições poderá ser verdadeira
Ele pode ser “inclusivo”(considera os dois casos) ou “exclusivo”(considera apenas um dos casos)
Exemplo:
R: Paulo é professor ou administrador
S: Maria é jovem ou idosa
No primeiro caso, o “ou” é inclusivo,pois pelo menos uma das proposições é verdadeira, podendo ser ambas.
No caso da segunda, o “ou” é exclusivo, pois somente uma das proposições poderá ser verdadeiro
8
MATEMÁTICA
5. Não fez sol e fui à praia. (Eu disse a verdade, pois eu não disse o que faria se não fizesse sol. Assim, poderia ir ou não ir à praia).
Temos então sua tabela verdade:
Observe que uma subjunção p→q somente será falsa quando a primeira proposição, p, for verdadeira e a segunda, q, for falsa.
Observe que uma bicondicional só é verdadeira quando as proposições formadoras são ambas falsas ou ambas verdadeiras.
ATENÇÃO: O importante sobre os conectivos é ter em mente a tabela de cada um deles, para que assim você possa resolver qualquer
questão referente ao assunto.
Em resumo:
Exemplo:
(PC/SP - DELEGADO DE POLÍCIA - VUNESP) Os conectivos ou operadores lógicos são palavras (da linguagem comum) ou símbolos (da
linguagem formal) utilizados para conectar proposições de acordo com regras formais preestabelecidas. Assinale a alternativa que apre-
senta exemplos de conjunção, negação e implicação, respectivamente.
(A) ¬ p, p v q, p ∧ q
(B) p ∧ q, ¬ p, p -> q
(C) p -> q, p v q, ¬ p
(D) p v p, p -> q, ¬ q
(E) p v q, ¬ q, p v q
9
MATEMÁTICA
Resolução: Exemplo:
A conjunção é um tipo de proposição composta e apresenta o
conectivo “e”, e é representada pelo símbolo ∧. A negação é repre-
sentada pelo símbolo ~ou cantoneira (¬) e pode negar uma proposi-
ção simples (por exemplo: ¬ p ) ou composta. Já a implicação é uma
proposição composta do tipo condicional (Se, então) é representa-
da pelo símbolo (→).
Resposta: B
CONTRADIÇÕES Observe:
São proposições compostas formadas por duas ou mais propo- - Toda proposição implica uma Tautologia:
sições onde seu valor lógico é sempre FALSO, independentemente
do valor lógico das proposições simples que a compõem. Vejamos:
A proposição: p ^ ~p é uma contradição, conforme mostra a sua
tabela-verdade:
Exemplo:
(PEC-FAZ) Conforme a teoria da lógica proposicional, a propo-
sição ~P ∧ P é:
(A) uma tautologia.
(B) equivalente à proposição ~p ∨ p.
(C) uma contradição.
(D) uma contingência.
(E) uma disjunção.
Propriedades
Resolução: • Reflexiva:
Montando a tabela teremos que: – P(p,q,r,...) ⇒ P(p,q,r,...)
– Uma proposição complexa implica ela mesma.
P ~p ~p ^p
• Transitiva:
V F F – Se P(p,q,r,...) ⇒ Q(p,q,r,...) e
V F F Q(p,q,r,...) ⇒ R(p,q,r,...), então
P(p,q,r,...) ⇒ R(p,q,r,...)
F V F
– Se P ⇒ Q e Q ⇒ R, então P ⇒ R
F V F
Regras de Inferência
Como todos os valores são Falsidades (F) logo estamos diante • Inferência é o ato ou processo de derivar conclusões lógicas
de uma CONTRADIÇÃO. de proposições conhecidas ou decididamente verdadeiras. Em ou-
Resposta: C tras palavras: é a obtenção de novas proposições a partir de propo-
sições verdadeiras já existentes.
A proposição P(p,q,r,...) implica logicamente a proposição Q(p,-
q,r,...) quando Q é verdadeira todas as vezes que P é verdadeira. Regras de Inferência obtidas da implicação lógica
Representamos a implicação com o símbolo “⇒”, simbolicamente
temos:
P(p,q,r,...) ⇒ Q(p,q,r,...).
10
MATEMÁTICA
• Modus Ponens A proposição “(p ↔ q) ^ p” implica a proposição “q”, pois a
condicional “(p ↔ q) ^ p → q” é tautológica.
Observe que:
→ indica uma operação lógica entre as proposições. Ex.: das
proposições p e q, dá-se a nova proposição p → q.
⇒ indica uma relação. Ex.: estabelece que a condicional P →
Q é tautológica.
Inferências
• Regra do Silogismo Hipotético
Tais proposições afirmam que o conjunto “A” está contido no
conjunto “B”, ou seja, que todo e qualquer elemento de “A” é tam-
bém elemento de “B”. Observe que “Toda A é B” é diferente de
“Todo B é A”.
11
MATEMÁTICA
Em síntese:
Exemplos:
(DESENVOLVE/SP - CONTADOR - VUNESP) Alguns gatos não
são pardos, e aqueles que não são pardos miam alto.
Uma afirmação que corresponde a uma negação lógica da afir-
mação anterior é:
(A) Os gatos pardos miam alto ou todos os gatos não são par-
dos.
(B) Nenhum gato mia alto e todos os gatos são pardos.
(C) Todos os gatos são pardos ou os gatos que não são pardos
não miam alto.
Essas proposições Algum A é B estabelecem que o conjunto “A” (D) Todos os gatos que miam alto são pardos.
tem pelo menos um elemento em comum com o conjunto “B”. Con- (E) Qualquer animal que mia alto é gato e quase sempre ele é
tudo, quando dizemos que Algum A é B, presumimos que nem todo pardo.
A é B. Observe “Algum A é B” é o mesmo que “Algum B é A”.
Resolução:
• Particular negativa (Tipo O) - “ALGUM A não é B” Temos um quantificador particular (alguns) e uma proposição
Se a proposição Algum A não é B é verdadeira, temos as três do tipo conjunção (conectivo “e”). Pede-se a sua negação.
representações possíveis: O quantificador existencial “alguns” pode ser negado, seguindo
o esquema, pelos quantificadores universais (todos ou nenhum).
Logo, podemos descartar as alternativas A e E.
A negação de uma conjunção se faz através de uma disjunção,
em que trocaremos o conectivo “e” pelo conectivo “ou”. Descarta-
mos a alternativa B.
Vamos, então, fazer a negação da frase, não esquecendo de
que a relação que existe é: Algum A é B, deve ser trocado por: Todo
A é não B.
Todos os gatos que são pardos ou os gatos (aqueles) que não
são pardos NÃO miam alto.
Resposta: C
12
MATEMÁTICA
• Equivalência entre as proposições Vejamos a tabela abaixo as proposições categóricas:
Basta usar o triângulo a seguir e economizar um bom tempo na
resolução de questões. TIPO PREPOSIÇÃO DIAGRAMAS
TODO
A
AéB
Exemplo:
(PC/PI - ESCRIVÃO DE POLÍCIA CIVIL - UESPI) Qual a negação NENHUM
lógica da sentença “Todo número natural é maior do que ou igual E
AéB
a cinco”?
(A) Todo número natural é menor do que cinco. Existe pelo menos um elemento que
(B) Nenhum número natural é menor do que cinco. pertence a A, então não pertence a B, e
(C) Todo número natural é diferente de cinco. vice-versa.
(D) Existe um número natural que é menor do que cinco.
(E) Existe um número natural que é diferente de cinco.
Resolução:
Do enunciado temos um quantificador universal (Todo) e pede-
-se a sua negação.
O quantificador universal todos pode ser negado, seguindo o
esquema abaixo, pelo quantificador algum, pelo menos um, existe
ao menos um, etc. Não se nega um quantificador universal com To- Existe pelo menos um elemento co-
dos e Nenhum, que também são universais. mum aos conjuntos A e B.
Podemos ainda representar das seguin-
tes formas:
ALGUM
I
AéB
Diagramas lógicos
Os diagramas lógicos são usados na resolução de vários proble-
mas. É uma ferramenta para resolvermos problemas que envolvam
argumentos dedutivos, as quais as premissas deste argumento po-
dem ser formadas por proposições categóricas.
13
MATEMÁTICA
Resolução:
Vamos chamar de:
Cinema = C
Casa de Cultura = CC
Teatro = T
Analisando as proposições temos: (B) existe teatro que não é casa de cultura. – Errado, pelo mes-
- Todo cinema é uma casa de cultura mo princípio acima.
(C) alguma casa de cultura que não é cinema é teatro. – Errado,
a primeira proposição já nos afirma o contrário. O diagrama nos
afirma isso
14
MATEMÁTICA
• Como saber se um determinado argumento é mesmo váli-
do?
Para se comprovar a validade de um argumento é utilizando
diagramas de conjuntos (diagramas de Venn). Trata-se de um mé-
todo muito útil e que será usado com frequência em questões que
pedem a verificação da validade de um argumento. Vejamos como
funciona, usando o exemplo acima. Quando se afirma, na premissa
P1, que “todos os homens são pássaros”, poderemos representar
essa frase da seguinte maneira:
Resposta: E
LÓGICA DE ARGUMENTAÇÃO
Chama-se argumento a afirmação de que um grupo de propo-
sições iniciais redunda em outra proposição final, que será conse-
quência das primeiras. Ou seja, argumento é a relação que associa
um conjunto de proposições P1, P2,... Pn , chamadas premissas do
argumento, a uma proposição Q, chamada de conclusão do argu-
mento.
Exemplo:
P1: Todos os cientistas são loucos.
P2: Martiniano é louco.
Q: Martiniano é um cientista.
15
MATEMÁTICA
Comparando a conclusão do nosso argumento, temos:
NENHUM homem é animal – com o desenho das premissas será que podemos dizer que esta conclusão é uma consequência necessá-
ria das premissas? Claro que sim! Observemos que o conjunto dos homens está totalmente separado (total dissociação!) do conjunto dos
animais. Resultado: este é um argumento válido!
Argumentos Inválidos
Dizemos que um argumento é inválido – também denominado ilegítimo, mal construído, falacioso ou sofisma – quando a verdade das
premissas não é suficiente para garantir a verdade da conclusão.
Exemplo:
P1: Todas as crianças gostam de chocolate.
P2: Patrícia não é criança.
Q: Portanto, Patrícia não gosta de chocolate.
Este é um argumento inválido, falacioso, mal construído, pois as premissas não garantem (não obrigam) a verdade da conclusão.
Patrícia pode gostar de chocolate mesmo que não seja criança, pois a primeira premissa não afirmou que somente as crianças gostam de
chocolate.
Utilizando os diagramas de conjuntos para provar a validade do argumento anterior, provaremos, utilizando-nos do mesmo artifício,
que o argumento em análise é inválido. Comecemos pela primeira premissa: “Todas as crianças gostam de chocolate”.
Analisemos agora o que diz a segunda premissa: “Patrícia não é criança”. O que temos que fazer aqui é pegar o diagrama acima (da
primeira premissa) e nele indicar onde poderá estar localizada a Patrícia, obedecendo ao que consta nesta segunda premissa. Vemos
facilmente que a Patrícia só não poderá estar dentro do círculo das crianças. É a única restrição que faz a segunda premissa! Isto posto,
concluímos que Patrícia poderá estar em dois lugares distintos do diagrama:
1º) Fora do conjunto maior;
2º) Dentro do conjunto maior. Vejamos:
Finalmente, passemos à análise da conclusão: “Patrícia não gosta de chocolate”. Ora, o que nos resta para sabermos se este argumen-
to é válido ou não, é justamente confirmar se esse resultado (se esta conclusão) é necessariamente verdadeiro!
- É necessariamente verdadeiro que Patrícia não gosta de chocolate? Olhando para o desenho acima, respondemos que não! Pode
ser que ela não goste de chocolate (caso esteja fora do círculo), mas também pode ser que goste (caso esteja dentro do círculo)! Enfim, o
argumento é inválido, pois as premissas não garantiram a veracidade da conclusão!
16
MATEMÁTICA
2º) Utilizando tabela-verdade: esta forma é mais indicada quando não for possível resolver pelo primeiro método, o que ocorre quan-
do nas premissas não aparecem as palavras todo, algum e nenhum, mas sim, os conectivos “ou” , “e”, “” e “↔”. Baseia-se na construção
da tabela-verdade, destacando-se uma coluna para cada premissa e outra para a conclusão. Este método tem a desvantagem de ser mais
trabalhoso, principalmente quando envolve várias proposições simples.
3º) Utilizando as operações lógicas com os conectivos e considerando as premissas verdadeiras.
Por este método, fácil e rapidamente demonstraremos a validade de um argumento. Porém, só devemos utilizá-lo na impossibilidade
do primeiro método.
Iniciaremos aqui considerando as premissas como verdades. Daí, por meio das operações lógicas com os conectivos, descobriremos o
valor lógico da conclusão, que deverá resultar também em verdade, para que o argumento seja considerado válido.
4º) Utilizando as operações lógicas com os conectivos, considerando premissas verdadeiras e conclusão falsa.
É indicado este caminho quando notarmos que a aplicação do terceiro método não possibilitará a descoberta do valor lógico da con-
clusão de maneira direta, mas somente por meio de análises mais complicadas.
Em síntese:
Exemplo:
Diga se o argumento abaixo é válido ou inválido:
(p ∧ q) → r
_____~r_______
~p ∨ ~q
Resolução:
-1ª Pergunta) O argumento apresenta as palavras todo, algum ou nenhum?
A resposta é não! Logo, descartamos o 1º método e passamos à pergunta seguinte.
17
MATEMÁTICA
- 2ª Pergunta) O argumento contém no máximo duas proposi- Resolução:
ções simples? A questão trata-se de lógica de argumentação, dadas as pre-
A resposta também é não! Portanto, descartamos também o missas chegamos a uma conclusão. Enumerando as premissas:
2º método. A = Chove
- 3ª Pergunta) Há alguma das premissas que seja uma proposi- B = Maria vai ao cinema
ção simples ou uma conjunção? C = Cláudio fica em casa
A resposta é sim! A segunda proposição é (~r). Podemos optar D = Faz frio
então pelo 3º método? Sim, perfeitamente! Mas caso queiramos E = Fernando está estudando
seguir adiante com uma próxima pergunta, teríamos: F = É noite
- 4ª Pergunta) A conclusão tem a forma de uma proposição A argumentação parte que a conclusão deve ser (V)
simples ou de uma disjunção ou de uma condicional? A resposta Lembramos a tabela verdade da condicional:
também é sim! Nossa conclusão é uma disjunção! Ou seja, caso
queiramos, poderemos utilizar, opcionalmente, o 4º método!
Vamos seguir os dois caminhos: resolveremos a questão pelo
3º e pelo 4º métodos.
18
MATEMÁTICA
(3) Se Bongrado é um elfo (F), então Monarca é um centauro (F) → V
(2) Se Monarca é um centauro(F), então Tristeza é uma bruxa(F) → V
(1) Tristeza não é uma bruxa (V)
Logo:
Temos que:
Esmeralda não é fada(V)
Bongrado não é elfo (V)
Monarca não é um centauro (V)
Como a conclusão parte da conjunção, o mesmo só será verdadeiro quando todas as afirmativas forem verdadeiras, logo, a única que
contém esse valor lógico é:
Esmeralda não é uma fada, e Monarca não é um centauro.
Resposta: B
01. Três homens, Luís, Carlos e Paulo, são casados com Lúcia, Patrícia e Maria, mas não sabemos quem ê casado com quem. Eles tra-
balham com Engenharia, Advocacia e Medicina, mas também não sabemos quem faz o quê. Com base nas dicas abaixo, tente descobrir o
nome de cada marido, a profissão de cada um e o nome de suas esposas.
a) O médico é casado com Maria.
b) Paulo é advogado.
c) Patrícia não é casada com Paulo.
d) Carlos não é médico.
Vamos montar o passo a passo para que você possa compreender como chegar a conclusão da questão.
1º passo – vamos montar uma tabela para facilitar a visualização da resolução, a mesma deve conter as informações prestadas no
enunciado, nas quais podem ser divididas em três grupos: homens, esposas e profissões.
3º passo preenchimento de nossa tabela, com as informações mais óbvias do problema, aquelas que não deixam margem a nenhuma
dúvida. Em nosso exemplo:
- O médico é casado com Maria: marque um “S” na tabela principal na célula comum a “Médico” e “Maria”, e um “N” nas demais
células referentes a esse “S”.
19
MATEMÁTICA
ATENÇÃO: se o médico é casado com Maria, ele NÃO PODE ser casado com Lúcia e Patrícia, então colocamos “N” no cruzamento
de Medicina e elas. E se Maria é casada com o médico, logo ela NÃO PODE ser casada com o engenheiro e nem com o advogado (logo
colocamos “N” no cruzamento do nome de Maria com essas profissões).
– Paulo é advogado: Vamos preencher as duas tabelas (tabela gabarito e tabela principal) agora.
– Patrícia não é casada com Paulo: Vamos preencher com “N” na tabela principal
– Carlos não é médico: preenchemos com um “N” na tabela principal a célula comum a Carlos e “médico”.
Notamos aqui que Luís então é o médico, pois foi a célula que ficou em branco. Podemos também completar a tabela gabarito.
Novamente observamos uma célula vazia no cruzamento de Carlos com Engenharia. Marcamos um “S” nesta célula. E preenchemos
sua tabela gabarito.
4º passo – após as anotações feitas na tabela principal e na tabela gabarito, vamos procurar informações que levem a novas conclu-
sões, que serão marcadas nessas tabelas.
Observe que Maria é esposa do médico, que se descobriu ser Luís, fato que poderia ser registrado na tabela-gabarito. Mas não vamos
fazer agora, pois essa conclusão só foi facilmente encontrada porque o problema que está sendo analisado é muito simples. Vamos con-
tinuar o raciocínio e fazer as marcações mais tarde. Além disso, sabemos que Patrícia não é casada com Paulo. Como Paulo é o advogado,
podemos concluir que Patrícia não é casada com o advogado.
20
MATEMÁTICA
Patrícia N N
Maria S N N
Verificamos, na tabela acima, que Patrícia tem de ser casada com o engenheiro, e Lúcia tem de ser casada com o advogado.
Concluímos, então, que Lúcia é casada com o advogado (que é Paulo), Patrícia é casada com o engenheiro (que e Carlos) e Maria é
casada com o médico (que é Luís).
Preenchendo a tabela-gabarito, vemos que o problema está resolvido:
Exemplo:
(TRT-9ª REGIÃO/PR – TÉCNICO JUDICIÁRIO – ÁREA ADMINISTRATIVA – FCC) Luiz, Arnaldo, Mariana e Paulo viajaram em janeiro, todos
para diferentes cidades, que foram Fortaleza, Goiânia, Curitiba e Salvador. Com relação às cidades para onde eles viajaram, sabe-se que:
− Luiz e Arnaldo não viajaram para Salvador;
− Mariana viajou para Curitiba;
− Paulo não viajou para Goiânia;
− Luiz não viajou para Fortaleza.
Resolução:
Vamos preencher a tabela:
− Luiz e Arnaldo não viajaram para Salvador;
21
MATEMÁTICA
− Paulo não viajou para Goiânia; ATENÇÃO: Todo homem é mortal, mas nem todo mortal é ho-
mem.
Fortaleza Goiânia Curitiba Salvador A frase “todo homem é mortal” possui as seguintes conclusões:
1ª) Algum mortal é homem ou algum homem é mortal.
Luiz N N 2ª) Se José é homem, então José é mortal.
Arnaldo N N
A forma “Todo A é B” pode ser escrita na forma: Se A então B.
Mariana N N S N
A forma simbólica da expressão “Todo A é B” é a expressão (∀
Paulo N N (x) (A (x) → B).
Observe que a palavra todo representa uma relação de inclusão
− Luiz não viajou para Fortaleza. de conjuntos, por isso está associada ao operador da condicional.
Quantificador
É um termo utilizado para quantificar uma expressão. Os quan-
tificadores são utilizados para transformar uma sentença aberta ou
proposição aberta em uma proposição lógica.
22
MATEMÁTICA
Algum A não é B= (∃ (x)) (A (x) ∧ ~ B).
Exemplos:
Todo cavalo é um animal. Logo,
(A) Toda cabeça de animal é cabeça de cavalo.
(B) Toda cabeça de cavalo é cabeça de animal.
(C) Todo animal é cavalo.
(D) Nenhum animal é cavalo.
Resolução:
A frase “Todo cavalo é um animal” possui as seguintes conclusões:
– Algum animal é cavalo ou Algum cavalo é um animal.
– Se é cavalo, então é um animal.
Nesse caso, nossa resposta é toda cabeça de cavalo é cabeça de animal, pois mantém a relação de “está contido” (segunda forma de
conclusão).
Resposta: B
Resolução:
Lemos: para todo x pertencente ao conjunto dos números reais (R) existe um y pertencente ao conjunto dos números dos reais (R) tal
que x + y = x.
– 1º passo: observar os quantificadores.
X está relacionado com o quantificador universal, logo, todos os valores de x devem satisfazer a propriedade.
Y está relacionado com o quantificador existencial, logo, é necessário pelo menos um valor de x para satisfazer a propriedade.
– 2º passo: observar os conjuntos dos números dos elementos x e y.
O elemento x pertence ao conjunto dos números reais.
O elemento y pertence ao conjunto os números reais.
– 3º passo: resolver a propriedade (x+ y = x).
A pergunta: existe algum valor real para y tal que x + y = x?
Existe sim! y = 0.
X + 0 = X.
Como existe pelo menos um valor para y e qualquer valor de x somado a 0 será igual a x, podemos concluir que o item está correto.
Resposta: CERTO
NOÇÕES DE CONJUNTOS
N C Z (N está contido em Z)
Subconjuntos:
23
MATEMÁTICA
Operações
• Soma ou Adição: Associamos aos números inteiros positivos a ideia de ganhar e aos números inteiros negativos a ideia de perder.
ATENÇÃO: O sinal (+) antes do número positivo pode ser dispensado, mas o sinal (–) antes do número negativo nunca pode ser
dispensado.
• Subtração: empregamos quando precisamos tirar uma quantidade de outra quantidade; temos duas quantidades e queremos saber
quanto uma delas tem a mais que a outra; temos duas quantidades e queremos saber quanto falta a uma delas para atingir a outra. A
subtração é a operação inversa da adição. O sinal sempre será do maior número.
ATENÇÃO: todos parênteses, colchetes, chaves, números, ..., entre outros, precedidos de sinal negativo, tem o seu sinal invertido,
ou seja, é dado o seu oposto.
Exemplo:
(FUNDAÇÃO CASA – AGENTE EDUCACIONAL – VUNESP) Para zelar pelos jovens internados e orientá-los a respeito do uso adequado
dos materiais em geral e dos recursos utilizados em atividades educativas, bem como da preservação predial, realizou-se uma dinâmica
elencando “atitudes positivas” e “atitudes negativas”, no entendimento dos elementos do grupo. Solicitou-se que cada um classificasse
suas atitudes como positiva ou negativa, atribuindo (+4) pontos a cada atitude positiva e (-1) a cada atitude negativa. Se um jovem classi-
ficou como positiva apenas 20 das 50 atitudes anotadas, o total de pontos atribuídos foi
(A) 50.
(B) 45.
(C) 42.
(D) 36.
(E) 32.
Resolução:
50-20=30 atitudes negativas
20.4=80
30.(-1)=-30
80-30=50
Resposta: A
• Multiplicação: é uma adição de números/ fatores repetidos. Na multiplicação o produto dos números a e b, pode ser indicado por
a x b, a . b ou ainda ab sem nenhum sinal entre as letras.
• Divisão: a divisão exata de um número inteiro por outro número inteiro, diferente de zero, dividimos o módulo do dividendo pelo
módulo do divisor.
ATENÇÃO:
1) No conjunto Z, a divisão não é comutativa, não é associativa e não tem a propriedade da existência do elemento neutro.
2) Não existe divisão por zero.
24
MATEMÁTICA
3) Zero dividido por qualquer número inteiro, diferente de zero,
é zero, pois o produto de qualquer número inteiro por zero é igual
a zero.
Exemplo: Subconjuntos:
(PREF.DE NITERÓI) Um estudante empilhou seus livros, obten-
do uma única pilha 52cm de altura. Sabendo que 8 desses livros
possui uma espessura de 2cm, e que os livros restantes possuem SÍMBOLO REPRESENTAÇÃO DESCRIÇÃO
espessura de 3cm, o número de livros na pilha é: Conjunto dos números
* Q*
(A) 10 racionais não nulos
(B) 15 Conjunto dos números
(C) 18 + Q+
racionais não negativos
(D) 20
(E) 22 Conjunto dos números
*e+ Q*+
racionais positivos
Resolução: Conjunto dos números
São 8 livros de 2 cm: 8.2 = 16 cm - Q_
racionais não positivos
Como eu tenho 52 cm ao todo e os demais livros tem 3 cm,
Conjunto dos números
temos: *e- Q*_
racionais negativos
52 - 16 = 36 cm de altura de livros de 3 cm
36 : 3 = 12 livros de 3 cm
Representação decimal
O total de livros da pilha: 8 + 12 = 20 livros ao todo.
Podemos representar um número racional, escrito na forma de
Resposta: D
fração, em número decimal. Para isso temos duas maneiras possí-
veis:
• Potenciação: A potência an do número inteiro a, é definida
1º) O numeral decimal obtido possui, após a vírgula, um núme-
como um produto de n fatores iguais. O número a é denominado a
ro finito de algarismos. Decimais Exatos:
base e o número n é o expoente.an = a x a x a x a x ... x a , a é multi-
plicado por a n vezes. Tenha em mente que:
– Toda potência de base positiva é um número inteiro positivo. 2
= 0,4
– Toda potência de base negativa e expoente par é um número 5
inteiro positivo.
– Toda potência de base negativa e expoente ímpar é um nú-
2º) O numeral decimal obtido possui, após a vírgula, infinitos
mero inteiro negativo.
algarismos (nem todos nulos), repetindo-se periodicamente Deci-
mais Periódicos ou Dízimas Periódicas:
Propriedades da Potenciação
1) Produtos de Potências com bases iguais: Conserva-se a base
e somam-se os expoentes. (–a)3 . (–a)6 = (–a)3+6 = (–a)9 1
= 0,333...
2) Quocientes de Potências com bases iguais: Conserva-se a 3
base e subtraem-se os expoentes. (-a)8 : (-a)6 = (-a)8 – 6 = (-a)2
3) Potência de Potência: Conserva-se a base e multiplicam-se
Representação Fracionária
os expoentes. [(-a)5]2 = (-a)5 . 2 = (-a)10
É a operação inversa da anterior. Aqui temos duas maneiras
4) Potência de expoente 1: É sempre igual à base. (-a)1 = -a e
possíveis:
(+a) = +a
1
25
MATEMÁTICA
Procedimento: para transformarmos uma dízima periódica simples em fração basta utilizarmos o dígito 9 no denominador para cada
quantos dígitos tiver o período da dízima.
a)
Procedimento: para cada algarismo do período ainda se coloca um algarismo 9 no denominador. Mas, agora, para cada algarismo do
antiperíodo se coloca um algarismo zero, também no denominador.
b)
Procedimento: é o mesmo aplicado ao item “a”, acrescido na frente da parte inteira (fração mista), ao qual transformamos e obtemos
a fração geratriz.
Exemplo:
(PREF. NITERÓI) Simplificando a expressão abaixo
Obtém-se :
(A) ½
(B) 1
(C) 3/2
(D) 2
(E) 3
26
MATEMÁTICA
Resolução: Exemplo:
(PREF. JUNDIAI/SP – AGENTE DE SERVIÇOS OPERACIONAIS
– MAKIYAMA) Na escola onde estudo, ¼ dos alunos tem a língua
portuguesa como disciplina favorita, 9/20 têm a matemática como
favorita e os demais têm ciências como favorita. Sendo assim, qual
fração representa os alunos que têm ciências como disciplina favo-
rita?
(A) 1/4
(B) 3/10
(C) 2/9
Resposta: B (D) 4/5
(E) 3/2
Caraterísticas dos números racionais
O módulo e o número oposto são as mesmas dos números in- Resolução:
teiros. Somando português e matemática:
Resposta: B
Representação geométrica
• Multiplicação: como todo número racional é uma fração ou
pode ser escrito na forma de uma fração, definimos o produto de
dois números racionais a e c , da mesma forma que o produto de
b d
frações, através de:
Exemplo:
(PM/SE – SOLDADO 3ªCLASSE – FUNCAB) Numa operação
• Subtração: a subtração de dois números racionais p e q é a policial de rotina, que abordou 800 pessoas, verificou-se que 3/4
própria operação de adição do número p com o oposto de q, isto é: dessas pessoas eram homens e 1/5 deles foram detidos. Já entre as
p – q = p + (–q) mulheres abordadas, 1/8 foram detidas.
Qual o total de pessoas detidas nessa operação policial?
(A) 145
(B) 185
(C) 220
(D) 260
(E) 120
ATENÇÃO: Na adição/subtração se o denominador for igual,
conserva-se os denominadores e efetua-se a operação apresen-
tada.
27
MATEMÁTICA
Resolução: 2) Símbolos:
- Primeiro, resolvemos os parênteses ( ), até acabarem os cál-
culos dentro dos parênteses,
-Depois os colchetes [ ];
- E por último as chaves { }.
ATENÇÃO:
– Quando o sinal de adição (+) anteceder um parêntese, col-
chetes ou chaves, deveremos eliminar o parêntese, o colchete ou
chaves, na ordem de resolução, reescrevendo os números internos
com os seus sinais originais.
– Quando o sinal de subtração (-) anteceder um parêntese, col-
chetes ou chaves, deveremos eliminar o parêntese, o colchete ou
chaves, na ordem de resolução, reescrevendo os números internos
com os seus sinais invertidos.
Resposta: A Exemplo:
(MANAUSPREV – ANALISTA PREVIDENCIÁRIO – ADMINISTRATI-
• Potenciação: é válido as propriedades aplicadas aos núme- VA – FCC) Considere as expressões numéricas, abaixo.
ros inteiros. Aqui destacaremos apenas as que se aplicam aos nú- A = 1/2 + 1/4+ 1/8 + 1/16 + 1/32 e
meros racionais. B = 1/3 + 1/9 + 1/27 + 1/81 + 1/243
A) Toda potência com expoente negativo de um número ra- O valor, aproximado, da soma entre A e B é
cional diferente de zero é igual a outra potência que tem a base (A) 2
igual ao inverso da base anterior e o expoente igual ao oposto do (B) 3
expoente anterior. (C) 1
(D) 2,5
(E) 1,5
Resolução:
Vamos resolver cada expressão separadamente:
Resposta: E
28
MATEMÁTICA
2) Todo número natural é múltiplo de 1.
3) Todo número natural, diferente de zero, tem infinitos múl-
tiplos.
4) O zero é múltiplo de qualquer número natural.
5) Os múltiplos do número 2 são chamados de números pares,
e a fórmula geral desses números é 2k (k ∈ N). Os demais são cha-
mados de números ímpares, e a fórmula geral desses números é 2k
+ 1 (k ∈ N).
6) O mesmo se aplica para os números inteiros, tendo k ∈ Z.
Critérios de divisibilidade
São regras práticas que nos possibilitam dizer se um número Divisores
é ou não divisível por outro, sem que seja necessário efetuarmos Os divisores de um número n, é o conjunto formado por todos
a divisão. os números que o dividem exatamente. Tomemos como exemplo o
No quadro abaixo temos um resumo de alguns dos critérios: número 12.
Fatoração numérica
Trata-se de decompor o número em fatores primos. Para de-
compormos este número natural em fatores primos, dividimos o
mesmo pelo seu menor divisor primo, após pegamos o quociente
e dividimos o pelo seu menor divisor, e assim sucessivamente até
obtermos o quociente 1. O produto de todos os fatores primos re-
presenta o número fatorado. Exemplo:
29
MATEMÁTICA
Exemplo:
MDC (18,24,42) =
Observe que os fatores comuns entre eles são: 2 e 3, então pegamos os de menores expoentes: 2x3 = 6. Logo o Máximo Divisor Co-
mum entre 18,24 e 42 é 6.
Temos ainda que o produto do MDC e MMC é dado por: MDC (A,B). MMC (A,B)= A.B
Os cálculos desse tipo de problemas, envolvem adições e subtrações, posteriormente as multiplicações e divisões. Depois os pro-
blemas são resolvidos com a utilização dos fundamentos algébricos, isto é, criamos equações matemáticas com valores desconhecidos
(letras). Observe algumas situações que podem ser descritas com utilização da álgebra.
É bom ter mente algumas situações que podemos encontrar:
Exemplos:
(PREF. GUARUJÁ/SP – SEDUC – PROFESSOR DE MATEMÁTICA – CAIPIMES) Sobre 4 amigos, sabe-se que Clodoaldo é 5 centímetros
mais alto que Mônica e 10 centímetros mais baixo que Andreia. Sabe-se também que Andreia é 3 centímetros mais alta que Doralice e que
Doralice não é mais baixa que Clodoaldo. Se Doralice tem 1,70 metros, então é verdade que Mônica tem, de altura:
(A) 1,52 metros.
(B) 1,58 metros.
(C) 1,54 metros.
(D) 1,56 metros.
Resolução:
Escrevendo em forma de equações, temos:
C = M + 0,05 ( I )
C = A – 0,10 ( II )
A = D + 0,03 ( III )
D não é mais baixa que C
Se D = 1,70 , então:
30
MATEMÁTICA
( III ) A = 1,70 + 0,03 = 1,73 Fração é todo número que pode ser escrito da seguinte forma
( II ) C = 1,73 – 0,10 = 1,63 a/b, com b≠0. Sendo a o numerador e b o denominador. Uma fra-
( I ) 1,63 = M + 0,05 ção é uma divisão em partes iguais. Observe a figura:
M = 1,63 – 0,05 = 1,58 m
Resposta: B
31
MATEMÁTICA
• Multiplicação e Divisão
Multiplicação: É produto dos numerados pelos denominadores RELAÇÕES E FUNÇÕES; FUNÇÕES POLINOMIAIS; FUN-
dados. Ex.: ÇÕES EXPONENCIAIS E LOGARÍTMICAS
Com a ϵ R* e b ϵ R.
(A)
(B)
(D)
(E)
Resolução:
Se cada garrafa contém X litros de suco, e eu tenho 3 garrafas,
então o total será de 3X litros de suco. Precisamos dividir essa quan-
tidade de suco (em litros) para 5 pessoas, logo teremos:
Mas, se a = -1 e b = 0, temos então y = -x. A reta determinada
por esta função é a bissetriz dos quadrantes pares, conforme mos-
tra o gráfico ao lado. x e y têm valores iguais em módulo, porém
com sinais contrários.
32
MATEMÁTICA
Função linear: é a função do 1º grau quando b = 0, a ≠ 0 e a ≠ Função ímpar: quando para todo elemento x pertencente ao
1, a e b ∈ R. domínio, temos f(-x) = -f(x) ∀ x є D(f). Ou seja, os elementos simé-
tricos do domínio terão imagens simétricas.
Função afim: é a função do 1º grau quando a ≠ 0, b ≠ 0, a e b
∈ R.
Função Par: quando para todo elemento x pertencente ao do- Raiz ou zero da função do 1º grau
mínio temos f(x)=f(-x), ∀ x ∈ D(f). Ou seja, os valores simétricos A raiz ou zero da função do 1º grau é o valor de x para o qual y =
devem possuir a mesma imagem. f(x) = 0. Graficamente, é o ponto em que a reta “corta” o eixo x. Por-
tanto, para determinar a raiz da função, basta a igualarmos a zero:
33
MATEMÁTICA
2º) Verificamos se a função é crescente (a>0) ou decrescente (a ( B ) o ponto N está no eixo y abaixo do zero, e o ponto P está no
< 0); temos duas possibilidades: eixo x à direita do zero, mas N está em uma posição mais baixa que
o ponto P, e, assim, a função é crescente.
( D ) o ponto L está no 3º quadrante e o ponto M está no 1º
quadrante, e L está em uma posição mais baixa do que o ponto M,
sendo, assim, crescente.
( C ) o ponto S está no 2º quadrante e o ponto T está no 4º qua-
drante, e S está em uma posição mais alta do que o ponto T, sendo,
assim, decrescente.
Resposta: C.
EQUAÇÕES LINEARES
As equações do tipo a1x1 + a2x2 + a3x3 + .....+ anxn = b, são equa-
ções lineares, onde a1, a2, a3, ... são os coeficientes; x1, x2, x3,... as
incógnitas e b o termo independente.
Por exemplo, a equação 4x – 3y + 5z = 31 é uma equação linear.
Os coeficientes são 4, –3 e 5; x, y e z as incógnitas e 31 o termo
Exemplos: 01. (PM/SP – CABO – CETRO) O gráfico abaixo re- independente.
presenta o salário bruto (S) de um policial militar em função das Para x = 2, y = 4 e z = 7, temos 4.2 – 3.4 + 5.7 = 31, concluímos
horas (h) trabalhadas em certa cidade. Portanto, o valor que este que o terno ordenado (2,4,7) é solução da equação linear
policial receberá por 186 horas é 4x – 3y + 5z = 31.
FUNÇÕES QUADRÁTICAS
Chama-se função do 2º grau ou função quadrática, de domínio
R e contradomínio R, a função:
Com a, b e c reais e a ≠ 0.
Onde:
a é o coeficiente de x2
b é o coeficiente de x
c é o termo independente
(A) R$ 3.487,50.
(B) R$ 3.506,25. Chama-se função completa aquela em que a, b e c não são nu-
(C) R$ 3.534,00. los, e função incompleta aquela em que b ou c são nulos.
(D) R$ 3.553,00.
Raízes da função do 2ºgrau
Resolução: Analogamente à função do 1º grau, para encontrar as raízes
da função quadrática, devemos igualar f(x) a zero. Teremos então:
300 750 𝑥
= =
16 40 186 ax2 + bx + c = 0
34
MATEMÁTICA
Gráfico da função do 2º grau Coordenadas do vértice
As coordenadas do vértice da parábola são dadas por:
Concavidade da parábola
Graficamente, a função do 2º grau, de domínio r, é representa-
da por uma curva denominada parábola. Dada a função y = ax2 + bx
+ c, cujo gráfico é uma parábola, se:
Raízes da função
Considerando os sinais do discriminante (Δ) e do coeficiente de
x2, teremos os gráficos que seguem para a função y = ax2 + bx + c.
Exemplos: 01. (CBM/MG – Oficial Bombeiro Militar – FU-
MARC) Duas cidades A e B estão separadas por uma distância d.
Considere um ciclista que parte da cidade A em direção à cidade B.
A distância d, em quilômetros, que o ciclista ainda precisa percorrer
para chegar ao seu destino em função do tempo t, em horas, é dada
100 − 𝑡 2
pela função 𝑑 𝑡 = . Sendo assim, a velocidade
média 𝑡+1
(A) 10 Km/h
Vértice da parábola – Máximos e mínimos da função (B) 20 Km/h
Observe os vértices nos gráficos: (C) 90 Km/h
(D) 100 Km/h
Resolução:
Vamos calcular a distância total, fazendo t = 0:
100−02
𝑑 0 = 0+1
= 100𝑘𝑚
Agora, vamos substituir na função:
100 – t² = 0
O vértice da parábola será: – t² = – 100 . (– 1)
• o ponto mínimo se a concavidade estiver voltada para cima t² = 100
(a > 0); t= √100=10km/h
• o ponto máximo se a concavidade estiver voltada para baixo Resposta: A.
(a < 0).
35
MATEMÁTICA
02. (IPEM – TÉCNICO EM METROLOGIA E QUALIDADE – VU- b=2
NESP) A figura ilustra um arco decorativo de parábola AB sobre a c=-24
porta da entrada de um salão: a + b + c = 1 + 2 – 24 = -21
Resposta: E.
FUNÇÃO EXPONENCIAL
Antes seria bom revisarmos algumas noções de potencializa-
ção e radiciação.
Sejam a e b bases reais e diferentes de zero e m e n expoentes
inteiros, temos:
Resolução:
C=0,81, pois é exatamente a distância de V
F(x)=-x²+0,81
0=-x²+0,81
X²=0,81
X=±0,9
A distância AB é 0,9+0,9=1,8
Resposta: B.
Resolução:
2x-8=0
2x=8
X=4
𝑥1 + 𝑥2
𝑥𝑣 = Para resolver estas equações, além das propriedades de potên-
2 cias, utilizamos a seguinte propriedade:
Se duas potências são iguais, tendo as bases iguais, então os
4 + 𝑥2 expoentes são iguais: am = an ⇔ m = n, sendo a > 0 e a ≠ 1.
−1 =
2 Gráficos da função exponencial
x2=-2-4=-6 A função exponencial f, de domínio R e contradomínio R, é de-
finida por y = ax, onde a > 0 e a ≠1. Exemplos:
Lembrando que para encontrar a equação, temos:
(x - 4)(x + 6) = x² + 6x - 4x - 24 = x² + 2x - 24
a=1
36
MATEMÁTICA
01. Considere a função y = 3x.
Vamos atribuir valores a x, calcular y e a seguir construir o grá-
fico:
Inequação exponencial
A inequação exponencial caracteriza-se pela presença da incóg-
nita no expoente e de um dos sinais de desigualdade: >, <, ≥ ou ≤.
Analisando seus gráficos, temos:
37
MATEMÁTICA
Exemplos: 01. (Corpo de Bombeiros Militar/MT – Oficial Bombeiro Militar – COVEST – UNEMAT) As funções exponenciais são muito
usadas para modelar o crescimento ou o decaimento populacional de uma determinada região em um determinado período de tempo. A
função modela o comportamento de uma determinada cidade quanto ao seu crescimento populacional em um determinado período de
tempo, em que P é a população em milhares de habitantes e t é o número de anos desde 1980.
Qual a taxa média de crescimento populacional anual dessa cidade?
(A) 1,023%
(B) 1,23%
(C) 2,3%
(D) 0,023%
(E) 0,23%
Resolução:
P(t)=234 .(1,023)t
População %
234 --------------- 100
239,382 ------------ x
02. (Polícia Civil/SP – Desenhista Técnico-Pericial – VUNESP) Uma população P cresce em função do tempo t (em anos), segundo a
sentença . Hoje, no instante t = 0, a população é de 2 000 indivíduos. A população será de 50 000 indivíduos daqui a
(A) 20 anos.
(B) 25 anos.
(C) 50 anos.
(D) 15 anos.
(E) 10 anos.
Resolução:
50000=2000 .50,1 .t
50000
50,1 .𝑡 =
2000
50,1 .t= 52
Vamos simplificar as bases (5), sobrando somente os expoentes.
Assim:
0,1 . t = 2
t = 2 / 0,1
t = 20 anos
Resposta: A.
FUNÇÃO LOGARÍTMICA
Logaritmo
O logaritmo de um número b, na base a, onde a e b são positivos e a é diferente de um, é um número x, tal que x é o expoente de a
para se obter b, então:
38
MATEMÁTICA
Onde:
b é chamado de logaritmando
a é chamado de base
x é o logaritmo
Observações
- loga a = 1, sendo a > 0 e a ≠ 1
- Nos logaritmos decimais, ou seja, aqueles em que a base é 10, está frequentemente é omitida. Por exemplo: logaritmo de 2 na base
10; notação: log 2
Propriedades
Resolução:
Sabemos que 341 está entre 100 e 1.000:
102 < 341 < 103
Cologaritmo
cologa b = - loga b, sendo b> 0, a > 0 e a ≠ 1
Mudança de base
Para resolver questões que envolvam logaritmo com bases diferentes, utilizamos a seguinte expressão:
Função logarítmica
Função logarítmica é a função f, de domínio R*+ e contradomínio R, que associa cada número real e positivo x ao logaritmo de x na
base a, onde a é um número real, positivo e diferente de 1.
39
MATEMÁTICA
Observando as funções anteriores, podemos concluir que para
y = logax:
• se a > 1, a função é crescente;
• se 0 < a < 1, a função é decrescente.
Equações logarítmicas
Gráfico da função logarítmica A equação logarítmica caracteriza-se pela presença do sinal de
Vamos construir o gráfico de duas funções logarítmicas como igualdade e da incógnita no logaritmando.
exemplo:
Para resolver uma equação, antes de mais nada devemos es-
A) y = log3 x tabelecer a condição de existência do logaritmo, determinando os
Atribuímos valores convenientes a x, calculamos y, conforme valores da incógnita para que o logaritmando e a base sejam positi-
mostra a tabela. Localizamos os pontos no plano cartesiano obten- vos, e a base diferente de 1.
do a curva que representa a função.
Inequações logarítmicas
Identificamos as inequações logarítmicas pela presença da in-
cógnita no logaritmando e de um dos sinais de desigualdade: >, <,
≥ ou ≤.
Assim como nas equações, devemos garantir a existência do
logaritmo impondo as seguintes condições: o logaritmando e a base
devem ser positivos e a base deve ser diferente de 1.
Na resolução de inequações logarítmicas, procuramos obter
logaritmos de bases iguais nos dois membros da inequação, para
poder comparar os logaritmandos. Porém, para que não ocorram
distorções, devemos verificar se as funções envolvidas são crescen-
tes ou decrescentes. A justificativa será feita por meio da análise
gráfica de duas funções:
B) y = log1/3 x
Vamos tabelar valores convenientes de x, calculando y. Locali-
zamos os pontos no plano cartesiano, determinando a curva corres-
pondente à função.
40
MATEMÁTICA
Na função crescente, os sinais coincidem na comparação dos
logaritmandos e, posteriormente, dos respectivos logaritmos; po- MATRIZES; DETERMINANTES; SISTEMAS LINEARES
rém, o mesmo não ocorre na função decrescente. De modo geral,
quando resolvemos uma inequação logarítmica, temos de observar Matriz
o valor numérico da base pois, sendo os dois membros da inequa- Uma matriz é uma tabela de números reais dispostos segundo
ção compostos por logaritmos de mesma base, para comparar os linhas horizontais e colunas verticais.
respectivos logaritmandos temos dois casos a considerar: O conjunto ordenado dos números que formam a tabela, é de-
• se a base é um número maior que 1 (função crescente), utili- nominado matriz, e cada número pertencente a ela é chamado de
zamos o mesmo sinal da inequação; elemento da matriz.
• se a base é um número entre zero e 1 (função decrescente),
utilizamos o “sinal inverso” da inequação. • Tipo ou ordem de uma matriz
As matrizes são classificadas de acordo com o seu número de
Concluindo, dada a função y = loga x e dois números reais x1 e linhas e de colunas. Assim, a matriz representada a seguir é deno-
x2: minada matriz do tipo, ou ordem, 3 x 4 (lê-se três por quatro), pois
tem três linhas e quatro colunas. Exemplo:
Exemplos:
01. (PETROBRAS-GEOFISICO JUNIOR – CESGRANRIO) Se log x
representa o logaritmo na base 10 de x, então o valor de n tal que
log n = 3 - log 2 é:
(A) 2000
(B) 1000 • Representação genérica de uma matriz
(C) 500 Costumamos representar uma matriz por uma letra maiúscula
(D) 100 (A, B, C...), indicando sua ordem no lado inferior direito da letra.
(E) 10 Quando desejamos indicar a ordem de modo genérico, fazemos uso
de letras minúsculas. Exemplo: Am x n.
Resolução: Da mesma maneira, indicamos os elementos de uma matriz
log n = 3 - log 2 pela mesma letra que a denomina, mas em minúscula. A linha e a
log n + log 2 = 3 * 1 coluna em que se encontra tal elemento é indicada também no lado
onde 1 = log 10 então: inferior direito do elemento. Exemplo: a11.
log (n * 2) = 3 * log 10
log(n*2) = log 10 ^3
2n = 10^3
2n = 1000
n = 1000 / 2
n = 500
Resposta: C.
41
MATEMÁTICA
Sendo M=(aij)3x7 com cada elemento aij representando o número de ocorrência no turno i do dia j da semana.
O número total de ocorrências no 2º turno do 2º dia, somando como 3º turno do 6º dia e com o 1º turno do 7º dia será:
(A) 61
(B) 59
(C) 58
(D) 60
(E) 62
Resolução:
Turno i –linha da matriz
Turno j- coluna da matriz
2º turno do 2º dia – a22=18
3º turno do 6º dia-a36=25
1º turno do 7º dia-a17=19
Somando:18+25+19=62
Resposta: E
• Igualdade de matrizes
Duas matrizes A e B são iguais quando apresentam a mesma ordem e seus elementos correspondentes forem iguais.
Exemplo:
(PM/SP – SARGENTO CFS – CETRO) Considere a seguinte sentença envolvendo matrizes:
Diante do exposto, assinale a alternativa que apresenta o valor de y que torna a sentença verdadeira.
(A) 4.
(B) 6.
(C) 8.
(D) 10.
Resolução:
y=10
Resposta: D
– Multiplicação por um número real: sendo k ∈ R e A uma matriz de ordem m x n, a matriz k . A é obtida multiplicando-se todos os
elementos de A por k.
– Subtração: a diferença entre duas matrizes A e B (de mesma ordem) é obtida por meio da soma da matriz A com a oposta de B.
42
MATEMÁTICA
– Multiplicação entre matrizes: consideremos o produto A . B = C. Para efetuarmos a multiplicação entre A e B, é necessário, antes de
mais nada, determinar se a multiplicação é possível, isto é, se o número de colunas de A é igual ao número de linhas de B, determinando
a ordem de C: Am x n x Bn x p = Cm x p, como o número de colunas de A coincide com o de linhas de B(n) então torna-se possível o produto, e a
matriz C terá o número de linhas de A(m) e o número de colunas de B(p)
Exemplo:
(CPTM – ALMOXARIFE – MAKIYAMA) Assinale a alternativa que apresente o resultado da multiplicação das matrizes A e B abaixo:
(A)
(B)
(C)
(D)
(E)
Resolução:
Resposta: B
43
MATEMÁTICA
• Casos particulares
– Matriz identidade ou unidade: é a matriz quadrada que possui os elementos de sua diagonal principal iguais a 1 e os demais ele-
mentos iguais a 0. Indicamos a matriz identidade de Ιn, onde n é a ordem da matriz.
– Matriz transposta: é a matriz obtida pela troca ordenada de linhas por colunas de uma matriz. Dada uma matriz A de ordem m x n,
obtém-se uma outra matriz de ordem n x m, chamada de transposta de A. Indica-se por At.
Exemplo:
(CPTM – ANALISTA DE COMUNICAÇÃO JÚNIOR – MAKIYAMA) Para que a soma de uma matriz e sua respectiva matriz transposta At
em uma matriz identidade, são condições a serem cumpridas:
(A) a=0 e d=0
(B) c=1 e b=1
(C) a=1/c e b=1/d
(D) a²-b²=1 e c²-d²=1
(E) b=-c e a=d=1/2
Resolução:
2a=1
a=1/2
b+c=0
b=-c
2d=1
D=1/2
Resposta: E
– Matriz inversa: dizemos que uma matriz quadrada A, de ordem n, admite inversa se existe uma matriz A-1, tal que:
Determinantes
Determinante é um número real associado a uma matriz quadrada. Para indicar o determinante, usamos barras. Seja A uma matriz
quadrada de ordem n, indicamos o determinante de A por:
44
MATEMÁTICA
• Determinante de uma matriz de 1ª- ordem
A matriz de ordem 1 só possui um elemento. Por isso, o determinante de uma matriz de 1ª ordem é o próprio elemento.
Exemplo:
(PM/SP – SARGENTO CFS – CETRO) É correto afirmar que o determinante é igual a zero para x igual a
(A) 1.
(B) 2.
(C) -2.
(D) -1.
Resolução:
D = 4 - (-2x)
0 = 4 + 2x
x=-2
Resposta: C
• Regra de Sarrus
Esta técnica é utilizada para obtermos o determinante de matrizes de 3ª ordem. Utilizaremos um exemplo para mostrar como aplicar
a regra de Sarrus. A regra de Sarrus consiste em:
a) Repetir as duas primeiras colunas à direita do determinante.
b) Multiplicar os elementos da diagonal principal e os elementos que estiverem nas duas paralelas a essa diagonal, conservando os
sinais desses produtos.
c) Efetuar o produto dos elementos da diagonal secundária e dos elementos que estiverem nas duas paralelas à diagonal e multipli-
cá-los por -1.
d) Somar os resultados dos itens b e c. E assim encontraremos o resultado do determinante.
Simplificando temos:
Exemplo:
(PREF. ARARAQUARA/SP – AGENTE DA ADMINISTRAÇÃO DOS SERVIÇOS DE SANEAMENTO – CETRO) Dada a matriz
(A) -9.
(B) -8.
(C) 0.
(D) 4.
45
MATEMÁTICA
Resolução:
detA = - 1 – 4 + 2 - (2 + 2 + 2) = - 9
Resposta: A
• Teorema de Laplace
Para matrizes quadradas de ordem n ≥ 2, o teorema de Laplace oferece uma solução prática no cálculo dos determinantes. Pelo teo-
rema, o determinante de uma matriz quadrada A de ordem n (n ≥ 2) é igual à soma dos produtos dos elementos de uma linha ou de uma
coluna qualquer, pelos respectivos co-fatores.
Exemplo:
Dada a matriz quadrada de ordem 3, , vamos calcular det A usando o teorema de Laplace.
Podemos calcular o determinante da matriz A, escolhendo qualquer linha ou coluna. Por exemplo, escolhendo a 1ª linha, teremos:
det A = a11. A11 + a12. A12 + a13. A13
Exemplo:
(TRANSPETRO – ENGENHEIRO JÚNIOR – AUTOMAÇÃO – CESGRANRIO) Um sistema dinâmico, utilizado para controle de uma rede
automatizada, forneceu dados processados ao longo do tempo e que permitiram a construção do quadro abaixo.
1 3 2 0
3 1 0 2
2 3 0 1
0 2 1 3
A partir dos dados assinalados, mantendo-se a mesma disposição, construiu-se uma matriz M. O valor do determinante associado à
matriz M é
(A) 42
(B) 44
(C) 46
(D) 48
(E) 50
46
MATEMÁTICA
Resolução:
Como é uma matriz 4x4 vamos achar o determinante através do teorema de Laplace. Para isso precisamos, calcular os cofatores. Dica:
pela fileira que possua mais zero. O cofator é dado pela fórmula: . Para o determinante é usado os números que
sobraram tirando a linha e a coluna.
Resposta: D
Exemplo:
Como os determinantes são, agora, de 3ª ordem, podemos aplicar a regra de Sarrus em cada um deles. Assim:
det A= 3. (188) - 1. (121) + 2. (61) ⇒ det A = 564 - 121 + 122 ⇒ det A = 565
47
MATEMÁTICA
• Representação genérica de um sistema linear
Um sistema linear de m equações nas n incógnitas x1, x2, ..., xn
é da forma:
Exemplo:
Na equação 4x – y = 2, o par ordenado (3,10) é uma solução,
pois ao substituirmos esses valores na equação obtemos uma igual-
dade.
4. 3 – 10 → 12 – 10 = 2
Já o par (3,0) não é a solução, pois 4.3 – 0 = 2 → 12 ≠ 2
Sistemas lineares
Entendemos por sistema linear um conjunto de equações li-
neares reunidas com o objetivo de se obterem soluções comuns a
todas essas equações.
• Equação linear
Chamamos de equações lineares as equações do 1º grau que
apresentam a forma: Portanto, podemos escrever o sistema sob a forma matricial:
a1x1 + a2x2 + a3x3+...anxn = b,
48
MATEMÁTICA
• Regra de Cramer
Para a resolução de sistemas normais, utilizaremos a regra de Cramer.
Consideramos os sistemas .
Se substituirmos em M a 2ª coluna (dos coeficientes de y) pela coluna dos coeficientes independentes, obteremos , cujo de-
terminante é indicado por Dy = af – ce.
Assim, em (*), na 2ª equação, obtemos D. y = Dy. Se D ≠ 0, segue que
Substituindo esse valor de y na 1ª equação de (*) e considerando a matriz , cujo determinante é indicado por Dx = ed – bf,
obtemos , D ≠ 0.
Em síntese, temos:
49
MATEMÁTICA
Esta regra é um importante recurso na resolução de sistemas lineares possíveis e determinados, especialmente quando o escalona-
mento se torna trabalhoso (por causa dos coeficientes das equações) ou quando o sistema é literal.
Exemplo:
Aplicando a Regra de Cramer para resolver os sistemas
Uma alternativa para encontrar o valor de z seria substituir x por -2 e y por 3 em qualquer uma das equações do sistema.
Assim, S = {(-2,3-1)}.
Exemplos:
(UNIOESTE – ANALISTA DE INFORMÁTICA – UNIOESTE) Considere o seguinte sistema de equações lineares
Resolução:
50
MATEMÁTICA
Dx ≠ 0, portanto o sistema tem infinitas soluções.
Resposta: C
Resolução:
(I) 2a + 3b + 4c = 17 x(-2)
(II) 4a + b – 2c = 9
Multiplicamos a primeira equação por – 2 e somamos com a segunda, cancelando a variável a:
(I) 2a + 3b + 4c = 17
(II) – 5b – 10c = - 25 : (- 5)
Então:
(I) 2a + 3b + 4c = 17
(II) b +2c = 5
Um sistema com três variáveis e duas equações é possível e indeterminado (tem infinitas soluções), então fazendo a variável c = α
(qualquer letra grega).
Substituímos c em (II):
b + 2α = 5
Reposta: D
• Cálculo da razão
A razão de uma P.A. é dada pela diferença de um termo qualquer pelo termo imediatamente anterior a ele.
r = a2 – a1 = a3 – a2 = a4 – a3 = a5 – a4 = .......... = an – an – 1
Exemplos:
- (5, 9, 13, 17, 21, 25,......) é uma P.A. onde a1 = 5 e razão r = 4
- (2, 9, 16, 23, 30,.....) é uma P.A. onde a1 = 2 e razão r = 7
- (23, 21, 19, 17, 15,....) é uma P.A. onde a1 = 23 e razão r = - 2.
• Classificação
Uma P.A. é classificada de acordo com a razão.
51
MATEMÁTICA
. . . . . .
. . . . . .
. . . . . .
n° termo é:
Exemplo:
(PREF. AMPARO/SP – AGENTE ESCOLAR – CONRIO) Descubra o 99º termo da P.A. (45, 48, 51,...)
(A) 339
(B) 337
(C) 333
(D) 331
Resolução:
Resposta: A
Propriedades
1) Numa P.A. a soma dos termos equidistantes dos extremos é igual à soma dos extremos.
2) Numa P.A. com número ímpar de termos, o termo médio é igual à média aritmética entre os extremos.
Exemplo:
3) A sequência (a, b, c) é P.A. se, e somente se, o termo médio é igual à média aritmética entre a e c, isto é:
52
MATEMÁTICA
Soma dos n primeiros termos
Cálculo da razão
A razão da P.G. é obtida dividindo um termo por seu antecessor. Assim: (a1, a2, a3, ..., an - 1, an, ...) é P.G. ⇔ an = (an - 1) q, n ≥ 2
Exemplos:
Classificação
Uma P.G. é classificada de acordo com o primeiro termo e a razão.
n° termo é:
53
MATEMÁTICA
Exemplo:
(TRF 3ª – ANALISTA JUDICIÁRIO - INFORMÁTICA – FCC) Um tabuleiro de xadrez possui 64 casas. Se fosse possível colocar 1 grão de
arroz na primeira casa, 4 grãos na segunda, 16 grãos na terceira, 64 grãos na quarta, 256 na quinta, e assim sucessivamente, o total de
grãos de arroz que deveria ser colocado na 64ª casa desse tabuleiro seria igual a
(A) 264.
(B) 2126.
(C) 266.
(D) 2128.
(E) 2256.
Resolução:
Pelos valores apresentados, é uma PG de razão 4
a64 = ?
a1 = 1
q=4
n = 64
Resposta: B
Propriedades
1) Em qualquer P.G., cada termo, exceto os extremos, é a média geométrica entre o precedente e o consequente.
2) Em toda P.G. finita, o produto dos termos equidistantes dos extremos é igual ao produto dos extremos.
3) Em uma P.G. de número ímpar de termos, o termo médio é a média geométrica entre os extremos.
Em síntese temos:
4) Em uma PG, tomando-se três termos consecutivos, o termo central é a média geométrica dos seus vizinhos.
54
MATEMÁTICA
Produto dos n termos (A) 1/5.
(B) 1/6.
(C) 2/5.
(D) 2/9.
(E) 3/5.
Resolução:
Temos as seguintes regras para o produto:
1) O produto de n números positivos é sempre positivo.
2) No produto de n números negativos:
a) se n é par: o produto é positivo.
b) se n é ímpar: o produto é negativo.
Resolução:
Sejam S as somas dos elementos da sequência e S1 a soma da
PG infinita (0,9; 0,09; 0,009;…) de razão q = 0,09/0,9 = 0,1. Assim:
S = 3 + S1
Como -1 < q < 1 podemos aplicar a fórmula da soma de uma PG Exemplo:
infinita para obter S1: (CÂMARA DE SÃO PAULO/SP – TÉCNICO ADMINISTRATIVO –
S1 = 0,9/(1 - 0,1) = 0,9/0,9 = 1 → S = 3 + 1 = 4 FCC) O preço de venda de um produto, descontado um imposto de
Resposta: E 16% que incide sobre esse mesmo preço, supera o preço de com-
pra em 40%, os quais constituem o lucro líquido do vendedor. Em
quantos por cento, aproximadamente, o preço de venda é superior
ao de compra?
MATEMÁTICA FINANCEIRA (A) 67%.
(B) 61%.
Porcentagem (C) 65%.
São chamadas de razões centesimais ou taxas percentuais ou (D) 63%.
simplesmente de porcentagem, as razões de denominador 100, ou (E) 69%.
seja, que representam a centésima parte de uma grandeza. Costu-
mam ser indicadas pelo numerador seguido do símbolo %. (Lê-se: Resolução:
“por cento”). Preço de venda: V
Preço de compra: C
V – 0,16V = 1,4C
0,84V = 1,4C
Exemplo:
(CÂMARA MUNICIPAL DE SÃO JOSÉ DOS CAMPOS/SP – ANA-
LISTA TÉCNICO LEGISLATIVO – DESIGNER GRÁFICO – VUNESP) O O preço de venda é 67% superior ao preço de compra.
departamento de Contabilidade de uma empresa tem 20 funcio- Resposta: A
nários, sendo que 15% deles são estagiários. O departamento de
Recursos Humanos tem 10 funcionários, sendo 20% estagiários. Em
relação ao total de funcionários desses dois departamentos, a fra-
ção de estagiários é igual a
55
MATEMÁTICA
Aumento e Desconto em porcentagem
– Aumentar um valor V em p%, equivale a multiplicá-lo por
Logo:
Logo:
Fator de multiplicação
É o valor final de , é o que chamamos de fator de multiplicação, muito útil para resolução de cálculos de
porcentagem. O mesmo pode ser um acréscimo ou decréscimo no valor do produto.
Resolução:
VA = 5000 .(1,3) = 6500 e
VD = 6500 .(0,80) = 5200, podemos, para agilizar os cálculos, juntar tudo em uma única equação:
5000 . 1,3 . 0,8 = 5200
Logo o preço do produto após o acréscimo e desconto é de R$ 5.200,00
ATENÇÃO: Devemos sempre relacionar a taxa e o tempo na mesma unidade para efetuarmos os cálculos.
56
MATEMÁTICA
Usamos a seguinte fórmula: O (1+i)t ou (1+i)n é chamado de fator de acumulação de capital.
Em juros simples:
– O capital cresce linearmente com o tempo;
– O capital cresce a uma progressão aritmética de razão: J=C.i
– A taxa i e o tempo t devem ser expressos na mesma unidade.
– Devemos expressar a taxa i na forma decimal.
– Montante (M) ou FV (valor futuro) é a soma do capital com
os juros, ou seja:
M=C+J
M = C.(1+i.t)
57
MATEMÁTICA
Exemplo:
(FGV-SP) Uma aplicação financeira rende juros de 10% ao ano, compostos anualmente. Utilizando para cálculos a aproximação de ,
pode-se estimar que uma aplicação de R$ 1.000,00 seria resgatada no montante de R$ 1.000.000,00 após:
(A) Mais de um século.
(B) 1 século
(C) 4/5 de século
(D) 2/3 de século
(E) ¾ de século
Resolução:
A fórmula de juros compostos é M = C(1 + i)t e do enunciado temos que M = 1.000.000, C = 1.000, i = 10% = 0,1:
1.000.000 = 1.000(1 + 0,1)t
(agora para calcular t temos que usar logaritmo nos dois lados da equação para pode utilizar a propriedade
, o expoente m passa multiplicando)
t.0,04 = 3
Resposta: E
ANOTAÇÕES
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
_______________________________________________________________________________________________________________
58
ATUALIDADES DO MERCADO FINANCEIRO
1. Sistema Financeiro Nacional. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Dinâmica do mercado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 02
3. Mercado bancário. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 03
ATUALIDADES DO MERCADO FINANCEIRO
Tarifa
SISTEMA FINANCEIRO NACIONAL Em contrapartida ao limite para os juros, o BC anunciou que
bancos poderão cobrar uma tarifa para disponibilizar o limite de
SISTEMA FINANCEIRO NACIONAL (SFN) cheque especial aos clientes, o que não ocorre hoje.
O SFN é um conjunto de instituições financeiras que promovem • Para limites de crédito de até R$ 500 está vedada a co-
o encontro entre poupadores e captadores de recursos, ou seja, brança de taxa.
aqueles que tem dinheiro e aqueles que necessitam dele. Através • Acima desse valor, as instituições poderão cobrar uma ta-
do SFN o dinheiro circula na economia, através da aquisição de bens rifa mensal de até 0,25% do valor que exceder R$ 500. Atualmente,
e serviços, pagamentos de obrigações e dívidas e investimentos di- cerca de 19 milhões de clientes têm limite até este valor.
versos. A cobrança começará a ser feita automaticamente para contra-
O SFN é organizado por órgãos normativos, supervisores e ope- tos firmados (isto é, novas contas correntes com limite de cheque
radores. especial) a partir de 6 de janeiro de 2020.
Desde a criação do Ministério da Economia (que absorveu os Para os correntistas que já têm acesso ao cheque especial, utili-
seguintes Ministérios: Ministério da Fazenda; Ministério do Plane- zado ou não, a cobrança de tarifa só será possível após 1º de junho
jamento, Desenvolvimento e Gestão; Ministério do Desenvolvimen- de 2020. E ainda assim, após uma “repactuação” do contrato com o
to, Indústria, Comércio Exterior e Serviços (MDIC); e Ministério do banco.” (g1.globo.com, 2021).
Trabalho), em 01/01/2019; alterações importantes foram realizadas
• Implementação do Open Banking – As informações bancá-
em instituições participantes do Sistema Financeiro Nacional.
rias não são da instituição financeira, mas sim, do cliente; que tem
Conforme o Ministério da Economia: “A Medida Provisória 870,
a liberdade de divulgá-las ou não para outras entidades do mesmo
de 1º de janeiro de 2019 estabeleceu a nova estrutura do governo
segmento.
federal. Dentro da organização dos órgãos da Presidência da Repú-
blica e dos ministérios, foi criado o Ministério da Economia, inte- “O Banco Central deu início a processo de implementação do
grando atribuições dos ministérios da Fazenda, do Planejamento, Open Banking com objetivo de aumentar a eficiência e a competi-
Desenvolvimento e Gestão, da Indústria, Comércio Exterior e Ser- ção no Sistema Financeiro Nacional e abrir espaço para a atuação
viços, e do Trabalho. de novas empresas do setor. Publicado nesta quarta-feira (24/04),
A estrutura regimental do Ministério da Economia foi definida o Comunicado 33.455 estabelece as principais diretrizes que irão
pelo Decreto nº 9.679, de 2 de janeiro de 2019, com alterações do orientar a proposta de regulamentação do modelo a ser adotado
Decreto nº 9.745, de 08 de abril de 2019 e do Decreto nº 10.072 no Brasil.
de 18 de outubro de 2019, e do Decreto n° 10.366, de 22 de Maio Com o Open Banking, o Banco Central busca aumentar a efi-
de 2020 e posteriores alterações com a conversão da MP na Lei nº ciência no Sistema Financeiro Nacional, mediante a promoção de
13.844, de 18 de junho de 2019.” ambiente de negócio mais inclusivo e competitivo, preservando sua
• Nova Composição do CMN (Conselho Monetário Nacional) segurança e a proteção dos consumidores. Em linha com a recém
– Ministro da Economia (antes Ministro da Fazenda), Presidente do aprovada Lei de Proteção de Dados Pessoais, o Open Banking parte
BACEN e Secretário Especial da Fazenda do Ministério da Economia do princípio de que os dados bancários pertencem aos clientes e
(antes Ministro do Planejamento, Orçamento e Gestão). não às instituições financeiras. Dessa forma, desde que autorizadas
• BNDES (Banco Nacional de Desenvolvimento Econômico pelo correntista, as instituições financeiras compartilharão dados,
e Social) – Era vinculado do MDIC (Ministério do Desenvolvimento, produtos e serviços com outras instituições, por meio de abertura e
Indústria, Comércio Exterior e Serviços), atualmente faz parte do integração de plataformas e infraestruturas de tecnologia, de forma
Ministério da Economia. segura, ágil e conveniente.
• CNPC (Conselho Nacional de Previdência Complementar e Os requisitos estabelecidos pelo Banco Central indicam que de-
PREVIC (Superintendência Nacional de Previdência Complementar) verão ser compartilhadas, inicialmente, as seguintes informações e
– Antes vinculados ao Ministério da Previdência, agora fazem parte serviços:
também do Ministério da Economia. I - produtos e serviços oferecidos pelas instituições participan-
• CMN limitou as taxas de juros no cheque especial para no tes (localização de pontos de atendimento, características de pro-
máximo, 8% a.m.; e bancos poderão cobrar tarifa para liberação de
dutos, termos e condições contratuais e custos financeiros, entre
limites. Resolução 4.705 de 27/11/2019.
outros);
“O Banco Central anunciou nesta quarta-feira (27) que os juros
II - dados cadastrais dos clientes (nome, número de inscrição
do cheque especial serão de no máximo 8% ao mês. A medida passa
no Cadastro de Pessoas Físicas - CPF, filiação, endereço, entre ou-
a vigorar em 6 de janeiro de 2020.
É a primeira vez que o Banco Central decide impor uma taxa tros);
máxima a uma linha de crédito com recursos livres, isto é, que não III - dados transacionais dos clientes (dados relativos a contas
tem um direcionamento estipulado por lei (como ocorre com o cré- de depósito, a operações de crédito, a demais produtos e serviços
dito imobiliário ou microcrédito). contratados pelos clientes, entre outros); e
A decisão foi tomada em reunião do Conselho Monetário Na- IV - serviços de pagamento (inicialização de pagamento, trans-
cional (CMN), formado pelo Banco Central e pelo Ministério da Eco- ferências de fundos, pagamentos de produtos e serviços, entre ou-
nomia. tros).
O cheque especial é uma das modalidades de crédito mais ca- No segundo semestre, deverão ser submetidas à consulta pú-
ras do país e não tem limite para os juros, ou seja, os bancos têm blica minutas de atos normativos sobre o tema e seu cronograma
liberdade para definir a taxa. de implementação.
Dados divulgados mais cedo pelo BC mostram que a taxa mé-
dia do cheque especial alcançou 305,9% ao ano em outubro, o que
equivale a uma taxa de 12% ao mês. Com o limite imposto agora,
o juro anual será de cerca de 150% ao ano, no máximo, de acordo
com o Banco Central.
1
ATUALIDADES DO MERCADO FINANCEIRO
Como funciona O Pix tende a ter um custo de aceitação menor por sua estrutu-
Por meio do Open Banking, clientes bancários poderiam, por ra ter menos intermediários.
exemplo, visualizar em um único aplicativo o extrato consolidado Mais detalhes sobre a diferenciação entre o Pix e os demais
de todas as suas contas bancárias e investimentos. Também será meios de transferência e de pagamento podem ser visualizadas na
possível, por este mesmo aplicativo, realizar uma transferência de FAQ do Pix.
recursos ou realizar um pagamento, sem a necessidade de acessar Com quem é possível fazer um Pix
diretamente o site ou aplicativo do banco.” (bcb.gov.br, 2021). O Pix pode ser utilizado para transferências e pagamentos:
• entre pessoas (transações P2P, person to person);
• entre pessoas e estabelecimentos comerciais, incluindo
DINÂMICA DO MERCADO comércio eletrônico (transações P2B, person to business);
• entre estabelecimentos, como pagamentos de fornecedo-
DINÂMICA DO MERCADO res, por exemplo (transações B2B, business to business);
A dinâmica do mercado financeiro se dá através do relaciona- • para transferências envolvendo entes governamentais,
mento entre os agentes e de como as políticas econômicas afetam como pagamentos de taxas e impostos (transações P2G e B2G, per-
a movimentação e a quantidade de moeda disponível na economia. son to government e business to government).
Pix
Sistema de pagamento desenvolvido pelo BACEN. Sua princi- Limite de valor nas transações
pal característica é que as transações realizadas (pagamentos ou Não há limite mínimo para pagamentos ou transferências via
transferências), ocorrem de forma instantânea, no máximo em 10 Pix. Isso quer dizer que você pode fazer transações a partir de
segundos; todos os dias do anos (finais de semana e feriados), 24 R$0,01. Em geral, também não há limite máximo de valores. Entre-
horas por dia.
tanto, as instituições que ofertam o Pix poderão estabelecer limites
Conforme o BACEN: “Pix é o pagamento instantâneo brasilei-
máximos de valor baseados em critérios de mitigação de riscos de
ro. O meio de pagamento criado pelo Banco Central (BC) em que
fraude e de critérios de prevenção à lavagem de dinheiro e ao finan-
os recursos são transferidos entre contas em poucos segundos, a
ciamento do terrorismo.”
qualquer hora ou dia. É prático, rápido e seguro. O Pix pode ser
realizado a partir de uma conta corrente, conta poupança ou conta Inflação
de pagamento pré-paga. A inflação de 2020 foi 4,52%. A previsão para 2021 é 3,75%
Além de aumentar a velocidade em que pagamentos ou trans- (conforme BACEN) (permitindo variação de 1,5% para mais ou me-
ferências são feitos e recebidos, o Pix tem o potencial de: nos), ou seja, 5,25% (máximo) e 2,25% (mínimo).
• alavancar a competitividade e a eficiência do mercado; “O IPCA (Índice de Preços ao Consumidor Amplo), a inflação
• baixar o custo, aumentar a segurança e aprimorar a expe- oficial no país, fechou 2020 a 4,52%. Esse é o maior nível para um
riência dos clientes; ano desde 2016, quando foi de 6,29%. Em 2019, a inflação foi de
• incentivar a eletronização do mercado de pagamentos de 4,31%. O resultado ficou acima do centro da meta do governo para
varejo; o ano passado, que era de 4%, mas dentro da margem de tolerância
• promover a inclusão financeira; e de 1,5 ponto percentual para baixo (2,5%) ou para cima (5,5%).”
• preencher uma série de lacunas existentes na cesta de (uol.com.br, 2021).
instrumentos de pagamentos disponíveis atualmente à população.
Diferença entre Pix e outros meios de transferência e de paga- Recessão Técnica 2020
mento Em 2020, o Brasil passou por uma recessão técnica (dois tri-
O Pix foi criado para ser um meio de pagamento bastante am- mestres consecutivos com resultado negativo). Devido a pandemia
plo. Qualquer pagamento ou transferência que hoje é feito usando do novo Coronavírus, os setores de comércio e serviços sofreram
diferentes meios (TED, cartão, boleto etc.), poderá ser feito com o com a redução de negócios, o que aumentou consideravelmente o
Pix, simplesmente com o uso do aparelho celular. nível de desempregados no país.
As transferências tradicionais no Brasil são entre contas da Para movimentar a economia, o Estado teve que intervir com a
mesma instituição (transferência simples) ou entre contas de insti- renda temporária através do auxílio emergencial.
tuições diferentes (TED e DOC). O Pix é mais uma opção disponível Ainda que reduzida, a segurança econômica estava voltada
à população que convive com os tipos tradicionais. A diferença é para a agricultura. Mas, com o dólar em alta, os empresários do se-
que, com o Pix, não é necessário saber onde a outra pessoa tem tor passaram a exportar muito mais, reduzindo a oferta interna de
conta. Você realiza a transferência a partir, por exemplo, de um te- produtos como soja, arroz, etc. Com o aumento de moeda, devido
lefone na sua lista de contatos, usando a Chave Pix. Outra diferença
o auxílio emergencial e a situação incerta da pandemia, houve uma
é que o Pix não tem limite de horário, nem de dia da semana e os
corrida aos supermercados em busca de produtos da cesta bási-
recursos são disponibilizados ao recebedor em poucos segundos. O
ca. Essa demanda em desequilíbrio com a quantidade de produtos
Pix funciona 24 horas, 7 dias por semana, entre quaisquer bancos,
ofertados fez com que os preços se elevassem, gerando um aumen-
de banco para fintech, de fintech para instituição de pagamento,
entre outros. to também no índice de inflação.
As transações de pagamento por meio de boleto exigem a lei- De acordo com o site da CNN Brasil:
tura de código de barras, enquanto o Pix pode fazer a leitura de um “A recessão técnica é um termo usado para definir um período
QR Code. A diferença é que, no Pix a liquidação é em tempo real, o de dois ou mais trimestres consecutivos de queda no Produto In-
pagador e o recebedor são notificados a respeito da conclusão da terno Bruto. Mas, atenção: a comparação é feita com os três meses
transação e o pagamento pode ser feito em qualquer dia e horário. anteriores, e não com o mesmo período do ano no ano anterior.
As transações de pagamento utilizando cartão de débito exi- A atual recessão na economia se dá pelas quedas de 2,5% do
gem uso de maquininhas ou instrumento similar. Com Pix, as tran- PIB no primeiro trimestre (número revisado nesta terça pelo IBGE)
sações podem ser iniciadas por meio do telefone celular, sem a ne- e 9,7% entre abril e junho.
cessidade de qualquer outro instrumento.
2
ATUALIDADES DO MERCADO FINANCEIRO
O que puxou a recessão de 2020? A contagem do período de 4 anos se inicia na data da liquidação
Marcado pela crise do novo coronavírus, o primeiro semestre ou intervenção em instituição financeira onde o investidor detenha
do ano foi marcado por tombos setoriais históricos, principalmen- valor garantido pelo FGC, sendo que permanece inalterado o limite
te na indústria e no setor de serviços. Nos primeiros três meses, a da garantia de R$ 250 mil por CPF/CNPJ e conglomerado financeiro.
maior queda – 2,2% – foi observada nos serviços. Comércio, ser- Aos investimentos contratados ou repactuados até 21 de de-
viços prestados às famílias e outras atividades de serviços foram zembro de 2017, data da aprovação do CMN, não se aplica o teto
duramente afetados. de R$ 1 milhão a cada período de 4 anos.
A indústria foi o destaque negativo do segundo trimestre, com O teto foi aprovado na Assembleia Geral Extraordinária (AGE)
queda de 12,3%. Os destaques foram os recuos nas Indústrias de do FGC, no dia 18 de dezembro, mediante alteração no Regulamen-
Transformação, de -17,5%; Construção -5,7%; na atividade de Eletri- to do fundo, a qual foi também aprovada pelo CMN em reunião de
cidade e gás, água, esgoto, atividades de gestão de resíduos -4,4%. 21 de dezembro de 2017.” (fgc.org.br, 2021)
Quando o assunto é PIB, é importante ficar de olho no consu-
mo das famílias, que tem participação de 65% no indicação. Nos Cartões de débito e crédito
segundo trimestre, o consumo das famílias teve recuo recorde de Os cartões bancários são conhecidos como moedas de plástico.
12,5%, resultado que poderia ser pior, não fosse o auxílio emergen- Podem ser múltiplos e utilizados como débito ou crédito, ou com as
cial.” funções individuais.
Além das funções conhecidas do cartão de débito, como paga-
Criptomoedas mentos, saques, consultas de extrato e saldo, etc; podem ser utiliza-
É um tipo de moeda, porém, totalmente digital. Se diferencia dos como pré datados e CDC (Crédito Direto ao Consumidor).
das demais, pois não é vinculada a alguma economia ou nacionali- Os cartões de crédito, além de ser meio de pagamento de bens
dade. e serviços parcelados e com limites pré estabelecidos, faz saques,
Existem diversas, mas a mais popular é a Bitcoin. pagamentos de contas, etc. e conta com a modalidade básica (ape-
“Genericamente, uma criptomoeda é um tipo de dinheiro – nas para pagamentos de compras e contas, saques) e o cartão di-
como outras moedas com as quais convivemos cotidianamente – ferenciado (que inclui as funções do básico), porém, oferece tam-
com a diferença de ser totalmente digital. Além disso, ela não emi- bém programas de benefícios e recompensas, como milhas, pontos,
tida por nenhum governo (como é o caso do real ou do dólar, por descontos em estabelecimentos ou serviços conveniados (cartões
exemplo). co-branded); vinculados a alguma associação (cartão de afinidade);
Mas isso é possível? Para explicar que sim, Fernando Ulrich, emitidos em estabelecimentos comerciais par uso exclusivos nas lo-
autor do livro Bitcoin: A moeda na era digital, faz uma analogia bem jas da rede (cartões private label).
simples: “O que o e-mail fez com a informação, o Bitcoin fará com Para os tipos débito e crédito, existe a modalidade do paga-
o dinheiro”. Antes da internet, as pessoas dependiam dos correios mento por aproximação. Bastando aproximar o chip com o equipa-
para enviar uma mensagem a quem estivesse em outro lugar. Era mento para ocorrer a captação de dados, sem a necessidade de se-
preciso um intermediário para entregá-la fisicamente – inimaginá- nhas. Todo o processo ocorre através da tecnologia NFC (Near Field
vel para quem tem acesso a e-mail e outros serviços de mensageria.
Communication). Essa modalidade ganhou mais clientes a partir da
Algo semelhante acontecerá com as moedas virtuais no futuro.
pandemia, devido as medidas para evitar contato físico.
“Com o Bitcoin você pode transferir fundos de A para B em qual-
quer parte do mundo sem jamais precisar confiar em um terceiro
FINTECHS
para essa simples tarefa”, explica Ulrich no livro.
As Fintechs são startups que trabalham para inovar e otimizar
Embora o Bitcoin seja a moeda digital mais conhecida, o con-
serviços do sistema financeiro.Essas empresas possuem custos ope-
ceito de criptomoeda é anterior a ele. Segundo o site Bitcoin.org,
racionais menores que as instituições financeiras tradicionais, gra-
mantido pela comunidade ligada ao Bitcoin, as criptomoedas foram
ças a utilizam de tecnologias, que elevam seu nível de eficiência e
descritas pela primeira vez em 1998 por Wei Dai, que sugeriu usar a
criptografia para controlar a emissão e as transações realizadas com reduzem o valor dos serviços ofertados.
um novo tipo de dinheiro. Isso dispensaria a necessidade da exis- O termo fintech surgiu da união das palavras financial + te-
tência de uma autoridade central, como acontece com as moedas chonology (tecnologia fiananceira). Exemplo disso é a utilização de
convencionais.” (infomoney.com.br, 2021). smatrphones para a utilização de bancos móveis, transformando o
acesso bancário para toda a população.
“Fintechs são empresas que introduzem inovações nos mer-
MERCADO BANCÁRIO cados financeiros por meio do uso intenso de tecnologia, com po-
tencial para criar novos modelos de negócios. Atuam por meio de
MERCADO BANCÁRIO plataformas online e oferecem serviços digitais inovadores relacio-
É o ambiente em que seus agentes podem negociar produtos nados ao setor.
financeiros. No Brasil, há várias categorias de fintechs: de crédito, de paga-
mento, gestão financeira, empréstimo, investimento, financiamen-
Fundo Garantido de Crédito (FGC) to, seguro, negociação de dívidas, câmbio, e multisserviços.
O FGC (Fundo Garantidor de Crédito) passa a limitar a sua pro- Podem ser autorizadas a funcionar no país dois tipos de finte-
teção ao valor de R$ 1.000.000,00 por CPF ou CNPJ no período de chs de crédito – para intermediação entre credores e devedores por
quatro anos; mantido, no entanto, o limite de R$ 250.000,00 por meio de negociações realizadas em meio eletrônico: a Sociedade
instituição financeira quanto a liquidação, intervenção ou falência. de Crédito Direto (SCD) e a Sociedade de Empréstimo entre Pesso-
“O Conselho Monetário Nacional (CMN) aprovou, em 21 de de- as (SEP), cujas operações constarão do Sistema de Informações de
zembro de 2017, a alteração promovida no Regulamento do Fundo Créditos (SCR).
Garantidor de Créditos (FGC), que estabelece teto de R$ 1 milhão, Autorização
a cada período de 4 anos, para garantias pagas para cada CPF ou Para entrar em operação, as fintechs que quiserem operar
CNPJ. como SCD ou SEP devem solicitar autorização ao Banco Central.
3
ATUALIDADES DO MERCADO FINANCEIRO
Além de obter informações sobre os proprietários, o BC preci- A inscrição será realizada por meio do hotsite do Sandbox Re-
sa: comprovar a origem e da respectiva movimentação financeira gulatório. As entidades interessadas deverão apresentar projeto
dos recursos utilizados no empreendimento pelos controladores e enquadrado no conceito de projeto inovador, definido na regula-
verificar se há compatibilidade da capacidade econômico-financei- mentação do programa, o qual deverá estar no âmbito de compe-
ra com o porte, a natureza e o objetivo do empreendimento. tência do Conselho Monetário Nacional ou do Banco Central do
No Brasil, as fintechs estão regulamentadas desde abril de Brasil. Considerando a capacidade operacional da referida Autar-
2018 pelo Conselho Monetário Nacional (CMN) – Resoluções 4.656 quia, o número de participantes será limitado e sua seleção se dará
e 4.657. com base em critérios a serem definidos pela regulamentação do
Bancos digitais programa.” (gov.br, 2021).
São bancos que não possuem estrutura física, mas oferecem os
mesmos serviços que um banco tradicional, como conta corrente,
poupança, cartões, saques, etc. ANOTAÇÕES
“Uma conta digital é uma conta bancária em que todas as ope-
rações são realizadas de forma digital, seja por um aplicativo espe-
______________________________________________________
cífico, por email ou por serviços como o internet banking.
Isso permite que o usuário economize tempo e dinheiro, pois ______________________________________________________
não precisa se deslocar para uma agência física e muitas vezes não
é nem necessário contatar um atendente humano. A principal van- ______________________________________________________
tagem dessas contas é a ausência de taxas para a realização dos
serviços, ou a presença de taxas consideravelmente mais baratas do ______________________________________________________
que você encontrará em contas tradicionais.
______________________________________________________
Essas contas também costumam ser mais seguras, devido aos
avanços na área de informática, contando com sistema de seguran- ______________________________________________________
ça (como validação por itoken) para evitar golpes e outros tipos de
ataque. ______________________________________________________
Como funciona uma conta digital?
Uma das principais vantagens da conta digital é que não é ne- ______________________________________________________
cessário se deslocar até uma agência bancária para fazer a abertura.
______________________________________________________
Como as instituições responsáveis por essas contas são, em geral,
fintechs, não existe uma sede física para atender os clientes. Todo o ______________________________________________________
contato e abertura das contas são feitos pelo próprio celular.
Ao baixar o aplicativo do banco em que você deseja criar sua ______________________________________________________
conta digital, será pedido que você preencha seus dados e envie
uma foto ou um PDF de alguns documentos, como RG e compro- ______________________________________________________
vante de endereço. A partir dessa etapa inicial, todo o processo
______________________________________________________
continuará sendo feito pelo aplicativo e por email e em poucos dias
(às vezes horas) você já estará com sua nova conta.” (promobit.com. ______________________________________________________
br, 2021).
Sandbox Regulatório ______________________________________________________
É a técnica que permite testar produtos e serviços financeiros
num ambiente próprio e controlado, com clientes reais que possam ______________________________________________________
mensurar possíveis riscos e acompanhar o desenvolvimento desse
______________________________________________________
processo na esfera do BACEN e de todo o Sistema Financeiro Na-
cional. ______________________________________________________
“O Sandbox Regulatório é uma iniciativa que permite que insti-
tuições já autorizadas e ainda não autorizadas a funcionar pelo Ban- ______________________________________________________
co Central do Brasil possam testar projetos inovadores (produtos
ou serviços experimentais) com clientes reais, sujeitos a requisitos ______________________________________________________
regulatórios específicos.
Os principais benefícios para os participantes são: ______________________________________________________
Teste de um projeto inovador com clientes reais, sujeito a re- ______________________________________________________
quisitos regulatórios customizados e mais brandos do que aqueles
estabelecidos para as instituições incumbentes. ______________________________________________________
Monitoramento específico pela área de supervisão do Banco
Central do Brasil, agregando experiência ao participante de como é _____________________________________________________
trabalhar em ambientes supervisionados.
Contato com a área de regulação do Banco Central do Brasil, _____________________________________________________
podendo fornecer subsídios a eventual nova regulamentação do ______________________________________________________
sistema financeiro, especificamente na área específica do seu pro-
jeto. ______________________________________________________
O início do primeiro ciclo do Sandbox Regulatório do Banco
Central do Brasil está previsto para o primeiro semestre de 2021. ______________________________________________________
4
PROBABILIDADE E ESTATÍSTICA
1. Análise combinatória; Noções de probabilidade; Teorema de Bayes; Probabilidade condicional . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. Noções de estatística; População e amostra; Análise e interpretação de tabelas e gráficos; Regressão, tendências, extrapolações e
interpolações; Tabelas de distribuição empírica de variáveis e histogramas; Estatística descritiva (média, mediana, variância, desvio
padrão, percentis, quartis, outliers, covariância) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 06
PROBABILIDADE E ESTATÍSTICA
Exemplos:
ANÁLISE COMBINATÓRIA; NOÇÕES DE PROBABILIDA- 5! = 5 . 4 . 3 . 2 . 1 = 120.
DE; TEOREMA DE BAYES; PROBABILIDADE CONDICIO- 7! = 7 . 6 . 5 . 4 . 3 . 2 . 1 = 5.040.
NAL
ATENÇÃO
A Análise Combinatória é a parte da Matemática que desen-
volve meios para trabalharmos com problemas de contagem. Ve- 0! = 1
jamos eles: 1! = 1
Tenha cuidado 2! = 2, pois 2 . 1 = 2. E 3!
Princípio fundamental de contagem (PFC)
Não é igual a 3, pois 3 . 2 . 1 = 6.
É o total de possibilidades de o evento ocorrer.
Arranjo simples
• Princípio multiplicativo: P1. P2. P3. ... .Pn.(regra do “e”). É
Arranjo simples de n elementos tomados p a p, onde n>=1 e p
um princípio utilizado em sucessão de escolha, como ordem.
é um número natural, é qualquer ordenação de p elementos dentre
• Princípio aditivo: P1 + P2 + P3 + ... + Pn. (regra do “ou”). É o
os n elementos, em que cada maneira de tomar os elementos se
princípio utilizado quando podemos escolher uma coisa ou outra.
diferenciam pela ordem e natureza dos elementos.
Exemplos:
Atenção: Observe que no grupo dos elementos: {1,2,3} um dos
(BNB) Apesar de todos os caminhos levarem a Roma, eles pas-
arranjos formados, com três elementos, 123 é DIFERENTE de 321, e
sam por diversos lugares antes. Considerando-se que existem três
assim sucessivamente.
caminhos a seguir quando se deseja ir da cidade A para a cidade
B, e que existem mais cinco opções da cidade B para Roma, qual a
• Sem repetição
quantidade de caminhos que se pode tomar para ir de A até Roma,
A fórmula para cálculo de arranjo simples é dada por:
passando necessariamente por B?
(A) Oito.
(B) Dez.
(C) Quinze.
(D) Dezesseis.
(E) Vinte.
Onde:
Resolução:
n = Quantidade total de elementos no conjunto.
Observe que temos uma sucessão de escolhas:
P =Quantidade de elementos por arranjo
Primeiro, de A para B e depois de B para Roma.
Exemplo: Uma escola possui 18 professores. Entre eles, serão
1ª possibilidade: 3 (A para B).
escolhidos: um diretor, um vice-diretor e um coordenador pedagó-
Obs.: o número 3 representa a quantidade de escolhas para a
gico. Quantas as possibilidades de escolha?
primeira opção.
n = 18 (professores)
p = 3 (cargos de diretor, vice-diretor e coordenador pedagógi-
2ª possibilidade: 5 (B para Roma).
co)
Temos duas possibilidades: A para B depois B para Roma, logo,
uma sucessão de escolhas.
Resultado: 3 . 5 = 15 possibilidades.
Resposta: C.
Resolução:
Exemplo: Seja P um conjunto com elementos: P = {A,B,C,D},
A questão trata-se de princípio fundamental da contagem, logo
tomando os agrupamentos de dois em dois, considerando o arranjo
vamos enumerar todas as possibilidades de fazermos o pedido:
com repetição quantos agrupamentos podemos obter em relação
6 x 4 x 4 x 5 = 480 maneiras.
ao conjunto P.
Resposta: B.
Resolução:
Fatorial
P = {A, B, C, D}
Sendo n um número natural, chama-se de n! (lê-se: n fatorial)
n=4
a expressão:
p=2
n! = n (n - 1) (n - 2) (n - 3). ... .2 . 1, como n ≥ 2.
1
PROBABILIDADE E ESTATÍSTICA
A(n,p)=np
A(4,2)=42=16
Permutação
É a TROCA DE POSIÇÃO de elementos de uma sequência. Utili- Resposta: Certo.
zamos todos os elementos.
• Circular
• Sem repetição A permutação circular é formada por pessoas em um formato
circular. A fórmula é necessária, pois existem algumas permutações
realizadas que são iguais. Usamos sempre quando:
a) Pessoas estão em um formato circular.
b) Pessoas estão sentadas em uma mesa quadrada (retangular)
de 4 lugares.
Atenção: Todas as questões de permutação simples podem ser
resolvidas pelo princípio fundamental de contagem (PFC).
Exemplo:
(PREF. LAGOA DA CONFUSÃO/TO – ORIENTADOR SOCIAL – Exemplo:
IDECAN) Renato é mais velho que Jorge de forma que a razão entre (CESPE) Uma mesa circular tem seus 6 lugares, que serão ocu-
o número de anagramas de seus nomes representa a diferença en- pados pelos 6 participantes de uma reunião. Nessa situação, o nú-
tre suas idades. Se Jorge tem 20 anos, a idade de Renato é mero de formas diferentes para se ocupar esses lugares com os par-
(A) 24. ticipantes da reunião é superior a 102.
(B) 25. ( ) Certo
(C) 26. ( ) Errado
(D) 27.
(E) 28. Resolução:
É um caso clássico de permutação circular.
Resolução: Pc = (6 - 1) ! = 5! = 5 . 4 . 3 . 2 . 1 = 120 possibilidades.
Anagramas de RENATO Resposta: CERTO.
______
6.5.4.3.2.1=720 Combinação
Combinação é uma escolha de um grupo, SEM LEVAR EM CON-
Anagramas de JORGE SIDERAÇÃO a ordem dos elementos envolvidos.
_____
5.4.3.2.1=120
• Sem repetição
Razão dos anagramas: 720/120=6 Dados n elementos distintos, chama-se de combinação simples
Se Jorge tem 20 anos, Renato tem 20+6=26 anos. desses n elementos, tomados p a p, a qualquer agrupamento de p
Resposta: C. elementos distintos, escolhidos entre os n elementos dados e que
diferem entre si pela natureza de seus elementos.
• Com repetição
Na permutação com elementos repetidos ocorrem permuta- Fórmula:
ções que não mudam o elemento, pois existe troca de elementos
iguais. Por isso, o uso da fórmula é fundamental.
Exemplo:
(CRQ 2ª REGIÃO/MG – AUXILIAR ADMINISTRATIVO – FUN-
DEP) Com 12 fiscais, deve-se fazer um grupo de trabalho com 3
Exemplo: deles. Como esse grupo deverá ter um coordenador, que pode ser
(CESPE) Considere que um decorador deva usar 7 faixas colo- qualquer um deles, o número de maneiras distintas possíveis de se
ridas de dimensões iguais, pendurando-as verticalmente na vitri- fazer esse grupo é:
ne de uma loja para produzir diversas formas. Nessa situação, se 3 (A) 4
faixas são verdes e indistinguíveis, 3 faixas são amarelas e indistin- (B) 660
guíveis e 1 faixa é branca, esse decorador conseguirá produzir, no (C) 1 320
máximo, 140 formas diferentes com essas faixas. (D) 3 960
( ) Certo
( ) Errado Resolução:
Como trata-se de Combinação, usamos a fórmula:
Resolução:
Total: 7 faixas, sendo 3 verdes e 3 amarelas.
Onde n = 12 e p = 3
2
PROBABILIDADE E ESTATÍSTICA
Como cada um deles pode ser o coordenado, e no grupo tem 3 pessoas, logo temos 220 x 3 = 660.
Resposta: B.
• Com repetição
É uma escolha de grupos, sem ordem, porém, podemos repetir elementos na hora de escolher.
Exemplo:
Em uma combinação com repetição classe 2 do conjunto {a, b, c}, quantas combinações obtemos?
Utilizando a fórmula da combinação com repetição, verificamos o mesmo resultado sem necessidade de enumerar todas as possibi-
lidades:
n=3ep=2
PROBABILIDADES
A teoria da probabilidade permite que se calcule a chance de ocorrência de um número em um experimento aleatório.
Experimento composto
Quando temos dois ou mais experimentos realizados simultaneamente, dizemos que o experimento é composto. Nesse caso, o nú-
mero de elementos do espaço amostral é dado pelo produto dos números de elementos dos espaços amostrais de cada experimento.
n(U) = n(U1).n(U2)
Probabilidade de um evento
Em um espaço amostral U, equiprobabilístico (com elementos que têm chances iguais de ocorrer), com n(U) elementos, o evento E,
com n(E) elementos, onde E Ì U, a probabilidade de ocorrer o evento E, denotado por p(E), é o número real, tal que:
3
PROBABILIDADE E ESTATÍSTICA
Onde,
n(E) = número de elementos do evento E.
n(S) = número de elementos do espaço amostral S.
Sendo 0 ≤ P(E) ≤ 1 e S um conjunto equiprovável, ou seja, todos os elementos têm a mesma “chance de acontecer.
ATENÇÃO:
As probabilidades podem ser escritas na forma decimal ou representadas em porcentagem.
Assim: 0 ≤ p(E) ≤ 1, onde:
p(∅) = 0 ou p(∅) = 0%
p(U) = 1 ou p(U) = 100%
Exemplo:
(PREF. NITERÓI – AGENTE FAZENDÁRIO – FGV) O quadro a seguir mostra a distribuição das idades dos funcionários de certa repartição
pública:
Escolhendo ao acaso um desses funcionários, a probabilidade de que ele tenha mais de 40 anos é:
(A) 30%;
(B) 35%;
(C) 40%;
(D) 45%;
(E) 55%.
Resolução:
O espaço amostral é a soma de todos os funcionário:
2 + 8 + 12 + 14 + 4 = 40
O número de funcionário que tem mais de 40 anos é: 14 + 4 = 18
Logo a probabilidade é:
Resposta: D
4
PROBABILIDADE E ESTATÍSTICA
Probabilidade condicional
Quando se impõe uma condição que reduz o espaço amostral, dizemos que se trata de uma probabilidade condicional.
Sejam A e B dois eventos de um espaço amostral U, com p(B) ≠ 0. Chama-se probabilidade de A condicionada a B a probabilidade de
ocorrência do evento A, sabendo-se que já ocorreu ou que vai ocorrer o evento B, ou seja:
Podemos também ler como: a probabilidade de A “dado que” ou “sabendo que” a probabilidade de B.
– Caso forem dois eventos simultâneos (ou sucessivos): para se avaliar a probabilidade de ocorrem dois eventos simultâneos (ou
sucessivos), que é P (A ∩ B), é preciso multiplicar a probabilidade de ocorrer um deles P(B) pela probabilidade de ocorrer o outro, sabendo
que o primeiro já ocorreu P (A | B). Sendo:
– Se dois eventos forem independentes: dois eventos A e B de um espaço amostral S são independentes quando P(A|B) = P(A) ou
P(B|A) = P(B). Sendo os eventos A e B independentes, temos:
P (A ∩ B) = P(A). P(B)
Sendo:
n: número de tentativas independentes;
p: probabilidade de ocorrer o evento em cada experimento (sucesso);
q: probabilidade de não ocorrer o evento (fracasso); q = 1 - p
k: número de sucessos.
ATENÇÃO:
A lei binomial deve ser aplicada nas seguintes condições:
– O experimento deve ser repetido nas mesmas condições as n vezes.
– Em cada experimento devem ocorrer os eventos E e .
– A probabilidade do E deve ser constante em todas as n vezes.
– Cada experimento é independente dos demais.
5
PROBABILIDADE E ESTATÍSTICA
Exemplo: Gráficos
Lançando-se um dado 5 vezes, qual a probabilidade de ocorre- Outro modo de apresentar dados estatísticos é sob uma forma
rem três faces 6? ilustrada, comumente chamada de gráfico. Os gráficos constituem-
-se numa das mais eficientes formas de apresentação de dados.
Resolução: Um gráfico é, essencialmente, uma figura construída a partir de
n: número de tentativas ⇒ n = 5 uma tabela; mas, enquanto a tabela fornece uma ideia mais precisa
k: número de sucessos ⇒ k = 3 e possibilita uma inspeção mais rigorosa aos dados, o gráfico é mais
p: probabilidade de ocorrer face 6 ⇒ p = 1/6 indicado para situações que visem proporcionar uma impressão
q: probabilidade de não ocorrer face 6 ⇒ q = 1- p ⇒ q = 5/6 mais rápida e maior facilidade de compreensão do comportamento
do fenômeno em estudo.
Os gráficos e as tabelas se prestam, portanto, a objetivos distin-
tos, de modo que a utilização de uma forma de apresentação não
NOÇÕES DE ESTATÍSTICA; POPULAÇÃO E AMOSTRA; exclui a outra.
ANÁLISE E INTERPRETAÇÃO DE TABELAS E GRÁFICOS; Para a confecção de um gráfico, algumas regras gerais devem
REGRESSÃO, TENDÊNCIAS, EXTRAPOLAÇÕES E INTER- ser observadas:
POLAÇÕES; TABELAS DE DISTRIBUIÇÃO EMPÍRICA DE Os gráficos, geralmente, são construídos num sistema de eixos
VARIÁVEIS E HISTOGRAMAS; ESTATÍSTICA DESCRITIVA chamado sistema cartesiano ortogonal. A variável independente é
(MÉDIA, MEDIANA, VARIÂNCIA, DESVIO PADRÃO, localizada no eixo horizontal (abscissas), enquanto a variável de-
PERCENTIS, QUARTIS, OUTLIERS, COVARIÂNCIA) pendente é colocada no eixo vertical (ordenadas). No eixo vertical,
o início da escala deverá ser sempre zero, ponto de encontro dos
eixos.
Tabelas − Iguais intervalos para as medidas deverão corresponder a
A tabela é a forma não discursiva de apresentar informações, iguais intervalos para as escalas. Exemplo: Se ao intervalo 10-15 kg
das quais o dado numérico se destaca como informação central. corresponde 2 cm na escala, ao intervalo 40-45 kg também deverá
Sua finalidade é apresentar os dados de modo ordenado, simples corresponder 2 cm, enquanto ao intervalo 40-50 kg corresponderá
e de fácil interpretação, fornecendo o máximo de informação num 4 cm.
mínimo de espaço. − O gráfico deverá possuir título, fonte, notas e legenda, ou
seja, toda a informação necessária à sua compreensão, sem auxílio
Elementos da tabela do texto.
Uma tabela estatística é composta de elementos essenciais e − O gráfico deverá possuir formato aproximadamente quadra-
elementos complementares. Os elementos essenciais são: do para evitar que problemas de escala interfiram na sua correta
− Título: é a indicação que precede a tabela contendo a desig- interpretação.
nação do fato observado, o local e a época em que foi estudado.
− Corpo: é o conjunto de linhas e colunas onde estão inseridos Tipos de Gráficos
os dados.
− Cabeçalho: é a parte superior da tabela que indica o conteú- • Estereogramas: são gráficos onde as grandezas são repre-
do das colunas. sentadas por volumes. Geralmente são construídos num sistema
− Coluna indicadora: é a parte da tabela que indica o conteúdo de eixos bidimensional, mas podem ser construídos num sistema
das linhas. tridimensional para ilustrar a relação entre três variáveis.
Os elementos complementares são:
− Fonte: entidade que fornece os dados ou elabora a tabela.
− Notas: informações de natureza geral, destinadas a esclare-
cer o conteúdo das tabelas.
− Chamadas: informações específicas destinadas a esclarecer
ou conceituar dados numa parte da tabela. Deverão estar indica-
das no corpo da tabela, em números arábicos entre parênteses, à
esquerda nas casas e à direita na coluna indicadora. Os elementos
complementares devem situar-se no rodapé da tabela, na mesma
ordem em que foram descritos.
6
PROBABILIDADE E ESTATÍSTICA
• Diagramas: são gráficos geométricos de duas dimensões, de c) Gráfico de linhas ou curvas: neste gráfico os pontos são dis-
fácil elaboração e grande utilização. Podem ser ainda subdivididos postos no plano de acordo com suas coordenadas, e a seguir são li-
em: gráficos de colunas, de barras, de linhas ou curvas e de setores. gados por segmentos de reta. É muito utilizado em séries históricas
e em séries mistas quando um dos fatores de variação é o tempo,
a) Gráfico de colunas: neste gráfico as grandezas são compa- como instrumento de comparação.
radas através de retângulos de mesma largura, dispostos vertical-
mente e com alturas proporcionais às grandezas. A distância entre
os retângulos deve ser, no mínimo, igual a 1/2 e, no máximo, 2/3 da
largura da base dos mesmos.
7
PROBABILIDADE E ESTATÍSTICA
ção. Essa divisão se faz por meio de uma regra de três simples. Com (B) a quantidade de chuva acumulada no mês de março foi
o auxílio de um transferidor efetuasse a marcação dos ângulos cor- maior em Fortaleza.
respondentes a cada divisão. (C) Fortaleza teve mais dias em que choveu do que Florianó-
polis.
(D) choveu a mesma quantidade em Fortaleza e Florianópolis.
Resolução:
A única alternativa que contém a informação correta com os
gráficos é a C.
Resposta: C
Média Aritmética
Ela se divide em:
Resolução:
Foi dado que: J = 2.M
(I)
Foi pedido:
8
PROBABILIDADE E ESTATÍSTICA
Para o cálculo Exemplo:
Na figura abaixo os segmentos AB e DA são tangentes à cir-
cunferência determinada pelos pontos B, C e D. Sabendo-se que os
segmentos AB e CD são paralelos, pode-se afirmar que o lado BC é:
Exemplo:
(CÂMARA MUNICIPAL DE SÃO JOSÉ DO RIO PRETO/SP – PRO-
GRAMADOR DE COMPUTADOR – FIP) A média semestral de um cur-
so é dada pela média ponderada de três provas com peso igual a 1
na primeira prova, peso 2 na segunda prova e peso 3 na terceira.
Qual a média de um aluno que tirou 8,0 na primeira, 6,5 na segunda (A) a média aritmética entre AB e CD.
e 9,0 na terceira? (B) a média geométrica entre AB e CD.
(A) 7,0 (C) a média harmônica entre AB e CD.
(B) 8,0 (D) o inverso da média aritmética entre AB e CD.
(C) 7,8 (E) o inverso da média harmônica entre AB e CD.
(D) 8,4
(E) 7,2 Resolução:
Sendo AB paralela a CD, se traçarmos uma reta perpendicular a
Resolução: AB, esta será perpendicular a CD também.
Na média ponderada multiplicamos o peso da prova pela sua Traçamos então uma reta perpendicular a AB, passando por B e
nota e dividimos pela soma de todos os pesos, assim temos: outra perpendicular a AB passando por D:
Resposta: B
Média geométrica
É definida, para números positivos, como a raiz n-ésima do pro-
duto de n elementos de um conjunto de dados.
Exemplo:
A média geométrica entre os números 12, 64, 126 e 345, é (1)
dada por:
G = R4[12 ×64×126×345] = 76,013 Aplicamos agora no triângulo ECB:
9
PROBABILIDADE E ESTATÍSTICA
ANOTAÇÕES
______________________________________________________
Ou seja, BC é a média geométrica entre AB e CD.
Resposta: B ______________________________________________________
______________________________________________________
ANOTAÇÕES ______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
_____________________________________________________
______________________________________________________
_____________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
_____________________________________________________
______________________________________________________
_____________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
______________________________________________________
10
CONHECIMENTOS BANCÁRIOS
1. Estrutura do Sistema Financeiro Nacional: Conselho Monetário Nacional; Banco Central do Brasil; Comissão de Valores Mobiliá-
rios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 01
2. COPOM – Comitê de Política Monetária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04
3. Produtos Bancários: Noções de cartões de crédito e débito, crédito direto ao consumidor, crédito rural, caderneta de poupança, capi-
talização, previdência, investimentos e seguros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 06
4. Noções de Mercado de capitais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5. Noções de Mercado Câmbio: Instituições autorizadas a operar e operações básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
6. Garantias do Sistema Financeiro Nacional: aval; fiança; penhor mercantil; alienação fiduciária; hipoteca; fianças bancárias. . . . . 13
7. Crime de lavagem de dinheiro: conceito e etapas. Prevenção e combate ao crime de lavagem de dinheiro: Lei nº 9.613/98 e suas alte-
rações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
8. Circular Bacen 3.461/2009 e suas alterações e Carta-Circular Bacen 3.542/12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
9. Autorregulação Bancária. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
CONHECIMENTOS BANCÁRIOS
Como funciona o CMN
ESTRUTURA DO SISTEMA FINANCEIRO NACIONAL: Os membros do CMN reúnem-se uma vez por mês para deli-
CONSELHO MONETÁRIO NACIONAL. BANCO CENTRAL berar sobre assuntos como adaptar o volume dos meios de paga-
DO BRASIL. COMISSÃO DE VALORES MOBILIÁRIOS mento às reais necessidades da economia; regular o valor interno e
externo da moeda e o equilíbrio do balanço de pagamentos; orien-
ESTRUTURA DO SISTEMA FINANCEIRO NACIONAL tar a aplicação dos recursos das instituições financeiras; propiciar o
Sistema Financeiro Nacional (SFN) aperfeiçoamento das instituições e dos instrumentos financeiros;
De acordo com o BACEN: zelar pela liquidez e solvência das instituições financeiras; e coor-
“O Sistema Financeiro Nacional (SFN) é formado por um con- denar as políticas monetária, creditícia, orçamentária e da dívida
junto de entidades e instituições que promovem a intermediação pública interna e externa.
financeira, isto é, o encontro entre credores e tomadores de recur- Em casos extraordinários, pode acontecer mais de uma reunião
sos. É por meio do sistema financeiro que as pessoas, as empresas por mês. As matérias aprovadas são regulamentadas por meio de
e o governo circulam a maior parte dos seus ativos, pagam suas Resoluções CMN divulgadas no Diário Oficial da União (DOU) e no
dívidas e realizam seus investimentos. Busca de normas do Conselho e do Banco Central (BC).
O SFN é organizado por agentes normativos, supervisores e Composição do CMN
operadores. Os órgãos normativos determinam regras gerais para • Ministro da Economia (presidente do Conselho)
o bom funcionamento do sistema. As entidades supervisoras traba- • Presidente do Banco Central
lham para que os integrantes do sistema financeiro sigam as regras • Secretário Especial de Fazenda do Ministério da Econo-
definidas pelos órgãos normativos. Os operadores são as institui- mia
ções que ofertam serviços financeiros, no papel de intermediários”. O CMN foi criado junto com o Banco Central, pela Lei nº 4.595,
de 31 de dezembro de 1964. O Conselho deu início às suas ativida-
des 90 dias depois, em 31 de março de 1965”.
Múltiplas atividades
As tarefas a cargo do Banco Central são bastante diversas. En-
tenda no detalhe:
1
CONHECIMENTOS BANCÁRIOS
Emissor do dinheiro CONSELHO DE RECURSOS DO SISTEMA FINANCEIRO NACIO-
O BC gerencia o meio circulante, que nada mais é do que ga- NAL (CRSFN)
rantir, para a população, o fornecimento adequado de dinheiro em Tem como função principal, revisar as decisões administrativas
espécie”. e de primeira instância do Sistema Financeiro Nacional, principal-
mente do BACEN, da CVM e do COAF (Conselho de controle de Ati-
COMISSÃO DE VALORES MOBILIÁRIOS (CVM) vidades Financeiras).
Autarquia federal, vinculada ao Ministério da Economia.Possui A Secretaria Especial da Fazenda define:
autoridade executora e reguladora, ou seja, cria normas e regras “O Conselho de Recursos do Sistema Financeiro Nacional
através da Instrução Normativa CVM. Todas as informações relacio- (CRSFN) é um órgão colegiado, de segundo grau, integrante da es-
nadas ao mercado de capitais estão reguladas nesse conjunto de trutura do Ministério da Economia e tem por finalidade julgar, em
instruções. última instância administrativa, os recursos contra as sanções apli-
Conforme o Ministério da Economia: cadas pelo BCB e CVM e, nos processos de lavagem de dinheiro, as
“A Comissão de Valores Mobiliários (CVM) foi criada em sanções aplicadas pelo COAF, SUSEP e demais autoridades compe-
07/12/1976 pela Lei 6.385/76, com o objetivo de fiscalizar, norma- tentes”.
tizar, disciplinar e desenvolver o mercado de valores mobiliários no
Brasil. BANCOS COMERCIAIS
A CVM é uma entidade autárquica em regime especial, vin- É o banco mais popular entre as instituições financeiras. Foi o
culada ao Ministério da Economia, com personalidade jurídica e primeiro banco comercial a oferecer a tão conhecida conta corren-
patrimônio próprios, dotada de autoridade administrativa inde- te (conta de depósito a vista), além de outros serviços bancárias
pendente, ausência de subordinação hierárquica, mandato fixo e como; recebimento e pagamento de títulos, operações de crédito,
estabilidade de seus dirigentes, e autonomia financeira e orçamen- conta poupança, vendas de seguros, etc.
tária. É a principal instituição financeira intermediária, tendo o poder
da geração de moeda na economia brasileira. Atende pessoas físi-
Desenvolvimento do mercado cas e jurídicas.
Estimular a formação de poupança e a sua aplicação em valores
mobiliários; promover a expansão e o funcionamento eficiente e re- CAIXAS ECONÔMICAS
gular do mercado de ações; e estimular as aplicações permanentes É uma instituição financeira que oferece todos os serviços de
em ações do capital social de companhias abertas sob controle de um banco comercial, porém, apenas a caixa tem desempenha o pa-
capitais privados nacionais (Lei 6.385/76, art. 4º, incisos I e II). pel de banco social, participando diretamente dos programas do
Eficiência e funcionamento do mercado governo. Inclusive os cidadãos que não são clientes, podem usufruir
Assegurar o funcionamento eficiente e regular dos mercados desses serviços.
da bolsa e de balcão; assegurar a observância de práticas comer-
ciais equitativas no mercado de valores mobiliários; e assegurar a COOPERATIVAS DE CRÉDITO
observância, no mercado, das condições de utilização de crédito Representa um grupo de pessoas com a mesma intenção,
fixadas pelo Conselho Monetário Nacional (Lei 6.385/76, art. 4º, prestar serviços financeiros, como; abertura de contas, aplicações
incisos III, VII e VIII). financeiras, emissão de cartão de crédito, etc. O diferencial é que na
cooperativa, o cliente como associados, é também um dos donos.
Proteção dos investidores Essas instituições estão localizadas também longe dos grandes
Proteger os titulares de valores mobiliários e os investidores do centros, como em pequenos bairros ou comunidades.
mercado contra emissões irregulares de valores mobiliários; atos Contam com a proteção do Fundo Garantidor do Cooperativis-
ilegais de administradores e acionistas controladores das compa- mo de Crédito, para casos em que o dinheiro deva ser devolvido
nhias abertas, ou de administradores de carteira de valores mobi- aos clientes.
liários; e o uso de informação relevante não divulgada no mercado
de valores mobiliários. Evitar ou coibir modalidades de fraude ou BANCOS COMERCIAIS COOPERATIVOS
manipulação destinadas a criar condições artificiais de demanda, São bancos instituídos como cooperativas, porém, tiveram
oferta ou preço dos valores mobiliários negociados no mercado (Lei que se modificar com o passar do tempo devido seu crescimento.
6.385/76, art. 4º, incisos IV e V). Juntam-se três centrais cooperativas e constituem uma Sociedade
Anônima de capital fechado, em que 51% de seu capital deve per-
Acesso à informação adequada manecer em poder das controladoras.
Assegurar o acesso do público a informações sobre os valores Os bancos comerciais cooperativos devem ter uma carteira co-
mobiliários negociados e as companhias que os tenham emitido, re- mercial e funcionar como um banco comercial. Suas atividades fi-
gulamentando a Lei e administrando o sistema de registro de emis- cam restritas apenas no estado em que estejam seus controladores.
sores, de distribuição e de agentes regulados (Lei 6.385/76, art. 4º,
inciso VI, e art. 8º, incisos I e II). BANCOS DE INVESTIMENTO
São instituições financeiras privadas que captam e adminis-
Fiscalização e punição tram recursos na forma de fundos de investimento, emprestando
Fiscalizar permanentemente as atividades e os serviços do no mercado a médios e longos prazos. Executam alguns serviços
mercado de valores mobiliários, bem como a veiculação de infor- dos bancos comerciais, mas não abrem contas correntes.
mações relativas ao mercado, às pessoas que dele participam e aos Sua forma de constituição é a Sociedade Anônima.
valores nele negociados, e impor penalidades aos infratores das
Leis 6.404/76 e 6.385/76, das normas da própria CVM ou de leis es- BANCOS DE DESENVOLVIMENTO
peciais cujo cumprimento lhe incumba fiscalizar (Lei 6.385/76, art. São bancos públicos que oferecem crédito para projetos que
8º, incisos III e V, e art. 11)”. desenvolvimento econômico e social do país. No Brasil, o principal é
o Banco Nacional de Desenvolvimento Econômico e Social (BNDES).
2
CONHECIMENTOS BANCÁRIOS
SOCIEDADES DE CRÉDITO, FINANCIAMENTO E INVESTIMENTO A popularidade da Bolsa se deve a compra e venda de ações,
São instituições financeiras privadas, mais conhecidas como fi- porém, há outros seguimentos na estrutura da bolsa:
nanceiras; que fornecem empréstimos e financiamentos para aqui- • Mercados a vista.
sição de bens, serviços, capitas de giro, etc. • Derivativos listados.
São constituídas como Sociedades Anônimas e devem manter • Derivativos de balcão.
em sua denominação social a expressão “crédito, financiamento e • Ativos de renda fixa.
investimento”. • Crédito imobiliário
Podem ser independentes, sem vínculos com outras institui- • Financiamento de veículos.
ções ou ligadas a ligados a diversos tipos de conglomerado, tais Todos esses empréstimos devem ter sua garantia registrada em
como, financeiros, estabelecimentos comerciais, grupos indústrias um sistema de liquidação financeira.
(montadoras). As Bolsas de Valores estão presentes em todo o mundo. Entre
Sua captação de recurso ocorre principalmente por Letras de as maiores do mundo estão a de New York, a Nasdaq, a de Tókio, a
câmbio e RDB. de Londres, etc.
Aqui no Brasil, temos a Bolsa que se chama [B]3. Até 2008,
SOCIEDADES DE ARRENDAMENTO MERCANTIL eram duas Bolsas, a BM&F e Bovespa, no entanto, neste mesmo
São empresas que operam as carteiras de leasing, não são con- ano, houve a unificação e se tornou a BM&F Bovespa. Em 2017, se
sideradas como instituições financeiras. juntou a esta a CETIP (Central de Custódia e Liquidação Financeira
Oferecem serviços de arrendamento de bens móveis e imóveis de Títulos), formando a [B]3 (Brasil, Bolsa e Balcão).
próprios, segundo as especificações do arrendatário (cliente). O IBOVESPA é o principal índice da Bolsa, sendo composto pe-
São fiscalizadas pelo Banco Central do Brasil e realizam opera- las ações mais negociadas e por isso tem maior representatividade
ções com idênticas a financiamentos. no mercado brasileiro de ações. É revisado a cada quatro meses,
SOCIEDADES CORRETORAS DE TÍTULOS E VALORES MOBILIÁ- assim, são alterados suas ações e também seus percentuais.
RIOS Mas existem outros índices, conhecidos como setoriais, por
São instituições que atuam no na intermediação de títulos e exemplo: índice de energia, índice de mercado imobiliário, etc.
valores mobiliários (recursos captados pelas empresas para suprir A praticidade é um dos atrativos de investir na Bolsa, já que são
as necessidades de caixa) nos mercados financeiro e de capitais. investimentos são realizados totalmente de forma on-line. Também
Possuem autorização de funcionamento pelo Banco Central do a rentabilidade chama a atenção, especialmente no cenário de ju-
Brasil e compõem o Sistema Financeiro Nacional. ros baixos do Brasil. Há ainda, os proventos que fazem parte dos
lucros das companhias, repassado aos acionistas. É possível inves-
SOCIEDADES DISTRIBUIDORAS DE TÍTULOS E VALORES MOBI- tir na Bolsa com poucos recursos. Porém, o investimento só ocorre
LIÁRIOS E SOCIEDADES DE CRÉDITO IMOBILIÁRIO através de uma corretora de valores.
São as principais instituições que operam na Bolsa de Valores,
também atuando no mercado de câmbio. Constituídas sob a forma BOLSAS DE MERCADORIAS E DE FUTUROS
de Sociedades Anônimas ou sociedades por quotas de responsabi- Bolsa em que eram negociados contratos futuros de commodi-
lidade limitada. São fiscalizadas pelo Banco Central do Brasil e pela ties; como soja, milho, água, energia, ouro, gás natural.
Comissão de Valores Mobiliários. Em 2008, a BM&F e a BOVESPA se unificaram, dando início a
Sua administração é realizada por pessoas naturais, residentes BM&F BOVESPA. Em 2017, ocorreu outra fusão, dessa vez com a
no Brasil, que cumprem exigências pelo Banco Central do Brasil, CETIP, dando origem a [B]3 Brasil, Bolsa e Balcão; que é agora a única
com relação a sua formação e conhecimento. Cumprem funções Bolsa de Valores do Brasil.
auxiliares no Sistema Financeiro Nacional.
São capacitadas para: SISTEMA ESPECIAL DE LIQUIDAÇÃO E CUSTÓDIA (SELIC)
Encarregar-se da administração de carteira de custódia de títu- Conhecida como a Taxa Básica de Juros, é um indicador que
los e valores mobiliários. serve de referência para diversas outras taxas.
• Exercer funções de agente fiduciário. A SELIC é de responsabilidade do Comitê de Política Monetária
• Instituir, organizar e administrar fundos de investimentos (COPOM), que organiza reuniões a cada 45 dias para definir qual
e clubes de investimento. será a meta para a taxa. Após cada reunião, o COPOM disponibiliza
• Constituir sociedades de investimentos de capital estran- uma ta com seu parecer e o resultado da taxa SELIC que pode ser
geiro e administrar a respectiva carteira de títulos e valores mobi- de aumento, redução ou mesmo manutenção da taxa (quando per-
liários. manece inalterada).
A SELIC pode ser considerada também, um mecanismo de con-
BOLSAS DE VALORES trole da inflação. Quando está a inflação está alta, o COPOM tende
A Bolsa de Valores é o ponto de encontro entre vendedores e a escolher aumentar a taxa de juros e conter esse processo. Com o
compradores de produtos financeiros e foi constituída para organi- aumento, fica mais difícil a obtenção de crédito, reduzindo o consu-
zar essas negociações que ocorrem em grande número e aconte- mo, a elevação dos preços; o resultado é a queda da inflação. Se a
cem em questão de segundos devido a tecnologia da plataforma inflação estiver controlada, a tendência é que o COPOM promova a
da Bolsa. redução na SELIC, como conseqüência, temos um aumento na libe-
A Bolsa estabelece regras de negociações com o objetivo de ração de crédito e maior investimento nas empresas.
tornar o ambiente transparente e seguro para todas as partes en-
volvidas.
O produto mais popular negociado na Bolsa é a ação, que re-
presenta uma pequena parte de uma empresa, então, ao adquirir
uma ação o comprador se torna um acionista (pequeno sócio) do
negócio.
3
CONHECIMENTOS BANCÁRIOS
CETIP S.A. Em 21 de junho de 1999, pelo Decreto n° 3.088, foi adotada a
Central de Liquidação e Custódia de Operações Financeiras foi sistemática de “metas para a inflação” como diretriz de política mo-
uma empresa privada do mercado financeiro. netária. Isso é, as decisões do Copom passam a ter como principal
Iniciou suas atividades em 1986, atuando com serviços de re- objetivo o cumprimento de metas para a inflação, definidas pelo
gistro, central de depositária, negociação e liquidação de ativos e Conselho Monetário Nacional.
títulos. Em 2017 houve a fusão com a BM&F BOVESPA, formando a Importância do Copom para a economia brasileira
atual Bolsa de Valores no país, a [B]3 Brasil, Bolsa e Balcão. O Copom é responsável pelo estabelecimento de políticas mo-
netárias. Isso significa que suas decisões influenciam fatores como
ASSOCIAÇÕES DE POUPANÇA E EMPRÉSTIMO (APE) o controle da oferta de moeda e questões relacionadas à concessão
Instituições não consideradas financeiras, mas sim sociedades de créditos, por exemplo.
civis. Tem como finalidade captação de poupança e financiamento Dessa forma, essas decisões impactam no poder de compra,
da casa própria. preço das mercadorias, valor da moeda nacional e até mesmo valor
São regulamentadas pela Lei nº 6.855/80, pertencem ao Siste- dos serviços disponibilizados no país.
ma Financeiro Nacional, devendo seguir as regras do BACEN e do O Comitê também tem a responsabilidade de, de 3 em 3 me-
COPOM. Pertencem também ao Sistema Financeiro da Habitação ses, divulgar o relatório de inflação. Com base nesses estudos, é
(SFH). definido pelo Copom um dos mais importantes índices econômicos
A Poupex é a única APE em atividade no Brasil nos dias de hoje, para investidores: a taxa Selic.
atuando para captar recursos da poupança e financiamento de ha- Ou seja, seus investimentos são afetados diretamente pelas
bitação para seus associados. decisões do Copom. Se você possui títulos com rentabilidade pós-
Os associados são aqueles que depositam para formar poupan- -fixada ou híbrida, o retorno acompanhará essas diretrizes. Além
ças e também os que adquirem financiamento imobiliário. disso, boa parte dos investimentos de renda fixa também estão as-
Suas operações quanto a aplicação de dinheiro consistem em sociados à Selic.
direcionar os recursos para o mercado imobiliário, incluindo o SFH. A famosa Selic trata-se de uma meta para a taxa de juros básica
As operações para captar recursos, além dos depósitos de da economia brasileira. Vamos falar mais sobre ela ao longo desse
poupança, são constituídas por: Letras hipotecárias, repasses e re- artigo.
financiamentos contraídos no país, empréstimos e financiamentos
contraídos no exterior, letras de crédito imobiliário, letra financeira Qual a função do Copom?
e depósitos interfinanceiros. O Copom é uma solução para regular a liquidez da economia
brasileira.
COPOM – COMITÊ DE POLÍTICA MONETÁRIA A implementação do Comitê visava tornar esse processo mais
transparente e eficaz. Como você viu nesse artigo, essa não é uma
estratégia adotada apenas no Brasil, mas em diversos outros países,
COPOM – Comitê de Política Monetária como os Estados Unidos e Alemanha.
Copom, ou Comitê de Política Monetária, é um órgão do Banco
Claro, um dos mais conhecidos objetivos do Copom é o estabe-
Central. Ele foi criado em 1996 com o objetivo de traçar e acompa-
lecimento da taxa Selic. Vamos entender melhor:
nhar a política monetária do país. Esse é o órgão responsável pelo
estabelecimento de diretrizes a respeito da taxa de juros.
O que é a taxa Selic?
Trata-se de um órgão do Banco Central criado com o objetivo
Uma das principais pautas abordadas em reuniões do Copom
de estabelecer importantes critérios sobre a economia do Brasil.
se refere ao valor dos juros básicos da economia brasileira: a taxa
As decisões do Copom impactam diretamente no dia a dia dos
Selic (Sistema Especial de Liquidação e de Custódia).
brasileiros, principalmente os investidores. Veja quais são os obje-
A Selic é utilizada tanto por bancos quanto por outras institui-
tivos do Copom, conforme declarados pelo Banco Central do Brasil:
- Implementar a política monetária; ções financeiras como referência no momento de conceder em-
- Estabelecer a meta da Taxa Selic; préstimos, financiamentos e aplicações.
- Analisar o Relatório de Inflação. Em resumo, representa a média de juros que o Governo brasi-
Mais adiante nesse artigo, iremos explorar melhor as funções leiro paga por empréstimos. Isso significa que, quando a Selic está
do Copom e seu impacto na economia brasileira. alta, os bancos preferem emprestar ao Governo. Com uma taxa
mais baixa, existe um incentivo maior para emprestar ao consumi-
Histórico do Copom dor final.
O Copom foi inspirado em uma solução similar adotada nos Então, quanto maior a Selic, mais “caro” é para o consumidor
Estados Unidos, o Federal Open Market Committee (FOMC). Além final realizar qualquer tipo de financiamento. Isso faz com que o
disso, também empresta alguns conceitos do órgão associado ao consumo caia. Assim, uma Selic mais baixa proporciona incentivos
Banco Central Alemão, o Central Bank Council. ao crescimento da economia nacional.
Criado em 20 de junho de 1996, o Copom é considerado uma Em contrapartida, quanto menor a taxa Selic, menor ficam os
solução para proporcionar maior transparência para o estabeleci- rendimentos de aplicações de renda fixa. Alguns exemplos são a
mento de diretrizes da política monetária, além da definição da taxa poupança, CBDs e Tesouro Direto atrelado a esse índice.
de juros. Dessa forma, muitos investidores deixam a renda fixa e passam
Em junho de 1998, o Banco Central da Inglaterra também ade- a investir diretamente nas empresas ou até mesmo empreender,
riu a um modelo similar, instituindo o Monetary Policy Committee gerando mais empregos.
(MPC).
O regulamento do Copom tem passado por muitas mudan- A relação entre o Copom e a Taxa Selic
ças desde seu estabelecimento em 1996. As alterações se referem Um dos principais objetivos do Copom é, justamente, a fixação
tanto ao objetivo do comitê quanto à periodicidade das reuniões e da taxa Selic. Isso é, a cada 45 dias, os membros se reúnem para
competências de seus integrantes. decidir se a Selic se mantém ou se modifica.
4
CONHECIMENTOS BANCÁRIOS
Essa decisão tem influência em todo mercado de investimentos. Além disso, impacta também o valor da moeda e os preços de mer-
cadorias e serviços.
Assim, acompanhar os movimentos da taxa básica de juros é fundamental, e não apenas para quem investe.
Em 3,75% ao ano desde o dia 18 de março, a Selic se encontra no menor patamar desde que a taxa passou a ser utilizada como instru-
mento de política monetária, em 1999. Esse corte, o segundo no governo de Jair Bolsonaro, já estava previsto segundo a pesquisa Focus
do BC.
5
CONHECIMENTOS BANCÁRIOS
O Copom publica, ainda, um documento chamado “Relatório de Inflação” ao fim de cada trimestre civil. Isso é, em março, junho, se-
tembro e dezembro. Esse documento analisa detalhadamente a conjuntura econômica e financeira do Brasil e traz projeções para a taxa
de inflação.
Veja na tabela a seguir o processo completo de uma reunião do Copom:
Um dos passos mais importantes para investir de maneira eficaz e o mais segura possível é, sem dúvidas, a educação financeira. É
essencial, principalmente, compreender os fatores que geram impacto na nossa economia e como são definidos.
Um dos indicadores mais importantes para a economia brasileira é a taxa Selic, definida a cada 45 dias pelo Copom.
PRODUTOS BANCÁRIOS: NOÇÕES DE CARTÕES DE CRÉDITO E DÉBITO, CRÉDITO DIRETO AO CONSUMIDOR, CRÉDITO
RURAL, CADERNETA DE POUPANÇA, CAPITALIZAÇÃO, PREVIDÊNCIA, INVESTIMENTOS E SEGUROS
Letras de câmbio LC’s): São títulos de renda fixa que permitem que o dinheiro seja emprestado a uma financeira. Podem ser pré e pós
fixadas ou híbridas.
• Pré fixada – Indicam a rentabilidade final no momento da aplicação inicial.
• Pós fixada – A rentabilidade total será apresentada apenas no vencimento do título.
• Híbrida – Parte do valor está na modalidade pré e a outra metade na pós fixada.
São asseguradas pelo Fundo Garantidor de Crédito (FGC), no valor de até R$ 250.000,00, com um limite total de R$ 1.000.000,00.
Sofrem incidência de IOF e também de IR.
6
CONHECIMENTOS BANCÁRIOS
TRANSFERÊNCIA AUTOMÁTICA DE FUNDOS FUNDOS MÚTUOS DE INVESTIMENTO
Prestação de serviços em que a instituição financeira movimen- São fundos de investimentos gerenciados por profissionais es-
ta recursos de uma ou mais contas correntes para um ou mais fun- pecialistas no mercado financeiro. Os fundos gerenciam recursos de
dos. Para isso, o cliente antecipadamente autoriza o banco o movi- um grupo de investidores, em carteiras diversificadas de títulos e
mentar suas contas. valores mobiliários, com divisão de recursos (cotas de participação)
É um serviço sem cobrança adicional para o cliente. em partes iguais para todos.
Considerada uma maneira de gerenciar recursos do cliente, Os fundos são individuais, cada um com seu grau de risco e
pois dada a autorização, o banco pode também fazer o resgate de custo de serviços definidos desde o início. Os recursos arrecadados
valores (resgate automático), transferindo-os da conta de aplicação com as vendas das cotas são investidos em títulos, que resultarão
para a conta corrente quando houver necessidade da cobertura de na rentabilidade dos fundos
possíveis valores que não estejam disponíveis. A Comissão de Valores Mobiliários (CVM) é o órgão responsá-
vel por normas, registros, autorizações, e supervisão dos fundos.
COMMERCIAL PAPERS
São títulos de crédito emitidos por empresas não financeiras HOTMONEY
da modalidade Sociedades Anônimas (S.A’s), com necessidade de São empréstimos de curtíssimo prazo (de 1 a 29 dias), desti-
captar recursos no mercado interno para financiar suas necessida- nados as pessoas jurídicas para financiar o capital de giro. Nesse
des de fluxo de caixa. sistema, os recursos são transferidos entre mercados, com rapidez
Tem um prazo de mínimo de 30 dias e máximo de 180 ou 360. e eficiência referente aos ganhos. No entanto, suas taxas de juros
Para S.A’s de capital fechado é de até 180 e com capital aberto de são altas e seus prazos de pagamento, muito pequenos.
até 360. As empresas optantes pelo hotmoney contratam o serviço
É uma operação considerada alternativa para empréstimos através de instituição financeira e celebração de contrato.
bancários convencionais, possibilitando redução nas taxas de juros
devida eliminação da intermediação financeira e também mais ra- CONTAS GARANTIDAS
pidez e simplicidade na negociação entre tomadores e investidores. É uma linha de crédito disponível na conta corrente para utili-
zação no curtíssimo prazo. Está vinculada a uma garantia, como al-
ARRECADAÇÃO DE TRIBUTOS E TARIFAS PÚBLICAS gum recebível ou garantia real (hipoteca, penhor, anticrese). Após a
Toda a arrecadação de tributos e tarifas públicas, obrigatoria- realização do contrato entre cliente e instituição financeira, o limite
mente transita pelas instituições financeiras para seu pagamento. estabelecido é disponibilizado.
São serviços prestados através de convênios específicos de arreca- Costumam ter taxas de juros mais baixas e limite de crédito
dação e repasse. mais elevado devido as garantias.
Geralmente, o poder público mantém um banco preferencial
conveniado para centralizar suas arrecadações e identificar paga- CRÉDITO ROTATIVO
mento dos contribuintes. Modalidade de crédito muito utilizada para pagamento de car-
Tributo: Cobrança coercitiva, realizada pelo agente público tões de créditos, porém, também para cheque especial, caução de
(união, estados e municípios) em relação à pessoa física e jurídica duplicatas. Pessoas físicas e jurídica podem contar com este recur-
(impostos, taxas e contribuições). so.
Tarifas Públicas: Pagamento de serviços realizados por conces- O limite de crédito é utilizado em um período curto, mediante
sionárias (água, luz, telefone e gás). o pagamento com juros.
Ex. Fatura do cartão de crédito no valor de R$ 5.000,00; com
HOME/OFFICE BANKING E REMOTE BANKING pagamento mínimo obrigatório de R$ 1.000,00; pagamento reali-
Home/Office Banking: Tecnologia desenvolvida para que os zado de R$ 800,00. O saldo restante a pagar de R$ 4.200,00 é o
clientes realizem operações bancárias fora das agências, através crédito rotativo.
dos recursos da internet, permitindo economia de tempo. Esse sis-
tema favorece também a redução de custos e expansão de serviços DESCONTOS DE TÍTULOS
para as instituições financeiras.
Modalidade de crédito, conhecida comoa antecipação de re-
Remote Banking: Serviços disponíveis para que o cliente tenha
cebíveis que o cliente tem e já apresentou a instituição financeira
acesso a todo tipo de acesso fora de uma agência. Objetiva reduzir
como forma de garantia (nota promissória, cheques, etc.).
custos de operação e geração de eficiência na relação entre banco e
Por essa antecipação, o banco cobra uma taxa, chamada de
cliente. Ex. Banco 24 horas, atendimento telefônico, aplicativos para
taxa de redesconto, definida a partir de um percentual sobre o valor
celular e computadores diversos, atendimento via chat e whatsapp.
nominal ou futuro do título. Nessa antecipação de recurso incide o
IOF; e outros encargos bancários contratuais.
CORPORATE FINANCE
É geralmente utilizado por pessoas jurídicas, mas pessoas físi-
É a prestação de serviços de instituições financeiras de inves-
cas também tem acesso.
timento, para grandes empresas em negociações de aquisições, ci-
sões, fusões, incorporações, etc.
Os bancos, através de seus profissionais especialistas, auxiliam FINANCIAMENTO DE CAPITAL DE GIRO.
na análise de cálculo do valor das empresas envolvidas (valuation), O financiamento do capital de giro pode ocorrer de duas for-
pesquisas de mercado para assegurar a justificativa da operação. mas:
Além desse serviço, o banco concede, em muitos casos, em- a) Quando o capital de giro não está vinculado a algum gasto
préstimos ou apoio na captação de recursos internos ou externos exclusivo.
para a realização da operação. É cobrada uma comissão sobre a b) Quando está vinculado a compra de insumos ou material
operação, geralmente uma taxa fixa, acordada em contrato. de estoque.
7
CONHECIMENTOS BANCÁRIOS
A movimentação dos recursos ocorre através de transferência Todos os contratos de leasing podem ter bens móveis e imó-
para a conta do tomador. veis.
O limite de financiamento é determinado pela análise de crédi-
to do cliente e sua capacidade de pagamento. Os pagamentos po- FINANCIAMENTO DE CAPITAL FIXO.
dem variar conforme a necessidade da empresa. As instituições financeiras não tem muita opção para crédito
Os bancos comerciais costumam ter muitas opções para finan- quando se trata de capital fixo. Esse capital geralmente necessita
ciamento de capital de giro quanto a prazos, taxas, garantias. Po- de valores muito altos, o que gera muita insegurança nos bancos,
rém, ocorre dessa modalidade de financiamento ter taxas de juros quanto ao cumprimento dessa obrigação, pelo volume de recursos
mais baixas. Os recursos liberados podem ocorrer de forma isolada e pelo período de amortização muito longo.
ou associada a investimentos fixos e possuem incidência de IOF. Os recursos são liberados para financiar itens que contribuam
As garantias para essa linha de crédito incluem alienação fidu- para o crescimento e desenvolvimento e funcionamento das em-
ciária, penhora de recebíveis, hipoteca, etc. presas, como máquinas e equipamentos, instalações, etc.
Assim, as instituições governamentais se dispõem com maior
VENDOR FINANCE/COMPROR FINANCE facilidade a financiar em longo prazo, o capital fixo; como o Banco
Vendor finance: É a operação de financiamento em que a ins- Nacional de Desenvolvimento Econômico e Social (BNDES).
tituição financeira intercede por meio de convênio à negociação de As modalidades de crédito são:
compra de venda entre duas empresas. • Crédito Direto ao Consumidor (CDC) – Concedidos por
A negociação é formalizada em contrato com a empresa ven- bancos e financeiras, as pessoas físicas e jurídicas, na aquisição de
dedora, mencionando que o banco financiará recursos para a com- bens e serviços. Com pagamentos geralmente realizado em presta-
pradora, realizando o pagamento da compra à vista, mediante des- ções mensais. Com incidência de juros, IOF e taxas de abertura de
conto. crédito.
Neste caso, apenas a empresa vendedora é cliente do banco, • CDC com Interveniência (CDCI) – Liberados apenas para
por isso, celebra o contrato, a empresa compradora, que recebe o empresas exclusivos intermediários de seus clientes, garantindo o
crédito não precisa ser correntista. pagamento. Tem os mesmos prazos e taxas do CDC, porém, meno-
Compror finance: É a operação de financiamento em que a ins- res; pois não há risco por parte do cliente, mas sim, do seu inter-
tituição financeira intermedia através de convênio uma negociação veniente.
de compra e venda entre duas empresas. Nesta situação, a empre- • Crédito Direto (CD) – Semelhante ao CDCI, em que a ins-
sa compradora, cliente do banco firma contrato para aquisição de tituição apropria-se da carteira dos lojistas e assume os riscos do
mercadorias a vista, sendo financiada pela instituição financeira. crédito.
Não há necessidade do envolvimento da vendedora. O paga- • Crédito Automático por Cheque – Concedido aos clientes
mento acontecerá em data futura, acordado em contrato. especiais, como um cheque especial. Com pagamento parcelado,
com taxas de juros pré fixadas ou flutuantes, aceitas pelos clientes
LEASING (TIPOS, FUNCIONAMENTO, BENS) e acordadas em contratos.
Leasing é um arrendamento mercantil. Neste processo, exis-
tem duas partes envolvidas, que podem ser tanto pessoas físicas As garantias para essa linha de crédito incluem alienação fidu-
como jurídicas. ciária, penhora de recebíveis, hipoteca, etc.
O arrendatário é que tem o direito da posse de uso temporário
de um bem, em troca do pagamento de parcelas mensais a empresa CRÉDITO DIRETO AO CONSUMIDOR
que fez o arrendamento. É uma forma de desfrutar do bem, sem ne- Linha de crédito, também conhecida como empréstimo pesso-
cessidade de comprá-lo. Para que essa relação aconteça, é preciso al; destinada geralmente a pessoas físicas. Realizado por instituição
do arrendador (empresa). bancária ou instituição particular (como lojas de departamento). Os
Existem três tipos de leasing: juros são considerados altos, devido a poucas garantias, pois o valor
a) Leasing financeiro – de longo prazo, em que o cliente ma- é descontado diretamente da conta corrente.
nifesta o interesse na aquisição do bem. Ao finalizar o contrato, o
bem já terá sido pago. Caso não haja interesse em permanecer com CRÉDITO RURAL
o bem, este será vendido e se o recebido for menor que o valor de Crédito destinado aos produtores rurais, cooperativas de pro-
aquisição, o arrendatário pagará por essa diferença; sendo este va- dutores rurais, associação de produtores rurais, etc. Os recursos são
lor maior, receberá o valor correspondente; chamado de Valor Resi- disponibilizados por instituições financeiras, considerados especiais
dual Garantido (VRG). Para os bens com vida útil de até cinco anos, por terem taxas de juros abaixo do mercado.
o prazo do contrato será de dois anos. Já os bens com vida útil su- Seu objetivo é estimular o crescimento da área rural, incenti-
perior a cinco anos, o contrato deverá ser de no mínimo, três anos. vando e fortalecendo pequenos produtores, desenvolvendo as ati-
b) Leasing operacional – de curto prazo, em que o arrendatá- vidades florestais e pecuárias, aumentando a produção através de
rio manifesta logo de início sua opção por não obrigatoriedade em métodos eficazes; estimulando a geração de renda e a mão de obra
adquirir o bem. São três opções ao final desse contrato: adquirir o para agricultura familiar e aquisição de equipamentos.
bem, renovar o bem, ou não renovar. Nessa modalidade, não existe Financia as atividades de custeio, investimento e beneficia-
o VRG. Prazo mínimo de contrato, por 90 dias, não podendo ultra- mento ou industrialização. Serve também para o custeio de despe-
passar 75% da vida útil do bem. sas de produção, investimento na produção e custeio das despesas
c) Sale and leaseback – modalidade em que o arrendatário pós produção.
vende o bem a um terceiro, no entanto, continua fazendo uso deste Por ser um programa do governo tem algumas, devem ser obe-
por meio de aluguel, formalizado em contrato. decidas algumas exigências:
• Idoneidade
• Orçamento do Projeto e viabilidade econômica
• Acompanhamento do cronograma indicado no projeto
• Fiscalização do financiador
8
CONHECIMENTOS BANCÁRIOS
• Cumprimento das regras de zoneamento. d. Comprovação de credenciamento do Beneficiário perante
o CNPq, mediante publicação do respectivo certificado no D.O.U.,
Pode ser concedido para pessoas físicas ou jurídicas, inclusive e (ii) da apresentação da licença de importação dos bens deferida
para quem não é produtor rural; desde que esteja vinculado a ativi- pelo CNPq, extraída do Sistema Integrado de Comércio Exterior –
dades pertinentes a agricultura, pecuária, pesquisa, etc. SISCOMEX, nos casos de dispensa de exame de similaridade previs-
São necessárias garantias como penhor, aval, fiança, hipoteca, tos na Lei 8.010, de 1990.
etc. Observações
A lei que define o crédito rural é a Lei nº 4.829, de 05/12/1965. Os critérios mencionados serão observados, no que couber,
O pagamento será realizado conforme seu valor original e po- para o financiamento de serviços importados.
derá ser desde uma única parcela, ou amortizações conforme con- No que se refere ao item “c” anterior, o BNDES:
trato. i. terá a faculdade de acolher ou não a indicação, feita pelas
partes interessadas, de entidade representativa ou entidade tec-
CADERNETAS DE POUPANÇA nológica como responsáveis pela comprovação da inexistência de
A aplicação mais popular, devido sua segurança e facilidade e produção ou similar nacional;
liquidez imediata. ii. não ficará vinculado ao entendimento constante dos do-
Pode ter resgate em qualquer momento, porém a remunera- cumentos apresentados pelas referidas entidades sobre a inexistên-
ção só ocorrer para valores que ficam parados a partir de 30 dias. cia de similar nacional;
Para cálculos de juros, será observado o índice de 0,5% a.m., sem- O BNDES poderá, caso entenda necessário e em caráter com-
pre que a taxa SELIC for maior que 8,5% a.a.; se a meta for inferior plementar, consultar os fabricantes nacionais sobre a existência de
ou igual a 8,5% a.a., o índice corresponderá a 70% do valor da meta. produção ou similar nacional”.
A poupança foi criada para estimular o sistema habitacional do Exportação
país. Não há limite de aplicação ou de resgate. Está isenta da tri- O BNDES financia as exportações, atuando no pré embarque,
butação do IR e IOF. Os bancos não cobram pela manutenção das com apoio a produção e no pós embarque, quando a produção já
cadernetas de poupança. está sendo comercializada. Esse crédito permite a competitividade
das empresas em âmbito internacional, trazendo retornos positivos
FINANCIAMENTO À IMPORTAÇÃO E À EXPORTAÇÃO: REPAS- na economia interna.
SES DE RECURSOS DO BNDES De acordo com o BNDES:
Importação “Pré-embarque – financiamento à produção para exportação
O Banco Nacional de Desenvolvimento Econômico e Social (BN- O produto BNDES Exim Pós-embarque compreende as seguin-
DES) é uma empresa pública e um dos maiores bancos de desenvol- tes linhas de financiamento: BNDES Exim Pós-embarque Bens, BN-
vimento do mundo. DES Exim Pós-embarque Serviços, BNDES Exim Pós-embarque Aero-
Por se tratar de um banco público e instrumento principal da
naves e BNDES Exim Automático.
União para financiamento e investimento de longo prazo; antes de
No produto pós-embarque, o objeto do financiamento é a co-
conceder crédito, avalia o impacto que esse recurso causará nos
mercialização de bens e serviços brasileiros. Nesse caso, o BNDES
setores socioambiental e econômico do Brasil.
antecipa à empresa brasileira exportadora o valor dos bens ou ser-
Assim, antes de conceder financiamentos para a importação
viços devido pelo importador estrangeiro. Esse desembolso de re-
fará uma análise minuciosa para identificar se o bem a ser adquirido
cursos se dá em reais no Brasil, e o importador estrangeiro passa a
não possui semelhança ou equivalência a outro produzido interna-
dever ao BNDES. Portanto, não há remessa de divisas ao exterior. O
mente. Pois, a importação desse item permitiria concorrência para
pagamento do financiamento pelo importador estrangeiro é reali-
a produção daquele já existente, causando prejuízos e danos eco-
nômicos a economia e ao desenvolvimento sustentável da nação. zado por intermédio de banco mandatário, que entre outras atribui-
Conforme o BNDES: ções, fecha o câmbio e repassa o valor em reais ao BNDES.
“O apoio à importação de bens ficará condicionado à compro- O financiamento à comercialização pode ser realizado por meio
vação de inexistência de similar nacional, utilizando-se, para essa de duas modalidades operacionais: supplier credit ou buyer credit,
comprovação, um dos seguintes documentos: além da linha BNDES Exim Automático.
a. Resolução da Câmara de Comércio Exterior (CAMEX) com Supplier credit
a lista de bens contemplados pelo regime de Ex-tarifário, constando Refinanciamento ao exportador por meio do desconto de títu-
o bem a ser financiado. A Resolução deverá estar em vigor na data los. Veja como funciona:
da aprovação e da contratação da operação; • O exportador concede ao importador financiamento por
b. Anotação realizada pelo Departamento de Comércio Exte- meio de carta de crédito, letras de câmbio ou notas promissórias.
rior (DECEX) na própria licença de importação do bem financiado, Esses títulos deverão ser cedidos ou endossados pelo exportador
atestando a inexistência de similar nacional; ao BNDES.
c. Atestado de entidade representativa ou de classe, de âm- • O BNDES realiza o refinanciamento mediante o desconto
bito nacional e que já prestem serviço semelhante para a Secretaria dos instrumentos de pagamento, e desembolsa os recursos ao ex-
de Comércio Exterior, de inexistência de produção ou similar na- portador, à vista, em reais, no Brasil.
cional. • O importador pagará ao BNDES no prazo definido.
Em caso de oposição das partes interessadas (Postulante, In- • O banco mandatário realiza as transferências de recursos
tervenientes, dentre outros) em relação ao referido atestado, será e documentos relativos à operação.
solicitado ainda laudo técnico emitido por entidade tecnológica de
reconhecida idoneidade e competência técnica, preferencialmente Fluxo Operacional – BNDES Exim Pós-embarque Supplier Cre-
contendo os seguintes fatores: produtividade, qualidade, prazo de dit
entrega usual para o equipamento, fornecimentos anteriores, con- 1. Após aprovada pelo BNDES a operação na modalidade Su-
sumo de energia e de matérias-primas e outros fatores de desem- pplier Credit, o Exportador pode embarcar os produtos/executar os
penho específicos do caso; serviços para o Importador.
9
CONHECIMENTOS BANCÁRIOS
2. O Importador apresenta títulos ou cartas de crédito emiti- BNDES Exim Automático
dos em favor do Exportador. Apoio à comercialização no exterior de bens de fabricação na-
3. O Exportador realiza o endosso dos títulos ou a cessão das cional mediante a abertura de linha de crédito a instituições finan-
cartas de crédito em favor do BNDES. ceiras no exterior. O importador terá acesso ao financiamento do
4. O Banco Mandatário envia ao BNDES a documentação BNDES para adquirir bens brasileiros, por meio de bancos no seu
comprobatória da exportação e o pedido de liberação de recursos. próprio país. O desembolso de recursos pelo BNDES ao exporta-
5. O BNDES analisa a documentação e, caso esteja em boa dor, por intermédio do banco mandatário, é realizado em reais, no
ordem, realiza o desembolso de recursos ao Banco Mandatário. Brasil. Por sua vez, o banco no exterior, responsável pelo risco da
6. Em seguida, o Banco Mandatário repassa os recursos ao operação, efetua os pagamentos via banco mandatário ao BNDES.
Exportador. Fluxo Operacional – BNDES Exim Automático
7. Após o término da carência de principal do financiamento, 1. O Exportador realiza uma negociação comercial com o Im-
o Importador inicia a amortização das prestações, via Banco Man- portador, para entrega futura de bens.
datário, até a total liquidação financeira do contrato. 2. O Banco no exterior aprova o crédito do Importador.
8. Em seguida, o Banco Mandatário repassa os pagamentos 3. O Exportador encaminha ao BNDES o pedido de financia-
ao BNDES, até a total liquidação do financiamento. mento, com informações sobre a operação de exportação. O BNDES
avalia, de acordo com parâmetros previamente estabelecidos, e ho-
Buyer credit mologa a operação.
Financiamento à exportação mediante celebração de contrato 4. O Exportador embarca os bens ao Importador envia docu-
com o importador, com interveniência do exportador. Operações mentos comprobatórios da exportação para o Banco Mandatário,
mais complexas e que envolvem diretamente o importador es- que envia ao BNDES a documentação e o pedido de liberação de
trangeiro são em geral realizadas por meio desta modalidade. Veja
recursos.
como funciona:
5. O BNDES analisa a documentação e, caso esteja em boa
• O BNDES concede ao importador financiamento mediante
ordem, realiza o desembolso de recursos ao Banco Mandatário.
a celebração de contrato de financiamento, firmado entre o BNDES
6. Em seguida, o Banco Mandatário libera os recursos ao Ex-
e o importador, ou entre o BNDES e o devedor, com a interveniência
do exportador. portador.
• O BNDES desembolsa os recursos ao exportador, em reais, 7. Após o término da carência de principal do financiamento,
no Brasil. o Banco no exterior inicia a amortização das prestações, até a total
• O importador ou o devedor pagará ao BNDES no prazo liquidação do financiamento”.
definido.
• O banco mandatário realiza as transferências de recursos CARTÕES DE CRÉDITO
e documentos relativos à operação. Modalidade de crédito que beneficia o consumidor no mo-
mento da compra de um produto ou serviço, já que o vencimento
Fluxo Operacional – BNDES Exim Pós-embarque Buyer Credit da fatura (documento que detalhas as despesas) ocorrerá em data
1. O Exportador firma um contrato comercial com o Importa- posterior, inclusive com situações de parcelamento. Por isso, não é
dor, para entrega futura de bens/serviços. necessário dispor de dinheiro no momento da aquisição.
2. O Exportador encaminha ao BNDES a consulta prévia, com No entanto, o vendedor/prestador receber em poucos dias
informações sobre a operação de exportação. O BNDES avalia, de através da instituição financeira ou da administradora de cartões.
acordo com parâmetros previamente estabelecidos, e aprova a Caso o valor não seja pago com atrasos ou em data diferente do
operação, que é formalizada por meio de um contrato de financia- vencimento, há incidência de juros conforme contrato.
mento com o Importador/devedor, com interveniência do Expor-
tador. TÍTULOS DE CAPITALIZAÇÃO
3. O Exportador embarca os produtos/executa os serviços ao Título de crédito, regulamentado pela Superintendência de
Importador. Seguros Privados (SUSEP) com prazo e regras estabelecidos em
4. O Exportador envia documentos comprobatórios da ex- contrato. É conhecido popularmente como uma forma segura de
portação e quaisquer outros relacionados no contrato de financia- guardar dinheiro e concorrer sorteio de prêmios.
mento para o Banco Mandatário. O capital é separado em três partes:
5. O Banco Mandatário envia ao BNDES a documentação e o 1ª. É acumulada com juros corrigidos ao longo do tempo.
pedido de liberação de recursos. 2ª. Destinada para custear os sorteios.
6. O BNDES analisa a documentação e, caso esteja em boa
3ª. Reservada para custear as despesas administrativas.
ordem, realiza o desembolso de recursos ao Banco Mandatário.
Além de ser vendido em agências bancárias, pode ser encon-
7. Em seguida, o Banco Mandatário repassa os recursos ao
trado em lotéricas, correios, etc. Suas principais características são:
Exportador.
• Prazo de vigência – mínimo de 12 meses, organizadas em
8. Após o término da carência de principal do financiamento,
o Importador inicia a amortização das prestações, até a total liqui- séries visíveis no próprio título, com emissão de ao menos, 10.000
dação financeira do contrato. unidades.
• Forma de pagamento – mensal, periódico ou único.
10
CONHECIMENTOS BANCÁRIOS
Não possui liquidez imediata e de acordo com o contrato, po-
derá ou não ser resgatada antes do vencimento. Sendo possível, o NOÇÕES DE MERCADO DE CAPITAIS
valor será menor do que o valor total pago até o momento.
Talvez você já tenha ouvido falar em mercado de capitais por aí.
PLANOS DE APOSENTADORIA E PENSÃO PRIVADOS. Se a resposta é sim, então você entende que ele faz parte da estru-
Plano de previdência privada é um tipo de produto financeiro, tura financeira do país. Mas, apesar de ser um termo cada vez mais
uma forma de seguro em que o investidor acumula capital, remune- comum, ainda surge a dúvida: afinal, o que é mercado de capitais?
rado conforme as aplicações escolhidas pelo administrador do pla- É possível entender o que é e como funciona o mercado de
no. O fundo de previdência é o canal de investimento dos planos. capitais de forma descomplicada. Pense, primeiro, em quem movi-
A Previdência privada foi criada com o objetivo de complemen- menta a nossa economia. São pessoas como você e outros tantos
tar a previdência social, porém, também, como um seguro para os investidores, além das empresas.
trabalhadores que não contribuem para o INSS. Agora, o que há de comum entre vocês? A resposta é simples:
Os principais planos são PGBL e VGBL, que se diferenciam pela todos realizam movimentações financeiras.
tributação. No VGBL, a incidência do IR ocorre apenas sobre os ren- Empresas investem na geração de produtos e serviços. Tudo
dimentos; no PGBL o IR incide sobre o valor resgatado ou no rece- isso demanda muitos recursos e, frequentemente, eles vêm de pes-
bimento da renda.
soas que investem parte de seu dinheiro para valorizá-lo.
Conforme a SUSEP:
É aí que o mercado de capitais entra. Ele aproxima quem tem
“VGBL (Vida Gerador de Benefícios Livres) e PGBL (Plano Gera-
dinheiro para investir de quem precisa desse dinheiro para financiar
dor de Benefícios Livres) são planos por sobrevivência (de seguro
seus projetos. Que tal entender melhor essa área tão importante
de pessoas e de previdência complementar aberta, respectivamen-
te) que, após um período de acumulação de recursos (período de para o sistema financeiro? Vamos lá.
diferimento), proporcionam aos investidores (segurados e partici-
pantes) uma renda mensal - que poderá ser vitalícia ou por período O que é mercado de capitais?
determinado - ou um pagamento único. O primeiro (VGBL) é clas- Como você já percebeu, o mercado de capitais é um segmen-
sificado como seguro de pessoa, enquanto o segundo (PGBL) é um to do sistema financeiro responsável por intermediar negociações
plano de previdência complementar. entre quem precisa captar recursos para financiar projetos e quem
No caso do PGBL, os participantes que utilizam o modelo com- deseja investir.
pleto de declaração de ajuste anual do I.R.P.F podem deduzir as Aí você pode pensar: então é um tipo de empréstimo ou cré-
contribuições do respectivo exercício, no limite máximo de 12% dito? Na verdade, não. No mercado de capitais, a relação é dife-
de sua renda bruta anual. Os prêmios/contribuições pagos a pla- rente, pois não ocorre por meio de operações de crédito (como os
nos VGBL não podem ser deduzidos na declaração de ajuste anual tradicionais empréstimos dos bancos), mas a partir da negociação
do I.R.P.F e, portanto, este tipo de plano seria mais adequado aos de ativos, como por exemplo as ações ou títulos de dívida (as cha-
consumidores que utilizam o modelo simplificado de declaração de madas debêntures).
ajuste anual do I.R.P.F ou aos que já ultrapassaram o limite de 12% Quer saber como você pode entrar nesse universo? O merca-
da renda bruta anual para efeito de dedução dos prêmios e ainda do de capitais é responsável por diversas oportunidades de investi-
desejam contratar um plano de acumulação para complementação mento todos os dias.
de renda”. Para compreender melhor a função do mercado de capitais na
economia, vamos nos aprofundar um pouco mais no sistema finan-
PLANOS DE SEGUROS ceiro.
Seguro é toda situação em que o segurador tem é obrigado
a indenizar o segurado na ocorrência de um sinistro, em troca do Os tipos de mercado do sistema financeiro
prêmio de seguro. Os seguros são acionados por diversas ocasiões, O sistema financeiro movimenta a economia de um país por
por isso existem os planos de seguro. meio do fluxo financeiro entre quem tem dinheiro para gastar e
Os planos de seguros fazem parte do Sistema Nacional de Se- quem precisa desse dinheiro para manter os negócios.
guros Privados; instituído pelo Decreto Lei nº 73/1.966. Constituído
Mas, afinal, não é isso o que ocorre diariamente na nossa so-
pelo Conselho Nacional de Seguros Privados – CNSP; pela Superin-
ciedade? Perceba que a nossa relação com o dinheiro é, basicamen-
tendência de Seguros Privados – SUSEP; pelos resseguradores; por
te, essa, só que ela ocorre de diferentes formas e em diferentes
sociedades autorizadas a operar em seguros privados; e por corre-
níveis. Afinal, todo mundo precisa de dinheiro.
tores habilitados.
Um plano de seguro é um serviço oferecido por empresas pri- Uma empresa, quando inicia suas operações, precisa investir
vadas que disponibilizam atendimentos para situações de sinistro. dinheiro no negócio. Esse capital é próprio (vem dos sócios) ou de
Os planos são individualizados para atender cada cliente conforme terceiros. Fato é que, de alguma forma, foi necessário captar recur-
suas necessidades. Para isso, é necessário formalizar o plano atra- sos para tirar os planos do papel
vés de um contrato chamado apólice. Em troca, os empresários esperam que, depois de um tempo,
A apólice é o contrato da cobertura com direitos e obrigações tenham um retorno financeiro superior ao que foi investido.
para as partes envolvidas. Nela devem constar todas as informa- Nesse sentido, essa empresa vai contratar pessoas para traba-
ções sobre o objeto do seguro, como dados do segurado e do bem lhar em troca de um salário. Assim, terão recursos para seu próprio
a ser coberto, período de contratação, localização do bem, riscos consumo (por exemplo, pagar a conta de luz, água, telefone, com-
envolvidos, prêmio, tipos de sinistros, valor e condições gerais da prar roupas e alimentos).
indenização, franquia. Os planos de seguro são contratados como E é o consumo, por sua vez, que vai estimular a produção em-
forma de prevenção, no entanto podem não se concretizar, caso presarial e os novos negócios. Esse é um resumo simples de como
não haja sinistros. tudo está ligado na economia. Para que ela funcione adequada-
mente, o sistema financeiro faz a intermediação dessas relações.
11
CONHECIMENTOS BANCÁRIOS
As relações de que estamos falando se resumem basicamen- Ativos negociados no mercado de capitais
te ao consumo, à reserva financeira e aos investimentos. É muito Basicamente, existem 3 categorias de valores mobiliários distri-
simples, veja só: quando você gasta menos, sobra mais dinheiro na buídos pelo mercado de capitais:
conta, certo? Ações
Assim, quando uma empresa gera menos recursos e ainda quer Representam uma participação em uma empresa de capital
crescer, depende de dinheiro de quem tem economias: você. aberto — inscrita na CVM e na Bolsa de Valores. Uma pessoa, ao
E qual é o seu ganho nessa história? Bem, se você emprestar comprar uma ação, torna-se um sócio do negócio, podendo em al-
dinheiro para essa empresa, vai receber de volta o dinheiro inves- guns casos receber parte dos lucros, através de dividendos.
tido mais os juros, isto é, o tanto que ele rendeu enquanto durou É possível lucrar, ainda, ao vender uma ação por um valor supe-
esse investimento. E para quem captou esse recurso (a empresa), a rior ao da compra. Para a empresa, o principal benefício de oferecer
vantagem está no retorno do investimento feito, podendo comprar suas ações no mercado é a captação de recursos para seu próprio
novos equipamentos, contratar mais pessoas e até abrir uma nova desenvolvimento.
filial.
Os impactos de começar a pensar dessa maneira são muitos. Commercial Papers
Entender que o seu dinheiro pode trabalhar por você estando no São títulos de curto prazo emitidos por empresas para captar
mercado de capitais te ajudará a alcançar novos objetivo, sonhos recursos diretamente com quem quer investir. Vale lembrar que
e planos. essa é uma operação diferente das que ocorrem no mercado de
Voltando para o mercado de capitais, a negociação entre essas crédito, em que o dinheiro vem dos bancos. Os Commercial Papers
duas pontas, ou seja, para o dinheiro sair do seu bolso e parar na são ativos de curto prazo, com retorno do investimento em 30 dias,
conta da empresa, acontece graças à organização do sistema finan- no mínimo, e 360 dias, no máximo.
ceiro, que se divide em 4 grandes mercados:
- Mercado monetário: caracterizado pela transferência de va- Debêntures
lores de curtíssimo prazo, como as que ocorrem entre instituições Também são títulos corporativos, porém, normalmente de
financeiras de um dia para o outro. longo prazo. Emitidas por empresas, as debêntures são títulos de
- Mercado de crédito: diz respeito aos empréstimos feitos junto dívida. Ou seja, em vez de você pegar um empréstimo com um ban-
às instituições financeiras para consumo ou capital de giro. co, é a empresa que está pedindo um empréstimo a você. Para as
- Mercado de câmbio: engloba as transações envolvendo mo- companhias, é uma maneira de obter recursos para pagamento de
edas estrangeiras. dívidas ou realização de investimentos.
- Mercado de capitais: permite a captação de recursos para em-
presas por meio da negociação de títulos por pessoas que querem Mercado de capitais e mercado de ações: qual a diferença
investir e multiplicar seu dinheiro. Para cumprir a função de conectar as pessoas que investem a
Como você viu, mercado de crédito e mercado de capitais empresas que precisam de recursos, o mercado de capitais promo-
têm propósitos parecidos, mas são muito diferentes. No crédito, o ve a negociação de instrumentos financeiros.
empréstimo é feito por instituições financeiras, como bancos. No É no Mercado de Ações que alguns desses ativos são distribuí-
mercado de capitais, o dinheiro vai das pessoas que querem inves- dos, nesse caso, as ações, como o próprio nome entrega.
tir para as empresas, tendo as corretoras de valores ou os bancos Entre os títulos emitidos no mercado de capitais, as ações ocu-
como intermediários. pam um espaço de destaque. Tanto é assim que o termo Mercado
de Ações surgiu para descrever esse ambiente tão específico de ne-
Então, como funciona o mercado de capitais? gociação. Afinal de contas, os procedimentos, as regras e a estrutu-
Na prática, o mercado de capitais estimula as pessoas a inves- ra de funcionamento são diferentes.
tirem em busca de bons retornos e também facilita a captação de Isso não quer dizer, no entanto, que o Mercado de Ações seja
recursos pelas empresas. Ou seja, é um motor importante da eco- um segmento complicado para quem quer investir. É bem simples,
nomia. na verdade. Porém, a participação das empresas e a disponibiliza-
Já citamos aqui que sua principal função é distribuir títulos (ou ção dos ativos precisa seguir alguns critérios. Quem administra essa
ativos) emitidos por empresas — chamados de valores mobiliários. estrutura toda é a Bolsa de Valores, que no Brasil é operada pela B3,
Mas quais são esses ativos e quem regula esse mercado? É exata- antiga BM&FBovespa.
mente isso que você vai descobrir agora.
Como funciona a Bolsa de Valores no mercado de capitais
O papel da CVM no mercado de capitais A Bolsa de Valores é o ambiente em que são negociadas as
A Comissão de Valores Mobiliários (CVM) é o órgão que regula ações, entre outros títulos. Podemos resumir esse processo em 3
e fiscaliza o mercado de capitais. Os ativos negociados nesse mer- etapas, tomando a negociação de ações como exemplo. Veja só:
cado são de renda variável, ou seja, têm um risco maior, pois estão
mais sujeitos a oscilações. Para quem investe, portanto, é impor- Oferta Pública Inicial
tante contar com um ambiente de negociação que seja confiável e O lançamento das ações de uma empresa no mercado de ca-
transparente. pitais começa com a Initial Public Offering (IPO), ou em bom portu-
Por isso, a CVM estabelece normas que devem ser seguidas pe- guês: Oferta Pública Inicial.
las empresas que participam desse mercado.
Entre elas, estão as exigências de prestação de informações Mercado primário
financeiras frequentemente, por exemplo. Em caso de descumpri- A partir da IPO, as pessoas já podem adquirir as ações direta-
mento das regras impostas, pode haver punições. Ou seja, a CVM mente da empresa. Todo o dinheiro captado com as primeiras ven-
está sempre de olho para garantir que esse mercado funcione da das das ações é repassado à empresa.
melhor maneira possível.
12
CONHECIMENTOS BANCÁRIOS
Mercado secundário manda, com exportadores ofertando dólares e precisando de reais
Quem adquiriu ações no mercado primário pode, a qualquer e importadores oferecendo reais e precisando de dólares. Assim de-
momento, vender esses ativos para quem deseja comprá-los. A manda e oferta se igualam, criando um equilíbrio, a chamada taxa
partir desse momento, as ações passam a ser negociadas entre os de câmbio.
investidores, sem a participação direta da empresa. Assim sendo, o Taxa de câmbio alta desestimula importações, pois produtos
valor das transações de compra e venda da ação é repassado dos e insumos importados ficam mais caros e com isso, uma possível
compradores para os vendedores.1 redução da oferta de produtos no mercado interno. A inflação ten-
de a se elevar e as demandas internacionais por bens e serviços
aumentam.
NOÇÕES DE MERCADO CÂMBIO: INSTITUIÇÕES AUTO- Quando a taxa de câmbio está baixa, há um estímulo as impor-
RIZADAS A OPERAR E OPERAÇÕES BÁSICAS tações de produtos e insumos importados mais baratos. Ocorre au-
mento da competitividade entre produtos nacionais e estrangeiros.
MERCADO DE CÂMBIO A tendência da inflação é diminuir demandas internacionais por
bens e serviços.
Instituições Autorizadas a operar
Remessas
As instituições que operam neste mercado são os bancos múlti-
Representam uma forma segura do envio de dinheiro para fora
plos, bancos comerciais, caixas econômicas, bancos de investimen-
do país, sendo muito semelhante a uma transferência entre contas.
to, bancos de câmbio (realizam todas as operações previstas para o
Por ocorrer entre países diferentes, possuem regras específicas, por
mercado de câmbio).
exemplo, na compra é necessário a comprovação de uma fatura pró
Os bancos de desenvolvimento, agências de fomento e as so- forma, documento que registra e formaliza a intenção da compra e
ciedades de crédito, financiamento e investimento; podem execu- venda; com o objetivo de rastrear a origem das transações, evitan-
tar apenas algumas operações autorizadas pelo BACEN. do fraudes e evasão de divisas de um país para outro.
As sociedades corretoras de títulos e valores mobiliários, socie- Dados pessoais e bancários são necessários para ajudar os go-
dades distribuidoras de títulos e valores mobiliários e sociedades vernos dos países envolvidos na transação e identificar origem da
de câmbio; realizam operações de câmbio com clientes para liqui- saída e destino desse envio.
dação de até US$ 100 mil ou em moedas de outras nacionalidades e É preciso contar com uma instituição financeira para interme-
operações no mercado interbancário, arbitragens no país e através diar esse processo.
de banco autorizado a operar no mercado de câmbio e arbitragem O motivo do envio também deve ser explicado, para que se
com o exterior. adeque ao enquadramento de câmbio do BACEN do Brasil.
Operações Básicas A remessa internacional é uma operação sujeita ao IOF e tam-
Qualquer modalidade de pagamentos ou recebimentos em bém outros impostos sobre o valor, dependendo do enquadramen-
moeda estrangeira, inclusive, aplicações no mercado financeiro ex- to do BACEN. Os enquadramentos mais comuns são: pagamento de
terno, transferências. cursos, manutenção de residências e compra de imóveis no exterior.
Todas as operações de câmbio são formalizadas e registradas Além disso, uma taxa de envio deve ser paga a instituição que
no sistema de câmbio – Sistema Integrado de Registro de Opera- viabiliza a transação; o valor muda de instituição para instituição.
ções de Câmbio.
SISCOMEX
Características de Contratos de Câmbio Programa integrado de comércio exterior que possibilita as
Operações que envolvem a movimentação de valores para o operações de compra e venda no mercado internacional.
exterior.Implica uma negociação de troca de moedas, regulamenta- Foi criado em 1992, iniciando suas operações na exportação no
do pelo BACEN, através da circular nº 3591, de 16/12/2013. Nesse ano seguinte; e em 1997 foi implantado seu módulo de importação.
contrato, devem constar as partes interessadas, ou seja, a institui- Integra todo o país na área de comércio exterior, sendo ope-
ção que está autorizada a operar o câmbio, a parte que está no Bra- racionalizado pela rede SERPRO. Para sua utilização, é necessário o
cadastro da empresa na Receita Federal, para os processamentos
sil e a parte que se encontra no exterior.
de registros na importação e exportação.
É necessário, discriminar no documento; o custo da operação,
Seu objetivo é simplificar e padronizar as operações de comér-
a taxa de câmbio, o prazo para liquidação da operação, o intermedi-
cio exterior, agilizando as operações de embarque de mercadoria,
ário (casa de câmbio) e a taxa da comissão de corretagem.
diminuindo o período de liberação dos importados, dispondo de
controle automático, gerando dados confiáveis, inibindo possíveis
Taxas de Câmbio fraudes, ampliando atendimentos, motivando a entrada de novas
Processo da relação de troca entre moedas. É possível quan- empresas do comércio exterior.
tificar como o montante de Real necessário para trocar por dólar,
euro, etc.
A relação entre a taxa de Câmbio surge entre a demanda e a
oferta pelas demais moedas em relação ao Real. GARANTIAS DO SISTEMA FINANCEIRO NACIONAL:
Exemplo: Os exportadores compram produtos no Brasil e ven- AVAL; FIANÇA; PENHOR MERCANTIL; ALIENAÇÃO FI-
dem para o resto do mundo, logo, recebem dos compradores em DUCIÁRIA; HIPOTECA; FIANÇAS BANCÁRIAS
dólar que entram na economia brasileira. Enquanto isso, no Bra-
sil, os fornecedores precisam receber em Real. Já, os importadores GARANTIAS DO SISTEMA FINANCEIRO NACIONAL
compram mercadorias no exterior e trazem para o país, vendem São obrigações assumidas por meio do oferecimento do patri-
e recebem em Real; porém, os fornecedores estrangeiros querem mônio para garantir uma dívida.
levar dólares para o exterior. Temos assim, a relação de oferta e de- Aval: Declaração unilateral através da qual o avalista assume as
obrigações previstas no titulo.
1 Fonte: www.toroinvestimentos.com.br
13
CONHECIMENTOS BANCÁRIOS
Fiança: O fiador garante satisfazer o credor através da quitação
da dívida, caso o devedor não o faça. CRIME DE LAVAGEM DE DINHEIRO: CONCEITO E ETA-
Penhor mercantil: Válido para as negociações comerciais. Ga- PAS. PREVENÇÃO E COMBATE AO CRIME DE LAVAGEM
rantia real sobre bens móveis. Estabelecido em favor do credor para DE DINHEIRO: LEI Nº 9.613/98 E SUAS ALTERAÇÕES
que haja mais certeza que o seu direito será realizado. O devedor
transfere para o credor a posse de um bem (estoque, veículos, jóias) CRIME DE LAVAGEM DE DINHEIRO
móvel até que sua dívida seja quitada, desta forma o se devolve a CONCEITO E ETAPAS
posse do bem para seu dono. Toda situação que tem como intenção ocultar a origem de
Alienação fiduciária: Transferência da posse de um bem à ins- dinheiro de atividades criminosas. Ou seja, são tentativas de dar
tituição financeira. É realizado principalmente, nos contratos de fi- aparência de dinheiro “limpo” (lícito) para quantias “sujas” (ilícitas).
nanciamento de veículos e imóveis. A informação de que o compa- Suas fases compreendem:
rador tem direito de usufruir do bem, mas juridicamente pertence a 1ª. Colocação – Quando o dinheiro entra no mercado financei-
instituição que concedeu o crédito até seu pagamento total. ro, circulando através da aquisição de bens (geralmente com paga-
Hipoteca: Na contratação de um crédito se oferece um bem mento em espécie), depósitos em contas correntes e em contas de
imóvel de sua propriedade que ficará e caso não ocorra o pagamen- “paraísos fiscais”, etc.
to, o bem poderá ser tomado pelo credor. 2ª. Ocultação – Também conhecida como extratificação, tende
Fiança bancária: Garantia concedida pela instituição financeira a dificultar o rastreamento do dinheiro, através da alta quantidade
quando o cliente não possui outro tipo de fiador. de transações.
Fundo Garantidor de Crédito (FGC): Instituição sem fins lucra- 3ª. Integração – Momento em que o dinheiro sujo volta formal-
tivos, criada em 1995, com a finalidade de proteger o investidor mente para o sistema financeiro com aparência de “limpo”.
em eventuais riscos nas empresas administradores desses recursos.
Alguns produtos são cobertos pelas garantias de até R$ 250.000,00, PREVENÇÃO E COMBATE AO CRIME DE LAVAGEM DE DINHEI-
como depósitos a vista, depósitos de poupança, Letras de Câmbio, RO
Letras hipotecárias, depósitos a prazo, com ou sem emissão de CDB Regras e normas estabelecidas pelas instituições financeiras
e RDB, etc. adotam para a prevenção do crime de “lavagem de dinheiro”. O
Segundo o FGC, quanto ao limite da garantia de até R$ 1 mi- mínimo de informações exigidas e que devem estar sempre atu-
lhão: alizadas são: Nome, identificação e comprovação de documentos
“O Conselho Monetário Nacional (CMN) aprovou, em 21 de de- pessoais, profissão, estado civil e endereço.
zembro de 2017, a alteração promovida no Regulamento do Fundo As regras e normas são baseadas em critérios como cadastro
Garantidor de Créditos (FGC), que estabelece teto de R$ 1 milhão, completo e sempre atualizado, Relacionamento de proximidade
a cada período de 4 anos, para garantias pagas para cada CPF ou com o cliente e monitoramento das operações.
CNPJ. A Federação Brasileira de Bancos (FEBRABAN) desde 2008 vem
Teto para investidor vale para cada período de 4 anos, por CPF concentrando esforços na tentativa de combater à lavagem de di-
ou CNPJ. Após 4 anos, o teto é restabelecido. nheiro, aprovando inclusive, neste mesmo ano, o código de Autor-
A contagem do período de 4 anos se inicia na data da liqui- regulação Bancária, em que ficam muito claros, seus esforços na
dação ou intervenção em instituição financeira onde o investidor Prevenção e combate à Lavagem de Dinheiro e Financiamento do
detenha valor garantido pelo FGC. Terrorismo e Responsabilidade Social.
Permanece inalterado o limite de R$ 250 mil por CPF ou CNPJ
e conglomerado financeiro. Lei n.º 9.613/1998 e suas alterações
Aos investimentos contratados ou repactuados até 21 de de- Mais conhecida como “Lei de lavagem de dinheiro”, foi criada
zembro de 2017 não se aplica o teto de R$ 1 milhão a cada período para atender as solicitações de instituições financeiras e econômi-
de 4 anos”. cas, que já tinham esgotados todos os recursos jurídicos contra os
crimes de lavagem de dinheiro; já que nela se prevêem punições
rigorosas para os praticantes de tais atos, porém com algumas es-
Como era Como ficou
pecificações e exclusividades para tipos de crimes, penas e multas.
Garantia de até R$ 250 Em 09 de julho de 2012 foi publicada uma nova lei sobre lava-
mil por CPF/CNPJ e conglome- gem de dinheiro, a Lei nº 12.683, também chamada de PLDII, que
rado financeiro, em depósitos apenas atualiza a Lei nº 9.613/98.
Limite permanece A PLDII tem o objetivo de tornar mais eficiente a investigação
cobertos pelo Fundo Garan-
inalterado. criminal e o processo penal para os crimes de lavagem de dinheiro.
tidor de Créditos e emitidos
por instituições associadas à Uma das alterações foi permitir o enquadramento com origem
entidade. oculta ou ilícita e a adoção de punição mais severa. Isto foi neces-
sário devido o nível de inteligência e inovação nos métodos de atu-
Teto de R$ 1 milhão por ação dos criminosos.
Não havia teto para garan-
CPF ou CNPJ, a cada período Enquanto na Lei 9.613/98, havia uma lista pré definidas de ati-
tia paga pelo FGC por CPFou
de 4 anos,para a garantia vidades ilícitas, por exemplo, tráfico de drogas, terrorismo, seques-
CNPJ em qualquer período.
paga pelo FGC. tro, etc., na PLDII a possibilidade é de punição para qualquer que
seja a origem ilícita.
Investidores não-resi-
Investidores não-resi- Na Lei 9.613/98, o teto para as multas era de R$ 200.00,00,
dentes passam a contar com
dentes não contavam com a com penas de 3 à 10 anos de reclusão; agora as multas podem che-
a garantia, para investimen-
garantia do FGC. gar a R$ 20 milhões.
tos elegíveis.
Também ocorreu a ampliação dos tipos de profissionais obriga-
dos a enviar ao COAF, informações de operações suspeitas, como as
Fonte: https://www.fgc.org.br/garantia-fgc/fgc-nova-garantia de doleiros, comerciantes de artigos de luxo, etc.
14
CONHECIMENTOS BANCÁRIOS
Como esta nova lei trata-se de uma atualização, já prevê a pos- I – Situações relacionadas com operações em espécie em moe-
sibilidade de apreensão em nome de “laranjas” e também a sua da nacional com a utilização de contas de depósitos ou de contas de
venda, ficando este valor depositado em juízo até o final do julga- pagamento;
mento. II – Situações relacionadas com operações em espécie e car-
No caso da colaboração do auto, co-autor ou qualquer partici- tões pré-pagos em moeda estrangeira e cheques de viagem;
pante da lavagem de dinheiro colaborar com as autoridades, a pena III – Situações relacionadas com a identificação e qualificação
poderá ser reduzida de 1 à, cabendo ao juiz a decisão por sua apli- de clientes;
cação ou redução, a qualquer tempo, mesmo após a condenação IV – Situações relacionadas com a movimentação de contas de
depósito e de contas de pagamento em moeda nacional;
VI – Situações relacionadas com operações de crédito no País;
CIRCULAR BACEN 3.461/2009 E SUAS ALTERAÇÕES E VII – Situações relacionadas com a movimentação de recursos
CARTA-CIRCULAR BACEN 3.542/12 oriundos de contratos com o setor público;
VIII – Situações relacionadas a consórcios;
Circular Bacen nº 3461/2009 IX – Situações relacionadas a pessoas ou entidades suspeitas
Circular que trata de alguns procedimentos específicos na pre- de envolvimento com financiamento ao terrorismo e a proliferação
venção dos crimes previstos na Lei nº 9.613/1998. de armas de destruição em massa;
São procedimentos que as instituições financeiras autorizadas X – Situações relacionadas com atividades internacionais;
a funcionar, devem realizar. Os artigos 12 e 13 desta circular, infor- XI – Situações relacionadas com operações de crédito contra-
mam por exemplo, que as instituições financeiras são obrigadas a tadas no exterior;
fazer comunicação de informações suspeitas ao COAF. XII – Situações relacionadas com operações de investimento
Conforme a Circular: externo;
“Comunicações ao Coaf XIII – Situações relacionadas com funcionários, parceiros e
Art. 12. As instituições de que trata o art. 1º devem comunicar prestadores de serviços terceirizados;
ao Conselho de Controle de Atividades Financeiras (Coaf), na forma XIV – Situações relacionadas a campanhas eleitorais;
determinada pelo Banco Central do Brasil: XV – Situações relacionadas a BNDU (Bens Não De Uso) e ou-
I - as ocorrências de que trata o art. 8º, § 1º, inciso I, no prazo tros ativos não financeiros;
de até 5 (cinco) dias úteis após o encerramento do mês calendário; XVI – Situações relacionadas com a movimentação de contas
II - as ocorrências de que trata o art. 9º, § 1º, incisos I e III, na correntes em moeda estrangeira (CCME); e
data da operação. Parágrafo único. Devem também ser comunica- XVII – Situações relacionadas com operações realizadas em
das ao Coaf as propostas de realização das operações de que trata
municípios localizados em regiões de risco.
o caput.
Art. 13. As instituições de que trata o art. 1º devem comunicar
ao Coaf, na forma determinada pelo Banco Central do Brasil: AUTORREGULAÇÃO BANCÁRIA
I - as operações realizadas ou serviços prestados cujo valor seja
igual ou superior a R$10.000,00 (dez mil reais) e que, considerando
A Federação Brasileira de Bancos-Febraban cumprindo sua vo-
as partes envolvidas, os valores, as formas de realização, os instru-
cação de representar o setor bancário e de fortalecer a sua relação
mentos utilizados ou a falta de fundamento econômico ou legal,
com a sociedade liderou, em conjunto com os maiores bancos do
possam configurar a existência de indícios dos crimes previstos na
País, a criação do Sistema Brasileiro de Autorregulação Bancária.
Lei nº 9.613, de 1998;
II - as operações realizadas ou serviços prestados que, por sua A autorregulação possibilitará aos bancos, em conjunto com a
habitualidade, valor ou forma, configurem artifício que objetive sociedade, harmonizar o sistema bancário, suplementando as nor-
burlar os mecanismos de identificação, controle e registro; mas e os mecanismos de controle já existentes.
III - as operações realizadas ou os serviços prestados, qualquer A plena concorrência é essencial para a manutenção dos direi-
que seja o valor, a pessoas que reconhecidamente tenham perpe- tos do consumidor. Assim, a Febraban desenvolveu a autorregula-
trado ou intentado perpetrar atos terroristas ou neles participado ção como um sistema voluntário, focado na sadia concorrência do
ou facilitado o seu cometimento, bem como a existência de recur- mercado, na elevação de padrões e no aumento da transparência
sos pertencentes ou por eles controlados direta ou indiretamente; em benefício dos consumidores. Ao se tornar voluntário na inte-
IV - os atos suspeitos de financiamento do terrorismo. gração do sistema de autorregulação, aderindo aos mais elevados
§ 1º O disposto no inciso III aplica-se também às entidades per- padrões ético e de conduta, cada banco atesta o comprometimento
tencentes ou controladas, direta ou indiretamente, pelas pessoas com os seus consumidores e com a sociedade brasileira.
ali mencionadas, bem como por pessoas e entidades atuando em Os bancos fazem parte do dia-a-dia das pessoas, possibilitando
seu nome ou sob seu comando. desde o pagamento e o recebimento de salários, aposentadorias,
§ 2º As comunicações das ocorrências de que tratam os incisos impostos, taxas, contas e compras, até a tomada de empréstimos
III e IV devem ser realizadas até o dia útil seguinte àquele em que e aplicação em investimentos. Apenas em 2007, foram realizadas
verificadas. algo em torno de 41 bilhões de transações, muitas das quais nas
§ 3º Devem também ser comunicadas ao Coaf as propostas de mais de 18.000 agências distribuídas no País. Números dessa mag-
realização das operações e atos descritos nos incisos I a IV”. nitude mostram o quanto um sistema bancário saudável, ético e
eficiente é essencial para o desenvolvimento econômico e social do
Carta-Circular Bacen nº 4001/2020 Brasil
Circular com a relação das atividades e situações que possam
configurar crimes de lavagem de dinheiro ou ocultação de bens, di-
reitos e valores. Compondo 17 categorias a serem adotadas pelas
instituições financeiras autorizadas a funcionar no país.
15
CONHECIMENTOS BANCÁRIOS
As atividades bancárias, por sua importância, complexidade e Conceitos
dinamismo, são reguladas por um número considerável de normas Para os efeitos deste código, considera-se:
voltadas à estruturação do Sistema Financeiro e ao relacionamento Ética - virtude caracterizada pela orientação dos atos das asso-
entre os bancos e seu público. Diversas entidades asseguram que ciadas segundo os valores do bem e da decência pública.
tais normas sejam devidamente respeitadas. Dentre elas, o Banco Conduta - manifestação do modo como uma associada se com-
Central, os órgãos de defesa do consumidor, os tribunais, as organi- porta perante a sociedade, tendo como base as crenças, culturas,
zações não-governamentais e os veículos de comunicação. Esse sis- valores morais e éticos que seguem.
tema de normas e mecanismos de controle é reconhecidamente só- Conflito de Interesse - qualquer situação na qual a associada
lido e eficaz. Não obstante, sempre haverá o que ser aperfeiçoado. possa ter sua capacidade de julgamento e decisão afetada, po-
dendo incorrer ou sugerir quebra do princípio de imparcialidade e
Preâmbulo favorecer seu próprio interesses, de terceiros ou, ainda, de cunho
O Código de Conduta Ética e Autorregulação reforça o compro- político, em detrimento dos interesses e princípios da FEBRABAN.
misso de todas as Instituições Financeiras associadas à Federação Compliance - Compliance é o dever de cumprir, de estar em
Brasileira de Bancos – FEBRABAN com o Sistema de Autorregulação conformidade e fazer cumprir leis, diretrizes, regulamentos inter-
Bancária – SARB. nos e externos, buscando mitigar o risco atrelado à reputação, ao
Criado por deliberação do Conselho Diretor da FEBRABAN, em risco legal ou regulatório.
28 de agosto de 2008, o SARB estabelece padrões ainda mais ele- Corrupção - toda e qualquer ação, culposa ou dolosa, que im-
vados de conduta a serem seguidos pelas Instituições Financeiras plique sugestão, oferta, promessa, concessão (forma ativa) ou so-
Signatárias, de modo que possam atuar de forma ainda mais trans- licitação, exigência, aceitação ou recebimento (forma passiva), de
parente e eficiente, em benefício do segmento, dos consumidores vantagens indevidas, de natureza financeira ou não, tais como: pro-
e de toda a sociedade. pina, tráfico de influência e favorecimentos, em troca de realização
Regido pelos princípios da integridade, equidade, respeito ao ou omissão de atos inerentes as suas atribuições, operações ou ati-
consumidor, transparência, excelência, sustentabilidade e confian- vidades, ou visando a benefícios para si ou para terceiros.
ça, o SARB reflete o compromisso do sistema financeiro no seu re- Instituições Financeiras – pessoa jurídica de direito público ou
lacionamento com o consumidor, com a livre concorrência; respon- privado, conforme Lei nº 7.492/86, que tenha como atividade prin-
sabilidade socioambiental; prevenção de situações de conflito de cipal ou acessória, cumulativamente ou não, a captação, interme-
interesses; prevenção à fraude; combate à lavagem de dinheiro e diação ou aplicação de recursos financeiros de terceiros, em moeda
com a adoção de medidas voltadas à anticorrupção. nacional ou estrangeira, ou a custódia, emissão, distribuição, ne-
Aliados a este Código de Conduta Ética e Autorregulação, o Sis- gociação, intermediação ou administração de valores mobiliários.
tema de Autorregulação Bancária também é regido por Normativos Signatárias – todas as Instituições Financeiras associadas à FE-
de adesão voluntária pelas Instituições Financeiras Signatárias, que BRABAN.
se harmonizam à legislação vigente e possuem três principais eixos: Signatárias nível I – Instituições Financeiras Signatárias a este
Relacionamento com o Consumidor; Responsabilidade Socioam- Código de Conduta Ética e Autorregulação.
biental; Prevenção à Lavagem de Dinheiro e ao Financiamento ao Signatárias nível II – Instituições Financeiras Signatárias que
Terrorismo. aderiram a pelo menos um dos eixos normativos do SARB.
O Código de Conduta Ética e Autorregulação representa um Signatárias nível III – Instituições Financeiras Signatárias que
marco no fortalecimento do Sistema de Autorregulação Bancária e aderiram a todos os eixos normativos do SARB. 2
um compromisso das Instituições associadas à FEBRABAN com um O Código completo está disponível em:
sistema financeiro saudável, ético e eficiente. http://cms.autorregulacaobancaria.com.br/Arquivos/docu-
mentos/PDF/C%C3%B3digo%20de%20Conduta%20%C3%89ti-
Público-alvo e Abrangência ca%20e%20Autorregula%C3%A7%C3%A3o%20Banc%C3%A-
Este Código de Conduta Ética e Autorregulação Bancária é apli- 1ria%20VF.pdf
cável a todas as Instituições Financeiras associadas à Federação Bra-
sileira de Bancos - FEBRABAN. REFERÊNCIAS
A observância dos conceitos e condutas é obrigatória para as
Instituições Financeiras associadas, bem como para as entidades https://www.anbima.com.br/pt_br/noticias/guia-anbima-
que, embora não associadas, expressamente aderirem a este Códi- -com-boas-praticas-sobre-prevencao-a-lavagem-de-dinheiro-e-ao-
go mediante a assinatura do competente termo de adesão. -financiamento-do-terrorismo-auxilia-instituicoes-a-implementa-
O presente Código não se sobrepõe à legislação e regulamen- rem-suas-politicas-internas.htm
tação vigentes, ainda que venham a ser editadas normas, após o
início de sua vigência, que sejam contrárias às disposições ora tra- https://www.bcb.gov.br/pre/normativos/busca/download-
zidas. Caso haja contradição entre regras estabelecidas neste Códi- Normativo.asp?arquivo=/Lists/Normativos/Attachments/47555/
go e normas legais ou regulamentares, essas últimas prevalecerão, Circ_3461_v1_O.pdf
sem prejuízo das demais regras contidas neste Código.
As instituições associadas devem assegurar que o presente Có- https://www.bcb.gov.br/pre/normativos/busca/download-
digo seja também observado por todos os integrantes do seu con- Normativo.asp?arquivo=/Lists/Normativos/Attachments/50982/
glomerado ou grupo financeiro, que estejam autorizados no Brasil, Circ_4001_v1_O.pdf
a desempenhar qualquer das atividades autorizadas pelo Conselho
Monetário Nacional e pelo Banco Central do Brasil. Tal obrigação https://www.fgc.org.br/garantia-fgc/sobre-a-garantia-fgc
não implica o reconhecimento, por parte das instituições associa-
das, da existência de qualquer modalidade de assunção, solidarie- https://www.gov.br/fazenda/pt-br/orgaos/orgaos-colegiados-
dade ou transferência de responsabilidade entre estes integrantes. -do-me/crsnsp/institucional/historico-e-competencia
Entretanto, todas as referidas associadas estão sujeitas aos concei-
tos e condutas estabelecidas pelo presente Código. 2 Fonte: www.consumidor.mppr.mp.br
16
CONHECIMENTOS BANCÁRIOS
https://www.gov.br/fazenda/pt-br/assuntos/cmn
https://www.bcb.gov.br/acessoinformacao/cmn EXERCÍCIOS
17
CONHECIMENTOS BANCÁRIOS
4. (PREFEITURA DE COCAL/PI – AUXILIAR ADMINISTRATIVO – 9. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) Para
MÉDIO – IMA – 2019) As operações exercidas pelos bancos se divi- que possam fornecer empréstimo e financiamento para aquisição
dem em operações ativas e operações passivas, onde normalmente de bens, serviços e capital de giro no mercado nacional, as socieda-
o lucro dos bancos resultam da diferença entre as operações pas- des de crédito, financiamento e investimento, além de utilizar o seu
sivas e ativas. Assinale a alternativa que se refere a uma operação capital próprio, emitem
passiva dos bancos: (A) letras de câmbio.
(A) Desconto de títulos. (B) certificados de depósito bancário.
(B) Concessão de crédito rural. (C) notas promissórias comerciais.
(C) Operações de repasses e refinanciamentos. (D) letras de crédito imobiliário.
(D) Depósitos a prazo fixo (de pessoas físicas ou jurídicas). (E) debêntures conversíveis.
5. (METRÔ/SP – ANALISTA DE DESENVOLVIMENTO DEGESTÃO 10. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) O Co-
JÚNIOR AUXILIAR ADMINISTRATIVO A – SUPERIOR – FCC – 2019) mitê de Política Monetária (Copom) é o órgão decisório do Banco
O Banco Central do Brasil é uma autarquia federal integrante do Central que, no regime de metas para a inflação, implementado no
Sistema Financeiro Nacional, sendo vinculado ao Ministério da Eco- Brasil em 1999, tem por objetivo:
nomia. Dentre as suas diversas funções, o Banco Central é respon- I. Promover a maior geração de empregos.
sável por I I . Estabelecer as diretrizes da política monetária.
(A) negociar ações de sociedades de capital aberto e outros va- I I I . Definir a meta para a taxa básica de juros no Brasil e seu
lores mobiliários. eventual viés. Está correto o que consta de
(B) certificar os profissionais do mercado financeiro e de capi- (A) I, apenas.
tais do Brasil. (B) I e I I , apenas.
(C) gerenciar as reservas cambiais do país em ouro e em moeda (C) I I e I I I , apenas.
estrangeira. (D) I I I , apenas. (E) I, I I e I I I .
(D) fazer o registro das companhias abertas.
(E) organizar o funcionamento e as operações das bolsas de 11. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) A Co-
valores. missão de Valores Mobiliários (CVM) é uma entidade autárquica em
regime especial, vinculada ao Ministério da Fazenda, que tem o ob-
6. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) No âm- jetivo de fiscalizar, normatizar, disciplinar e desenvolver o mercado
bito do Sistema Financeiro Nacional, a atribuição da coordenação de valores mobiliários no Brasil. Para tanto, o seu mandato legal
da Dívida Pública Federal externa e interna é contempla
(A) do Banco Central do Brasil. (A) proteger as instituições financeiras intermediárias.
(B) do Ministério da Fazenda. (B) assegurar o sigilo das informações sobre os valores mobiliá-
(C) da Secretaria do Tesouro Nacional. rios negociados e as companhias que os tenham emitido.
(D) do Ministério do Planejamento, Orçamento e Gestão. (C) estimular a formação de poupança e a sua aplicação em
(E) do Conselho Monetário Nacional. títulos do Tesouro Nacional. (D) estimular as aplicações permanen-
tes em ações do capital social de companhias abertas sob controle
7. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) Como público.
parte da missão de assegurar que o sistema financeiro seja sólido (E) evitar modalidades de manipulação destinadas a criar con-
e eficiente, a autorização para funcionamento de instituições finan- dições artificiais de negociação no mercado de valores mobiliários.
ceiras controladas por capitais nacionais é concedida (A) pelo Con-
selho Monetário Nacional. 12. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) O
(B) pela Comissão de Valores Mobiliários. Conselho de Recursos do Sistema Financeiro Nacional é um órgão
(C) pela Presidência da República. colegiado, integrante da estrutura do Ministério da Fazenda, e que
(D) pelo Banco Central do Brasil. tem por finalidade julgar os recursos contra as sanções aplicadas
(E) pelo Senado Federal. pelo Banco Central e pela Comissão de Valores Mobiliários (CVM)
e, nos processos de lavagem de dinheiro, as sanções aplicadas pelo
8. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) O que Conselho de Controle de Atividades Financeiras (COAF) e demais
caracteriza um banco múltiplo, como o Banrisul, é a autoridades competentes em
(A) possibilidade de captar, por meio das suas agências, somen- (A) casos de interesse exclusivo de investidores estrangeiros.
te depósitos à vista. (B) processos de segunda instância judicial.
(B) atuação com, pelo menos, duas carteiras, devendo uma, (C) situações de litígio entre instituições financeiras estatais.
obrigatoriamente, ser de banco comercial ou de investimento. (D) segundo grau e última instância administrativa.
(C) proibição de realizar compra e venda de moeda estrangeira (E) arbitragens decorrentes da utilização de instrumentos fi-
em espécie. nanceiros derivativos.
(D) atuação na gestão dos recursos do Fundo de Garantia por
Tempo de Serviço (FGTS).
(E) obrigatoriedade de ter o controle acionário de uma socieda-
de de arrendamento mercantil.
18
CONHECIMENTOS BANCÁRIOS
13. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) O Sis- 17. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) O Fun-
tema Especial de Liquidação e de Custódia (Selic) é uma das deno- do Garantidor de Créditos (FGC) administra o mecanismo de pro-
minadas Infraestruturas do Mercado Financeiro (IMF), por meio do teção aos depositantes e investidores no âmbito do Sistema Finan-
qual ceiro Nacional e, sob certas condições, garante cobertura ordinária
(A) são custodiados títulos privados mantidos em carteiras de sobre
fundos de investimento. (B) são registradas as transações de com- (A) depósitos à vista e valores aplicados em previdência privada
pra e venda de títulos emitidos por instituições financeiras. VGBL ou PGBL.
(C) são transferidos os títulos para o comprador, em cada ne- (B) depósitos sacáveis mediante aviso prévio e letras de câm-
gociação, em tempo real. (D) ocorrem transferências de reservas e bio.
fundos para as câmaras de compensação e liquidação. (C) depósitos a prazo, com ou sem emissão de certificado, e
(E) há possibilidade de lançamentos retroativos até determina- depósitos judiciais.
do horário limite no dia posterior. (D) letras de crédito do agronegócio e cotas de fundos de in-
vestimento.
14. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) As (E) operações relacionadas a programas de interesse governa-
Bolsas são ambientes físicos ou virtuais organizados para compra e mental instituídos por lei e depósitos de poupança.
venda de ações, derivativos e outros valores mobiliários. Para que
as transações ocorram, é necessário que funcione, de forma harmo- 18. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) Os
niosa, toda uma cadeia de serviços de negociação e pós-negocia- produtos e serviços bancários, oferecidos pelos bancos comerciais,
ção, o que, no Brasil, caracteriza o setor como sendo são objeto de regulação do Banco Central do Brasil (BACEN). Por-
(A) verticalmente integrado. tanto, para o funcionário da instituição, compreender as expecta-
(B) de regime de compensação negociado caso a caso para de- tivas do cliente
rivativos financeiros. (A) não deve ser objeto de seu trabalho, visto que o tempo
(C) horizontalmente distribuído entre os agentes do mercado. gasto com essa atividade diminui a dedicação a outras atividades
(D) aquele em que é desnecessária a existência de contraparte importantes a serem desenvolvidas.
central garantidora. (B) não é importante, visto que o cliente poderá encontrar es-
(E) dependente da Comissão de Valores Mobiliários para con- ses produtos e serviços em qualquer outra instituição financeira.
trole do risco. (C) é necessário, bem como interpretar as necessidades atuais
e futuras do cliente, fazendo com que a oferta de valor de um pro-
15. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) Fre- duto ou serviço seja a mais adequada possível.
quentemente ofertados aos clientes das redes bancárias, os títulos (D) não é necessário, bem como conhecer detalhadamente os
de capitalização proporcionam produtos e serviços oferecidos pela instituição, porque isso foge
(A) garantia da instituição financeira emissora. completamente das suas atribuições.
(B) isenção de imposto de renda sobre o valor resgatado que (E) pode parecer acintoso, ao passo que questões de ordem
exceda à aplicação. profissional e pessoal poderão ser abordadas, não contribuindo
(C) prazo de validade igual ou superior a seis meses na moda- com práticas apropriadas de atendimento ao cliente, gerando cons-
lidade tradicional. trangimentos.
(D) possibilidade de transferência durante a vigência, de uma
pessoa para outra. 19. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) A Cir-
(E) a opção, pelo subscritor, da emissão “ao portador”. cular no 3.461/2009 e suas alterações, do Banco Central, consolida
as regras sobre os procedimentos a serem adotados por instituições
16. (BANRISUL – ESCRITURÁRIO – MÉDIO – FCC – 2019) As financeiras na prevenção e combate às atividades relacionadas com
Cédulas de Crédito Bancário (CCB) constituem uma promessa de os crimes de lavagem de dinheiro, previstos na Lei n2 9.613/1998 e
pagamento em dinheiro e são: suas alterações. Dentre outros, determina que deve ser dispensada
I. Títulos executivos judiciais que representam dívida em di- especial atenção
nheiro, certa, líquida e exigível. (A) a situações em que não seja possível manter atualizadas as
I I . Lastreadas em uma operação de crédito de qualquer mo- informações cadastrais de seus clientes.
dalidade. (B) ao sistema de vigilância presencial nas dependências das
I I I . Isentas de imposto de renda sobre os rendimentos, quan- agências bancárias.
do adquiridas por pessoa física. Está correto o que consta de (C) à habitualidade de depósitos em espécie em valores totais
(A) I, apenas. mensais que não superem três mil reais.
(B) I e I I I , apenas. (D) à elevada frequência de utilização, pelo cliente, de caixas
(C) I I e I I I , apenas. eletrônicos em diferentes locais.
(D) I, I I e I I I . (E) ao volume das aquisições de moeda estrangeira pelo cliente
(E) I I , apenas.
para fins de alegadas viagens internacionais.
19
CONHECIMENTOS BANCÁRIOS
20. (BRB – ESCRITURÁRIO – MÉDIO – IADES – 2019) Considere 23. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
uma instituição financeira autorizada a operar três carteiras: a car- A remuneração atual da caderneta de poupança possui um compo-
teira de desenvolvimento, a carteira de crédito imobiliário e uma nente básico, baseado na taxa referencial (TR), e um adicional, de-
outra carteira. Com base apenas nessas informações, é correto afir- pendente da política monetária corrente. O parâmetro de política
mar que a instituição monetária utilizado no cálculo é a:
(A) está autorizada a captar depósitos à vista. (A) taxa do CDI – Certificado de Depósito Interbancário;
(B) pode emitir debêntures. (B) meta da taxa Selic;
(C) opera uma carteira comercial. (C) meta de inflação;
(D) consiste em um banco público. (D) taxa Selic diária;
(E) está organizada sob a forma de sociedade limitada. (E) rentabilidade média das NTN-B’s.
21. (BRB – ESCRITURÁRIO – MÉDIO – IADES – 2019) A respeito 24. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
das operações de arrendamento mercantil, assinale a alternativa A fiança bancária é uma operação tradicional no mercado brasileiro,
correta. em que um banco, por meio da “carta de fiança”, assume o papel de
(A) Se o valor presente das contraprestações for maior que o fiador de uma outra companhia numa operação comercial, concor-
custo do bem, a operação classifica-se como de arrendamento mer- rência pública ou de crédito. Do ponto de vista dos riscos envolvidos
cantil financeiro. para as partes, há mitigação do risco:
(B) Independentemente da modalidade de arrendamento mer- (A) de crédito envolvido entre o fiador (banco) e o afiançado
cantil, a arrendatária é sempre uma pessoa jurídica. (empresa);
(C) As operações na modalidade de arrendamento mercantil fi- (B) de mercado envolvido entre a empresa afiançada e sua con-
nanceiro são privativas das sociedades de arrendamento mercantil. traparte – um fornecedor, por exemplo;
(D) Não havendo previsão de pagamento de valor residual ga- (C) operacional envolvido entre a empresa afiançada e sua con-
rantido, tem-se, obrigatoriamente, um contrato de compra e venda, traparte – um fornecedor, por exemplo;
e não de arrendamento mercantil. (D) de crédito envolvido entre a empresa afiançada e sua con-
(E) A constituição e o funcionamento das sociedades de arren- traparte – um fornecedor, por exemplo;
damento mercantil dependem de autorização da Comissão de Valo- (E) de mercado envolvido entre o fiador (banco) e o afiançado
res Mobiliários (CVM). (empresa).
22. (BRB – ESCRITURÁRIO – MÉDIO – IADES – 2019) A Lei no 25. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
9.613/1998 tipifica, no respectivo art. 1o , os crimes de lavagem de O Fundo Garantidor de Créditos (FGC) é uma entidade privada, sem
dinheiro, com enquadramento penal básico consistente na oculta- fins lucrativos, e que administra um mecanismo de proteção aos
ção ou dissimulação da natureza, origem, localização, disposição, correntistas, poupadores e investidores. Sua função primordial é a
movimentação ou propriedade de bens, direitos ou valores prove- recuperação dos depósitos ou créditos mantidos em instituição fi-
nientes, direta ou indiretamente, de infração penal, ao tempo em nanceira, até determinado valor, em caso de:
que estabelece, nos arts. 2o a 7o , disposições especiais referentes (A) fusão, cisão ou aquisição;
a processo e julgamento, bem como aos efeitos pessoais e patri- (B) abertura de capital;
moniais de eventual condenação. Considerando os aspectos legais (C) fechamento de capital;
referentes à lavagem de dinheiro e o fato de que ela se desenvolve (D) oferta pública inicial;
em fases que eventualmente se superpõem ou comunicam, assina- (E) intervenção, liquidação ou falência.
le a alternativa correta.
(A) A primeira fase da lavagem de dinheiro, denominada “dis- 26. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
simulação” (layering), é caracterizada por uma multiplicidade de O cartão de crédito é um meio de pagamento que permite ao clien-
operações e transações realizadas mediante empresas e contas sem te pagar compras ou serviços até um limite de crédito previamente
aparente relação com o agente envolvido na prática delituosa, tor- definido no contrato de uso do cartão. O ideal é que o cliente sem-
nando impossível ou extremamente difícil identificar a origem ilícita pre pague suas faturas nas datas acordadas – o valor inteiro ou pelo
dos bens, direitos ou valores provenientes, direta ou indiretamente, menos um percentual do valor devido. Esse procedimento evita:
de infração penal. (A) o cancelamento do cartão de crédito;
(B) Os crimes de lavagem de dinheiro somente se configuram (B) o cancelamento da conta-corrente do cliente;
caso sejam cometidos de forma reiterada ou se a infração penal (C) a entrada no crédito rotativo;
antecedente tiver sido praticada por organização criminosa. (D) a entrada no Sistema de Proteção ao Crédito (SPC);
(C) A pena para os crimes de lavagem de dinheiro poderá ser (E) um processo junto ao Banco Central.
reduzida de um a dois terços e ser cumprida em regime semiaberto
ou aberto, sendo possível ao juiz deixar de aplicá-la ou substituí-
-la, a qualquer tempo, por pena restritiva de direitos, se o agente,
no curso de investigação ou processo, colaborar espontaneamente
com as autoridades, prestando esclarecimentos que conduzam à
apuração das infrações penais, à identificação dos autores, coauto-
res e partícipes, ou à localização dos bens, direitos ou valores objeto
da infração penal.
(D) Os tipos penais de lavagem de dinheiro admitem a forma
culposa, em que o agente criminoso dá causa ao resultado por im-
prudência, negligência ou imperícia.
(E) O processo e julgamento dos crimes de lavagem de dinheiro
são de competência exclusiva da Justiça Federal.
20
CONHECIMENTOS BANCÁRIOS
27. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
Uma das garantias ao cumprimento de um contrato celebrado no GABARITO
âmbito do Sistema de Financiamento Imobiliário (SFI) é a alienação
fiduciária. Sobre o instituto e suas disposições legais, analise as afir-
mativas a seguir. 1 B
I. Por meio da alienação fiduciária o devedor, ou fiduciante,
com a finalidade de garantia, contrata a transferência ao credor, ou 2 C
fiduciário, da propriedade resolúvel de bem imóvel. 3 D
II. A alienação fiduciária poderá ser contratada por pessoa física
4 D
ou jurídica, não sendo privativa das entidades que operam no SFI.
III. Constitui-se a propriedade fiduciária de bem imóvel através 5 C
do registro do contrato que lhe serve de título no competente Re- 6 E
gistro de Imóveis. Está correto o que se afirma em:
(A) somente I; (B) somente II; 7 D
(C) somente I e III; 8 B
(D) somente II e III; 9 A
(E) I, II e III.
10 C
28. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018) 11 E
Alfredo contraiu uma dívida com o Banco X e assinou uma cédula de
12 D
crédito bancário com o aval de João. Em relação ao aval, é correto
afirmar que o avalista: 13 C
(A) passa a ser o único responsável pelo pagamento, exoneran- 14 A
do o avalizado Alfredo de responsabilidade;
(B) responderá subsidiariamente pelo pagamento, na ausência 15 D
de bens suficientes de Alfredo para pagar a dívida; 16 E
(C) torna-se devedor solidário pelo pagamento perante o Ban- 17 B
co X, podendo esse cobrar a dívida tanto dele quanto do avalizado;
(D) não se obriga pelo pagamento porque é nulo aval prestado 18 C
em favor de instituição financeira, caso do Banco X; 19 A
(E) responderá pelo pagamento solidariamente com Alfredo,
20 D
desde que esse celebre simultaneamente contrato de fiança com
o Banco X. 21 A
22 C
29. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
Durante a vigência de um contrato de fiança, o credor Atílio con- 23 B
cedeu prorrogação do prazo de pagamento da dívida (moratória) 24 D
ao afiançado sem consentimento do fiador Jerônimo. Com esse ato 25 E
por parte do credor, é correto afirmar que:
(A) deverá Jerônimo requerer a Atílio prorrogação do prazo 26 C
de duração do contrato para se adequar à moratória concedida ao 27 E
afiançado;
28 C
(B) Jerônimo, ainda que solidário pelo pagamento da dívida pe-
rante Atílio, ficará desobrigado pela falta de consentimento com a 29 B
moratória; 30 D
(C) Jerônimo permanecerá obrigado pelo pagamento da dívida
pelos 6 meses seguintes ao dia do vencimento; findo tal prazo ficará
desobrigado;
(D) caberá a Atílio decidir se Jerônimo ficará ou não desobriga-
ANOTAÇÕES
do da fiança com a concessão da moratória;
(E) Jerônimo poderá pedir a anulação do contrato porque é ______________________________________________________
proibido ao credor conceder moratória ao afiançado.
______________________________________________________
30. (BANESTES – TÉCNICO BANCÁRIO – MÉDIO – FGV – 2018)
Em garantia de empréstimo concedido pelo Banco W, Tereza deu ______________________________________________________
um imóvel de sua propriedade ao credor. A garantia constituída
abrange todas as acessões, melhoramentos ou construções do imó- ______________________________________________________
vel e não impede a proprietária de aliená-lo. Com base nessas infor- ______________________________________________________
mações, a garantia prestada por Tereza é:
(A) aval; ______________________________________________________
(B) fiança bancária;
(C) alienação fiduciária em garantia; ______________________________________________________
(D) hipoteca;
(E) anticrese. ______________________________________________________
21
CONHECIMENTOS BANCÁRIOS
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
_____________________________________________________ ______________________________________________________
_____________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
______________________________________________________ ______________________________________________________
22
CONHECIMENTOS DE INFORMÁTICA
Conhecimentos de Informática
1. Linguagens de programação: Java (SE 8 e EE 7), Phyton 3.6, JavaScript/EcmaScript 6, Scala 2.12 e Pig 0.16; . . . . . . . . . . . . . . . . . . 01
2. Estruturas de dados e algoritmos: busca sequencial e busca binária sobre arrays, ordenação (métodos da bolha, ordenação por sele-
ção, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3. ordenação por inserção, lista encadeada, pilha, fila, noções sobre árvore binária), noções de algoritmos de aprendizado supervisiona-
dos e não supervisionados; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4. Banco de dados: conceitos de banco de dados e sistemas gerenciadores de bancos de dados (SGBD), modelagem conceitual de dados
5. (a abordagem entidaderelacionamento), modelo relacional de dados (conceitos básicos, normalização), banco de dados SQL (lingua-
gem SQL (SQL2008), linguagem HiveQL (Hive 2.2.0)), banco de dados NoSQL (conceitos básicos, bancos orientados a grafos, colunas,
6. chave/valor e documentos), data Warehouse (modelagem conceitual para data warehouses, dados multidimensionais) . . . . . . . 73
7. Tecnologias web: HTML 5, CSS 3, XML 1.1, Json (ECMA-404), Angular.js 1.6.x, Node.js 6.11.3, REST; . . . . . . . . . . . . . . . . . . . . . . . . . 97
8. Manipulação e visualização de dados: linguagem R 3.4.2 e R Studio 5.1, OLAP, MS Excel 2013; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
9. Sistema de arquivos e ingestão de dados: conceitos de MapReduce, HDFS/Hadoop/YARN 2.7.4, Ferramentas de ingestão de dados
10. (Sqoop 1.4.6, Flume 1.7.0, NiFi 1.3.0 e Kafka 0.11.0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
CONHECIMENTOS DE INFORMÁTICA
A linguagem Java
Conheça as APIs Java
A maioria dos desenvolvedores Java constantemente consultam a documentação on-line oficial da API Java— , também chamada
de Javadoc. Por padrão, você vê três áreas de janela no Javadoc. A área de janela superior esquerda mostra todos os pacotes na API
e a área de janela inferior esquerda mostra as classes em cada pacote. A área de janela principal (à direita) mostra os detalhes do
pacote ou classe atualmente selecionados. Por exemplo, se você clicar no pacote java.util na área de janela superior esquerda e clicar
na classe ArrayList listada abaixo dele, verá os detalhes sobre ArrayList na área de janela direita, incluindo uma descrição do que ela
faz, como usá-la e seus métodos.
Como qualquer linguagem de programação, a linguagem Java tem sua própria estrutura, regras de sintaxe e paradigma de pro-
gramação. O paradigma de programação da linguagem Java baseia-se no conceito de OOP, que os recursos da linguagem suportam.
A linguagem Java deriva da linguagem C, portanto suas regras de sintaxe assemelham-se às regras de C. Por exemplo, os blocos de
códigos são modularizados em métodos e delimitados por chaves ({ e }) e variáveis são declaradas antes que sejam usadas.
Estruturalmente, a linguagem Java começa com pacotes. Um pacote é o mecanismo de namespace da linguagem Java. Dentro
dos pacotes estão as classes e dentro das classes estão métodos, variáveis, constantes e mais. Neste tutorial você aprende sobre as
partes da linguagem Java.
O compilador Java
Quando você programa na plataforma Java, escreve seu código-fonte em arquivos .java e depois os compila. O compilador veri-
fica seu código nas regras de sintaxe da linguagem e depois grava bytecodeem arquivos .class. Bytecode é um conjunto de instruções
destinadas a executar em uma Java virtual machine (JVM). Ao incluir esse nível de abstração, o compilador Java difere-se de outros
compiladores de linguagem, que escrevem instruções adequadas para o chipset de CPU no qual o programa é executado.
Hotspot
Hotspot é a máquina virtual Java, ela provê algumas funcionalidades muito
importantes. Ao contrário de outras aplicações, que são compiladas diretamente para código da máquina em que serão executa-
das, em Java estas somente são transformadas em código de máquina em tempo de execução quando necessário.
No princípio esta abordagem trouxe problemas de sobrecarga e lentidão dos sistemas, no entanto, a JVM vem se aprimorando e,
em muitas situações, as aplicações Java tem desempenho similar as aplicações que são previamente compiladas.
Este desempenho vem melhorando muito devido a otimização que a máquina virtual consegue fazer a medida que o código é exe-
cutado. Perceba que quando programamos em C, por exemplo, o código fonte é transformado em código de máquina imediatamente.
Em princípio podemos pensar que o fato do programa não precisar passar
por uma etapa a mais, interpretação, irá torná-lo mais eficiente, mas muitas vezes a compilação estática não consegue prever si-
tuações que irão ocorrer durante a execução do código: trechos da aplicação mais utilizados, carga do sistema, quantidade de usuários
simultâneos, memória disponível e etc..
Estas informações, relativas ao ambiente no qual a aplicação está sendo
executada, são utilizadas pela JVM para fazer otimizações em tempo de execução e havendo necessidade o código que está sen-
do interpretado é transformado em instruções nativas do sistema operacional (código de máquina) em um processo de compilação
dinâmica.
1
CONHECIMENTOS DE INFORMÁTICA
2
CONHECIMENTOS DE INFORMÁTICA
Instale o JDK
Siga estas etapas para fazer o download e instalar o JDK:
Navegue para Downloads do Java SE e clique na caixa Plataforma Java (JDK) para exibir a página de download da última versão
do JDK.
Concorde com os termos da licença.
Em Java SE Development Kit, escolha o download que corresponda a seu sistema operacional e arquitetura de chip.
Windows
Salve o arquivo em sua unidade de disco rígido quando solicitado.
Quando o download estiver concluído, execute o programa de instalação. Instale o JDK em sua unidade de disco rígido em um
local fácil de lembrar, como C:\home\Java\jdk1.8.0_60. É uma boa ideia codificar o número de atualização no nome do diretório de
instalação escolhido.
Tipos de Dados
Observe a tabela a seguir, sobre os tipos de dados. Esses tipos são conhecidos como Tipos de Dados Primitivos. Como podemos
observar a linguagem Java oferece diversos tipos de dados com os quais podemos trabalhar. Há basicamente duas categorias em que
se encaixam os tipos de dados: tipos primitivos e tipos de referências. Os tipos primitivos correspondem a dados mais simples ou
escalares, enquanto os tipos de referências consistem em arrays, classes e interfaces. Estes serão vistos nos módulos subsequentes.
Vamos a uma descrição curta sobre cada um dos tipos:
Controle de Fluxo
O controle de fluxo é efetuado através do uso de condicionais, que são estruturas que modificam o fluxo de execução normal do
programa.
3
CONHECIMENTOS DE INFORMÁTICA
if-else
Sintaxe:
Quando existe apenas uma instrução após o if não precisamos abrir um bloco com as chaves. Se existirem mais instruções a aber-
tura do bloco é necessária.
Se houver mais de uma condição usa-se o else como podemos observar na segunda coluna acima.
Veja o exemplo abaixo e comente o mesmo na lista de discussão.
while e do-while
No caso do while as instruções serão executadas enquanto a expressão booleana for verdadeira.
O do-while executa a instrução pelo menos uma vez e continua executando enquanto a expressão booleana for verdadeira.
Observe os exemplos seguintes.
4
CONHECIMENTOS DE INFORMÁTICA
for
Sintaxe:
O for pode conter apenas uma instrução no seu corpo. Neste caso não é necessário abrir um bloco. Isso é assim porque o for já
implementa alguns comandos na sua assinatura, ou seja, no seu cabeçalho, como a inicialização da variável e o passo da repetição, ou
seja, o incremento/decremento da variável.
Veja os exemplos:
break e continue
Você deve ter observado que quando fizemos os laços infinitos com o while e com o for utilizamos um comando break. Para que
ele serve? Este comando serve para “quebrar” o laço, ou seja, ele fará com que o laço seja interrompido.
O comando continue também influi dentro de um laço. Mas ele não vai quebrar o laço. Ele interrompe aquela iteração do laço e
reinicia o bloco com a próxima iteração.
5
CONHECIMENTOS DE INFORMÁTICA
switch (case)
Sintaxe:
Entrada de Dados
Como eu faço para ler algo que o usuário digita no prompt?
Observe o programa abaixo:
Instale o Eclipse
Para fazer o download e instalar o Eclipse, siga estas etapas:
Navegue até Página de downloads do Eclipse IDE.
Clique em Eclipse IDE for Java Developers.
Em Links de download à direita, escolha sua plataforma (o site já pode ter encontrado seu tipo de sistema operacional).
Clique no espelho do qual deseja fazer download; depois salve o arquivo em sua unidade de disco rígido.
Extraia o conteúdo do arquivo .zip em um local em sua unidade de disco rígido do qual se lembre facilmente (como C:\home\
eclipse no Windows ou ~/home/eclipse em Mac ou Linux).
Configure o Eclipse
O Eclipse IDE opera sobre o JDK como um conceito de abstração útil, mas ainda precisa acessar o JDK e suas várias ferramentas.
Antes de poder usar o Eclipse para escrever código Java, é necessário informar a ele onde o JDK está localizado.
Para configurar seu ambiente de desenvolvimento Eclipse:
Ative o Eclipse clicando duas vezes em eclipse.exe (ou no executável equivalente em sua plataforma).
O Ativador de área de trabalho é aberto, permitindo escolher uma pasta raiz para seus projetos Eclipse. Use uma pasta da qual
possa se lembrar facilmente, como C:\home\workspace em Windows ou ~/home/workspace em Mac ou Linux.
Feche a janela Bem-vindo ao Eclipse.
Clique em Janela > Preferências > Java > JREs instalados. Figura 1 mostra esta seleção destacada na janela de configuração do
Eclipse para o JRE.
6
CONHECIMENTOS DE INFORMÁTICA
O Eclipse aponta para um JRE instalado. Você deve usar o JRE que transferiu por download com o JDK. Se o Eclipse não detectar
automaticamente o JDK instalado, clique em Incluir... e, na próxima caixa de diálogo, clique em VM padrão e clique em Avançar.
Especifique o diretório inicial do JDK (como C:\home\jdk1.8.0_60 em Windows) e clique em Concluir.
Confirme se o JDK que você deseja usar está selecionado e clique em OK.
O Eclipse está agora configurado e pronto para você criar projetos e compilar e executar código Java. A próxima seção o familiariza
com Eclipse.
Introdução ao Eclipse
O Eclipse é mais que um IDE; ele é um ecossistema de desenvolvimento completo. Esta seção é uma breve introdução prática para
usar o Eclipse para desenvolvimento Java.
A unidade primária de organização no Eclipse é a área de trabalho. Uma área de trabalho contém todos os seus projetos.
Uma perspectiva é uma forma de consulta a cada projeto (consequentemente o nome) e dentro de uma perspectiva há uma ou
mais visualizações.
7
CONHECIMENTOS DE INFORMÁTICA
8
CONHECIMENTOS DE INFORMÁTICA
Na plataforma Java, é possível usar modificadores de aces- dades diferenciam a linguagem Java das linguagens puramen-
so (que eu apresento posteriormente no tutorial) para variar a te orientadas a objetos, como Smalltalk. Primeiro, a linguagem
natureza dos relacionamentos de objetos de público para priva- Java é uma mistura de objetos e tipos primitivos. Segundo, com
do. O acesso público é muito aberto, considerando que acesso Java, é possível escrever código que expõe os trabalhos internos
privado significa que os atributos de objetos estão acessíveis de um objeto a qualquer outro objeto que o usa.
apenas dentro do próprio objeto. A linguagem Java fornece a você as ferramentas necessárias
O limite público/privado impinge o princípio de encapsula- para seguir os princípios de som do OOP e produzir código orien-
mento orientado a objetos. Na plataforma Java, é possível variar tado a objetos de som. Como Java não é puramente orientada a
a intensidade desse limite em uma base de objeto por objeto, objetos, é necessário ter alguma disciplina sobre como escrever
dependendo de um sistema de confiança. O encapsulamento é o código — A linguagem não o força a fazer a tarefa corretamen-
um recurso poderoso da linguagem Java. te, portanto, você deve fazê-la por si mesmo.
- Herança Seria impossível apresentar toda a sintaxe da linguagem
Na programação estruturada, é comum copiar uma estru- Java em um único tutorial. O lembrete da Parte 1 foca nos fun-
tura, nomeá-la e incluir ou modificar os atributos que torna a damentos da linguagem, deixando você com conhecimento sufi-
nova entidade (como um registro Account ) diferente de sua ciente e prática para escrever programas simples. OOP trata ex-
fonte original. Com o tempo, essa abordagem gera uma gran- clusivamente de objetos, portanto, esta seção começa com dois
de questão de código duplicado, o que pode criar problemas de tópicos especialmente relacionados a como a linguagem Java os
manutenção. manipula: palavras reservadas e a estrutura de um objeto Java.
O OOP apresenta o conceito de herança, pelo qual classes
especializadas — sem código adicional — podem “copiar” os Palavras reservadas
atributos e o comportamento de classes de origem na qual elas Como qualquer linguagem de programação, a linguagem
se especializam. Se alguns desses atributos ou comportamentos Java designa determinadas palavras que o compilador reconhe-
precisarem mudar, você os substitui. O único código-fonte a ser ce como especiais. Por essa razão, você não pode usá-las para
mudado é o código necessário para criar classes especializadas. nomear suas construções Java. A lista de palavras reservadas é
O objeto de origem é chamado de pai e a nova especialização é surpreendentemente curta:
chamada de filho. abstract
Herança em funcionamento assert
Suponha que você esteja programando um aplicativo de re- boolean
cursos humanos e queira usar a classe Person como base (cha- break
mada de superclasse) para uma nova classe chamada Employee. byte
Sendo filha de Person, Employee teria todos os atributos de uma case
classe Person , junto com aqueles adicionais, como: catch
Número de identificação de contribuinte char
Número de matrícula class
Salário const
A herança facilita a criação da nova classe Employee sem a continue
necessidade de copiar todo o código Person manualmente. default
do
Polimorfismo double
O polimorfismo é um conceito mais difícil de compreender else
do que o encapsulamento e a herança. Em essência, isso signi- enum
fica que objetos que pertencem à mesma ramificação de uma extends
herança, quando enviam a mesma mensagem (ou seja, quando final
efetuam a mesma ação), podem manifestar esse comportamen- finally
to de forma diferente. float
Para entender como o polimorfismo se aplica a um contex- para
to de aplicativo de negócios, retorne ao exemplo de Person . goto
Lembre-se de dizer a Person para formatar seus atributos em if
uma String? O polimorfismo torna possível que Person repre- implements
sente seus atributos em uma variedade de formas, dependendo import
do tipo que Person é. instanceof
O polimorfismo é um dos conceitos mais complexos que int
você encontrará no OOP na plataforma Java e está além do es- interface
copo de um tutorial introdutório. long
native
Introdução à linguagem Java new
A linguagem Java: não puramente orientada a objetos package
Com a linguagem Java, é possível criar objetos de primeira private
classe, mas nem tudo na linguagem é um objeto. Duas quali- protected
9
CONHECIMENTOS DE INFORMÁTICA
public
return
short
static
strictfp
super
switch
synchronized
this
throw
throws
transient
try
void
volatile
while
Observe que true, falsee null são tecnicamente palavras não reservadas. Embora sejam literais, eu as inclui nesta lista porque você
não pode usá-las para nomear construções Java.
Uma vantagem da programação com um IDE é que ela pode usar a coloração de sintaxe para palavras reservadas, como eu mostro
posteriormente neste tutorial.
Listagem 1 contém vários tipos de construções, que eu diferenciei com a formatação de fonte. As construções mostradas em
negrito (que você localizará na lista de palavras reservadas) são literais; em qualquer definição de objeto, elas devem ser exatamente
o que estão na listagem. Os nomes fornecidos para outras construções descrevem os conceitos que eles representam. Eu expliquei
todas as construções detalhadamente no restante desta seção.
Observação: Na Listagem 1 e em alguns outros exemplos de códigos nesta seção, colchetes indicam que as construções dentro
deles não são requeridas. Os colchetes (diferente de { e }) não fazem parte da sintaxe Java.
Comentários no código
Observe que Listagem 1 também inclui algumas linhas de comentário:
10
CONHECIMENTOS DE INFORMÁTICA
Com informações apenas sobre cada linguagem de programação, os programadores podem incluir comentários para ajudar a do-
cumentar o código. A sintaxe Java permite comentários de única linha e multilinhas. Um comentário de única linha deve estar contido
em uma linha, embora seja possível usar comentários de única linha adjacentes para formar um bloco. Um comentário de multilinhas
começa com /*, deve terminar com */ e pode abranger qualquer número de linhas.
Empacotando classes
Com a linguagem Java, é possível escolher os nomes de suas classes, como Account, Person ou LizardMan. Às vezes, é possível
terminar usando o mesmo nome para expressar dois conceitos um pouco diferentes. Esta situação é chamada de colisão de nomes e
ocorre com frequência. A linguagem Java usa pacotes para resolver esses conflitos.
Um pacote Java é um mecanismo que fornece um namespace— de uma área dentro da qual nomes são exclusivos, mas fora dela
eles podem não ser. Para identificar uma construção exclusivamente, é necessário qualificá-la incluindo seu namespace.
Pacotes também fornecem a você uma boa forma de criar aplicativos mais complexos com unidades de funcionalidade discretas.
Definição de pacote
Para definir um pacote, você usa a palavra-chave package seguida de um nome de pacote legal, terminando com um ponto e
vírgula. Geralmente os nomes de pacotes são separados por pontos e seguem este esquema padrão de fato :
1 package orgType.orgName.appName.compName;
Esta definição de pacote é dividida como a seguir:
orgType é o tipo de organização, como com, orgou net.
orgName é o nome do domínio da organização, como makotojava, oracleou ibm.
appName é o nome do aplicativo, abreviado.
compName é o nome do componente.
A linguagem Java não força você a seguir esta convenção de pacote. De fato, não é necessário especificar um pacote, nesse caso,
todas as suas classes deverão ter nomes exclusivos e residirão no pacote padrão. Como melhor prática, eu recomendo que você defina
todas as suas classes Java em pacotes nomeados conforme descrito aqui. Você segue essa convenção em todo este tutorial.
Instruções de importação
O Eclipse simplifica as importações
Ao escrever código no editor de Eclipse, você pode digitar o nome de uma classe que deseja usar, seguido por Ctrl+Shift+O. O
Eclipse calcula quais importações você precisa e as inclui automaticamente. Se o Eclipse localizar duas classes com o mesmo nome,
ele exibirá uma caixa de diálogo perguntando em qual classe você deseja incluir importações.
Próxima à definição de classe (referindo-se novamente à Listagem 1) está a instrução de importação. Uma instrução de importa-
ção informa ao compilador Java onde localizar classes às quais você fez referência dentro de seu código. Qualquer classe não trivial usa
outras classes para alguma funcionalidade e a instrução de importação é como você informa ao compilador Java sobre elas.
Uma instrução de importação geralmente assemelha-se ao seguinte:
1 import ClassNameToImport;
Você especifica a palavra-chave import , seguida pela classe que deseja importar, seguida por um ponto e vírgula. O nome da
classe deve ser completo, o que significa que ele deve incluir seu pacote.
Para importar todas as classes dentro de um pacote, é possível inserir .* após o nome do pacote. Por exemplo, essa instrução
importa cada classe no pacote com.makotojava :
1 import com.makotojava.*;
A importação de um pacote integral pode tornar seu código menos legível, portanto, eu recomendo importar apenas as classes
necessárias, usando seus nomes completos.
Declaração de classe
Para definir um objeto na linguagem Java, você deve declarar uma classe. Novamente, pense em uma classe como um modelo
para um objeto, como um cortador de cookie.
11
CONHECIMENTOS DE INFORMÁTICA
Um accessSpecifier da classe pode ter diversos valores, uma instância de uma classe. Outros tipos de métodos podem
mas ele geralmente é public. Você logo consulta outros valores ser usados virtualmente para qualquer comportamento do apli-
de accessSpecifier . cativo.
A definição de classe na Listagem 1 mostra a forma de defi-
Convenções de nomenclatura de classe nir a estrutura de um método, que inclui elementos como:
É possível nomear classes basicamente como você realmen-
te deseja, mas a convenção é usar camel case: comece com uma accessSpecifier
letra maiúscula, altere para letras maiúsculas concatenada e tor- returnType
ne todas as outras letras minúsculas. Nomes de classes devem methodName
conter apenas letras e números. A aderência a estas diretrizes argumentList
garante que seu código seja mais acessível a outros desenvolve- A combinação desses elementos estruturais em uma defini-
dores que estão seguindo as mesmas convenções. ção de método é chamada de assinatura de método.
Classes podem ter dois tipos de membros: variáveis e mé-
todos. Depois, você consulta mais detalhadamente os dois tipos de
- Variáveis métodos, começando com construtores.
Os valores de variáveis de uma classe específica distinguem
cada instância daquela classe e definem seu estado. Esses valo- Métodos construtores
res geralmente são referidos como variáveis de instância. Uma Você usa construtores para especificar como instanciar uma
variável possui: classe. Listagem 1 mostra a sintaxe de declaração do construtor
Um accessSpecifier de forma abstrata; novamente:
Um dataType
Um variableName
Opcionalmente, um initialValue
Os valores possíveis de accessSpecifier são:
- Métodos
Os métodos de uma classe definem seu comportamento.
Métodos se enquadram em duas categorias principais:
construtores ou todos os outros métodos, dos quais existem
muitos tipos. Um método construtor é usado apenas para criar
12
CONHECIMENTOS DE INFORMÁTICA
Observe o uso da palavra-chave this ao fazer designações de variáveis na Listagem 3. A palavra-chave this é uma abreviação Java
para “this object,” e você deve usá-la ao fazer referência para duas variáveis com o mesmo nome. Neste caso, age é um parâmetro de
construtor e uma variável de classe, portanto, a palava-chave this ajuda o compilador a desambiguar a referência.
O objeto Person está ficando mais interessante, mas precisa de mais comportamento. E, para isso, você precisa de mais métodos.
Outros métodos
Um construtor é um tipo particular de método com uma função específica. Similarmente, muitos outros tipos de métodos exe-
cutam funções específicas em programas Java. A exploração de outros tipos de métodos começa nesta seção e continua pelo tutorial.
De volta à Listagem 1,
Outros métodos assemelham-se muito aos construtores, com algumas exceções. Primeiro, é possível nomear outros métodos
como deseja (embora, claro, determinadas regras se apliquem). Eu recomendo as seguintes convenções:
13
CONHECIMENTOS DE INFORMÁTICA
A sintaxe para chamar um método estático em uma classe é diferente da sintaxe usada para chamar um método em um objeto.
Você também usa o nome da classe que contém o método estático, conforme mostrado nesta chamada:
Logger l = Logger.getLogger(“NewLogger”);
Neste exemplo, Logger é o nome da classe e getLogger(...) é o nome do método. Assim, para chamar um método estático, não é
necessário uma instância de objeto, apenas o nome da classe.
Linha:
1. Declaração da classe pública de nome Teste;
2. Início do corpo da classe;
3. Declaração do método main (público, estático, sem retorno e parametrizado);
4. Início do corpo do método;
5. Comando para impressão na tela; 6. Fechamento do corpo do método main;
7. Fechamento da classe.
Método main
Antes de iniciar o método main, vamos abrir um breve parênteses para introduzir a forma como comentamos o código em Java.
Basicamente existem duas formas:
1. // texto: Esta é a forma de comentar apenas uma linha de código
2. /* texto */: Esta declaração é utilizada quando desejamos comentar mais de uma linha de código
Vejamos a classe anterior agora com comentários:
14
CONHECIMENTOS DE INFORMÁTICA
Fonte: Vim
https://www.ibm.com/developerworks/br/java/tutorials/j- Tem em todo GNU/Linux e é altamente configurável. Uma
-introtojava1/index.html forma de transformar o vim em uma IDE Python completa é se-
http://t2ti.com/curso/video/java/basico/java_starter.php guindo o tutorial em vim a ide para programadores python.
Python Emacs
Python é uma linguagem poderosa e divertida. Com ela Um editor (ou um sistema operacional com capacidades de
você pode fazer diversas coisas como: edição?!) poderoso e amplamente extensível em eLisp (um dia-
- Construção de sistemas Web com Django, Flask, Pyramid, leto Lisp). Vencida a curva de aprendizado (considerada difícil por
etc. algumas pessoas) é possível torná-lo em uma IDE Python pode-
- Análise de dados, Inteligência Artificial, Machine Learning rosíssima. O python-mode.el prove diversas funcionalidades para
e etc com Numpy, Pandas, Matplotlib, etc edição, debug e desenvolvimento de programas em Python e o
- Construção de aplicativos com Kivy e Pybee Ropemacs funcionalidades de refactoring. Mais “Emacs Goodies”
- Construção de sistemas desktop com Tkinter, WxPython, na própria Wiki em PythonComEmacs.
etc.
Existem diversos cursos onlines onde você pode encontrar SciTE
material. São cursos que você consegue aprender o básico da Excelente editor de texto voltado para programação. Suporta
programação com Python como tipos de variáveis, como escre- uma grande lista de linguagens, pode rodar e debugar os progra-
ver funções, etc. mas, é fácil de usar e é facilmente configurável. Disponível para
Devo usar o Interpretador do Python puro? Depende da Windows e X (ambiente gráfico dos UNIXes).
sua preferência. Ele é uma ferramenta poderosa. Mas boa parte
de profissionais usa o interpretador ipython pois este contém jext
mais recursos visuais e de auxílio (como colorir as mensagens Muito bom editor! Suporta muitas linguagens e possui plu-
de erro). gins para Python (executar, por exemplo).
Que IDE usar? Depende muito da sua preferência. Você
pode usar qualquer editor de texto padrão, como o Notepad++, joe
Gedit ou Sublime até o VI puro. Não existe padrão. Para quem Editor de texto para dinossauros :-) Utiliza os mesmos coman-
vem do MATLAB ou R, o Spyder pode ser muito útil. O Pycharm dos do WordStar, SideKick, etc. Disponivel via apt-get e emerge.
é outro IDE muito utilizado na comunidade.
Aonde eu encontro os módulos para utilizar no meu pro- sublime
jeto? Alguns módulos já vem por padrão no Python puro, por Editor de texto proprietário e pago, porém disponibiliza uma
exemplo o módulo matemático. Outros, devem ser baixados de versão beta para uso sem custo. Atualmente na versão 3, a com-
um repositório, como é o caso do Django ou Numpy. Hoje, mais pra de sua licensa permite o uso de ambas as versão existentes.
de 107 mil projetos estão cadastros no repositório oficial. Caso
você não ache o que procura, há muito incentivo para que você PS Pad
construa um módulo novo e inclua no repositório! Grátis (freeware) para Windows. Colore código Python e su-
Se você não tem a menor ideia mesmo de que módulo você porta edição com vários encodings. Tem também utilitários para
precise, dê uma procurada no Google e StackOverflow. De certo HTML/XML, tabela ASCII e conversão DOS/UNIX. O Hex view que-
alguém já fez algo parecido com o que você precisa! bra um galho na hora de procurar erros em arquivos com enco-
O que são VirtualEnvs? O ideal para projetos Python é que ding incorreto.
você isole as bibliotecas que você usa, para evitar conflitos entre
projetos. Isso é uma boa prática e pode evitar dores de cabeça IDEs gratuitas
futuras. Idle
A IDLE vem com o Python. É feita com Tkinter e se você se
Ferramentas de Desenvolvimento acostumar pode lhe ajudar bastante. É bem simples de ser usada
Veja aqui uma listagem de ferramentas para te auxiliar no também.
desenvolvimento python:
PyCharm community
Editores de texto É desenvolvido pela companhia JetBrains. Esta edição é libe-
Atom rada sob a licença da Apache. É multiplataforma. Essa IDE fornece
Atom é open source e feito pelo Github e com suporte para análise de código, um depurador gráfico, um testador de unidade
várias linguagens, dentre elas o Python. É integrado ao Git e Gi- integrado, integração com sistemas de controle de versão (VC-
thub, sendo possível mexer com o Git e Github através da inter- Ses), e suporta desenvolvimento de web com Django.
face do editor de texto. Ótimo para iniciantes.
Komodo-Edit
Visual Studio Code Também desenvolvido pela ActiveState o Komodo-Edit é uma
O VSCode é open source e free, desenvolvido pela Micro- excelente opção de editor, bastante rico em recursos tais como
soft. Suporta inúmeras linguagens de programação. autocomplete, calltips, multi-language file support, syntax colo-
ring, syntax checking, Vi emulation, Emacs key bindings e outros.
15
CONHECIMENTOS DE INFORMÁTICA
NetBeans DrPython
Analogamente ao Eclipse, o NetBeans também oferece su- Usa wxPython. Criado para ser utilizado em escolas.
porte ao Python através de plugins.
IPython
NINJA-IDE Um shell com muitos recursos, através das comandos “má-
Do acrônimo recursivo: “Ninja-IDE Is Not Just Another IDE”, gicos”. Bastante útil, modo texto apenas. Você pode usá-lo como
é uma IDE multi-plataforma de desenvolvimento integrado. um shell “acoplado” aos seus programas também.
NINJA-IDE é executado em Linux/X11, Mac OS X e sistemas ope-
racionais de desktop Windows, e permite aos desenvolvedores KDevelop
criarem aplicações para diversas finalidades, utilizando todas as IDE livre para GNU/Linux e outros *nixes-like.
ferramentas e utilitários de NINJA-IDE, tornando a tarefa de es-
crever software mais fácil e agradável. PythonWin
IDE que acompanha as extensões Win32 para Python
SPE (PyWin32). Oferece auto-completion e debugging, e tem recur-
Desenvolvido com wxPython é livre e tem algumas funcio- sos extras voltados à programação Windows (coletor de exce-
nalidades interessantes. Tem wxGlade como plugin para dese- ções para componentes COM criados, COM browser, geração de
nho de telas gráficas. arquivos .py com informações sobre objetos COM (static dispa-
tch), etc.).
Spyder 2
Spyder (também conhecido como Pydee) é um poderoso PythonCard
ambiente de desenvolvimento interativo para a linguagem Py- É uma GUI para construção de aplicações multiplataforma
thon com edição avançada, testes interativos, recursos de depu- em Windows, Mac OS X e Linux, usando a linguagem de progra-
ração e introspecção mação Python. O lema de PythonCard é “coisas simples devem
ser simples de fazer e coisas complexas devem devem ser possi-
Pida veis”. É a ferramenta para quem deseja desenvolver aplicações
É um IDE desenvolvido com PyGTK e visa a integração com o gráficas de maneira rápida e fácil, com um mínimo de esforço
Vim. Oferece recursos como project management, source code e codificação; simples mas poderoso. Utiliza a biblioteca wxPy-
management, code browser, code refactor, profiler, debugger thon, mas separa a lógica do código da apresentação utilizando
entre outros. um tipo de arquivo de definição de recursos. (RômuloCampelo
- 08/04/2005)
Eric4
É feito com a biblioteca QT e se integra às ferramentas da PyScripter
QT e com outros softwares como o Bicycle Repair Man (refacto- Acompanha o conjunto de componentes python para Del-
ring) e TabNanny (verificação de indentações). O autor dos bin- phi (embora não requira que o Delphi esteja instalado para fun-
dings python para o Qt4, lançou um instalador para Windows cionar). Suporta debugging, auto-completion, navegação no có-
que contém as bibliotecas e os programas de desenvolvimento digo entre outros recursos.
do Qt4, o pyqwt e o Eric4, o que facilita bastante a instalação no
Windows. PyPE
Não se trata de uma IDE propriamente dita, mas é um editor
Boa-Constructor Python, leve, funcional e rico em recursos interessantes e mul-
Essa é a “única” IDE ao estilo RAD do Delphi/VB. Funcio- tiplataforma. Além disso, é desenvolvido utilizando wxPython.
na com o wxPython na versão 2.4 e acho que é a mais fácil de
ser usada apesar de não promover boas práticas de desenvolvi- Rodeo
mento como a de separar lógica de negócios de apresentação Rodeo é uma IDE leve e intuitiva voltada para análise de da-
(telas). As outras IDEs não possuem mecanismos para desenho dos. Com suporte a Jupyter Notebook, navegador de arquivos,
de telas gráficas mas podem usar ferramentas como Glade e/ busca de packages e visualização de gráficos, além de suporte a
ou wxGlade. comandos VIM.
16
CONHECIMENTOS DE INFORMÁTICA
17
CONHECIMENTOS DE INFORMÁTICA
de tabelas usando o poderoso operador ‘%’, que em Python não Seu primeiro programa interativo
tem nada a ver com porcentagens. Para ver como ele funciona, Até agora, todos os programas que mostramos não são inte-
vamos criar uma string como esta: rativos, ou seja, uma vez rodando, eles não aceitam a entrada de
dados de um usuário ou do sistema. Programas não interativos
>>> msg = ‘um dólar vale %f real.’ são usados em muitas situações comuns. O programa que emi-
>>> te os cheques da folha de pagamentos de uma grande empresa
Agora vamos ver o que acontece quando chamamos a va- provavelmente não é interativo, mas recebe todos os dados ne-
riável msg: cessários em um único lote, antes de sua execução. Mas os pro-
gramas mais interessantes, como um processador de textos, um
>>> msg game ou o piloto automático de um avião são todos interativos.
‘um d\363lar vale %f real.’ Esse é o tipo de programa que passaremos a desenvolver agora.
>>> Nosso passeio pela ASCII art não teve apenas objetivos es-
Python representa varíaveis string dessa forma: entre aspas téticos. Quisemos mostrar como rodar um programa em Python
simples, e trocando os acentos por códigos especiais (estamos a partir da linha de comando porque, a partir de agora, vamos
falando do código ASCII em notação octal, algo que explicare- usar um comando da linguagem Python que não funciona na
mos depois). Se você quiser exibir o conteúdo de msg de forma atual versão do IDLE. O comando chama-se “raw_input”, e sua
mais apresentável, use o comando print: função é receber uma entrada de dados do usuário (input quer
dizer entrada de dados; cuidado porque você deve ter sido con-
>>> print msg dicionado a acreditar que “antes de P e B sempre vem a letra M”,
um dólar vale %f real. mas input é inglês, e se escreve com N mesmo; eu perdi uma
>>> hora com isso quando aprendia BASIC).
OK, é hora de explicar porque colocamos esse estranho %f Vejamos um primeiro exemplo. Observe que não estamos
dentro da mensagem. Trata-se de um marcador de posição para acentuando o texto no programa porque o DOS não reproduz
sinalizar onde Python deverá inserir um número quando quiser- corretamente os acentos do Windows, e precisamos do DOS
mos imprimir a mensagem com o valor da cotação. Experimente para testar esse programa. Deve haver uma forma de convencer
digitar o seguinte: o DOS a exibir os acentos corretos do Windows, mas ainda não
descobrimos como.
>>> d = 1.902 De qualquer forma, isso não quer dizer que não dá para
>>> print msg % d fazer programas com acentuação correta em Python; quando
um dólar vale 1.902000 real. aprendermos a criar softwares gráficos esse problema desapa-
>>> recerá.
Veja o que aconteceu: Python substituiu a marca %f pelo Digite o programinha abaixo, salve como despdom1.py e
valor da variável d. É assim que funciona: a partir de uma string execute na linha de comando.
com marcas de posição e um ou mais valores, o operador % pro-
duz uma nova string com os valores inseridos nas respectivas Esconder número das linhas
posições. Veja agora um exemplo com dois valores: 1 # despdom1.py - Calculadora de despesas domesticas
2
>>> msg2 = ‘Um dólar vale %f real e um real vale %f dólar.’ 3 print ‘Balanco de despesas domesticas’
>>> print msg2 % (d, 1/d) 4 ana = raw_input(‘Quanto gastou Ana? ‘)
Um dólar vale 1.902000 real e um real vale 0.525762 dólar. 5 bia = raw_input(‘Quanto gastou Bia? ‘)
>>> 6 total = float(ana) + float(bia)
Note que os valores d e 1/d estão entre parênteses. Isso é 7 print ‘Total de gastos = R$ %s.’ % total
obrigatório quando queremos passar mais de um valor para o 8 media = total/2
operador % (uma sequência de valores entre parênteses é um 9 print ‘Gastos por pessoa = R$ %s.’ % media
“tuplo”, um tipo especial de lista que explicaremos em um outro Os números que aparecem à esquerda na listagem acima
capítulo). não fazem parte do programa e não devem ser digitados. Eles
estão aí para facilitar a explicação que vem logo a seguir.
O símbolo %f serve para informar a Python que o valor a Antes de esmiuçar o programa, vale a pena executá-lo para
ser inserido naquela posição é um float. Se você quiser limitar o ver o que acontece. Você será solicitado a digitar um valor para
número de casas após o ponto decimal, basta usar um formato Ana e outro para Bia. Note que os valores deverão ser apenas
como esse: números. Se quiser usar centavos, use o ponto decimal em vez
de vírgula, como já vínhamos fazendo antes. E nada de $ ou R$.
>>> d = 1.685 Vejamos um exemplo de execução:
>>> ‘%.2f’ % d
‘1.69’ C:\PythonXX\Curso>..\python despdom1.py
>>> Balanco de despesas domesticas
Após o marcador %, a indicação .2 determina que devem
aparecer duas casas decimais após o ponto. Note que o resulta- Quanto gastou Ana? 10
do é arredondado: 1.685 virou 1.69. Quanto gastou Bia? 20
18
CONHECIMENTOS DE INFORMÁTICA
19
CONHECIMENTOS DE INFORMÁTICA
20
CONHECIMENTOS DE INFORMÁTICA
ro de repetições é sempre conhecido de antemão: o bloco será Aqui a lógica é um pouco diferente: na linha 6 o loop while
executado uma vez para cada item da lista. O comando while tem como condição o número 1. Como o número 1 é constante,
serve para todos os outros casos de iteração, quando o número e é considerado “verdadeiro” pelo interpretador Python, o loop
de repetições é indefinido. Nossa somadora infinita é um exem- das linhas 6 a 9 seria repetido infinitas vezes, em tese. Na práti-
plo típico: a iteração que solicita valores e os totaliza poderá ser ca, a linha 8 verifica se o valor de n é zero. Em caso afirmativo, o
repetida qualquer número de vezes, dependendo apenas da sua comando “break” é acionado. Isso faz com que o loop while seja
vontade. interrompido imediatamente, e a execução do programa passa
Agora vamos analisar de perto duas circunstâncias espe- diretamente para a próxima linha após o bloco (linha 10 em nos-
ciais. Rode o programa e digite 0 (zero) como primeiro valor. Nas so exemplo).
linhas 5 e 6 o programa armazenará o zero nas variáveis n e to- Essa forma de codificar, usando loops infinitos com breaks,
tal. A seguir, na linha 7, o comando while verificará a condição não está de acordo com a Programação Estruturada, a filosofia
n != 0. Nesse caso, a condição será falsa. Então o bloco subordi- dominante entre os programadores nos anos 70. O problema
nado ao while não será executado nenhuma vez, e o programa é que não fica imediatamente aparente qual é a condição de
passará direto para a linha 10, mostrando o total. terminação do loop e alguns professores de computação podem
Outro momento interessante ocorre quando o primeiro va- descontar pontos por isso. Mas em se tratando de um bloco de
lor digitado não é zero, e a iteração é executada. Digamos que o apenas três linhas, não acho que isso seja um grande problema.
usuário digitou [1][Enter], [2][Enter] e [0][Enter]. O zero digitado A vantagem é que agora a função de leitura de dados ocorre em
pelo usuário será lido e armazenado em n na linha 8, como já apenas um lugar no programa (na linha 7) e não em dois, como
vimos. Na linha 9 o valor de n é somado ao total. Nessa iteração na versão anterior (linhas 5 e 8 de somadora1.py). Isso simpli-
o valor de n é zero, portanto estamos somando zero ao total, ficará nossa próxima alteração. Além disso, não acontece mais
uma operação inofensiva. Só após efetuar essa soma inútil, o a totalização inútil da linha 9, somando zero ao total na saída,
programa retornará ao início do bloco e verificará que a condi- porque o comando break da linha 8 faz o programa passar direto
ção do while não é mais verdadeira, pois agora nosso n é igual a para a linha 10.
zero. É importante perceber que, apesar de o valor de n passar a Uma forma mais natural de codificar esse loop seria usar
ser zero na linha 8, a execução continua até o fim do bloco, pas- comandos com o do/while ou repeat/until existentes em lin-
sando pela linha 9, para só então ocorrer o retorno ao início do guagens como C/C++/Java e Pascal/Delphi; nessas estruturas de
bloco e a verificação da condição de continuidade da repetição. controle, o teste é feito no fim do loop, garantindo a execução
Quando estudamos as condições lógicas no final do capítu- do bloco ao menos uma vez. É o que precisamos fazer aqui, mas
lo anterior, aprendemos que Python considera o valor 0 (zero) Python não possui um comando de loop especial para essa si-
como sinônimo de “falso”, e valores não-zero como “verdadei- tuação.
ros”. Programadores experientes em Python costumam tirar Fonte:
proveito desse fato para abreviar as condições que colocam em https://python.org.br
seus ifs e whiles. Em nosso programa somadora1.py, a linha 7: https://wiki.python.org.br/AprendaProgramar
21
CONHECIMENTOS DE INFORMÁTICA
tablets são scripts. Existem scripts grátis e pagos. A tendência O lado do servidor do JavaScript estende-se do núcleo da
é de que quanto mais complexo for para criar um script, maior linguagem, fornecendo objetos relevantes à execução do JavaS-
será seu custo. Mas existem excelentes scripts grátis no mercado cript em um servidor. Por exemplo, as extensões do lado do ser-
desenvolvido por profissionais solidários. vidor permitem que uma aplicação se comunique com um ban-
co de dados, garantindo a continuidade de informações de uma
Diferença entre Java script, action script e Shell script? chamada para a outra da aplicação, ou executar manipulações
Java script é usado em navegadores (chrome, internet ex- de arquivos em um servidor.
plore, Mozilla e outros). Java script é uma linguagem de pro-
gramação que tem como objetivo criar scripts para serem exe- JavaScript e Java
cutados no navegador do usuário. Quando o usuário clica em JavaScript e Java são similares em algumas coisas, mas são
alguma opção em seu navegador, são os scripts ,que estão no diferentes em outras. O JavaScript assemelha-se ao Java, porém
navegador, que faz a opção funcionar. O action script é pratica- não possui tipagem estática e checagem rigída de tipos como o
mente a mesma coisa do Java script, a diferença é que o action Java. JavaScript segue a sintaxe básica do Java, convenções de
script é uma linguagem de programação do adobe flash. Action nomenclatura e construções de controle de fluxo, razões pelas
script seve para criar animações em flash. Quando você vê uma quais esta linguagem foi renomeada de LiveScript para JavaS-
animação que faz com que a página do site demore a carregar, cript.
é provável que está animação esteja em flash. Com Java script Em contraste com o sistema em tempo de compilação das
você consegue criar animações também, porém com action classes construídas por declarações no Java, JavaScript suporta
script você tem muito mais recursos, pois a linguagem foi desen- um sistema em tempo de execução com base em um pequeno
volvida para este fim. número de tipos de dados representando valores numéricos,
Já o Shell script é uma linguagem de programação para in- booleanos, e strings. JavaScript tem um modelo de objeto ba-
teragir com o sistema operacional. Shell script é muito usado no seado em protótipo em vez do modelo, mais comum, de objeto
Linux para a realização das mais diversas atividades administra- baseado em classes. O modelo baseado em protótipo fornece
tivas e de manutenção do sistema. O Shell é um interpretador de herança dinâmica; isto é, o que é herdado pode variar para ob-
comandos digitados pelo usuário. Você tecla um comando e o jetos individuais. JavaScript também suporta funções sem quais-
Shell interpreta e executa para realizar a tarefa desejada. O Shell quer requisitos especiais declarativos. As funções podem ser
serve para automatizar rotinas feitas no sistema, como fazer ba- propriedades de objetos, executando como métodos.
ckup dos arquivos, documentos e sites do servidor. Para fazer JavaScript é uma linguagem mais livre em comparação a
formatações de HD, pendrive, pra instalar programas via linha Java. Você não tem de declarar todas as variáveis, classes e mé-
de comando, para pesquisar e encontrar arquivos de difícil aces- todos. Você não tem que se preocupar com o fato dos métodos
so no sistema. No Windows, os arquivos de lote batch (*.bat) serem públicos, privados ou protegidos, e você não tem que im-
são também exemplos de Shell scripts. Seria o prompt de co- plementar interfaces. Variáveis, parâmetros e tipo de retorno da
mando (command.com e/ou cmd.exe). No Linux, é o bash ou sh. função não são explicitamente tipados.
Java é uma linguagem de programação baseada em classes,
Porque usar scripts? projetada para execução rápida e segurança de tipos. Segurança
O objetivo de ao criar um script é automatizar tarefas des- de tipo significa que, por exemplo, você não pode converter um
gastantes e repetitivas. Com isso, você ganha mais tempo para número inteiro em Java para uma referência de objeto ou aces-
se dedicar a tarefas mais importantes e urgentes. Então, use sar a memória privada corrompendo bytecodes Java. O modelo
scripts para simplificar sua vida, seu negócio. baseado em classes do Java significa que os programas são ex-
clusivamente constituídos por classes e seus métodos. Herança
O que é JavaScript? de classe do Java e tipagem forte geralmente requerem hierar-
JavaScript é uma linguagem de script orientada a objetos, quias de objetos fortemente acoplados. Esses requisitos tornam
multiplataforma. É uma linguagem pequena e leve. Dentro de a programação em Java mais complexa do que a programação
um ambiente de host (por exemplo, um navegador web) o JavaS- em JavaScript.
cript pode ser ligado aos objetos deste ambiente para prover um
controle programático sobre eles. Em contraste, JavaScript descende em espírito de uma li-
JavaScript tem uma biblioteca padrão de objetos, como: nhagem de linguagens menores com tipagem dinâmica, como
Array, Date, e Math, e um conjunto de elementos que formam o HyperTalk e dBASE. Essas linguagens de script oferecem ferra-
núcleo da linguagem, tais como: operadores, estruturas de con- mentas de programação para um público muito mais amplo por
trole e declarações. O núcleo do JavaScript pode ser estendido causa de sua sintaxe mais fácil, funções especializadas embuti-
para uma variedade de propósitos, complementando assim a das e requisitos mínimos para a criação de objetos.
linguagem:
O lado cliente do JavaScript estende-se do núcleo lingua-
gem, fornecendo objetos para controlar um navegador web e
seu Document Object Model (DOM). Por exemplo, as exten-
sões do lado do cliente permitem que uma aplicação coloque
elementos em um formulário HTML e responda a eventos do
usuário, como cliques do mouse, entrada de formulário e de na-
vegação da página.
22
CONHECIMENTOS DE INFORMÁTICA
O console web
O console web mostra informações sobre a página web que está sendo carregada atualmente e também inclui a linha de coman-
do que você pode utilizar para executar códigos JavaScript na página atual.
Para abrir o console (Ctrl+Shift+K), selecione “Web Console” do menu “Web Developer”, que está sob o menu “Tools” no Firefox.
Ele aparece na parte inferior da janela do navegador. Na parte inferior do console está a linha de comando que você pode usar para
colocar o JavaScript, e a saída é exibida no painel acima:
Scratchpad
O Web Console é excelente para executar linhas únicas de JavaScript, mas embora você possa executar várias linhas, não é muito
conveniente para isso, e você não pode salvar as amostras de código usando o Web Console. Assim, para exemplos mais complexos a
ferramenta Scratchpad é melhor.
23
CONHECIMENTOS DE INFORMÁTICA
Para abrir o Scratchpad (Shift+F4), selecione “Scratchpad” do menu “Web Developer”, que está sob o menu “Tools/Ferramentas”
do Firefox. Ele abre em uma janela separada e é um editor que você pode usar para escrever e executar JavaScript no navegador. Você
também pode salvar os scripts para o disco e carregá-los a partir do disco.
Hello world
Para começar a escrever JavaScript, abra o Console Web ou o Scratchpad e escreva seu primeiro código JavaScript “Olá, mundo”.
function greetMe(nome) {
alert(“Olá, “ + nome);
}
Sintaxe básica
JavaScript pega emprestado a maior parte de sua sintaxe do Java, mas também é influenciado por Awk, Perl e Python.
JavaScript é case-sensitive e usa o conjunto de caracteres Unicode. Por exemplo, a palavra Früh (que significa “cedo” em Alemão)
pode ser usada como nome de variável.
var Früh = “foobar”;
Mas a variável früh não é a mesma que Früh porque JavaScript é case sensitive.
No JavaScript, instruções são chamadas de declaração e são separadas por um ponto e vírgula (;). Espaços, tabulação e uma nova
linha são chamados de espaços em branco. O código fonte dos scripts em JavaScript são lidos da esquerda para a direita e são conver-
tidos em uma sequência de elementos de entrada como simbolos, caracteres de controle, terminadores de linha, comentários ou es-
paço em branco. ECMAScript também define determinadas palavras-chave e literais, e tem regras para inserção automática de ponto
e vírgula (ASI) para terminar as declarações. No entanto, recomenda-se sempre adicionar ponto e vírgula no final de suas declarações;
isso evitará alguns imprevistos. Para obter mais informações, consulte a referência detalhada sobre a gramática léxica do JavaScript.
Comentários
A sintaxe dos comentários em JavaScript é semelhante como em C++ e em muitas outras linguagens:
24
CONHECIMENTOS DE INFORMÁTICA
25
CONHECIMENTOS DE INFORMÁTICA
/** Uma constante não pode alterar seu valor por meio de uma
* Exemplo 1 atribuição ou ao ser declarada novamente enquanto o script é
*/ executado. Deve ser inicializada com um valor.
console.log(x === undefined); // exibe “true”
var x = 3; As regras de escopo para as constantes são as mesmas para
as variáveis let de escopo de bloco. Se a palavra-chave const for
/** omitida, o identificado é adotado para representar uma variável.
* Exemplo 2
*/ Você não pode declarar uma constante com o mesmo nome
// retornará um valor undefined de uma função ou variável que estão no mesmo escopo. Por
var myvar = “my value”; exemplo:
26
CONHECIMENTOS DE INFORMÁTICA
answer = “Obrigado pelos peixes...”; Se um array é criado usando um literal no topo do script,
Devido JavaScript ser dinamicamente tipado, essa declara- JavaScript interpreta o array cada vez que avalia a expressão que
ção não gera uma mensagem de erro. contêm o array literal. Além disso, um literal usado em uma fun-
ção é criado cada vez que a função é chamada.
Em expressões envolvendo valores numérico e string com o Array literal são também um array de objetos. Veja Array e
operador +, JavaScript converte valores numérico para strings. Coleções indexadas para detalhes sobre array de objetos.
Por exemplo, considere a seguinte declaração:
Vírgulas extras em array literal
x = “A resposta é “ + 42 // “A resposta é 42” Você não precisa especificar todos os elementos em um ar-
y = 42 + “ é a resposta” // “42 é a resposta” ray literal. Se você colocar duas vírgulas em uma linha, o array
Nas declarações envolvendo outros operadores, JavaScript é criado com undefined para os elementos não especificados. O
não converte valores numérico para strings. Por exemplo: exemplo a seguir cria um array chamado fish:
27
CONHECIMENTOS DE INFORMÁTICA
28
CONHECIMENTOS DE INFORMÁTICA
Você deve usar string literal, a não ser que você precise var home = “c:\\temp”;
usar um objeto string. Veja String para detalhes sobre objetos Você também pode escapar quebras de linhas, precedendo-
de strings. -as com barra invertida. A barra invertida e a quebra de linha são
ambas removidas da string.
Uso de caracteres especiais em string
Além dos caracteres comuns, você também pode incluir var str = “esta string \
caracteres especiais em strings, como mostrado no exemplo a está quebrada \
seguir. em várias\
linhas.”
“uma linha \n outra linha” console.log(str); // esta string está quebrada em várias li-
A tabela a seguir lista os caracteres especiais que podem ser nhas.
usados em strings no JavaScript. Embora JavaScript não tenha sintaxe “heredoc”, você pode
adicionar uma quebra de linha e um escape de quebra de linha
Tabela: Caracteres especiais no JavaScript no final de cada linha:
Caracter Descrição
\0 Byte nulo var poema =
\b Backspace “Rosas são vermelhas\n\
\f Alimentador de formulário Violetas são azuis,\n\
\n Nova linha Esse seu sorriso\n\
\r Retorno do carro é o que me seduz. (Lucas Pedrosa)”
\t Tabulação Fonte:
\v Tabulação vertical https://developer.mozilla.org/pt-BR/docs/Web/JavaS-
\’ Apóstrofo ou aspas simples cript/Guide/Values%2C_variables%2C_and_literals
\” Aspas dupla
\\ Caractere de barra invertida ECMAScript 6
Seja muito bem-vindo a uma nova era na história do JavaS-
\XXX
cript. Há muitos anos que a linguagem não ganhava modifica-
Caractere com a codificação Latin-1 especificada por três
ções e funcionalidades novas relevantes, mas isso mudou com a
dígitos octal XXX entre 0 e 377. Por exemplo, \251 é sequência
chegada da nova versão da especificação ECMAScript.
octal para o símbolo de direitos autorais.
O ECMAScript (ES) é a especificação da linguagem de script
que o JavaScript implementa, ou seja, é a descrição formal e
\xXX
estruturada de uma linguagem de script, sendo padronizada
Caractere com a codificação Latin-1 especificada por dois pela Ecma International – associação criada em 1961 dedicada
dígitos hexadecimal XX entre 00 e FF. Por exemplo, \xA9 é a se- à padronização de sistemas de informação e comunicação – na
quência hexadecimal para o símbolo de direitos autorais. especificação ECMA-262. No dia 17 de junho de 2015, foi defini-
da a sexta edição da especificação, a ES6 (também chamada de
\uXXXX ECMAScript 2015).
Caractere Unicode especificado por quatro dígitos hexade- Diferentemente das edições anteriores, o ES6 trouxe a
cimal XXXX. Por exemplo, \u00A9 é a sequência Unicode para o maior mudança para a linguagem JavaScript desde a sua criação,
símbolo de direitos autorais. Veja sequências de escape Unicode. há 20 anos. O principal objetivo da nova versão especificação foi
tornar a linguagem mais flexível, enxuta e fácil de se aprender e
Caracteres de escape trabalhar, tornando-a mais próxima a outras linguagens orienta-
Para caracteres não listados na tabela, se precedidos de das a objeto, como Java e Python.
barra invertida ela é ignorada, seu uso está absoleto e deve ser Dentre as principais mudanças, temos:
ignorado. - Criação de novos tipos de dados (Map, WeakMap, Set,
WeakSet);
Você pode inserir uma aspa dentro de uma string precen- - Novas maneiras de iterar objetos e coleções;
dendo-a com uma barra invertida. Isso é conhecido como esca- - Declaração de variáveis com let e const;
ping das aspas. Por exemplo: - Modularização e estrutura de classes;
- Geradores e símbolos;
var quote = “Ele lê \”The Cremation of Sam McGee\” de - Operadores rest e spread.
R.W. Service.”; Nos últimos anos, o JavaScript ganhou muita força na comu-
console.log(quote); nidade de desenvolvedores através do “grande boom” do ecos-
O resultado disso seria: sistema das tecnologias Node.js e npm. Desde então, a flexibili-
dade da linguagem tem sido usada a favor não somente do lado
Ele lê “The Cremation of Sam McGee” de R.W. Service. do cliente (nos navegadores), mas também do lado do servidor,
Para incluir uma barra invertida dentro de uma string, você algo impensável até alguns anos atrás. Tudo isso fez com que
deve escapar o caractere de barra invertida. Por exemplo, para não somente a comunidade, mas também grandes empresas de
atribuir o caminho do arquivo c:\temp para uma string, utilize o tecnologia como o Facebook, reconhecessem a força da lingua-
seguinte: gem e finalmente a levasse a sério.
29
CONHECIMENTOS DE INFORMÁTICA
30
CONHECIMENTOS DE INFORMÁTICA
A Listagem 2 mostra um exemplo de declaração de variáveis digo. Na Listagem 4 é mostrado um exemplo onde é criada uma
em Scala. Como podemos observar, é utilizada a palavra reserva- função chamada fazConta, que recebe como parâmetro uma
da “var” para isso, e não colocamos o tipo nas variáveis, pois os função e dois parâmetros inteiros. O que o método faz é sim-
tipos serão definidos pelo compilador. Qualquer tipo de variável plesmente executar a função recebida como parâmetro para os
é declarado com o var, mesmo variáveis em que os valores são outros dois parâmetros passados para a função.
passados diretamente, como por exemplo, as variáveis num1
e num2, que são do tipo inteiro, e a variável texto, que é do Listagem 4. Passando funções como parâmetros.
tipo String. Para as instâncias que são criadas com o construtor,
como por exemplo, a variável texto que é do tipo StringBuffer package main
também usamos o “var”.
object Main {
Listagem 2. Declaração de variáveis em Scala
def fazConta(callback: (Int,Int) => Int, x:Int, y:Int) {
package main println(callback(x, y))
}
object Main {
def soma(x: Int, y: Int ): Int = {
def main(args:Array[String]) { x+y
var num1 = 5 }
var num2 = 10
var texto = “A soma é: “ def multiplicacao(x:Int, y:Int) : Int = {
println(texto + (num1 + num2)) x*y
}
var s = new StringBuffer
s.append(“Olá!”); def divisao(x:Int, y:Int) : Int = {
s.append(“Vamos aprender Scala?”) x*y
println(s); }
31
CONHECIMENTOS DE INFORMÁTICA
32
CONHECIMENTOS DE INFORMÁTICA
} object Main5 {
} def matchTest(x: Any): Any = x match {
O conceito de Pattern Matching é uma forma de fazer com- case 1 => “um”
parações e decisões em Scala de forma muito mais poderosa e case “dois” => 2
simples do que utilizando os comandos Switch/Case. A Listagem case “três” => 3
9 apresenta um primeiro exemplo de Pattern Matching ainda case “quatro” => new Conta(“12345”, “12345”, 1000)
bastante simples. Nesse exemplo é passado um número intei- case y: Int => “É um número inteiro”
ro como parâmetro para a função, e com a palavra reservada case x: Conta => “É uma conta”
case, são definidas as possibilidades para o número passado case z: String => “É uma String”
como parâmetro. A última opção utiliza um underline, que seria }
o equivalente ao default de um comando switch/case. def main(args: Array[String]) {
33
CONHECIMENTOS DE INFORMÁTICA
println(matchTest(“dois”))
println(matchTest(1))
println(matchTest(5))
println(matchTest(“três”))
println(matchTest(“quatro”))
}
}
Uma consideração importante sobre o Pattern Matching é que, se nenhum padrão for encontrado para o parâmetro passado para
o método, será lançada uma exceção. Por isso é importante ou ter um case com o underline, ou fazer o tratamento de exceção sempre
que for chamada uma função desse tipo.
Uma grande vantagem da linguagem Scala é que ela é executada também na JVM, o que permite ao programador usar qualquer
coisa que tenha sido criado em Java, inclusive frameworks e jars de terceiros. Para demonstrar isso, a Listagem 11 mostra alguns exem-
plos do uso de classes Java em um programa em Scala: primeiro é criado um ArrayList de Strings e são adicionados três valores nesse
ArrayList; depois é criado uma instância da classe Date, e uma da classe SimpleDateFormat, e ao utilizar esses dois objetos é mostrada
a data atual no console. Por último é criado um objeto da classe ServcerSocket do Java.
package main
import java.util.ArrayList
import java.util.Date
import java.text.SimpleDateFormat
import java.net.ServerSocket
object Main7 {
def main(args: Array[String]) {
}
}
Esse código não faz nada importante, mas com ele fica bem claro que é possível utilizar qualquer classe do Java em um programa
Scala, para isso basta importar as classes. Isso é uma grande vantagem, pois grande parte do que é criado em Java, é possível de usar
em Scala também.
Fonte:
https://www.devmedia.com.br/conheca-a-linguagem-scala/32850
PIG 0.16
Não é surpreendente que o Hadoop encontre a popularidade de seu ecossistema em crescimento. Uma área em particular que
está avançando é a programação de aplicativos Hadoop. Embora a programação de aplicativos Map e Reduce não seja complexa
demais, fazer isso requer alguma experiência com o desenvolvimento de software. O Apache Pig altera isto criando uma abstração
de linguagem de procedimentos mais simples sobre o MapReduce para expor uma interface mais parecida com Structured Query
Language (SQL) para aplicativos Hadoop. Então, em vez de gravar um aplicativo separado do MapReduce, é possível gravar um único
script no Pig Latin que é automaticamente paralelizado e distribuído em um cluster.
34
CONHECIMENTOS DE INFORMÁTICA
Como você pode ver, este simples script implementa um fluxo simples, mas seria necessário consideravelmente mais código se
implementado diretamente no modelo tradicional de MapReduce. Isto torna consideravelmente mais fácil aprender o Hadoop e co-
meçar a trabalhar com os dados, comparados ao desenvolvimento bruto.
Vamos agora nos aprofundar um pouco mais na linguagem Pig e depois observar alguns outros exemplos dos recursos de lingua-
gem.
35
CONHECIMENTOS DE INFORMÁTICA
Embora esta não seja uma lista exaustiva de operadores no Pig Latin, esta tabela fornece um conjunto extremamente útil de
operações para processar grandes conjuntos de dados. É possível aprender mais sobre a completa linguagem do Pig Latin por meio
de Recursos, como o Pig possui um conjunto legal de documentação online. Agora, pratique gravar alguns scripts do Pig Latin para
entender como esses operadores funcionam na prática.
Memória da VM Cloudera
Descobri que a VM não funcionaria adequadamente com 1GB de memória designada a ela. Duplicar ou triplicar essa distribuição
de memória resulta em operação normal (isto é, sem problemas de espaço™ de heap Java).
Uma vez que criar sua VM, é possível iniciá-la por meio de VirtualBox, que inicializa o kernel Linux e inicia todos os daemons ne-
cessários de Hadoop. Com a inicialização completa, comece criando um terminal no qual comunicar-se com o Hadoop e o Pig.
É possível usar o Pig em qualquer um dos modos. O primeiro é o modo Local, que não possui dependência no Hadoop ou no
Hadoop Distributed File System (HDFS), onde tudo é executado em uma única máquina virtual Java (JVM) no contexto do sistema de
arquivos local. O outro modo é Mapreduce, que usa um sistema de arquivos Hadoop e cluster.
36
CONHECIMENTOS DE INFORMÁTICA
A partir daqui, é possível codificar interativamente seu script do Pig Latin, vendo o resultado após cada operador. Retorne à a
Listagem 1 e tente este script (consulte a Listagem 2). Observe que, neste caso, em vez de armazenar seus dados em um arquivo, você
simplesmente faz dump deles como um conjunto de relações. Você perceberá na saída modificada que cada linha de log (que corres-
ponde ao critério de procura definido pelo FILTER) é a própria relação (ligada por parênteses [()]).
Se tiver especificado o operador STORE , ele teria gerado seus dados em um diretório do nome especificado (não um arquivo
regular simples).
Como mostrado, este código resultará em uma listagem de um ou mais arquivos, se o Hadoop estiver executando com sucesso.
Agora, vamos testar o Pig. Comece iniciando o Pig e depois altere o diretório para sua raiz hdfs para determinar se é possível ver o que
você viu externamente no HDFS (consulte a Listagem 4).
Até então, tudo bem. É possível ver seu sistema de arquivo Hadoop no Pig, então agora, tente ler alguns dados nele a partir de
seu sistema de arquivo host local. Copie um arquivo do local para HDFS pelo Pig (consulte Listagem 5).
37
CONHECIMENTOS DE INFORMÁTICA
Em seguida, com seus dados de teste agora seguros no sistema de arquivos Hadoop, é possível tentar outro script. Observe que
é possível cat o arquivo no Pig para ver seu conteúdo (apenas para ver se está lá). Neste exemplo particular, identifique o número de
shells especificados para usuários no arquivo passwd (a última coluna em passwd).
Para começar, é necessário carregar seu arquivo passwd do HDFS em uma relação do Pig. Você faz isso antes de usar o operador
LOAD , mas, neste caso, deseja analisar os campos do arquivo de senha até seus campos individuais. Neste exemplo, especifique a fun-
ção PigStorage , que permite indicar o caractere delimitador para o arquivo (neste caso, um caractere de ponto e vírgula [:]). Você tam-
bém especifica os campos individuais (ou o esquema) com a palavra-chave AS , incluindo seus tipos individuais (consulte Listagem 6).
Em seguida, use o operador GROUP para agrupar as tuplas nesta relação baseada em seu shell (consulte na Listagem 7). Faça
dump disto novamente, apenas para ilustrar o resultado do GROUP direto. Observe que há tuplas agrupadas (como em um pacote
interno) sob seu shell particular que está sendo usado (com o shell especificado no início).
Mas o seu desejo é uma contagem dos shells exclusivos especificados no arquivo passwd. Então, você usa o operador FOREACH
para iterar cada tupla em seu grupo para COUNT o número que aparece (consulte Listagem 8 ).
Observação: Para executar este código como um script, basta digitar o script em um arquivo e, depois, executá-lo como pig mys-
cript.pig.
38
CONHECIMENTOS DE INFORMÁTICA
Operadores de Diagnóstico
O Pig suporta um número de operadores diagnósticos que podem ser usados para depurar scripts do Pig. Como você viu nos
exemplos de script anteriores, o operador DUMP é inestimável para visualizar não só dados, mas o esquema dos dados em si. Também
é possível usar o operador DESCRIBE para gerar um formato detalhado do esquema de uma relação (campo e tipo).
O operador EXPLAIN é totalmente um pouco mais complexo, porém útil. Para uma determinada relação, é possível usar EXPLAIN
para visualizar como os operadores físicos estão agrupados em tarefas de mapa e redução (isto é, como os dados são derivados).
Tabela 2 fornece uma lista de operadores de diagnóstico no Pig Latin e sua descrição.
Usuários Pig
Como você pode ver neste breve artigo, o Pig é uma ferramenta eficiente para consulta de dados em um cluster Hadoop. É tão
eficiente que o Yahoo! estima que entre 40% e 60% de suas cargas de trabalho do Hadoop sejam geradas de scripts do Pig Latin. Com
100.000 CPUs no Yahoo! e, aproximadamente, 50% em execução no Hadoop, são muitos pigs por todo o lado.
Mas o Yahoo! não é a única organização que aproveita o Pig. Você encontrará o Pig no Twitter (processando logs, minerando
dados de tweet), na AOL e no MapQuest (para análises e processamento de dados em lote), e no LinkedIn, onde o Pig é usado para
descobrir pessoas que possa conhecer. O Ebay está, segundo boatos, usando o Pig para otimização de procura e adyard usa o Pig em
quase metade de seu sistema recomendado.
Fonte:
https://www.ibm.com/developerworks/br/library/l-apachepigdataquery/index.html
Hoje, existem diversos tipos de linguagens de programação, as quais são escritas pelos programadores, algumas dessas lingua-
gens são compreendidas pelo computador e outras ajudam na forma de tradutores, explicado mais abaixo.
Linguagem de máquina
É uma linguagem “crua”, ou seja não muda seu estado natural. Essa linguagem é formada de string de números, definindo a rea-
lização das operações em um computador, sendo realizado uma tarefa de cada vez.
39
CONHECIMENTOS DE INFORMÁTICA
40
CONHECIMENTOS DE INFORMÁTICA
Apesar de propósitos e características distintas, existem se- de arquivo) ou pode dar errado (equivalente a dar pau!). Se deu
melhanças entre o aprendizado de um novo idioma e o de uma tudo certo, dizemos que o código escrito “rodou” ou que tal có-
linguagem de programação. No idioma, primeiro você aprende digo “está rodando” ou, ainda, “rodei esse código com sucesso”
o que são algumas palavras, depois constrói pequenas frases até para falar que a transformação ocorreu sem erros. O “rodar”
que uma hora chega em parágrafos e textos completos. Na lin- logo receberá um termo técnico bonito, mas por enquanto é im-
guagem de programação, primeiro se entende quais são seus portante você entender o conceito de um algoritmo funcionar
elementos (equivalente as palavras do idioma) escrevendo có- ou não quando escrito em determinada linguagem de progra-
digos simples, formados por uma única linha, depois códigos mação.
com mais de uma linha, blocos de código independentes que Imagine uma prova de certificação para se tornar um pro-
são chamados conforme o fluxo do programa e a interação do gramador Poliglota. A prova é composta de algoritmos em dife-
usuário e, por fim, desenvolve um software completo. rentes linguagens com perguntas simples como: “O algoritmo
Quanto mais um programador souber sobre uma linguagem a seguir rodará com sucesso?” Caso não, indique o erro e sua
de programação, melhor ele conseguirá se expressar no mundo linha. É como se você fosse o programa que gera novos progra-
da programação e mais recursos ele terá para escrever soluções mas e, só olhando o código, conseguisse avaliar qual roda e qual
para problemas computacionais via código. Contudo, só saber a não roda.
linguagem de programação não faz de você um programador. A
linguagem é um instrumento para que a solução escrita possa Linguagens não-estruturadas
ser transformada em um software, mas sem a solução (o que se Mais aprimoradas que as de baixo nível, as linguagens não-
deve escrever com o código) ela de nada adianta. -estruturadas são mais compreensíveis e mais ajustáveis, pois
Imagine que você precisa escrever, em inglês (e sem usar o seus comandos são adaptáveis as diferentes plataformas. Ape-
tradutor), um artigo sobre biogenética, algo que nunca estudou. sar de ter essas características, tornaram-se ultrapassadas com
Adiantará dominar inglês? Evidente que não. Da mesma forma, o surgimento das linguagens estruturadas como as procedurais
se você soubesse tudo sobre o assunto e não soubesse escre- e as funcionais.
ver em inglês, também não adiantaria. Portanto, à medida que
aprende como funciona esse importante instrumento que é a Linguagem COBOL
linguagem de programação, preocupe-se também em aprender COBOL (COmmon Business Oriented Language) foi uma lin-
a tocá-lo que, no caso, é saber programar. guagem criada para aplicações comerciais. Como por exemplo,
em programas para folhas de pagamento, contabilidade, inven-
Algoritmo tário de produtos, etc., manipulando uma quantidade grande de
Um bloco de código que contém uma sequência de instru- dados. Está disponível para computadores e mainframes. Pode
ções do que o software deve fazer é chamado de algoritmo, ter- ser executada em várias máquinas, apenas mudando algumas
mo muito usado na computação. linhas de código. A linguagem foi criada em 1959 pelo Comitê
Um algoritmo pode ser escrito em diferentes linguagens, in- Codasyl.
clusive em algumas conceituais que não funcionam de verdade,
chamadas de pseudocódigo. Linguagem Basic
Imagine que você é um programador e está em uma equipe A linguagem Basic (Beginners All-purpose Symbolic Instruc-
com mais 9 programadores. Considere que cada um programe tion Code) foi criada em 1964 por Thomas E. Kurtz e John G.
em uma linguagem diferente, porém todos tem o mesmo chefe. Kemeny, integrantes do departamento de matemática de Dart-
Certo dia, o chefe manda um e-mail com o assunto: Algoritmo mouth. Uma linguagem criada para facilitar a produção e execu-
da semana para todos. No corpo do e-mail, ele escreveu o algo- ção de programas pelos cientistas da computação.
ritmo em pseudocódigo e disse que todos precisam implemen-
tá-lo na sua respectiva linguagem. Ele escreveu em português Linguagens Estruturadas
mesmo, de propósito, ou seja, o código dele não será trans- É um tipo de programação utilizada para otimizar os progra-
formado em um software da forma como está. No entanto, o mas criados. Assim, esse paradigma mostra ao programador que
algoritmo está escrito conceitualmente para que ele possa ser é possível estruturar programas de maneira simples, através de
traduzido para diferentes linguagens. Portanto, quando ler a pa- sub-rotinas e funções.
lavra algoritmo, pode ser que ele esteja em uma linguagem de
programação ou só escrito conceitualmente, em pseudo código. Linguagens Procedurais
Neste último caso, continuará sendo um algoritmo. Fazem parte dos tipos de linguagem estruturada e são lin-
guagens compostas por algoritmos que definem a sequência de
Rodar o código chamadas de procedimentos que fazem parte de um programa.
Uma pergunta muita interessante é: onde eu escrevo meu Pode-se considerar as linguagens C, Pascal, Fortran, ADA, Modu-
código? Posso escrever no bloco de notas? Quando acabar o có- la-2 e Modula 3 como procedurais.
digo, mando para quem transformá-lo em um software?
Depois do código ser escrito, outro software transforma o Linguagens Funcionais
código em um arquivo executável. Explicaremos sobre ele no As linguagens funcionais possuem um estilo diferente das
quarto post da série, chamado Implementador de linguagens procedurais, em sua sintaxe ela prioriza expressões ao invés de
de programação. Por ora, saiba que durante essa transformação comandos. As mais populares são LISP e Prolog, mas existem ou-
pode dar tudo certo e o software sair bonito do forno (na forma tras como a Scheme, ASpecT, Calm, Haskell, Miranda, Nesl, etc.
41
CONHECIMENTOS DE INFORMÁTICA
Linguagem Prolog Isso acontece porque se trata de um padrão que tem evolu-
Inventada em 1970 na Universidade de Marseille por Alain ído muito, principalmente em questões voltadas para segurança
Colmerauer e outros com a finalidade de fazer a tradução das e reaproveitamento de código, o que é muito importante no de-
linguagens naturais. Com sua evolução, atingiu propósitos espe- senvolvimento de qualquer aplicação moderna.
cíficos sendo usada para projetos de arquitetura, lógica mate-
mática, análise bioquímica, etc. Características da programação orientada a objetos
Para uma linguagem ser considerada no paradigma do POO,
Linguagem LISP existem quatro características principais que precisam fazer par-
A linguagem foi criada por John McCarthy, em 1958. É muito te de sua aplicação: abstração, encapsulamento, herança e po-
utilizada dentro da Inteligência Artificial. Para utilização dessa limorfismo.
linguagem em vários dialetos foi criado o Common Lisp.
Abstração
Linguagem Scheme Como estamos lidando com uma representação de um ob-
É uma linguagem simples criada por Guy Lewis Steele Jr. e jeto real, temos que imaginar o que esse objeto irá realizar den-
Gerald Jay Sussman em 1975 no laboratório de Inteligência Ar- tro do sistema. Três pontos que devem ser levados em conside-
tificial do MIT. ração nessa abstração: identidade, característica e ação.
O primeiro passo é darmos uma identidade ao objeto que
Linguagens Orientadas a Objetos iremos criar. Essa identidade deve ser única dentro do sistema
São linguagens de programação utilizadas para expressar para que não haja conflito. Na maior parte das linguagens, há
itens do nosso cotidiano, de uma forma próxima ao mundo real. o conceito de pacotes (ou namespaces). Nessas linguagens, a
Os conceitos mais frequentes dentro da linguagem são objetos, identidade do objeto não pode ser repetida dentro do pacote, e
classes e heranças. Os objetos são unidades encontradas dentro não necessariamente no sistema inteiro.
do programa que passam a trocar mensagens entre outros obje- O segundo passo é definir as características do objeto. Todo
tos e as classes. Exemplos de linguagens são: objeto possui elementos que o definem. Dentro da programa-
A programação orientada a objetos é um paradigma da ção orientada a objetos, essas características são nomeadas pro-
programação que procura entender os problemas a partir de priedades. Por exemplo, as propriedades de um objeto “Chalei-
classes, ações, itens e características que se relacionam entre ra” poderiam ser “Tamanho”, “Peso” e “Cor”.
si. Na sequência de aprendizado da programação, entender este Por fim, a terceira parte é definirmos as ações que o objeto
paradigma de programação é o segundo passo, logo depois da irá executar. Essas ações, ou eventos, são chamados métodos.
programação imperativa. Esses métodos podem ser extremamente variáveis. No exemplo
da chaleira, poderiam ser “Esquentar()” ou “Apitar()”.
Programação Imperativa
Programação Orientada a Objetos Encapsulamento
Programação Funcional O encapsulamento é um dos elementos que adicionam
segurança à aplicação em uma programação orientada a obje-
O que é programação orientada a objetos? tos, por isso é tão importante. O objetivo dessa característica é
É muito comum encontrar programadores que só utilizam esconder as propriedades dos objetos, criando uma espécie de
linguagens de programação orientadas a objetos, mas que não caixa preta.
compreendem verdadeiramente os paradigmas dessa condição. A maior parte das linguagens orientadas a objetos imple-
Quando alguma pessoa está começando a aprender a pro- mentam o encapsulamento baseado em propriedades privadas,
gramar, o mais comum é que seja introduzida a partir da progra- ligadas a métodos especiais chamados getters e setters, que irão
mação imperativa. Nesta, todo aplicativo ou algoritmo é desen- retornar e setar o valor da propriedade, respectivamente. Essa
volvido pensando em uma série de etapas que o software deve atitude evita o acesso direto a propriedade do objeto, adicio-
cumprir para atingir o seu objetivo final. Um exemplo disso é nando uma outra camada de segurança à aplicação.
descrever o passo a passo para trocar uma lâmpada, por exem- Um exemplo disso na vida real, para ficar mais fácil, pode
plo. ser quando clicamos no botão de ligar ou desligar um celular.
Depois desse aprendizado de introdução à lógica de progra- Ao clicarmos, não sabemos exatamente o que está acendendo e
mação e algoritmos, é preciso entender o paradigma orientado rodando internamente, ou seja, os métodos que ligam o celular
a objetos. A diferença do POO é que, ao invés de pensarmos estão encapsulados.
em passo a passo, primeiro serão definidos os elementos neces-
sários para realizar o objetivo. A descrição do código será feita Herança
relacionando esses elementos até sua conclusão. Como falamos anteriormente, a possibilidade de reutilizar
códigos de programação orientada a objetos é um dos principais
Por que aprender programação orientada a objetos (POO)? motivos para esse tipo de programação ter sido tão difundido.
Hoje em dia, o mercado de programação é dominado pelo Isso acontece por meio da característica de herança.
paradigma orientado a objetos. A maioria das linguagens de Essa característica otimiza a produção da aplicação em tem-
programação são orientadas a objetos, como: Java, C#, Python e po e linhas de código. O objeto abaixo na hierarquia irá herdar
C++ e, apesar de terem algumas diferenças na implementação, características de todos os objetos acima dele, seus “ancestrais”.
todas seguem os mesmos princípios e conceitos. A herança a partir das características do objeto mais acima é
42
CONHECIMENTOS DE INFORMÁTICA
considerada herança direta, enquanto as demais são consideradas heranças indiretas. Por exemplo, na família, a criança herda direta-
mente do pai e indiretamente do avô e do bisavô.
Polimorfismo
O polimorfismo é a capacidade de alterar a forma conforme a necessidade. Na POO, os objetos filhos herdam as características e
ações de seus ancestrais. Entretanto, em alguns casos, é necessário que as ações para um mesmo método seja diferente. Em outras
palavras, o polimorfismo consiste na alteração do funcionamento interno de um método herdado de um objeto pai.
Como um exemplo, temos um objeto genérico “Eletrodoméstico”. Esse objeto possui um método, ou ação, “Ligar()”. Temos dois
objetos, “Televisão” e “Geladeira”, que não irão ser ligados da mesma forma. Assim, precisamos, para cada uma das classes filhas,
reescrever o método “Ligar()”.
Compreender essas quatro características é fundamental para utilizar a programação orientada a objetos com mais consciência
de suas possibilidades. Cada linguagem utiliza essas características de formas diferentes, mas a base é a mesma.
- Descrição Narrativa
Nesta forma de representação os algoritmos são expressos diretamente em linguagem natural. Como exemplo, têm-se os algo-
ritmos seguintes:
Esta representação é pouco usada na prática porque o uso da linguagem natural muitas vezes dá oportunidade a más interpreta-
ções, ambiguidades e imprecisões.
Por exemplo, a instrução “afrouxar ligeiramente as porcas” no algoritmo da troca de pneus está sujeita a interpretações diferentes
por pessoas distintas. Uma instrução mais precisa seria: “afrouxar a porca, girando-a 30º no sentido anti-horário”.
- Fluxograma Convencional
É uma representação gráfica de algoritmos onde formas geométricas diferentes implicam ações (instruções, comandos) distintos.
Tal propriedade facilita o entendimento das idéias contidas nos algoritmos e justifica sua popularidade.
Esta forma é aproximadamente intermediária à descrição narrativa e ao pseudocódigo (subitem seguinte), pois é menos impre-
cisa que a primeira e, no entanto, não se preocupa com detalhes de implementação do programa, como o tipo das variáveis usadas.
43
CONHECIMENTOS DE INFORMÁTICA
- Pseudocódigo
Esta forma de representação de algoritmos é rica em deta-
lhes, como a definição dos tipos das variáveis usadas no algorit-
mo. Por assemelhar-se bastante à forma em que os programas
são escritos, encontra muita aceitação.
Na verdade, esta representação é suficientemente geral
Figura 2.1 Principais formas geométricas usadas em fluxogra- para permitir a tradução de um algoritmo nela representado
mas. para uma linguagem de programação específica seja pratica-
mente direta.
De modo geral, um fluxograma se resume a um único sím- A forma geral da representação de um algoritmo na forma
bolo inicial por onde a execução do algoritmo começa, e um ou de pseudocódigo é a seguinte:
mais símbolos finais, que são pontos onde a execução do algorit- Algoritmo <nome_do_algoritmo>
mo se encerra. Partindo do símbolo inicial, há sempre um único <declaração_de_variáveis>
caminho orientado a ser seguido, representando a existência de <subalgoritmos>
uma única seqüência de execução das instruções. Isto pode ser Início
melhor visualizado pelo fato de que, apesar de vários caminhos <corpo do algoritmo>
poderem convergir para uma mesma figura do diagrama, há Fim
sempre um único caminho saindo desta. Exceções a esta regra
são os símbolos finais, dos quais não há nenhum fluxo saindo, e Algoritmo é uma palavra que indica o início da definição de
os símbolos de decisão, de onde pode haver mais de um cami- um algoritmo em forma de pseudocódigo.
nho de saída (usualmente dois caminhos), representando uma <nome_do_algoritmo> é um nome simbólico dado ao algo-
bifurcação no fluxo. ritmo com a finalidade de distingui-los dos demais.
A Figura 2.2 mostra a representação do algoritmo de cálculo <declaração_de_variáveis> consiste em uma porção opcio-
da média de um aluno sob a forma de um fluxograma. nal onde são declaradas as variáveis globais usadas no algoritmo
principal e, eventualmente, nos subalgoritmos.
<subalgoritmos> consiste de uma porção opcional do pseu-
docódigo onde são definidos os subalgoritmos.
44
CONHECIMENTOS DE INFORMÁTICA
Início e Fim são respectivamente as palavras que delimitam teres nele contido. Portanto, para guardar um dado do tipo lite-
o início e o término do conjunto de instruções do corpo do al- ral devemos alocar (reservar) um espaço contíguo de memória
goritmo. igual ao comprimento do mesmo, destinando um byte para cada
Como exemplo, a Figura 2.3 mostra a representação do caractere da informação.
algoritmo do cálculo da média de um aluno, na forma de um Exemplificando, a informação do tipo literal “banana” pos-
pseudocódigo. sui seis caracteres e, portanto, seis bytes são necessários para
reter a referida informação na memória. A princípio, estes bytes
podem estar em qualquer lugar da memória, mas é convenien-
te que estejam juntos (posições contíguas). A primeira posição
deste conjunto de bytes é absolutamente arbitrária e sua esco-
lha geralmente é feita automaticamente pelo compilador (isto é,
pelo programa que traduz um outro escrito em alguma lingua-
gem de programação para outra geral, a linguagem de máquina
do computador com que se trabalha).
A Figura mostra o caso em que se armazena a literal “bana-
na” no conjunto de seis bytes contíguos de memória iniciando
pela posição de memória 0. Na verdade, ao invés dos caracteres
da literal, os códigos correspondentes aos mesmos é que são
guardados na memória.
Figura 2.3 Exemplo de um pseudocódigo.
Variáveis
A todo momento durante a execução de qualquer tipo de
programa os computadores estão manipulando informações
representadas pelos diferentes tipos de dados descritos no ca-
pítulo anterior. Para que não se “esqueça” das informações, o
computador precisa guardá-las em sua memória.
45
CONHECIMENTOS DE INFORMÁTICA
Toda variável possui um nome que tem a função de diferenciá-la das demais. Cada linguagem de programação estabelece suas
próprias regras de formação de nomes de variáveis. Adotaremos nesta apostila as seguintes regras:
- um nome de variável deve necessariamente começar com uma letra;
- um nome de variável não deve conter nenhum símbolo especial exceto a sublinha
(_).
Exemplos:
46
CONHECIMENTOS DE INFORMÁTICA
Nos algoritmos apresentados nesta apostila será adotada a Operações mais comuns:
seguinte convenção: 1. Inicializar a estrutura de dados.
- todas as variáveis utilizadas em algoritmos serão definidas 2. Pesquisar um ou mais registros com determinada chave.
no início do mesmo, por meio de um comando de uma das for- 3. Inserir um novo registro.
mas seguintes: 4. Retirar um registro específico.
VAR <nome_da_variável> : <tipo_da_variável>
VAR <lista_de_variáveis> : <tipo_das_variáveis> Dicionário
- a palavra-chave VAR deverá estar presente sempre e será Dicionário é um TAD com as operações:
utilizada uma única vez na definição de um conjunto de uma ou 1. Inicializa
mais variáveis; 2. Pesquisa
- numa mesma linha poderão ser definidas uma ou mais va- 3. Insere
riáveis do mesmo tipo. Para tal, deve-se separar os nomes das 4. Retira
mesmas por vírgulas;
- variáveis de tipos diferentes devem ser declaradas em li- Analogia com um dicionário da língua portuguesa:
nhas diferentes. • Chaves ⇔ palavras
A forma de utilização deste comando ficará mais clara quan- • Registros ⇔ entradas associadas com *pronúncia, defini-
do da utilização da representação de algoritmos em linguagem ção, sinônimos, outras informações
estruturada (pseudocódigo).
Esta convenção é válida para a representação de algoritmos Pesquisa Sequencial
na forma de pseudocódigo. Em termos de fluxograma, não é Método de pesquisa mais simples: a partir do primeiro re-
usual adotar-se qualquer forma de definição de variáveis. gistro, pesquise sequencialmente até encontrar a chave procu-
Exemplo de definição de variáveis: rada; então pare.
Armazenamento de um conjunto de registros por meio de
um array.
A Busca (find):
• Pesquisa retorna o índice do registro que contém a chave
x;
• Caso não esteja presente, o valor retornado é -1.
No exemplo acima foram declaradas quatro variáveis:
• A implementação não suporta mais de um registro com
- a variável NOME, capaz de armazenar dados literais de
comprimento 10 (dez caracteres); uma mesma chave, pois retorna o primeiro encontrado.
- a variável IDADE, capaz de armazenar um número inteiro;
- a variável SALARIO, capaz de armazenar um número real;
- a variável TEM_FILHOS, capaz de armazenar uma informa-
ção lógica.
Fonte:
https://www.devmedia.com.br/introducao-as-linguagens-
-de-programacao/25111
https://universidadedatecnologia.com.br/o-que-e-lingua-
gem-de-programacao/
https://www.dca.ufrn.br/~affonso/DCA800/pdf/algorit-
mos_parte1.pdf
https://blog.mastertech.com.br/tecnologia/programacao-
-orientada-objetos-o-que-isso-significa/
47
CONHECIMENTOS DE INFORMÁTICA
Análise:
• Pesquisa com sucesso:
- melhor caso : C(n) = 1
- pior caso : C(n) = n
- caso médio: C(n) = (n + 1) / 2
O algoritmo de pesquisa sequencial é a melhor escolha para o problema de pesquisa com n < 25.
Pesquisa Binária
Pesquisa em tabela pode ser mais eficiente se registros forem mantidos em ordem
Para saber se uma chave está presente na tabela
1. Compare a chave com o registro que está na posição do meio da tabela.
2. Se a chave é menor então o registro procurado está na primeira metade da tabela
3. Se a chave é maior então o registro procurado está na segunda metade da tabela.
4. Repita até que a chave seja encontrada ou que se constate que a chave não existe na tabela.
48
CONHECIMENTOS DE INFORMÁTICA
49
CONHECIMENTOS DE INFORMÁTICA
Fonte:
htt p : / / w w w. d e co m . u fo p . b r / to ffo l o /s i te _ m e d i a / • Método muito simples, mas custo alto
uploads/2013-1/bcc202/slides/20._pesquisa_(parte_1).pdf - Adequado apenas se arquivo pequeno
- Ruim se registros muito grandes
Ordenação pelo Método da Bolha - Bubblesort • Número de operações não se altera se vetor já está (par-
cialmente) ordenado
Um dos algoritmos mais simples que existem - Como melhorar?
Algoritmo: • Método da Bolha Melhorado: Termina execução quando
- Percorra o vetor inteiro comparando elementos adjacen- nenhuma troca é realizada após uma passada pelo vetor
tes (dois a dois)
- Troque as posições dos elements se eles estiverem fora
de ordem
- Repita os dois passos acima com os primeiros n-1 itens,
depois com os primeiros n-2 itens, até que reste apenas um item
O método ilustrado:
50
CONHECIMENTOS DE INFORMÁTICA
b) Algoritmo Selecao;
d) Análise do Algoritmo:
Para sabermos como varia o tempo de execução do algoritmo de acordo com o número e o conteúdo dos dados do vetor, vamos
contar o número de instruções executadas e calcular o tempo de execução, considerando que:
tp = tempo das instruções de controle do “loop” para;
ta = tempo da instrução de atribuição;
ts = tempo do teste da instrução se;
De início vemos que a atribuição interna ao comando “Se” pode ser executada ou não. As demais instruções serão sempre exe-
cutadas. Então temos duas situações, que chamaremos o pior e o melhor caso. O pior caso acontece quando, para cada interação, as
instruções internas ao “Se” são executadas e o melhor, quando não são nunca executadas. Desta forma, temos:
Tep(n) = pior tempo possível para ordenar uma entrada com n elementos =
Note que na expressão acima separamos as instruções em duas parcelas. Na primeira estão as instruções sempre executadas e,
na segunda, as instruções do “loop” mais interno. Calculando, obtemos:
51
CONHECIMENTOS DE INFORMÁTICA
Como, para um dado computador os tempos de execução dos tipos de instrução são fixos, podemos escrever a expressão acima
como um polinômio de 2° grau:
Se calcularmos, de forma análoga, o tempo de execução no melhor caso, quando a instrução interna ao “Se” nunca é executada,
obteremos:
Vemos, então que, em qualquer caso, o tempo de execução é um polinômio de 2° grau em n. Devemos ressaltar que há uma pe-
quena imprecisão no cálculo acima, pois ele está desconsiderando o último teste de controle de cada “loop”. Neste caso, deveríamos
acrescentar n.tp a cada um dos tempos calculados. Há , também uma simplificação, supondo-se que as instruções envolvendo vetor
e variáveis simples levam o mesmo tempo, o que não é verdade. Mas nada disso muda o tipo de polinômio obtido. Notar também
que, se contássemos apenas o número de comparações de chaves durante o processo, obteríamos também polinômios do 2° grau.
d.2) Estabilidade: Algoritmo não estável
d.3) Situações Especiais: O algoritmo é utilizável para ordenação de um volume razoável de registros (alguns milhares), cujas cha-
ves sejam pequenas, pois o número de movimentações de registros é baixo ( = n).
d.4) Memória utilizada: nenhuma memória adicional necessária.
e) Observações:
e.1) Número de comparações feitas: 66
Número de trocas: 11
e.2) Notar que, algumas vezes, o elemento é trocado com ele mesmo. Entretanto, a tentativa de evitar isso pode piorar o algo-
ritmo.
e.3) Este algoritmo foi apresentado mais para efeito didático embora, pela sua simplicidade de compreensão, possa ser utilizado
para ordenação de pequenos vetores.
b) Algoritmo Insercao;
52
CONHECIMENTOS DE INFORMÁTICA
Análise do Algoritmo:
d.1) Complexidade:
Vamos fazer uma análise análoga à do algoritmo anterior. Teremos:
Tep(n) = pior tempo possível para ordenar uma entrada com n elementos =
Note que na expressão acima separamos as instruções em duas parcelas. Na primeira estão as instruções sempre executadas e,
na segunda, as instruções do “loop” mais interno. No início deste “loop” há sempre um uma subtração (tsu) e um teste (ts) e, em seu
interior, 2 atribuições e duas subtrações. Calculando, obtemos:
Se calcularmos, de forma análoga, o tempo de execução no melhor caso, quando as instruções internas ao segundo “loop” nunca
são executadas, obteremos:
Vemos, então que os dois casos têm polinômios de grau diferente; no pior caso o tempo de execução é descrito por um polinômio
de 2° grau e, no melhor caso, por um polinômio de 1° grau! Portanto, dependendo da entrada, o comportamento do tempo de exe-
cução é variável. O melhor caso ocorre quando o vetor já está ordenado e, o pior, quando o vetor está inversamente ordenado. Uma
pergunta natural é: e no caso médio? Bem, no caso médio, o “loop” é executado um número de vezes igual à metade da variável “i” e
este tempo também é expresso por um polinômio de 2° grau. Notar mais uma vez que se contarmos as comparações no processo de
ordenação obteremos polinômios como os mencionados.
d.2) Estabilidade: Algoritmo estável
d.3) Situações Especiais: O algoritmo é adequado para situação de vetor quase ordenado (situação em que se fazem pequenas
adições a um vetor já previamente ordenado).
53
CONHECIMENTOS DE INFORMÁTICA
e) Observações:
e.1) Número de comparações: 49 (inclui comparação com sentinela) Número de trocas: 49
e.2) Notar que o vetor usa o índice 0 para guardar um “sentinela”, no caso a própria chave que está sendo inserida. Esse procedi-
mento simplifica e torna mais rápido o algoritmo. Essa é uma técnica bastante utilizada na construção de bons algoritmos.
LISTAS
São estruturas formadas por um conjunto de dados de forma a preservar a relação de ordem linear entre eles. Uma lista é com-
posta por nós, os quais podem conter, cada um deles, um dado primitivo ou composto.
Representação:
Sendo:
L1 - 1º elemento da lista
L2 - Sucessor de L1
Ln-1 - Antecessor de Ln-1
Ln - Último elemento da lista.
Exemplos de Lista:
- Lista Telefônica
- Lista de clientes de uma agência bancária
- Lista de setores de disco a serem acessados por um sistema operacional
- Lista de pacotes a serem transmitidos em um nó de uma rede de computação de pacotes.
FORMAS DE REPRESENTAÇÃO:
a) Sequencial:
Explora a sequencialidade da memória do computador, de tal forma que os nós de uma lista sejam armazenados em endereços
sequenciais, ou igualmente distanciados um do outro. Pode ser representado por um vetor na memória principal ou um arquivo se-
quencial em disco.
b) Encadeada:
Esta estrutura é tida como uma sequência de elementos encadeados por ponteiros, ou seja, cada elemento deve conter, além do
dado propriamente dito, uma referência para o próximo elemento da lista.
54
CONHECIMENTOS DE INFORMÁTICA
CARACTERÍSTICAS
• os elementos na lista estão armazenados fisicamente em posições consecutivas;
• a inserção de um elemento na posição a(i) causa o deslocamento a direita do elemento de a(i) ao último;
• a eliminação do elemento a(i) requer o deslocamento à esquerda do a(i+1) ao último;
Mas, absolutamente, uma lista sequencial ou é vazia ou pode ser escrita como (a(1), a(2), a(3), ... a(n)) onde a(i) são átomos de
um mesmo conjunto A.
Além disso, a(1) é o primeiro elemento, a(i) precede a(i+1), e a(n) é o último elemento.
Consequência:
As quatro primeiras operações são feitas em tempo constante. As demais, porém, requererão mais cuidados.
Vantagem:
• acesso direto indexado a qualquer elemento da lista
• tempo constante para acessar o elemento i - dependerá somente do índice.
Desvantagem:
• movimentação quando eliminado/inserido elemento
• tamanho máximo pré-estimado
Quando usar:
• listas pequenas
• inserção/remoção no fim da lista
• tamanho máximo bem definido
Vamos tentar evitar as desvantagens anteriores ao usar endereços não consecutivos (Lista Encadeada).
OPERAÇÕES BÁSICAS
A seguir, apresentaremos a estrutura de dados e as operações básicas sobre listas, implementadas na linguagem C.
55
CONHECIMENTOS DE INFORMÁTICA
Definição da ED:
*dado = L.v[pos-1];
return (1);
}
56
CONHECIMENTOS DE INFORMÁTICA
LISTA ENCADEADA
Os elementos da lista são registros com um dos componentes destinado a guardar o endereço do registro sucessor.
Ex: L = pato, cabra, rato, anta, macaco
57
CONHECIMENTOS DE INFORMÁTICA
Há duas alternativas para implementação de operações de listas encadeadas: utilizando arrays estáticos ou variáveis dinâmicas.
Entretanto, não há vantagem na implementação da lista encadeada com array, uma vez que permanece o problema do tamanho má-
ximo da lista predefinido e necessita de mais espaço para armazenar os endereços dos elementos sucessores. Portanto, vamos utilizar
variáveis dinâmicas como forma de implementação para as nossas listas encadeadas.
Antes, é importante explicarmos o conceito e utilização de variáveis dinâmicas e de ponteiros (apontadores).
tp *P
Essa declaração expressa que a variável P é um ponteiro para uma variável do tipo tp.
Valores para ponteiros são gerados quando dados correspondentes a seus tipos são alocados/desalocados dinamicamente.
Em C, a função malloc é utilizada para alocar um novo espaço de memória e a função free é utilizada para liberar um espaço alo-
cado. Estão disponíveis na biblioteca <alloc.h>.
Portanto, deixa-se a cargo do programa (via linguagem de programação), e não do programador, prover e devolver espaço para
inserções e eliminações em tempo de execução.
Um ponteiro como P pode assumir o conjunto de valores que correspondem a endereços reais de memória. Por exemplo, sendo
tp um registro contendo os campos dado e prox, e sendo P do tipo tp, podemos ter:
onde o conteúdo de P corresponderia ao endereço do objeto. Esses endereços serão as ligações das listas encadeadas dinâmicas.
58
CONHECIMENTOS DE INFORMÁTICA
Dada a situação (a), após a atribuição *P = *Q temos a representação abaixo (c), onde o conteúdo é atribuído.
(Lembre-se que *P = *Q equivale às atribuições P->dado = Q->dado e P->prox = Q->prox)
1) Declaração de Variável
tp *P;
2) Criação de um registro
P->dado = valor;
P->prox = NULL;
59
CONHECIMENTOS DE INFORMÁTICA
5) Liberação de um registro
free(P);
Libera o espaço apontado por P.
É conveniente atribuir NULL à P para evitar uma utilização indevida ao endereço apontado por P.
DEFINIÇÃO DA ED
60
CONHECIMENTOS DE INFORMÁTICA
61
CONHECIMENTOS DE INFORMÁTICA
Definição:
Dada uma pilha P = ( a(1), a(2), ..., a(n) ), dizemos que a(1) é
o elemento da base da pilha; a(n) é o elemento topo da pilha; e
a(i+1) está acima de a(i).
Pilhas são também conhecidas como listas LIFO (last in first
out).
Operações Associadas:
1. Criar uma pilha P vazia
2. Testar se P está vazia OPERAÇÕES:
3. Obter o elemento do topo da pilha (sem eliminar) 1) Criar uma pilha vazia
4. Inserir um novo elemento no topo de P (empilhar)
5. Remover o elemento do topo de P (desempilhar)
Implementação de Pilhas
Como lista Sequencial ou Encadeada?
No caso geral de listas ordenadas, a maior vantagem da
alocação encadeada sobre a seqüencial - se a memória não for
problema - é a eliminação de deslocamentos na inserção ou eli- 2) Testar se a pilha está vazia
minação dos elementos. No caso das pilhas, essas operações de
deslocamento não ocorrem.
Portanto, podemos dizer que a alocação sequencial é mais
vantajosa na maioria das vezes.
62
CONHECIMENTOS DE INFORMÁTICA
3) Obter o elemento do topo da pilha (sem eliminar) 2) Testar se a pilha está vazia
4) Inserir um novo elemento no topo da pilha (empilhar) int elemtopo (tpilha p, telem *elem)
{
if (vazia(p)) return 0; /* erro: pilha vazia */
Fonte:
https://www.ime.uerj.br/~pauloedp/ESTD/Download/
OPERAÇÕES: EDAP2006.pdf
63
CONHECIMENTOS DE INFORMÁTICA
FILAS
É uma lista linear em que a inserção é feita numa extremidade e a eliminação na outra. Conhecida com estrutura FIFO (First In,
First Out).
Exemplos:
- Escalonamento de “Jobs”: fila de processos aguardando os recursos do sistema operacional.
- Fila de pacotes a serem transmitidos numa rede de comutação de pacotes.
- Simulação: fila de caixa em banco.
Operações associadas:
1. Criar - cria uma fila vazia
2. Vazia - testa se um fila está vazia
3. Primeiro - obtém o elemento do início de uma fila
4. Inserir - insere um elemento no fim de uma fila
5. Remover - remove o elemento do início de uma fila, retornando o elemento removido.
Implementação de Filas
Devido a sua estrutura, será necessária a utilização de dois campos que armazenarão os índices do início e do final da fila e um
vetor de elementos (onde serão armazenados os dados) com tamanho pré-estabelecido.
64
CONHECIMENTOS DE INFORMÁTICA
*dado = F.v[F.inicio];
return (1);
}
(F->final)++;
F->v[F->final] = valor;
return(1);
}
primeiro(*F,valor);
(F->inicio)++;
return(1);
}
O que acontece com a fila considerando a seguinte sequência de operações sobre um fila:
I E I E I E I E I E ...
(I - inserção e E - eliminação)
Note que a fila vai se deslocando da esquerda para a direita do vetor. Chegará a condição de “overflow” (cheia), porém estando
vazia, ou seja, sem nenhum elemento.
Alternativa:
No algoritmo de remoção, após a atualização de inicio, verificar se a fila ficou vazia. Se este for o caso, reinicializar inicio = 0 e
final = -1
65
CONHECIMENTOS DE INFORMÁTICA
Portanto, ficaria:
I I E I E I E I E I ...
A lista estaria com no máximo dois elementos, mas ainda ocorreria overflow com a lista quase vazia.
Alternativa:
FILA CIRCULAR
Para permitir a reutilização das posições já ocupadas, usa-se o conceito de “Fila Circular”. Precisamos de um novo componente
para indicar quantos elementos existem na fila, no momento.
A estrutura de dados com o novo componente ficaria assim representada:
66
CONHECIMENTOS DE INFORMÁTICA
*dado = F.v[F.inicio];
return (1);
}
(F->tam)++;
F->final = (F->final + 1) % MAX;
F->v[F->final] = valor;
return(1);
}
primeiro(*F,valor);
(F->tam)--;
F->inicio = (F->inicio + 1) % MAX;
return(1);
}
67
CONHECIMENTOS DE INFORMÁTICA
*elem = (F.inicio)->dado;
return 1;
}
5. Remover - remove o elemento do início de uma fila, re- 2) Verifica se árvore vazia ou não
tornando o elemento removido Retorna 1 se árvore estiver vazia, 0 caso contrário.
int remover (tfila *F, telem *valor) int vazia(tarvbin T)
{ tno *aux; {
return (T == NULL);
if (vazia(*F)) return 0; /* Erro: fila vazia */ }
68
CONHECIMENTOS DE INFORMÁTICA
4) Inserir um nó raiz
Insere um nó raiz numa árvore vazia. Retorna 1 se a inserção for bem sucedida, ou 0 caso contrário.
novo->info = dado;
novo->esq = novo->dir = NULL;
*T = novo; return 1;
}
PERCURSO
Percorrer uma árvore visitando cada nó uma única vez gera uma seqüência linear de nós, e então passa a ter sentido falar em
sucessor e predecessor de um nó segundo um determinado percurso. Há três maneiras recursivas de se percorrer árvores binárias.
Travessia em Pré-Ordem
6. se árvore vazia; fim
7. visitar o nó raiz
8. percorrer em pré-ordem a subárvore esquerda
9. percorrer em pré-ordem a subárvore direita
69
CONHECIMENTOS DE INFORMÁTICA
ABDCEGFHI
• visita o nó quando passar a sua esquerda
• notação pré-fix
Travessia em In-Ordem
1. se árvore vazia, fim
2. percorrer em in-ordem a subárvore esquerda
3. visitar o nó raiz
4. percorrer em in-ordem a subárvore direita
• DBAEGCHFI
• visita o nó quando passar embaixo do nó
• notação in-fix
Travessia em Pós-Ordem
1. se árvore vazia, fim
2. percorrer em Pós-Ordem a subárvore esquerda
3. percorrer em Pós-Ordem a subárvore direita
4. visitar o nó raiz
70
CONHECIMENTOS DE INFORMÁTICA
8) Exibir a árvore
Um procedimento recursivo para exibir a árvore, usando
um percurso pré-ordem, poderia ser o seguinte: Aprendizagem de Maquina: Supervisionada ou Não Super-
visionada?
void exibir(tarvbin T, int col, int lin, int desloc) O uso aprendizagem de máquina abrangem desde jogos pas-
{ sando pela detecção de fraudes até a análise estatísticas da bolsa
// col e lin são as coordenadas da tela onde a árvore irá de valores. É utilizada para construir sistemas como os do Netflix
iniciar, e Spotify que recomendam músicas e/ou vídeos aos usuários com
// ou seja, a posição da raiz, e desloc representa o deslo- base no seu histórico de acesso, seus favoritos e outros dados, ou
camento na tela // (em colunas) de um nó em relação ao nó
sistemas que encontram todos os artigos de notícias similares em
anterior.
um determinado dia. Também pode ser usada para categorizar
páginas de Web automaticamente conforme o gênero (esportes,
if (T == NULL) return; /* condição de parada do procedi-
economia, política, bem-estar e daí por diante) ou marcar mensa-
mento recursivo */
gens de e-mail como spam. Os usos da aprendizagem de máquina
são mais numerosos do que eu posso abordar neste post e diver-
gotoxy(col,lin); printf(“%d”,T->info);
sas abordagens de aprendizagem por máquina são utilizadas para
if (T->esq != NULL) solucionar os mais diversos problemas. Nesse post me concentra-
exibir(T->esq,col-desloc,lin+2,desloc/2+1); rei nas duas mais utilizadas comumente — aprendizagem supervi-
sionada e não supervisionada.
if (T->dir != NULL) Para contextualização do assunto iremos começar pela defi-
exibir(T->dir,col+desloc,lin+2,desloc/2+1); } nição de Aprendizado de máquinas:
Implementação de uma árvore qualquer Arthur Samuel descreveu-a como: “campo de estudos que
dá aos computadores a capacidade de aprender, sem ser expli-
Como seria a implementação de uma árvore de grau qual- citamente programados”, que é uma definição informal mais
quer? velha.
Numa árvore qualquer, cada nó pode conter um número di- Já Tom Mitchell fornece uma definição mais moderna: “Um
ferente de subárvores. Utilizando alocação encadeada dinâmica, programa de computador é dito para aprender com a experi-
uma solução imediata seria fazer com que o tipo de dado dos ência E com a relação a alguma classe de tarefas T e medida de
nós tenha tantas referências (ponteiros) quanto o maior número desempenho P, se o seu desempenho em tarefas em T, medida
de subárvores que um nó possa ter (grau da árvore). pelo P, melhora com a experiência E”
Com esta organização há, geralmente, uma grande quan- Exemplo: Jogando damas
tidade de referências não usadas naqueles nós de grau muito E = A experiência de jogar muitos jogos de damas
menor do que o máximo previsto. T = A tarefa de jogar damas.
A solução alternativa mais econômica para este caso é P = A probabilidade de que o programa irá ganhar o próximo
transformar a árvore a ser representada em uma árvore binária. jogo.
71
CONHECIMENTOS DE INFORMÁTICA
uma saída contínua, o que significa que estamos a tentando mapear variáveis de entrada para alguma função contínua. Em um pro-
blema de classificação, estamos tentando prever os resultados em uma saída discreta. Em outras palavras, estamos tentando mapear
variáveis de entrada em categorias distintas.
Exemplo 1:
Dado um conjunto de dados sobre o tamanho de casas no mercado imobiliário, tentar prever o seu preço. Preço em função do
tamanho é uma saída contínua, de modo que este é um problema de regressão.
Poderíamos também transformar esse exemplo em um problema de classificação, e em vez de fazer a nossa produção sobre se
a casa “é vendida por mais ou menos do que o preço pedido.” Aqui estamos classificando as casas com base no preço em duas cate-
gorias distintas.
Exemplo 2:
(A) Regressão — Dada uma imagem de homem/mulher, temos de prever sua idade com base em dados da imagem.
(B) Classificação — Dada um exemplo de tumor cancerígeno, temos de prever se ele é benigno ou maligno através do seu tama-
nho e idade do paciente.
72
CONHECIMENTOS DE INFORMÁTICA
Fonte:
https://www.ime.uerj.br/~pauloedp/ESTD/Download/EDAP2006.pdf
Apostila de estrutura de dados - Centro federal de educação tecnológica da paraíba coordenação do curso de tecnologia em te-
lemática - prof. Cândido Egypto
https://medium.com/opensanca/aprendizagem-de-maquina-supervisionada-ou-n%C3%A3o-supervisionada-7d01f78cd80a
Esse é o tipo de pergunta que parece desnecessária, pois o próprio nome do conceito revela a resposta: um banco de dados é
simplesmente um conjunto de dados. Sob esse ponto de vista, uma planilha com uma lista de clientes ou o caderno que o dono do
mercadinho da esquina mantém para saber quem está devendo podem ser tratados como bancos de dados.
A gente precisa de uma abordagem mais ampla: para ser considerado como tal, um banco de dados deve reunir informações de
maneira organizada, consistente, protegida e acessível em tempo hábil. É neste ponto que entra em cena o conceito de Sistema de
Gerenciamento de Banco de Dados (SGBD) ou, para quem preferir o nome em inglês, Data Base Management System (DBMS).
Basicamente, um SGBD é uma estrutura de software que permite que dados sejam armazenados, organizados, protegidos, atua-
lizados, acrescentados, excluídos e acessados sempre que necessário, devendo corresponder à demanda que a aplicação que o utiliza
exige. Por questões de praticidade, convencionou-se chamar os SGBDs simplesmente de… bancos de dados. E há várias opções dispo-
níveis para aplicações de todos os tamanhos.
73
CONHECIMENTOS DE INFORMÁTICA
Via de regra, bancos de dados relacionais são baseados na Conversão e mapeamento da diferença semântica entre os
linguagem SQL. Mas a gente também vai encontrar bancos de paradigmas utilizados no desenvolvimento de interfaces (Impe-
dados não relacionais que, como tal, são frequentemente cha- rativo (ou procedural), Orientado a Objeto, Orientado a evento),
mados de noSQL. Eles possuem estruturas que diferem do SQL servidores de dados (Relacional) e programação dos aplicativos
e, portanto, são direcionados a aplicações que não podem ter os (Imperativo, Orientado a Objetos).
dados completamente organizados em tabelas, como serviços
que armazenam imagens na web, por exemplo. Arquiteturas
Não pense que termina aí. Há outras soluções no mercado, As primeiras arquiteturas usavam mainframes para execu-
inclusive dotadas de muita tecnologia. É o caso da Oracle, que tar o processamento principal e de todas as funções do sistema,
lançou, no ano passado, o primeiro banco de dados autônomo incluindo os programas aplicativos, programas de interface com
nas nuvens. Essa solução é capaz de ajustar, reparar e atualizar o usuário, bem como a funcionalidade dos SGBDs. Esta é a razão
o banco de dados de modo automatizado, dispensando interfe- pela qual a maioria dos usuários fazia acesso aos sistemas via
rência humana. Sensacional, não? terminais que não possuíam poder de processamento, apenas a
capacidade de visualização. Todos os processamentos eram fei-
Bancos de dados: praticamente onipresentes tos remotamente, apenas as informações a serem visualizadas
A razão para termos tantos tipos de bancos de dados está e os controles eram enviados do mainframe para os terminais
no fato de que eles armazenam e dão acesso a uma enorme de visualização, conectados a ele por redes de comunicação.
variedade de informações. Sem eles, quase nada funciona de Como os preços do hardware foram decrescendo, muitos usuá-
modo eficiente. Dos sistemas mais simples aos mais complexos, rios trocaram seus terminais por computadores pessoais (PC) e
praticamente todos dependem de bancos de dados. estações de trabalho. No começo os SGBDs usavam esses com-
Parece até uma constatação óbvia, mas, frequentemente, putadores da mesma maneira que usavam os terminais, ou seja,
não nos damos conta disso. Tem que ser assim mesmo: do ponto o SGBD era centralizado e toda sua funcionalidade, execução de
de vista do usuário, o banco de dados em si deve ser invisível no programas aplicativos e processamento da interface do usuário
sentido de não se distinguir da aplicação que o acessa. eram executados em apenas uma máquina. Gradualmente,
Mas basta pensarmos um pouquinho que vamos perceber os SGBDs começaram a explorar a disponibilidade do poder de
que os bancos de dados estão em todos os lugares e a gente os processamento no lado do usuário, o que levou à arquitetura
acessa constantemente: no caixa eletrônico do banco, na com- cliente-servidor.
pra de uma passagem aérea, no serviço de email, em cada ação A arquitetura cliente-servidor foi desenvolvida para dividir
que realizamos nas redes sociais, na aquisição de um produto ambientes de computação onde um grande número de PCs,
pela internet, nas centrais telefônicas, ao declarar imposto de estações de trabalho, servidores de arquivos, impressoras, ser-
renda, ao baixarmos um aplicativo no celular e por aí vai. vidores de banco de dados e outros equipamentos são conecta-
dos juntos por uma rede. A idéia é definir servidores especiali-
Arquiteturas de Banco Dados zados, tais como servidor de arquivos, que mantém os arquivos
Atualmente, devem-se considerar alguns aspectos rele- de máquinas clientes, ou servidores de impressão que podem
vantes para atingir a eficiência e a eficácia dos sistemas infor- estar conectados a várias impressoras; assim, quando se desejar
matizados desenvolvidos, a fim de atender seus usuários nos imprimir algo, todas as requisições de impressão são enviadas a
mais variados domínios de aplicação: automação de escritórios, este servidor. As máquinas clientes disponibilizam para o usuá-
sistemas de apoio a decisões, controle de reserva de recursos, rio as interfaces apropriadas para utilizar esses servidores, bem
controle e planejamento de produção, alocação e estoque de como poder de processamento para executar aplicações locais.
recursos, entre outros. Tais aspectos são: Esta arquitetura se tornou muito popular por algumas razões.
Os projetos Lógico e Funcional do Banco de Dados devem Primeiro, a facilidade de implementação dada à clara separação
ser capazes de prever o volume de informações armazenadas a das funcionalidades e dos servidores. Segundo, um servidor é
curto, médio e longo prazo. Os projetos devem ter uma grande inteligentemente utilizado porque as tarefas mais simples são
capacidade de adaptação para os três casos mencionados; delegadas às máquinas clientes mais baratas. Terceiro, o usuário
Deve-se ter generalidade e alto grau de abstração de dados, pode executar uma interface gráfica que lhe é familiar, ao in-
possibilitando confiabilidade e eficiência no armazenamento vés de usar a interface do servidor. Desta maneira, a arquitetura
dos dados e permitindo a utilização de diferentes tipos de ge- cliente-servidor foi incorporada aos SGBDs comerciais. Diferen-
renciadores de dados através de linguagens de consultas padro- tes técnicas foram propostas para se implementar essa arquite-
nizadas; tura, sendo que a mais adotada pelos Sistemas Gerenciadores
Projeto de uma interface ágil e com uma “rampa ascenden- de Banco de Dados Relacionais (SGBDRs) comerciais é a inclusão
te” para propiciar aprendizado suave ao usuário, no intuito de da funcionalidade de um SGBD centralizado no lado do servidor.
minimizar o esforço cognitivo; As consultas e a funcionalidade transacional permanecem no
Implementação de um projeto de interface compatível com servidor, sendo que este é chamado de servidor de consulta ou
múltiplas plataformas (UNIX, Windows NT, Windows Work- servidor de transação. É assim que um servidor SQL é fornecido
group, etc); aos clientes. Cada cliente tem que formular suas consultas SQL,
Independência de Implementação da Interface em relação prover a interface do usuário e as funções de interface usando
aos SGBDs que darão condições às operações de armazenamen- uma linguagem de programação. O cliente pode também se re-
to de informações (ORACLE, SYSBASE, INFORMIX, PADRÃO XBA- ferir a um dicionário de dados o qual inclui informações sobre
SE, etc). a distribuição dos dados em vários servidores SQL, bem como
74
CONHECIMENTOS DE INFORMÁTICA
os módulos para a decomposição de uma consulta global em um número de consultas locais que podem ser executadas em vários
sítios. Comumente o servidor SQL também é chamado de back-end machine e o cliente de front-end machine. Como SQL provê uma
linguagem padrão para o SGBDRs, esta criou o ponto de divisão lógica entre o cliente e o servidor.
Atualmente, existem várias tendências para arquitetura de Banco de Dados, nas mais diversas direções.
Arquitetura Distribuída N camadas
Abstração de dados
Um SGBD é composto de uma coleção de arquivos inter-relacionados e de um conjunto de programas que permitem aos usuários
fazer o acesso a estes arquivos e modificar os mesmos. O grande objetivo de um sistema de banco de dados é prover os usuários com
uma visão abstrata dos dados. Isto é, o sistema omite certos detalhes de como os dados são armazenados e mantidos. Entretanto,
para que o sistema possa ser utilizado, os dados devem ser buscados de forma eficiente. Este conceito tem direcionado o projeto de
estrutura de dados complexas para a representação de dados em um banco de dados. Uma vez que muitos dos usuários de banco de
dados não são treinados para computação, a complexidade está escondida deles através de diversos níveis de abstração que simplifi-
cam a interação do usuário com o sistema.
75
CONHECIMENTOS DE INFORMÁTICA
O MODELO RELACIONAL
O Modelo Relacional (MR) é um modelo de dados represen-
tativo (ou de implementação) que foi proposto por Ted Codd,
em 1970. O modelo fundamenta-se em conceitos da matemá-
Uma analogia com o conceito de tipos de dados em lingua- tica – teoria dos conjuntos e lógica de predicado. Os primeiros
gens de programação pode esclarecer a distinção entre os ní- sistemas comerciais baseados no MR foram disponibilizados em
veis de abstração. A maioria das linguagens de programação de 1980 e desde então ele vem sendo implementado em muitos
alto nível tem suporte para a noção de um tipo de registro. Por sistemas, tais como Access, Oracle, MySql, entre outros (ELMAS-
exemplo, numa linguagem como Pascal podemos declarar um RI; NAVATHE, 2011, p. 38).
registro assim: Para DATE (2004, p. 67), o modelo relacional refere-se a
type cliente = record “três aspectos principais dos dados: a estrutura de dados, a in-
nome: string; tegridade de dados e a manipulação de dados”.
rua: string;
cidade: string;
76
CONHECIMENTOS DE INFORMÁTICA
O ASPECTO ESTRUTURAL
No Modelo Relacional o banco de dados é representado como um conjunto de relações. Considerando que uma relação é, de
certo modo, similar a uma tabela de valores e aplicando a terminologia do MR diz-se que as linhas denominam-se tuplas; as colunas,
atributos; e a tabela em si, relação (ELMASRI; NAVATHE, 2011, p. 39).
O conjunto de valores que cada atributo pode assumir chama-se domínio (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 62).
Seja Dn, onde D é o domínio de determinado atributo e n a posição do atributo na relação e considerando a relação Cargos (figura
13), tem-se que D1 é domínio do atributo Codigo, pois representa o conjunto de todos os possíveis códigos de cargo. D2 é o domínio
de Denominacao, porque denota o conjunto de todas as nomenclaturas de cargo. D3 é domínio de Classe, visto que representa o
conjunto de todas as classes de cargo, e assim por diante.
Ainda segundo SILBERSCHATZ, KORTH e SUDARSHAN (1999, p. 62), uma relação é definida matematicamente como um subcon-
junto do produto cartesiano de uma lista de domínios. Desta forma, a relação Cargos é denotada por D1xD2xD3xD4, ou seja, Cargos é
um subconjunto do conjunto de todas as combinações possíveis de valores.
Um esquema de relação (ou scheme de relação) é utilizado para descrever uma relação. Um esquema é indicado por R(A1, A2,-
c,An), onde R é o nome da relação e An são seus atributos (ELMASRI; NAVATHE, 2011, p. 40). Por exemplo, Cargos(Codigo, Denomi-
nacao, Classe, Categoria) representa o esquema da relação Cargos.
O número de atributos de um esquema de relação é denominado grau ou aridade (ELMASRI; NAVATHE, 2011, p. 40). Cargos, por
exemplo, é uma relação de grau três.
Uma instância de relação (ou estado de relação) é um conjunto de tuplas – seus valores num dado momento. O estado r do es-
quema R, denotado por r(R), é um conjunto de tuplas r={t1, t2,c, tn}, onde cada tupla t é formada por uma lista de valores t=(v1, v2,
c, vn), em que cada valor vi está no domínio do respectivo atributo Ai (ELMASRI; NAVATHE, 2011, p. 40). Exemplificando, a instância
do esquema da relação Cargos (figura 13) é composta de cinco tuplas, cada tupla é uma lista de quatro valores (por exemplo, na pri-
meira tupla temos os seguintes valores: 701001, Administrador, E, Técnico-Administrativo), sendo cada valor elemento do domínio
do atributo correspondente (701001 está no domínio do atributo Código, Administrador está no domínio de Denominacao, E está no
domínio de Classe e TécnicoAdministrativo está no domínio de Categoria).
O ASPECTO DE INTEGRIDADE
Discutiremos nesta seção os conceitos de: superchave, chave, chave candidata, chave primaria, chave única (ou chave alternati-
va), chave estrangeira e integridade referencial.
“Uma superchave é um conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira
unívoca uma entidade em um conjunto de entidades” (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 32).
Na relação Cargos (Figura 13), os conjuntos {Codigo, Categoria} e {Denominacao, Classe}, por exemplo, são superchaves. Porém,
{Classe, Categoria} não é, visto que há para esse conjunto de atributos tuplas que tem as mesmas combinações de valores.
Na definição de DATE (2004, p. 233), um conjunto de atributos é dito chave se satisfazer as condições de:
1) Unicidade: esta é a propriedade atendida pelas superchaves, conforme especificado anteriormente. Ou seja, para um dado
conjunto de atributos não há na relação tuplas com valores iguais.
2) Irredutibilidade: estabelece que não deve existir no conjunto de atributos chamado chave um subconjunto que tenha a pro-
priedade de unicidade. Em outras palavras, além de seguir a primeira regra, a chave deve ser um conjunto mínimo de atributos. Por
exemplo, o conjunto {Codigo, Denominacao} não é uma chave, porque embora satisfaça a primeira regra acaba quebrando a segunda
– {Codigo} e {Denominação}, tomados separadamente, já identificam exclusivamente cada tupla na relação Cargos. O conjunto {Codi-
go} é um exemplo de chave, pois atende simultaneamente as duas condições acima.
Uma relação pode possuir mais de uma chave, sendo cada uma delas chamada de chave candidata (ELMASRI; NAVATHE, 2011, p.
45). {Codigo} e {Denominacao}, por exemplo, são chaves candidatas.
77
CONHECIMENTOS DE INFORMÁTICA
A chave candidata usada para identificar tuplas em uma dada relação denomina-se chave primária. As demais chaves candidatas
dessa relação são ditas chaves únicas. Indica-se uma chave primária sublinhando no esquema da relação os atributos que a compõem
(ELMASRI; NAVATHE, 2011, p. 45).
Ilustrando, o esquema da relação Cargos ficaria assim: Cargos(Codigo, Denominacao, Classe, Categoria).
Tendo por base o exposto por SETZER e CORRÊA DA SILVA (2005, p. 124), discutiremos os conceitos de chave estrangeira e inte-
gridade referencial por meio de um exemplo.
Considerando a representação acima, interpretamos do Diagrama EntidadeRelacionamento (figura 14a) que cada ente do conjun-
to de entidades Servidores ocupa no mínimo e no máximo um cargo. Entretanto, um cargo pode ser ocupado por nenhum ou muitos
servidores. Mapeando essa situação para o Modelo Relacional, obtem-se os seguintes esquemas de relação: Cargos(Codigo, Denomi-
nacao, Classe, Categoria) e Servidores(Prontuario, Nome, Admissao, Codigo). Consequentemente, existirão duas relações conforme
figura 14b.
Observe que o relacionamento Ocupação entre os conjuntos de entidades Servidores e Cargos, ocorre no Modelo Relacional
(figura 14b) através da transposição do atributo Codigo de Cargos para Servidores. Esse atributo transposto em Servidores (tem como
origem a relação Cargos e como destino a relação Servidores) denomina-se chave estrangeira. Uma tupla em Servidores faz referência
a uma tupla de Cargos, sendo que essa referência é realizada através do valor contido no atributo Codigo.
Chama-se integridade referencial a regra de que o valor contido na chave estrangeira de Servidores deve corresponder a um valor
de chave primária em Cargos. Em outras palavras, a integridade referencial é a restrição de que “o banco de dados não pode conter
quaisquer valores de chaves estrangeiras não correspondentes” (DATE, 2004, p. 237).
O ASPECTO MANIPULATIVO
“Uma linguagem de consulta é a linguagem por meio da qual os usuários obtêm informações do banco de dados” (SILBERSCHATZ;
KORTH; SUDARSHAN, 1999, p. 68).
De acordo com SETZER e CORRÊA DA SILVA (2005, p. 172), foram definidas duas linguagens de acesso ao modelo relacional: a
Álgebra Relacional e o Cálculo Relacional.
Segundo SILBERSCHATZ, KORTH e SUDARSHAN (1999, p. 68), as linguagens de consulta podem ser classificadas em procedurais
ou não-procedurais, sendo a Álgebra Relacional um exemplar da primeira modalidade e o Cálculo Relacional um exemplo da segunda.
Em uma linguagem de consulta procedural é necessário especificar todas as operações a serem realizados sobre o banco de dados
para a obtenção da informação desejada. Ao contrário, em uma linguagem não-procedural, descreve-se a informação desejada sem
especificar o procedimento para obtê-la.
A abordagem das linguagens de Álgebra e Cálculo Relacional está fora do escopo deste trabalho, porém, para fixar a definição
dada acima utilizaremos o seguinte exemplo: considerando o esquema da relação Cargos, digamos que seja necessário saber a deno-
minação e a categoria dos cargos cuja classe seja “C”.
Para cumprir a tarefa proposta utilizando a Álgebra Relacional, devemos saber quais operadores usar e em que ordem eles serão
aplicados. Obrigatoriamente, temos que saber: a) que serão necessários dois operadores (o de Seleção, indicado por σ
(sigma), e o operador Projeção, indicado por π (pi)) e b) que primeiro deve ser executada a seleção, e depois a projeção. Assim,
a expressão final teria a seguinte forma:
78
CONHECIMENTOS DE INFORMÁTICA
Já utilizando o Cálculo Relacional, é necessário especificar apenas o que desejamos. Desta forma, especificarmos quais os atribu-
tos desejados para cada tupla, informamos que essas tuplas estão na relação Cargos e que devem ser listadas somente aquelas cujo
valor do atributo Classe seja “C”. A instrução em Cálculo Relacional teria a seguinte sintaxe:
{ t.Denominacao, t.Categoria | Cargos(t) and t.Classe = “C”}
“Uma entidade é representada por um conjunto de atributos. Atributos são propriedades descritivas de cada membro de um
conjunto de entidades” (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 22).
Em outras palavras, atributos são os dados que se deseja guardar sobre cada entidade (SETZER; CORRÊA DA SILVA, 2005, p. 23).
Desta forma, o nome, o prontuário e a data de nomeação são possíveis atributos para cada entidade do conjunto de entidades
Servidores. Endereço e sigla comporiam os atributos de cada ente do conjunto de entidades Campi.
Os atributos podem ser classificados como:
- Simples ou Compostos
De acordo com ELMASRI e NAVATHE (2011, p. 153), “atributos não divisíveis são chamados atributos simples ou atômicos”.
Por outro lado, atributos compostos não possuem valor elementar e podem ser decompostos em outros atributos simples e/ou
compostos (SETZER; CORRÊA DA SILVA, 2005, p. 24).
Por exemplo, o endereço de cada servidor é um atributo composto, pois pode ser dividido em alguns atributos simples, como:
Logradouro, Número, Complemento, Bairro, Cidade e Estado.
- Monovalorados ou Multivalorados
79
CONHECIMENTOS DE INFORMÁTICA
Um atributo monovalorado é aquele que assume um único valor para uma dada entidade. Ao passo que, um atributo multivalo-
rado pode ter n valores considerando uma mesma entidade (SETZER; CORRÊA DA SILVA, 2005, p. 27).
Exemplificando, o atributo Sexo do conjunto de entidades Servidores é um atributo monovalorado, pois assume um único valor
– masculino ou feminino – para cada entidade. Ao contrário, o atributo Telefone é considerado multivalorado, visto que um servidor
pode ter vários telefones para contato e, consequentemente, esse atributo assumirá n valores.
- Armazenados ou Derivados
Quanto ao atributo derivado SILBERSCHATZ, KORTH e SUDARSHAN (1999, p. 24), definem que “o valor desse tipo de atributo pode
ser derivado de outros atributos ou entidades a ele relacionados”.
O atributo Data_Exercicio que representa a data de entrada em efetivo exercício de cada servidor é um exemplo de atributo ar-
mazenado. Já o atributo
Tempo_Contribuição que simboliza o tempo total de serviços prestados à instituição é um atributo derivado, porque pode ser
obtido pelo valor de Data_Exercício e pela data atual.
- Nulos
“Um atributo nulo é usado quando uma entidade não possui valor para determinado atributo” (SILBERSCHATZ; KORTH; SUDAR-
SHAN, 1999, p. 24).
O atributo Número_Reservista do conjuntos de entidades Servidores é um atributo nulo, pois não se aplica a todas entidades
(servidoras não possuem Carteira de Reservista).
- Chaves ou Determinantes
SETZER e CORRÊA DA SILVA (2005, p. 31), definem que “dado um conjunto de entidades, não há duas entidades desse conjunto
com o mesmo valor para aquele atributo. Em outras palavras, dado um valor para esse atributo, esse valor determina a qual entidade
ele está associado”.
Por exemplo, Prontuário é um atributo chave, pelo motivo de identificar de forma unívoca cada ente no conjunto de entidades
Servidores. Não há dois servidores com um mesmo número de prontuário.
Ainda sobre atributos, outro ponto importante é o que se denomina domínio de valores. Um domínio de valores diz respeito ao
conjunto de valores que determinado atributo pode assumir para cada entidade. Ou seja, conforme esclarece DATE (2004, p. 356), um
atributo “tira seus valores de um conjunto de valores correspondente (isto é, domínio, em outras palavras)”.
Por exemplo, em determinada instituição pública o servidor pode, conforme o cargo ocupado, cumprir uma jornada de trabalho
de 20, 30 ou 40 horas semanais. Considerando que Carga_Horária seja um dos atributos de Servidores, o conjunto formado pelos va-
lores 20, 30 e 40 compõem o domínio dessa propriedade, uma vez que Carga_Horária tem, obrigatoriamente, que assumir um desses
três valores.
No modelo E-R atributos são representados por elipses, conforme notação abaixo:
80
CONHECIMENTOS DE INFORMÁTICA
81
CONHECIMENTOS DE INFORMÁTICA
Para ELMASRI e NAVATHE (2011, p. 143), a restrição de participação “especifica o número mínimo de instâncias de relacionamen-
to em que cada entidade pode participar”. Ainda segundo os autores, as restrições de participação classificam-se em total e parcial.
Considerando ainda os conjuntos de entidades A, entidades B e relacionamentos R, temos que a participação de A em R é dita
total de todos os elementos em A participam de pelo menos um relacionamento R. Caso contrário, se apenas uma parte dos entes em
A associam-se aos elementos em B através de R, a participação de A em R é chamada de parcial.
Outra questão importante, mas que está fortemente ligada à restrição de participação do tipo total, é a dependência de existên-
cia. Vamos explicá-la por meio do seguinte exemplo: se a participação de A em R é total, isto significa que a existência das entidades
em A dependem da existência das entidades em B. Então, A é dito dependente de B.
No modelo E-R, a participação total (no mínimo um) é representada por linha dupla ligando o conjunto de entidades ao relacio-
namento correspondente. Já a participação parcial (nenhum mínimo) é exibida por linha simples.
O diagrama acima significa que um servidor tem como dependente no mínimo nenhum e no máximo muitos dependentes. Por
outro lado, um dependente é dependente de no mínimo um e no máximo um servidor. Ou seja, poderão existir funcionários que não
possuem dependentes, porém todo dependente deve estar associado a um servidor.
O PADRÃO-SQL
A Structured Query Language (SQL) ou Linguagem de Consulta Estruturada foi criada pela IBM Research, no início da década de
1970, para o protótipo de um sistema de banco de dados chamado System R (DATE, 2004, p. 71).
Baseada nas linguagens de Álgebra e Cálculo Relacional, e inicialmente denominada SEQUEL (Structured English QUEry Langua-
ge), SQL hoje é a linguagem padrão para Sistemas Gerenciadores de Bancos de Dados Relacionais (SGBDR), sendo mais intelegível do
que suas linguagens maternas – consideradas técnicas demais para o usuário (ELMASRI; NAVATHE, 2011, p. 57).
A SQL é padronizada pelo American National Standards Institute (ANSI) e pela International Standards Organization (ISO), con-
juntamente. A primeira versãopadrão, chamada de SQL-86 (ou SQL1), foi lançada em 1986 e desde então ela vem sendo atualizada
– SQL-92 (ou SQL2), SQL:1999 (ou SQL3), SQL:2003, SQL:2006 e, ainda, uma outra atualização ocorreu em 2008 (ELMASRI; NAVATHE,
2011, p. 57).
Apesar de conhecida como uma “linguagem de consulta”, a SQL oferece também recursos para definir a estrutura dos dados,
atualizar – incluir, excluir e alterar – dados, especificar restrições de integridade e outros recursos mais (SILBERSCHATZ; KORTH; SU-
DARSHAN, 1999, p. 109).
De acordo com DATE (2004, p. 85), a SQL possui, entre outros, os seguintes componentes: Data Definition Language (DDL) ou
Linguagem de Definição de Dados e Data Manipulation Language (DML) ou Linguagem de Manipulação de Dados.
82
CONHECIMENTOS DE INFORMÁTICA
83
CONHECIMENTOS DE INFORMÁTICA
constraint ChPServidores primary key (Prontuario), alter table <nome da tabela> drop constraint <nome da
constraint ChAServidores unique (SIAPE), restrição>, para excluir uma restrição de uma tabela.
constraint ChEServCargo foreign key (CodCargos) referen-
ces Cargos (Codigo), LINGUAGEM DE MANIPULAÇÃO DE DADOS
constraint ChEServCampi foreign key (CodCampi) referen- Uma vez definido o banco de dados é possível operar sobre
ces Campi (Sigla)) ele através das operações de manipulação: select, insert, update
e delete (DATE, 2004, p. 73).
Aqui, criamos uma tabela denominada Cargos que possui Select é usada para realizar consultas ao banco de dados,
quatro colunas. Dissemos que a segunda coluna (Denominacao) enquanto insert, update e delete são aplicadas na inserção, atu-
não aceita valores nulos. A primeira coluna (Codigo) é a cha- alização e exclusão de dados, respectivamente.
ve primária (primary key) da tabela Cargos e por esse motivo
também não permite valores nulos. Especificamos que o valor INSTRUÇÃO SELECT
padrão (default) para Classe é “E”. Através da cláusula check De acordo com ELMASRI e NAVATHE (2011, p. 86), um co-
determinamos que Categoria deve assumir o valor “Técnico-Ad- mando select pode incluir até seis cláusulas:
ministrativo” ou “Docente”. E, ainda, definimos uma restrição select <lista de atributos e funções>
(constraint) de chave primária chamada ChPCargos. from <lista de tabelas>
Criamos também uma tabela Campi com duas colunas – Si- where <condição>
gla (que é chave primária) e Cidade – e também uma restrição group by <atributo de agrupamento>
de chave primária denominada ChPCampi. having <condição de grupo>
A última tabela (Servidores) é composta por sete colunas, order by <lista de atributos>,
sendo: Prontuario, uma chave primária; SIAPE, uma chave única devendo a instrução seguir essa ordem e sendo obrigatórias
(ou alternativa); CodCargos, uma chave estrangeira que referen- apenas as duas primeiras cláusulas – select e from.
cia a tabela Cargos; CodCampi; uma chave estrangeira que refe-
rencia a tabela Campi; e mais três colunas, Nome, Admissao e Cláusulas select e from
Salario (note que para especificar esse atributo usamos o nome A cláusula select é usada para elencar os atributos deseja-
do domínio que foi definido anteriormente). Além disso, exis- dos no resultado da consulta, e from, para especificar em qual
tem quatro restrições: duas de chave estrangeira (ChEServCargo ou quais tabelas eles são encontrados.
e ChEServCampi), uma de chave única (ChAServidores) e outra Considerando a tabela Cargos, podemos, por exemplo, criar
de chave primária (ChPServidores). a instrução:
Abordaremos agora outros dois importantes comandos select Codigo, Denominacao
pertencentes à DDL – drop e alter. from Cargos
para listar somente as colunas (atributos) Codigo e Deno-
INSTRUÇÃO DROP minacao da tabela Cargos. Agora considere a seguinte consulta:
“apresente todas as classes da tabela cargos”.
“O comando DROP pode ser usado para remover elementos select Classe
nomeados do esquema, como tabelas, domínios ou restrições” from Cargos
(ELMASRI; NAVATHE, 2011, p. 91). Ele possui a seguinte sintaxe: O resultado da consulta é uma tabela com apenas uma colu-
drop <tipo do elemento> <nome do elemento> na onde aparecem os valores de classe. Contudo, alguns desses
Suponha, por exemplo, a necessidade de excluir a tabela valores podem aparecer duplicados caso tenhamos na tabela
Servidores, assim como o domínio Moeda. As respectivas instru- dois ou mais cargos que possuam a mesma classe (o que é bem
ções seriam definidas assim: provável). Para forçar a eliminação dos valores duplicados no re-
drop table Servidores sultado dessa consulta devemos acrescentar a palavra reservada
drop domain Moeda distinct.
select distinct Classe
INSTRUÇÃO ALTER from Cargos
A instrução alter permite modificar a estrutura de uma ta- Assim, asseguramos que cada valor “D”, por exemplo, apa-
bela, bem como alterar a definição de outros elementos nome- reça uma única vez no resultado da consulta. Entretanto, se de-
ados de um esquema. Considerando uma tabela, tem-se a opor- sejarmos que de fato apareçam todos os valores podemos de-
tunidade de adicionar e excluir colunas, modificar a definição clará-lo de forma explícita por meio da palavra-chave all.
de colunas, e ainda, acrescentar ou eliminar restrições para a select all Classe
tabela (ELMASRI; NAVATHE, 2011, p. 61). from Cargos
Entre outras, podemos utilizar o comando alter das seguin- O comando select sem distinct ou all, todavia, é correspon-
tes formas: dente a select all (ELMASRI; NAVATHE, 2011, p. 68)
alter table <nome da tabela> add column <nome da colu- Caso seja necessário listar na consulta todas as colunas de
na> <tipo de dado>, para acrescentar uma coluna a uma tabela; uma tabela, podemos utilizar o sinal de asterisco (*) ao invés de
alter table <nome da tabela> drop column <nome da colu- especificar os atributos na cláusula select. Desse modo,
na>, para remover uma coluna de uma tabela; select *
alter table <nome da tabela> add constraint <nome da res- from Cargos
trição>, para adicionar uma restrição a uma tabela; e é equivalente a
84
CONHECIMENTOS DE INFORMÁTICA
select Codigo, Denominacao, Classe, Categoria De acordo com SETZER e CORRÊA DA SILVA (2005, p. 179),
from Cargos. “para fazer uma consulta envolvendo duas tabelas ligadas, é
A cláusula select pode ainda conter expressões aritméticas sempre necessário colocar no predicado a condição de junção.
envolvendo constantes ou atributos e operadores de +, -, * e Essa condição é justamente a igualdade das duas colunas”.
/ (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 112). Conside- Ora, a chave primária de Cargos (Codigo) foi transposta em
rando a tabela Servidores, a instrução Servidores (CodCargos). Logo, CodCargos e Codigo são corres-
select Nome, Salario * 12 pondentes. Assim, para solucionar a questão anterior teríamos
from Servidores a consulta:
lista o nome e o salário bruto anual de cada servidor, sendo select Nome, Denominacao
essa última coluna obtida pela multiplicação do salário percebi- from Servidores, Cargos
do pela quantidade de meses no ano. Tabelas (relações) e colu- where CodCargos = Codigo
nas (atributos) podem ser renomeadas através da cláusula as
(SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 114). Tomemos
Cláusulas group by
como ilustração o resultado da consulta realizada acima. Nela a
Antes de tratarmos da cláusula group by discutiremos fun-
coluna onde aparecerá o salário bruto anual não terá um nome.
ções agregadas.
Então, podemos atribuí-lo por meio da cláusula as, conforme
segue: São ditas funções agregadas as funções que recebem como
select Nome, Salario * 12 as Sal_Bruto_Anual entrada um conjuntos de valores, produzindo como saída um
from Servidores único valor. Compreendem as funções avg, min, max, sum e cou-
nt, empregadas no cálculo de média, mínimo, máximo, totaliza-
Cláusula where ção de valores e totalização de quantidades, respectivamente
A cláusula where é denotada por where<condição>, onde (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 120).
“<condição> é uma expressão condicional (booleana) que iden- Suponha a consulta “encontre a quantidade total de servi-
tifica as tuplas a serem recuperadas pela consulta” (ELMASRI; dores da instituição”. Para obter esse quantitativo podemos, por
NAVATHE, 2011, p. 64). Em outras palavras, todas as tuplas re- exemplo, totalizar a quantidade de prontuários existentes na ta-
sultantes de uma consulta onde where esteja presente devem bela Servidores, conforme segue:
satisfazer a condição especificada nessa cláusula. select count (Prontuario)
Por exemplo, a consulta “encontre o nome de todos os ser- from Servidores
vidores que percebem salário acima de R$1.000,00” é especifi- Essa consulta tem como resultado uma tabela formada por
cada em SQL da seguinte forma: uma única linha e coluna onde consta a quantidade total de ser-
select Nome vidores do órgão.
from Servidores Agora, sofisticando um pouco a consulta anterior, imagine
where Salario > 1000 que devamos “encontrar a quantidade total de servidores em
Assim, a consulta seleciona em Servidores as linhas que cada campus da instituição”. Primeiro é necessário dividir os ser-
atendam a condição de where (Salario>1000) e então projeta o vidores em grupos de acordo com o seu local de trabalho e de-
resultado no atributo Nome. pois efetuar a contagem dos respectivos prontuários por meio
Para montar condições na cláusula where é possível utilizar de count.
operadores de comparação (>, <, =, >=, <=, <> e between) e co- A cláusula SQL group by é utilizada justamente quando
nectores lógicos (and, or e not) (SILBERSCHATZ; KORTH; SUDAR- precisamos aplicar funções agregradas à subgrupos do total de
SHAN, 1999, p. 113). Para ilustrar, veja como fica a sintaxe da linhas, sendo que esses grupos serão formados a partir dos atri-
consulta “selecione o prontuário e o nome dos servidores que
butos constantes na cláusula group by (SILBERSCHATZ; KORTH;
foram admitidos entre 02/04/2010 e 07/09/2011”.
SUDARSHAN, 1999, p. 120). Enquanto “as funções de agregação
select Prontuario, Nome
from Servidores são usadas para resumir informações de várias tuplas em uma
where Admissao between ‘02/04/2010’ and ‘07/09/2011’ síntese de tupla única. O agrupamento é usado para criar sub-
Na cláusula where é possível estabelecer condições que en- grupos de tuplas antes do resumo” (ELMASRI; NAVATHE, 2011,
volvam a comparação de substrings por meio do operador like p. 82).
associado ao caracter reservado % (porcentagem) ou _ (subli- A instrução correspondente ao exemplo adotado ficaria as-
nhado), onde % representa uma cadeia de caracteres e _ denota sim:
um único caracter (SILBERSCHATZ; KORTH; SUDARSHAN, 1999, select Denominacao, count (Prontuario)
p. 115). Por exemplo, suponhamos que deva ser montada uma from Servidores, Campi
lista de todos os servidores cujos nomes iniciam-se com a letra where CodCampi = Sigla
“A”. Para atender a essa solicitação seria necessária a seguinte group by Denominacao
consulta:
select Nome Cláusula having
from Servidores Imagine que para a consulta anterior seja necessário “en-
where Nome like ‘A%’ contrar apenas os campi que possuem trinta ou mais servidores”.
Consideremos agora uma consulta que envolva colunas de Para atender essa demanda empregaremos a cláusula having.
duas tabelas, como “para os cargos que possuem ao menos um Uma cláusula having possibilita selecionar somente grupos
servidor, relacione o nome do servidor e o cargo por ele ocupa- cujos componentes atendam a uma determinada condição (SET-
do”. ZER; CORRÊA DA SILVA, 2005, p. 184). No entanto, é importante
85
CONHECIMENTOS DE INFORMÁTICA
ressaltar que having e where desempenham funções diferentes. Entretanto, também é possível determinar a ordem em que
“A cláusula HAVING está para grupos como a cláusula WHERE os valores serão acréscidos à tabela especificando seus respecti-
esta para linhas; em outras palavras, HAVING é usada para elimi- vos atributos na instrução insert. Considerando a tabela Cargos,
nar grupos, da mesma maneira que WHERE é usada para elimi- para inclusão dos mesmos valores acima informados, mas em
nar linhas” (DATE, 2004, p. 204). uma ordem diferente, escreveríamos:
A tabela resultante pode ser obtida da seguinte forma: insert into Cargos (Denominacao, Categoria, Codigo, Classe)
select Denominacao, count (Prontuario) values (“Auxiliar em Enfermagem”, “Tecnico-Administrati-
from Servidores, Campi vo”, “701711”, “C”)
where CodCampi = Sigla
group by Denominacao INSTRUÇÃO DELETE
having count (Prontuario) >= 30 A instrução delete é usada para eliminar linhas em tabela. O
comando possui a seguinte sintaxe:
delete from <nome da tabela>
Cláusula order by where <condição>,
O último possível componente de um comando select é or- onde <nome da tabela> é a tabela de onde serão excluídas
der by. Uma cláusula order by é usada para indicar que se deseja as linhas e <condição> é um “filtro” que selecionará as linhas
um ordenamento – ascendente (asc) ou descendente (desc) – que serão eliminadas.
para as linhas que compõe a tabela resultante, sendo a classifi- Por exemplo, imagine que devamos excluir da tabela Cargos
cação ascendente o padrão, caso não seja explicitamente espe- todos os cargos cuja classe seja “A”. Isso pode ser realizado com:
cificada uma ordem. delete from Cargos
Para a ordenação descendente da coluna Denominacao no where Classe = “A”
resultado da consulta anterior, teríamos:
select Denominacao, count (Prontuario) INSTRUÇÃO UPDATE
from Servidores, Campi O comando update é usado para alterar o valor de determi-
where CodCampi = Sigla nado atributo de uma ou várias linhas em uma tabela.
group by Denominacao Para ilustrar, considere que seja necessário conceder um
aumento de 10% a todos os servidores. Faríamos isso através da
having count (Prontuario) >= 30
instrução update abaixo:
order by Denominacao desc
update Servidores
SETZER e CORRÊA DA SILVA (2005, p. 185), sintetizam de for-
set Salario = Salario + Salario * 0,01
ma muito clara o funcionamento de comando select (com todas
Agora, suponha que o aumento deva ser concedido apenas
as suas possíveis cláusulas), da seguinte forma:
aos servidores que percebem salário inferior a R$ 1.500, 00. Isso
Conceitualmente, a execução de cada select segue a seguin-
pode ser feito com:
te ordem. 1. A cláusula where é testada produzindo com isso
update Servidores
junção e/ou seleção de linhas. 2. É feito o agrupamento das li-
set Salario = Salario + Salario * 0,01
nhas resultantes usando-se os valores das colunas do group by.
where Salario < 1500
3. São escolhidos apenas os grupos que satisfazem a cláusula
having, que é sempre aplicada a cada grupo como um todo e HIVEQL (HIVE 2.2.0)
não individualmente às suas linhas. 4. As linhas assim resultan- Apache Hive é um sistema de data warehouse para Apache
tes são ordenadas pelas colunas indicadas no order by. 5. É feita Hadoop. O Hive permite o resumo de dados, consultas e análise
a projeção na lista de colunas do select, eventualmente com cál- de dados. Consultas de hive são escritas em HiveQL, que é uma
culo de funções de agregação que são aplicadas a todas as linhas linguagem de consulta semelhante ao SQL.
resultantes de cada grupo. O Hive permite que você projete estrutura em grandes volu-
mes de dados sem estrutura. Depois de definir a estrutura, você
INSTRUÇÃO INSERT pode usar o HiveQL para consultar os dados sem conhecimento
O comando insert é usado para inserir dados em uma tabe- de Java ou do MapReduce.
la, mais especificamente inserir linhas na tabela. O HDInsight fornece vários tipos de cluster, que são ajusta-
No comando de inserção podemos informar somente os dos para cargas de trabalho específicas. Os seguintes tipos de
valores a serem incluídos, porém devemos fazê-lo na mesma cluster geralmente são usados para consultas de Hive:
ordem em que as colunas (atributos) aparecem na tabela. As- Consulta Interativa: Um cluster Hadoop que fornece funcio-
sim, para acrescentar novos dados à tabela Cargos temos que nalidade LLAP (Processamento Analítico de Baixa Latência) para
apresentar valores, obrigatoriamente, na seguinte ordem: em melhorar os tempos de resposta de consultas interativas. Para
primeiro lugar o código do cargo; em segundo, sua nomencla- obter mais informações, confira o documento Introdução à Con-
tura; em terceiro, a classe a qual ele pertence; e por último, a sulta Interativa no HDInsight.
categoria na qual ele se enquadra. Hadoop: Um cluster Hadoop que está ajustado para cargas
insert into de trabalho de processamento em lotes. Para obter mais infor-
Cargos values (“701711”, “Auxiliar em Enfermagem”, “C”, mações, confira o documento Introdução ao Apache Hadoop no
“Tecnico-Administrativo”) HDInsight.
86
CONHECIMENTOS DE INFORMÁTICA
Spark: O Apache Spark tem funcionalidade interna para tra- UDF (Funções definidas pelo usuário)
balhar com o Hive. Para obter mais informações, confira o docu- O Hive também pode ser estendido por meio de UDF (fun-
mento Introdução ao Apache Spark no HDInsight. ções definidas pelo usuário). As UDF permitem que você imple-
HBase: O HiveQL pode ser usado para consultar dados ar- mente funcionalidade ou lógica que não é facilmente modelada
mazenados no Apache HBase. Para obter mais informações, em HiveQL. Para obter um exemplo de uso de UDFs com o Hive,
confira o documento Introdução ao Apache HBase no HDInsight. confira os seguinte documentos:
- Usar uma função definida pelo usuário do Java com o Apa-
Hive e estrutura de dados che Hive
O Hive sabe como trabalhar com dados estruturados e semi- - Usar uma função definida pelo usuário do Python com o
-estruturados. Por exemplo, arquivos de texto onde os campos Apache Hive
são delimitados por caracteres específicos. A seguinte instrução - Usar uma função definida C# pelo usuário do Java com o
do HiveQL cria uma tabela com dados delimitados por espaços: Apache Hive
CREATE EXTERNAL TABLE log4jLogs ( - Como adicionar uma função definida pelo usuário perso-
t1 string, nalizado de Apache Hive no HDInsight
t2 string, - Um exemplo de função definida pelo usuário do Apache
t3 string, Hive para converter formatos de data/hora para carimbo de
t4 string, data/hora do Hive
t5 string,
t6 string, Dados de exemplo
t7 string) O Hive no HDInsight vem pré-carregado com uma tabela in-
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘ ‘ terna chamada hivesampletable. O HDInsight também fornece
STORED AS TEXTFILE LOCATION ‘/example/data/’; conjuntos de dados de exemplo que podem ser usados com o
O Hive também dá suporte a serializador/desserializadores Hive. Esses conjuntos de dados são armazenados nos diretórios
(SerDe) personalizados para dados complexos ou com estrutura /example/data e /HdiSamples. Esses diretórios estão no armaze-
irregular. Para saber mais, consulte o documento Como usar Ser-
namento padrão do cluster.
De JSON personalizado com o HDInsight.
Para obter mais informações sobre formatos de arquivo
Exemplo de consulta do Hive
compatíveis com o Hive, consulte o Manual de linguagem (ht-
As seguintes instruções HiveQL projetam colunas para o ar-
tps://cwiki.apache.org/confluence/display/Hive/LanguageMa-
quivo /example/data/sample.log:
nual)
set hive.execution.engine=tez;
DROP TABLE log4jLogs;
Tabelas internas Hive vs. tabelas externas
CREATE EXTERNAL TABLE log4jLogs (
Há dois tipos de tabelas que você pode criar com o Hive:
- Interna: Os dados são armazenados no data warehouse do t1 string,
Hive. O data warehouse está localizado no /hive/warehouse/ no t2 string,
armazenamento padrão para o cluster. t3 string,
Use tabelas internas quando uma das condições a seguir se t4 string,
aplicar: t5 string,
>Os dados são temporários. t6 string,
>Você quer que o Hive gerencie o ciclo de vida da tabela e t7 string)
dos dados. ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘ ‘
- Externa: Os dados são armazenados fora do data warehou- STORED AS TEXTFILE LOCATION ‘/example/data/’;
se. Os dados podem ser armazenados em qualquer armazena- SELECT t4 AS sev, COUNT(*) AS count FROM log4jLogs
mento acessível pelo cluster. WHERE t4 = ‘[ERROR]’ AND INPUT__FILE__NAME LIKE
Use tabelas externas quando uma das condições a seguir ‘%.log’
se aplicar: GROUP BY t4;
>Os dados também são usados fora do Hive. Por exemplo, No exemplo anterior, as instruções HiveQL executam as se-
os arquivos de dados são atualizados por outro processo (que guintes ações:
não bloqueia os arquivos.) - set hive.execution.engine=tez;: Define o mecanismo de
>Os dados devem permanecer no local anterior, mesmo de- execução para usar o Apache Tez. Usar o Tez pode fornecer um
pois de descartar a tabela. aumento no desempenho da consulta.
>Você precisa de um local personalizado, como uma conta Observação:
de armazenamento não padrão. Essa instrução só é necessária ao usar um cluster HDInsight
>Um programa que não seja o hive gerencia o formato de baseado em Windows. O Tez é o mecanismo padrão de execu-
dados, local etc. ção para HDInsight baseados em Linux.
Para obter mais informações, confira a publicação do blog DROP TABLE: Se a tabela já existir, exclua-a.
Introdução às tabelas internas e externas do Hive. CREATE EXTERNAL TABLE: Cria uma nova tabela externa no
Hive. Tabelas externas só armazenam a definição da tabela no
Hive. Os dados são mantidos no local e no formato originais.
87
CONHECIMENTOS DE INFORMÁTICA
ROW FORMAT: Informa ao Hive como os dados são forma- Fábrica de dados do Azure
tados. Nesse caso, os campos em cada log são separados por O Azure Data Factory permite que você use o HDInsight
um espaço. como parte de um pipeline do Data Factory.
STORED AS TEXTFILE LOCATION: Informa ao Hive o local em
que os dados são armazenados (o diretório example/data) e se Trabalhos do Hive e SQL Server Integration Services
são armazenados como texto. Os dados podem estar em um Também é possível usar o SSIS (SQL Server Integration Servi-
arquivo ou distribuídos em vários arquivos dentro do diretório. ces) para executar um trabalho do Hive. O Feature Pack do Azu-
SELECT: Seleciona uma contagem de todas as linhas nas re para SSIS fornece os seguintes componentes que funcionam
quais a coluna t4 contém o valor [ERROR]. Essa instrução retor- com trabalhos do Hive no HDInsight.
na um valor de 3, já que há três linhas que contêm esse valor. - Tarefa do Hive do Azure HDInsight
INPUT__FILE__NAME LIKE ‘%.log’- O Hive tenta aplicar o - Gerenciador de Conexões de Assinatura do Azure
esquema a todos os arquivos no diretório. Nesse caso, o diretó-
rio contém arquivos que não correspondem ao esquema. Para Apache Oozie
evitar dados incorretos nos resultados, essa instrução informa O Apache Oozie é um sistema de fluxo de trabalho e coorde-
ao Hive que devemos retornar apenas dados de arquivos que nação que gerencia trabalhos do Hadoop.
terminam em .log.
Observação: Banco de dados NoSQL (conceitos básicos, bancos orienta-
As tabelas externas devem ser usadas quando você espera dos a grafos, colunas, chave/valor e documentos)
que os dados subjacentes sejam atualizados por uma fonte ex- O QUE É NOSQL?
terna. Por exemplo, um processo de upload de dados automati-
zado ou uma operação MapReduce. O constante crescimento da tecnologia em geral, tem feito
Descartar uma tabela externa não exclui os dados, apenas a os desenvolvedores reavaliarem como eles armazenam e man-
definição da tabela. tém esses dados. Os bancos de dados precisam prover escalabi-
Para criar uma tabela interna em vez de externa, use o Hi- lidade, flexibilidades, segurança e eficiência para o massivo fluxo
veQL a seguir:
de dados que vivemos.
Desenvolvedores especialistas analisam a dificuldade, às
set hive.execution.engine=tez;
vezes a impossibilidade, de utilizar modelos relacionais para
CREATE TABLE IF NOT EXISTS errorLogs (
armazenar todos esses dados mantendo uma escalabilidade di-
t1 string,
nâmica e a performance necessária com o aumento dos dados.
t2 string,
O NoSQL, que a propósito significa Not Only SQL (Não ape-
t3 string,
t4 string, nas SQL), nasceu com o propósito de ser o banco de dados para
t5 string, os super-dados do boom da internet. Devido à flexibilidade ofe-
t6 string, recida por esse modelo muitos estão optando pelo NoSQL. Não
t7 string) é a toa que o mercado global NoSQL tem previsão de chegar a
STORED AS ORC; US \$ 3,4 bilhões em 2020, uma taxa de crescimento anual de
INSERT OVERWRITE TABLE errorLogs 21% para o período 2015-2020.
SELECT t1, t2, t3, t4, t5, t6, t7 O termo NoSQL é usado simplesmente para descrever uma
FROM log4jLogs WHERE t4 = ‘[ERROR]’; família de bancos de dados que não são relacionais, podendo
variar em vários pontos entre eles. No geral, existem 4 tipos de
Essas instruções executam as seguintes ações: bancos de dados NoSQL, são eles:
CREATE TABLE IF NOT EXISTS: Se a tabela não existir, crie Chave-Valor: Armazena dados no padrão chave-valor, como
uma. Uma vez que a palavra-chave EXTERNA não é usada, essa tabelas hash. Ex. MemcacheD, Riak, REDIS;
instrução cria uma tabela interna. Uma tabela interna é arma- Grafos: Armazena dados na forma de grafo (vértices e ares-
zenada no data warehouse do Hive e é totalmente gerenciada tas). Ex. Sesame, Neo4j;
pelo Hive. Colunas: Armazena dados em linhas particulares de tabela
STORED AS ORC: Armazena os dados no formato OCR (Opti- no disco. Ex. Cassandra, Hbase;
mized Row Columnar). Esse é um formato altamente otimizado Documento: Armazena os dados como “documentos”, onde
e eficiente para o armazenamento de dados do Hive. um documento pode ser um dado aninhado em formato chave-
INSERT OVERWRITE ... SELECT: Seleciona as linhas na tabela -valor (por exemplo o padrão JSON). Ex. MongoDB, CouchDB.
log4jLogs que contém [ERROR] e insere os dados na tabela er- mbora os diferentes tipos de bancos de dados NoSQL te-
rorLogs. nham diferenças entre si, todos eles têm as mesmas premissas.
Observação: Abaixo descrevo 6 motivos para usar NoSQL que se aplicam a
Diferentemente de tabelas externas, o descarte de uma ta- qualquer tipo de banco de dados NoSQL.
bela interna excluirá também os dados subjacentes.
1. FLEXIBILIDADE
Programação de consultas de Hive Estruturas de dados intuitivas e flexíveis são funcionalida-
Há vários serviços que podem ser usados para executar con- des que mais atraem desenvolvedores que trabalham em times
sultas de Hive como parte de um fluxo de trabalho programado de desenvolvimento ágil. A maioria dos bancos de dados NoSQL
ou sob demanda. tem essas qualidades.
88
CONHECIMENTOS DE INFORMÁTICA
A grande flexibilidade dos bancos de dados NoSQL é muito língua — resumindo, é a única forma que os moradores enten-
popular por suportar as práticas de desenvolvimento ágil, pois dem e interagem com o mundo ao redor deles. Mudar essa lín-
elimina a complexidade de mudanças dos bancos de dados ge- gua em um lugar seria confuso e disruptivo para todos.
rando um bom suporte para adaptações rápidas. Agora pense em outra cidade, a Cidade B, onde cada casa
pode falar uma língua diferente. Todos interagem com o mundo
2. ESCALABILIDADE de forma diferente e não há um entendimento “universal” ou
A maioria dos bancos de dados NoSQL são construídos para uma organização definida. Se uma casa é diferente, ela não afeta
escalar horizontalmente, distribuindo os dados por clusters mais ninguém de forma alguma.
melhor que os SGBDs relacionais, que sofrem muito em per- Isso ajuda a ilustrar uma das diferenças fundamentais entre
formance quando executa consultas com “joins” em ambientes as bases de dados relacionais e não-relacionais, e essa diferença
clusterizados. Como o NoSQL evita “joins” naturalmente, a per- tem grandes implicações. Vamos explicar:
formance das consultas permanece alta. As bases de dados SQL são estruturadas em linguagem de
A escalabilidade NoSQL aplica-se tanto ao crescimento dos consulta (SQL) para definição e manipulação de dados. Por um
dados quanto ao número de usuários agindo simultaneamente lado, isso é extremamente poderoso: o SQL é uma das opções
sobre os dados. mais versáveis e mais utilizadas, sendo uma escolha segura e es-
pecialmente ótima para consultas complexas.
3. DISPONIBILIDADE Por outro lado, ele pode ser restritivo. O SQL exige que você
A indisponibilidade de um banco de dados pode causar sé- use esquemas (arquiteturas visuais e lógicas de uma base de da-
rios prejuízos, incluindo perda de clientes. A maioria dos bancos dos) pré-definidos para determinar a estrutura dos seus dados
de dados NoSQL oferecem eficientes arquiteturas de replicação antes de trabalhar com eles.
de dados que proporciona aos NoSQLs maior disponibilidade. Além disso, todos os seus dados devem seguir a mesma es-
Ou seja, se um ou mais servidores (ou nós) cai um outro nó do trutura. Isso pode requerer uma preparação inicial significante
cluster está apto a continuar o trabalho automaticamente sem e, assim como na Cidade A, pode ser que uma mudança na es-
perda de dados. trutura seja tanto difícil quanto disruptiva para todo o seu sis-
tema.
4. RAÍZES OPEN SOURCE
Uma base de dados NoSQL, por outro lado, tem um esque-
Muitos bancos de dados NoSQL tem raízes na comunidade
ma dinâmico para dados não estruturados, e o dado é armaze-
open source. Talvez isso tenha sido fundamental para o rápido
nado em várias formas: pode ser orientado a coluna, orientado
crescimento do seu uso e popularidade. Nota-se que as com-
a documento, baseado em grafos ou organizado como chave-va-
panhias que oferecem versões comerciais de bancos NoSQL
lor. Essa flexibilidade permite que:
com uma forte estrutura de suporte e serviços, estão ao mesmo
tempo participando direta ou indiretamente de comunidades de · Você crie documentos sem ter que definir sua estrutura
bancos de dados NoSQL open source. Exemplos são Apache->- primeiro;
Cassandra, IBM->CouchDB, MongoDB->MongoDB open source, · Cada documento tenha sua própria estrutura única;
entre outros. · A sintaxe varie de base de dados para base de dados;
· Você adicione campos sempre que precisar.
5. BAIXO CUSTO OPERACIONAL
Devido ao peso do open source no NoSQL, o custo para ini- Escalabilidade
ciar a utilização desses bancos de dados também se torna muito Na maioria das situações, as bases de dados SQL são ver-
baixo ou zero. É comum ouvir dizerem que a transição relacional ticalmente escaláveis, o que significa que você pode aumentar
-> NoSQL diminuiu muito os custos enquanto obteve um desem- o carregamento em um servidor melhorando coisas como CPU,
penho melhor ou igual ao anterior. RAM ou SSD.
Grandes bancos de dados relacionais requerem computa- As bases de dados NoSQL, por sua vez, são horizontalmente
dores ou mainframes caros. Com o NoSQL, esse custo também escaláveis. Isso quer dizer que você suporta muito mais tráfego
diminui, pois este foi desenvolvido para trabalhar em ambientes por sharding (particionamento de dados), ou seja, adicionando
distribuídos. mais servidores na sua base de dados NoSQL. É como se compa-
rássemos entre adicionar mais andares no mesmo prédio e adi-
6. FUNCIONALIDADES ESPECIAIS cionar mais prédios na vizinhança. O segundo pode ficar maior e
Também com o peso do open source sobre o NoSQL, mui- mais poderoso, tornando as bases de dados NoSQL a escolha de
tos distribuidores de bancos de dados NoSQL oferecem algumas preferência para conjuntos de dados maiores ou em mudança
funcionalidades especiais para incentivar e atrair mais usuários. constante.
Índices específicos, capacidade de consulta de dados geoes-
paciais, replicação automática de dados, funcionalidades para Estrutura
sincronização, APIs RESTful são exemplos de funcionalidades As bases de dados SQL são baseadas em tabelas, enquanto
especiais oferecidas pelos diferentes distribuidores NoSQL. que as bases de dados NoSQL podem ser baseadas em docu-
mentos, pares de chave-valor, grafos ou orientados a colunas.
Diferenças gerais SQL e NoSQL Isso torna as bases de dados SQL relacionais opções melhores
Pense em uma cidade — vamos chamá-la de Cidade para aplicações que requerem transações retornando várias co-
A — onde todos falam a mesma língua. Todas as empresas são lunas — como um sistema de contabilidade — ou para sistemas
criadas em torno dela, toda forma de comunicação a utiliza essa legados que foram criados em uma estrutura relacional.
89
CONHECIMENTOS DE INFORMÁTICA
Alguns exemplos de bases de dados SQL incluem o MySQL, Caso ainda não tenha feito isso, acesse o site oficial do Mongo-
Oracle, PostgreSQL e Microsoft SQL Server. Exemplos de bases DB e baixe gratuitamente a versão mais recente para o seu sistema
de dados NoSQL incluem MongoDB, BigTable, Rediz, RavenDB, operacional, que é a versão 3.4 na data em que escrevo este artigo.
Cassandra, HBase, Neo4j e CouchDB. Baixe o arquivo compactado e, no caso do Windows, rode o
executável que extrairá os arquivos na sua pasta de Arquivos de
SQL x NoSQL: MySQL x MongoDB Programas (não há uma instalação de verdade, apenas extração de
Agora que deixamos claras as principais diferenças estrutu- arquivos), seguido de uma pasta server/versão, o que é está ok para
rais entre as bases de dados SQL e NoSQL, vamos mergulhar nas a maioria dos casos, mas que eu prefiro colocar em C:\Mongo ou
principais diferenças funcionais entre às duas, usando especifi- dentro de Applications no caso do Mac.
camente o MySQL e o MongoDB como exemplos. Dentro dessa pasta do Mongo podem existir outras pastas,
mas a que nos interessa é a pasta bin. Nessa pasta estão uma cole-
MySQL: O banco de dados SQL relacional ção de utilitários de linha de comando que são o coração do Mon-
Os benefícios e pontos fortes do MySQL são: goDB (no caso do Windows, todos terminam com .exe):
· Maturidade. O MySQL é uma base de dados extremamente mongod: inicializa o servidor de banco de dados;
estabelecida, o que significa que há uma grande comunidade mongo: inicializa o cliente de banco de dados;
por trás, testes extensos e muita estabilidade. mongodump: realiza dump do banco (backup binário);
· Compatibilidade. O MySQL está disponível para todas as mongorestore: restaura dumps do banco (restore binário);
plataformas mais utilizadas, inclusive Linux, Windows, Mac, BSD mongoimport: importa documentos JSON ou CSV pro seu ban-
e Solaris. Ele também tem conectores para linguagens como co;
Node.js, Ruby, C#, C++, Java, Perl, Python e PHP, então não está mongoexport: exporta documentos JSON ou CSV do seu ban-
limitado à linguagem de consulta SQL. co;
· Custo-benefício. A base de dados é open source e gratuita. entre outros.
· Replicável. A base de dados MySQL pode ser replicada Para subir um servidor de MongoDB na sua máquina é muito
através de vários nós, significando que a carga de trabalho pode fácil: execute o utilitário mongod via linha de comando como abai-
xo, onde dbpath é o caminho onde seus dados serão salvos (esta
ser reduzida e a escalabilidade e disponibilidade da aplicação
pasta já deve estar criada).
podem ser aumentadas.
C:\mongo\bin> mongod --dbpath C:\mongo\data
· Sharding. Apesar do sharding (termo comum das bases de
Isso irá iniciar o servidor do Mongo. Uma vez que apareça no
dados não-relacionais que significa divisão de dados entre vários
prompt “[initandlisten] waiting for connections on port 27017”,
servidores) não poder ser feito na maioria das bases de dados
está pronto, o servidor está executando corretamente e você já
SQL, ele pode ser feito em servidores MySQL. Isso é tanto eco-
pode utilizá-lo, sem segurança alguma e na porta padrão 27017.
nomicamente viável quanto bom para a empresa.
Nota: se já existir dados de um banco MongoDB na pasta data,
o mesmo banco que está salvo lá ficará ativo novamente, o que é
MongoDB: O banco de dados NoSQL não-relacional muito útil para os nossos testes.
Os benefícios e pontos fortes do MongoDB são: Agora abra outro prompt de comando (o outro ficará executan-
· Esquema dinâmico. Como mencionado, isso te dá do o servidor) e novamente dentro da pasta bin do Mongo, digite:
flexibilidade para mudar seu esquema de dados sem modificar c:\mongo\bin> mongo
nenhum outro dado existente. Após a conexão funcionar, se você olhar no prompt onde o
· Escalabilidade. O MongoDB é horizontamente escalável, o servidor do Mongo está rodando, verá que uma conexão foi esta-
que ajuda a reduzir a carga de trabalho e escalar seu negócio belecida e um sinal de “>” indicará que você já pode digitar os seus
com facilidade. comandos e queries para enviar à essa conexão.
· Gerenciamento. A base de dados não requer um Ao contrário dos bancos relacionais, no MongoDB você não
administrador. Isso facilita o uso do sistema, já que ele pode ser precisa construir a estrutura do seu banco previamente antes de
usado tanto pelos desenvolvedores quanto administradores. sair utilizando ele. Tudo é criado conforme você for usando, o que
· Velocidade. Tem performance alta para consultas simples. não impede, é claro, que você planeje um pouco o que pretende
· Flexibilidade. Você pode adicionar novas colunas e campos fazer com o Mongo.
no MongoDB sem afetar as colunas existentes nem a performan- O comando abaixo no terminal cliente mostra os bancos exis-
ce da aplicação. tentes nesse servidor:
> show databases
Instalação e Testes Se é sua primeira execução ele deve listar as bases admin e lo-
Diversos players de cloud computing fornecem versões de cal. Não usaremos nenhuma delas. Agora digite o seguinte coman-
Mongo hospedadas e prontas para uso como Umbler e mLab, do para “usar” o banco de dados “workshop” (um banco que você
no entanto é muito importante um conhecimento básico de sabe que não existe ainda):
administração local de MongoDB para entender melhor como > use workshop
tudo funciona. Não focaremos aqui em nenhum aspecto de O terminal vai lhe avisar que o contexto da variável “db” mu-
segurança, de alta disponibilidade, de escala ou sequer de ad- dou para o banco workshop, que nem mesmo existe ainda (mas
ministração avançada de MongoDB. Deixo todas estas questões não se preocupe com isso!). Essa variável “db” representa agora
para você ver junto à documentação oficial no site oficial, onde o banco workshop e podemos verificar quais coleções existem
inclusive você pode estudar e tirar as certificações. atualmente neste banco usando o comando abaixo:
90
CONHECIMENTOS DE INFORMÁTICA
> show collections não existe um schema pré-definido compartilhado entre todos
Isso também não deve listar nada, mas não se importe com os documentos, cada um é independente. Obviamente conside-
isso também. Assim como fazemos com objetos JS que quere- rando que eles compartilham a mesma coleção, é interessante
mos chamar funções, usaremos o db para listar os documentos que eles possuam coisas em comum, caso contrário não faz sen-
de uma coleção de customers (clientes) da seguinte forma: tido guardar eles em uma mesma coleção.
Mas como fica isso nas consultas? E se eu quiser filtrar por
> db.customers.find() “uf”? Não tem problema!
find é a função para fazer consultas no MongoDB e, quando Essa é uma boa deixa para eu mostrar como filtrar um find()
usada sem parâmetros, retorna todos os documentos da cole- por um campo do documento:
ção. Obviamente não listará nada pois não inserimos nenhum > db.customers.find({uf: “RS”})
documento ainda, o que vamos fazer agora com a função insert: Note que a função find pode receber um documento por
> db.customers.insert({ nome: “Luiz”, idade: 29 }) parâmetro representando o filtro a ser aplicado sobre a coleção
A função insert espera um documento JSON por parâmetro para retornar documentos. Nesse caso, disse ao find que retor-
com as informações que queremos inserir, sendo que além des- nasse todos os documentos que possuam o campo uf definido
sas informações o MongoDB vai inserir um campo _id automáti- como “RS”. O resultado no seu terminal deve ser somente o cus-
co como chave primária desta coleção. tomer de nome “Teste” (não vou falar do _id dele aqui pois o va-
Como sabemos se funcionou? Além da resposta ao coman- lor muda completamente de um servidor MongoDB para outro).
do insert (nInserted indica quantos documentos foram inseridos Atenção: MongoDB é case-sensitive ao contrário dos ban-
com o comando), você pode executar o find novamente para ver cos relacionais, então cuidado!
que agora sim temos customers no nosso banco de dados. Além Experimente digitar outros valores ao invés de “RS” e verá
disso se executar o “show collections” e o “show databases” que eles não retornam nada, afinal, não basta ter o campo uf,
verá que agora sim possuímos uma coleção customers e uma ele deve ser exatamente igual a “RS”.
base workshop nesse servidor. Além de campos com valores específicos, esse parâmetro
Tudo foi criado a partir do primeiro insert e isso mostra que do find permite usar uma infinidade de operadores como por
está tudo funcionando bem no seu servidor MongoDB!
exemplo, trazer todos documentos que possuam a letra ‘a’ no
nome:
#1 – Insert “Avançado”
> db.customers.find({nome: { $regex: /a/ }})
Na seção anterior aprendemos a fazer um find() que retorna
Se você já mexeu com expressões regulares (regex) em JS
todos os documentos de uma coleção e um insert que insere um
antes, sabe exatamente como usar e o poder desse recurso jun-
novo documento em uma coleção, além de outros comandos
to a um banco de dados, sendo um equivalente muito mais po-
menores. Agora vamos adicionar mais alguns registros no seu
deroso ao LIKE dos bancos relacionais.
terminal cliente mongo:
> custArray = [{ nome : “Fernando”, idade : 29 }, { nome :
“Teste”, “uf” : “RS” }] Mas e se eu quiser trazer todos os customers maiores de
> db.customers.insert(custArray) idade?
Atenção: para o nome dos campos dos seus documentos > db.customers.find({idade: {$gte: 18}})
e até mesmo para o nome das coleções do seu banco, use o O operador $gte (Greater Than or Equal) retorna todos os
padrão de nomes de variáveis JS (camel-case, sem acentos, sem documentos que possuam o campo idade e que o valor do mes-
espaços, etc). mo seja igual ou superior à 18. E podemos facilmente combinar
Nota: no exemplo acima a variável custArray passa a existir filtros usando vírgulas dentro do documento passado por parâ-
durante toda a sessão do terminal a partir do comando seguinte. metro, assim como fazemos quando queremos inserir campos
Nesse exemplo passei um array com vários documentos em um documento:
para nossa função insert inserir na coleção customers e isso nos > db.customers.find({nome: “Luiz”, idade: {$gte: 18}})
trás algumas coisas interessantes para serem debatidas. Primei- O que a expressão acima irá retornar?
ro, sim, você pode passar um array de documentos por parâme- Se você disse customers cujo nome sejam Luiz e que sejam
tro para o insert. Segundo, você notou que o segundo documen- maiores de idade, você acertou!
to não possui “idade”? E que ele possui um campo “uf”? E a expressão abaixo:
> db.customers.find({nome: { $regex: /a/ }, idade: {$gte:
#2 – Find “avançado” 18}})
Para se certificar que todos documentos foram realmente Customers cujo nome contenham a letra ‘a’ e que sejam
inseridos na coleção, use o seguinte comando: maiores de idade, é claro!
> db.customers.find().pretty() Outros operadores que você pode usar junto ao filtro do
É o mesmo comando find() que usamos anteriormente, mas find são:
com a função pretty() no final para identar o resultado da fun-
ção no terminal, ficando mais fácil de ler. Use e você vai notar a $eq: exatamente igual (=)
diferença, principalmente em consultas com vários resultados. $ne: diferente (<> ou !=)
Mas voltando à questão do “uf”, ao contrário dos bancos $gt: maior do que (>)
relacionais, o MongoDB possui schema variável, ou seja, se so- $lt: menor do que (<)
mente um customer tiver “uf”, somente ele terá esse campo, $lte: menor ou igual a (<=)
91
CONHECIMENTOS DE INFORMÁTICA
$in: o valor está contido em um array de possibilidades, todo o documento do respectivo customer com o nome altera-
como em um OU. Ex: {idade: {$in: [10,12] }} do, mas sim apenas a expressão de alteração do nome, como
$all: MongoDB permite campos com arrays. Ex: { tags: [“No- abaixo (já usando o _id como filtro, que é mais seguro):
deJS”, “MongoDB”] }. Com esse operador, você compara se seu > db.customers.updateOne({_id: ObjectI-
campo multivalorado possui todos os valores de um array espe- d(“59ab46e433959e2724be2cbd”)}, {$set: {idade: 28}})
cífico. Ex: {tags: {$all: [“NodeJS”, “Android”]}} Nota: para saber o _id correto do seu update, faça um find
Entre outros! primeiro e não tente copiar o meu pois não vai repetir.
Esta função vai alterar (operador $set) a idade para o valor
Você também pode usar findOne ao invés de find para re- 28 do documento cujo _id seja “59ab46e433959e2724be2cbd”
tornar apenas o primeiro documento, ou ainda as funções limit (note que usamos uma função ObjectId para converter, pois
e skip para limitar o número de documentos retornados e para esse valor não é uma string).
ignorar alguns documentos, especificamente, da seguinte ma- Nota: você pode usar null se quiser “limpar” um campo.
neira:
O operador $set recebe um documento contendo todos
> db.customers.find().skip(1).limit(10)
os campos que devem ser alterados e seus respectivos novos
No exemplo acima retornaremos 10 customers ignorando o
valores. Qualquer campo do documento original que não seja
primeiro existente na coleção.
E para ordenar? Usamos a função sort no final de todas as indicado no set continuará com os valores originais.
outras, com um documento indicando quais campos e se a or- Atenção: se o campo a ser alterado não existir no documen-
denação por aquele campo é crescente (1) ou descrescente (-1), to, ele será criado.
como abaixo em que retorno todos os customers ordenados Não importa o valor que ela tenha antes, o operador $set
pela idade: vai sobrescrevê-lo. Agora, se o valor anterior importa, como
> db.customers.find().sort({idade: 1}) quando queremos incrementar o valor de um campo, não se usa
Nota: assim como nos bancos relacionais, os métodos de o operador $set, mas sim outros operadores. A lista dos mais
consulta retornam em ordem de chave primária por padrão, o úteis operadores de update estão abaixo:
que neste caso é o _id.
$unset: remove o respectivo campo do documento;
#3 – Update $inc: incrementa o valor original do campo com o valor es-
Além do insert que vimos antes, também podemos atuali- pecificado;
zar documentos já existentes, por exemplo usando o comando $mul: multiplica o valor original do campo com o valor es-
update e derivados. O jeito mais simples (e mais burro) de atua- pecificado;
lizar um documento é chamando a função update na coleção $rename: muda o nome do campo para o nome especifi-
com 2 parâmetros: cado;
- documento de filtro para saber qual(is) documento(s) se-
rá(ão) atualizado(s); Além disso, existe um terceiro parâmetro oculto no update
- novo documento que substituirá o antigo; que são as opções de update. Dentre elas, existe uma muito in-
Como em: teressante do MongoDB: upsert, como abaixo:
> db.customers.update({nome: “Luiz”}, {nome: “Luiz”, ida- > db.customers.updateOne({nome: “LuizTools”}, {$set: {uf:
de: 29, uf: “RS”}) “RS”}}, {upsert: true})
Como resultado você deve ter um nModified maior do que Um upsert é um update como qualquer outro, ou seja,
1, mostrando quantos documentos foram atualizados. vai atualizar o documento que atender ao filtro passado como
Por que essa é a maneira mais burra de fazer um update?
primeiro parâmetro, porém, se não existir nenhum documen-
Porque além de perigosa ela exige que você passe o documento
to com o respectivo filtro, ele será inserido, como se fosse um
completo a ser atualizado no segundo parâmetro, pois ele subs-
insert.
tituirá o original!
upsert = update + insert
Primeira regra do update inteligente: se você quer atualizar
um documento apenas, comece usando updateOne ao invés de
update. O updateOne vai te obrigar a usar operadores ao invés #4 – Delete
de um documento inteiro para a atualização, o que é muito mais Pra encerrar o nosso conjunto de comandos mais elementa-
seguro. res do MongoDB falta o delete, ops, deleteOne e deleteMany na
Segunda regra do update inteligente: sempre que possível, verdade. Tem também o remove, que possui mais opções, mas
use a chave primária (_id) como filtro da atualização, pois ela é é pouco usado.
sempre única dentro da coleção. Existe uma função deleteOne e uma deleteMany, o que a
Terceira regra do update inteligente: sempre use operado- essa altura do campeonato você já deve saber a diferença. Além
res ao invés de documentos inteiros no segundo parâmetro, in- disso, assim como o find e o update, o primeiro parâmetro do re-
dependente do número de documentos que serão atualizados. move é o filtro que vai definir quais documentos serão deletados
e todos os operadores normais do find são aplicáveis.
Mas que operadores são esses? Sendo assim, de maneira bem direta:
Assim como o find possui operadores de filtro, o update > db.customers.deleteOne({nome: “Luiz”})
possui operadores de atualização. Se eu quero, por exemplo, Vai excluir todos os clientes cujo nome seja igual a “Luiz”.
mudar apenas o nome de um customer, eu não preciso enviar
92
CONHECIMENTOS DE INFORMÁTICA
Fonte de dados: abrange todos os dados de origem que irão compor as informações do DW. Compreende os sistemas OLTP, arqui-
vos em diversos formatos (XLS, TXT, etc), sistemas de CRM, ERP, entre vários outros.
ETL: o ETL, do inglês Extract, Transform and Load, é o principal processo de condução dos dados até o armazenamento definitivo
no DW. É responsável por todas as tarefas de extração, tratamento e limpeza dos dados, e inserção na base do DW.
Staging Area: a Staging Area é uma área de armazenamento intermediário situada dentro do processo de ETL. Auxilia a transição
dos dados das origens para o destino final no DW.
Data Warehouse: essa é a estrutura propriamente dita de armazenamento das informações decisivas. Apenas os dados com valor
para a gestão corporativa estarão reunidos no DW.
Data Mart: o Data Mart é uma estrutura similar ao do DW, porém com uma proporção menor de informações. Trata-se de um
subconjunto de informações do DW que podem ser identificados por assuntos ou departamentos específicos. O conjunto de Data
Marts em conformidade dentro da organização compõe o DW.
OLAP: o OLAP, do inglês On-line Analytical Processing, na arquitetura de um DW se refere as ferramentas com capacidade de
análise em múltiplas perspectivas das informações armazenadas.
Data Mining: Data Mining ou Mineração de Dados, se refere as ferramentas com capacidade de descoberta de conhecimento
relevante dentro do DW. Encontram correlações e padrões dentro dos dados armazenados.
O fluxo das atividades nessa arquitetura se inicia com a extração dos dados das origens. Esses dados são então armazenados
temporariamente na Staging Area, onde são tratados com as regras e padrões predeterminados para então prosseguir para a etapa
de carga (Load), em que os dados são carregados no DW. Por fim, essas informações são normalmente consultadas através de ferra-
mentas de análises (OLAP) ou ferramentas de mineração (Data Mining) para encontrar, assim, as respostas e insights necessários para
a tomada de decisão.
Portanto, com essa visão geral da arquitetura do DW, é possível conceber e entender melhor o funcionamento dessa tecnologia
que há anos vem se destacando no mercado como uma das mais importantes estruturas de armazenamento de informações estra-
tégicas. Cabe as empresas perceberem o valor agregado ao DW e antecipar a concorrência no que tange a gestão das informações
que fornecem competitividade e inteligência no mercado, além de favorecerem o crescimento e alcance de resultados positivos na
organização.
93
CONHECIMENTOS DE INFORMÁTICA
sas. Deve-se tomar cuidado para que o processamento analítico não se torne muito lento ou até mesmo impossível de ser executado.
Algumas questões a serem observadas na visão de KIMBALL (1998):
atributos semi-aditivos e não aditivos. O primeiro refere-se àqueles que só podem ser adicionados ao longo de algumas dimen-
sões, o que restringe o número de consultas apenas àquelas dimensões em que o fato pode ser adicionado. Já os não aditivos são
aqueles que não podem ser adicionados a qualquer dimensão: para este tipo só pode resumir registros através de contagens ou então
consultar um a um.
É a tabela que fica no centro da estrela rodeada pelas tabelas auxiliares chamadas de tabelas dimensões. Na tabela de fatos são
armazenadas as chaves primárias das tabelas dimensões e sempre é guardado um histórico nesta tabela).
Não se deve adicionar o atributo semi-aditivo ao longo das dimensões da tabela fatos: deve-se limitar assim as operações válidas.
- dimensões descaracterizadas: normalmente correspondem a números de pedidos, números de fatura, etc., ou seja, chaves de
dimensão sem uma tabela correspondente em tabelas de fatos em que o registro da mesma é o documento propriamente dito ou
uma linha de item do documento.
- dimensões derivadas que suportam agregações: é de fundamental importância que seja construída a tabela de fatos derivados
em vários níveis superiores de detalhe para melhorar o desempenho das consultas. De acordo com, KRATZ (2007) existem diversas
formas de agregações no DW, sendo as mais comuns:
a) cumulativa simples: as transações diárias são transportadas do ambiente operacional e resumidas em forma de registros no
DW. O resumo pode ser feito por qualquer área de interesse, segundo a qual o DW esteja organizado;
b) resumo rotativo: os dados passam do ambiente operacional para o DW, como mencionado anteriormente. A diferença está na
forma como é realizada a agregação;
c) dimensões grandes: não se deve desmembrar as dimensões, mesmo que elas sejam extensas, pois poderá causar um desem-
penho limitado;
d) dimensões de modificações lentas: o DW deve representar de forma concreta o histórico passado, por isso não se pode consi-
derar que as entidades não se modificam ao longo do tempo;
e) tabela de fatos sem fatos: alguns processos que são representados no DW produzem tabelas de fatos semelhantes às tabelas
que foram construídas, mas que não contém fatos mensuráveis.
Modelagem de Dados Entidade-Relacionamento
O modelo entidade-relacionamento (Figura 1) é uma ferramenta de modelagem usada para definir informações que serão neces-
sárias a um modelo de dados baseado em entidades e relacionamentos (LOBO, 2007).
O modelo de entidade-relacionamento é representado por um diagrama ER (Entidade-Relacionamento) e utiliza três símbolos
gráficos:
- entidade representa as coisas importantes em uma organização;
- atributos, que são as propriedades das entidades; e relacionamento, que é quando uma entidade está relacionada a uma ou
mais entidades (MACHADO,2006).
exemplo de modelo entidade-relacionamento
94
CONHECIMENTOS DE INFORMÁTICA
A abordagem ER é composta de uma técnica de diagrama- O nome de um atributo deve ser único em uma entidade.
ção e de um conjunto de conceitos que devem ser entendidos e Por exemplo, denominando um atributo de data_1 ou data_2
respeitados. A técnica de diagramação utilizada é bastante sim- não está clara sua semântica, ou seja, o que este atributo repre-
ples e serve como meio de representação dos próprios conceitos senta. Por outro lado, colocar data_do_pedido fica claro, referin-
por ela manipulados. É utilizado um retângulo para representar do- se à emissão de um pedido (MACHADO, 2004).
as entidades, um losango para representar os relacionamentos e
balões para indicar e alocar atributos (COUGO, 1997). Agregação
O modelo de ER é bastante simples e objetivo, por isso, a A modelagem de sistemas usa o termo agregação com os
abordagem ER possui muita flexibilidade e adaptabilidade. Mas mais variados significados. Porém, o conceito lançado pela mo-
ao contrário do que possa parecer essa é a maior qualidade do delagem de dados refere-se à visão de um par de entidades rela-
modelo (COUGO,1997). cionadas com cardinalidade de muitos para muitos (MACHADO,
2004).
Entidades MACHADO (2004) chama a atenção para a existência de de-
A entidade é definida como aquele objeto existente no pendências entre os fatos, onde um fato somente acontece após
mundo real, com uma identificação diferente e que possui signi- a existência do outro fato, mas isso não é possível demonstrar
ficado próprio (MACHADO,2006). em um diagrama de ER.
Segundo MACHADO (2006), uma pessoa, um lugar ou um
evento podem ser definidos como entidades, pois representam Modelagem de Dados Multidimensional
classes de objetos, que são coisas do mundo real e podem ser Para MACHADO (2004), a modelagem de dados multidi-
observadas e classificadas por suas propriedades e característi- mensional é mais fácil e mais simples de ser entendida do que
cas. a modelagem de dados de entidade-relacionamento. Mas ele
deixa claro que é um conceito novo e ainda não tem a firmeza
Para identificar e reconhecer um objeto como uma entida- em seus detalhes de técnicas de desenvolvimento para sistemas
de pode-se observar cinco grupos de elementos: as coisas tan- analíticos como o modelo de entidade-relacionamento.
gíveis, as funções exercidas por elementos, eventos ou ocorrên- Modelagem multidimensional é uma técnica de concepção
cias, interações e especificações (COUGO, 1997). e visualização de um modelo de dados de um conjunto de medi-
É de extrema importância o nome que é dado a uma das que descrevem aspectos comuns de negócio. Sua utilização
entidade para facilitar o seu entendimento e a comunicação ajuda na sumarização e reestruturação dos dados e apresenta
na modelagem. A nomenclatura semântica que representa as visões que suportam a análise dos valores destes dados (MA-
características e o escopo da entidade é o critério a ser utilizado CHADO,2004).
para uma entidade (MACHADO, 2004). De acordo com OLIVEIRA (2002), um banco de dados multi-
dimensional não armazena os dados como registros em tabelas,
Relacionamentos mas sim em arrays multidimensionais, possuindo um número
O relacionamento é representado através de linhas que li- fixo de dimensões.
gam duas entidades em um diagrama ER (MACHADO, 2004). Três elementos básicos compõem o modelo multidimensio-
Uma entidade pode se relacionar com diversas outras en- nal: (MACHADO, 2004)
tidades, independente do seu relacionamento ser entre instân- Fatos: é uma coleção de itens de dados composta de medi-
cias de objetos de diferentes tipos, como, por exemplo, relacio- das utilizada para analisar o processo de negócio de uma empre-
nar Pessoa com Carro, ou entre instâncias de um mesmo tipo sa, refletindo assim a evolução dos negócios do dia a dia. Esse
de objeto, por exemplo, um auto relacionamento de Vigilante conceito é implementado em tabelas denominadas tabelas de
(COUGO, 1997). fato (fact tables) e representado por valores numéricos;
Dimensões: são os elementos que participam de um fato
Atributos e que determinam o contexto de um assunto de negócios. As
Os atributos descrevem as características de propriedades dimensões podem ser compostas por membros que podem con-
de uma entidade (MACHADO, 2004). Para COUGO (1997), ao se ter hierarquias. Membros são as possíveis divisões ou classifica-
observar um objeto em um ambiente, na verdade, estão sendo ções de uma dimensão. Por exemplo, a dimensão tempo pode
reconhecidos os elementos identificados através de suas carac- ser dividida nos seguintes membros: ano, trimestre e mês; e a
terísticas próprias. Estas características, inerentes a cada um dimensão localização em: cidade, estado e país;
desses objetos serão, em princípio, comuns a todos os objetos, Medidas (variáveis): são os atributos numéricos que repre-
ou elementos individualizados, pertencentes a um mesmo con- sentam um fato, ou seja, o desempenho de um indicador de
junto. negócios relativo às dimensões que participam desse fato. Uma
Desta forma, ao observar um objeto que passa pela rua a medida é determinada pela combinação dessas dimensões e es-
nossa frente, seremos capazes de, em um primeiro momento, tão localizados como atributos de um fato. Por exemplo, o valor
definir que o objeto visto é um “carro” e não uma “pessoa”. Este em reais das vendas, o número vendido de unidades de produ-
tipo de reconhecimento é realizado a partir da verificação de tos e a quantidade em estoque.
uma série de características para as quais atenderemos e julga- Os modelos multidimensionais tiram proveito de relações
remos. É através das características particulares de cada objeto inerentes aos dados, para gerar estes em matrizes multidimen-
é que conseguimos identificar cada um (COUGO, 1997). sionais chamadas cubos de dados. Porém, o número de dimen-
95
CONHECIMENTOS DE INFORMÁTICA
sões, quando maior que três, sugere um hipercubo. Como a vi- - transformação de relacionamentos entre dados em artefa-
sualização gráfica de um hipercubo é difícil, a literatura utiliza tos dos dados: os relacionamento encontrados nas modelagens
geralmente como referência apenas o cubo. clássicas assumem que há um e somente um valor de negócio
O modelo de dados multidimensional é caracterizado por no relacionamento. O DW tem característica de armazenar da-
valores, geralmente contínuos, distribuídos em uma ou mais di- dos históricos, possuindo muitos valores para um dado relacio-
mensões, como por exemplo, o total de vendas de um produto namento entre duas tabelas. Sendo assim, a melhor maneira de
agrupado por mês e por loja. Para um produto, em um deter- representar o relacionamento entre duas tabelas no DW é atra-
minado mês e uma loja específica existe apenas um total de vés dos artefatos;
vendas. Pode-se imaginar estes dados através de um cubo tridi- - acomodação dos diferentes níveis de granularidade: o ní-
mensional onde uma dimensão representa os produtos, a outra vel de granularidade do sistema transacional pode ser o mesmo
representa as lojas e a terceira representa o mês/ano. do DW ou não. Alterando o nível de granularidade o modelo de
DW também sofre alteração na sua representação;
- união dos dados comuns de diferentes tabelas: considera
a possibilidade de combinar duas ou mais tabelas do modelo
corporativo em uma única tabela do modelo de DW;
- criação de arrays de dados: o modelo corporativo nor-
malmente é normalizado e existem grupos repetitivos que não
é permitido, mas há situação no ambiente de DW que podem
haver grupos repetidos de dados. As condições para a existência
destes são: quando o número de ocorrências do dado é previsí-
vel, quando a ocorrência do dado é relativamente pequena (em
termos de tamanho fixo), quando as ocorrências do dado geral-
mente são usadas juntas e por fim quando o padrão de inserção
e remoção dos dados é estável.
Há várias vantagens em se utilizar esta abordagem. Uma
delas, é que não tendo registros individuais para cada mês, uma
certa quantidade de espaço é economizada. Além disso, o índice
no modelo corporativo requer 12 entradas para cada entrada no
modelo do DW. Outra vantagem é a possibilidade de organizar
Modelagem de Dados Corporativos todas as ocorrências anuais dos dados em uma única localização
INMON (1997) recomenda a utilização do modelo de dados física, criando a possibilidade de um aumento de performance.
corporativo para construir um DW, pois este modelo possui to- Obviamente, esta melhoria de performance está condicionada
dos os atributos necessários para registrar as informações dos ao SGBD em questão, a organização física dos registros dentro
sistemas operacionais da empresa. deste, e outros (GOMES, SILVA, ALBUQUERQUE, 2007).
De acordo com INMON (1997), para utilizar o modelo de
dados corporativo tem-se que fazer um considerável número A Importância da Modelagem de Dados para Garantir a
de alterações dos dados. Para tal, INMON (1997) fornece alguns Qualidade
passos que podem ser seguidos, não se esquecendo de que o A modelagem de dados é um modo eficiente de entender
fundamental é que as decisões de transformação devem ser to- os dados. O seu propósito é prover um registro apurado de al-
madas levando-se em consideração os requisitos específicos da guns aspectos do mundo real para um contexto particular. Atra-
empresa (GOMES, SILVA e ALBUQUERQUE, 2007): vés da modelagem, o projetista do banco de dados pode elimi-
- remoção dos dados puramente operacionais: consiste na nar redundâncias, que representam algumas das fontes de in-
remoção dos dados usados apenas em ambientes operacionais formações inconsistentes e podem levar a sistemas ineficientes
como, mensagem, descrição e status, pois estes normalmente (COUGO, 1997).
não são utilizados no processo de tomada de decisão. Também Um modelo de dados é uma coleção de conceitos que po-
se deve levar em conta o custo para gerenciar grandes volumes dem ser utilizados para descrever um conjunto de dados e as
de dados. operações para a sua manipulação (BATINE, CERI, NAVATHE,
- adição de um elemento de tempo na estrutura da chave: 1992). A não utilização de um modelo implica em um cresci-
deve-se adicionar um elemento de tempo as chaves das tabelas, mento desorganizado das aplicações, promovendo altos custos,
se estas não tiverem. Como por exemplo, a chave é a identifi- esforços para a manutenção e dificuldades no crescimento de
cação do consumidor, pois mais tarde os dados do consumidor uma aplicação. O modelo permite ao usuário um melhor enten-
podem sofrer alterações e assim ficará fácil descobrir qual con- dimento do negócio, com a vantagem de facilitar a visualização
sumidor teve os dados alterados; das consequências de qualquer ação dentro do ambiente e o
- introdução de dados derivados: adiciona-se dados deriva- impacto de qualquer mudança sobre o mesmo (DEVLIN, 1997).
dos que serão usados habitualmente mas de forma que estes Ele representa a definição, caracterização e relacionamento dos
dados só sejam calculados uma única vez. Assim ocorre uma dados em um determinado ambiente. Um dos diagramas mais
redução no processamento que deve ser feito para acessar os empregados na modelagem de dados é o Diagrama de Entidade
dados derivados ou sumarizados; e Relacionamento (DER).
96
CONHECIMENTOS DE INFORMÁTICA
A modelagem deve sempre que possível levar em consi- Um documento estruturado pode ser apresentado ao usu-
deração a possibilidade de futuras implementações nas orga- ário de diferentes formas, por exemplo, numa impressão em
nizações. A capacidade de reconhecer antecipadamente estas papel, na tela de um navegador com janelas gráficas (Windows,
necessidades dependerá em grande parte da experiência e XWindows, etc), na tela simplificada de um notebook ou de
conhecimento da equipe de desenvolvimento em relação às um telefone celular ou até em algum equipamento multimídia.
necessidades da organização. A modelagem deve levar em con- Pode também ser enviado para processamento por algum sof-
sideração aspectos como: aquisição dos dados; arquivamentos tware especializado como um Gerenciador de Banco de Dados.
dos registros de dados; padronização dos dados; comunicação Os requisitos para estruturação de um documento são or-
e integração; armazenamento e recuperação das informações e togonais aos requisitos necessários para sua apresentação. Este
análise dos dados para levantamento (WEN, 2007). é um dos principais problemas da linguagem HTML onde ambos
estão misturados e que recentemente foi atacado em duas fren-
Fonte: tes:
https://tecnoblog.net/245120/banco-de-dados-importan- - introdução de “Folhas de Estilo” (“Cascading Style Sheets”)
cia/ permitindo especificar a apresentação desejada para cada ele-
https://www.ime.usp.br/~andrers/aulas/bd2005-1/aula4. mento de um documento, separadamente da sua marcação
html HTML,
http://www.fatecsp.br/dti/tcc/tcc0025.pdf - especificação da linguagem XHTML, sucessora de HTML
http://www.macoratti.net/14/02/sql_tsql1.htm 4.01, seguindo o padrão da nova meta-linguagem de marcação
https://medium.com/@alexjosesilva/pl-sql-do-b%C3%A- XML da www.org. XML é voltada para o intercâmbio de docu-
1sico-ao-avan%C3%A7ado-aad4e4a04dba mentos via Web de forma independente da sua apresentação
https://docs.microsoft.com/pt-br/azure/hdinsight/ha- final e é um subconjunto restrito da linguagem pioneira de mar-
doop/hdinsight-use-hive cação, SGML.
https://dicasdeprogramacao.com.br/6-motivos-para-usar- É importante lembrar que HTML, XHTML, XML e SGML são
-bancos-de-dados-nosql/ padrões internacionais originados na www.org, sancionados
pelas organizações ANSI e ISO, e, portanto, independentes de
https://medium.com/devtranslate/diferencas-entre-sql-e-
fabricantes de hardware ou software.
-nosql-51311f9069bd
http://www.luiztools.com.br/post/tutorial-mongodb-para-
Estrutura de documentos HTML
-iniciantes-em-nosql-2/
Um documento HTML é um conjunto (mais precisamente
https://canaltech.com.br/business-intelligence/conhecen-
uma hierarquia) de elementos :
do-a-arquitetura-de-data-warehouse-19266/
Um elemento é demarcado (usualmente) por 2 tags:
https://www.devmedia.com.br/qualidade-na-modelagem-
“tag inicial”, no formato: <nome-do-elemento atribu-
-dos-dados-de-um-data-warehouse/6978 tos(opcional) >
“tag final”, no formato: </nome-do-elemento>
Conteúdo de um elemento:
TECNOLOGIAS WEB: HTML 5, CSS 3, XML 1.1, JSON - usualmente texto entre o tag inicial e o tag final,
(ECMA-404), ANGULAR.JS 1.6.X, NODE.JS 6.11.3, REST - também pode conter outros elementos, de forma que a
hierarquia dos elementos é uma árvore
- a raiz do documento é sempre o elemento <html>
HTML (Hypertext Markup Language) é uma Linguagem de Elementos sem conteúdo e sem tag final são ditos “elemen-
Marcação (“Markup Language”) voltada para: tos vazios”. Por exemplo: <br>, <hr>, <img>
- estruturação de documentos, Tais elementos tornam complexa a análise sintática de um
- apresentação visual de documentos em um navegador documento HTML por parte do browser. Por esta razão em XHT-
(“browser”) ML eles devem conter o tag final seja na forma compacta: <br />
HTML é derivada da linguagem pioneira de marcação ou explicitamente: <br></br>.
SGML (Standard Generalized Markup Language) e foi criada por Atributo: um atributo define uma característica ou proprie-
Tim Berners Lee (o idealizador da WWW) especificamente para dade de um elemento; é sempre incluído no tag inicial de um
a composição e apresentação de documentos na Web. A evolu- elemento, usando a sintaxe: nome_do_ atributo=”valor”.
ção cronológica dessas linguagens foi a seguinte: Um elemento pode ter vários atributos, separados por es-
SGML → HTML 1.0 → HTML xx → XML → HTML 4.01 → paço(s) em branco. Ao contrário de HTML, em XHTML todo atri-
XHTML. buto deve ter um valor, mesmo que seja vazio (“”) e o valor deve
Um documento estruturado é composto por conteúdo ser sempre delimitado por aspas duplas. Por exemplo:
(texto, figuras, etc) e informação sobre o papel do conteúdo no <img src=”sun.jpg” alt=”sunburst graphic” width=”32” hei-
documento, ou seja, como êle está estruturado. Por exemplo: ght=”21” align=”left”>
um artigo técnico é usualmente composto por um “título”, “au- Entidade: uma entidade é um nome associado a alguma
tores”, “resumo”, diversas “seções” e uma “bibliografia”, nesta parte do documento (ou de um outro documento).
ordem. Cada um dos componentes (ou “elementos”) indicados Uma entidade tem papel semelhante a uma macro que
entre aspas acima, representa uma parte estrutural do docu- quando “referenciada” tem o seu nome substituído pelo texto
mento. que a define.
97
CONHECIMENTOS DE INFORMÁTICA
A “referência a uma entidade” (“entity reference”) obedece <p>Aqui vai o texto do parágrafo.
à notação: &nome-da-entidade; Geralmente parágrafos tem muitas palavras, letras meno-
Entidades podem ser “internas” ou “externas” ao documen- res que as do título</p>
to. HTML só suporta entidades internas predefinidas. Elas ser- </body>
vem para nomear caracteres especiais, geralmente usados para </html>
marcação no texto HTML como:
“<”, “>”, “&”, “ Criando seu primeiro HTML
e que são inseridos como conteúdo respectivamente, pelas Para criar seu HTML é muito simples. Primeiro, abra e crie
referências: um arquivo vazio, sem texto, com o nome index.html. Utilize o
< > & " Notepad (se estiver no windows) ou o TextEdit (se estiver no
Mac).
A estrutura básica Perceba que a extensão do seu arquivo é .html e não .txt
Todo HTML começa do mesmo jeito. Não há segredos aqui. Feito isso, copie o código utilizado no exemplo acima e cole
Você pode simplesmente copiar em algum lugar para usar esse neste documento. Salve e abra no seu navegador. Voilá! Você fez
código toda vez iniciar um novo HTML. seu primeiro arquivo HTML
98
CONHECIMENTOS DE INFORMÁTICA
99
CONHECIMENTOS DE INFORMÁTICA
100
CONHECIMENTOS DE INFORMÁTICA
101
CONHECIMENTOS DE INFORMÁTICA
Com o Cascading Style Sheets é possível criar animações Vamos simular um exemplo. Digamos que o objetivo é mu-
complexas, criar efeitos com uso de parallax, que faz parecer dar a fonte de uma tag h1. Para isso podemos usar h1 {font-size:
que a imagem de fundo tem uma profundidade diferente um 20px;}
dos outros, criar sites interativos e também jogos com HTML5 h1 – é o seletor. Neste caso selecionamos o h1.
e CSS3. font-size – é a declaração que contém a propriedade (font-
O CSS usa uma sintaxe simples baseada em inglês com um -size) e o valor é (20px).
conjunto de regras que o governam. Como mencionamos ante- Lista de comandos básicos CSS
riormente, o HTML nunca teve a intenção de usar elementos de São tantas opções entre seletores, propriedades e valores
estilo, apenas a marcação da página. Foi criado para descrever que pode ser muito difícil para um desenvolvedor lembrar de to-
apenas o conteúdo. Por exemplo: <p>Este é um parágrafo.</p>. dos eles apenas confiando na memória. Por isso decidimos criar
Mas como você estiliza o parágrafo? A estrutura da sintaxe uma Lista de Comandos Básicos CSS (CSS3 Incluso) que servirá
CSS é bem simples. Tem um seletor e um bloco de declaração. de ajuda para você que está aprendendo sobre o que é CSS.
Você seleciona um elemento e depois declara o que deseja fazer
com ele. Bastante simples, certo? Estilos CSS Interno, Externo e Inline
Mas tem algumas regras que você precisa saber. Isso tam- Analisaremos cada estilo de forma rápida! Para uma expli-
bém é simples, não se preocupe. cação detalhada, acesse o link que vamos disponibilizar logo
O seletor aponta para o elemento HTML que você deseja abaixo.
estilizar. O bloco de declaração contém uma ou mais declarações Vamos começar com o estilo interno. Estilos CSS feitos des-
separadas por ponto e vírgula. ta forma são carregados cada vez que um site é atualizado, o
Cada declaração inclui um nome de propriedade CSS e um que pode aumentar o tempo de carregamento. Além disso, você
valor, separados por dois pontos. Uma declaração CSS sempre não poderá usar o mesmo estilo CSS em várias páginas, pois está
termina com um ponto-e-vírgula e os blocos de declaração são contido em uma única página. Mas a vantagem disso é que ter
cercados por chaves. tudo em uma página facilita o compartilhamento do modelo
Vamos ver um exemplo: para uma visualização.
O método externo pode ser o mais conveniente. Tudo é
Todos os elementos <p> serão estilizados e serão coloridos
feito externamente em um arquivo .css. Isso significa que você
de azul e negrito.
pode fazer todo o estilo em um arquivo separado e aplicar o
<style>
CSS a qualquer página desejada. O estilo externo também pode
melhorar o tempo de carregamento.
p{
Por fim, tem também o estilo Inline do CSS. Inline traba-
color: blue;
lha com elementos específicos que possuem a tag <style>. Cada
text-weight: bold;
componente deve ser estilizado, por isso talvez não seja o me-
}
lhor ou o mais rápido para lidar com CSS. Mas pode ser útil, por
exemplo, para alterar um único elemento, visualizar rapidamen-
<style> te as alterações ou se não tiver acesso aos arquivos CSS.
Em outro exemplo, todos os elementos <p> serão centrali-
zados, com tamanho 16x e de cor pink. Como Criar uma Folha de Estilo
<style> Para criar uma folha de estilos é bem simples. Basta abrir
p{ seu editor de códigos, como o Sublime, e criar um documento
novo.
text-align: center; Depois de criado, salve como estilo.css, mesmo sem ainda
font-size: 16px; ter escrito nada (este .css é o que define um arquivo ser reco-
color: pink; nhecido pelo navegador como a folha de estilo).
}
</style>
102
CONHECIMENTOS DE INFORMÁTICA
Assim que for salvo, o editor de texto vai conseguir ler o arquivo com mais facilidade, até mesmo com sugestões de auto comple-
te enquanto digita os códigos da folha de estilo, como mostra o print abaixo:
Como integrar o CSS no HTML?
Após salvar como estilo.css precisamos colocar o arquivo em nosso arquivo HTML, porque é ele quem vai carregar o CSS, o CSS
sozinho não faz site! E é com tags de referência que você avisa ao HTML que existe um arquivo de estilo para ele, veja:
<link rel=”stylesheet” type=”text/css” href=”estilo.css”>
Esta tag vai indicar ao HTML que tem um arquivo CSS para ser adicionado à página. Isto deve ser adicionado dentro da tag <head>
</head> do seu HTML, como pode ver nesse print abaixo.
103
CONHECIMENTOS DE INFORMÁTICA
Agora abra o documento estilo .css com o Sublime, que provavelmente está na mesma pasta do nosso HTML.
A partir desta última imagem, vamos entender como o CSS funciona com três parâmetros básicos:
Elementos Básicos do CSS
Os elementos são tags do HTML, #id e .classe.
1. Tags HTML
body
h1
h2
h3
h4
h5
h6
span
p
2. Classes CSS
Criar e usar uma classe CSS é simples. No documento CSS basta colocar .nome-da-classe-que-deseja . Abaixo criamos a classe
título:
104
CONHECIMENTOS DE INFORMÁTICA
Note que existe um ponto (.) antes do nome da classe. Isso faz com que o CSS entenda que se está criando uma classe para ser
usada no HTML.
Para se adicionar essa classe que criamos dentro do CSS, basta que na tag HTML tenha o parâmetro class=””.
Observação: dentro das aspas, não precisa usar o ponto (.) antes da classe pois o nome class no HTML já avisa para o CSS que é
para ele buscar pelo nome da classe com “.”
Lembrando que uma tag HTML, como h1 ou qualquer outra, pode ter mais de uma classe, basta separá-las com espaço como
mostra no exemplo abaixo:
<h1 class=”titulo fonte-grande sublinhado”>Melhor site</h1>
Nesta tag foram usadas três classes: “titulo”, “fonte-grande” e “sublinhado”.
Mas para que todas estas classes tenham efeito épreciso criá-las no CSS. Veja como criamos estas classes:
105
CONHECIMENTOS DE INFORMÁTICA
DICA: Este parâmetro de ID’s não é o mais apropriado para se usar em uma página para muitos botões pois pode causar conflitos
com a linguagem de programação JavaScript, que utiliza normalmente dos ID’s no HTML para realizar ações mais complexas.
Como adicionar CSS no HTML sem a tag <link>?
Existem duas outras maneiras de se adicionar CSS no HTML, apesar de não serem recomendadas devido a um padrão adotado
mundialmente, é nosso dever te mostrar como faz.
1- Adicionar CSS no HTML sem uso do arquivo externo
Você pode adicionar o CSS colocando o estilo dentro do próprio HTML, sem usar um arquivo CSS externo como mostra o exemplo
abaixo:
106
CONHECIMENTOS DE INFORMÁTICA
Neste exemplo, o estilo fica dentro do HTML mesmo com o uso da tag <style> dentro da tag <head>. Isso faz com que tudo fique
centralizado em um único documento.
E por que não é recomendado? Quando há muitas linhas de estilo isso pode causar uma demora ao abrir a página uma vez que
o navegador lê o seu documento de cima para baixo, linha por linha. Então se tiver muitas linhas de estilo para ler, vai demorar mais
para o conteúdo da página ser mostrado.
Por isso, o ideal é usar a tag <link> para que, ao invés de ler muitas linhas de estilo, o navegador leia somente uma referência para
outro arquivo e assim fazer com que seu conteúdo seja carregado mais rapidamente.
2- Adicionar CSS no HTML utilizando o parâmetro style
Você pode adicionar CSS no HTML utilizando o parâmetro style em uma tag html específica. Mas isso afetará somente aque-
la tag e não todas as demais tags com o mesmo nome. Então, ao invés de usarmos os parâmetros id=”” ou class=””, utilizaremos o
parâmetro style=””:
<h1 style=”font-size: 3rem;color: #333;text-align: center;”>
Veja como fica:
E por que não é recomendado? Este tipo de uso de estilos se torna um problema caso outros elementos tenham as mesmas ca-
racterísticas do seu título, por exemplo. Com isso, você teria que copiar todo o parâmetro style da tag h1.
Diante de disso, concluímos também que o mais recomendado é o uso de classes através de um arquivo de estilo externo ao
CSS. Assim, conseguimos usar os estilos de forma mais limpa e rápida e é possível reutilizar essas classes em outras tags sempre que
desejar, sem afetar o tempo de carregamento da página.
Recursos do CSS 3
Criar páginas visualmente ricas ficou muito mais fácil com as novidades trazidas pelo CSS 3. A principal função do CSS 3 é agregar
recursos visuais como transparência, transições e efeitos para criar animações de vários tipos. Por exemplo, é possível criar um relógio
de ponteiros, usando somente recursos do CSS 3.
Bordas arredondadas com CSS
Para deixar a aparência das páginas mais agradável, é muito comum o uso de bordas redondas nas várias divs que usualmente
dispõem o conteúdo do site. Atualmente, programadores utilizam de vários artifícios para obter esse efeito gráfico. Alguns utilizam
imagens, outros utilizam scripts, mas com o CSS 3 isto não será mais necessário, já que foi incluída uma propriedade para criação de
bordas arredondadas.
A Listagem 7 apresenta o código HTML do exemplo. Estudando o código, podemos perceber na tag <body> a definição de
uma <div> com id mydiv contendo um pequeno texto, e no início da página temos a importação do arquivo CSS, feita com a tag <link>.
Listagem 7. Código HTML do exemplo com a propriedade de bordas arredondadas.
<html>
<head>
<title>Exemplo com Bordas Arredondadas</title>
<link rel=”stylesheet” type=”text/css” href=”style.css” />
</head>
<body>
<div id=”mydiv”>
Exemplo de div com bordas arredondadas.
</div>
</body>
</html>
A Listagem 8 exibe o código CSS deste exemplo. Salve este código em um arquivo com o nome style.css e coloque-o na mesma
pasta que o arquivo criado anteriormente. Veja no código CSS que algumas propriedades são configuradas para mydiv. Entre essas
configurações, setamos que o texto presente neste elemento terá um alinhamento centralizado (text-align: center), aplicamos um
fundo azul (background: blue) para facilitar a visualização das bordas, configuramos uma largura de 200 pixels (width: 200px) e, por
fim, com a propriedade border-radius, definimos que o raio da borda arredondada será de 10 pixels.
A Figura 5 ilustra este exemplo em funcionamento.
Listagem 8. Código CSS do exemplo com a propriedade de bordas arredondadas.
107
CONHECIMENTOS DE INFORMÁTICA
#mydiv {
text-align: center;
background: blue;
width: 200px;
border-radius: 10px;
}
Também é possível arredondar a borda de cada canto separadamente, através das seguintes propriedades CSS 3:
border-radius-topleft – para o canto superior esquerdo;
border-radius-topright – para o canto superior direito;
border-radius-bottomright – para o canto inferior direito;
border-radius-bottomleft – para o canto inferior esquerdo.
Ou ainda podemos passar todos os valores numa única declaração, assim como outras propriedades CSS permitem:
Observando o código, veja que na tag <body> da página é criada uma <div> e na tag <style>definimos a propriedade box-shadow,
responsável por aplicar o efeito de sombra. Os argumentos passados à propriedade são respectivamente: a distância horizontal da
sombra, a distância vertical, o nível de desfocagem e a cor da sombra.
Listagem 9. Código da página usando a propriedade box-shadow.
108
CONHECIMENTOS DE INFORMÁTICA
<html>
<head>
<style type=”text/css”>
div {
width: 300px;
height: 100px;
background-color: yellow;
box-shadow: 10px 10px 5px #888888;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
Efeito de sombra de texto
O CSS 3 também tem algumas novidades com relação a efeitos em textos, suprindo necessidades há muito tempo conhecidas por
programadores web que, comumente, fazem uso de imagens e até mesmo plug-ins externos quando é necessário a criação de textos
com um visual mais elaborado.
Com a finalidade de apresentar um dos novos recursos, na Listagem 10 temos o código para a demonstração do efeito de sombra
de texto. Ao executar o exemplo, vamos obter o resultado demonstrado pela Figura 7.
Listagem 10. Código do exemplo com efeito de sombra de texto.
<html>
<head>
<title>Efeitos de texto com CSS 3</title>
<style type=”text/css”>
h1 {
text-shadow: 5px 5px 5px #FF0000;
}
</style>
</head>
<body>
<h1>Efeito de Sombra</h1>
</body>
</html>
No código, foi criado um título (elemento <h1>) dentro do <body> da página, e no início da mesma foi definida a tag <style> na
qual atribuímos a propriedade CSS text-shadow para o elemento <h1> citado anteriormente.
text-shadow é a propriedade responsável por aplicar o efeito de sombra de texto. Neste caso, utilizamos a propriedade para apli-
car este efeito ao título. Veja que é possível definir uma cor para a sombra e também a sua distância em relação ao texto.
Observando o código CSS, note que os argumentos passados depois da propriedade são exatamente os mesmos do exemplo
anterior.
109
CONHECIMENTOS DE INFORMÁTICA
<html>
<head>
<style type=”text/css”>
#test {
width: 150px;
border: 1px solid #000000;
}
</style>
</head>
<body>
<p id=”test”> Este parágrafo contém uma palavra muito
longa:
estaéumapalavramuitomuitomuitolonga. Esta palavra
longa
deve quebrar para a linha seguinte.</p>
</body>
</html>
Ao abrir a página no navegador (veja a Figura 8), note que uma palavra ultrapassou os limites do elemento <p>. Isto porque a
palavra toda ocupa uma extensão maior do que a largura do componente, que neste caso é de 150px.
Para evitar que este tipo de situação indesejada aconteça, o CSS 3 traz a propriedade word-wrap. Com o seu uso podemos garantir
que todo o texto esteja envolvido pelo elemento HTML, mesmo que, às vezes, isso signifique que a palavra seja quebrada ao meio.
Para vermos o uso desta propriedade, substitua o conteúdo da tag <style> pelo código da Listagem 12.
Listagem 12. Código usando propriedade word-wrap.
<style type=”text/css”>
#test {
width: 150px;
border: 1px solid #000000;
word-wrap: break-word;
}
</style>
110
CONHECIMENTOS DE INFORMÁTICA
Ao executar novamente a página, vamos ter o resultado mostrado na Figura 9. Agora sem o problema de a palavra exceder os
limites do componente, pois ao utilizar a propriedade word-wraprecebendo break-word como argumento, se a palavra for longa de tal
forma a ultrapassar a região da tag, esta palavra é quebrada (break-word), continuando na próxima linha.
<html>
<head>
<style type=”text/css”>
div
{
width:100px;
height:75px;
background-color:red;
border:1px solid black;
}
#div2
{
-webkit-transform:rotate(30deg);
}
</style>
</head>
<body>
<div>Este é um elemento div.</div>
<div id=”div2”>Este é um segundo elemento div.</div>
</body>
</html>
Observe no código que duas divs foram criadas no corpo da página. Na tag <style> foram definidas configurações CSS gerais para
estes dois elementos. No entanto, somente para a div2 temos a definição da propriedade -webkit-transform recebendo como parâme-
tro rotate(30deg), que indica que a div2 deverá ser rotacionada em 30 graus. O resultado desta configuração é exibido na Figura 10.
111
CONHECIMENTOS DE INFORMÁTICA
O atributo transform possui muitos outros recursos que não serão abordados, como por exemplo: scale – responsável por redi-
mensionar o elemento; translate – responsável por alterar a posição; skew – que faz uma transformação alterando os ângulos do ele-
mento; e matrix – que altera a posição, ângulos e rotaciona o elemento (usando uma mesma propriedade). Caso tenha se interessado
pelo assunto, visite o tutorial sobre CSS 3 que se encontra na seção Links.
Efeitos de transição
A última funcionalidade CSS 3 que será demonstrada são os efeitos de transição (transition). Esta propriedade permite alterar
gradualmente valores de outros atributos CSS. Assim como no exemplo anterior, é necessária a inclusão do prefixo -webkit- para que
este recurso funcione no Google Chrome. Na Listagem 14 encontra-se o código do exemplo.
Listagem 14. Código do exemplo com efeito de transição.
<html>
<head>
<style type=”text/css”>
div {
width: 100px;
height: 100px;
background: red;
-webkit-transition: width 2s, height 2s, -webkit-transform
2s;
}
div:hover {
width: 200px;
height: 200px;
-webkit-transform: rotate(180deg);
}
</style>
</head>
<body>
<div>Passe o mouse sobre esta área para ver o efeito de
transição!</div>
</body>
</html>
Na tag <style> do exemplo especificamos através do div:hover que, ao ser sobreposta pelo cursor, a div irá alterar sua largura de
100px para 200px (atributo width), sua altura de 100px para 200px(atributo height) e sua rotação em 180 graus (-webkit-transform:
rotate). Ainda na tag <style>, em div setamos na propriedade -webkit-transition um tempo de dois segundos para a transição dos
valores de cada propriedade.
112
CONHECIMENTOS DE INFORMÁTICA
Desta forma, ao rodar o exemplo e sobrepormos o cursor do mouse sobre a div, vai demorar dois segundos para esta rotacionar e
redimensionar sua largura e altura. A transição dos valores das propriedades acontecerá de maneira gradativa dentro deste intervalo
de tempo. Veja na Figura 11uma imagem da div no decorrer do processo de transição.
113
CONHECIMENTOS DE INFORMÁTICA
114
CONHECIMENTOS DE INFORMÁTICA
Os arquivos XML são arquivos texto, mas não são tão des- A partir dos tipos básicos, é possível construir tipos com-
tinados à leitura por um ser humano como o HTML é. Os docu- plexos: array e objeto. Os arrays são delimitados por colchetes,
mentos XML são arquivos texto porque facilitam que os progra- com seus elementos separados entre vírgulas. As listagens 6 e 7
madores ou desenvolvedores “debuguem” mais facilmente as mostram exemplos.
aplicações, de forma que um simples editor de textos pode ser Listagem 6: Array de Strings
usado para corrigir um erro em um arquivo XML. Mas as regras [“RJ”, “SP”, “MG”, “ES”]
de formatação para documentos XML são muito mais rígidas do Listagem 7: Matriz de Inteiros
que para documentos HTML. Uma tag esquecida ou um atribu- [
to sem aspas torna o documento inutilizável, enquanto que no [1,5],
HTML isso é tolerado. As especificações oficiais do XML determi- [-1,9],
nam que as aplicações não podem tentar adivinhar o que está [1000,0]
errado em um arquivo (no HTML isso acontece), mas sim devem ]
parar de interpretá-lo e reportar o erro. Os objetos são especificados entre chaves e podem ser com-
postos por múltiplos pares nome/valor, por arrays e também
JSON por outros objetos. Desta forma, um objeto JSON pode repre-
JSON (JavaScript Object Notation) é um modelo para ar- sentar, virtualmente, qualquer tipo de informação! O exemplo
mazenamento e transmissão de informações no formato texto. da Listagem 8 mostra a representação dos dados de um filme.
Apesar de muito simples, tem sido bastante utilizado por apli- Listagem 8: Objeto
cações Web devido a sua capacidade de estruturar informações {
de uma forma bem mais compacta do que a conseguida pelo “titulo”: “JSON x XML”,
modelo XML, tornando mais rápido o parsing dessas informa- “resumo”: “o duelo de dois modelos de representação de
ções. Isto explica o fato de o JSON ter sido adotado por empre- informações”,
sas como Google e Yahoo, cujas aplicações precisam transmitir “ano”: 2012,
grandes volumes de dados. “genero”: [“aventura”, “ação”, “ficção”]
Este artigo apresenta uma introdução ao formato JSON e }
está dividido da seguinte forma. A Seção 2 descreve a sintaxe da É possível representar mais de um objeto ou registro de
linguagem. Em seguida, na Seção 3 realiza-se uma comparação uma só vez. Um exemplo é apresentado na Listagem 9, onde
entre os modelos JSON e XML. A Seção 4 apresenta um exemplo dois filmes são representados em um array.
de utilização prática do JSON em um programa Java - com o uso Listagem 9: Array de objetos
da biblioteca gson criada pelo Google. Por fim, na Seção 5 são [
apresentadas as conclusões e comentários finais. {
“titulo”: “JSON x XML”,
Sintaxe no JSON “resumo”: “o duelo de dois modelos de representação
A ideia utilizada pelo JSON para representar informações é de informações”,
tremendamente simples: para cada valor representado, atribui- “ano”: 2012,
-se um nome (ou rótulo) que descreve o seu significado. Esta “genero”: [“aventura”, “ação”, “ficção”]
sintaxe é derivada da forma utilizada pelo JavaScript para re- },
presentar informações. Por exemplo, para representar o ano de {
2012, utiliza-se a seguinte sintaxe: “titulo”: “JSON James”,
Listagem 1: Representando o ano de 2012 “resumo”: “a história de uma lenda do velho oeste”,
“ano”: 2012,
“ano”: 2012 “genero”: [“western”]
}
Um par nome/valor deve ser representado pelo nome en- ]
tre aspas duplas, seguido de dois pontos, seguido do valor. Os Por fim, é importante citar que a palavra-chave “null” deve
valores podem possuir apenas 3 tipos básicos: numérico (inteiro ser utilizada para a representação de valores nulos (Listagem 10).
ou real), booleano e string. As Listagens 2, 3, 4 e 5 apresentam Listagem 10: Representando um valor nulo
exemplos. Observe que os valores do tipo string devem ser re- “site”:null
presentados entre aspas.
Listagem 2: Representando um número real JSON x XML
“altura”: 1.72 Podemos entender o JSON como uma espécie de “concor-
Listagem 3: Representando uma string rente” da XML na área de troca de informações. Nesta seção,
“site”: “www.devmedia.com.br” apresentamos algumas das principais semelhanças e diferenças
Listagem 4: Representando um número negativo entre os dois modelos para a representação de informações.
“temperatura”: -2 Semelhanças:
Listagem 5: Representando Os dois modelos representam informações no formato texto.
um valor booleano Ambos possuem natureza auto-descritiva (ou seja, basta
“casado”: true “bater o olho” em um arquivo JSON ou em um arquivo XML para
entender o seu significado).
115
CONHECIMENTOS DE INFORMÁTICA
Ambos são capazes de representar informação complexa, difícil de representar no formato tabular. Alguns exemplos: objetos
compostos (objetos dentro de objetos), relações de hierarquia, atributos multivalorados, arrays, dados ausentes, etc.
Ambos podem ser utilizados para transportar informações em aplicações AJAX.
Ambos podem ser considerados padrões para representação de dados. XML é um padrão W3C, enquanto JSON foi formalizado
na RFC 4627.
Ambos são independentes de linguagem. Dados representados em XML e JSON podem ser acessados por qualquer linguagem de
programação, através de API’s específicas.
Diferenças:
JSON não é uma linguagem de marcação. Não possui tag de abertura e muito menos de fechamento!
JSON representa as informações de forma mais compacta.
JSON não permite a execução de instruções de processamento, algo possível em XML.
JSON é tipicamente destinado para a troca de informações, enquanto XML possui mais aplicações. Por exemplo: nos dias atuais
existem bancos de dados inteiros armazenados em XML e estruturados em SGBD’s XML nativo.JSON no Java
Ao acessar a home page oficial do JSON (www.json.org) você verá que existem parsers disponíveis para quase todas as lingua-
gens: Delphi, PHP, Java, Matlab, C++, C#, etc. Uma coisa que me chamou a atenção quando acessei esta página é que, para a maioria
das linguagens, estão disponibilizados vários parsers distintos. Por exemplo, para Java, existem nada mais de 20 parsers JSON diferen-
tes!!!
Essa quantidade toda pode até intimidar os iniciantes em JSON. No universo XML a coisa é bem mais fácil, pois existem duas API’s
básicas para o parsing de informações: SAX e DOM. Ambas já são instaladas junto com o Java e, daí, basta utilizá-las. Adicionalmente, o
princípio de funcionamento das API’s SAX e DOM é bastante conhecido pelos desenvolvedores: DOM importa o documento todo para
a memória, criando uma árvore, enquanto o SAX percorre o arquivo sequencialmente disparando eventos, sem realizar a importação
de informações para a memória.
O JSON parece ainda não ter atingido esse grau maturidade. Várias pessoas/empresas implementaram os seus próprios parsers,
com diferentes princípios de funcionamento. Como ainda não há um padrão, fica difícil decidir qual utilizar! Porém, como achei que
seria interessante mostrar um exemplo prático de JSON dentro de um programa Java, optei por montar esse exemplo com o uso da
biblioteca gson, que foi desenvolvida pelo Google, é bem documentada e simples de utilizar em seu “modo básico”. Para obter esta
biblioteca, você deve acessar o site do projeto, http://code.google.com/p/google-gson/ e fazer o download do ZIP que contém os
arquivos “.jar” que compõem do gson. Para o teste descrito neste artigo, a versão utilizada foi a 2.2.2.
Após a instalação da biblioteca, você poderá utilizá-la de uma forma tão simples que vai ficar assustado! Inicialmente, você deverá
instanciar um objeto da classe Gson, do pacote com.google.gson.Gson. Para converter um objeto Java para JSON, utiliza-se o méto-
do toJson.E para fazer ao contrário, ou seja, atribuir o conteúdo de um objeto Java a partir de uma string Json, utiliza-se fromJson.
A Listagem 11 mostra um exemplo de uso do método “toJson”. Neste exemplo, o conteúdo de um objeto da classe Filme é con-
vertido para o formato JSON, armazenado na variável string “aux” e depois exibido na tela. Veja que a classe Gson é inteligente o
suficiente para entender a estrutura do objeto e modelar as suas informações no formato JSON.
Listagem 11: Método toJson
import java.util.ArrayList;
import com.google.gson.Gson;
class Filme {
public String titulo;
public int ano;
public ArrayList generos;
}
116
CONHECIMENTOS DE INFORMÁTICA
//imprime os resultados
System.out.println(aux);
}
}
O resultado é apresentado na Figura 1:
A seguir, na Listagem 12, apresenta-se um exemplo de uso do método “fromJson”. Desta vez, o conteúdo da String “aux” contém
os dados do filme modelados no formato JSON. Esse conteúdo é transportado automaticamente para um objeto do tipo Filme, bas-
tando realizar uma chamada ao método “fromJson”.
Listagem 12: Método fromJson
import java.util.ArrayList;
import com.google.gson.Gson;
class Filme {
public String titulo;
public int ano;
public ArrayList generos;
}
//imprime os resultados
System.out.println(f.titulo);
System.out.println(f.ano);
System.out.println(f.generos.toString());
}
}
117
CONHECIMENTOS DE INFORMÁTICA
Observe que o método fromJson requisita os seguintes parâmetros: a string JSON e a classe do objeto que receberá os resultados.
A Figura 2 mostra o resultado da execução do programa.
O que é AngularJS?
AngularJS é um framework em javascript, de código aberto e que é mantido pelo Google. Seu objetivo é aumentar aplicativos que
podem ser acessados por um navegador web e tem como padrão o MVVM (Model-View-View-Model), em um esforço para facilitar
tanto o desenvolvimento quanto o teste dos aplicativos.
O framework AngularJS funciona através da leitura de páginas HTML, que tem embutido nelas atributos adicionais personalizados
em suas tags. Angular interpreta esses atributos como as diretivas para ligar partes de entrada ou saída de página para um modelo
que é representado por variáveis em padrão javaScript. Os valores dessas variáveis javaScript podem ser configurados manualmente
no código ou recuperado a partir de recursos JSON estáticos ou dinâmicos.
O Angular JS disponibiliza recursos cmpletos para facilitar a criação de um aplicativo CRUD:
- vinculação de dados,
- diretrizes básicas de modelos,
- validação de formulários,
- roteamento,
- componentes reutilizáveis
- injeção de dependência.
Angular segue o padrão MVC da engenharia de Software e encoraja o baixo acoplamento entre apresentação, dados e compo-
nentes lógicos.
<script src=”https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js”></script>
Motivação do AngularJS
O AngularJS surgiu a partir da necessidade de evolução dos frameworks de Javascript. O Javascript é uma linguagem de progra-
mação web frontend, isso é, programação ligada à interface com o usuário.
Não é o primeiro framework popular que surgiu neste sentido. Muitos outros são utilizados por desenvolvedores, a exemplo do
jQuery, que é uma biblioteca que facilita o controle de elementos de uma página HTML, também chamado de DOM. Outros exemplos
de frameworks de Javascript: Javascript MVC, Backbone.js, Knockout.
Com o passar dos anos, tornou-se tendência que linguagem que é executada no lado do cliente (navegador) pudesse também ser
executada no lado do servidor, gerando a plataforma NODE.JS (um interpretador de código JavaScript), hoje em dia mundialmente
conhecida e utilizada.
118
CONHECIMENTOS DE INFORMÁTICA
-> Padrão MVC ->O AngularJS Utiliza Recurso Two-Way Data Binding
Aplicações tradicionais vinculam dados em em uma úni-
ca direção, que passam pelo modelo até serem disponibiliza-
das na view (camada do usuário). O desenvolvedor precisa es-
crever um código que faça uma sincronia de maneira constante
através do modelo para que a view esteja sempre atualizada.
119
CONHECIMENTOS DE INFORMÁTICA
O AngularJS reconhece os parâmetros dos controllers e in- Ao carregarmos esse HTML no navegador e digitarmos qual-
jeta as respectivas dependências. Existem 3 formas de declarar quer coisa no input, o parágrafo é atualizado automagicamente.
dependências: Arrays, $inject ou usando diretamente os parâ- Perceberam que até agora não escrevemos nenhum código Ja-
metros de uma função. vaScript?
->O AngularJS Utiliza Recurso de Diretivas A propriedade ng-model funciona como um canal entre a
Diretivas são extensões da linguagem HTML, que fornecem nossa view e o form. Ela pode ser utilizada em inputs do tipo
a possibilidade de estender/ampliar o comportamento de ele- texto, selects, textareas, checkboxes e radio buttons.
mentos HTML. Este recurso permite a implementação de novos
comportamentos de forma declarativa. O model, seus dados e suas validações ficam automatica-
mente disponíveis no escopo da nossa aplicação, como veremos
Principais diretivas do AngulaRJS a seguir.
Segue abaixo a lista de diretivas que permitem o desenvol-
vedor especificar tags HTML personalizadas: A associação de dados é feita através do famoso “bigode-bi-
gode” ({{ }}), passando nomes presentes no escopo (no exemplo
Estrutura inicial acima, o model nome).
Assim como qualquer aplicação web, nosso ponta-pé inicial
acontece com a criação de um página básica. A diferença aqui Enfim, JavaScript!
é que vamos informar um nova propriedade na tag do nosso Chegou a hora de escrevermos nosso primeiro trecho de có-
arquivo: ng-app. digo JavaScript. Vamos criar um controller para nossa aplicação
que carrega uma lista inicial de ítens. Os ítens são armazenados
<html ng-app> no escopo da aplicação ($scope).
<head>
<title>Lista de compras</title> function ListaComprasController($scope) {
<script src=”https://code.angularjs.org/1.0.1/angular- $scope.itens = [
-1.0.1.min.js”></script> {produto: ‘Leite’, quantidade: 2, comprado: false},
</head> {produto: ‘Cerveja’, quantidade: 12, comprado: false}
<body> ];
</body> }
</html>
Essa é a grande sacada do AngularJS. Ao declarar a proprie- O que é Node.js?
dade ng-app, estamos inicializando a nossa aplicação. É a pri- Node.js é uma plataforma construída sobre o motor JavaS-
meira de algumas novas propriedades que iremos utilizar. Todo cript do Google Chrome para facilmente construir aplicações de
o funcionamento do framework gira em torno dessas novas de- rede rápidas e escaláveis. Node.js usa um modelo de I/O dire-
clarações. cionada a evento não bloqueante que o torna leve e eficiente,
ideal para aplicações em tempo real com troca intensa de dados
O atributo ng-app na tag informa que o nosso DOM, além através de dispositivos distribuídos.
de HTML, é também um documento AngularJS. Esta proprieda- Na JSConf 2009 Européia, um programador jovem chamado
de pode ser utilizada em qualquer elemento do DOM — em al- Ryan Dahl, apresentou um projeto em que estava trabalhando.
guns casos, apenas uma parte do seu HTML será uma aplicação Este projeto era uma plataforma que combinava a máquina vir-
Angular. Por baixo dos panos, o framework define o elemento tual JavaScript V8 da Google e um laço de eventos. O projeto
com o atributo ng-app como a raiz da aplicação. apontava para uma direção diferente das outras plataformas
em JavaScript que rodam no servidor: todos I/O primitivos são
Olá, Tableless! orientado a evento. Aproveitando o poder e a simplicidade do
Para provar que o foco do Angular está no HTML e não no Javascript, isso tornou tarefas difíceis de escrever aplicações as-
JavaScript, vamos implementar um exemplo simples em nossa síncronas em tarefas fáceis. Desde quando foi aplaudido de pé
estrutura: no final do seu discurso, o projeto de Dahl tem recebido uma
popularidade e uma aprovação sem precedentes.
<html ng-app>
<head> Que problema o Node pode resolver?
<title>AngularJS - Tableless</title> Node estabeleceu o objetivo número um que é “fornecer
<script src=”https://code.angularjs.org/1.0.1/angular- uma maneira fácil para construir programas de rede escaláveis”.
-1.0.1.min.js”></script> Qual é o problema com os programas servidores atuais? Vamos
</head> fazer os cálculos. Em linguagens como Java™ e PHP, cada cone-
<body> xão cria uma nova thread que potencialmente tem anexado 2
<input type=”text” ng-model=”nome”> MB de memória com ela. Em um sistema que tenha 8 GB de
<p>Olá, Tableless! Meu nome é: {{ nome }}</p> RAM, isso põe o número máximo teórico de conexões concor-
</body> rentes a cerca de 4.000 usuários. E quando o número de usu-
</html> ários aumenta, se você quer que sua aplicação web suporte
120
CONHECIMENTOS DE INFORMÁTICA
mais usuários, você tem que adicionar mais e mais servidores. Programação orientada a Evento
Somado a estes custos também podem haver possíveis proble- Muitos programadores foram ensinados a acreditar que a
mas técnicos: um usuário pode usar diferentes servidores para programação orientada a objetos é um modelo de programação
cada requisição, então cada recurso compartilhado deve ser perfeito e a não usarem nada mais. Node utiliza o que é chama-
compartilhado para todos os servidores. Por todas estas rações, do modelo de programação orientada a evento.
o gargalho em toda a arquitetura de aplicações web (incluindo
velocidade de tráfego, velocidade do processador e velocidade Programação orientada a evento no lado do cliente com
da memória) é o número de conexões concorrentes que o servi- jQuery:
dor pode manipular.
Node resolve esta questão trocando a maneira como a cone- // jQuery code on the client-side showing how Event-Driven
xão é tratada no servidor. Ao invés de criar uma nova OS thread programming works
a cada conexão (e alocar a memória anexa a ela), cada conexão // When a button is pressed, an Event occurs - deal with it
dispara um evento executado dentro da engine de processos do // directly right here in an anonymous function, where all
Node. Node afirma que nunca vai dar deadlock, já que não há the
bloqueios permitidos, e ele não bloqueia diretamente para cha- // necessary variables are present and can be referenced
madas de I/O. Node também alega que um servidor rodando ele directly
pode suportar dezenas de milhares de conexões simultâneas. $(“#myButton”).click(function(){
Então, agora que você tem um programa que pode mani- if ($(“#myTextField”).val() != $(this).val())
pular dezenas de milhares de conexões simultâneas, o que você alert(“Field must match button text”);
pode realmente fazer com o Node? Seria incrível se você tivesse });
uma aplicação web que necessitasse desta quantidade de cone- O lado do servidor na verdade não é diferente do lado do
xões. Este é um daqueles tipos de problema: “se você tem um cliente. Claro que não há botões sendo pressionados e não há
problema, não é mais um problema”. campos de texto sendo escritos, mas em um nível mais alto, os
eventos estão ocorrendo. Uma conexão é feita – evento! Dado
O que Node definitivamente não é? é recebido através da conexão – evento! Data parou de chegar
Sim, Node é um servidor de programas. Entretanto o pro- através da conexão – evento!
duto base do Node definitivamente não é como o Apache ou Por que é que este tipo de configuração é ideal para o
o Tomcat. Estes servidores são basicamente servidores ready- Node? JavaScript é uma excelente linguagem para programa-
-to-install e estão prontos para instalar aplicativos instantâne- ção orientada a evento, porque ela permite funções anônimas
amente. Você pode subir e rodar um servidor em um minuto e encerramentos, e o mais importante, a sintaxe é familiar para
com estes produtos. Node definitivamente não é isso. Pareci- quase todos que já programaram na vida. As funções de call-
do com como o Apache pode adicionar um módulo PHP para back que são chamadas quando um evento ocorre podem ser
permitir desenvolvedores criarem páginas da web dinâmicas, e escritas no mesmo lugar onde você captura o evento. Fácil para
um módulo SSL para conexões seguras, Node tem o conceito de desenvolver, fácil para manter. Sem frameworks complicados
módulos que podem ser adicionados no núcleo do Node. Há li- de Orientação a Objeto, sem interfaces, nenhum potencial para
teralmente centenas de módulos para rodarem com o Node, e o excesso de arquitetura de qualquer coisa. Basta escutar um
a comunidade é bastante ativa em produzir, publicar e atualizar evento, escrever uma função de callback, e o Node toma conta
dezenas de módulos por dia. de tudo.
121
CONHECIMENTOS DE INFORMÁTICA
Após a instalação, basta executar o seguinte comando no seu terminal para verificar se foi instalado corretamente:
$ node -v
> v0.10.26
deve retornar a versão do node que foi instalada, como por exemplo v0.10.26.
$ node olanode.js
Para testar seu servidor você pode acessar localhost:3000 no seu navegador ou utilizar linha de comando com o comando curl
(em uma nova instância do terminal) como mostrado a seguir:
$ curl https://0.0.0.0:3000/
> Olá mundo!
Caso você prefira retornar algum html válido para o navegador, basta alterar ‘text/plain’ para ‘text/html’ no código acima e utilizar
uma tag html legal como <h2>, como foi feito a seguir:
http.createServer(function(req,res) {
res.writeHead(200, { ‘Content-Type’: ‘text/html; charset=utf-8’ });
res.end(‘<h2> Olá mundo! </h2>’);
}).listen(3000);
122
CONHECIMENTOS DE INFORMÁTICA
Orientado a eventos
Vamos aproveitar este momento de euforia após a construção do seu primeiro servidor para aprender um pouco mais sobre
Node.js.
Quando estamos desenvolvendo com Node.js devemos utilizar uma abordagem orientada a eventos, isso quer dizer que o desen-
volvedor precisa conhecer os eventos que serão emitidos em diferentes momentos da execução e também saber como ouvi-los para
executar as operações necessárias.
Um bom exemplo de orientação a eventos está na construção de interfaces de usuário. Muitas vezes utilizamos elementos como
por exemplo os botões que ao serem clicados emitem um evento do tipo click ao qual podemos ouvir e executar alguma operação.
No nosso exemplo anterior utilizamos esse conceito quando chamamos método listen do objeto do tipo web server e passamos
como parâmetro a porta 3000, com isso fizemos que a nossa aplicação ouvisse ao evento que é emitido sempre que alguém faz uma
requisição no localhost:3000 e a nossa resposta foi servir a string ou a página html. Este evento é chamado request.
Para ilustrar estes conceitos, podemos escrever o nosso exemplo anterior em uma sintaxe alternativa da seguinte forma:
server.on(‘request’, function(req,res) {
res.writeHead(200, { ‘Content-Type’: ‘text/html; charset=utf-8’ });
res.end(‘<h2> Olá mundo! </h2>’);
});
server.listen(3000);
123
CONHECIMENTOS DE INFORMÁTICA
124
CONHECIMENTOS DE INFORMÁTICA
125
CONHECIMENTOS DE INFORMÁTICA
126
CONHECIMENTOS DE INFORMÁTICA
127
CONHECIMENTOS DE INFORMÁTICA
415 - Unsupported Media Type - Em requisições cujo for- R é também altamente expansível com o uso dos pacotes,
mato da representação do recurso enviado pelo cliente não seja que são bibliotecas para funções específicas ou áreas de estudo
suportado. específicas.
429 - Too Many Requests No caso do serviço ter um limite Um conjunto de pacotes é incluído com a instalação de R,
de requisições que pode ser feita por um cliente, e ele já tiver com muito outros disponíveis na rede de distribuição do R (em
sido atingido. inglês CRAN).
500 - Internal Server Error - Em requisições onde um erro A linguagem R é largamente usada entre estatísticos e data
tenha ocorrido no servidor. miners para desenvolver software de estatística e análise de da-
503 - Service Unavailable Em requisições feitas a um serviço dos. Inquéritos e levantamentos de data miners mostram que
que esta fora do ar, para manutenção ou sobrecarga. a popularidade do R aumentou substancialmente nos últimos
Utilize o código correto para cada tipo de situação. Evite a anos.
má prática de sempre utilizar um mesmo código genérico para
todas as situações, como por exemplo o código 200 para qual- Ferramentas de produtividade
quer tipo de requisição bem-sucedida ou o código 500 para Existem diversas GUI para R, incluindo JGR, RKWard, Sci-
qualquer requisição malsucedida. Views-R, Rcmdr e, mais recentemente, RStudio. Muitos edito-
res oferecem recursos que facilitam o trabalho com o R: Emacs,
Fonte: Vim, jEdit, Kate, Tinn-R GUI/Editor, entre outros. Existem plug-
http://www.ic.unicamp.br/~celio/inf533/docs/markup. -ins para uso com a IDE Eclipse e Vim.
html Software construído de modo colaborativo, com novos pa-
https://tableless.com.br/o-que-html-basico/ cotes e GUIs incluídos a cada intervalo de tempo, antecipando-
https://www.codigofonte.com.br/artigos/principais-tags- -se até a alguns outros pacotes proprietários, como o comple-
-de-html mento com o teste de Scott-Knott para a Análise de Variâncias
https://www.gta.ufrj.br/grad ANOVA.
https://www.devmedia.com.br/primeiros-passos-no-html-
5-javascript-e-css3/25647 Recursos estatísticos
https://www.hostinger.com.br/tutoriais/o-que-e-css-guia- A R disponibiliza uma ampla variedade de técnicas estatís-
-basico-de-css/ ticas e gráficas, incluindo modelação linear e não linear, testes
https://www.devmedia.com.br/json-tutorial/25275 estatísticos clássicos, análise de séries temporais (time-series
https://www.portalgsti.com.br/2017/08/principais-carac- analysis), classificação, agrupamento e outras. A R é facilmente
teristicas-do-angularjs.html extensível através de funções e extensões, e a comunidade R é
https://tableless.com.br/criando-uma-aplicacao-simples- reconhecida pelos seus contributos ativos em termos de paco-
-com-angularjs/ tes. Existem diferenças importantes, mas muito código escrito
https://tableless.com.br/o-que-nodejs-primeiros-passos- para S corre inalterado. Muitas das funções padrão do R são es-
-com-node-js/ critas no próprio R, o que torna fácil para os usuários seguir as
http://blog.caelum.com.br/rest-principios-e-boas-praticas/ escolhas algorítmicas feitas. Para tarefas computacionais inten-
sivas, os códigos C, C++, e Fortran podem ser ligados e chama-
dos durante a execução. Usuários experientes podem escrever
código C ou Java para manipular diretamente objetos R.
MANIPULAÇÃO E VISUALIZAÇÃO DE DADOS: LIN- O R é fortemente extensível através do uso de pacotes en-
GUAGEM R 3.4.2 E R STUDIO 5.1, OLAP, MS EXCEL 2013 viados pelo utilizador para funções específicas ou áreas espe-
cíficas de estudo. Devido à sua herança do S, o R possui fortes
recursos de programação orientada por objetos, mais que a
R é uma linguagem e um ambiente de desenvolvimento in- maioria das linguagens de computação estatística. Ampliar o R
tegrado, para cálculos estatísticos e gráficos. também é facilitado pelas suas regras de contexto lexical.
Foi criada originalmente por Ross Ihaka e por Robert Outra força do R são os gráficos estáticos, que podem pro-
Gentleman no departamento de Estatística da universidade de duzir imagens com qualidade para publicação, incluindo símbo-
Auckland, Nova Zelândia, e foi desenvolvido por um esforço co- los matemáticos. Gráficos dinâmicos e interativos estão disponí-
laborativo de pessoas em vários locais do mundo. veis através de pacotes adicionais.
O nome R provêm em parte das iniciais dos criadores e tam- O R tem a sua própria documentação em formato LaTeX, a
bém de um jogo figurado com a linguagem S (da Bell Laborato- qual é usada para fornecer documentação de fácil compreen-
ries, antiga AT&T). são, simultaneamente on-line em diversos formatos e em papel.
R é uma linguagem e ambiente similar ao S – pode ser con-
siderado uma implementação distinta do S; embora com impor- Recursos de programação
tantes diferenças, muitos códigos escritos para o S rodam inalte- A R é uma linguagem interpretada tipicamente utilizada
rados no R. A implementação comercial de S é S-PLUS. através de um Interpretador de comandos. Se um usuário escre-
O código fonte do R está disponível sob a licença GNU4 5 ve “2+2” no comando de inserção e pressiona enter, o computa-
GPL e as versões binárias pré-compiladas são fornecidas para dor responde com “4”, conforme se mostra abaixo:
Windows, Macintosh, e muitos sistemas operacionais Unix/ > 2+2
Linux. [1] 4
128
CONHECIMENTOS DE INFORMÁTICA
Como muitas outras linguagens, a R suporta matrizes aritméticas. A estrutura de dados da R inclui escalares, vetores, matrizes,
quadros de dados (similares a tabelas numa base de dados relacional) e listas. O sistema de objetos da R é extensível e inclui objectos
para, entre outros, modelos de regressão, séries temporais e coordenadas geoespaciais.
A R suporta programação processual com funções e, para algumas funções, programação orientada a objetos com funções gené-
ricas. Uma função genérica atua de forma diferente dependendo do tipo de argumentos que é passado. Por outras palavras a função
genérica determina (dispatches) a função (método) específica para aquele tipo de objeto. Por exemplo, a R tem uma função genérica
print() que pode imprimir quase qualquer tipo de objeto em R com uma simples sintaxe “print(nomedoobjeto)”.
Enquanto a R é maioritariamente usada por estatísticos e outros utilizadores que requerem um ambiente para computação es-
tatística e desenvolvimento de software, pode ser igualmente usada como uma caixa de ferramentas para cálculo matricial geral com
benchmarks de desempenho comparáveis ao GNU Octave ou ao MATLAB.15
Exemplos
Exemplo 1
Os seguintes exemplos ilustram a sintaxe básica da língua e o uso da interface de linha de comando.
Na R, o largamente preferido operador de atribuição é uma seta formada por dois carateres “<-“, embora “=” possa ser usado em
sua vez.20
> x <- c(1,2,3,4,5,6) # Create ordered collection (vector)
> y <- x^2 # Square the elements of x
> print(y) # print (vector) y
[1] 1 4 9 16 25 36
> mean(y) # Calculate average (arithmetic mean) of (vector) y; result is scalar
[1] 15.16667
> var(y) # Calculate sample variance
[1] 178.9667
> lm_1 <- lm(y ~ x) # Fit a linear regression model “y = f(x)” or “y = B0 + (B1 * x)”
# store the results as lm_1
> print(lm_1) # Print the model from the (linear model object) lm_1
Call:
lm(formula = y ~ x)
Coefficients:
(Intercept) x
-9.333 7.000
Call:
lm(formula = y ~ x)
Residuals:
1 2 3 4 5 6
3.3333 -0.6667 -2.6667 -2.6667 -0.6667 3.3333
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -9.3333 2.8441 -3.282 0.030453 *
x 7.0000 0.7303 9.585 0.000662 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
129
CONHECIMENTOS DE INFORMÁTICA
Exemplo 2
Código R curto calcula o modelo de Mandelbrot (Mandelbrot set) através das primeiras 20 iterações da equação z = z² + c mapea-
dos para diferentes constantes complexas c. Este exemplo demonstra:
O uso de livrarias externas (chamadas pacotes) desenvolvidas pela comunidade, neste caso, o pacote caTools
Manipulação de número complexo.
Matrizes multidimensionais de números usados como tipos de dados básicos, ver variáveis C, Z e X.
library(caTools) # external package providing write.gif function
jet.colors <- colorRampPalette(c(“#00007F”, “blue”, “#007FFF”, “cyan”, “#7FFF7F”,
“yellow”, “#FF7F00”, “red”, “#7F0000”))
m <- 1200 # define size
C <- complex( real=rep(seq(-1.8,0.6, length.out=m), each=m ),
imag=rep(seq(-1.2,1.2, length.out=m), m ) )
C <- matrix(C,m,m) # reshape as square matrix of complex numbers
Z <- 0 # initialize Z to zero
X <- array(0, c(m,m,20)) # initialize output 3D array
for (k in 1:20) { # loop with 20 iterations
Z <- Z^2+C # the central difference equation
X[,,k] <- exp(-abs(Z)) # capture results
}
write.gif(X, “Mandelbrot.gif”, col=jet.colors, delay=100)
“Mandelbrot.gif” – Graphics created in R with 14 lines of code in Example 2
Exemplo 3
## Leitura do conjunto de dados. Também pode-se usar read.csv() quando os dados estiverem em arquivos .csv
dados <- read.table(“escreva a localização do arquivo...”, header=TRUE) %colunas com tratamentos (tratam c/ titulo) e n-linhas
(repet).
130
CONHECIMENTOS DE INFORMÁTICA
131
CONHECIMENTOS DE INFORMÁTICA
RapidMiner25 26
RExcel – usando R e Rcmdr a partir do Microsoft Excel.
RKWard – Interface de usário gráfica extensível e IDE para R.
RStudio – multi-plataforma de fonte aberta IDE (que também pode ser corrida num servidor remoto linux).
A Revolução Analítica disponibiliza um Visual Studio baseado em IDE e tem planos para pontos baseados na web e interfaces de
click.
Weka27 permite a utilização de recursos de mineração de dados em Weka e análise estatística em R.
Existe um número especial do Journal of Statistical Software (de junho de 2012) que discute as interfaces de usuário gráficas para
o R.
Editores e IDEs
Editores de texto e ambientes integrados de desenvolvimento (IDEs) com algum suporte para R incluem: Bluefish, Crimson Editor,
ConTEXT, Eclipse (StatET), Emacs (Emacs Speaks Statistics), LyX (módulos para knitr e Sweave), Vim, Geany, jEdit, Kate, R Productivity
Environment (parte da Revolution R Enterprise), RStudio, TextMate, gedit, SciTE, WinEdt (R Package RWinEdt) e Notepad++.
Linguagens de Script
As funcionalidades do R foram tornadas acessíveis a partir de diversas linguagens de script como a Python (pelo pacote de interfa-
ce do RPy ), Perl(pelo módulo Statistics::R ), e Ruby (com o rsruby rubygem). PL/R pode ser usado juntamente, ou em vez da linguagem
de script PL/pgSQL no sistema de gestão de bases de dados PostgreSQL e Greenplum. Scripts no próprio R são possíveis via littler38
bem como via Rscript.
useR! conferências
“useR!” é o nome dado à reunião anual oficial dos usuários do R. O primeiro destes eventos foi o useR! 2004 em maio de 2004, em
Viena de Áustria. Depois de saltar 2005, a conferência useR tem tido lugar anualmente, alternando habitualmente entre localizações
na Europa e na América do Norte.
R STUDIO
Para facilitar a vida dos interessados em programação, estatística e/ou econometria, resolvi fazer esse post um pouco mais com-
pleto para quem está iniciando no R. Sendo mais específico, no R Studio.
Em outras palavras, R é uma linguagem de programação gratuita que cientistas de dados e estatísticos utilizam para manipular
dados de diversas formas.
O R Studio é uma interface para o R, com diversas utilidades diferentes que a tornam uma ferramenta mais simples em compara-
ção ao R. O R Studio possui diversas ferramentas como seus painéis que o tornam mais prático e, por esse motivo o utilizaremos aqui.
132
CONHECIMENTOS DE INFORMÁTICA
INSTALAÇÃO
Acesse o https://www.rstudio.com/
Na tela inicial você já vai ver DOWNLOAD RSTUDIO, clique no link
Depois de baixado é simples, é só clicar no instalador e ir clicando em próximo e/ou avançar, como a maioria dos programas, não
tem erro.
Na tela inicial você vai ver que o RStudio tem 4 janelas, diferente do R.
133
CONHECIMENTOS DE INFORMÁTICA
LAYOUT
Com relação às 4 janelas do R Studio:
No topo a esquerda é onde você vai escrever seus códigos. Você pode ter várias janelas de códigos, para abrir mais uma basta ir
no sinal ‘+’ logo abaixo de FILE. Depois que você escrever seu código, você deve selecionar a linha que gostaria de executar e clicar
em RUN.
Assim que você executar seu código você vai ver alterações no CONSOLE, a tela abaixo à esquerda. Você também pode escrever o
código nessa tela, porém, é muito mais complicado manusear e fazer alterações. Seu código ficará mais desorganizado.
Acima a direita você tem duas abas: Environment e History. Environment, eu recomendo que vocês não se preocupem muito.
Basicamente, você vai ter seus objetos nessa aba, seus dados e variáveis criadas. Em History você terá o histórico de seu script, ou seja,
todo o código que você for executando vai aparecer lá. Isso é útil, pois caso você feche o R Studio e escolha salvar seu workplace, ao
abri-lo você não perderá o histórico. Você terá seu script lá, facilitando o entendimento do que você estava executando;
Abaixo a direita uma outra janela que vai facilitar muito sua vida, nela há 5 abas: FILES, PLOTS, PACKAGES, HELP e VIEWER.
Em Files você terá o endereço do seu working directory. Basta executar o código getwd() que você saberá que endereço é aquele
na aba Files. No R Studio você pode mover, renomear e deletar arquivos no seu computador. Esse diretório é onde você salva seus
scripts e output no R.
Plots é onde você irá visualizar seus gráficos.
Packages possui uma lista de pacotes que você pode selecionar e instalar na hora.
Help é a aba de ajuda do R Studio. Se você é daqueles céticos do Help nos softwares, aqui no R Studio você vai mudar de opinião,
realmente ajuda muito.
PACOTES
Os pacotes do R nada mais são do que conjunto de funções, dados e códigos compilados. Os pacotes fornecem funções que algum
usuário já criou e você pode utilizá-las. Ou seja, para cada tema que você queira trabalhar, você pode buscar um pacote com funções
que realizem todas as manipulações que você deseja.
Por exemplo, eu gostaria de trabalhar com séries temporais. Ao buscar “Time Series” dentre os pacotes existentes, eu vou encon-
trar alguns pacotes como AnalyzeTS, arfima, astsa, etc.
Você pode procurar os pacotes existentes através do próprio google, ou então ir direto no CRAN, onde os pacotes são mais con-
fiáveis:
https://cran.r-project.org/web/packages/available_packages_by_name.html
Há mais de 100 pacotes com “Time Series” na descrição, como saber qual utilizar?
Ao clicar no nome de um dos pacotes você abrirá a seguinte página:
134
CONHECIMENTOS DE INFORMÁTICA
A página acima é idêntica para todos os pacotes. Todos os pacotes R terão o Reference Manual, com essa aparência:
135
CONHECIMENTOS DE INFORMÁTICA
Nesse manual você verá todas as funções que o pacote possui e uma breve explicação de cada uma. Com base nisso, você deve
escolher qual pacote é mais apropriado para você. Ou então, o que eu costumo fazer sempre: GOOGLE!
PRIMEIRAS MANIPULAÇÕES
Conforme já disse acima, na primeira janela, no topo a esquerda, escreveremos nosso código. É lá então que vamos começar a
brincar!
A partir daqui, vou tentar ser mais direto. O código que vou postar é exatamente a saída do Console, sendo que em azul teremos
o código que escrevi e em vermelho o output do R. Você notará o símbolo “>” antes de cada linha de código escrita e o [1] antes do
output do R.
Primeiramente, o R, assim como outras tantas linguagens, serve como uma calculadora. Afinal, muitas vezes você precisará ma-
nipular seus dados, fazer algumas alterações nos valores de tabelas, e para isso é importante saber os operadores aritméticos do R,
que são: +, -, * e / para adição, subtração, multiplicação e divisão respectivamente. Veja abaixo exemplos com operações feitas no R:
> 2+2
[1] 4
> 10-2
[1] 8
> 2*5
[1] 10
> 10/2
[1] 5
Ao escrever o código na primeira janela, você precisa separar cada tarefa que você quer que o R execute pulando linhas ou então
utilizando “;”. Eu prefiro pular linhas.
Além dos operadores, o R possui algumas funções básicas como o log, exponencial e raiz quadrada:
> log(100)
[1] 4.60517
> exp(10)
[1] 22026.47
> sqrt(10000)
[1] 100
O R também possui operadores lógicos:
> 10<2
[1] FALSE
> 10>=10
[1] TRUE
Resumo dos operadores:
CRIANDO VARIÁVEIS
Para criar novas variáveis, atribuindo algum valor que você deseja, basta utilizar o símbolo “=” ou “<-“:
> x <- 100
> y = 10
> x*y
[1] 1000
136
CONHECIMENTOS DE INFORMÁTICA
No caso de se atribuir diversos valores, ou seja, criar um vetor, você utiliza a função c(). Veja os exemplos abaixo com o comentário
de cada comando utilizando ‘#’:
> #x recebe os números de 1 a 4
> x=c(1,2,3,4)
>x
[1] 1 2 3 4
Podemos gerar nossas próprias sequências no R, seja uma sequência simples, com intervalo entre os elementos ou com o com-
primento que gostaríamos:
> #y recebe a sequência de 1 a 10
> y=c(1:10)
>y
[1] 1 2 3 4 5 6 7 8 9 10
> #z recebe a sequência de 2 a 11
> z=c(2:11)
>z
[1] 2 3 4 5 6 7 8 9 10 11
> #s recebe a sequência de 1 a 10 com diferença de duas unidades
> s=seq(1,10, by=2)
>s
[1] 1 3 5 7 9
> #r recebe a sequência com 10 números, começando de -10 com diferença de 0.2 unidades
> r=seq(length=10,from=-5,by=.2)
>r
[1] -5.0 -4.8 -4.6 -4.4 -4.2 -4.0 -3.8 -3.6 -3.4 -3.2
Podemos realizar qualquer tipo de operação com os vetores. Se o multiplicarmos um número qualquer pelo vetor, ele irá multi-
plicar cada elemento do vetor por esse número. A mesma lógica vale para divisão, soma e subtração:
> 2*w
[1] 6 10 14 18 22 26 30 34 38 42
> w+1
[1] 4 6 8 10 12 14 16 18 20 22
Ao realizarmos uma soma (ou subtração) entre vetores, os elementos na mesma posição realizam a operação:
> y+z
[1] 3 5 7 9 11 13 15 17 19 21
Visualizando seus gráficos
Em outros sites, você veria muito mais explicações antes de entrar neste tópico. Faz sentido, afinal, ainda há muito o que se
aprender no R. Eu sequer mencionei caracteres, lidar com textos, missing, etc. Entretanto, queria fornecer uma introdução rápida para
o leitor e já deixar o básico para que ele possa dar sequência sozinho no aprendizado. Como postarei constantemente, o leitor aqui
poderá também consultar os posts futuros. Aqui, no entanto, quero ser breve. Vamos aos gráficos!
137
CONHECIMENTOS DE INFORMÁTICA
E o gráfico de dispersão:
plot(turma_1$notas)
138
CONHECIMENTOS DE INFORMÁTICA
139
CONHECIMENTOS DE INFORMÁTICA
Sistemas transacionais, também conhecidos como sintéticos ou ainda OLTP – Online Transactional Processing – são aqueles que,
como o nome sugere, baseiam-se em transações. Alguns exemplos deste tipo de sistemas são:
Sistemas Contábeis;
Aplicações de Cadastro;
Sistemas de Compra, Estoque, Inventário;
ERPs, CRMs.
Os sistemas transacionais se caracterizam pela alta taxa de atualização, grande volumes de dados e acessos pontuais, ou seja,
pesquisas cujo resultado seja de pequeno volume (até milhares de linhas, mas preferencialmente menos).
Já os sistemas analíticos, ou OLAP – Online Analytical Processing – se caracterizam por fornecer subsídio para tomadas de decisão,
a partir de análises realizadas sobre bases de dados históricas, por vezes com milhões de registros a serem totalizados.
A tabela abaixo sintetiza as principais diferenças entre sistemas transacionais e analíticos.
Conforme ilustrado na tabela, o fato dos sistemas transacionais refletirem a situação atual de um determinado tipo de dado con-
duz todas as demais características, como:
A realização de atualizações freqüentemente, mantendo os dados atuais;
Informação detalhada com a maior granularidade possível (consistência microscópica);
Pesquisas pontuais, portanto de baixa complexidade, no tocante ao negócio (do ponto de vista técnico, a pesquisa pode ser bem
elaborada).
Do mesmo modo, o fato das análises serem realizadas sobre dados históricos leva às seguintes características:
140
CONHECIMENTOS DE INFORMÁTICA
Uma vez que os dados são históricos, as atualizações não precisam ser tão freqüentes. Por exemplo, numa comparação entre
a produtividade de três filiais de uma empresa para um determinado produto nos últimos quatro meses, por mês, o dia de hoje ou
mesmo ontem não é, em geral, de grande representatividade;
As análises geralmente agrupam informações, sendo tais agrupamentos mais importantes neste contexto do que os dados de-
talhados. No exemplo do item anterior, o importante é a produção conjunta mensal, e não a produção de uma unidade particular do
produto analisado.
Os diferentes tipos de sistemas também sugerem diferentes abordagens técnicas, seja na forma de armazenamento ou de busca.
A finalidade de bases de dados multidimensionais é fornecer subsídio para realização de análises. Para tanto, sua arquitetura e
até mesmo a terminologia empregada são distintas das utilizadas para bancos de dados transacionais.
O fato de existirem diversas informações a serem cruzadas (dimensões) permite a realização de pesquisas tais como a ilustrada
nesta imagem.
As análises sobre dados históricos envolvem uma série de possibilidades de cruzamentos e agrupamentos de informações, com
o uso dos seguintes termos:
Dimensões: estabelecem a organização dos dados, determinando possíveis consultas/cruzamentos.
Por exemplo: região, tempo, canal de venda,… Cada dimensão pode ainda ter seus elementos, chamados membros, organizados
em diferentes níveis hierárquicos. A dimensão tempo, por exemplo, pode possuir duas hierarquias: calendário (com os níveis ano, mês
e dia) e calendário fiscal (com os níveis ano, semana e dia);
Medidas: são os valores a serem analisados, como médias, totais e quantidades;
Fatos: são os dados a serem agrupados, contendo os valores de cada medida para cada combinação das dimensões existentes. O
tamanho da tabela que contém os fatos merece atenção especial do analista;
Agregações: totalizações calculadas nos diversos níveis hierárquicos.
Arquiteturas OLAP
ROLAP (Relational On Line Analytical Processing)
A consulta é enviada ao servidor de banco de dados relacional e processada no mesmo, mantendo o cubo no Servidor.
MOLAP (Multidimensional On Line Analytical Processing)
processamento realizado em um servidor multidimensional.
HOLAP (Hybrid On Line Analytical Processing)
é uma mistura de tecnologias onde há uma combinação entre ROLAP e MOLAP.
Alicerce Relacional
Diversas ferramentas analíticas, também chamadas ferramentas de OLAP, operam sobre bases de dados multidimensionais arma-
zenadas em SGBDRs. Além disso, as agregações são também mantidas em banco de dados relacional.
Esta forma de armazenamento é conhecida como ROLAP. Uma vez que os dados já se encontram em um modelo apropriado,
chamado multidimensional, basta processar as agregações. Com isso obtém-se ganho de espaço de armazenamento, uma vez que os
dados permanecem apenas na base de origem.
141
CONHECIMENTOS DE INFORMÁTICA
Alicerce em Cubos
Outra forma de armazenamento, cujo modelo matemático
denomina-se hipercubos, apresenta a característica de possuir
armazenamento e indexação em estruturas de dados que otimi-
zam consultas ao invés de atualizações.
Quando o modelo multidimensional é processado, nova
base é gerada, desta vez contendo tanto os dados quanto as
agregações em formato próprio, utilizando-se de estruturas
apropriadas para pesquisas. O modo A1, onde os números de linha são localizados por
A Figura ilustra uma representação de um cubo com três números e as colunas por letras. Assim, AA17 designa a célula na
dimensões Produto, Região e Tempo. interseção da 27ª coluna e da 17ª linha:
Referência absoluta
A referência absoluta representa o meio de designar uma
célula de maneira única em uma planilha. De acordo com o
modo de referência (L1C1 ou A1) a referência absoluta será es-
MS EXCEL crita de forma diferente:
O Excel é uma ferramenta incrivelmente poderosa para tor- Em modo L1C1: a referência absoluta a uma célula é feita
nar significativa uma vasta quantidade de dados. Mas ele tam- precedendo o número de linha pela letra L e o número da coluna
bém funciona muito bem para cálculos simples e para rastrear pela letra C:
de quase todos os tipos de informações. A chave para desblo- LNúmerodeLinhaCNúmerodeColuna
quear todo esse potencial é a grade de células. As células po- Ex: L12C24 para a célula situada na interseção da linha 12
dem conter números, texto ou fórmulas. Você insere dados nas com a coluna 24.
células e as agrupa em linhas e colunas. Isso permite que você Em modo A1: neste modo ela é feita precedendo o número
adicione seus dados, classifique-os e filtre-os, insira-os em tabe- de linha e o número da coluna pelo sinal $.
las e crie gráficos incríveis. Vejamos as etapas básicas para você $LetradaColuna$NúmerodeLinha
começar. Ex: $AC$34 para a célula situada na interseção da coluna
chamada AC com a linha 34.
O conceito de célula
Chama-se célula a interseção entre uma linha (horizontal) e Referência relativa
uma coluna (vertical) da planilha. Assim, o nome da linha com- A referência relativa de uma célula é a expressão da sua po-
binado com o nome da coluna resulta nas coordenadas de uma sição em relação a outra célula. Assim, uma
célula (o termo endereço também é utilizado). De um modo ge- referência relativa resulta na diferença (em termos de nú-
ral, podemos distinguir dois tipos de coordenadas (chamadas de mero de linhas e colunas) entre a célula (de referência) e uma
estilos de referência), dependendo das planilhas: célula apontada (célula referenciada). Por convenção, nota-se
O modo L1C1 (Linha 1, Coluna 1), onde a célula é localizada negativamente uma diferença para cima, para o eixo vertical e
pelo número de linha precedido da letra L e o número da coluna uma diferença para a esquerda, para o eixo horizontal.
precedido da letra C. Em modo L1C1, a referência relativa a uma célula é feita
Assim, L12C34 designará a célula na intersecção da 12ª li- indicando as coordenadas da célula entre parênteses:
nha e da 34ª coluna: L(NúmeroDeLinha)C(NúmeroDeColuna)
Ex: L(3) C(-2) para a célula situada 3 linhas abaixo e 2 colu-
nas à esquerda em relação à célula de referência:
142
CONHECIMENTOS DE INFORMÁTICA
Quando a diferença é nula não é preciso notar um zero en- Inserir uma célula
tre parêntese. Assim L(0)C(12) pode ser chamado LC(12). Selecione uma ou mais células. Clique com o botão direito
Em modo A1, a expressão da diferença entre as células é do mouse e selecione Inserir.
oculta. Na verdade, uma referência relativa em modo A1 é implí- Na caixa Inserir, selecione uma linha, coluna ou célula a ser
cita, basta indicar as coordenadas da célula apontada (referen- inserida.
ciada) sem indicar o sinal $:
Criar uma nova pasta de trabalho
Os documentos do Excel são chamados de pastas de traba-
lho. Cada pasta de trabalho contém folhas que, normalmente,
são chamadas de planilhas. Você pode adicionar quantas plani-
lhas desejar a uma pasta de trabalho ou pode criar novas pastas
de trabalho para guardar seus dados separadamente.
Clique em Arquivo e em Novo.
Em Novo, que em Pasta de trabalho em branco
Referência mista
Chama-se mista a referência na qual a posição horizontal da
célula é expressa de maneira absoluta, e a posição vertical, de
maneira relativa, ou vice-versa.
No modo L1C1 a referência mista terá a forma L2C(3) ou L(4)
C17. No modo A1, ela terá a forma $C5 ou F$18.
Referência nomeada
É possível dar um nome a uma célula ou a um grupo de Insira os dados
células. Clique em uma célula vazia.
Assim, quando uma célula, ou um intervalo de células, tem Por exemplo, a célula A1 em uma nova planilha. As células
um nome (às vezes, usamos o termo etiqueta), é possível re- são referenciadas por sua localização na linha e na coluna da
ferir-se a ela pelo nome. Esta funcionalidade é particularmente planilha, portanto, a célula A1 fica na primeira linha da coluna A.
útil quando certas células contêm dados característicos, porque Inserir texto ou números na célula.
podemos nos referir a elas pelo nome, mesmo que elas tenham Pressione Enter ou Tab para se mover para a célula seguinte.
sido movidas.
Em uma nota fiscal, por exemplo, é importante dar um Usar a AutoSoma para adicionar seus dados
nome tal como total_st para a célula que dá o subtotal, sem im- Ao inserir números em sua planilha, talvez deseje somá-los.
posto, dos pedidos. Você também pode criar uma célula chama- Um modo rápido de fazer isso é usar o AutoSoma.
da Imposto com o índice do mesmo. Assim, quando você quiser Selecione a célula à direita ou abaixo dos números que você
calcular o total com imposto, você só precisará multiplicar o pro- deseja adicionar.
duto da célula total_st pela célula Imposto. Clique na guia Página Inicial e, em seguida, clique em Auto-
Soma no grupo Edição.
Inserir ou excluir uma coluna
Para inserir uma coluna, selecione a coluna, selecione Pági-
na inicial > Inserir > Inserir Colunas na Planilha.
Para excluir uma coluna, selecione a coluna, selecione Pági-
na inicial > Inserir > Excluir Colunas da Planilha.
143
CONHECIMENTOS DE INFORMÁTICA
A AutoSoma soma os números e mostra o resultado na cé- Se você não vir o formato de número que você está procu-
lula selecionada. rando, clique em Mais formatos de número.
144
CONHECIMENTOS DE INFORMÁTICA
Para usar estas funções corretamente, é importante saber quais são as partes de uma função e, como criar argumento para cal-
cular valores e as referências de células.
Para ver uma fórmula, selecione uma célula e ela aparecerá na barra de fórmulas.
145
CONHECIMENTOS DE INFORMÁTICA
Fórmulas detalhadas
Você pode navegar pelas seções individuais abaixo para saber mais sobre os elementos específicos da fórmula.
Uma referência identifica uma célula ou um intervalo de células em uma planilha e informa ao Excel onde procurar pelos valores
ou dados a serem usados em uma fórmula. Você pode utilizar referências para usar dados contidos em partes diferentes de uma pla-
nilha em uma fórmula ou usar o valor de uma célula em várias fórmulas. Você também pode se referir a células de outras planilhas
na mesma pasta de trabalho e a outras pastas de trabalho. As referências a células em outras pastas de trabalho são chamadas de
vínculos ou referências externas.
O estilo de referência A1
Por padrão, o Excel usa o estilo de referência A1, que se refere a colunas com letras (A até XFD, para um total de 16.384 colunas)
e se refere a linhas com números (1 até 1.048.576). Essas letras e esses números são chamados de títulos de linha e coluna. Para se
referir a uma célula, insira a letra da coluna seguida do número da linha. Por exemplo, B2 se refere à célula na interseção da coluna B
com a linha 2.
146
CONHECIMENTOS DE INFORMÁTICA
1. Refere-se a uma planilha denominada Marketing Se o utilizador necessitar encontrar o número menor dentro
2. Refere-se ao intervalo de células B1 a B10 de um intervalo de células então a função MÍNIMO pode ajudar.
3. O ponto de exclamação (!) separa a referência de planilha Por exemplo, se usarmos um intervalo de células com a fórmu-
da referência do intervalo de células la =MÍNIMO(M3:M39) será mostrado nesse campo o valor mais
baixo encontrado em todo o conjunto de células.
Funções mais usadas
=SOMA() =MÁXIMO()
ou em inglês =SUM() ou em inglês =MAX()
=MÉDIA()
ou em inglês =AVERAGE()
147
CONHECIMENTOS DE INFORMÁTICA
=DIAS()
ou em inglês =DAYS()
Quer saber o número de dias entre duas datas numa folha de cálculo? Se tivesse, por exemplo, a data de 5 de setembro de 2015
na célula A4 e 27 de dezembro de 2015 em A5 ao usar a função =DIAS(A5, A4) poderia obter a resposta imediatamente. Nesta função
devemos ter em conta que ao inverter a ordem das células obteríamos um número positivo.
=ARRED()
ou em inglês =ROUND()
Como a abreviatura da função pode sugerir, esta função permite arredondar números. O =ARRED() exige dois argumentos: um
número ou célula e o número de dígitos para arredondar para. Por exemplo se tivermos o número 231.852645 em A1, por exemplo,
=ARRED(A1, 0) iremos obter o número 232. Por outro lado se escrevermos =ARRED(A1, 1) veremos o número 232,9 ou ainda =AR-
RE(A1,-1) devolverá o valor 230.
=ARRED.PARA.CIMA() e =ARRED.PARA.BAIXO()
ou em inglês = ROUNDUP(), =ROUNDDOWN()
Se procuramos um um controlo mais directo sobre arredondamentos para cima ou para baixo existem estas duas funções tam-
bém. Por um lado o =ARRED.PARA.CIMA() irá arredondar um número para cima afastando-o de zero, por outro =ARRED.PARA.BAI-
XO() que por defeito arredonda um número até zero. Por exemplo =ARRED.PARA.BAIXO(3,2 0) irá arredondar o valor 3,2 por defeito
para nenhuma casa decimal ou seja para o valor de 3.
O exemplo oposto de =ARRED.PARA.CIMA() seria: =ARRED.PARA.CIMA(3,2 0) a função arredondaria o valor de 3,2 para cima até
zero de casas decimais ou seja, reflectindo o valor de 4.
Faixa de Opções
Há três componentes básicos na Faixa de Opções e que é bom saber como cada um se chama para compreender como utilizá-la.
São eles:
- Guias - Há oito guias básicas na parte superior: Arquivo, Página Inicial, Inserir, Layout da Página, Fórmulas, Dados, Revisão e Exi-
bição. Cada uma representa uma área de atividade e apresenta os comandos reunidos por grupos. Por exemplo, a guia Página Inicial
contém todos os comandos utilizados com mais frequência. E os botões Cor do preenchimento, Cor da fonte e Tamanho da fonte estão
no grupo Fonte. Estas opções são provavelmente as mais utilizadas, por iniciantes no Excel, juntamente com as opções do grupo Área
de Transferência.
148
CONHECIMENTOS DE INFORMÁTICA
- Grupos - Cada guia tem vários grupos que mostram os itens de botões de ação. Exemplo: os botões Negrito e Fonte estão no
grupo Fonte, já os botões Mesclar Célula, Centralizar e Alinhar à Direita, estão no grupo Alinhamento.
- Botões de Ação, ou Comandos - Um comando é um botão, ou uma caixa para inserir informações, ou um menu de determinada
ação. Nestes espaços, você começa a aplicar todas as ações de formatação, criação, desenvolvimento de uma planilha. Exemplo: gra-
var macros e inserir gráficos, são algumas das ações.
149
CONHECIMENTOS DE INFORMÁTICA
A evolução das técnicas de obtenção de dados aumentou a quantidade destes que temos à disposição. Isso significa que, fre-
quentemente, temos de processar mais dados para obtermos as informações que queremos. Para fazer com que isso aconteça em
um tempo razoável, é necessário aumentar a capacidade de processamento das entidades envolvidas. O aumento do poder individual
de processamento pode ser custoso ou até tecnicamente inviável. A figura 1 mostra uma tendência na diminuição do aumento da
frequência dos processadores.
150
CONHECIMENTOS DE INFORMÁTICA
Dessa forma, para obter o resultado de algum processamento em tempo razoável, frequentemente faz-se necessária a paraleliza-
ção ou distribuição da computação dos dados.
O modelo MapReduce é uma abstração criada para oferecer aos implementadores uma interface que seja simples e poderosa,
separando os problemas da paralelização dos problemas a serem resolvidos, buscando uma uniformidade na abordagem dessas
questões de paralelismo.
É necessário frequentemente utilizar diversas unidades de processamento para obter o poder computacional desejado para re-
solver alguns problemas. A fim de atender a essa demanda, foram criados sistemas que possuem essas diversas unidades de proces-
samento, objetivando aumentar a capacidade de computação ao menor custo possível. A um sistema com diversas dessas unidades
se dá o nome de cluster. Cada um dos processadores de um cluster é chamado de nó.
Existem dois tipos básicos de sistemas com diversos processadores dedicados a resolver o mesmo problema: os sistemas parale-
los e os sistemas distribuídos. Nos sistemas paralelos, todos os processadores estão fisicamente na mesma máquina. Isso significa que
existe um compartilhamento de memória e discos, mesmo que ele não seja completo. Nos sistemas distribuídos, os processadores
estão em máquinas diferentes que estão conectadas por alguma rede. Então, apenas os recursos disponíveis na rede são comuns a
todas as máquinas, de forma que cada uma tem sua memória e seu disco próprio.
Paralelizar um processamento de dados é dividir o esforço computacional entre diversos processadores e fazer com que isso ocor-
ra de forma aproximadamente simultânea. A paralelização pode ser implementada através de uma divisão do bloco inicial de dados
em blocos menores que podem ser processados individualmente, simultaneamente e em menos tempo do que o bloco inicial. Ao
final, os dados oriundos dos diversos processamentos devem ser agregados para se obter o resultado final. Uma paralelização pode
ser implementada e executada num sistema paralelo ou em um sistema distribuído. A figura 2 ilustra um exemplo onde os dados de
entrada são fragmentados, processados em diferentes nós e agregados para que se obtenha uma saída final.
151
CONHECIMENTOS DE INFORMÁTICA
152
CONHECIMENTOS DE INFORMÁTICA
O sistema tolera falhas fazendo com que o mestre envie e receba notificações das máquinas trabalhadoras. Se alguma destas fica
muito tempo sem responder, o mestre para de designar tarefas a ela e designa sua tarefa atual a outra máquina. O mestre também
mantém um arquivo sobre o estado da execução geral do MapReduce. Caso o mestre falhe, outra máquina pode ser eleita o mestre e
começar a execução de onde o anterior falhou.
Hadoop
O Hadoop é uma plataforma capaz de executar tarefas map e reduce com máquinas que são indicadas pelo usuário.
Para utilizar o Hadoop, o usuário escreve a função map implementando o método homônimo de uma interface Java® de nome
Mapper. É possível encontrar um exemplo de código escrito em Java® no tutorial do Hadoop.
Além disso, o usuário precisa indicar para o Hadoop em quais máquinas serão executadas as tarefas, inicializar as máquinas, ge-
renciar falhas. Assim, a plataforma é voltada para usuários com experiência em programação.
MOON
MOON (MapReduce On Opportunistic eNvironments, MapReduce em Ambientes Oportunistas) é uma plataforma de execução
do MapReduce projetada para sistemas distribuídos onde a indisponibilidade de recursos é muito alta. Essa plataforma tem como
objetivo facilitar a chamada “computação voluntária”, onde pessoas doam ciclos ociosos de suas máquinas pessoais para ajudar pro-
jetos científicos.
A MOON utiliza o Hadoop como núcleo e ferramentas de estatística para melhorar suas decisões de designação de tarefas, tole-
rância a falhas e outros problemas desse tipo de sistema distribuído.
HADOOP
O Hadoop é um framework desenvolvido na linguagem Java, que permite utilizar o modelo de programação MapReduce. Ele dis-
ponibiliza APIs (Application Programming Interface) para que os usuários possam escrever as funções Map e Reduce, nas linguagens
Java, C++, Python, Ruby, entre outras, conforme a necessidade do problema (WHITE, 2015).
O Hadoop possui a mesma arquitetura Master/Worker utilizada pelo paradigma MapReduce. Permite também que programado-
res sem experiência com sistemas paralelos e distribuídos o utilizem sem grandes dificuldades, pois oculta toda a complexidade do
sistema. O particionamento dos dados de entrada, agendamento das execuções no conjunto de máquinas, manipulação das falhas e
das comunicações entre as máquinas são tratados pelo próprio sistema (GOLDMAN, 2012).
153
CONHECIMENTOS DE INFORMÁTICA
recupera o sistema em caso de falhas e faz o gerenciamento dos recursos computacionais. Nós Workers tem como propósito o arma-
zenamento e processamentos dos dados, além de frequentemente informar ao nó Master sobre seu estado atual (processando ou
ocioso) (WHITE, 2015).
Nesta seção serão abordados os módulos do Hadoop MapReduce. A apresentação das funções desses módulos faz-se necessária
pois permite com mais clareza compreender a qual módulo pertence cada configuração de parâmetro tratada no Capítulo 3.
Hadoop common
É no Hadoop Common que se encontram todas as bibliotecas e arquivos comuns e necessários para os outros módulos do Hadoop
(HMR, HDFS e YARN). Bibliotecas para serialização de dados, chamada remota de métodos, manipulação de arquivo, entre outras,
ficam neste subprojeto (KOCAKULAK E TEMIZEL, 2011).
154
CONHECIMENTOS DE INFORMÁTICA
O HDFS possui um ponto crítico de falha, no caso do nó • Application Master: Um por aplicação. Responsável pelo
Master que execute o processo NameNode falhar. Porém exis- gerenciamento do ciclo de vida da aplicação, pelas requisições
tem mecanismos de recuperação caso isso ocorra (WHITE, de recursos ao schedular, e pela execução e acompanhamento
2015). Um desses mecanismo é a utilização de um NameNode das Tasks através da comunicação com o Node Manager;
que fica em stand-by, que entra em funcionamento em caso de • Data Node: Um por Worker. Responsável por armazenar e
falha no NomeNode ativo. Ainda havendo um erro no NameNo- recuperar blocos de dados armazenados localmente.
de em stand-by é possível utilizar o Namenode secundário, que A Figura 4 exemplifica a troca de mensagens entre os mó-
entra em funcionamento através de uma cópia dos metadados dulos e nós do cluster ao executar dois Jobs. Os containers que
do Namenode principal. executam as Tasks reportam seu status ao Application Master
que por sua vez reporta ao Resource Manager. O Application
Hadoop MapReduce Master faz as requisições de container para a execução das Tasks
O Hadoop MapReduce ou HMR é responsável pelo proces- ao Resource Manager. O NameNode por sua vez recebe periodi-
samento dos dados armazenados no HDFS ou em outro sistema camente os blocos armazenados em cada DataNode (Kobylinska
de armazenamento. A execução completa de um programa HMR e Martins, 2014).
é chamado de Job e a divisão de um Job entre os nós Workers é
denominado Task.
O gerenciador de recursos YARN (que será explicado adian-
te) no Hadoop utiliza a definição de container para a alocação de
recursos. Um container é uma parcela de recursos (CPU, memó-
ria, etc) de uma máquina do cluster que pode ser reservada para
a execução de uma aplicação, sendo esta aplicação HMR ou não.
Tom White (2015) cita que em alto nível, para a execução de
um Job no HMR existem 5 entidades independentes:
• O cliente: submete o Job MapReduce a ser executado;
• O YARN Resource Manager: coordena a alocação dos re-
cursos computacionais no cluster;
• O YARN Node Manager: carrega e monitora os containers
nas máquinas do cluster;
• O MapReduce Aplication Master: coordena as Tasks que
executam os Jobs MapReduce;
• O HDFS: compartilha os arquivos entre os nós do cluster.
Abaixo é feita uma explicação para melhor compreender os
locais e processos das entidades YARN, Aplication Master e HDFS
no cluster (WHITE, 2015).
O Nó Master possui dois componentes sendo eles: A Figura 5 ilustra em alto nível de abstração o processo de
• Resource Manager Yarn: Um por cluster, e é dividido em execução de um Job MapReduce no Hadoop. Segundo White
dois componentes: (2015) as etapas são:
Schedular: Responsável por fornecer os recursos requisita- • O cliente submete um Job (passo 1);
dos pelo Applications Master, e acompanhar a execução dessa • É solicitado ao Resource Manager um identificador para
aplicação; essa novo Job (passo 2).
Application Manager: Responsável por manter uma coleção • Na sequência os dados de entrada desse novo Job são par-
de submissões de aplicações. Após a submissão de uma apli- ticionados em blocos, e copiados para o HDFS (passo 3).
cação primeiro valida-se suas especificações e rejeita qualquer • Após essa etapa, o Job MapReduce entra em execução
aplicação que solicita recursos insatisfatível (isto é, não há ne- (passo 4).
nhum nó no cluster que tenha recursos suficientes para executar • O schedular YARN aloca um container com a Application
o Application Master). Em seguida, ele garante que nenhuma Master, e então o Resource Manager executa o processamento
outra aplicação já tenha sido apresentada com a mesma iden- da aplicação Master nesse container (passo 5).
tificação. • Application Master MapReduce é que inicializa o proces-
• NameNode: Um por cluster. Contêm metadados de todos samento do Job (passo 6).
os arquivos e diretórios do sistema. • Em seguida são recuperados os blocos da entrada do
A partir da versão 2.0 do Hadoop a coordenação de um Job HDFS (passo 7).
não ocorre no nó Master, mas sim em um container instanciado • Para cada bloco da entrada é criado uma Task Map, e o
em uma máquina Worker. Uma máquina Worker possui geral- número de Tasks Reduce é determinado pela propriedade ma-
mente dois componentes, podendo possuir três no caso da ins- preduce.Job.reduces. Application Master é quem decide como
tância de gerenciamento da aplicação. Esses componentes são: executar o Job. Caso o Job seja pequeno ele pode ser executado
• Node Manager: Um por Worker. Responsável por gerenciar o localmente, do contrário o Application Master requisita contai-
ciclo de vida de um container e monitorar a utilização de cada ners para todas as Task Map e Reduce ao Resource Manager
recurso do container; (passo 8).
155
CONHECIMENTOS DE INFORMÁTICA
• Uma vez que o Resource Manager tenha atribuído um container Task que o Application Master solicitou, o Applicantion Master
inicializa o container se comunicando com o NodeManager (passo 9).
• Antes de executar a Task, são localizados os recursos que ela necessita (passo 10).
• Por fim, a Task é executada (passo 11).
Para processar uma Task é criada uma nova instância da Máquina Virtual Java (JVM) denominada YarnChild. O YarnChild é uma
JVM dedicada a Task, evitando assim que qualquer bug oriundo de funções Map e Reduce mal definidas afete o NodeManager (WHI-
TE, 2015).
Quando a Application Master recebe a notificação que a última Task do Job está completa, seu status é alterado para “successful”.
Então, o JobClient exibe a mensagem para o usuário informando que o processo foi finalizado com sucesso.
Hadoop YARN
Em versões anteriores à adoção do YARN, uma entidade denominada JobTracker contida no nó Master era responsável pela reser-
va e monitoramento de slots para a execução das Tasks. Era também responsabilidade do JobTracker “limpar” os recursos temporários
e tornar os slots reservados disponíveis para outras Tasks. O fato de existir somente uma instância Jobtracker no cluster limitava a
escalabilidade e levava ao problema da execução MapReduce falhar, caso houvesse interrupção do JobTracker.
A ideia de pré-definir os slots Map e Reduce causava problemas de recursos, como no caso de todos os slots Map estarem ocu-
pados enquanto ainda existiam slots Reduce disponíveis e vice-versa. Enfim, não era possível usar a infraestrutura do Hadoop para
outro tipo de processamento.
156
CONHECIMENTOS DE INFORMÁTICA
Com a adoção do YARN no Hadoop como gerenciador de recursos, não mais utiliza-se a definição de slot para gerenciar recursos.
Ao invés disso, tem-se agora recursos computacionais que podem ser alocados pela aplicação. Dessa maneira aplicações MapReduce
podem ser executadas juntamente com aplicações não MapReduces (WHITE, 2015).
Na Figura 6 é possível visualizar que anteriormente no Hadoop versão 1.0 toda a estrutura de gerenciamento de recursos era aco-
plada ao módulo Hadoop MapReduce o que restringia a plataforma a um único modelo de programação. Mas, com a adoção do YARN
outros frameworks de processamento podem fazer uso da infraestrutura do Hadoop já que são executados em uma camada superior
e independente (KOBYLINSKA e MARTINS, 2014).
Segundo PICOLI (2014) o processo de execução do Job WordCount, demonstrado na Figura 7 (pág. 30), é composto pelas seguin-
tes fases:
• Split: Primeiramente seleciona-se os arquivos necessário no HDFS e divide-os em tamanho fixos.
• Map: O nó contendo o Aplication Master é incumbido de criar os containers para que executem as Tasks Map. Esses containers
processam as Tasks e geram pares intermediários de chave/valor, sendo nesse caso palavra/frequência.
• Shuffle: Antes de repassar as saídas Map para que a Application Master são criados os containers que irão executar as funções
Reduces, é feito um agrupamento pela chave. Esse agrupamento tem como propósito facilitar o trabalho na execução da função Re-
duce.
• Reduce: Os containers responsáveis pela execução das funções Reduce buscam por chaves iguais nos pares intermediários, ou
seja, a ocorrência das mesmas palavras, e quando ela ocorre é efetuado a soma dos valores armazenados.
• Output: Após a execução de todas as Tasks, o framework salva no HDFS um arquivo contendo a frequência das palavras.
157
CONHECIMENTOS DE INFORMÁTICA
SQOOP
Apache Hadoop é um framework projetado para o processamento massivo de dados de diversos tipos (estruturados, semiestru-
turados e não estruturados), no qual esses são armazenados no HDFS (Hadoop Distributed File System) e manipulados por tarefas
158
CONHECIMENTOS DE INFORMÁTICA
MapReduce. As tarefas MapReduce são responsáveis por fazer o cessamento é então organizado e ordenado pelo framework
processamento, a combinação entre dados e, por fim, a produ- para que seja enviado para as tarefas Reduce, que combinam os
ção de algum resultado a partir desse processamento. dados a fim de obter o resultado final.
Apesar de o Hadoop ser amplamente conhecido por sua Tipicamente, as tarefas de mapeamento são executadas no
capacidade de armazenamento e processamento de grandes mesmo nó do cluster onde estão os dados a serem processados,
quantidades de dados, muita informação ainda hoje está arma- reduzindo assim o tráfego de rede. Escrever tarefas MapReduce
zenada em bancos de dados relacionais. Assim, surgiu o Apache não é uma tarefa trivial. Contudo, uma vez feito, processar os
Sqoop cujo objetivo é executar a transferência eficiente e bidire- dados de forma paralela e distribuída em centenas de nós do
cional de dados entre o Hadoop e diversos serviços de armaze- cluster se torna uma tarefa simples.
namento externo de dados estruturados. Uma das facilidades oferecidas pelo Sqoop é a capacidade
O Apache Sqoop pode ser útil (i) quando se deseja utilizar de importação dos dados direto para o Hive. Hive é um dos pro-
ferramentas de Big Data para o processamento de bases rela- jetos mais famosos do ecossistema Hadoop e foi iniciado pelo
cionais, (ii) para a integração de bases relacionais e mainframes Facebook em 2007, mas atualmente é um projeto top-level da
com dados já presentes no Hadoop ou, ainda, (iii) para o arqui- Apache Software Foundation, assim como o Sqoop, e recebe
vamento dos dados no Hadoop. contribuição de outras grandes empresas.
O Sqoop atualmente possui duas frentes de desenvolvimen- O data warehouse do Facebook havia sido construído inicial-
to. Uma delas, chamada de Sqoop 1, é a evolução natural do mente com soluções comerciais de bancos de dados relacionais.
projeto inicial, encontra-se na versão 1.4.6 e foi a versão utiliza- Contudo, devido à necessidade de processamento e armazena-
da nesse artigo por ser a última versão estável para produção. O mento de grandes volumes de dados exigida pelo Facebook, foi
Sqoop 2 é um projeto totalmente novo e implementa o conheci- decidido utilizar o Hadoop, por permitir aumentar a capacidade
do modelo de cliente e servidor, no qual o servidor é responsá- de armazenamento com baixo custo e sem tempo de inatividade
vel por gerenciar o envio dos dados do banco relacional para o e por possuir um framework de processamento distribuído que
Hadoop e vice-versa. reduziu consideravelmente o tempo de execução das consultas.
Outras melhorias implementadas no Sqoop 2 são a clara de- No entanto, criar tarefas MapReduce não era fácil e consu-
finição das interfaces dos conectores, clientes mais simples de mia muito tempo dos seus funcionários. Assim, eles decidiram
serem utilizados, uma API que permite a execução de funções criar o Hive com os conceitos já familiares dos bancos de dados.
do Sqoop a partir de código em Java, entre outras. Ambos os Hive é um sistema de data warehouse escalável e tolerante
projetos podem ser obtidos por meio de sua página oficial. a falhas, projetado para trabalhar com um grande volume de
Neste artigo veremos como realizar o processo de impor- dados que crescem rapidamente. Ele é um sistema para proces-
tação de um banco relacional para o HDFS. Esse processo será samento em batch e pode fazer consultas sobre um volume de
apoiado pelo Sqoop. Também veremos como realizar a importa- dados na ordem de petabytes. O Hive fornece uma linguagem
ção para o Hive e como o Sqoop apoia a exportação de dados do de consulta simples chamada HiveQL – baseado em SQL –, que
Hadoop para um banco relacional. permite aos usuários familiarizados com o SQL facilmente reali-
Todos os exemplos de comandos Sqoop presentes nes- zar consultas, sumarizações e análise de dados.
te artigo são reproduções ou readaptações – autorizadas pela O Hive não foi projetado para ser um sistema de processa-
O’Reilly Media – dos exemplos presentes no livro Apache Sqoop mento de transações em tempo real. Ele foi construído sobre
Cookbook Unlocking Hadoop for Your Relational Database, de a infraestrutura do Hadoop o que lhe garante vários benefícios
2013, escrito por Kathleen Ting e Jarek Jarcec Cecho. como escalabilidade, tolerância a falhas e excelente taxa de
transferência. Contudo, o framework MapReduce costuma ter
Hadoop e Hive alta latência, causando lentidão no agendamento e execução de
Apache Hadoop surgiu na separação da parte de compu- tarefas. Assim, o tempo para realizar consultas no Hive sobre
tação distribuída da ferramenta chamada Apache Nutch – um um pequeno conjunto de dados é de segundos ou até minutos
famoso web crawler – criado por Mike Cafarella e Doug Cutting, para terminar.
criador também do Lucene e Hadoop. O Hadoop é uma plata-
forma escalável e confiável para armazenamento e análise de Bancos de dados suportados
grande volumes de dados. Ele foi projetado para ser executado Por padrão, o Sqoop utiliza JDBC (Java Database Connectivi-
em clusters compostos por computadores convencionais onde ty) para se conectar aos bancos e, por esse motivo, acredita-se
falhas de disco rígido, memória, comunicação, dentre outras são que ele é compatível com uma grande quantidade de bancos de
acontecimentos comuns. dados, uma vez que os fornecedores implementam essa API. No
Com esta premissa em mente, o sistema de arquivos Dis- entanto, o Sqoop não garante a compatibilidade e a performan-
tribuídos Hadoop (HDFS ou, em inglês, Hadoop Distributed File ce com todos os bancos que possuem conectores JDBC devido
System) armazena grande volume de dados de forma confiável – às formas de implementação dessa API e a ligeiras diferenças
ou seja, sem perdas de informações – por meio da criação cópias que possam existir na sintaxe SQL de cada banco.
destes dados em mais de um nó (computador) do cluster. A Tabela 1 contém uma relação completa dos bancos e suas
Além do HDFS, uma outra parte importante do Hadoop se respectivas versões que foram testadas com o Sqoop. Pode ser
chama MapReduce, um framework que abstrai a complexidade necessário instalar os drivers de conexão mesmo com o banco
do processamento paralelo e distribuído. MapReduce são duas de dados estando presente na lista.
tarefas distintas – Map e Reduce –, em que a primeira processa
os dados de entrada de forma paralela. O resultado deste pro-
159
CONHECIMENTOS DE INFORMÁTICA
Tabela 1. Lista de bancos de dados testados no Sqoop. Fonte: Sqoop User Guide (v1.4.6). Disponível em <http://sqoop.apache.
org/docs/1.4.6/SqoopUserGuide.html>. 21 de dezembro de 2015. Pode ser necessário instalar os drivers de conexão mesmo o banco
de dados estando presente na lista.
Importação de dados
O Sqoop realiza a importação dos dados em arquivos de texto (–as-textfile), arquivos Sequence File (–as-sequencefile), Avro
(–as-avrodatafile) ou Parquet (–as-parquetfile). Na importação para arquivos textuais, cada registro do banco se tornará uma linha
no arquivo de destino onde cada coluna é delimitada por padrão pela vírgula ou outro separador definido pelo usuário por meio do
argumento –fields-terminated-by. A Tabela 2 contém uma relação de outros argumentos que podem ser utilizados na importação para
arquivos texto.
160
CONHECIMENTOS DE INFORMÁTICA
Tabela 2. Argumentos que podem ser utilizados na impor- Dentro do diretório especificado serão criados outros di-
tação dos dados para arquivos texto. Fonte: Sqoop User Guide retórios com o nome da tabela de origem contendo os arqui-
(v1.4.6). Disponível em <http://sqoop.apache.org/docs/1.4.6/ vos com os respectivos dados importados. Uma outra opção é
SqoopUserGuide.html>. 21 de dezembro de 2015. o argumento –target-dir seguido do caminho completo para o
É importante observar os caracteres especiais que podem diretório de destino desejado, como apresentado no exemplo
estar inseridos no conteúdo das tabelas. Por exemplo, o texto da Listagem 2.
“Apache Sqoop, uma abordagem prática para a unificação de da-
dos” pode causar problemas na importação caso o delimitador Listagem 2. Comando Sqoop ilustrando a utilização do ar-
padrão (a vírgula) seja utilizado, porque o caractere vírgula faz gumento –target-dir que define o diretório de destino desejado.
parte do texto. O formato de texto delimitado é ideal quando sqoop import
não estão sendo importados dados binários. Além disso, esse –connect jdbc:mysql://mysql.example.com/DBTeste
tipo de formato é legível por humanos e fácil de manipular.
–username eduardo
Para ilustrar a simplicidade do Sqoop, o exemplo ilustrado
na Listagem 1 detalha o comando Sqoop utilizado na importa- –password 123456
ção de uma tabela MySQL chamada Cidades, representada pela
Tabela 3. –table cidades
–target-dir /etl/input/cidades
161
CONHECIMENTOS DE INFORMÁTICA
–columns “id,cidade,pais”
Opcionalmente, o usuário pode substituir os três argumentos –table, –columns e –where pelo argumento –query, onde se deve
definir toda a consulta SQL. O exemplo da Listagem 4 importará exatamente os mesmos dados do exemplo da Listagem 3.
Listagem 4. Comando Sqoop exemplificando a utilização do argumento –query em substituição aos argumentos –table, –columns
e –where.
sqoop import
–connect jdbc:mysql://mysql.example.com/BDTeste
–username eduardo
–password 123456
–query “SELECT id, cidade, pais FROM cidades WHERE $CONDITIONS AND id > 100”
–target-dir /etl/input/cidades
–split-by id
No caso de tabelas que possuem colunas do tipo binário, o Sqoop realiza a importação delas de duas formas. Quando esse tipo
de coluna possui tamanho de até 16 MB, ou algum valor distinto, mas definido pelo argumento –inline-lob-limit <número de bytes>,
então esse campo é inserido na mesma linha, junto às demais colunas desse registro. Porém, se o campo ultrapassar o valor padrão
de 16 MB ou o valor definido pelo argumento –inline-lob-limit, o campo será armazenado em um novo arquivo – de até 263 bytes
cada – em uma subpasta _lobs no diretório de destino.
Processo de importação
O processo de importação dos dados é dividido em duas etapas principais. Na primeira delas, o Sqoop faz a leitura dos metada-
dos da tabela de origem (nome das colunas, tipos dos dados etc.) para que sejam convertidos em um tipo de dados Java durante a
criação de uma classe que encapsulará um registro dessa tabela. Essa classe, além de possuir os atributos que representam as colunas
da tabela, também possui métodos para a serialização e desserialização desses dados. Ela tambémé um subproduto do processo de
importação e pode ser utilizada por qualquer outra tarefa de MapReduce.
Por padrão, a classe possui o nome da tabela de origem e é salva no diretório corrente de onde o Sqoop está sendo chamado.
Após a compilação dessa classe, o código compilado é salvo na pasta /tmp. Tanto o nome da classe quanto os diretórios de destino
da classe gerada e da classe compilada podem ser alterados por meio dos seguinte argumentos: –class-name, –outdir e –bindir, res-
pectivamente.
Após a extração dos metadados e criação da classe, o Sqoop dá início ao processo de importação dos dados, que nada mais é que
uma simples consulta SQL. Veja o código a seguir:
O mais adequado é a utilização de uma coluna que possua valores uniformemente distribuídos e que possa ser passada para o
Sqoop por meio do argumento –split-by. Quando não informada a coluna, o Sqoop tenta escolher por si só; e por padrão ele escolhe
geralmente a chave primária da tabela.
162
CONHECIMENTOS DE INFORMÁTICA
Figura 1. Exemplo do processo de importação. A figura exemplifica o processo de importação em que o Sqoop faz inicialmente a
leitura dos metadados da tabela de origem, que serão utilizados na criação de uma classe Java usada na serialização e desserialização
dos dados, para em seguida paralelizar em quatro tarefas MapReduce a consulta na tabela e transferir os dados para o HDFS.
Outro parâmetro importante é o número de tarefas de mapeamento utilizado no paralelismo, que pode ser parametrizado por
meio do argumento -m ou –num-mappers. Por padrão, o Sqoop paraleliza o processo de importação dos dados em quatro tarefas. Em
seguida, ele obtém o maior e menor valor da coluna escolhida, para então fazer uma divisão simples, conforme apresenta a Figura 2.
Se a coluna utilizada na divisão não for uniformemente distribuída, isso pode prejudicar a performance do processo de impor-
tação, visto que algumas tarefas podem ficar sobrecarregadas e outras com pouco ou nenhum trabalho. Suponha que a coluna id do
exemplo anterior possua apenas um valor 0 e todos os demais valores estão entre 500 e 1000.
Dessa forma, uma das tarefas não terá nenhum dado para importar, já que não existem registros no intervalo entre 250 e 500.
Uma segunda tarefa terá apenas um registro para importar, pois existe apenas um registro (id = 0) entre o intervalo 0 e 250. As duas
tarefas restantes dividirão todos os demais registros.
163
CONHECIMENTOS DE INFORMÁTICA
Para o MySQL, PostgreSQL, Netezza e Oracle, o Sqoop ofere- Atendendo a esses requisitos, os mesmos argumentos –
ce o argumento –direct, que utiliza ferramentas específicas des- check-column e –last-value devem ser utilizados, em que o ar-
ses bancos e que oferecem melhor performance, comparados gumento –check-column recebe como parâmetro o nome da co-
ao conector JDBC. Por exemplo, o MySQL possui as ferramen- luna do tipo data, enquanto o argumento –last-value receberá o
tas mysqldump para realização de backup lógico (em arquivo) último valor da coluna tipo data que já foi importado. Além dis-
e mysqlimport, que faz o processo inverso – leitura dos dados a so, deve-se utilizar o argumento –merge-key, que recebe como
partir de um arquivo. parâmetro a coluna de valores únicos para serem utilizados na
Entretanto, o argumento –direct possui algumas limitações, junção dos dados.
como exportar os dados apenas para arquivos texto (–as-textfi- No modo lastmodified, o Sqoop faz a importação para um
le), não realizar importação de views e não tratar colunas do tipo diretório temporário apenas dos novos registros – isto é, regis-
BLOB, CLOB e LONGVARBINARY. tros que, baseados na coluna do tipo data definida em –check-
-column, sejam mais recentes que o valor informado por meio
Importação incremental do atributo –last-value. Para finalizar o processo de importa-
Em um trabalho de análise de dados, é importante man- ção, o Sqoop fará a junção dos dados previamente importados
ter toda a informação que será utilizada sempre atualizada com (Dprev) com os novos dados que estão sendo considerados (D∆).
relação à sua base relacional. E, para isso, o Sqoop oferece o Se o registro presente em D∆ também existir em Dprev, en-
argumento –incremental para importação apenas dos novos tão trata-se de um caso de atualização (UPDATE) desse registro
dados presentes na tabela. Esse argumento possui dois modos na base de origem, e o registro presente em Dprev será substi-
(append e lastmodified), que permitem ao Sqoop saber qual tuído pelo registro presente em D∆ utilizando a coluna com valo-
tipo de importação incremental deverá ser utilizada. res únicos definida por meio do argumento –merge-key. Caso o
O modo append é adequado quando os seus dados de ori- registro em D∆ não exista em Dprev, então trata-se de um novo
gem não sofrem atualização (UPDATE) e apenas novos dados registro na base de origem e ele será apenas inserido no conjun-
são inseridos. Em conjunto com o argumento e parâmetro –in- to de dados de destino Dprev. A Listagem 7 ilustra a importação
cremental append, deve-se informar os argumentos –check-co- incremental no modo lastmodified, em que serão importados
lumn e –last-value, em que o primeiro define qual coluna será
apenas os registros que foram inseridos ou atualizados após 02
utilizada no filtro e o último informa para essa coluna específica
de Fevereiro de 1987.
qual é o último valor já importado.
Listagem 7. Comando Sqoop exemplificando a importação
Ou seja, os registros que possuírem, para a coluna especi-
incremental.
ficada, valores maiores que o informado por meio do argumen-
sqoop import
to –last-value são novos registros e devem ser importados. No
–connect jdbc:mysql://mysql.example.com/BDTeste
modo append, a coluna escolhida deve ser incremental para que
não haja perda de valores na importação dos dados. O exemplo
da Listagem 6 realiza a importação apenas dos registros que pos- –username eduardo
suírem id maior que 3.
–password 123456
Listagem 6. Comando Sqoop exemplificando a importação
incremental no modo append apenas dos registros que possuí- –table visits
rem id maior que 3.
sqoop import –incremental lastmodified
–connect jdbc:mysql://mysql.example.com/BDTeste
–check-column last_update_date
–username eduardo
–last-value “1987-02-02”
–password 123456
–merge-key id
–table cidades
É importante notar que a coluna definida pelo argumento
–incremental append –check-column não deve ser do tipo CHAR, NCHAR, VARCHAR,
VARNCHAR, LONGVARCHAR ou LONGNVARCHAR. Caso contrá-
–check-column id rio, os operadores de comparação maior (>) e menor (<) não po-
deriam ser utilizados na cláusula WHERE da consulta, que obtém
–last-value 3 apenas os registros atualizados ou novos.
A Listagem 8 ilustra um trecho da saída após a execução
O modo lastmodified é apropriado para os casos em que de uma importação incremental, em que o Sqoop imprime no
os dados de origem sofrem atualização. Entretanto, a sua tabe- console o último valor importado ao final de cada execução in-
la deve (i) possuir uma coluna do tipo data (DATE, TIME, DATE- cremental. Isso é útil para futuras execuções da importação in-
TIME ou TIMESTAMP), que é atualizada sempre que um novo cremental, quando o usuário faz o controle manual do último
registro é adicionado ou um dado existente é modificado; (ii) valor importado.
possuir uma coluna composta por valores únicos, como a chave
primária.
164
CONHECIMENTOS DE INFORMÁTICA
165
CONHECIMENTOS DE INFORMÁTICA
FLUME
Logs são uma fonte básica de informação e ajudam a monitorar a ‘saúde’ de sistemas, detectando falhas em hardware e serviços.
Podem ajudar também na solução de problemas. Embora, de uma forma geral, um log represente registro de eventos, esta é uma
ferramenta importante na administração de sistemas.
Com o surgimento de tecnologias e ferramentas para Big Data, a geração e utilização dos logs se tornaram cada vez mais impor-
tantes, uma vez que agora é possível ‘prever’ quando um equipamento precisa de manutenção, o comportamento de um indivíduo
em um e-commerce e a geração de recomendações, entre outras coisas.
Administrar o volume de logs que é gerado por diversos sistemas/ dispositivos não é uma tarefa fácil. Em 2011, a Cloudera criou
o Flume, um sistema distribuído, confiável e disponível para coletar, agregar e mover grandes quantidades de dados de muitas fontes
diferentes para um armazenamento de dados centralizado. Em 2012, esse passou a ser um projeto top level na Apache Software
Foundation.
O Apache Flume não se restringe apenas à coleta de logs, e pode ser usado para transportar grandes quantidades de dados, como
os gerados em social media, e-mails e qualquer fonte de dados possível.
O objetivo principal do Flume é ingerir dados de eventos no HDFS (Hadoop Distributed File System) de forma simples e automati-
zada. Porém, seu uso não se limita apenas ao HDFS; é possível enviar também dados para um arquivo ou banco de dados, entre outros.
Abaixo, o modelo de fluxo de dados do flume:
Um agente Flume roda na JVM (Java Virtual Machine) e possui os seguintes componentes:
Source: responsável pela entrada de dados;
Channel: armazena os dados que passam do source para o sink. Seu comportamento é parecido com uma fila;
Sink: responsável por enviar os dados ao destino/ saída. A saída pode ser outro agente Flume.
A configuração de um agente é feita por meio de um arquivo local que tem o formato de um arquivo properties utilizado em Java.
Abaixo, um exemplo de configuração de um agente com um source e um sink:
166
CONHECIMENTOS DE INFORMÁTICA
Podemos de forma básica entender o Apache Nifi como É necessário ter o Java instalado e configurado independen-
sendo uma ferramenta capaz de automatizar o fluxo de dados te de seu sistema operacional.
entre diferentes sistemas. Basicamente a instalação do Nifi pode ser feita descompac-
Tecnicamente conceituando de acordo com a documenta- tando o arquivo baixado para sua pasta de preferência. Aqui va-
ção oficial entendemos que o Apache NiFi é: mos abordar a instalação no Linux.
“ An easy to use, powerful, and reliable system to process 1 – Faça o download: Download via navegador
and distribute data. ” 2 – Descompacte o arquivo baixado para a pasta de sua pre-
Um sistema fácil, poderoso e confiável para processamento ferência
distribuído de dados. tar -xzvf nifi-1.5.0-bin.tar.gz
Dentro da realidade corporativa atual onde empresas pos- 3 – Acesse o diretório /bin Execute o serviço do Apache Nifi
suem fontes de dados vindas de tecnologias diferentes o Apache Caso tenha alguma aplicação já utilize a porta 8080 então
Nifi nos permite centralizar a produção, o tratamento e consu- devemos alterar o arquivo /nifi-1.5.0/conf/nifi.properties
mo dos dados de forma independente da plataforma utilizada. Encontre a linha com a configuração nifi.web.http.port=8080
O Apache Nifi não é apenas uma ferramenta de ETL como e altere o valor 8080 para uma porta disponível.
pode parecer a princípio mas sim uma ferramenta com recursos Não altere outras configurações ao menos que saiba real-
muito mais amplos como iremos aprender no decorrer desta sé- mente o que está fazendo.
rie de posts. Feita a alteração acima se foi necessário vamos executar o
serviço:
./bin/nifi.sh start
Conceitos
4 – Aguarde alguns segundos ou minutos dependendo da
Os termos utilizados no Apache Nifi possuem uma relação
configuração do seu sistema e a interface de trabalho do Nifi
próxima com a Flow Based Programming (FBP) ou seja a progra-
estará disponível em nosso navegador no seguinte endereço:
mação orientada a fluxo porém seguindo sua própria nomencla- http://localhost:8080/nifi
tura interna. Se tudo correu bem você deve ter acessado uma página
Veremos a seguir os principais módulos existentes no Apa- como a seguir:
che Nifi e seu conceito dentro da ferramenta.
FlowFile:
Um FlowFile representa para o Apache Nifi todo o fluxo de
dados sendo movimentado pelo sistema e cada um deles é con-
trolado por um par chave/valor demonstrando o total de bytes
movimentados.
FlowFile Processor:
O Processor é onde todo o trabalho acontece. Este módulo
tem acesso aos atributos do FlowFile e seu stream de dados.
167
CONHECIMENTOS DE INFORMÁTICA
Vamos ver na imagem abaixo uma explicação de cada setor apresentado na interface do Apache Nifi:
168
CONHECIMENTOS DE INFORMÁTICA
Barra de ferramentas; aqui encontramos os elementos utilizados no fluxo de operações que podemos criar, os elementos dispo-
níveis são: Processor, Input port, Output port, Process Group, Remote Process Group, Funnel, Template e Label.
Barra de status; são mostradas informações sobre quais grupos estão sendo executados, quantos bytes trafegando, se existe
alguma tarefa parada etc.
Navegação; controla o zoom e a visualização dos elementos na área de trabalho.
Operação; podemos iniciar todos os conjuntos de operações ou apenas as que estiverem selecionadas, excluir elementos bem
como configurá-los, criar e importar templates.
Área de trabalho; onde construímos nossas operações, é aqui que devemos arrastar e soltar processors, ports, groups etc.
EXEMPLO PRÁTICO
Qual problema queremos resolver ?
Bem, para este exemplo temos alguns dados em um arquivo CSV onde estão registrados nome, idade e email, porém alguns en-
dereços de email estão com a palavra “mail” e queremos substituí-los por “dataidea“.
Temos um diretório chamado NifiExemplo com duas subpastas source e target. O arquivo problemático existe na pasta source e
após tratá-lo como queremos será criado um novo na pasta target.
Resumindo o fluxo será o seguinte:
1 – Ler arquivo CSV em /NifiExemplo/source/dados.csv o processor responsável por esta ação será o GetFile
2 – Substituir todos que possuem a palavra mail por dataidea, para isso vamos criar e configurar o processor ReplaceText
3 – Gravar o arquivo tratado na pasta /NifiExemplo/target, aqui o processor utilizado será o PutFile
A seguir mostro o fluxo de dados no Apache Nifi. As explicações adicionais e todos os arquivos podem ser baixados no final do
post.
169
CONHECIMENTOS DE INFORMÁTICA
Na área de trabalho do Apache Nifi devemos arrastar e sol- os nodos do Cluster e salvas de modo sequencial, o que garante
tar o ícone referente ao processor e em seguida escolher o tipo que ao lermos os registros eles serão entregues na mesma or-
do processor a ser utilizado. dem na qual foram enviados.
Kafka já é utilizado por mais de 1/3 das empresas da lista da
Processor GetFile: fortune 500 e 7 dos 10 maiores banco do mundo.
Temos que configurar o diretório de onde queremos obter Ele pode ser utilizado para diferentes finalidades. Você
o arquivo para leitura, no meu caso usei /home/NifiExemplo/ pode ver uma lista completa delas no site.
source mas você pode utilizar um outro local se achar neces- Kafka é uma excelente ferramenta para criarmos aplicações
sário. Esta configuração é feita dando um clique duplo sobre o que trocam mensagens entre si, event sourcing, replicação de
Processor em seguida Properties – Input Directory dados, etc. Mais detalhes aqui.
Existe uma configuração importante aqui que devemos Boa parte disso se deve pelo fato das mensagens ficarem
prestar bastante atenção e configurar de acordo com o caso de salvas em disco o que garante a consistência das mesmas, mes-
mo que um broker sofra uma falha.
uso, a Keep Source File, ou seja, manter o arquivo utilizado como
Além disso, como as mensagens são replicadas entre os
fonte e pode ser configurado como falso (false) ou verdadeiro
diferentes brokers, existe uma garantia em termos de disponi-
(true).
bilidade, já que caso um broker falhe, outro broker assume o
Atenção! Na configuração default o arquivo sempre é remo-
papel de leader e as mensagens podem continuar sendo escritas
vido do diretório de origem. e lidas normalmente. Pretendo explicar com mais detalhes este
processo em um post no futuro.
Processor ReplaceText:
É aqui onde a mágica realmente acontece.
Utilizamos em nosso exemplo uma expressão regular para
que o Apache Nifi encontre todas as palavras correspondentes à
“mail” e realize a substituição. A expressão regular utilizada aqui
foi a mais simples possível, “\bmail\b” e está sendo configurada
em Search Value.
Em Replacement Value é onde iremos colocar pelo que será
substituído o valor encontrado em Search Value.
Basicamente acontece o seguinte: Em Search Value busque
alguma coisa e substitua pelo conteúdo configurado em Repla-
cement Value
Nas duas propriedades podemos utilizar expressões regu-
lares ou a linguagem utilizada pelo Apache Nifi chamada de Ex-
pression Language que não entraremos em detalhe neste post.
Processor PutFile:
Este processor é responsável por obter o conteúdo trata-
do pelo processor anterior e gravar em um arquivo no diretório
configurado na propriedade Directory Como podemos ver acima, o kafka possui um componente
central que é o cluster, responsável por receber e armazenar as
mensagens e responder as requisições de consumers. As biblio-
Connections:
tecas de Connectors e Stream, utilizam o conceito de Consumers
Você observou que podemos ligar um Processor ao outro
e Producers para realizarem tarefas mais avançadas.
clicando na seta verde central e arrastar até o próximo.
2. Publisher / Subscriber
Temos algumas configurações possíveis, porém a mais co- Um bom uso para mensageria em geral é desacoplar as par-
mum é o relacionamento entre os Processors. Dependendo do tes de um sistema que necessitam trocar informação. Uma cha-
resultado no tratamento do fluxo então podemos configurar o mada síncrona entre estas partes demanda que estes sistemas
que será feito em caso de sucesso ou falha marcando as opções estejam conectados (acoplados) o que significa que eles preci-
success ou failure. sam se conhecer para realizarem as operações. Uma alternativa
Se tudo correu bem então conseguimos finalizar nosso pri- para este paradigma é uso de troca de mensagens que adiciona
meiro exemplo utilizando o Apache Nifi. um componente central responsável por receber / entregar es-
tas mensagens.
Apache Kafka Os dois patterns de mensageria mais conhecidos são Queue
Apache Kafka é uma plataforma de streaming distribuído / Topic:
desenvolvida originalmente pelo Linkedin e posteriormente do- Queue: As mensagens são inseridas em ordem sequencial
ada para a Apache Foundation. e lidas em ordem sequencial por 2 participantes: o que escreve
Kafka é diferente dos sistemas tradicionais de mensageria. a mensagem e o que lê a mensagem. Uma analogia seria uma
Conceitualmente, ele é um sistema de log distribuído. Isso sig- mensagem individual no WhatsApp. Você envia as mensagens e
nifica que as mensagens enviadas ao Kafka são replicadas entre o receptor as recebe na ordem que foram enviadas.
170
CONHECIMENTOS DE INFORMÁTICA
Topic: Semelhante a uma Queue porém ao invés de um re- O importante de termos diversas partições é que estas par-
ceptor no tópico temos o conceito de broadcast. Um produtor tições são distribuídas em diferentes nodos, tendo diferentes
envia mensagens para um tópico e as partes interessadas na in- leaders o que balanceia a carga de escrita e leitura entre dife-
formação assinam este tópico e passam a receber as mensagens rentes brokers no cluster.
enviadas. Como veremos a seguir, para cada grupo de consumidores,
um único consumidor é responsável por cada partição. Desta
Como veremos a seguir, Kafka possui um modelo híbrido, forma, se quisermos paralelizar a leitura de um tópico, o núme-
pois ele utiliza o conceito de tópico e partição, onde a partição ro de partições irá definir o limite de paralelismo. Veremos mais
pode ser considerada uma fila dentro de um tópico. adiante e em outros tópicos detalhes sobre isto.
3. Log 5. Broker
Um log pode ser descrito como uma sequência temporal Um broker é o componente responsável por receber as re-
de mensagens, onde as novas mensagens sempre são adiciona- quisições de producers e consumers, armazenar as mensagens e
das no final do log. Desta forma, uma mensagem enviada em executar a replicação das mesmas.
t0 sempre estará posicionada antes de uma mensagem enviada Os brokers são gerenciados por outro componente o zooke-
em t1. eper. Este componente é bastante utilizado para controlar os
Cada mensagem dentro do log possui algumas informações: diferentes integrantes de um cluster.
1. Timestamp: data-hora da inserção Além das tarefas descritas acima, os brokers também reali-
2. Offset: índice da mensagem na partição zam outras tarefas, como gerenciar os líderes de cada partição,
3. Key: chave da mensagem realizar a limpeza de dados ou a compactação das mensagens.
4. Value: a mensagem propriamente dita chamado de
payload 6. Producer
Todas as mensagens dentro de uma partição serão um con- Producer é o componente responsável por escrever men-
junto chave / valor. sagens para um tópico. Um tópico pode ter um ou mais produ-
cers. Basicamente este componente deve se conectar ao cluster
e escrever as mensagens para o tópico. É importante ressaltar
4. Partição
que um dos grandes benefícios do Kafka em relação a outros
Kafka utiliza o conceito de tópico onde as mensagens são
sistemas de mensageria é o throughput de escrita que ele su-
agrupadas por uma classificação lógica. Por exemplo, se um tó-
porta. Existem diversos benchmarks que demonstram conforme
pico chamado employee_salaries existir, esperamos que dentro
os links nas referências.
dele estejam armazenas mensagens desta categoria. Interna-
mente, um tópico é dividido em partições. Observe a imagem
Estes números dependem muito do modelo de consistência
abaixo:
de um producer. Esta consistência depende do modelo de ga-
rantia de escrita ou ack (acknowledgement) que define quantos
brokers devem receber a mensagem para que a mensagem seja
considerada como enviada. Quanto mais brokers receberem a
mensagem, maior a garantia que temos que a mensagem foi
persistida. Porém, a latência aumenta uma vez que mais compo-
nentes precisam dar o ack pra mensagem.
7. Consumer
Consumer é o componente responsável por realizar a leitu-
ra de um tópico. Estes componentes se registram em um tópico
e realizam a leitura dos registros nas partições associadas a ele.
A primeira coisa importante de se falar sobre os consumers
é que eles são responsáveis por armazenar o offset de leitura
de cada partição. Isso é muito importante pois no design do Ka-
fka, o cluster não é o responsável por armazenar o estado dos
Como podemos observar na imagem acima, este tópico consumidores e sim o próprio consumer. Isso faz com que os
possui 3 partições, cada uma com um número específico de brokers apenas respondam aos consumidores, entregando as
mensagens e totalmente independentes. mensagens a partir de um dado offset tornando o protocolo de
Cada partição é um log isolado. Com isso podemos concluir conversação bastante simples.
que a ordem das mensagens só pode ser garantida dentro de Conforme dito anteriormente cada consumidor possui um
uma partição. Se você deseja um tópico com 100% de garantia único consumer group. Desta forma, cada vez que um consumi-
de ordem, então ele poderá ter apenas 1 partição. Porém, na dor é criado, ele é relacionado a um consumer group. Um consu-
maioria dos casos temos uma separação lógica dentro da garan- mer group pode conter diversos consumidores agrupados.
tia de ordem. Por exemplo, no nosso exemplo de employee_sa- O importante disto é que cada mensagem existente em um
laries deveríamos garantir a ordem do salário por cpf ou código tópico é entregue para apenas um consumer group. Veja a ima-
do funcionário, de modo que a leitura garantiria a ordem por . gem abaixo:
171
CONHECIMENTOS DE INFORMÁTICA
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
___________________________________________________
Na imagem acima, possuímos um tópico com 4 partições.
Estas partições estão distribuídas em dois clusters. ___________________________________________________
O consumer group A possui dois consumers (C1 e C2). Note
que cada um deles esta recebendo mensagens de 2 partições. ___________________________________________________
Mas cada partição do tópico esta associada a apenas 1 consumi-
dor do Consumer Group A. ___________________________________________________
Da mesma forma, o Consumer Group B possui 4 consumido-
res, cada um recebendo mensagens de 1 partição.
___________________________________________________
O modelo de consumer group é utilizado para podermos
adicionar mais instâncias de consumidores e garantir a entre-
ga de apenas 1 mensagem a este grupo. Desta forma, podemos ___________________________________________________
criar mais consumidores para processar as mensagens sem per-
der a garantia de entrega de uma única mensagem por tópico / ___________________________________________________
consumer group.
___________________________________________________
Fonte:
https://www.gta.ufrj.br/grad/12_1/mapreduce/imple- ___________________________________________________
ment.htm
h tt p : / / re p o s i t o r i o . ro c a . u t f p r. e d u . b r / j s p u i / b i t s - ___________________________________________________
tream/1/7385/1/PG_COCIC_2017_1_05.pdf
http://www.bigdatabusiness.com.br/apache-sqoop-e-unifi-
cacao-de-dados/ ___________________________________________________
https://imasters.com.br/desenvolvimento/introducao-ao-
-apache-flume ___________________________________________________
http://dataidea.com.br/2018/04/11/introducao-ao-apa-
che-nifi-parte-4/ ___________________________________________________
ANOTAÇÃO ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
___________________________________________________ ___________________________________________________
172