Universität Ulm, Fakultät für Mathematik und Wirtschaftswissenschaften, SAI

Lösung zu Blatt 2 --- Software Engineering Praxis (WS 2000)

2. Ist es für die Rente noch zu früh?

#!/usr/local/bin/perl -w

use strict;

open(FILE, "<dav94r325m") || die "Cannot open file\n";
<FILE> || die "unexpected end of file\n";
my @l = ();
my ($omega, $v) = (-1, 1 / 1.0325);
while (<FILE>) {
   push @l, (split /:/)[2];
   $omega++;
}
close(FILE);
print aex(45), " ", 100000 / aex(45), "\n";

sub aex {
   my ($x) = @_;
   my $sum = 0;
   foreach (0 .. $omega - $x) { $sum += kPx($_, $x) * $v ** $_}
   return $sum;
}

sub kPx {
   my ($k, $x) = @_;
   return $l[$k + $x] / $l[$x];
}

3. Doubletten

#!/usr/local/bin/perl -w

while (<>) {
   print if /\b(\w+)\b\s+\1\b/i;
}

Universität Fakultät SAI

Ingo Melzer, 17. November 2000