Algebra - Übersicht

Werbung
Norbert M. Lang
1800413
Übung Di, 17:15 Uhr (B)
Modellierung und Programmierung 1
Lösung zu Übungsblatt Nr. 1
(1) Konvertierung
(a) natürliche Zahlen
Basis 2
Basis 10
11000100 01000001 50241
11010001 01
837
10101111 11111110 45054
Basis 16
C441
345
AFFE
(b) rationale Zahlen
Basis 2
1101.011
101.01101
11011.1101
Basis 10
13.375
5.40625
27.8125
Basis 16
D.6
5.68
1B.D
(c) b, x?
(66)10 = (123)b ⇒ b = 7 und (0.12)3 = (x)10 ⇒ x = 0.625
(2) Maschinenzahl
(a) Umrechnung Maschinenzahl / Dezimalzahl (int)
(i) geg. M = 10000000 00000000 00000000 00000010, ges. x
D.h. M = 1 0000000 0 0000000 00000000 00000000
Da der Exponent Null ist, handelt es sich um eine denormalisierte
Zahl, d.h. x = 0.m mit m = 00000000000000000000010. Daraus
folgt: x = 1.0 · 2−22 ≈ 0.
(ii) geg. x = −77, ges. Darstellung von x als Maschinenzahl M
x ist negativ, also sign(M ) = 1 , weiter (77)10 = (1001101)2 =
(1.001101)2 · 26
⇒ m = 001101... , E = e + Offset = (133)10 = ( 10000101 )2
⇒ M = 11000010 10011010 00000000 00000000
(b) Umrechnung Maschinenzahl / Dezimalzahl (float)
(i) geg. M = 11000001 01010000 00000000 00000000, ges. x
⇒ sign(M ) = 1, E = (10000010)2 = (130)10 , m = 101
⇒ e = E − Offset = 130 − 127 = 3
⇒ −x = (1.m · 2e )2 = (1.101 · 23 )2 = (1101)2 = (13)10
Damit ist also x = −13 die durch M dargestellte Zahl.
(ii) geg. x = 99.75, ges. Darstellung von x als Maschinenzahl M
(99)10 = (1100011)2 , (0.75)10 = (0.11)2
⇒ x = (99.75)10 = (1100011.11)2 = (1.10001111 · 26 )2
⇒ sign(M ) = 0, m = 10001111,
E = e + Offset = (6)10 + (127)10 = (133)10 = (10000101)2
⇒ M = 01000010 11001111 00000000 00000000
(c)
Maschinenzahl
Dezimalzahl
MIN
1 1111111 0 1111111 11111111 11111111 ≈ −3.4028235 · 1038
MAX 0 1111111 0 1111111 11111111 11111111
≈ 3.4028235 · 1038
1
−126
kleinster Rundungsfehler: 2 · 2
; größter Rundungsfehler: 12 · 2104
1
Norbert M. Lang
1800413
Übung Di, 17:15 Uhr (B)
(3) Algorithmen und Programme
(a) Sei f (n) = n2 + n + 41 mit n ∈ N gegeben.
Sei weiter n = 41, dann folt aus f (41) = 412 + 41 + 41 = 41 · 41 + 2 · 41 =
43 · 41 sofort: 41 6= f (41) und 41 | f (41), d.h. f (41) ist keine Primzahl,
da diese nur durch sich selbst und 1 teilbar sein dürfen.
(b) Für den folgenden Algorithmus ist zu beachten: p := prim(n), n ∈
N \ {0, 1} ist Ausgabe und n Eingabe; Laufvariable/Teiler b ist auf
2 < b < n/2 beschränkt (da i. A. kein Primzahltest für {0, 1} notwendig
sowie 2 kleinst- und n/2 größtmöglicher natürtlicher Teiler von n).
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
a=n ;
b=2;
c =1;
w h i l e ( b<n / 2 )
{
i f ( a%b==0){c=0}
b=b+1;
}
p=c ;
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
n
Eingabe 31
Verarbeitung
p
a
b
c
31
31
..
.
2
3
..
.
1
1
..
.
31 15 1
Ausgabe
n
Eingabe 623
Verarbeitung
1
p
a
b
c
623
623
..
.
2
3
..
.
1
1
..
.
623
623
623
..
.
6
7
8
..
.
1
0
0
..
.
623 311 0
Ausgabe
0
2
Norbert M. Lang
1800413
Übung Di, 17:15 Uhr (B)
(4) HalloWeltPlus-Applet
(a) Java-Quellcode
// H a l l o W e l t A p p l e t P l u s . j a v a
import j a v a . a p p l e t . ∗ ;
import j a v a . awt . ∗ ;
// Applet
// Gr ap hi cs
/∗∗
∗ D i e s e s Applet g i b t " H a l l o Welt ! " aus
∗ und w e c h s e l t Vorder −/H i n t e r g r u n d f a r b e .
∗/
p u b l i c c l a s s H a l l o W e l t A p p l e t P l u s e x t e n d s Applet
{
/∗∗
∗ Hauptmethode , D a r s t e l l u n g d e s Applet .
∗ S e t z e n d e r Hinter − und V o r d e r g r u n d f a r b e .
∗/
int vorder = 0;
p u b l i c v o i d p a i n t ( G ra ph ic s g )
{
g . d r a w S t r i n g ( " H a l l o Welt ! " , 5 0 , 5 0 ) ;
i f ( v o r d e r ==0)
{
setForeground ( Color . black ) ;
setBackground ( C o l o r . w h i t e ) ;
} else
{
setForeground ( Color . white ) ;
setBackground ( C o l o r . b l a c k ) ;
}
}
p u b l i c v o i d setBackFor ( i n t nr )
{
// Wechsel d e r Farben .
v o r d e r = nr ;
r e p a i n t ( 100L ) ;
}
}
3
Norbert M. Lang
1800413
Übung Di, 17:15 Uhr (B)
(b) HTML-Quellcode
<html>
<!−− Bindet das HalloWeltPlus −Applet e i n . −−>
<head>
< t i t l e >HalloWeltApplet
</ t i t l e >
</head>
<body>
<!−− Applet −−>
<a p p l e t
code=H a l l o W e l t A p p l e t P l u s . c l a s s name=A
width =200 h e i g h t =200></a p p l e t >
<hr>
<!−−
Javascript
−−>
<a o n C l i c k="document .A. setBackFor ( 0)">
H i n t e r g r u n d w e i s s !</a><p>
<a o n C l i c k="document .A. s e t B a c k f o r ( 1)">
H i n t e r g r u n d schwarz !</a>
</body>
</html>
4
Herunterladen