1 tagesüberblick 7 lösung hausaufgabe/fragen mehrdimensionale datenstrukturen module fehlersuche...
TRANSCRIPT
![Page 1: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/1.jpg)
1
Tagesüberblick 7
• Lösung Hausaufgabe/Fragen• mehrdimensionale Datenstrukturen• Module• Fehlersuche• Zusammenfassung• Feedback
![Page 2: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/2.jpg)
2
Mehrdimensionale Datenstrukturen
• List of Lists (LoL)• Hash of Hashs (HoH)• alle Mischformen möglich
• Zu beachten:Direktes Ausdrucken nicht möglich
![Page 3: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/3.jpg)
3
List of Listsfor ($i=0;$i<3;$i++){ for ($j=0;$j<3;$j++){ $abc[$i][$j]=$i*$j}}$abc[2][0]=5;
for ($i=0;$i<3;$i++){ for ($j=0;$j<3;$j++){ print "$abc[$i][$j] "} print "\n"}
![Page 4: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/4.jpg)
4
Ergebnis
0 0 0 0 1 2 5 2 4
![Page 5: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/5.jpg)
5
List of Lists (Listenverarbeitung)@abc=(["ich","du","er"], ["Karl","Fritz"], [3,2,1], [1,2,"a","b"]); foreach $a(@abc){ @b=@{$a}; print "@b\n";}
![Page 6: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/6.jpg)
6
List of Lists
@bce=("Cola","Fanta");$abc[5]=[@bce];$abc[7][1]=5;
foreach $a(@abc){ @b=@{$a}; print "@b\n";}
![Page 7: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/7.jpg)
7
Ergebnis: Vorsicht Lücken (perl -w)
ich du erKarl Fritz3 2 11 2 a bUse of uninitialized value at test.pl line 10.Cola FantaUse of uninitialized value at test.pl line 10.Use of uninitialized value at test.pl line 11. 5
![Page 8: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/8.jpg)
8
Behandlung undefinierter Werte
@bce=("Cola","Fanta");$abc[5]=[@bce];$abc[7][1]=5;
foreach $a(@abc){ if(defined($a)){ print "@{$a}\n"}}
![Page 9: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/9.jpg)
9
Warum das?
ich du erKarl Fritz3 2 11 2 a bCola FantaUse of uninitialized value at test.pl line 12. 5
![Page 10: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/10.jpg)
10
Lückenbehandlung komplett@bce=("Cola","Fanta");$abc[5]=[@bce];$abc[7][1]=5;
foreach $a(@abc){ if(defined($a)){ foreach $b(@{$a}){ if (defined($b)){print "$b "}} print "\n"}}
![Page 11: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/11.jpg)
11
Aufgabe 7-1
Lesen Sie die Datei daten7-1.txt ein.In jeder Zeile sind 3 Zahlen, jeweils durch
Leerzeichen getrennt, enthalten.Speichern Sie diese Zahlen einzeln in einer List of
Lists (LoL) ab.Geben Sie anschließend die LoL aus.
![Page 12: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/12.jpg)
12
Aufgabe 7-2
Lesen Sie die Datei daten7-1.txt ein.In jeder Zeile sind 3 Zahlen, jeweils durch Leerzeichen
getrennt, enthalten.Speichern Sie diese Zahlen einzeln in einer List of Lists
(LoL) ab.Multiplizieren Sie in einem Unterprogramm die Elemente
der Lol jeweils mit sich selbst.Geben Sie anschließend die LoL in die Datei out7-1.txt aus.
![Page 13: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/13.jpg)
13
Dateiinformationen
$_="bla.txt";if (-e) {}; # existiertif (-z) {}; # Laenge 0if (-s) {}; # Laenge nicht 0if (-f) {}; # normale Datei (file)if (-d) {}; # Verzeichnis (directory)
![Page 14: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/14.jpg)
14
File::Find#! perl -wsub gefunden{ print "$File::Find::name\n"}
use File::Find;print 'Ab welchem Verzeichnis soll gesucht werden?';$startdir=<STDIN>;chomp ($startdir);find(\&gefunden,$startdir);
![Page 15: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/15.jpg)
15
File::Find (globale Var.)sub gefunden{if (-d) { push (@list, $File::Find::name.'/',"\n")}else {push (@list, $File::Find::name,"\n")}} # Achtung: große Systeme => @list großuse File::Find;print 'Ab welchem Verzeichnis soll gesucht werden?';$startdir=<STDIN>;chomp ($startdir);find(\&gefunden,$startdir);print @list;
![Page 16: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/16.jpg)
16
Aufgaben
7-3 Suchen Sie innerhalb des Dateibaumes alle Dateien, deren Name die Sequenz win enthält. Geben Sie die Dateinamen aus.
7-4 Suchen Sie innerhalb des Dateibaumes alle Dateien, in deren Inhalt die Sequenz c: vorkommt. Geben Sie die Dateinamen aus.
![Page 17: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/17.jpg)
17
Fehlersuche(1)
#! perl -wuse diagnostics;use strict;
![Page 18: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/18.jpg)
18
Fehlersuche (2)
$test=1;...if($test) print ......if($test) print ....
![Page 19: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/19.jpg)
19
Kontrolle des Dateiöffnens
open(XYZ,$file) || die "Oeffnen: $file $!\n";# Dateiname, Ursache
open(XYZ,$file) || die "Oeffnen: $file $!";# Dateiname, Ursache, rufendes Programm, Zeile
![Page 20: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/20.jpg)
20
Häufige Schnitzer
• print STDOUT,$a;• Verwenden der falschen Vergleichsoperatoren (==
statt eq)• Semikolon vergessen• Bei Blöcken geschweifte Klammern vergessen• Bei local Vererbung vergessen• Klammerebenen durcheinander bringen• Durcheinanderbringen von $,@,%,&
![Page 21: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/21.jpg)
21
Zusammenfassung I
• Philosophie von PERL• Bildschirmausgabe• Variablen und ihre Benutzung
Skalare, Felder ( Vektoren, Listen )• Einlesen größerer Datenmengen• Schleifen• Vergleiche• Wahrheit
![Page 22: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/22.jpg)
22
Zusammenfassung II
• Mustervergleiche• Weitere Textfunktionen tr,split ...• Assoziative Vektoren• Spezielle Variable• Hier-Dokument• Unterprogramme• Mehrdimensionale Felder• Module
![Page 23: 1 Tagesüberblick 7 Lösung Hausaufgabe/Fragen mehrdimensionale Datenstrukturen Module Fehlersuche Zusammenfassung Feedback](https://reader035.vdocuments.pub/reader035/viewer/2022062818/570491c31a28ab14218d97e0/html5/thumbnails/23.jpg)
23
Feedback
• Was hat Ihnen gefallen?
• Was hat Sie gestört?
• Was hat Ihnen gefehlt?