Zahlen
Willkommen in dieser Lektion des Tutorials „Swift lernen“ in dem wir lernen mit Zahlen zu arbeiten.
Für diesen Teil gibt es auch ein Video Tutorial hier auf YouTube.
Wie der ein oder andere es vielleicht aus anderen Programmiersprachen kennt, gibt es in Swift verschiedene Datentypen für Zahlen. Es gibt einen Datentyp Integer für Ganzzahlen. Das Schlüsselwort für diesen Typ ist Int und wir können in die Variable nur Zahlen ohne Nachkommastellen speichern. Später lernen wir auch anderen Int Datentypen wie Int8 oder Int16 kennen, dies aber erst in fortgeschrittenen Themen.
Für Gleitkommazahlen haben wir die Datentypen Float, Double und noch weitere. Mit diesen Variablentypen können wir später Zahlen mit Nachkommastellen wie zum Beispiel „1.23456“ speichern. Um Zahlen zu speichern benötigen wir – wie auch bei den Strings – das Schlüsselwort „var“ und einen Variablennamen. Mit dem Zuweisungsoperator „=“ können wir dann den Zahlenwert definieren. Anders als bei den Strings dürfen wir keine Anführungszeichen verwenden. Diese sind nur für Zeichenketten reserviert und würde bei nicht expliziter Deklaration dazu führen, dass der Compiler den Wert als String und nicht als Zahl erkennt.
In der Zeile 6 definieren wir die Variable „ganzzahl“ mit der Zahl „123“. Der Datentyp wird in Swift auf Int festgelegt. Selbiges gilt für die Variable „gleitkommazahl“ und „pi“ welche den Datentyp Double oder Float erhalten werden. Dies wird von Compiler je nach Länge oder Bedarf unterschieden. Es handelt sich hierbei um implizite Variablen. Auf den Zeilen 11-13 geben wir den Datentyp mit an, wordurch die Variablen explizit mit einem Datentyp definiert werden.
Für den Alltag kommt man bei Zahlen und Strings damit sehr gut aus diese implizit zu definieren, wir empfehlen aber wenn möglich die genauen Datentypen mit anzugeben um die Fehleranfälligkeit eures Codes zu minimieren und mögliche Fehlerquellen einzugrenzen.
Rechnen mit Zahlen
Das Rechnen mit Zahlen ist in Swift genauso einfach wie mit dem Taschenrechner. Es gibt verschiedene Rechenoperatoren für die Addition, Multiplikation, Subtraktion und Division. In der Tabelle sehen wir jeweils den Rechenoperator und die Operation die durch diesen ausgeführt wird. Wie bei einem Taschenrechner schreibe ich die Zahl gefolgt von dem Rechenoperator und die Zahl die ich z.B. addieren möchte. Ich kann Klammern setzen und auch Klammern verschachteln. Der Computer beherrscht Rechenregeln wie „Punkt vor Strich“. Dies solltet Ihr stets beachten und gegebenenfalls Klammern setzen das Programm weiß nicht ob etwas geklammert werden soll oder nicht. Eure Aufgabe ist es die Rechenformel richtig zu stellen, die des Programms die Berechnung durchzuführen.
+ | Addition |
– | Subtraktion |
* | Multiplikation |
/ | Division |
% | Modulo |
Addition
Um Zahlen zu addieren benutzen wir den „+“ -Operator. Wir definieren 3 Variablen. Die Variablen „x“ & „y“ erhalten den Wert „12″ und „6″. Das Ergebnis speichern wir in die Variable „ergebnis“.
Subtraktion
Bei der Subtraktion benutzen wir den „-„ -Operator. Die Ergebnisvariable werden wir in unseren Beispielen einfach mit den neuen Werten unserer Berechnungen überschreiben. Die Subtraktion liefert uns das Ergebnis aus „12-6″, welche als „6“ anzeigt und gespeichert wird.
Multiplikation
Eine Multiplikation machen wir mit dem „*“ -Operator. Das Ergebnis der Multiplikation ist „72″.
Division
Die Division wird durch den „/“ -Operator gemacht. Das Ergebnis ist „2″.
Division mit Double
Divisionen mit einem Double sind selbstverständlich auch möglich und werden auch mit dem „/“ -Operator gemacht. Das Ergebnis eines Double muss auch in einem Double gespeichert werden. In einem späteren Kapitel werden wir lernen wie wir Zahlentypen in andere Typen Konvertieren können um diese Fehler zu vermeiden.
Rest eine Division
Damit wir nur den Rest einer Division erhalten stellt Swift uns den sogenannten Modulo zur Verfügung welcher als „%“ -Operator dargestellt wird.
Rechnen mit Klammern
Wie auch in der Mathematik müssen wir auch beim Programmieren darauf achten Klammern richtig zu setzen. Bei der ersten Berechnung haben wir das gewollte Ergebnis. Lassen wir die Klammern weg wird wie in der Mathematik üblich mit „Punkt vor Strich“ gerechnet, was hier zu einem – für uns – falschem Ergebnis führt.
Rechnen ist eines der wichtigsten Themen beim Programmieren. Man muss kein Rechengenie sein, aber es wird ohne Mathematik sehr schwer bis unmöglich werden ein Spiel zu entwickeln. In fortgeschritteneren Themen werden wir unser Wissen um mathematische Funktionen deutlich erweitern. Wir werden eingebaute Konstantennamen für Pi und andere kennenlernen sowie Funktionen zur Logarithmenberechnung. Es wird also richtig spannend für euch werden!
Wie geht es weiter?
Die Zahlen sind vorerst gemeistert. Im nächsten Teil unserer Reihe „Swift lernen“ werden wir Strings und Zahlen formatiert auf der Konsole ausgeben.
11 Comments
Hüstel, also die Zahl Pi hat doch einen leicht anderen Wert.
Hallo Sportler,
vielen Dank für deinen Hinweis.
Du hast natürlich recht! Es sollte 3.14592 sein. Schande über uns!
Wir werden es in naher Zukunft anpassen.
– Stefan
Nochmal nicht ganz richtig: 3.1415926536
Ihr habt die 1 an der 3. Nachkommastelle vergessen. Wegen sowas sind schon ganze Ariane Trägerraketen abgestürzt… 😉
Danke Roland!
Du hast recht, ich habe den Screenshot leider noch nicht ausgetauscht. Und wer weiß, vielleicht programmiert ja jemand von uns Software für Trägerraketen 🙂
@Stefan: Ja klar, die Rocket App 😉
PS: Und dann gibt’s da noch den alten Trick 17, wenn pi in einer Programmiersprache nicht vordefiniert ist:
//: Playground – noun: a place where people can play
import UIKit
let pi = 4.0 * atan(1.0)
print(pi)
Tipp: Wer’s auf dem Taschenrechner nachvollziehen will, erst von „Deg“ Modus in den „Rad“ Modus schalten! 😉
Vielen Dank Roland!
In der Auflistung der Rechenoperatoren steht folgendes:
„& Modulo“
Es ist doch ein % gemeint, oder?
Hallo Basian,
du hast natürlich Recht. Ich weiss nicht wie das passieren konnte, aber danke für den Hinweis.
– Ralf
Well done arlitce that. I’ll make sure to use it wisely.
HI
PI stimmt immer noch nicht 🙂 es muss 3.1415926535 sein
Schönes Tutorial!