• Keine Ergebnisse gefunden

Pr¨ufung — Informatik D-MATH/D-PHYS

N/A
N/A
Protected

Academic year: 2022

Aktie "Pr¨ufung — Informatik D-MATH/D-PHYS"

Copied!
4
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Pr¨ufung — Informatik D-MATH/D-PHYS

26. 01. 2009 09:00–11:00

! #"

$&%')(+*-,

.

Kandidat/in:

/

$0!1 233232332323323233234322234334322234322233432223432223433432223432223433432223432223433222343222343343222343222343343

567

$071 233232332323323233234322234334322234322233432223432223433432223432223433432223432223433222343222343343222343222343343

8

9;:

/

31 233232332323323233234322234334322234322233432223432223433432223432223433432223432223433222343222343343222343222343343

<>=@?BADCEFCGH)CIKJML9IKCJON'CPRQ6NSLTCP@UT=V?PVJMW2LX!Y[Z UTUJO=V?\YJOC6]^P)_GW3G[NH`G'NLTCP9PVCH)Ga>_ZbPVCNdceCY'JONH)G'NH)CNfZbA'aOCH)CN

g)h N'NLTCiG'N'YjYkZbUVUfJO=V?lYJOC0G[NSLTCN'UTLTC?'CN'Y'CNmZbaMaMH)CIKCJON'CNncRCIKCP g G'NH)CNjH)CaOCUVCNoG'N'Yqp)CP@ULVZ N'Y'CN

?[ZbADCsr

tu[ v

.Fw

*xxs133232332323323233234322234334322234322234334322234323433432223432223433432223432223433432223432223343222343222343343

Allgemeine Bemerkungen und Hinweise:

y

t{z^ |}s 8 *xo*xl5~3xv€)

*x7%'s*2‚

v€ s*x2sƒ„7}vkb

s†…-‡ ˆ`s*

z *xvs*3*3z

.

%k‰

€ zsv@

w

s

v

y

B

.

%+v€s*3‚‹ŠqŒ}

z v€s*3s

$0*3`*3v€sv

$ŽŒ}

z^s’‘b“

”

•

x3v 8 *x–ˆf

w

s ~}—D

.Fw

*3 s*3#

w

*xb—kb 8 S7—z^ss*x+:

!.Fw

*x7Rˆ` s9S$0sxs 8 *x–*x vRz*3~v}7„ Œu}v€*

.Fw

v€|^ v9“ 8 |R

`˜



%s™*

.šw

%+‡s |*3 `ˆ` s9

Š+›

Dz

"

*x3}v$0*3 -1

W¨orterb¨ucher sind erlaubt; sonst keine

œ

{ €v€(' v

.Fw 0 w

sl‡slv}7*x $Œvv

.šw

xvvžj%9sq

.šw

x*

.Fw

&•Dx

w z e

Ÿ

™Œu}

z*xv€

w

.šw

v€sv\s*33*x\5~bv*x s*xsv\¡vv€(' v

.šw

sv\‡s

vv€*xD

8 s*

.Fw

s 8 *x&2*x¡v€v€('bv

.Fw

&%¢

žD

.Fw

“ 8

.Fw

s*2zs 8 *x

#vb|

-

¢*

.šw

R*x\Œu}

zskz-

—…

v€v v{ˆ*2™b£¢|x*x‡s*3#('b

7š‘b“

Ž+ 8 *x„}sl*3¤Œ}

z q*xqzs3*x z*x \¥{ *

w

s}xvs9¦˜‡ss[*xbs 8 *x&v€*

.Fw

ˆ`s*3xv

§s*xKŒ}

z7

z^ `s*xx 8 *xKv*

.Fw‰¨-w

ž© *3s*x9“

ª /

.šw

Œ{z’

~ 7}v‡ss*3\(' 

vvs 8 *xz*3sl¥

$«j

vvs 8 *3¤¢D

*x

€

¨-w

s$„

‡x*x s9*3‡ žŒuz

zdzsv@*x$0$v*x9“

Diese m¨ussen alle mit Ihrem Namen beschriftet sein. Die Pr¨ufungsbl¨atter sind dabei mit abzugeben!

¬

B*xK}&*3v€`zsv€

s9Dˆ`s 8 *x\Ž­('

y)”

­ €s*

.Fw z

s‰6D%¢s‚ ‡ *xsxs9

® ¯ ° ± ² ³

P

(2)

Aufgabe 1. (5 / 10 / 5 Punkte)

‘ s

.Fw

K }x s Œvv

