Menu
Coddy logo textTech

Sequenzgenerierung (seq, :)

Teil des Abschnitts Grundlagen der R-Journey von Coddy. Lektion 43 von 78.

Du hast 1:5 verwendet, um Sequenzen in deinen Schleifen zu erstellen. Dieser Doppelpunktoperator ist schnell und einfach, aber R stellt auch die Funktion seq() bereit, um deine Sequenzen besser zu steuern.

Der Doppelpunktoperator erstellt eine Folge aufeinanderfolgender Ganzzahlen:

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

Ausgabe:

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

Beachte, dass die Folge in beide Richtungen verlaufen kann. Wenn die erste Zahl größer ist, zählt sie herunter.

Die Funktion seq() bietet dir mehr Flexibilität. Du kannst eine Schrittweite mithilfe des Arguments by angeben:

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

Ausgabe:

[1] 2 4 6 8 10

Dies erzeugt gerade Zahlen von 2 bis 10.

Du kannst auch angeben, wie viele Zahlen du möchtest, indem du length.out verwendest:

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

Ausgabe:

[1] 1 4 7 10

R berechnet automatisch den Abstand, um dir genau 4 gleichmäßig verteilte Zahlen zu geben. Beide Ansätze funktionieren nahtlos in Schleifen und ermöglichen es dir, mühelos durch benutzerdefinierte Sequenzen zu iterieren.

challenge icon

Aufgabe

Einfach

Lies drei Zahlen aus der Eingabe ein: start, end und step.

Verwende die Funktion seq(), um mit der angegebenen Schrittweite start eine Sequenz von end bis step zu erzeugen. Verwende dann eine for-Schleife, um diese Sequenz zu durchlaufen und das Quadrat jeder Zahl auszugeben.

Jeder quadrierte Wert sollte mithilfe von print() in einer eigenen Zeile ausgegeben werden.

Wenn die Eingaben beispielsweise 2, 10 und 2 lauten, sollte die Ausgabe wie folgt aussehen:

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

Der Grund dafür ist, dass die Sequenz 2, 4, 6, 8, 10 erzeugt wird und jede Zahl quadriert wird.

Probier es selbst

# Eingabe lesen
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: Schreibe deinen Code darunter
# 1. Verwende seq(), um eine Sequenz von start bis end mit dem gegebenen step zu erzeugen
# 2. Verwende eine for-Schleife, um durch die Sequenz zu iterieren
# 3. Gib das Quadrat jeder Zahl mit print() aus
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen

Übe selbstständig: Online-R-Compiler