Menu
Coddy logo textTech

Geração de Sequências (seq, :)

Parte da seção Fundamentos do Journey de R da Coddy — lição 43 de 78.

Você tem usado 1:5 para criar sequências em seus loops. Este operador de dois pontos é rápido e simples, mas o R também fornece a função seq() para mais controle sobre suas sequências.

O operador de dois pontos cria uma sequência de inteiros consecutivos:

print(1:5)
print(10:6)

Saída:

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

Observe que a sequência pode seguir em qualquer direção. Quando o primeiro número é maior, ela faz a contagem regressiva.

A função seq() oferece mais flexibilidade. Você pode especificar um tamanho de passo usando o argumento by:

print(seq(2, 10, by = 2))

Saída:

[1] 2 4 6 8 10

Isso cria números pares de 2 a 10.

Você também pode especificar quantos números deseja usando length.out:

print(seq(1, 10, length.out = 4))

Saída:

[1] 1 4 7 10

O R calcula automaticamente o espaçamento para fornecer exatamente 4 números uniformemente espaçados. Ambas as abordagens funcionam perfeitamente em loops, permitindo que você itere por sequências personalizadas com facilidade.

challenge icon

Desafio

Fácil

Leia três números da entrada: start, end e step.

Use a função seq() para gerar uma sequência de start até end com o tamanho de step fornecido. Em seguida, use um loop for para iterar por esta sequência e imprimir o quadrado de cada número.

Cada valor ao quadrado deve ser impresso em sua própria linha usando print().

Por exemplo, se as entradas forem 2, 10 e 2, a saída deve ser:

[1] 4
[1] 16
[1] 36
[1] 64
[1] 100

Isso ocorre porque a sequência 2, 4, 6, 8, 10 é gerada, e cada número é elevado ao quadrado.

Folha de consulta

O operador de dois pontos : cria sequências de números inteiros consecutivos:

1:5  # cria 1 2 3 4 5
10:6  # cria 10 9 8 7 6 (contagem regressiva)

A função seq() fornece mais controle sobre sequências:

# Especifica o tamanho do passo com 'by'
seq(2, 10, by = 2)  # cria 2 4 6 8 10

# Especifica o número de valores com 'length.out'
seq(1, 10, length.out = 4)  # cria 1 4 7 10

Tanto o operador de dois pontos quanto a função seq() funcionam em loops for:

for (i in seq(2, 10, by = 2)) {
  print(i)
}

Experimente você mesmo

# Ler entrada
con <- file("stdin", "r")
start <- as.numeric(suppressWarnings(readLines(con, n = 1)))
end <- as.numeric(suppressWarnings(readLines(con, n = 1)))
step <- as.numeric(suppressWarnings(readLines(con, n = 1)))

# TODO: Escreva seu código abaixo
# 1. Use seq() para gerar uma sequência de start até end com o step fornecido
# 2. Use um loop for para iterar através da sequência
# 3. Imprima o quadrado de cada número usando print()
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Fundamentos