ensino de matemática e física com o r · operadores matemáticos dentro deste ambiente. construir...

27

Upload: others

Post on 30-Jan-2020

4 views

Category:

Documents


1 download

TRANSCRIPT

  • Instituto Federal de Educação, Ciência e Tecnologia de Rondônia -IFRO

    Campus Ji-Paraná

    O�cina para Semana da FísicaXIII Semana de física - UNIR

    Profo Me. Gleison Guardia

    Ensino de Matemática e Física com o R

    Ji-Paraná - 2019

  • ii

  • Sumário

    1 Introdução 8

    2 Software R 11

    2.1 Conhecendo o R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.1.1 Principais características . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    2.2 Instalando o R e o RStudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3 Operadores matemáticos no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4 Variáveis no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.5 Vetores no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.6 Grá�cos no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.7 Exercícios do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    3 Funções 23

    3.1 De�nição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2 Funções no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.3 Função Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.4 Exercícios do Capítulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    iii

  • iv SUMÁRIO

  • Lista de Figuras

    2.1 Logo do R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Site do Projeto R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3 Escolhendo o Repositório mais próximo . . . . . . . . . . . . . . . . . . . . . . . 132.4 Escolhendo o sistema operacional . . . . . . . . . . . . . . . . . . . . . . . . . . 132.5 Instalando R para o Sistema Windows . . . . . . . . . . . . . . . . . . . . . . . 132.6 Fazendo o download da última versão . . . . . . . . . . . . . . . . . . . . . . . . 132.7 Versão direta no console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.8 Site do RStudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.9 RStudio - download para desktop . . . . . . . . . . . . . . . . . . . . . . . . . . 142.10 RStúdio - pacote gratuíto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.11 RStudio - Versão de Sistema Operacional . . . . . . . . . . . . . . . . . . . . . . 152.12 RStudio - visão da IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.13 Variável armazenado na memória do R . . . . . . . . . . . . . . . . . . . . . . . 192.14 Variáveis armazenadas na memória do R . . . . . . . . . . . . . . . . . . . . . . 202.15 Exemplos de Grá�cos no R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    v

  • vi LISTA DE FIGURAS

  • Lista de Tabelas

    2.1 Tabela de ordem de precedência na programação . . . . . . . . . . . . . . . . . . 18

    vii

  • viii LISTA DE TABELAS

  • Capítulo 1

    Introdução

    A proposta desta o�cina e mostrar que uma ferramenta de análise matemática e estatís-tica pode ser usada como ferramenta de apoio ao ensino de matemática e física, bem como,desenvolver no aluno o raciocínio lógico e a lógica de programação, esta ultima, ferramentaimprescindível para o cidadão do futuro, que queira atuar com a ciência ou se relacionar como mundo moderno.

    Sou um professor com formação em matemática1 e apaixonado pela ciência da computação,acredito que está seja uma evolução da aprendizagem humana e que a programação é o próximoestágio do raciocínio fundamental de qualquer pessoa. Cada vez mais cedo, as crianças devemter contato com este nível aprofundado da lógica matemática, o que permitirá um evoluçãotecnológica e cientí�ca em crescente exponencial.

    Pesquisas apontam que o programador será uma pro�ssão que terá uma demanda gigantescano futuro, algo como em torno de 1 milhão de postos de trabalho não ocupados só no EstadosUnidos da América para o ano de 20202, seguindo o ritmo em que são formados os pro�ssionaisdesta área. Esta informação era tão preocupante que o próprio presidente Barack Obama fezum discurso a nação pedindo aos americanos que se dediquem a ciência da programação parao crescimento do país3.

    O grande físico Michio Kaku, um dos mais renomados físicos vivos e principal estudioso daTeoria das Cordas, em seu livro intitulado "A Física do Futuro"[?], ao falar em seu tópico sobreas barreiras da singularidade, discorrendo sobre o momento em que o homem e a máquina terãoas mesmas capacidades, aponta o motivo pelo qual estarmos tão longe destas conquistas:

    (...)embora o hardware possa evoluir de forma exponencial, o softwarenão pode. Enquanto hardware cresceu a capacidade para gravar cadavez mais transistores menores em uma pastilha, o software é totalmentediferente, que exige que um ser humano tome assento com um lápis eum papel e comece a escrever o código. Esse é o gargalo: os humanos.Software, como toda atividade humana criadora, avança aos trancos ebarrancos, com ideias brilhantes e longos trechos de labuta e estagna-ção. Ao contrário de simplesmente atacar com mais transistores emsilício, que tem crescido como um relógio, software depende da impre-visibilidade da criatividade humana e capricho.(MICHIO KAKU, 2011,p. 118)

    1Currículo disponível em http://lattes.cnpq.br/30814883418169972informação disponível em: https://olhardigital.com.br/noticia/

    em-2020-havera-1-milhao-de-vagas-disponiveis-para-programadores-nos-eua/321303vídeo disponível em: https://www.youtube.com/watch?v=zKkfF1QthZc

    8

    http://lattes.cnpq.br/3081488341816997https:// olhardigital.com.br/ noticia/ em- 2020- havera- 1-milhao- de- vagas- disponiveis- para- programadores-nos-eua/ 32130https:// olhardigital.com.br/ noticia/ em- 2020- havera- 1-milhao- de- vagas- disponiveis- para- programadores-nos-eua/ 32130https://www.youtube.com/watch?v=zKkfF1QthZc

  • 9

    Acredito que aprenderemos juntos muitas informações a aplicações interessantes durante ocurso. Iremos aprender e trocar experiências sobre os conhecimentos matemáticos e físicos, con-ceitos de ensino e aprendizagem, bem como explorar uma ferramenta que permitirá desenvolverum raciocínio lógico e uma abordagem tecnológica dos conteúdos.

    Gleison Guardia

  • 10 CAPÍTULO 1. INTRODUÇÃO

  • Capítulo 2

    Software R

    Pensamos essa disciplina de Matemática e Estatística aplicada, que possui caráter de revisarconceitos e aprofundar o raciocínio lógico, não tratar-se somente de uma revisão massante damatemática que aprendemos nos 13 anos (mínimo) de educação básica pelo qual passamos atéaqui. Neste sentido, em busca de aprimorar e aplicar os conceitos matemáticos, que são defundamental importância para a ciência da computação, encontrei no software R a maneira dedesenvolver esse objetivo nas aulas, possível desde a primeira até a última do presente curso.

    Com a �nalidade de melhor entendermos seu funcionamento, este capítulo dedica-se a re-visar sua história, mostrar sua instalação e o RStudio, fazer comandos básicos e entender osoperadores matemáticos dentro deste ambiente. Construir variáveis e vetores, operar com eles efazer seus primeiros grá�cos com linguagem de programação. Assim, convido-os para aprenderuma nova linguagem, a linguagem estruturada do R para programação matemática e estatística.

    2.1 Conhecendo o R

    Disponível para diversos sistemas operacionais, Unix/Linux, Windows e MAC, o R é hojeconsiderado a melhor plataforma para análise de dados [?], manipulação, entendimento e visu-alização grá�ca1. Criado originalmente por Robert Gentleman e Ross Ihaka [?] na universidadede Auckland, Nova Zelândia, por isso seu nome que começou sendo R & R devido as inici-ais de seus autores, que posteriormente �cou apenas como R. Hoje é desenvolvido por váriascomunidades e pessoas em todo o mundo2.

    Baseado na linguagem S da Bell Laboratories, (Antiga AT&T), seus comandos podem serutilizados na íntegra tanto do R no S como do S no R[?]. Devido sua grande comunidade[?],possui uma vasta biblioteca que permite códigos e funções para quase todo tipo de necessidadede seu usuário. Trata-se de uma ferramenta de código aberto, sob a licença GNU, motivo peloqual seu crescimento e aprimoramento é gigantesco e rápido. Trata-se de uma linguagem ampla-mente utilizada por programadores, cientistas, analistas de dados, o que permite e popularizasua difusão pelo mundo[?].

    2.1.1 Principais características

    São estas, as principais características que podemos apresentar do R, apontadas por Matos2018 [?]:

    • Fornece acesso completo aos algoritmos e sua implementação;

    1veja : https://pt.wikipedia.org/wiki/R2disponível em: https://www.r-project.org/contributors.html

    11

    https://pt.wikipedia.org/wiki/Rhttps:// www.r-project.org/ contributors. html

  • 12 CAPÍTULO 2. SOFTWARE R

    • Fornece um fórum permitindo aos pesquisadores explorar e expandir os métodos utilizadospara analisar dados;

    • É o produto de trabalho de mais de 1000 especialistas nas áreas de estatística e análisede dados;

    • Permite que Cientistas de todo o mundo � e não apenas os dos países ricos � possam teracesso as ferramentas de software necessárias para realizar pesquisas;

    • Promove a investigação reprodutível (código criados como funções, podem ser reproduzi-dos), fornecendo ferramentas abertas e acessíveis;

    Abaixo apresentamos a logo que é símbolo da linguagem R, que é fácil e notável entre osarquivos e permitirá que todo arquivo neste formato possa ser identi�cado imediatamente pelousuário:

    Figura 2.1: Logo do R

    Na próxima seção iremos aprender a instalar o R e o RStudio no seu computador, queservirá de base para todos os procedimentos seguintes..

    2.2 Instalando o R e o RStudio

    Como já mencionamos anteriormente, o R é um software livre e gratuito, sendo assim,devemos apenas ir no seu site o�cial para fazer o download de seu pacote básico que servirá paraas primeiras operações. Toda vez que ele for executar uma função que não está disponível emseu pacote, ele mesmo irá buscar na internet e completar sua biblioteca. Para iniciarmos, iremosacessar o site https://www.r-project.org/, onde teremos acessos a toda a documentação. A�gura 2.2, mostra a página inicial do site:

    O R Project é o site o�cial do software R, nele todas as informações sobre o R e suascomunidades podem ser encontradas. Na sequência deve-se clicar no link download R, na novapágina são apresentados os repositórios por ordem de países, permitindo se fazer o download deum servidor mais próximo. Assim, procure o Brasil, a �gura 2.3 irá apresentar qual repositóriose deve buscar.

    Temos neste momento várias opções para escolhermos, mas neste caso, optaremos pela USP-Piracicaba, fazendo-se esta seleção. Iremos ser direcionados para uma nova janela, onde deveráser escolhida o sistema operacional de seu computador, veja a �gura 2.4 que exempli�ca estaação.

    Neste exemplo iremos fazer download para o sistema Windows, como pode ver na �gura2.4, o site irá lhe enviar para uma página de instalação dedicada ao seu sistema operacional,

    https://www.r-project.org/

  • 2.2. INSTALANDO O R E O RSTUDIO 13

    Figura 2.2: Site do Projeto R

    Figura 2.3: Escolhendo o Repositório mais próximo

    Figura 2.4: Escolhendo o sistema operacional

    �gura 2.5. Deve-se clicar no link install R for the �rst time, e ele lhe lhe mostrará as versõesdisponíveis.

    Figura 2.5: Instalando R para o Sistema Windows

    Nesta estapa, devemos escolher a última versão do R e o sistema irá fazer o download, �gura2.6, após ele terminado, segue-se padrão das instalações normais para qualquer software.

    Figura 2.6: Fazendo o download da última versão

    Este software que instalado no seu computador é o R, ele permite que você possa utilizar osistema direto no console, �gura 2.7 e mesmo tendo a vantagem de ser direta, tem a desvantagem

  • 14 CAPÍTULO 2. SOFTWARE R

    de não permitir criar grandes scripts3, que serão necessários em nossa aula ou em uma umaanálise mais detalhada de um banco de dados.

    Figura 2.7: Versão direta no console

    Para melhorar nosso desempenho e a curva de aprendizagem4, iremos adotar a IDE - Inte-grated Development Environment5, que permitirá o acesso e disposição a vários recursos desen-volvidos para o R. O ambiente mais difundido e utilizado para o R é o RStudio, disponível emhttps://www.rstudio.com/; a �gura 2.8 apresenta esta parte inicial do site.

    Figura 2.8: Site do RStudio

    Na sequência, você irá clicar em produtos e escolher RStudio, conforme �gura 2.8 apre-senta. Deverá descer até a parte inferior da página, onde encontra-se o botão para Downloadpara Desktop, �gura 2.9, que é a nossa �nalidade, embora existam plataformas para outrosdispositivos, porém não são gratuitas.

    Figura 2.9: RStudio - download para desktop

    Após termos seguindo as recomendações da �gura 2.9, veremos na �gura 2.10 uma variedadede recursos para a plataforma de Desktop, o que nós levará a escolher a opção gratuita paraa nossa �nalidade, mas quem tiver empresas ou centro de pesquisas, podem escolher outrospacotes que possuem recursos especí�cos para essas pro�ssões.

    3Roteiro4Termo utilizado para descrever o tempo necessário para se assimilar uma linguagem.5Ambiente de Desenvolvimento Integrado

    https://www.rstudio.com/

  • 2.2. INSTALANDO O R E O RSTUDIO 15

    Figura 2.10: RStúdio - pacote gratuíto

    Ao escolher a versão gratuita, iremos ser direcionados a última página de nossa escolha,�gura 2.11, que possibilita escolher o sistema operacional para a utilização, existem várias ver-sões para determinados tipos de plataformas, a que exempli�caremos como dito anteriormente,será a do Windows.

    Figura 2.11: RStudio - Versão de Sistema Operacional

    Embora apareça apenas uma versão para o Windows, ela contempla todos os as versões quesurgiram a partir do Windows 7. O download será feito, e a instalação seguirá os passos daanterior. Uma vez em seu computador e instalado, você irá buscar o ícone do RStudio e abriro programa. A Figura 2.12 apresenta um visão de sua IDE aberta e pronta para uso.

    Figura 2.12: RStudio - visão da IDE

    Nela, pode-se ver sua divisão em quatro partes, sendo elas móveis e podendo ser con�guradaspara tamanhos e posições que agradem o usuário. A parte superior esquerda, �gura 2.12,representa o ambiente onde poderão ser feitos os códigos e linhas de programação sem que osistema o execute de imediato. Assim, permite que longas linhas de códigos sejam feitas etestadas a posterior. Para executar uma linha devemos apenas clicar no botão Run6, ou usar oatalho do teclado Ctrl + Enter, que a linha onde o cursor estiver será executada pelo consoledo R. Se quiser executar várias linhas seguidas, deverá selecionar a área desejada e fazer omesmo procedimento.

    6Signi�ca em tradução livre: "Corra"

  • 16 CAPÍTULO 2. SOFTWARE R

    Na parte inferior esquerda, temos o console do R, nesta IDE o R é somente uma das 4 facesdisponíveis. Toda vez que uma linha de código for executada, será no console que o resultadoaparecerá. Assim, deve-se estar atento as informações que ele apresenta, pois mensagens deerros também serão impressos no console.

    No canto superior direito, temos a região destinadas as variáveis, vetores, funções, etc. Todocomando executado, criando-se alguma informação que deva ser armazenada na memoria dosistema, irá aparecer neste local, nele teremos de informações básicas sobre elas podendo serconsultadas a qualquer momento. Na parte inferior direita, temos as bibliotecas, onde aparecemtodos os pacotes e recursos disponíveis, podendo ser instalados ou utilizado durante a execuçãode algum código.

    Esta região inferior direita, também é utilizada para a plotagem dos grá�cos, um recurso doR que é imprescindível. O R gera seus grá�cos em vários formatos, mas, o mais interessante eutilizado é o formato pdf ou EPS7. Ambos possuem alta resolução e sua construção é vetorial,que implica dizer, zoom in�nito. Permite que os grá�cos disponham de alta precisão nãoimportando o tamanho do banner, post, telão que irá apresentá-los, a resolução será perfeita,dependendo mais do recurso do computador ou projetor que estiver sendo utilizado.

    2.3 Operadores matemáticos no R

    O R pode ser utilizado como calculadora ou fazer cálculos matemáticos complexos quesejam necessários. Para tal, e como em qualquer linguagem, a base inicial de sua programação éaprender como os operadores matemáticos funcionam, e como é sua sintaxe. Nesta seção iremosnos dedicar a este tema, fazendo exemplos, demostrando as principais operações e propondoexercícios que estarão na seção �nal do capítulo.

    X Adição: A sintaxe de adição é a semelhante à operação matemática tradicional, assim:

    > 1+2 # operação

    [1] 3 # Resultado

    >

    X Subtração: também tem a mesma sintaxe matemática:

    > 1-2 # Operação

    [1] -1 # Resultado

    >

    X Multiplicação: neste caso, utiliza-se o ∗ como sinal da operação:

    > 2*3 # Operação

    [1] 6 # Resultado

    X Divisão: neste caso, utiliza-se o / como sinal da operação. Existem vários tipos de divisãodisponíveis dentro da programação. Vejamos:

    7Encapsulated PostScript

  • 2.3. OPERADORES MATEMÁTICOS NO R 17

    1. Divisão Real: Divisão usual matemática que estamos habituados:

    > 5/2

    [1] 2.5

    2. Divisão Euclidiana: Método pelo qual aparece apenas o valor inteiro da divisão.Usa-se o símbolo %/%:

    > 5%/%2 # esse recurso é muito utilizado em programação

    [1] 2

    3. Divisão do Resto: Método pelo qual aparece apenas o valor resto da divisão. Usa-seo símbolo %%:

    > 5%%2 # esse recurso é muito utilizado em programação

    [1] 1

    X Potenciação: Para as potências, utiliza-se o ^ ou ∗∗ como sinal da operação, ambas sãoamplamente utilizadas:

    > 5^2

    [1] 25

    > 5**2

    [1] 25

    X Radiciação: Para as raízes, temos duas condições, que são as seguintes:

    1. Raízes Quadradas: Para as raízes mais simples (quadradas), utilizamos o comandosqrt(Squar Root):

    > sqrt(64)

    [1] 8

    2. Raízes Qualquer: neste caso, utilizamos o conceito de potência racional de um nú-mero:

    > 64**(1/2) # Raíz quadrada de 64

    [1] 8

    > 64**(1/3) # Raíz cúbica de 64

    [1] 4

    > 64**(1/4) # Raíz quarta de 64

    [1] 2.828427

    > 64**(1/5) # Raíz quinta de 64

    [1] 2.297397

    > 64**(1/6) # Raíz sexta de 64

    [1] 2

  • 18 CAPÍTULO 2. SOFTWARE R

    X Ordem de Precedência: Para as operações matemáticas, o R utiliza alguns critérios quedeterminam qual ordem de resolução deve ser seguida. Abaixo estão as relações por or-dem de resolução:

    Ordem Simbolo Signi�cado

    1o ( ) Parenteses2o ** e sqrt Potências e Raízes3o * e / Multiplicação e Divisão4o + e - Adição e Subtração

    Tabela 2.1: Tabela de ordem de precedência na programação

    Observe que a sintaxe do R possui pouca diferença para a que normalmente estamos acos-tumados. No �nal deste capítulo existem alguns exercícios para serem feitos, que permitemvocê praticar estes operadores.

    2.4 Variáveis no R

    Outro conceito muito poderoso que é utilizado em programação é o conceito de variável.Variável como já foi estudado na nossa vida acadêmica, remete-se a um valor algébrico querepresenta ou pode representar qualquer outro valor. Trata-se do famoso x que sempre buscamosnas operações algébricas e nas funções. Na programação, a variável permite que um valor, ouresultado de operação possa ser armazenado, operado ou até demonstrado por uma letra.

    Existem duas formas de atribuir um valor a uma variável dentro do R, ambas são utilizadosem diversas linguagem de programação. Pode-se utilizar o símbolo =, que em programação lê-serecebe, ou o mais comum no R que é 5+x # adição com x

    [1] 10

    > 2*x # produto com x

    [1] 10

    > x**2 # potência com x

    [1] 25

    > sqrt(x) # Radiciação com x

    [1] 2.236068

  • 2.5. VETORES NO R 19

    Observe que ao atribuir um valor a x, todas as operações são possíveis, utilizando a variávelx. Quando esta atribuição é executada no R ele armazena no canto superior direito a variávele dispoem de informações sobre ela. Ela irá permanecer disponível até que seja removida damemória do programa. A �gura 2.13 mostra a parte da tela do RStudio que apresenta a variávelarmazenada.

    Figura 2.13: Variável armazenado na memória do R

    No �nal da secção existe um exercício destinado a este tema, não deixe de fazê-lo.

    2.5 Vetores no R

    Nesta seção iremos abordar o conceito de vetor no R. Vetores são variáveis com mais deuma dimensão, ou seja, uma variável que armazena mais que um valor, ou palavra. Exitemalgumas maneiras de se declarar vetores no R, e todas as operações que antes eram feitas comuma variável, sendo o vetor numérico, também poderá ser operacionalizado como uma variávelsimples. Vejamos alguns casos.

    A maneira mais comum de se declarar um vetor é utilizando a sintaxe x DiasSemana DiasSemana

    [1] "Domingo" "Segunda" "Terça" "Quarta" "Quinta" "Sexta" "Sábado"

    Veja, que os nomes devem estar dentro de aspas para terem validade, este é uma condiçãode qualquer linguagem de programação. Toda vez que chamarmos o vetor, DiaSemana,os valores irão ser utilizados pelo R;

    • Vetor Numérico Sequencial: Este vetor permite que armazene-se sequencias de nú-meros com variação de 1 unidade. Veja o exemplo:

    > x x

    [1] 1 2 3 4 5 6 7 8 9 10

    8Tradução: combinar

  • 20 CAPÍTULO 2. SOFTWARE R

    Observe que a sequência de 1 até 10 dos números inteiros, foram adicionados ao vetor x.Assim, toda vez que quisermos operacionalizar com x, todos esses valores serão operaci-onalizados.

    • Vetor numérico aleatório: Permite armazenar números que não estejam na mesmasequência, usa-se a sintaxe dos vetores de palavras, porém, sendo números não precisamdas aspas. Veja a sintaxe abaixo:

    y y

    [1] 1 4 5 2 6 10 3

    A �gura 2.14, apresenta o armazenamento dos vetores novos até agora implementadas pelosistema.

    Figura 2.14: Variáveis armazenadas na memória do R

    Algo interessante com os vetores são que podemos operacionalizar eles como variáveis. Vejaos exemplos apresentados abaixo:

    > 2+y

    [1] 3 6 7 4 8 12 5

    > 5*x

    [1] 5 10 15 20 25 30 35 40 45 50

    > x^2

    [1] 1 4 9 16 25 36 49 64 81 100

    > 3*y**2+4*y

    [1] 7 64 95 20 132 340 39

    Cada operação aplicada ao vetor é diretamente distribuída aos seus elementos, assim, operarum vetor é operacionalizar com cada elemento interno deste vetor. Na seção destinadas aosexercícios temos algumas atividades para serem feitas. Não deixe de fazê-las.

    2.6 Grá�cos no R

    Os grá�cos no R possuem uma característica que distingue o R de outros softwares mate-máticos. Ele, como já mencionamos, tendo como padrão de armazenamento o formato pdf ouEPS, permitem uma dimensão muito grande para trabalhos acadêmicos e pro�ssionais. Outracaracterística são as qualidades dos grá�cos feitos e sua vasta utilização. A �gura 2.15 apresentamodelos e exemplos das possibilidades de se trabalhar com este software9.

    Apresentaremos aqui, alguns comandos básicos para os primeiros grá�cos que iremos fazer,e com o passar das aulas do curso, iremos nos especializando na confecção de grá�cos maiselaborados.

    9Acesso em : http://www.c2o.pro.br/hackaguas/apr.html

    http://www.c2o.pro.br/hackaguas/apr.html

  • 2.7. EXERCÍCIOS DO CAPÍTULO 21

    Figura 2.15: Exemplos de Grá�cos no R

    • Gra�co de Dispesão: Para este grá�co utilizamos o comando plot();

    • Grá�co de Setores: Para este grá�co a sintaxe utilizada é pie();

    • Grá�co de Barras: A sintaxe utilizada é barplot();

    • Grá�co de Caixa: Sintaxe de construção boxplot()

    • Histograma: Sintaxe de construção para este tipo de grá�co é hist().

    Na seção de exercícios, poderá experimentar essa sintaxes com os vetores criados. Não deixede fazer eles e testar outras combinações.

    2.7 Exercícios do Capítulo

    Esta seção é destinadas aos exercícios do capítulo. É importante que você possa fazer todoseles, pois, permitirá que se desenvolva e aprenda melhor o conteúdo. Todos devem ser feitosdentro do R e fazem parte das atividades a serem desenvolvidas em sala.

    1. Resolva as seguintes operações no R, e veja qual o resultado �nal:

    (a) 2 + 4− 5(b) −3 + 7− 2(c) −3 ∗ 4(d) 2 · 5 + 4(e) −35 + 4 · 6(f) (−3 + 7)2 −

    √36

    (g) 2 · 5√1024

    (h) Resto da divisão de 73

    (i) Valor inteiro da divisão de 156

    2. Declare uma variável x e atribua a ela o valor −4, declare outra variável y e atribua a elao valor 5 e declare a variável z atribuindo a ela o valor 3. Faça o que se pede:

    (a) x− 5

  • 22 CAPÍTULO 2. SOFTWARE R

    (b) 2 · x2

    (c)√y + 2

    (d) z5 − z3

    (e) x+ y − z(f) xy

    (g) x∗zsqrt(y)

    3. Construa um vetor de armazene os nomes dos meses do ano.

    4. Construa um vetor a que receba os números inteiros de -5 a 5.

    5. Construa um vetor b que receba os 11 primeiros número primos.

    6. Calcule:

    (a) 2 · a(b) −4 · b(c) a2 −

    √a

    (d) a · b

    7. Faça os seguintes grá�cos:

    (a) Grá�co de dispersão do vetor a;

    (b) Grá�co de caixa do vetor b;

    (c) Grá�co de barras do vetor a*a;

    (d) Grá�co de setores do vetor 2a;

    (e) Histograma do vetor b;

  • Capítulo 3

    Funções

    O presente capítulo aborda so conceitos fundamentais que constituem a programação, aideia de uma função é a principal relação entre entrada e saída que expressa um algorítimo esua realidade dentro de uma linguagem. Ela aborda e permeia o conceito de causa e efeito,que foi a base para o desenvolvimento moderno.

    Dentre deste capítulo estudaremos sua de�nição, sua aplicabilidade direta na programaçãoe construiremos vários modelos no software R para exempli�ca-la. Na sequência termos ostópicos que servirão de roteiro para nossas aulas.

    3.1 De�nição

    O conceito de função, basicamente refere-se a dependência de duas variáveis, uma chamadade y ou f(x) e a outra de x. Neste sentido dizemos que Função é uma relação de y em relaçãoa x, onde y depende estritamente de x, e para todo x apresentado, y terá uma solução. Emmatemática expressamos:

    f(x) se ∀ x ∈ R ∃ y ∈ R

    Sendo assim, função é uma relação de dois conjuntos, ditos, domínio e imagem, onde xrepresenta o domínio e y representa a imagem. Em notação temos : f(x) é uma relação

    de�nida Af−→ B, onde x ∈ A e y ∈ B.

    3.2 Funções no R

    Como não poderia ser diferente, esta relação é repassada para o software R ou qualquer outralinguagem, onde nós podemos operar o domínio, aqui chamado de Entrada com a imagem,

    chamado saída. Logo, a relação de função dentro da programação será o conceito de Entradaf−→

    Sada.O comando no R que permite a construção de uma função é o comando function e iremos

    amplamente usá-lo a partir de agora. Ele permitirá a relação de entrada e saída, condicionandoa mudança da entra, com a mudança da saída. Observe os exemplos:

    1. Construa um algorítimo que permite encontrar a área de um quadrado, tendo a área emfunção do lado: Veja como �ca o Script:

    Quadrado = function(l){

    aq = l*l

    23

  • 24 CAPÍTULO 3. FUNÇÕES

    cat("A área do quadrado de lado", l, "é igual à", aq, "metros quadrados")

    }

    Observe, que ele �ca condicionado dentro de uma função, permitindo que possamos operá-la apenas pelo vetor denominado:

    Quadrado(5)

    > Quadrado(5)

    A área do quadrado de lado 5 é igual à 25 metros quadrados

    Quadrado(6)

    > Quadrado(6)

    A área do quadrado de lado 6 é igual à 36 metros quadrados

    A função também permite que possamos trabalhar com mais de uma variável diferente,neste sentido, vejam o seguinte exemplo:

    2. Construa um algorítimo que possa calcular a área de uma retângulo, tendo como funçãode entrada a base e a altura, e como saída a área da região.

    Retangulo = function(b,h){

    ar = b*h

    cat("A área do retangulo de base", b, "e altura", h, "é igual à",ar,

    "metros quadrados")

    }

    na aplicação teste:

    Retangulo(b=5, h=6)

    > Retangulo(b=5, h=6)

    A área do retangulo de base 5 e altura 6 é igual à 30 metros quadrados

    Seguindo os exemplos acima, propomos alguns exercícios disponível na seção 3.4. Faça oexercício 01 para aprimorar a manipulação das entradas e saídas de uma função.

    3.3 Função Aplicações

    Agora que entendemos como uma função pode ser representada no R, a partir deste mo-mento, podemos explorar as in�nitas possibilidades de seu uso. Tanto na matemática como nafísica, esta possibilidade permite que o aluno construa ferramentas e simulações para variadostipos de exercícios e assuntos.

    Vejamos exemplos dessas aplicações:

  • 3.3. FUNÇÃO APLICAÇÕES 25

    • Um comerciante que vende certo tipo de produto, chegou a uma conclusão que sua des-pesa é de�nido pelo custo operacional de manipulação (compra e limpeza do produto,embalagem), acrescido do custo �xo de aluguel do ponto comercial para vendê-lo. Assim,sendo seu custo operacional de R$5,42 por produto e R$ 500,00 de aluguel, faça o que sepede:

    � Escreva a função que representa o custo do comerciante:

    � Se ele vender 500 itens deste produto, qual será seu custo?

    � Se ele vender 1200 itens deste produto, qual será seu custo?

    � Se cada produto é vendido por R$ 12,00, melhore sua função, incluindo nela o lucrode venda por produto.

    � Qual foi seu lucro na venda dos produtos dos itens anteriores?

    � No mês de Outubro, ele vendeu 5427 itens deste produto, sabendo-se que ele teveque pagar R$ 450,00 de energia e R$ 350,00 de combustíveis no mês, sobrou dinheiropara ele? se sim, quanto?

    � Se ele teve um lucro �nal no mês de Setembro de R$ 22 201,00, quantos produtosele vendeu?

    • José um estudante de ensino médio sempre �cou intrigado com a equação da queda livredos corpos, neste mundo onde as pessoas acham que a terra é plana, ele descon�a que dealgumas teorias físicas, e assim propôs um experimento para ter certeza que altura, pesoe gravidade podem ou não interferir na velocidade e tempo de queda de um corpo ao solo.Ele pegou as duas fórmulas: - a da velocidade em função da altura de queda de um corpov2 = 2gh onde v é velocidade em (m/s), g é a força da gravidade e h é a altura em (m) ;

    Também temos a equação da em função do tempo h =gt2

    2, t é o tempo em (m/s). Assim

    sendo, faça o que se pede:

    � Determine uma função matemática que possa correlacionar a velocidade de quedade um corpo, em função das variáveis, altura, gravidade e massa:

    � Determine uma função matemática que possa correlacionar o tempo de queda de umcorpo, pelas variáveis, altura, gravidade e massa;

    � faça os seguintes testes:

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 9, 8m

    s2e h = 10m.

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 10kg, g = 9, 8m

    s2e h = 10m.

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 15kg, g = 9, 8m

    s2e h = 10m.

    ∗ Responda: A massa interfere na velocidade e no tempo de queda de um corpo?

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 9, 8m

    s2e h = 10m.

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 10m

    s2e h = 10m.

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 11m

    s2e h = 10m.

  • 26 CAPÍTULO 3. FUNÇÕES

    ∗ Responda: A gravidade interfere no tempo e velocidade de queda de um corpo?

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 9, 8m

    s2e h = 10m.

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 9, 8m

    s2e h = 15m.

    ∗ Qual o tempo de queda e a velocidade de um corpo ao atingir o solo, tendom = 5kg, g = 9, 8m

    s2e h = 20m.

    ∗ Responda: A altura interfere no tempo e velocidade de queda de um corpo?

    3.4 Exercícios do Capítulo

    Nesta seção propomos alguns exercícios para �xação:

    1. Dada as equações abaixo, transforme-as em algorítimos que possam automatizar as suasaplicações:

    (a) Área do triângulo: A =b · h2

    (b) Área do Paralelogramo A = b · h

    (c) Área do trapézio A =(b+B) · h

    2

    (d) Área do Losango A =D · d2

    (e) Área do Cículo A = π · r2

    (f) Volume do paralelepípedo V = b · h · l

    (g) Volume do Prisma V =b · h · l

    3

    (h) Volume do Cilindro V = π · r2 · h

    (i) Volume do Cone V =π · r2 · h

    3

    (j) Volume da Esfera V =4

    3πr3

    2. Faça uma pesquisa, construa um código que possa em um único resultado apresentar todasas informações que se seguem, referentes a uma empresa que trabalha com materiais deconstrução. Neste sentido, o cliente irá informar o comprimento e a altura de uma parede,e o sistema deve calcular e apresentar as seguintes informações:

    (a) Quantos metros quadrados a parede terá? (adote como sendo uma parede retangular)

    (b) Quantos tijolos serão necessários para construir esta parede?

    (c) Quantos metros de areia serão necessários para construir e rebocar esta parede?

    (d) Quantos sacos de cimento serão necessário para construir e rebocar esta parede?

    (e) Quantos litros de tinta serão necessários para pintar esta parede?

    IntroduçãoSoftware RConhecendo o RPrincipais características

    Instalando o R e o RStudioOperadores matemáticos no RVariáveis no RVetores no RGráficos no RExercícios do Capítulo

    FunçõesDefiniçãoFunções no RFunção AplicaçõesExercícios do Capítulo