1001793 - Fundamentos e
Programação de Computadores
Conceitos básicos
Prof. Gilberto Rodrigues Liska
UFSCar
CCA
Material de Apoio
e-mail: [email protected]
Local: DTAiSeR, Ramal 2664
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 1 / 32
Programa R
Sumário
1 Programa R
2 Primeiros usos
3 Criando Scripts
4 Módulo da Divisão
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 2 / 32
Programa R
O programa R
• O R é uma linguagem orientada a objetos criada
em 1996 por Ross Ihaka e Robert Gentleman,
do Departamento de Estatı́stica da Universidade de
Auckland na Nova Zelândia, como uma alternativa
ao software S-Plus, o qual exigia o pagamento de
uma licença para seu uso.
• O programa R é de livre distribuição, foi inspirado no
mesmo ambiente do S e permite a manipulação de
dados, realização de cálculos e geração de gráficos.
• Seu uso tem aumentado nos últimos anos e usuários
de todo o mundo têm contribuı́do com o desenvol-
vimento de novos recursos para o R.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 3 / 32
Programa R
O programa R
Figura 2: Evolução da criação de pacotes
no programa R.
Figura 1: Mudança da preferência de uso
de diversos programas computacionais.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 4 / 32
Programa R
Algumas empresas/organizações que patrocinam
e fazem uso do R
Fonte: https://rstudio.com/
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 5 / 32
Programa R
O programa R
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 6 / 32
Programa R
O programa RStudio
• Tendo em vista a crescente difusão do R em nı́vel
mundial, o grupo RStudio, fundado em 2008, inspi-
rados pela inovação dos usuários do R em ciência,
educação e indústria, desenvolveram uma ferra-
menta gratuita que permite uma melhor experiência
entre usuários e hardware, nomeada de RStudio TM ,
como fruto dos projetos desenvolvidos pela Foun-
dation for Open Access Statistics, Boston, Estados
Unidos
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 7 / 32
Programa R
O programa RStudio
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 8 / 32
Programa R
Instalando os programas
Instalando o R
1 no site https://www.r-project.org/
2 no menu CRAN, escolher o espelho (mirror) Brasil
no link http://cran-r.c3sl.ufpr.br/
3 clicar em Download R for Windows, subdiretório
base e baixar o programa em Download R 3.3.1 for
Windows
Instalando o RStudio
1 no link https://www.rstudio.com/products/
rstudio/download3/
2 escolher de acordo com a plataforma utilizada
3 No caso do sistema Windows, clicar em RStudio
0.99.903 - Windows Vista/7/8/10
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 9 / 32
Programa R
Bibliografia prática
• DALGAARD, P. Introductory Statistics with R. New York, NY: Sprin-
ger New York, 2008. doi 10.1007/978-0-387-79054-1
• OLIVEIRA, P. F.; GUERRA, S.; MCDONNELL, R. Ciência de Da-
dos com R: Introdução. Brası́lia: Editora IBPAD, 2018. (dis-
ponı́vel on line em https://www.ibpad.com.br/o-que-fazemos/
publicacoes/introducao-ciencia-de-dados-com-r/)
• TATTAR, P. N.; RAMAIAH, S.; MANJUNATH, B. G. A course in
Statistics with R, John Wiley & Sons, 2016.
• VERZANI, J. Getting Started with RStudio, O’Reilly Media, Inc.,
2011.
• FERREIRA, E. B.; OLIVEIRA, M. S. Introdução à estatı́stica básica
com R. Alfenas-MG:Editora Universidade Federal de Alfenas, 2020,
194 p. Disponı́vel em pdf em https://www.unifal-mg.edu.br/
portal/2020/12/30/
• TORGO, L. Introdução à programação em R (apostila), Universidade
do Porto, Portugal, 2006. Disponı́vel em pdf para download em
http://arquivoescolar.org/handle/arquivo-e/93
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 10 / 32
Primeiros usos
Sumário
1 Programa R
2 Primeiros usos
3 Criando Scripts
4 Módulo da Divisão
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 11 / 32
Primeiros usos
Uma primeira sessão com o R
• Vamos começar com algo bas-
tante simples, que é fazer um
cálculo.
• Na tela 3, no prompt de comando
(onde o cursor está piscando) di-
gite 10/5.
• Para executar o comando, deve-
mos teclar Enter.
• Veja que uma nova linha foi cri-
ada, só que algo aconteceu. Foi
impresso na tela o resultado da
conta 10/5, cujo resultado é 2. Figura 3: Tela do Exemplo 1.
No R:
10/5
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 12 / 32
Primeiros usos
Uma primeira sessão com o R
• Vamos utilizar agora uma função
simples do R.
• Vamos calcular a raiz quadrada
de 9.
• Na tela 3, no prompt de comando
digite sqrt(9).
• Execute, clicando Enter.
• O que aconteceu?
No R:
sqrt(9)
Figura 4: Tela do Exemplo 2.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 13 / 32
Primeiros usos
Uma primeira sessão com o R
Pedindo ajuda para o R
• O comando anterior requer uma No R:
informação, que colocamos entre ?sqrt
parênteses.
• A função sqrt(9) tem como ar-
gumento o número 9.
• No R é possı́vel obter
mais esclarecimentos so-
bre uma função com o co-
mando ?nome da função ou
help(nome da função) Figura 5: Tela do Exemplo 3.
• Na tela 3, Digite ?sqrt e execute.
• O que aconteceu?
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 14 / 32
Primeiros usos
Uma primeira sessão com o R
Pedindo ajuda para o R OBS.:
Veja que apareceu algo na tela 4. Essa tela é de grande utilidade no
Nesta tela, algumas informações im- R, especialmente os exemplos!
portantes são exibidas:
• Nome da função (em negrito).
• Descrição da função (Descrip-
tion).
• Sintaxe da função (Usage).
• Argumentos da função (Argu-
ments).
• Detalhes
• Veja também (See also)
• Exemplos (Examples)
Figura 6: Tela do Exemplo 3.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 15 / 32
Primeiros usos
Uma primeira sessão com o R
Atribuindo objetos no R
• É de grande utilidade armazenar alguma
informação (número, vetor, matriz etc.) em
algum objeto no R.
• Isso permite otimizar os recursos do pro-
grama, não tendo que digitar novamente o
objeto armazenado toda vez que precisar dele.
• Em várias rotinas no R essa tarefa constitui
um passo necessário na programação.
• Qualquer objeto armazenado ficará disponı́vel Fonte: https://pixabay.com/
images/id-3689669/
na memória do programa.
• IMPORTANTE: o nome do objeto pode ser
qualquer letra ou sequência de letras e o R
diferencia letras maiúsculas de minúsculas.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 16 / 32
Primeiros usos
Uma primeira sessão com o R
Atribuindo objetos no R
• Vamos armazenar uma amostra No R:
de 5 números. x = c(2, 3, 4, 5.1, 3.2)
• Considere os números: 2, 3, 4,
5.1, 3.2
• Vamos chamar um objeto de “x”
e armazenar a amostra nesse ob-
jeto.
• Na tela 3, Digite:
x = c(2, 3, 4, 5.1, 3.2)
• Clique Enter.
• O que aconteceu? Figura 7: Tela do Exemplo 4.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 17 / 32
Primeiros usos
Uma primeira sessão com o R
Atribuindo objetos no R
• Veja que apareceu algo na tela 2.
• No caso, diz que na memória
do R tem um objeto x, do tipo
numérico (num), com cinco ele-
mentos e mostra quais são eles.
• Se quisermos ver o objeto x no
console, basta digitar x e Enter
No R:
x = c(2, 3, 4, 5.1, 3.2)
x
# alternativamente Figura 8: Tela do Exemplo 5.
z = c(2.4, 1.3, 3.4, 2.1, 5.7);z
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 18 / 32
Criando Scripts
Sumário
1 Programa R
2 Primeiros usos
3 Criando Scripts
4 Módulo da Divisão
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 19 / 32
Criando Scripts
Arquivos externos
Criando um script
• Até o momento, digitamos tudo diretamente
na tela 3 do R (prompt de comando).
• O prompt de comando do R é interessante
quando estamos programando, mas imagina
ter que digitar novamente todos os códigos
para poder executá-lo?
• Chega um momento que usar apenas o
prompt se tornará inviável, uma vez que pode-
mos nos perder facilmente sobre algum código Fonte: https:
que foi/não foi digitado. //pixabay.com/images/id-1300226/
• Por isso, para resolver este problema podemos
criar scripts (ou rotinas) especı́ficos.
• Ou seja, vamos trabalhar com a tela 1 no R.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 20 / 32
Criando Scripts
Arquivos externos
Criando um script
• SUGESTÃO: Crie uma pasta es-
pecı́fica em seu computador para
guardar os scripts de R. Sugestão de
nome: rotinas-R-aluno
• IMPORTANTE: para nomes de ar-
quivos, evite caracteres especiais e
nomes com acentos.
• Vá em File ⇒ New File ⇒ R Script.
• Será aberta uma nova tela, onde
você poderá escrever os novos co-
mandos. Figura 9: Criando um script no R.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 21 / 32
Criando Scripts
Arquivos externos
Criando um script
• Então escreva os comandos anteriores
em tela. Neste caso, estamos traba-
lhando no modo script do R.
• Para executar um comando a partir da
tela 1, clique com o cursor na linha que
se quer executar, no nosso caso a li-
nha 1, e clique no botão Run ou ctrl
+ enter.
• Repita esse procedimento para todas
as linhas, terminando na linha 4, como
pode ser visto nas figuras 10 e 11. Figura 10: Script do exemplo 5.
• SUGESTÃO: Vamos salvar este ar-
quivo na pasta que criamos “rotinas-
R-aluno”.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 22 / 32
Criando Scripts
Arquivos externos
Criando um script
• IMPORTANTE: Veja que para cada
linha executada a partir da tela 1, a
mesma linha é projetada para a tela 3 e
é impresso na tela o resultado da linha
de comando.
• Salve o arquivo com o nome rotina-
aula1.
• O script criado é salvo com a extensão
“rotina-aula1.r”.
• Com isso, o arquivo salvo pode ser le-
vado pra casa, ser compartilhado e/ou Figura 11: Execução do script do
editado. exemplo 5.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 23 / 32
Criando Scripts
Arquivos externos
Criando um script
• Feche o programa. Abra o arquivo salvo
em File ⇒ Open File ⇒ procure o script
no computador.
• Irá abrir a tela inicial. Execute no-
vamente o arquivo salvo apertando o
botão Run ou ctrl + enter
• Podemos executar o mesmo script (pro-
grama) várias vezes.
• OBS.: Na linha 3 do script, usamos o
#. Veja que tudo que estiver na frente
de # fica verde, porque o R interpreta Figura 12: Abrindo um script no
isso como texto, e não como linha de R.
comando. Isso é muito útil para fazer
comentários no script.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 24 / 32
Criando Scripts
Prática
Exercı́cio
• Crie um novo script no R e execute os comandos
abaixo. Tente entender o que cada linha de co-
mando faz.
• Utilize o comando de ajuda no R quando necessário.
• Utilize o comentário (#) quando necessário.
• No R:
x = c(2, 3, 4, 5.1, 3.2); x Fonte: https://pixabay.
y <- c(x,0,1,x); y com/images/id-4997565/
# veja que = faz a mesma coisa que <-
z <- c(2.4, 1.3, 3.4, 2.1, 5.7)
w <- 2*x+z+1; w
rx <- range(x); rx
lx <- length(x); lx
x1 <- seq(from=1, to=10, by=0.5); x1
xr1 <- rep(x,times=5); xr1
xr2 <- rep(x,each=5); xr2
x[2:5]
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 25 / 32
Módulo da Divisão
Sumário
1 Programa R
2 Primeiros usos
3 Criando Scripts
4 Módulo da Divisão
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 26 / 32
Módulo da Divisão
Módulo da Divisão
• O Módulo da Divisão é o operador que ex-
trai o resto da divisão. A linguaguem em
R, bem como a maioria das linguagens de
programação, disponibiliza um operador para
este fim.
• Matematicamente, o módulo da divisão é for-
malizado por
y = w mod x , (1)
que significa que y é o módulo (resto) da di- Fonte: https://pixabay.com/
images/id-1300226/
visão de x por w .
• O sinal de porcentagem % é o operador
módulo em várias linguagens de programação.
No R, o comando é %%
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 27 / 32
Módulo da Divisão
Módulo da Divisão
Uma das utilidades do operador
módulo é a possibilidade de identi- Crie um script (tela 1) no R. Essa
ficar números pares e ı́mpares. operação é feita da seguinte forma.
Copie e cole os códigos abaixo no
Exemplo 1 seu script.
Vamos resolver a seguinte Exemplo 1 (a) no R
operação envolvendo módulo da #### forma 1
divisão: num1=10
num2=3
divisao=num1/num2; divisao
3 mod 10 resto=num1%%num2; resto
SOLUÇÃO:
Não é difı́cil de perceber que ao
dividir 10 por 3, teremos como re-
sultado o número 1.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 28 / 32
Módulo da Divisão
Módulo da Divisão
• Existem várias formas de fa-
zer o procedimento anterior
no R, mas todas utilizando o Exemplo 1 (b) no R
%%. #### forma 2
modm=function(num1, num2){
• Será apresentada uma outra
divisao=num1/num2
forma de se fazer esse pro- resto=num1%%num2
cedimento, que é o uso de
funções. return(list(divisao=divisao,
resto=resto))
• A ideia de apresentar essa ou- }
tra possibilidade é, no mo- modm(10,3)
mento, de apenas mostrar a #tente mais uma vez com os números 9 e 3
flexibilidade que o R apre- modm(9,3)
senta para programação.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 29 / 32
Módulo da Divisão
Observações
• Qual a diferença entre os procedimentos feitos no Exemplo 1 (a)
e (b)?
• No Exemplo 1 (a), toda vez que quisermos utilizar o módulo
da divisão, temos que eleger os objetos num1 e num2 e executar
as quatro linhas de comando.
• No Exemplo 1 (b), uma vez construı́da a função, chamada de
modm, toda vez que quisermos utilizar o módulo da divisão,
basta executar apenas a última linha do código informando os
dois números dos quais se deseja fazer a operação.
• IMPORTANTE: A principal vantagem do que foi feito no exem-Fonte: https://pixabay.
plo 1 (b) é tornar a usabilidade do programa R mais fluı́da, nãocom/images/
id-1184858/
tendo que repetir os mesmos comandos toda vez que se quiser
fazer uma operação.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 30 / 32
Módulo da Divisão
Módulo da Divisão
Números pares Exemplo 2
• Podemos saber se um número Para ilustrar a ideia e utilizando o
é par com o uso do operador módulo da divisão, vamos resolver
módulo, para isto, basta ve-
rificarmos se a divisão possui 2 mod 15
resto, ou melhor, se o valor SOLUÇÃO:
retornado é diferente de zero. Não é difı́cil de perceber que ao dividir
• Isso significa que uma 15 por 2, teremos como resultado o
condição pode ser imposta número 1, o que indica que o número
ao programa, de tal modo é ı́mpar.
que o programa, ao realizar
Exemplo 2 (a) no R
a divisão por 2, informa se o
num1=15
número é par ou ı́mpar. num2=2
divisao=num1/num2; divisao
resto=num1%%num2; resto
[1] 1
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 31 / 32
Módulo da Divisão
Módulo da Divisão
• Com um raciocı́nio Exemplo 2 (b) no R
análogo ao feito no Exem- num1=16 # digite o número
if(num1%%2==0)
plo 1 (b), podemos fazer print("Número par") else
a mesma coisa com esse print("Número ı́mpar")
exemplo 2
• QUESTÃO: E se ## mais elegante
modmpar=function(num1){
quiséssemos que o pro- num2=2
grama automaticamente
if(num1%%num2==0)
identifique se o número é print(paste("O número", num1,"é par"))
par ou ı́mpar? else
print(paste("O número", num1,"é ı́mpar"))
• RESPOSTA: Precisa- }
mos impor estruturas modmpar(16)
condicionais.
• Copie e cole o código ao
lado e veja o que acontece.
Gilberto R. Liska ( UFSCar ) Notas de Aula CCA 32 / 32