Die Multiplikation »…*…« in C♯
Einführendes Beispiel
In C♯ kann auch ein Produkt als Ausdruck verwendet werden.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 2 * 6 ); }}global::System.Console.Out
12
Syntax
Die Multiplikation wird mit dem Stern »*« geschrieben.
- Neue, erweiterte Syntax
Ausdruck
.----------.
---.----------->| Literal |---------------------------.---->
| '----------' |
| .-. .----------. |
'--->( - )-->| Ausdruck |---------------------------'
| '-' '----------' |
| .-. .----------. |
'--->( + )-->| Ausdruck |---------------------------'
| '-' '----------' |
| .-. .----------. .-. |
'--->( ( )-->| Ausdruck |-->( ) )-------------------'
| '-' '----------' '-' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( / )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( + )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( - )-->| Ausdruck |----'
| '----------' '-' '----------' |
| .----------. .-. .----------. |
'----------->| Ausdruck |-->( * )-->| Ausdruck |----'
'----------' '-' '----------'
Syntax, Typanforderungen, Typergebnisse, Assoziativität und Priorität sind bei diesem binären Operator wie bei der Division. Die Operanden heißen Multiplikand und Multiplikator. Die Semantik ist hingegen die der Multiplikation (des Produkts).
In der Mathematik ist es auch üblich, für das Produkt der beiden Zahlen ‹2› und ‹3› zu schreiben: ‹2·3› oder ‹2×3›.
Lexikalische Einheiten
Der Klammeroperator »(« »)« besteht aus zwei lexikalischen Einheiten, alle anderen bisher vorgestellten Operatoren sind jeweils genau eine lexikalische Einheit.
Im Syntaxdiagramm kann man die lexikalischen Einheiten daran erkennen, daß sie in gerundeten Kästchen enthalten sind.
Assoziativität
Die Priorität der Multiplikation gleicht der der Divison. Wenn eine Division oder Multiplikation direkt aufeinander folgen, so wird deswegen die Assoziativität herangezogen, derzufolge dann die erste (linke) Operation zuerst ausgeführt wird. Daher bedeutet beispielsweise »2/3*4« dasselbe wie »(2/3)*4« oder »4*(2/3)«.
Prozentrechnung
Es gibt keinen speziellen Operator für Prozentrechnung, diese kann aber mit Hilfe der Grundrechenarten ausgedrückt werden.
Das folgende Programm berechnet beispielsweise 11 Prozent von 70.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 0.11 * 70 ); }}global::System.Console.Out
12
Das folgende Programm addiert 11 Prozent zu 70.
Program.cs
public static class Program
{ public static void Main()
{ global::System.Console.WriteLine
( 1.11 * 70 ); }}global::System.Console.Out
77.7
Prioritäten
Die bisher vorgestellten Operatoren haben Prioritäten gemäß der folgenden Tabelle: Ein weiter oben stehender Operator hat eine höhere Priorität.
- Eigenschaften von Operatoren
A P A (A = Aritaet, P = Position, A = Assoziativitaet)
() 1 Z Eingeklammerter Ausdruck
+ - 1 P Unaere vorangestellte Operatoren (Vorzeichen)
* / 2 I L "Punktrechnung": Multiplikation, Division
+ - 2 I L "Strichrechnung": Addition, Subtraktion
Man sagt ja auch: „Punktrechnung geht vor Strichrechnung.“ – „Punktrechnung“ umfaßt die Operatoren mit Punkten (die Multiplikation ‹ · › und die Division ‹ : ›) und „Strichrechnung“ die Operatoren mit Strichen (die Addition ‹ + › und die Subtraktion ‹ − ›).
Übungsfragen
? Lexikalische Einheiten ⃗
Aus wie vielen lexikalischen Einheiten besteht der folgende Ausdruck?
- Ausdruck
2*(3+14)
/ Operanden
Welche Operanden gibt es in dem folgenden Ausdruck (es sind insgesamt 4)?
- Ausdruck
3 + 2 * 4
Übungsaufgaben
/ Übungsaufgabe ⃗
Schreiben Sie ein Beispiel für ein Alpha auf, das nach dem folgenden Syntaxdiagramm gebildet ist.
- Syntaxdiagramm
Alpha
.----------. .-. .----------. .-. .----------.
--->| Ausdruck |--->( ? )--->| Ausdruck |--->( : )--->| Ausdruck |--->
'----------' '-' '----------' '-' '----------'
Dabei kann für einen Ausdruck das folgende Syntaxdiagramm herangezogen werden (Die Bedeutung von »Literal« ist wie in einer früheren Lektion behandelt).
- Syntaxdiagramm
Ausdruck
.----------.
---.------------>| Literal |----.---->
| '----------' |
| .-. .----------. |
'--->( - )--->| Literal |----'
| '-' '----------' |
| .-. .----------. |
'--->( + )--->| Literal |----'
'-' '----------'
/ Terme ⃗
Berechnen Sie den Wert des folgenden Terms mit Hilfe von C♯. (Obwohl kein Teil des Terms im Kopf ausgerechnet werden soll, kann der Term so umgeformt werden, daß das Potenzieren durch die bisher vorgestellten Operatoren ausgedrückt wird.)
- Term (Drei Quadrat durch Vier hoch Drei, Ergebnis: ungefähr 0.140625)
3²
------
4³
/ Rechnungen ⃗
Berechnen Sie mit C♯, wieviel Millimeter 20 Zentimeter sind (Ergebnis: zirka 200).
Berechnen Sie mit C♯, wieviel Euro 25 Cent sind (Ergebnis: zirka 0,25).
Berechnen Sie mit C♯, den Rechnungsbetrag mit Mehrwertsteuer bei einem Warenwert von 20 Euro.
/ Rechnungen (1) ⃗
Ein Läufer benötigt 50 Minuten und 20 Sekunden für eine Strecke von 12 Kilometern. Berechnen Sie seine durchschnittliche Geschwindigkeit in km∕h und m∕s.