• Keine Ergebnisse gefunden

Suchen Serie6

N/A
N/A
Protected

Academic year: 2021

Aktie "Suchen Serie6"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Ubungen zur Vorlesung¨

”Grundlagen der Informatik 1“

Studiengang E-Technik WS 2001/02

AG Betriebssysteme, FB 3 Jan Bredereke ausgegeben: 25.1.2002 Abgabe und Besprechung:

in der ¨Ubung am 31.1.2002

Serie 6

Suchen

Aufgabe 1: Suchen einer Rechnung

In der Vorlesung am 18.1. ist eine Bibliotheksfunktion zur bin¨aren Suche vorgestellt worden.

Außerdem wurde eine Anwendung vorgestellt, die diese Bibliotheksfunktion nutzt und eine Namens-Gehalts-Liste durchsucht.

Schreibt eine andere Anwendung, das dieselbe Bibliotheksfunktion nutzt, aber eine Liste von Rechnungsnummern durchsucht. Rechnungsnummern sind dabei keine Strings, sondern Integers zwischen 10000 und 99999. Zu einer Rechnungsnummer geh¨oren ein Datum, ein Euro- Betrag und ein Empf¨anger. Dies sind jeweils Strings. Definiert wie in der obigen Anwendung eine feste, vorsortierte Tabelle mit den folgenden Eintr¨agen:

Rechnungsnummer Datum Betrag Empf¨anger 10003 4.1.2002 27,53 M. Meyer 10004 4.1.2002 200,00 S. Schulze 33333 5.1.2002 22,03 S. Schmidt 40735 10.1.2002 94,53 T. Tietjen 40736 11.1.2002 1,00 S. Sparsam 42420 13.1.2002 87,32 M. Mueller 43001 14.1.2002 33,07 L. Lehmann

Definiert euch geeignete Datenstrukturen und eine geeignete VergleichsfunktioncompareTo().

Entsprechend wie in der obigen Anwendung soll eine Rechnungsnummer erfragt werden, nach ihr gesucht werden und gegebenenfalls der gefundene Rechnungs-Datensatz ausgegeben wer- den.

Die Bibliotheksfunktion ist im WWW zu finden unter

”http://www.tzi.de/agbs/lehre/ws0102/gdi1/hintergrund-info/binsearch.c.txt“ und

”http://www.tzi.de/agbs/lehre/ws0102/gdi1/hintergrund-info/binsearch.h.txt“. Die Anwendung aus der Vorlesung steht unter

”http://www.tzi.de/agbs/lehre/ws0102/gdi1/hintergrund-info/binaere_suche2.c.txt“. Hinweis: Zum korrekten L¨osen der Aufgabe ist es n¨utzlich, beim ¨Ubersetzen m¨oglichst strenge Typpr¨ufungen durchf¨uhren zu lassen. ¨Ubersetzt daher am besten mit cc -Wall ..., um alle Warnungen anzeigen zu lassen.

Zum Schreiben eurer Anwendung m¨ußt ihr euch zumindest an die Schnittstellendefinition in binsearch.h halten. Daher ist diese Datei auf der n¨achsten Seite noch einmal abgedruckt.

Probiert euere Anwendung an Beispielen aus.

(2)

/*========================================================================

* wiederverwendbare bibliothek fuer bin¨are suche

*=======================================================================*/

/*-- Anwender muss einen Array zur Verfuegung stellen, dessen Elemente in der ersten Komponente auf

den Schluesselwert verweisen und in der 2. Komponente auf die Nutzdaten. Die tatsaechliche Struktur

der Nutzdaten ist fuer die binaere Suche irrelevant.

--*/

typedef struct {

void *key; /* Zeiger auf Schluessel */

void *data; /* Zeiger auf Nutzdaten */

} my_array_t;

/*

Die Anwendung ruft Bibliotheksfunktion binSearch() auf:

theKey: Zeiger auf den Schluesselwert des gesuchten Datensatzes.

a : Zeiger auf den Beginn des Arrays.

len : Anzahl der Array-Elemente

*/

extern void *binSearch(void *theKey, my_array_t *a, unsigned int len );

/*

Die Anwendung muss eine Vergleichsfunktion compareTo() zur Verfuegung stellen, welche die ==, <, > Vergleiche auf dem Datentyp der verwendeten Schluessel durchfuehrt.

Sie liefert einen beliebigen Wert < 0 zurueck,

wenn k1 in dieser Vergleichsrelation kleiner als k2 ist, einen beliebigen Wert > 0, falls k1 > k2 und

0 bei Gleichheit beider Schluessel.

*/

extern int compareTo(void *k1, void *k2);

2

Referenzen

ÄHNLICHE DOKUMENTE

- Kein Problem, dann male oder schreibe es in die leeren Kästchen.. Symbolbibliothek by Susana Weis /

Dies bedeutet, dass es sich beim EEG-Fördersystem nicht um eine Preis- und Mengenregulierung handelt, sondern um staatliche Mittel , die flächendeckend von allen

Pluteus umbrosus Schwarzflockiger Dachpilz Au-, Buchen-, Bruch-, Schluchtwälder Stä, Äst, lie, Stu R -- Spongipellis pachyodon Breitstacheliger Schwammporling Buchen-, Eichenwälder

Leider haben wir dieses Ziel nicht erreicht: Die Rheumaliga beider Basel schreibt wiederholt rote Zahlen.. Deshalb müssen wir rasch neue Spender gewin- nen oder in

Soweit dich der Bodenrichtwert auf Geschäftslagen bezieht, ist zu beachten, dass die Verkehrswerte von Einzelgrundstücken bereits bei geringen Abweichungen

D1.3 Sortieren von Strings D1.4 LSD-Sortierverfahren D1.5 Quicksort.. L¨ uthi (Universit¨ at Basel) Algorithmen und

Die IOSE-W 2 Studie hat gezeigt, dass mehr als ¾ der befragten Unter- nehmen unterschiedliche Vorgehensmodelle einsetzen und diese ggf?. Ob- wohl wenig überraschend, ist dennoch

Affiliation Imperial College London, MRC Centre for Global Infectious Disease Analysis, Abdul Latif Jameel Institute for Disease and Emergency Analytics (J-IDEA), London,