Entrega da Fase 1 - Projeto de Algoritmos e Estrutura de Dados Programação em RStudio

Disciplina de Analise de Dados

Centro universitario Celso Lisboa

Rio de Janeiro, 09 de marco de 2026

Aluno Daniel Aragao

Questão 1 - Dadas 3 variáveis com valores numéricos, apresentar o resultado da soma das combinações dois a dois destes três números. Por exemplo, variáveis A, B e C, mostrar A + B, A + C, B + C.

A <- 5 B <- 3 C <- 6

A + B ## Imprimindo o resultado A + C ## Imprimindo o resultado B + C ## Imprimindo o resultado

Questão 2 - Definir duas variáveis A e B e trocar seus valores. Ex: Entrada: A=6 e B=8 Saída: A=8 e B=6

A <- 6 B <- 8

Aux <- A A <- B B <- Aux

print(A) ## Imprimindo o resultado print(B) ## Imprimindo o resultado

Questão 3 - Converter uma temperatura de Fahrenheit para Centígrados. C = (F - 32) * ( 5 / 9 ).

f_temp <- 98.1

C = (F - 32) * (5 / 9) c_temp <- (f_temp - 32) * (5 / 9)

round(c_temp,2)

Questão 4 - Escrever um algoritmo que defina um número X e calcule:

## a)X³ - 4 X <- 5 resultado_a <- (5 ^ 3) - 4 print (resultado_a) ## Imprimindo o resultado da operação

O resto da divisão de X / 3

X <- 5 resultado_b <- X %% 3 print(resultado_b) ## [1] 2 (pois define apenas o módulo)

X(x/3) + 2

X <- 5 resultado_c <- X * (X / 3) + 2 print(resultado_c) ## [1] 10.33333

##d)Raiz quadrada de X2 X <- 5 resultado_d <- sqrt(X^2)

print(resultado_d) ## [1] 5

Questão 5 - Crie um vetor numérico com os números de 1 a 10 e armazene-o em uma variável chamada “numeros”. Em seguida, imprima o vetor.

numeros <- 1:10

print(numeros) ## [1] 1 2 3 4 5 6 7 8 9 10

Questão 6 - Crie um vetor de caracteres com os nomes dos dias da semana e armazene-o em uma variável chamada “dias”. Em seguida, imprima o vetor.

dias <- c(“Segunda”, “Terça”, “Quarta”, “Quinta”, “Sexta”, “Sábado”, “Domingo”)

print(dias) ## [1] “Segunda” “Terça” “Quarta” “Quinta” “Sexta” “Sábado” “Domingo”

Questão 7 - Crie uma matriz 3x3 com os números de 1 a 9 e armazene-a em uma variável chamada “matriz”. Em seguida, imprima a matriz.

matriz 3x3 com os números de 1 a 9

matriz <- matrix(1:9, nrow = 3, ncol = 3)

Imprimindo a matriz

print(matriz)

Questão 8 - Crie um data-frame com as informações de 3 pessoas: nome (caracter), idade (numérico) e cidade natal (caracter). Armazene o data-frame em uma variável chamada “pessoas” e imprima-o.

Data frame com as pessoas

pessoas <- data.frame( nome = c(“Daniel”, “Flavia”, “Livia”), idade = c(47, 38, 17), cidade_natal = c(“Rio de Janeiro”, “Queimados”, “Florianópolis”), stringsAsFactors = FALSE # Garante que os textos permaneçam como caracteres )

###Imprimindo resultado print(pessoas)

Questão 9 - Limpe as variáveis que estão no sistema e em seguida crie 3 variáveis, x, y e z e atribua valores numéricos para elas. Em seguida realize comparações entre elas (utilize TODOS os operadores de comparação (<. <. >=, <=, ==, !=).

Limpando as variáveis anteriores

rm(list = ls())

Criando 3 variáveis aleatórias

x <- 2 y <- 8 z <- 10

##Verificar as afirmações abaixo - comparaçõespara voltar com resultado TRUE se verdadeiro e FALSE se a resposta da afirmação não for verdadeira

#pergunta se x é maior que 2 x>2

pergunta se y é menor que 3

y<3

#pergunta se z é maior ou igual a 10 z>=10

#pergunta se z é maior ou igual a 10 z<=10

#pergunta se x é igual a z x==z

#pergunta se x é diferente de z x != z

Questão 10 - Limpe as variáveis que estão no sistema e em seguida crie 3 variáveis, “rua”, “numero” e “bairro” e atribua valores (texto) para elas. Em seguida concatene essas variáveis em uma terceira chamada “endereco”.

Limpando as variáveis anteriores

rm(list = ls())

Crinado as variáveis do endereço

Rua <- “Felix da Cunha” Número <- “26” Bairro <- “Tijuca”

endereco <- paste(Rua, Número, Bairro)

print(endereco)

Questão 11 - Elabore um algoritmo que:

#a) Crie um vetor com uma sequência de 10 números. vetor <- 1:10 print(vetor)

I) Utilize o comando “vetor <- c(1:10)” para criar o vetor.

II) Utilize o comando “for( i in 1:10) { …comandos}” para realizar a soma.