s ^s ‡s …V

‘~sv€|b%¢*3('—*

.Fw

`‡ … /

*x’‘ž˜us+:

‡s

8

*xl*xjs[v€|

.Fw

ss Œ[Vˆ`7€s *3 %k

s$ Œ}

z^skz

€

8

*x

$qvv %'s*xfs7

 zs9

/ s*x

…-*>‘ ™¢ 7

w

sxv!Dzx*

.Fw

‰‡ssvv€7s 7| *x s $0*30s*3 $ }

w

xv@:

v

‡!! „¥s*xv€ $

v .Fw

*xs+: 8 |

.šw

7)*x 8 *x–*xf §5~7xsvu%'s+:

sisx [

w

z e'v

w

B

!w

3*

.Fw

*xv€[›„*x „7

$0$ $vv [

$0*2

svf‡sDžŒv w

‚ 

s %

9R‡ bv€d*x *3sv„‡ svv7€: 8 |

!.Fw

Dz vb‡ uˆ`bs9

e e

… *x*>‘ ›6*3 ¥s*xv€b$

v .Fw

*xs+:T7

$0$ ˆu*3 *x$0$0 ‚©^s*xxqD ©^s*x3

v@:

s w

›6v{*3z`%'s*xj3*

.Fw

%' *3Ds*x\©^s*xxK‡s Dzbv€|*xs9

e e

…-*x*3*>‘ •

xxv~s*x ¥{s*3v€ $

v .Fw

*3 D:„7

$0$ %'s*xs s}

w 

If... then...

sk

w

3D*xv€sv{*

.Fw

{$x*

.Fw

¢

vv*xsvsv{ x*

.šw



—

x

e e

… *3(‘ ›6*30Œx7*3

w

$v¦$v€vD s{%'7€ %¢B›6*3

z{*3&sx*

.Fw

#©^s*2–

v

%'7 %kf¥sv3

{3*xs} 9

e e

… (‘ ›6*3 Œx7*3

w

$v–*xv€

s*3—%'D%¢bd7

$0$0*xbv€|

!.Fw

B zs

…-‡7u K‘™ %

*

.Fw

™

w

ˆ`s*3 sv™*x *x

8 |

.šw

Dz

s™ˆ` e

e e

z ‘ 8 s*3s

a

b

‡ ˆ`s*9|v*3*3('—

‡sf©

!w

x e¢*3\*x

Register(1)

Register(2)

s*3 xsvsnˆ` e#K z

8

*x

96ˆ

v0

v0}xs‰„7

$0$ z^

.Fw #

v

w

s*xv€v€

.Fw

%¢ *xv*x s 8 *3B*xiŒuz

w

*37%'s*36('

a

b

ˆ v#*xis™©^s*xxs Žd ª

vs z ™ˆ*3e

1. Read into Register(1) 2. Read into Register(2) 3. Register(3) ← 0 4. Register(4) ← 1

5. If Register(2)

Register(1), then go to line 9 6. Output ← Register(3)

7. Output ← Register(1) 8. End

9. Register(1) ← Register(1) - Register(2) 10. Register(3) ← Register(3) + Register(4) 11. Go to line 5

.

‘ s ˆ*3K‡s

vvs99

vv

a

b

.Fw

0

vs*xq%s9 % qzs*„s$„!:

7

$0$

vRs*x

z^žz ‘—s*3 v

.Fw

ˆ`bˆ*x s vž7zxs$

xbs9esv

.Fw s*3z^s

8 *xK v{„7zx $ %k *3v*x 8 *xKs 9+ˆ ‚sv x*3s

(3)

Aufgabe 2. (6 / 6 / 6 Punkte)

s 8 *xž*3f}xss‰ŒvD .

%'f('

"u

vu

 z 8 *x

z^s*

xx6© ˆ*3v

.Fw v

.šw

*26s*x‡ssx

&…-s*3v

.šw

x*3svvx*

.šw

k|sD%'k(' v*xsd

5

*

z’3s

v€ˆ` s’‘b¦s}xs 8 *x

zs*`*x™D

.Fw

Œvv€‡s*

*2(+*3

n)

‡ ss‡

}sv€sxs7&¥{s*

w

s}xlˆf

!w

xs 8 *3¤*x&¥s*

w

s}xb‚Dz*xs 8

.Fw

*3¤xs* ¦B*x

5

*

z’3

y

*3v€('$ ¢|

bool

w –s

false

s*’b˜k(' v€*x0('

bool

‡s

int

ˆ*2

true

‡s

1

false

‡s

0

$0 ˆ s2

‘

3 + 3 / 2 + 3.0 / 2

z ‘

y * 7.0 + (y - 1) * 3.0

. ‘

! ! y || (y = true)

Aufgabe 3. (30 Punkte)

¨ $&|x $0sk*3 s 8 *x*3}x •DD%k*x9*xsv€sjv€x-7z s*x¤©

!w



n

v }s*3 }xssq*x$0‡

w

3s ‡ v

$0$0ssv ‡ K*xv€e©^$ *xv€|*xs

*xv€

105 = 3

5

7

s*3v.Fw !w -ˆ`s*x

3

5

7

s*3 . %'sxv&•Dx('o„*3$0‡

!w

xs

v€sx3[Œ9

s 8 s*3B*3v€`‡s$ s*xv€|*x 

21 = 3

7

%'s*xBv.Fw !w -kˆ`s*3 *x

5

}

w

3D¢›6v`v€|*x 3#

zs*’%'s*x—¥{x37[ˆu*xx`s*3™•

%k7#('7%'$0$'

v w *xvv€

24 = 2 3

3

*xv€

.Fw

s*x

} *x

b}xs0©

!w

-

¨

v€z^sv fv*3™

Dx*

.Fw

3xK„*3$0‡

!w

xs

„*x$0‡

!w

3|7s‡ss

}s*x

}x 9B*x

1

vs* .šw‚ }s*x }xs9

// PRE: n > 0

// POST: Der Rueckgabewert ist true g.d.w. die Primfaktorzerlegung // von n nur aus aufeinanderfolgenden Primzahlen besteht.

bool aufeinanderfolgend(unsigned int n);

8 *xž%

('

w

s9

vv 8 *xž }xss„*3$ v€uv

.šw

‰*x$&|xs$0 k*xb

w

:

zs9e

v w

s*xvv€s 8 *3%s *3•DD%¢*3

prim

*xq ž•DD%k*x

aufeinanderfolgend

(' ˆ` s9

// PRE: n > 0

// POST: Der Rueckgabewert ist true g.d.w. n eine Primzahl ist.

bool prim(unsigned int n);

Aufgabe 4 (8 / 8 Punkte)

¨ $©v $0$0s 0$0*2 8 . vKj˜B vvs w z^s ˆu*3K*3

8

.Fw

vvs3ˆd7

public

private

%'sssx [

‘ sv .šw

*3zs 8 *x‚

‡

xxs$0 *x sn56 ˆ` v‡ ˆ`

.

%n*x v 8

.Fw

vvs2ˆ7b

—

w

s

8

*x*3v@zsv –

¢s*x9)ˆ

$ sv¦v*x[('x'vs*xf%

9

v 8 .šw

€vv€s3ˆ`7

private

‡s™zskD‡ss9

z ‘ ¨

x3v@*x s 8 *x0sl5~bˆ`sv‡bˆ`

. % v

‘b¦*xs$ 8 *30s*x&%'D%¢ 8

.

€:

kb{˜B

vvs*3*x

bzs9+*x `$0*xsv€sv– *xsv`b 8

.šw

€vv€s3ˆ7€ #('7€:

%'$0$¢‚ €%+ s

8

*x7 vu7('7%'$0$s

(4)

Aufgabe 5 (10 / 10 Punkte)

‘ €

!.Fw

8 *x*3}3s{•D%k*x

f

& zs¤v*x

97ˆ

v~v€*xz^

.Fw

ˆ`s

e - b

q

5

w R˜D%¢ žvxx 8 *x

‡sj*x

b[0]

b[1]

3s

b[4]

!.Fw

s$ Œuz

eb•DD%¢*x

w

*xv

.Fw

s*3zs9

// PRE: [b, e) ist ein gueltiger Bereich void f(unsigned int* b, unsigned int* e) {

int n = e - b;

for (int i = 0; i < n; ++i) { b[i] = 1;

for (int j = i - 1; j > 0; --j) b[j] += b[j - 1];

} }

z ‘™— zs 8 *3*x

/

.šw

zs*x D\*x•D%¢*x

f

99 v w s*3vv€$ !.Fw s 8 *x*x

Œuz

w

*x7%'s*2('d Œ{$0sk žs*x

xxs$0 *x¦Œvv

!*x6

vR56

w

2sž

•DD%¢*x ('xxv€

*3

.šw

%¢b*xv*xbK…-*x\Œuv€v

K$vv`*

.Fw

z ˆu*xsvs ˆ` s’‘b

Aufgabe 6 (16 Punkte)

*3 w zs *3 5~7xsv  ‡ss*x7# v€v™sv Bs‡s*x$ 3‡ !w xs

*3z'*xu%'s*3us3*

.Fw

B*xe

v€sxx

w

z^s9k‡7u¢*x©

w



0.1

ktu$0 %' w €…-

sn v@s x*

.

%l(+*3sxxs*

.šw

‰Dz

v .Fw

’‘*x3

z s1 s‚*xe

‡

!w



w

s*x x*

.šw

Bs‡s*x$

x

v€ xxD[ ˆ`s*xv 8 *xB*xsv€KŒuv€v

7Dkb{3*xs} 8 *x—‡s$0*xsv€# *x |

v€*2:

zxsvBŒu$0 k•D7$

9ˆ`xxs‚ˆu*3Bv

„

v ^s

¨

k (

x

(0, 1)

z^sv .Fw ) D%'s

}xssv‡ss*x e1sbzs‚v *Rs*3

k

:v@sxx*3ž*3e

‡

!w

 B•D7$

b = X k

i = 1

b i 2 i , b 1 , b 2 , . . . , b k {0, 1}.

*3z—svKs*x

`

v vv

b

xv

`

:v@sxx*3dBs‡s*x$

3‡

!w

§sv

.šw

*3 zs ˆ`bs %

e

v

w

s*xvv@

b

*3v€{('™bB•D7$

b = X `

i = 1

d i 10 i , d 1 , d 2 , . . . , d ` {0, 1, . . . , 9}.

Referenzen

ÄHNLICHE DOKUMENTE

(28 Punkte) Hier geht es darum, abzuschatzen wie lange ein ezienter Al- gorithmus zur Losung gewisser Aufgaben benotigt. Bei dieser Be- trachtung konnen Sie konstante

Werden allgemeine Zahlen rihtig abgehandelt (niht aber die 1 und Primzahlpo- tenzen), so gibt es 16 Punkte. Es werden keine \aufeinanderfolgenden&#34; Zahlen verworfen (keine

(a) Schreiben Sie eine Klasse Matrix10, die eine geeignete Datenstruktur enth¨alt, um alle Eintr¨age der Matrix zu speichern.. (b) Schreiben Sie einen Konstruktor f¨ ur die Klasse,

Pr¨ufung — Informatik

// POST: *this wurde initialisiert mit // x, falls negative == false // -x, falls negative == true Int (unsigned int x, bool negative);.. // POST: Rueckgabewert ist -*this

Bemerkung: Ein Unsigned Objekt l¨auft insbesondere dann ¨ uber, wenn eine ¨ ubergelaufene Zahl zu ihm addiert wird. (a) Erg¨anzen Sie den private-Teil, indem Sie eine

Wir sehen also ein rotierendes Muster; bei jedem rekursiven Aufruf wird das Paar beste- hend aus zweitem und drittem Aufrufparameter in der obigen Tabelle eine Zeile

Die bisherige Erfahrung zeigt, dass der Test in 4% der F¨ alle ein falsch positives und in 1% der F¨ alle ein falsch negatives Ergebnis liefert.. (a) Zeichnen Sie