Bücher online kostenlos Kostenlos Online Lesen
Perl Programmierung - Grundkurs

Perl Programmierung - Grundkurs

Titel: Perl Programmierung - Grundkurs
Autoren: Barbara Hohensee
Vom Netzwerk:
Leerzeichen dazwischen; es gibt 48 Zeilen, dann folgt ein sehr. Schreiben Sie eine Programm, das den originalen Text ausgibt. Dazu sollen Sie natürlich eine Schleife verwenden.  
     

Lösungsblatt 2
     
    Lösung zu Übung 1
    Wenn man eine for-Schleife benutzt, muss man rechnen.
     
    #!/usr/local/bin/perl
    use strict;
     
    for my $no (1..20) {
        print (21-$no,"\n");
    }
     
    Statt mit einem Zähler zwischen 1 und 20 zu arbeiten, können wir auch von 0 bis 19 zählen; dann wird die Formel vielleicht etwas eingängiger:
     
    Beispiel: ex_2_12b.pl
    for my $no (0..19) {
        print (20-$no,"\n");
    }
     
     
    Besonders gute Mathematiker denken vielleicht auch daran: Das Minuszeichen macht aus fallend steigend, und wir können doch mit for arbeiten.
     
    Beispiel: ex_2_12c.pl
    for my $no (-20..-1) {
        print (-$no,"\n");
    }
     
    Dann dürfen Sie aber nicht vergessen, dass -20 kleiner ist als -1. Falls Ihnen das nicht gefällt, müssen Sie while benutzen.
    my $no = 20;
    while ($no > 0) {
        print ("$no\n");
        --$no;
    }
     
    Vergessen Sie aber nicht, dass Sie Ihren Zähler selbst kleiner machen müssen, sonst läuft die Schleife ewig. Statt größer 0 dürfen Sie in der Bedingung natürlich auch größer oder gleich 1 schreiben:
    while ($no >= 1) {...}
     
    Lösung zu Übung 2
    #!/usr/ bin/perl
    use strict;
     
    print "Geben Sie eine Zahl ein:\n";
    my $zahl= ;
    chomp ($zahl);
     
    if ($zahl != 0) {
        print ("Die Zahl ist nicht Null!\n");
    }
     
    Sie hätten sogar schreiben können:
    if ($zahl) {...
     
    Denn jede Zahle ungleich Null gilt als wahr und führt dazu, dass die Bedingung für das if erfüllt ist. Nur die Zahl 0 bewirkt, dass die Bedingung nach dem if nicht ausgeführt wird.
     
     
    Lösung zu Übung 3
    #!/usr/local/bin/perl
    use strict;
     
    print "Geben Sie die erste Zahl ein:\n";
    my $zahl1= ;
    chomp ($zahl1);
     
    print "Geben Sie noch eine Zahl ein:\n";
    my $zahl2= ;
    chomp ($zahl2);
     
    if ($zahl1 == $zahl2) {
        print "Sie haben zwei gleiche Zahlen eingegeben!\n";
    } else {
        print "Die beiden Zahlen sind verschieden!\n";
     

Lösung zu Übung 4
    #!/usr/local/bin/perl
    use strict;
     
    print "Geben Sie die erste Zahl ein:\n";
    my $zahl1= ;
    chomp ($zahl1);
    print "Geben Sie noch eine Zahl ein:\n";
    my $zahl2= ;
    chomp ($zahl2);
    if ($zahl1== $zahl2) {
        print "Sie haben zwei gleiche Zahlen eingegeben!\n";
    } elsif ($zahl1 == $zahl2 + 1) {
        print
         "Die erste zahle $zahl1 ist um 1 groesser\n";
    } elsif ($zahl1 + 1 == $zahl2) {
        print
        "Die zweite Zahle $zahl2 ist um 1 groesser.\n";
    } else {
        print "Die Zahlen sind verschieden.\n";
    }
     
     
     

Lösung zu Übung 5
    Beispiel: ex_2_17.pl
    #!/usr/local/bin/perl
    use strict;
     
    print "Geben Sie die erste Zahl ein:\n";
    my $zahl1= ;
    chomp ($zahl1);
     
    print "Geben Sie noch eine Zahl ein:\n";
    my $zahl2= ;
    chomp ($zahl2);
     
    if ($zahl1== $zahl2) {
        print "Sie haben zwei gleiche Zahlen eingegeben!\n";
    } elsif ($zahl1 < $zahl2) {
        print ("Die erste Zahle ist kleiner.\n");
    } elsif ($zahl1 > $zahl2) {
        print ("Die zweite Zahl ist kleiner.\n");
    }
     
     
    Genau genommen können wir uns das letzte elsif sparen und durch else ersetzen, denn wenn die erste Zahl weder gleich der zweiten Zahl ist noch kleiner, dann muss sie größer sein.
     
    Lösung zu Übung 6
     
    #!/usr/bin/perl -w
    use strict;
     
    # visueller Text von Gerhard Ruehm
     
    for (1..48) {
        for (1..16) { print "sehr "; }
        print "\n";
    }
    print " " x 32, "klein\n\n";
     

Übungsblatt 3
     

Übung 1: Zuweisen
     
    Sagen Sie vorraus, was die folgenden Zuweisungen bewirken. Kontrollieren Sie Ihr Ergebnis mit einem Perl-Programm.
     
    use strict;
    my @Liste = (1,2,3);
    my @Liste2 = ("Eins","Zwei","Drei");
    my $Scalar1 = "Hallo";
    my $Scalar2 = "Fertig";
    my @neue_liste = @Liste;
    @neue_liste = reverse(@Liste[1,2]);
    @neue_liste = ($Scalar1, @Liste[1,1]);
    @neue_liste[2,1,3] = @Liste[1,2,1];
    @Liste=(@Liste,4);
    my($Dummy, $Ergebnis) = @Liste;;
    $Ergebnis = @Liste;
    ($Ergebnis) = @Liste2;
    ($Ergebnis) = @Liste[1..2];
    $Ergebnis = $Liste2[$Liste[$Liste[0]]];
    $Ergebnis=$Liste2[3];
    my %hash = (@Liste,5);
    @Liste = undef;
    %hash = @Liste[0,1];
    @Liste = push(@Liste, 4,5);
    my $Scalar = unshift(@Liste,5,4,3,2,1);
    %hash = sort @Liste;
     
     

Übung 2: Zeilenzahl
 
    Schreiben Sie ein Programm, das die Anzahl der Zeilen einer
Vom Netzwerk:

Weitere Kostenlose Bücher