• Keine Ergebnisse gefunden

ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)

N/A
N/A
Protected

Academic year: 2022

Aktie "ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universit¨ at Paderborn Fakult¨ at V (EIM) Institut f¨ ur ET & IT

ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)

Prof. Dr.-Ing. F. Belli

WS 2012/2013

Ubung 7 ¨

Ubungen zum Fach Grundlagen der Datenverarbeitung ¨

Ubung 7, Rechner¨ ¨ ubungen am 03.12. und 04.12.2012 (Poolraum - P7.2.02.1)

Aufgabe 1:

Betrachten Sie die nachfolgenden Deklarationen:

(I)

struct complex {

float real;

float imag;

} cmpl_zhl;

(II)

typedef struct complex {

float real;

float imag;

} cmpl_zhl;

(III)

typedef struct {

float real;

float imag;

} cmpl_zhl;

1. Erkl¨aren Sie diese Deklarationen und zeigen Sie die Unterschiede auf! Definieren Sie zu jedem dieser Datentypen mindestens eine Variable!

2. Stellen Sie ¨ahnliche Deklarationen f¨ur die Konstrukteenum (z.B. f¨ur Wochentage) und

unionauf (z.B. f¨ur die DatenName undMatrikelnummer eines Studenten) mit entsprechenden Definitionen von Variablen!

Aufgabe 2:

Andern Sie Aufgabe 1 aus der ¨¨ Ubung 6 ab: Die Multiplikation von 2 komplexen Zahlen soll durch eine Funktion realisiert werden:

Implementieren Sie eine Funktion, die als Call-by-value realisiert wird:

struct complex complexMul(struct complex cmpl_zhl1, struct complex cmpl_zhl2) Implementieren Sie eine weitere Funktion, die Call-by-reference simuliert:

void complexMulByRef(struct complex *zhl1, struct complex *zhl2, struct complex *ergebnis) Aufgabe 3:

Schreiben Sie ein C-Programm, welches zwei Matrizen (10x10 Elemente) elementweise addiert. Legen Sie dazu drei Felder mit jeweils zwei Dimensionen an und initialisieren Sie die zwei zu addierenden Matrizen mit selbstgew¨ahlten Werten. Geben Sie nach der Addition alle drei Matrizen auf die Konsole aus.

Aufgabe 4:

Gegeben sei folgendes C-Programm-Fragment mitgoto-Anweisungen:

start: scanf(" %c", &x);

if(x==’a’) goto a;

if(x==’b’) goto b;

goto fail;

a: scanf(" %c", &x);

if(x==’b’) goto b;

goto fail;

b: scanf(" %c", &x);

if(x==’c’) goto accept;

goto fail;

fail: return FAIL;

accept: return ACCEPT;

1. Gl¨atten Sie das Programm-Fragment ad-hoc (manueller L¨oschungsversuch der goto’s.).

2. (Hausaufgabe) Zeichnen Sie den Programmab- laufplan (PAP) des Programm-Fragments.

3. (Hausaufgabe) Gl¨atten Sie den PAP mit Hilfe des Algorithmus, welcher in der Vorlesung vor- gestellt wurde.

4. (Hausaufgabe) Erstellen Sie das gegl¨attete C-Programm.

5. (Hausaufgabe) Erstellen Sie das Struktogramm aus der gegl¨atteten Variante.

Referenzen

ÄHNLICHE DOKUMENTE

Implementieren Sie ein einfaches C-Programm zur Zinsberechnung: Der Benutzer soll das Anfangskapital sowie einen Zinssatz eingeben. Berechnet und ausgegeben werden soll das

Danach soll durch wiederholte Multiplikation der Wert

Die Reihenschaltung in dieser gemischten Schaltung bildet sich aus dem Widerstand R3 und einer Parallelschaltung der Widerst¨ande R1 und R2. Soll der Gesamtwiderstand der

Der Vergleich erfolgt, indem f¨ ur jede Position der zwei Felder gepr¨ uft wird, ob die Elemente identisch sind.. Das Ende eines

Innerhalb des Funktionsrumpfes der Funktion, die die L¨osung rekursiv berechnet, sollen keine lokalen Variablen benutzt werden!.

Sequentielle Ausgabe der Werte aller Knoten auf die Konsole (rekursive Implementierung):5. void ausgabeListeRekursiv

• Da die Anzahl der einzulesenden Zahlen unbekannt ist, m¨ ussen Sie die Zahlen zun¨achst in eine verket- tete Liste schreiben und dann die Anzahl der Elemente in der Liste

Gesamtbewertung Lebensraumtypen Sachsen-Anhalt, atlantische Region