referat interpretation charakterisierung

REFERAT-Menü

Deutsch
Geographie
Geschichte
Chemie
Biographien
Elektronik
Englisch
Epochen
Französisch
Biologie
Informatik
Italienisch
Kunst
Latein
Literatur
Mathematik
Musik
Philosophie
Physik
Politik
Psychologie
Recht
Sonstige
Spanisch
Sport
Technik
Wirtschaft
Wirtschaftskunde-BWL

CDUR - Matrix

  1. CDUR - Matrix

TABELLEN
PROZESSE /
 
Schüler
Lehrer
FUNKTIONEN
 
Schüler suchen
 
R
 
 
 
Klassenb. Blatt 1
 
X
 
X
 
.
.
.
 
 
C
 
 
Reorganisation
 
D
 
 
 
Versatz
 
R/U
 

nach Stärke geordnet

C ... Create

D ... Delete

U ... Update

R ... Read 58926yrs33nxi1p

oder höchste Stärke

CDUR Þ DFD nicht ableitbar; z.B.: externe Pfeile

CDUR Þ genauer bezüglich Flüsse


rx926y8533nxxi

  1. Objektorientierte Programmierung

    1. Unterprogramme und Stacks

Der Stack (=Stapel) dient zur Variablen- oder Wertübergabe von einem Programm zu seinem Unterprogramm. Der Stack ermöglicht die Kommunikation zwischen Hauptprogramm und Unterprogramm. Der Stack funktioniert nach dem Prinzip First In Last Out.

PUSH ... ein Wert wird in den Stack geschrieben

PUSH x Þ x wird auf den Stapel gelegt, Stapel wird erhöht

POP ... ein Wert wird aus dem Stack geholt

POP x Þ x wird vom Stapel genommen, der nächste Wert liegt nun oben

y=1;

for (i=1; i<=5; i++) y=y*a; Þ y=a5 Þ y=pot(a,5);

.

.

.

k=1;

for (u=1; u<=7; u++) k=k*z; Þ k=z7

.

.

.

p=1;

for (m=1; m<=4; m++) p=p*s; Þ p=s4

Sobald eine Aktion in einem Programm mehrmals vorkommt, ist es besser stattdessen ein Unterprogramm zu benützen.

long pot (int basis, int exp)

{

int x;

long y=1;

for (x=1; x<=exp; x++) y=y*basis;

return y;

}

Übergabe von Werten:

a
12
1078
  1. Call by Value

  2. Call by Reference

  3. ( Call by Name )


rx926y8533nxxi

  • IMMEDIATE ADDRESSING (unmittelbar) : PUSH 7 (=Call by Value)

  • DIRECT ADDRESSING (direkt) : PUSH M[1000] (=Call by Reference)

  • INDIRECT ADDRESSING (indirekt) : PUSH M[M[2000]]

M ... Memory (Speicherstelle)

Beispiel:

int a; a Û 1078 Compiler vergibt die Plätze

int k;

e=pot (a, k); pot Û 50000

 
 
 
 
 
<HP>
 
 
 
PUSH M[1090]
1004
k wird auf den Stack gelegt
 
PUSH M[1078]
1005
a wird auf den Stack gelegt
e = pot(a,k)
PUSH 1008
1006
Rücksprungadresse auf Stack
 
JMP 50000
1007
Sprung zum UP (eigentlicher UP-Aufruf)
 
POP M[1094]
1008
Ergebnis (y) wird nach e geschrieben
 
.
 
 
 
.
 
 
a
12
1078
Direct Addressing
 
...
 
Immediate Addressing
k
2
1090
 
 
...
 
 
e
144
1094
 
 
.
 
 
 
.
 
 
Stack (P1)
2 / - / 144 / -
10000
Stackbeginn
(P2)
12 / -
 
 
(P3)
1008 / -
 
 
 
.
 
 
 
.
 
 
return address
1008
29999
 
x
 
30000
 
y
144
30002
 
basis
12
30004
 
exp
2
30006
 
 
.
 
 
 
.
 
 
 
POP M[29999]
50000
Rücksprungaddresse von Stack
 
POP M[30004]
50001
a (12) vom Stack nach basis
 
POP M[30006]
50002
k (2) vom Stack nach exp
UP pot
...
 
 
 
Schleife
 
 
 
...
 
 
 
PUSH M[30002]
50070
Ergebnis y (144) auf Stack
 
JMP[M[M29999]
50071
Rücksprung ins HP ( Indirect Addressing )
 
 
 
 


rx926y8533nxxi

      1. Static Binding ( Statisches Binden )

= Die Adressen der Unterprogramme werden beim compilieren festgelegt

 
 
Parameter werden in den Stack geschrieben
JMP 10020
 
Unterprogrammaufruf
 
7061
Rücksprungaddresse wird in den Stack geschrieben
.