III) Referencie

soma_total <- 0

for (numero in vetor) { soma_total <- soma_total + numero }

print(soma_total)

Questão 12 - A partir do exercício anterior, faça a média dos valores contidos no vetor

media_manual <- soma_total / length(vetor) print(media_manual)

Questão 13 - Crie duas variáveis, x e y. Compare se x é maior que y. Se for, imprima “x é maior que y”, se não for, imprima “y é maior que x”.

a)A sintaxe do comando de comparação é: if (x > y) {comandos…} else {comandos}

b)O comando print(“texto ou variável”) imprime a resposta na tela.

x <- 5 y <- 30

if (x > y) { print(“x é maior que y”) } else { print(“y é maior que x”) }

Questão 14 - Repita o exercício 13 realizando os seguintes ajustes:

### Substitua o sinal de maior (“>”) pelo de menor ou igual (“<=”) e ajuste dos dizeres da resposta.

x <- 5 y <- 30

if (x <= y) { print(“x é menor ou igual a y”) } else { print(“x é maior que y”) }

Questão 15 - A partir do exercício 11, faça a soma somente dos números pares

## a) Utilize o comando “%%” para identificar o resto da divisão. Ex: “5%%2”, cinco dividido por dois terá como resto “1”. Ou seja, o resultado dessa operação será “1”. ## b) Utilize o comando de decisão “if” para saber se o número é par (o resto é zero) ou ímpar (o resto é 1). ## c) Crie uma variável auxiliara para guardar o resultado da soma.

Recrinado o Vetor

vetor <- c(1:10)

soma_pares <- 0

for (i in 1:10) {

if (vetor[i] %% 2 == 0) {

# Somando apenas se a condição acima for verdadeira
soma_pares <- soma_pares + vetor[i]

} }

print(soma_pares)

Questão 16 - Faça um algoritmo que calcule e imprima o fatorial de um número inteiro.

n <- 20

fatorial <- 1

if (n < 0) { print(“número negativo, não há fatorial.”) } else if (n == 0) { print(“O fatorial de 0 é 1.”) } else {

# Loop para multiplicar de 1 até o número n for (i in 1:n) { fatorial <- fatorial * i }

# Imprimindo o resultado final print(paste(“O fatorial de”, n, “é”, fatorial)) }

Observação sobre a questão 16, por ter escolido um número que seu fatorial é muito grande, tentei organizar a ficar com divisão de milhar, mas não consegui, conforme abaixo

# install.packages(“scales”) # Caso não tenha instalado

library(scales)

Questão 17 - Crie uma matriz 4x4.

## a) Uma matriz no R comporta somente um tipo de dado (número, texto ou boleano). ## b) O comando para criar a matriz é “x <- matrix(data = 1, nrow = 4, ncol = 4, byrow = TRUE)”

x <- matrix(data = 5 , nrow = 4, ncol = 4, byrow = TRUE)

print(x)

Questão 18 - Agora, crie uma matriz com a sequência de 1 a 16

x <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE) print(x)

Questão 19 - Transforme essa matriz em um data.frame

x <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE)

df <- as.data.frame(x)

print(df)

class(df)

Questão 20 - Utilizando os comandos de repetição e decisão, calcule:

## a) A média de uma coluna da matriz do exercício 18

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

soma_col1 <- 0 for(i in 1:4) { soma_col1 <- soma_col1 + x[i, 1] # i é a linha, 1 é a coluna } media_col1 <- soma_col1 / 4 print(paste(“Média da Coluna 1:”, media_col1))

b) A média de todas as colunas da matriz do exercício 18

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

for(j in 1:4) { soma_col <- 0 for(i in 1:4) { soma_col <- soma_col + x[i, j] } print(paste(“Média da Coluna”, j, “:”, soma_col / 4)) }

c) A média de todas as linhas da matriz do exercício 18

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

