Ticket #9725: tour_assignment.rst

File tour_assignment.rst, 3.3 KB (added by phil, 9 years ago)
Line 
1
2Zuweisung, Gleichheit und Arithmetik
3====================================
4
5Bis auf wenige Ausnahmen benutzt Sage die Programmiersprache Python,
6deshalb werden Ihnen die meisten einführenden Bücher über Python dabei
7helfen Sage zu lernen.
8
9Sage benutzt ``=`` für Zuweisungen. Es benutzt ``==``, ``<=``, ``>=``,
10``<`` und ``>`` für Vergleiche.
11
12::
13
14    sage: a = 5
15    sage: a
16    5
17    sage: 2 == 2
18    True
19    sage: 2 == 3
20    False
21    sage: 2 < 3
22    True
23    sage: a == 5
24    True
25
26Sage unterstützt alle grundlegenden mathematischen Operationen:
27
28::
29
30    sage: 2**3    #  ** bedeutet Exponent
31    8
32    sage: 2^3     #  ^ ist ein Synonym für ** (anders als in Python)
33    8
34    sage: 10 % 3  #  für ganzzahlige Argumente bedeutet % mod, d.h., Rest
35    1
36    sage: 10/4
37    5/2
38    sage: 10//4   #  für ganzzahlige Arguments gibt // den
39    sage:         #  ganzzahligen Quotienten zurück
40    2
41    sage: 4 * (10 // 4) + 10 % 4 == 10
42    True
43    sage: 3^2*4 + 2%5
44    38
45
46Die Berechnung eines Ausdrucks wie ``3^2*4 + 2%5`` hängt von der
47Reihenfolge ab, in der die Operationen ausgeführt werden; Dies wird im
48"operator precedence table" in :ref:`section-precedence` festgelegt.
49
50Sage stellt auch viele bekannte mathematische Funktionen zur
51Verfügung; hier sind nur ein paar Beispiele
52
53::
54
55    sage: sqrt(3.4)
56    1.84390889145858
57    sage: sin(5.135)
58    -0.912021158525540
59    sage: sin(pi/3)
60    1/2*sqrt(3)
61
62Wie das letzte Beispiel zeigt, geben manche mathematische Ausdrücke
63'exakte' Werte, anstelle von numerischen Approximationen zurück. Um
64eine numerische Approximation zu bekommen, können Sie entweder die
65Funktion ``n`` oder die Methode ``n`` verwenden (beide haben auch
66den längeren Namen, ``numerical_approx``, und die Funktion ``N`` ist
67die gleiche wie ``n``)). Diese nehmen auch die optionalen Argumente
68``prec``, welches die gewünschte Anzahl von Bits an Genauigkeit ist und
69``digits``, welches die gewünschte Anzahl Dezimalstellen an Genauigkeit
70ist, entgegen; der Standardwert ist 53 Bits Genauigkeit.
71
72::
73
74    sage: exp(2)
75    e^2
76    sage: n(exp(2))
77    7.38905609893065
78    sage: sqrt(pi).numerical_approx()
79    1.77245385090552
80    sage: sin(10).n(digits=5)
81    -0.54402
82    sage: N(sin(10),digits=10)
83    -0.5440211109
84    sage: numerical_approx(pi, prec=200)
85    3.1415926535897932384626433832795028841971693993751058209749
86
87Python ist dynamisch typisiert, also ist dem Wert, auf den jede Variable
88weist, einen Typ zugeordnet, jedoch darf eine Variable Werte eines
89beliebigen Python-Typs innerhalb eines Sichtbarkeitsbereich aufnehmen.
90
91::
92
93    sage: a = 5   # a ist eine ganze Zahl
94    sage: type(a)
95    <type 'sage.rings.integer.Integer'>
96    sage: a = 5/3  # jetzt ist a eine rationale Zahl
97    sage: type(a)
98    <type 'sage.rings.rational.Rational'>
99    sage: a = 'hello'  # jetzt ist a ein String
100    sage: type(a)
101    <type 'str'>
102
103Die C Programmiersprache, die statisch typisiert ist, unterscheidet
104sich hierzu sehr; eine Variable, die dazu deklariert ist ein "int"
105aufzunehmen, kann in ihrem Sichtbarkeitsbereich nur "ints" aufnehmen.
106
107Für Verwirrung in Python sorgt häufig, dass Integer Literale, die mit
108Null beginnen, als Oktalzahl, d.h. als Zahl zur Basis 8, behandelt werden.
109
110::
111
112    sage: 011
113    9
114    sage: 8 + 1
115    9
116    sage: n = 011
117    sage: n.str(8)   # string representation of n in base 8
118    '11'
119
120Dies ist konsistent mit der C Programmiersprache.