Baixe o app para aproveitar ainda mais
Prévia do material em texto
Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 1 SUMÁRIO Desenvolvimento de Software .......................................................................................................................... 2 Levantamento de Requisitos ......................................................................................................................... 2 Análise de Requisitos ..................................................................................................................................... 2 Projeto ........................................................................................................................................................... 3 Implementação .............................................................................................................................................. 3 Testes ............................................................................................................................................................. 3 Implantação ................................................................................................................................................... 4 Programação ..................................................................................................................................................... 4 Conceitos Básicos .......................................................................................................................................... 4 Lógica de Programação ................................................................................................................................. 5 Linguagem Python ......................................................................................................................................... 5 Conceitos e características ........................................................................................................................ 5 Comentários na linguagem: ....................................................................................................................... 5 Identação ................................................................................................................................................... 6 Variáveis .................................................................................................................................................... 6 Estruturas de programação ........................................................................................................................... 7 Se então ..................................................................................................................................................... 8 Se então senão .......................................................................................................................................... 9 Caso ......................................................................................................................................................... 10 Laços de repetição ....................................................................................................................................... 10 Enquanto Faça (While) ............................................................................................................................ 10 Para Até Faça (For ) ................................................................................................................................. 11 Recursão .................................................................................................................................................. 11 Operadores .................................................................................................................................................. 11 Funções ........................................................................................................................................................ 11 Principais funções da linguagem ............................................................................................................. 11 Orientação a Objetos ................................................................................................................................... 14 Classes ..................................................................................................................................................... 14 Herança .................................................................................................................................................... 15 Linguagem R .................................................................................................................................................... 16 Por quê devemos utilizar o R? ..................................................................................................................... 16 Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 2 DESENVOLVIMENTO DE SOFTWARE O processo de desenvolvimento de software perpassa por várias etapas com atividades específicas a fim de chegar ao produto “desejado”. A nomenclatura usada para as etapas varia de acordo com a bibliografia usada como referência, por exemplo para Sommerville são 4 as etapas: Especificação, Desenvolvimento, Validação e Evolução. Para Pressman as etapas são: Comunicação, Planejamento, Modelagem, construção e entrega. Em linhas gerais podemos descrever o processo de desenvolvimento de software nas etapas de: Levantamento de Requisitos (especificação, comunicação), Análise de Requisitos (planejamento), Projeto (modelagem), Implementação (desenvolvimento, construção), Testes e Implantação (validação, entrega). Também devem ser levados em consideração o como as etapas se relacionam ao longo do processo de desenvolvimento alguns modelos são: ➢ Cascata ➢ Em V ➢ Incremental ➢ Espiral LEVANTAMENTO DE REQUISITOS Esta atividade tem como objetivo, compreender o problema, dando aos desenvolvedores e usuários, a mesma visão do que deve ser construído para resolução do problema. Desenvolvedores e clientes, em conjunto, buscam levantar e priorizar as necessidades dos futuros usuários do software (necessidades essas denominadas como requisitos). O Levantamento de Requisitos é a etapa mais importante, no que diz respeito ao retorno de investimentos no projeto. Vários projetos são abandonados pelo baixo levantamento de requisitos, ou seja, membros da equipe não disponibilizaram tempo suficiente para essa fase do projeto, em compreender as necessidades dos clientes em relação ao sistema a ser desenvolvido. E como um sistema de informações geralmente é utilizado para automatizar processos de negócio em uma organização, esses processos da organização devem ser bem compreendidos para que o restante das atividades do processo de desenvolvimento flua de acordo com as reais necessidades do cliente. ANÁLISE DE REQUISITOS Esta etapa, também chamada de especificação de requisitos, é onde os desenvolvedores fazem um estudo detalhado dos dados levantados na atividade anterior. De onde são construídos modelos a fim de representar o sistema de software a ser desenvolvido. O interesse nessa atividade é criar uma estratégia de solução, sem se preocupar como essa estratégia será realizada, ou seja, utilizar as necessidades dos clientes, depois de compreendido o problema, para resolução do problema solicitado. Assim é necessário definir o que o sistema deve fazer, antes de definir como o sistema irá fazer. O que acontece com freqüência, é quando as equipes de desenvolvimento partem para a solução do problema do software, sem antes ter definido completamente o problema em Professor: João Paulo Colet Orso Turma: Carreiras PoliciaisData: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 3 questão. Nesta fase deve-se então realizar a validação e verificação dos modelos construídos, antes de partir para solução do problema. Validação: tem por objetivo, assegurar que o sistema de software está atendendo às reais necessidades do cliente; Verificação: verifica se os modelos construídos na análise estão em conformidade com os requisitos do cliente. PROJETO Nesta fase é que deve ser considerado, como o sistema funcionará internamente, para que os requisitos do cliente possam ser atendidos. Alguns aspectos devem ser considerados nessa fase de projeto do sistema, como: arquitetura do sistema, linguagem de programação utilizada, Sistema Gerenciador de Banco de Dados (SGBD) utilizado, padrão de interface gráfica, entre outros. No projeto é gerada uma descrição computacional, mencionando o que o software deve fazer, e deve ser coerente com a descrição realizada na fase de análise de requisitos. O projeto possui duas atividades básicas: projeto da arquitetura (ou projeto de alto nível), e projeto detalhado (ou projeto de baixo nível). Em um processo de desenvolvimento orientado a objetos, o projeto da arquitetura normalmente é realizado por um arquiteto de software. O projeto da arquitetura visa distribuir as classes de objetos relacionados do sistema em subsistemas e seus componentes, distribuindo também esses componentes pelos recursos de hardware disponíveis. Já no projeto detalhado, são modeladas as relações de cada módulo com o objetivo de realizar as funcionalidades do módulo. Além de desenvolver o projeto de interface com o usuário e o projeto de banco de dados. IMPLEMENTAÇÃO Nessa etapa, o sistema é codificado a partir da descrição computacional da fase de projeto em uma outra linguagem, onde se torna possível a compilação e geração do código-executável para o desenvolvimento software. Em um processo de desenvolvimento orientado a objetos, a implementação se dá, definindo as classes de objetos do sistema em questão, fazendo uso de linguagens de programação como, por exemplo: Delphi (Object Pascal), C++, Java, etc. Pode-se também utilizar na implementação ferramentas de software e bibliotecas de classes preexistentes para agilizar a atividade, como também o uso de ferramentas CASE, que dinamizam o processo de desenvolvimento, nas várias atividades, onde inclui-se geração de código-fonte, documentação, etc. TESTES Diversas atividades de testes são executadas a fim de se validar o produto de software, testando cada funcionalidade de cada módulo, buscando, levando em consideração a especificação feita na fase de projeto. Onde o principal resultado é o relatório de testes, que contém as informações relevantes sobre erros encontrados no sistema, e seu comportamento em vários aspectos. Ao final dessa atividade, os diversos módulos do sistema são integrados, resultando no produto de software. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 4 IMPLANTAÇÃO Por fim a implantação compreende a instalação do software no ambiente do usuário. O que inclui os manuais do sistema, importação dos dados para o novo sistema e treinamento dos usuários para o uso correto e adequado do sistema. Em alguns casos quando da existência de um software anterior, também é realizada a migração de dados anteriores desse software. (Fonte: https://www.devmedia.com.br/atividades-basicas-ao-processo-de- desenvolvimento-de-software/5413) PROGRAMAÇÃO Um programa de computador é uma série de ações a serem realizadas em decorrência de interações ou não com o usuário, por um ou mais algoritmos. Um algoritmo é um procedimento composto por uma série de instruções para resolver um problema, como na matemática, que ao ser concluído encerra produzindo um resultado correto, ou na montagem de um aeromodelo. Criar um algoritmo ou mesmo um programa inicia-se basicamente na estruturação da resolução do problema em etapas, como se estivesse definindo uma sequência de estados, análises para tomada de decisão e repetição de tarefas até que seja atingido o estado esperado. CONCEITOS BÁSICOS Uma linguagem de programação é uma linguagem com a qual o programador expressa as ações que o computador deverá executar, existem várias linguagens de programação e que são também classificadas por linguagem de alto nível ou baixo nível. Um programa de computador normalmente é desenvolvido em uma linguagem de alto nível, ou seja, uma linguagem que possua várias ferramentas, recursos e artifícios prontos para serem apenas utilizados de maneira mais simples pelo programador, sem que ele necessite definir toda sequencia que o hardware deverá executar detalhadamente, pois a linguagem de programação se encarrega dessas tarefas, são linguagens de alto nível: Java, Ruby, C, C++, Pascal, Basic, C#, Lisp, Prolog, JavaScript, PHP, VisualBasic, Phyton, Delphi, Cobol, Fortran, etc. Já uma linguagem de baixo nível é aquela que é executada diretamente pelo hardware, considerada pela maioria dos programadores como a mais difícil, talvez mais pela demanda de maior critério e empenho na programação, pois as linguagens de baixo nível normalmente são compostas por comandos mais simples e em pequena quantidade, enquanto que as de alto nível possuem inúmeras bibliotecas de opções e comandos. O principal exemplo de linguagem de máquina é o Assembler. Quando um programa é escrito ele precisa ser processado para então virar um programa, nesse caso o programa passa por um Compilador, ou seja, um tradutor de programas, que tem por fim básico transcrever a linguagem de alto nível na de baixo nível para ser executada pelo hardware. Contudo também existem os interpretadores, que operam juntamente com as linguagens interpretadas. PHP e JavaScript são exemplos de linguagens que são apenas interpretadas, ou seja, não passam por um compilador. Essas linguagens são utilizadas na criação de páginas para a Internet, logo o browser que utilizamos para visualizar as páginas nada mais é do que um Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 5 interpretador de código que lê o código do programa e, linha por linha, vai produzindo o resultado. LÓGICA DE PROGRAMAÇÃO São duas as principais lógicas de programação a mais usada é a lógica de Boolean que se baseia nos operadores aritméticos que produzem resultado VERDADEIRO ou FALSO, pois se aproxima a forma de operação do próprio computador na linguagem dos bits 0 e 1. A outra lógica é baseada nos conceitos da lógica de Fuzzi, também conhecida como lógica da relatividade, pois se baseia em relações e apresenta o conceito da indecisão, por exemplo quando é indagado a um grupo de pessoas com esta a temperatura do ambiente, as respostas podem variar em: está frio, está quente ou está bom. LINGUAGEM PYTHON Teste você mesmo https://repl.it/repls/LongLastingNotification CONCEITOS E CARACTERÍSTICAS Python é uma linguagem recomendada para quem quer iniciar o universo de programação por ser fácil de aprender pois possui sintaxe simples e clara, além de possuir um conjunto de bibliotecas padrão já incorporadas, diferente de muitas outras linguagens em que as bibliotecas precisam ser incluídas ou se torna necessário recorrer a bibliotecas de terceiros. A sintaxe do python é minimalista, ou seja, evita símbolos que possam poluir o código, o que leva quem está acostumado com linguagens como C, C++ e Java a confusão por não possuir inícios e fins de blocos, pois a identação do código é que determina esses fatores. Python é uma linguagem multiplataforma, ou seja, o mesmo código funciona tanto em Linux, como no Windows ou Mac Os. A linguagem é interpretada e seu interpretador é escrito em linguagem C e C++. Python é uma linguagem que conta ainda com as seguintes características:➢ Extensível: aceita a criação de novas bibliotecas; ➢ Escalável: de acordo com a necessidade do software em desenvolvimento; ➢ Multiparadigma: pode ser usado para desenvolver códigos orientados a objetos, bem como procedurais; ➢ Possui bibliotecas nativas para interfaces gráficas ➢ Banco de Dados: usa por padrão SQLite, mas pode usar outros por meio de bibliotecas. ➢ Fortemente Tipada. COMENTÁRIOS NA LINGUAGEM: Comentário inline uso de # no ínicio do comentário Comentário em várias linhas uso de 3 aspas simples, ou duplas, seguidas no início e 3 no fim Exemplos: https://repl.it/repls/LongLastingNotification Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 6 IDENTAÇÃO Para o Python a identação é fundamental, pois define os blocos de código (início e fim), para python além de funcional a identação permite que o código seja organizado. Note no exemplo anterior a função print(f) está mais à direita que o laço for indicando que está dentro do laço de repetição, para sair do laço basta retornar a identação ao mesmo nível do for. VARIÁVEIS Variável é um espaço de memória RAM que reservamos para armazenar valores temporários que estão sendo processados ou manipulados. Toda variável possui um NOME, TIPO e VALOR e ocupará um ESPAÇO de memória único. Uma vez definido o tipo de uma variável (na mesma execução) não é possível alterar seu tipo, o que classifica a linguagem como sendo fortemente tipada. Duas variáveis podem apontar para um mesmo endereço de memória. Nomenclatura das variáveis não pode usar nomes reservados, como nomes de funções, ou tipos, bem como, não se recomenda o uso de um nome de uma classe. Vale destacar ainda que o nome de uma variável não pode começar com um número, ou seja, 3var, 5texto, são nomes inaceitáveis para variáveis. Já os nomes var3 e texto5 são aceitos. Variáveis também não podem ter caracteres especiais em sua composição como o ç ou ã, um dos poucos que podem ser usados é o _ (underline), os caracteres a seguir não podem ser usados: ç, /, =, !, @, #, $, %, &, /, ( ), [ ], ^, ~, ´ (aspa simples ou dupla). Python é case sensitive. Tipos: ➢ String: sentenças de caracteres ➢ Inteiro ➢ Ponto flutuante Exemplos de tipos construtores em Python: ➢ int - para números inteiros ➢ str - para conjunto de caracteres ➢ bool - armazena True ou False ➢ list - para agrupar um conjunto de elementos Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 7 ➢ tupla - semelhante ao tipo list, porém, imutável ➢ dic - para agrupar elementos que serão recuperados por uma chave Listas e tuplas Listas e tuplas são similares, porém uma tupla não pode ter sua estrutura alterada. Para definir uma lista usamos colchetes enquanto que tupla usamos parênteses: Entrada de dados Para inserir dados usamos no Python 2.7 o comando raw_input() e no 3.7 apenas input(). O comando escreve um texto na tela e aguarda uma entrada, essa entrada deve ser guardada em uma variável para ser usada no programa. ESTRUTURAS DE PROGRAMAÇÃO A estrutura da programação é baseada em instruções ou comandos que definem o fluxo de realização das ações. Elas podem ser classificadas como: sequenciais, de decisão ou condicional e de repetição. Os fluxogramas a seguir ilustram a ideia das estruturas de controle. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 8 Observe que a condicional é a tomada de decisão diante de uma situação, expressa no esquema por um losango, que uma vez satisfeita (verdadeiro) realiza um seguimento caso contrário (falso) executa outra sequencia de instruções, podendo ou não ao final retornar para a mesma linha de execução. Existem vários formatos de laços de repetição, mas de forma objetiva e esquematizada é o desvio do fluxo normal para repetir comandos existentes, orientada por uma condição. A estrutura sequencial é baseada em comandos executados imperativamente sem mudar de curso, caso ocorra mudança conclui-se que um erro ocorreu. As estrutura de decisão utilizadas na programação são: ➢ SE-ENTÃO ➢ SE-ENTÃO-SENÃO ➢ “CASO” SE ENTÃO A estrutura é representada baseada em uma expressão lógica. Se <expressão lógica> então <faça/execute estas instruções> Se o resultado produzido pela expressão lógica for verdadeiro então a sequencia de instruções descritas na sequencia deve ser executada, mas se for falsa deve pular para a próxima instrução que esteja após o grupo de instruções da condicional. Sequência de execução Condicional Laço de Repetição Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 9 Sintaxe: if <condição lógica> : <instruções> <instruções> <instruções> (retorno da identação determina fim da sequência de instruções do if) SE ENTÃO SENÃO Similar ao se então, mas com mais um espaço para descrição de instruções caso a expressão lógica seja falsa. Se <expressão lógica> então <faça/execute estas instruções> Senão <faça/execute estas instruções> if <condição lógica> : <instruções> instruções instruções instruções Expressão lógica Verdadeiro Falso Expressão lógica Verdadeiro Falso Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 10 <instruções> else : <instruções> <instruções> (retorno da identação determina fim da sequência de instruções do if e else) CASO A estrutura caso é um comando de escolha dentre várias situações. Em python toma como base o elif if <condição lógica> : <instruções> <instruções> elif <condição lógica>: <instruções> <instruções> elif <condição lógica>: <instruções> <instruções> else: <instruções> <instruções> (retorno da identação determina fim da sequência de instruções do if) Exemplo LAÇOS DE REPETIÇÃO Os laços de repetição possibilitam a repetição de comandos, as estruturas de repetição são: ENQUANTO FAÇA (WHILE) Ela executa a sequencia de instruções enquanto a condição de controle for satisfeita (verdadeira). Nesse laço primeiramente é feita a comparação e somente são executadas os comandos se a condição for verdadeira. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 11 PARA ATÉ FAÇA (FOR ) Nesse laço há uma estrutura de controle que baseia-se no número de interações, ou seja, o número de vezes que se deseja que determinada sequencia de comandos seja executada. RECURSÃO A recursão também pode ser compreendida como um laço, mas que interage consigo própria, normalmente aplicada na forma de função. Essa técnica oferece excelentes soluções para muitos problemas. Para entender uma recursão podemos pensar no exemplo de um filho que é aguardado em casa pela “mãe” e a envia a seguinte mensagem “chegarei em casa em 10 minutos, se não tiver chego após esse tempo leia esta mensagem novamente.” OPERADORES As expressões lógicas usadas são baseadas em operadores da lógica de Boolean. Assim é possível utilizar proposições com conectivos lógicos: E, OU e NÃO, como comparar se um valor é ou não igual a outro, maior ou menor. Os símbolos utilizados para representar a lógica Boolena em um algoritmo variam de linguagem para linguagem, em python utilizam-se os seguintes símbolos: == (Igualdade)= (Atribuição) and (E logico) or (OU Logico) != (Diferente de) Há também as operações aritméticas Operação Operador adição + subtração - multiplicação * divisão / exponenciação ** parte inteira // módulo % FUNÇÕES PRINCIPAIS FUNÇÕES DA LINGUAGEM Random Para gerar valores aleatórios podemos usar a função random, para tanto é necessário importar a biblioteca.import random aleatorio = random.random() Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 12 print(aleatorio) a função random gera um valor aleatório entre [0 e 1[ Range Esta função retorna uma série numérica (intervalo) de acordo com o argumento passado por parâmetro. =range(10) Inicia em 0 e termina em 9 ➔ [0, 1, 2, 4, 5, 6, 7, 8, 9] =range(2,10) Inicia em 2 e termina em 9 ➔ [2, 4, 5, 6, 7, 8, 9] =range(2,10,2) Inicia em 2 e termina em 8, pulando de 2 em 2 ➔ [2, 4, 8] Try except Combinação try e except são usadas para tratar exceções. De modo que o bloco descrito em try é algo que se deseja executar, porém pode gerar erro, assim a cláusula except na sequência trata o erro para que a execução possa continuar. try: print(0/0) except ZeroDivisionError: print("Não dividirás por zero!") Listas A função len retorna o tamanho de uma lista, enquanto sum retorna a soma de seus elementos. Também podemos usar o append para adicionar um elemento ao final da lista. Para remover podemos usar o remove, porém ele remove o elemento que tiver o valor indicado. Função cout conta o número de ocorrências de um elemento na lista. A função sort retorna valores ordenados, por padrão em ordem crescente: Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 13 Temos também as funções max e min Print Para imprimir valores em ponto flutuante é possível determinar o número de casas decimais visíveis, para tanto usamos a seguinte expressão: Resultado será Note %d indica que ali terá um número inteiro, %f é um número em ponto flutuante, de modo que %2.3f apresenta o número de casas decimais visíveis para 3. Obs: %d trunca o valor enquanto %f arredonda. Para strings usa-se %s. Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 14 Lambda Um lambda permite criar uma função em uma variável sem precisar atribuir um nome para a função como o def faz. Veja o exemplo a seguir. ORIENTAÇÃO A OBJETOS A programação orientada a objetos é ordenada por classes que são as definições de um objeto, pode-se dizer que um objeto é uma classe instanciada. Para ficar mais claro imagine que se trata literalmente de um objeto, como um carro. Esse carro possui características, ou seja, um objeto as possui. Contudo também percebemos que o carro executa algumas funções de acordo com suas configurações, como: se estiver com a primeira marcha engatada, não frenado e soltar a embreagem ele tende a andar, claro se estiver ligado, com combustível e assim por diante, perceba que são muitas as variáveis de controle para que o objeto produza o resultado da iteração esperada. CLASSES Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 15 Linha 1: A criação de uma classe começa pelo uso da palavra reservada class, seguida do nome da classe e dois pontos; Linha 2: Aqui temos a definição do construtor da classe, que é um método especial chamado __init__. Como todo método em Python, sua declaração começa com def e entre parênteses estão os parâmetros, incluindo o parâmetro obrigatório self, que está presente em todos os métodos; Linhas 3 e 4: O corpo do método deve estar identado, como manda a sintaxe da linguagem. Aqui estamos apenas atribuindo os valores recebidos por parâmetro aos atributos da classe; Linhas 6 a 16: Criamos os métodos get e set de todos os atributos da classe Pessoa que serão responsáveis, respectivamente, por retornar ou modificar os atributos desta classe. (fonte: https://www.devmedia.com.br/como-criar-minha-primeira-classe-em- python/38912) HERANÇA Na Programação Orientada a Objetos o conceito de herança é muito utilizado. Basicamente, dizemos que a herança ocorre quando uma classe (filha) herda características e métodos de uma outra classe (pai), mas não impede de que a classe filha possua seus próprios métodos e atributos. Na Figura a seguir podemos ver, em nível de diagrama, como esta relação ocorre: Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 16 Linha 1: Como vamos herdar da classe Pessoa e ela foi definida em outro arquivo (pessoa.py), precisamos importá-la. Para isso usamos a instrução import e indicamos o nome do arquivo, sem a extensão .py, seguido do nome da classe que queremos importar; Linha 3: Para definir que uma classe herdará de uma outra classe, precisamos indicar o nome da classe pai entre parênteses após o nome da classe filha; Linha 4: Criamos o construtor da classe filha e definimos quais atributos ela espera receber. Neste caso, o nome e idade estão definidos na classe pai, enquanto o cpf é próprio da classe filha; Linha 5: Utilizando o método super, invocamos o construtor da classe pai. Com isso aproveitamos todo a lógica definida nesse método, que no caso faz a atribuição dos valores de nome e idade aos atributos da classe. Com isso garantimos que ao ser criada, a classe filha efetuará o mesmo processamento que a classe pai e mais alguns passos adicionais. Dessa mesma forma podemos criar a classe PessoaJuridica: LINGUAGEM R Recentemente, a Microsoft adquiriu a fornecedora Revolution Analytics, que é líder de softwares e serviços para a linguagem de programação R de código aberto. O interesse da Microsoft em adquirir este serviço reflete o interesse da comunidade, de forma que a linguagem R tem sido popularizada com o passar dos anos. Além da Microsoft, houveram contribuições da Oracle, que tem contribuído com pacotes R, além de fornecer o Oracle R Enterprise como um componente da Oracle Advanced Analytics. Devido ao presente suporte oferecido por grandes corporações, temos que o R oferece um valor comercial significativo para o mercado. POR QUÊ DEVEMOS UTILIZAR O R? A linguagem R foi criada com base na linguagem de programação S, criada na década de 70. O R foi criado como uma alternativa de código aberto por volta dos anos 90, sendo utilizada por cientistas, estatísticos e, mais recentemente, cientistas de dados como um meio conveniente para a análise exploratória de dados interativos. Ao contrário do que se imagina sobre a linguagem R, ela não é limitada a apenas sessões iterativas, pois devido ao fato de ser uma linguagem de programação, os scripts podem ser criados e empacotados como bibliotecas. As soluções com base em scripts fornecem resultados mais consistentes e confiáveis do que os Professor: João Paulo Colet Orso Turma: Carreiras Policiais Data: 15/05/2020 INFORMÁTICA MUDE SUA VIDA! 17 fluxos de trabalho tradicionais, que requerem uma grande quantidade de interações manuais com uma interface gráfica de usuário. Essa linguagem, muitas vezes, não é considerada como uma linguagem de programação, sendo mais comparada a um produto estatístico especializado, como é o caso do SAS. Este é um tema amplamente discutido quando se considera a manipulação de dados usando planilhas do Excel ou um banco de dados relacional como o servidor SQL. A linguagem R é mais usada para manipulação de conjuntos de dados de tamanho médio, análises estatísticas e produção de documentos e apresentações centradas em dados. Além disso, nos fornece uma ampla variedade de modelagens lineares e não lineares, testes estatísticos clássicos, análise de séries temporais, clustering, além de ser altamente extensível. Um dos pontos fortes do R é a facilidade que podemos ter com uma melhor qualidade em relação a plotagens bem desenhadas, inclusão de símbolos matemáticos e de fórmulas, quando estas passam a ser necessárias, já que o R é um conjunto integrado de facilidades de software voltado para manipulação de dados e exibição gráfica. Duas das maioresempresas presentes no mercado, Facebook e FourSquare, utilizam a linguagem R tanto para recomendações quanto para modelagem de comportamentos dos usuários. A linguagem R é uma linguagem de programação dinamicamente tipada, ou seja, podemos modificar os tipos de dados contidos em variáveis em programas que já estejam em execução, com isso, temos uma melhoria na hora de programarmos, pois não precisaremos realizar conversões dos tipos de dados. (fonte: https://www.devmedia.com.br/trabalhando-com-a-linguagem-r/33275)
Compartilhar