for(i in 1:4) { soma_lin <- 0 for(j in 1:4) { soma_lin <- soma_lin + x[i, j] } print(paste(“Média da Linha”, i, “:”, soma_lin / 4)) }

d) A média dos números pares de todas as colunas da matriz do exercício 18

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

soma_pares <- 0 cont_pares <- 0 for(j in 1:4) { for(i in 1:4) { if(x[i, j] %% 2 == 0) { soma_pares <- soma_pares + x[i, j] cont_pares <- cont_pares + 1 } } } media_pares <- soma_pares / cont_pares print(paste(“Média dos pares da matriz:”, media_pares))

e) A média dos números ímpares de todas as linhas da matriz do exercício 18

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

soma_impares <- 0 cont_impares <- 0 for(i in 1:4) { for(j in 1:4) { if(x[i, j] %% 2 != 0) { soma_impares <- soma_impares + x[i, j] cont_impares <- cont_impares + 1 } } } media_impares <- soma_impares / cont_impares print(paste(“Média dos ímpares da matriz:”, media_impares))

f) A soma da diagonal principal da matriz

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

soma_diag_princ <- 0 for(i in 1:4) { soma_diag_princ <- soma_diag_princ + x[i, i] } print(paste(“Soma da Diagonal Principal:”, soma_diag_princ))

g) A soma da diagonal secundária da matriz - DESAFIO

Nesta questão foi utilizado não apenas o material disponibilizado pelo professor mas também auxílio do Google Gemini, que dentre as opções a que melhor identifiquei, segue

x <- matrix(1:16, nrow = 4, ncol = 4, byrow = TRUE)

Soma da diagonal secundária

soma_secundaria <- sum(diag(x[, ncol(x):1]))

print(soma_secundaria) # Resultado: 34 (4 + 7 + 10 + 13)

Questão 21 - Repita o exercício 20 com os dados do data.frame do exercício 18.

x <- matrix(data = 1:16, nrow = 4, ncol = 4, byrow = TRUE) print(x)

d) Convertendo a matriz ‘x’ em um data.frame chamado ‘df’

df <- as.data.frame(x)

Visualizando a estrutura (confirmando os itens a, b e c)

str(df)

a) e b) Média de TODAS as colunas (fazendo a média de cada uma)

for (j in 1:4) { soma_col <- 0 for (i in 1:4) { soma_col <- soma_col + x[i, j] } print(paste(“Média da Coluna”, j, “:”, soma_col / 4)) }

for (i in 1:4) { soma_lin <- 0 for (j in 1:4) { soma_lin <- soma_lin + x[i, j] } print(paste(“Média da Linha”, i, “:”, soma_lin / 4)) }

d) Média dos PARES de todas as colunas

soma_p <- 0 cont_p <- 0 for (item in x) { if (item %% 2 == 0) { soma_p <- soma_p + item cont_p <- cont_p + 1 } } media_p <- soma_p / cont_p print(paste(“Média dos números pares:”, media_p)) ## [1] “Média dos números pares: 9” # e) Média dos ÍMPARES de todas as linhas soma_i <- 0 cont_i <- 0 for (item in x) { if (item %% 2 != 0) { soma_i <- soma_i + item cont_i <- cont_i + 1 } } media_i <- soma_i / cont_i print(paste(“Média dos números ímpares:”, media_i)) ## [1] “Média dos números ímpares: 8” # f) Soma da diagonal principal (onde linha == coluna) soma_diag_prin <- 0 for (i in 1:4) { soma_diag_prin <- soma_diag_prin + x[i, i] } print(paste(“Soma Diagonal Principal:”, soma_diag_prin))

Questão 22 - Crie um loop for que imprime os números de 1 a 10

for (i in 1:10) { print(i) }

Questão 23 - Crie um vetor numérico com os números de 1 a 100. Em seguida, crie um novo vetor que contenha apenas os números pares do vetor original

vetor_um <- 1:100

vetor_pares <- vetor_um[vetor_um %% 2 == 0]

print(vetor_pares)

Questão 24 - Crie uma função chamada “maior_elemento” que recebe um vetor numérico como argumento e retorna o maior elemento do vetor. Em seguida, teste a função com o vetor c(10, 5, 8, 2, 20, 15)

Primeiramente define-se a função

maior_elemento <- function(vetor) { # A função max() identifica o maior valor em um conjunto de dados resultado <- max(vetor) return(resultado) }

Criando o vetor de teste

meu_vetor <- c(10, 5, 8, 2, 20, 15)

print(maior_valor)