• Keine Ergebnisse gefunden

WS 2012/2013

N/A
N/A
Protected

Academic year: 2022

Aktie "WS 2012/2013"

Copied!
3
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 13 ¨

Ubungen zum Fach Grundlagen der Datenverarbeitung ¨

Ubung 13, Frontal¨ ¨ ubung am Mo. 28.01.2013 (14:00 bis 15:30 Uhr - Raum P7.2.01):

Aufgabe 1:

Betrachten Sie die folgende Funktion:

01 void func (int vektor[], int n) 02 {

03 int j,i, temp;

04 for (j=1; j<n; j++)

05 {

06 temp = vektor[j];

07 i = j-1;

08 while ((i>=0) && (vektor[i] > temp))

09 {

10 vektor[i+1] = vektor[i];

11 i--;

12 }

13 vektor[i+1] = temp;

14 }

15 }

1. ¨Uberlegen Sie sich, was der Algorithmus leistet.

2. Wieviele Schritte durchl¨auft die Funktion im schlechtesten Fall bei Aufruf eines Feldes der L¨ange n?

3. Wieviele Schritte durchl¨auft die Funktion im besten Fall bei Aufruf eines Feldes der L¨ange n?

4. Wie sieht jeweils die Notation im O-Kalk¨ul aus?

Hinweise:

Relevant f¨ur die Laufzeitanalyse (Bestimmung der Anzahl der Schritte) sind die Programmzeilen 3, 4, 6, 7, 8, 10, 11 und 13:

• Bestimmen Sie f¨ur jede Zeile, wie oft sie ausgef¨uhrt wird (Annahme: die Ausf¨uhrung erfolgt in kon- stanter Zeit).

• Summieren Sie jeweils diese Anzahl ¨uber alle Programmzeilen.

• Pn i=1

i=n(n2+1)

(2)

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

ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)

Prof. Dr.-Ing. F. Belli

WS 2012/2013

Ubung 13 ¨

Aufgabe 2:

Geben Sie f¨ur das folgende Programm Testf¨alle (Eingaben und erwartete Ausgaben) an, so dass die ¨Uber- deckungskriterien

1. C0 (Anweisungs¨uberdeckung) und 2. C1 (Zweig¨uberdeckung)

vollst¨andig erf¨ullt werden.

void main() {

int zahl1, zahl2, tmp;

scanf(" %d %d", &zahl1, &zahl2);

if ((zahl1>0) && (zahl2>0)) {

while (zahl1>0) {

if (zahl1<zahl2) {

tmp = zahl1;

zahl1 = zahl2;

zahl2 = tmp;

}

zahl1 = zahl1 - zahl2;

}

printf("%d \n", zahl2);

} else

printf("Falsche Eingabe\n");

}

Hinweise:

Ein Testfall ist ein Tupel der Ein- und der erwarteten Ausgabegr¨oße:tt= (tE,tA) hier:tt = ((zahl1, zahl2), erwartetes Ergebnis), Bsp.:t1 = ((16,12),4)

Ein Testfallsatz besteht aus einer Menge von Testf¨allen:TC0={t1, ..., tn}

(3)

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

ANGEWANDTE DATENTECHNIK (SOFTWARETECHNIK)

Prof. Dr.-Ing. F. Belli

WS 2012/2013

Ubung 13 ¨

Aufgabe 3:

Betrachten Sie das folgende Programm:

void main() {

int a, b, x;

scanf(" %d", &a);

scanf(" %d", &b);

x = a % 3;

switch (x) {

case 0: x = a/b; break;

case 1: if (a>9) b = x-5; break;

case 2: while(x<b) b = b-1; break;

} }

1. Geben Sie eine minimale Anzahl Eingaben f¨ur die Variablen a und b an, so dass eine vollst¨andige Anweisungs¨uberdeckung (C0-Test) erreicht wird.

2. Wie hoch ist bei der Verwendung der oben gefundenen Testeingaben der Grad der Zweig¨uberdeckung (C1-Test)?

Hinweis: Zweig¨uberdeckung = Anzahl ausgef¨uhrter Zweige / Gesamtzahl aller Zweige im Programm

Referenzen

ÄHNLICHE DOKUMENTE

Sei M &gt; 0 eine reelle Zahl, dann sind nur endlich viele Folgenglieder kleiner als M.. Da die Wahl von M dabei belanglos ist, hat man

Allgemein erhalten wir den Mittelpunkt des Schmiegekreises, indem wir, ausgehend vom Punkt auf dem Funktiongraphen, senkrecht zum Tangentenvektor r Einheiten gehen. Der Funk-

Erweitern Sie ihre Darstellung aus 2., indem Sie die exakten L¨ osung zusammen mit der nume- rischen L¨ osung darstellen.. Verwenden Sie f¨ ur die Diskretisierung ∆x = 1/100

Wieviele Container der Fabriken A und B muss ein Transporter laden, damit der Gewinn aus den Transportkosten m¨ oglichst groß

[r]

Beim K.O.-System verliert bis auf den Gewinner jeder Teilnehmer genau einmal; jedes Spiel hat genau einen Verlierer. ein Spiel weniger als

Da es Nichtkopfvariablen gibt (oder Rangargument), ist das LGS nicht eindeutig l¨osbar.Also hat das obige LGS nicht nur die

 Attribut private string MyWord: enthält eine Zeichenkette, die ein Wort darstellt, das dann durch die unten stehenden Methoden verarbeitet werden soll6.  Methode public