Menu
Coddy logo textTech

Генерация последовательностей (seq, :)

Часть раздела Основы путешествия по R на Coddy — урок 43 из 78.

Вы использовали 1:5 для создания последовательностей в ваших циклах. Этот оператор двоеточия быстрый и простой, но R также предоставляет функцию seq() для большего контроля над вашими последовательностями.

Оператор двоеточия создает последовательность последовательных целых чисел:

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

Вывод:

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

Обратите внимание, что последовательность может идти в любом направлении. Когда первое число больше, она ведет обратный отсчет.

Функция seq() дает вам больше гибкости. Вы можете указать размер шага, используя аргумент by:

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

Вывод:

[1] 2 4 6 8 10

Это создает четные числа от 2 до 10.

Вы также можете указать, сколько чисел вам нужно, используя length.out:

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

Вывод:

[1] 1 4 7 10

R автоматически вычисляет интервалы, чтобы получить ровно 4 равномерно распределенных числа. Оба подхода отлично работают в циклах, позволяя вам с легкостью перебирать пользовательские последовательности.

challenge icon

Задание

Легко

Прочитайте три числа из входных данных: start, end и step.

Используйте функцию seq() для генерации последовательности от start до end с заданным размером шага step. Затем используйте цикл for для итерации по этой последовательности и выведите квадрат каждого числа.

Каждое возведенное в квадрат значение должно быть напечатано на отдельной строке с помощью print().

Например, если входные данные равны 2, 10 и 2, вывод должен быть следующим:

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

Это происходит потому, что генерируется последовательность 2, 4, 6, 8, 10, и каждое число возводится в квадрат.

Попробуйте сами

# Чтение входных данных
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: Напишите свой код ниже
# 1. Используйте seq(), чтобы создать последовательность от start до end с заданным шагом step
# 2. Используйте цикл for для итерации по последовательности
# 3. Выведите квадрат каждого числа, используя print()
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы