Exercícios
Sessão 1: Operadores e operações básicas
1- Em um experimento de valor de cultivo e uso (VCU) na cultura do milho, as parcelas são constituídas de duas linhas de quatro metros, espaçadas 0,60 m, totalizando 6 plantas por linha. As alturas das plantas foram respectivamente (em metros): 1,45; 1,73; 1,98; 2,10; 2,03; 1,65; 2,15; 1,63; 1,53; 1,98; 2,05; 1,52.
a)Crie um vetor altura com os valores acima;
b)Calcule a altura média;
c)Calcule a variância das alturas;
Respostas:
Para visualizar a resposta basta mover o cursor em cima do “Alerta de spoiler!”
b)1.816667
c)0.06540606
2- Na disciplina de Genética foram avaliados altura e peso dos 10 alunos, sendo 5 meninas e 5 meninos. Veja a tabela abaixo com os respectivos valores:
Nome | Peso (kg) | Altura (m) |
---|---|---|
Maria José | 72 | 1,65 |
Mariana | 57 | 1,68 |
Fernanda | 49 | 1,53 |
Jéssica | 62 | 1,7 |
Carolina | 57 | 1,52 |
Paulo | 90 | 1,82 |
Marcos | 53 | 1,63 |
João Paulo | 76 | 1,78 |
Geraldo | 63 | 1,72 |
Pedro | 92 | 1,98 |
a)Calcule o IMC de cada aluno, segundo a fórmula: \(IMC = \frac{peso}{altura^2}\)
b)Calcule o IMC médio da sala.
c)Calcule a variância do IMC.
d)Calcule o desvio padrão do IMC.
Respostas:
a)26.44628 20.19558 20.93212 21.45329 24.67105 27.17063 19.94806 23.98687 21.29529 23.46699
b)22.95662
c)6.665578
d)2.581778
3 - Resolva a equação: \(2x^2 + 8x + 6 = 0\), utilizando a fórmula de Bhaskara. Lembrando que: \(x = \frac{-b\pm\sqrt{\Delta}}{2a}\); \(\Delta=b^2 - 4ac\)
Resposta:
-3 -1
Sessão 2: Classe de objetos
1 - Carregue o conjunto de dados chamado “mtcars” (attach(mtcars)).
a)Verifique a classe do objeto “mtcars”
b)Verifique a classe das colunas “hp” e “cyl”
c)Verifique a classe do nome dos carros. (rownames)
Respostas:
a)“data.frame”"
b)“numeric” “numeric”
c)“character”
2 - Utilizando o mesmo conjunto de dados do exercício anterior, calcule:
a)A média da coluna “hp”.
b)Modifique a classe da coluna “hp” para fator e calcule a média novamente.
c)Compare os resultados obtidos nas letras a e b, e relate as diferenças entre eles.
Respostas:
a)146.6875
b)NA e um warning
3 - Crie um vetor de uma amostra da distribuição Normal com comprimento 30000, média 20 e desvio padrão 5. Antes de criar o vetor, utilize set.seed(123456).
a)Qual o somatório das observações no vetor que são maiores que 30?
b)E o somatório das observações menores que a média?
c)Excluir a menor observação do vetor.
Respostas:
a)2610.638
b)23976.86
c)apenas o “head”: 24.16867 18.61976 18.22499 20.43744 31.26128 24.17230
c)O valor mínimo: 1.170791
Sessão 3: Estruturas condicionais e de repetição
1 - Crie um programa para testar se o número 17933 é divisível por 79. Você pode testar a divisibilidade entre dois números usando o operador
%%
, que captura o resto da divisão entre dois números.
Respostas:
“Divisível por 79”
2 - Crie um programa para testar se o número 17933 é primo. Para que um número seja primo, ele deve ser divisível apenas por 1 e por ele mesmo.
Respostas:
“Não é primo”
3 - Aproveitando o código anterior diga quais números são primos entre 150 e 200.
Respostas:
151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199
4 - Utilize a expressão abaixo para gerar médias de produtividade, considerando 50 genótipos de soja, de forma aleatória:
Suponhamos que a média nacional de produtividade de soja seja de 3500.00 kg/ha. Utilizando estruturas condicionais, verifique se os genótipos apresentam valores acima ou abaixo da produtividade média nacional, retornando as frases “acima da média” ou “abaixo da média”, respectivamente.
Respostas:
[1] “acima da média” “abaixo da média” “abaixo da média” “acima da média” “acima da média” “acima da média” [7] “acima da média” “acima da média” “acima da média” “abaixo da média” “abaixo da média” “abaixo da média” [13] “abaixo da média” “acima da média” “acima da média” “acima da média” “abaixo da média” “acima da média” [19] “acima da média” “acima da média” “abaixo da média” “acima da média” “acima da média” “acima da média” [25] “acima da média” “abaixo da média” “acima da média” “acima da média” “acima da média” “abaixo da média” [31] “abaixo da média” “acima da média” “abaixo da média” “abaixo da média” “abaixo da média” “abaixo da média” [37] “acima da média” “acima da média” “acima da média” “abaixo da média” “abaixo da média” “acima da média” [43] “acima da média” “abaixo da média” “acima da média” “abaixo da média” “abaixo da média” “abaixo da média” [49] “acima da média” “abaixo da média”
Sessão 4: Funções
Utilize o conjunto de dados disponível abaixo para gerar médias de produtividade, considerando 25 genótipos de soja avaliados em 15 ambientes, de forma aleatória:
set.seed(123456)
dados = data.frame(Genotypes = rep(seq(1,25,1), 15), Environments = rep(x = seq(1:15), each = 25), yield = rnorm(375, 3000:3500, 800))
Elabore uma função para calcular as médias e o coeficiente de variação (\(CV = \frac{\mu}{\sigma}*100\)) em cada ambiente, e também avaliar a precisão experimental (até 20% = alta; entre 20 e 30% = média; acima de 30% = baixa). A função deve retornar os resultados contendo a identificação de cada ambiente, as médias, os CV’s e as precisões.
Pode ser que a essa altura do curso você ja tenha que ter trabalhado com diversas frustrações: o código não roda, precisou de várias tentativas até dar certo. Talvez você se sinta caindo naquele gráfico de andamento do aprendizado que mostramos na apresentação teórica. Por isso, colocamos aqui alguns vídeos motivacionais. São três palestras TED excelentes (como costuma ser os TEDs).
Esses dois tem legenda em portugues. É só ajustar as configurações:
Teach girls bravery, not perfection | Reshma Saujani Especial para mulheres. Fala como aprender a programar nos educa a lidarmos melhor com nossas frustrações e nos desvia da cultura imposta de perfeição.
Mitch Resnick: Let’s teach kids to code O palestrante é um dos desenvolvedores do programa Scratch, que consiste num jogo que ensina lógica de programação. O palestrante destaca a importância de aprender alguma linguagem de programação dos dias de hoje.
Esse só em inglês:
- You Should Learn to Program: Christian Genco at TEDxSMU Destaca os impactos de saber programar no dia-a-dia.