Dr.AndreasBorhert InstitutfürAngewandteInformationsverarbeitung 14.Dezember2009
WolfgangKaier/MihaelMattes Blatt10
A
Systemnahe Software I
im Wintersemester 2009/2010
Abgabetermin:bis22.Dezember2009
Makeles
AbsofortistesfürjedesBlattnotwendig,einentsprehendesMakelezuerstellen.Essollen
mindestensdieeinzelnenProgrammeerzeugtwerdenkönnensowiemake leanzumLöshen
vonObjektdateien/Coredumps undmake realleanzumLöshenderausführbarenDateien
vorhandensein.
Die Verwendung vonMakeleskommtauhIhnenselbstzugute, dennsokönnen Sieauf
dasKompilierenmitEinzelbefehlenverzihten undmüssen nihtdarandenken, allenötigen
Inlude-Verzeihnisse,Compiler-Optionenet.anzugeben.DurhdasunkomplizierteErstellen
vonausführbarenDateiensindSieauhinderLage,IhrProgrammshnellerzutesten.
23 Zeilen einlesen mit strallo (10 Punkte)
IndieserAufgabesollenSiesihmitderlibowfatvertrautmahenundmitHilfederdarin
enthaltenendynamishen Strings(diestrallo-Verbünde) einModulsaio.oshreiben,das
zweiFunktionenbereitstellt:eineFunktionzurAusgabeeinesstrallo-StringsaufderStan-
dardeingabeundeineFunktion,dieeineeinzelneZeilevonderStandardeingabeliestunddiese
ineinemgegebenenstrallo-Stringspeihert.
BietenSiemitderDateisaio.heine passendeProgrammiershnittstelle(API)zu Ihrem
Modulan.
BeahtenSieauÿerdemfolgendes:DasNewline-ZeihensollbeimEinlesennihtimString
enthaltensein. Das Endeder Eingabe wird wie ein Newline-Zeihen behandelt. Verwenden
Sie bei der Implementierungausshlieÿlih I/O-Funktionen, die einzelne Zeihen lesen und
shreiben!Dasheiÿt,SiesollenkeinederFunktionenread,sanf,printf(oderderenVarianten
wiez.B.fread)verwenden.
24 Editierdistanz (15 Punkte)
ShreibenSieeinModulleven.o,daseineeinzelneMethode
anbietet.DerRükgabewertdieserFunktionistdieEditierdistanz derWortew1undw2.
25 Soundex (15 Punkte)
ShreibenSiedasModulsoundex.o,welhesdieMethode
har* soundex(onst har* w);
anbietet.DerRükgabewertdieserFunktionistderSoundex-Code 2
vonw.
DieFunktionmussfürdenRükgabewert Speiherreservieren,welhervomAufruferder
FunktionnahBenutzungwiederfreigegebenwerdenmuss.
26 Wortinfo (4 Punkte)
ShreibenSieeinProgrammwordinfo.,welhesinteraktivinjederZeileeineleerzeihenge-
trennteListevonWortenentgegennimmtunddannbestimmteInformationenzudiesenWorten
ausgibt.ErstenssolldiepaarweiseEditierdistanzallerWorteineinerMatrixausgegebenwer-
den(ahtenSieaufeineshönformatierteAusgabematrix),zweitenssollzujedemWortder
entsprehendeSoundex-Codeausgegebenwerden.
VerwendenSiezumEinlesender Worte IhrModulsaio.oausderersten Aufgabedieses
Blatts. Für die Editierdistanz bzw. den Soundex-Code sollen Sie natürlih auh Ihre eben
geshriebenenModuleverwenden.
VielErfolg!
1
DieEditierdistanzistauhnahihremErnderalsLevenshtein-Distanzbekannt.WeitereInformationen
ndenSieunterhttp://de.wikipedia.org/wiki/Levenshtein-Distanz
2