nim-lecture/live/Prozeduren.md

1.6 KiB

Prozeduren

  1. Übung: Fibonacci-Zahlen Erstelle eine Prozedur, die die Fibonacci-Zahl an einer gegebenen Stelle berechnet.

Aufgabe:

Erstelle eine Prozedur fibonacci(n: int): int, die die Fibonacci-Zahl an der Stelle n berechnet (die Fibonacci-Zahlen beginnen mit 0, 1, 1, 2, 3, 5, 8, ...).

Hinweis:

fibonacci(0) = 0

fibonacci(1) = 1

fibonacci(n) = fibonacci(n-1) + fibonacci(n-2) für n > 1


  1. Übung: Palindrom-Überprüfung Erstelle eine Prozedur, die überprüft, ob ein gegebener String ein Palindrom ist (d.h., der String liest sich von vorne und hinten gleich).

Aufgabe:

Erstelle eine Prozedur isPalindrome(s: string): bool, die überprüft, ob der übergebene String ein Palindrom ist.

Hinweis: importiere std/unicode um die reversed() Funktion zu benutzen.

Für die Schnellen:

Implementiert eine Hilfsprozedur reverseString(s: string): string =

Benutzt dafür die countdown(start, end) (-> erzeugt eine Sequenz von Zahlen, die von start bis end absteigend geht) Funktion, um über den String zu iterieren. Anschließend könnt ihr mit der .add() Funktion das jeweilige Zeichen anhängen.


  1. Übung: Erstelle eine Prozedur, die das kleinste Element in einer Sequenz von Ganzzahlen findet.

Aufgabe:

Erstelle eine Prozedur findMin(numbers: seq[int]): int, die das kleinste Element in der Sequenz let numbers = @[5, 40, 1, -3, 9, 30, -5] findet.

Hinweis: Du kannst mit einer Variablen beginnen, die den ersten Wert der Sequenz speichert.