1. Frage
Lösung
#Aufgabe 9.1 _______________________________________ Dezimal | Binär | Oktal | Hex | --------------------------------------- 15 | 1111 | 17 | F | 22 | 10110 | 26 | 16 | 256 | 1 00000000 | 400 | 100 | 512 | 10 00000000 | 1000 | 200 | 1024 | 100 00000000 | 2000 | 400 | 2048 | 1000 00000000 | 4000 | 800 | ---------------------------------------
2. Frage
Lösung
#Aufgabe 9.2 Weiß ÄäÜüÖö in ISO-Latin: 0000000 062527 157551 142012 156344 153374 000366 0000013 in UTF-8: 0000000 062527 141551 005237 102303 122303 116303 136303 113303 0000020 133303 0000022 (mehr Bytes in UTF-8, da Multibyte-Character enthalten sind)
3. Frage
Lösung
#Aufgabe 9.3 über inp.txt: 0000000 303 274 b e r 303 274 142 145 162 utf8.txt: 0000000 303 274 b e r 303 274 142 145 162 iso.txt: 0000000 374 b e r 374 142 145 162 inp.txt = 4 bytes inpISO.txt = 4 bytes inpUTF8 = 5 bytes Welche Dateien identisch sind, hängt davon ab, ob inp.txt im ISO-LATIN oder UTF8 Format gespeichert wurde und ob es überschüssige \n-Zeichen oder ähnliches gibt. Befehl (z.B.): diff -qs
4. Frage
Lösung
#!/usr/bin/perl #Aufgabe 9.4.1 #Liest zwei Wörter ein und testet, ob es sich um Zwei Anagramme handelt use strict; use warnings; use locale; my ($word1, $word2, @list1, @list2); my $anagramme = "true"; print "Bitte geben Sie das erste Wort ein: "; chomp($word1 = <>); $word1 = lc($word1); print "Bitte geben Sie das zweite Wort ein: "; chomp($word2 = <>); $word2 = lc($word2); @list1 = split(//,$word1); @list2 = split(//,$word2); @list1 = sort(@list1); @list2 = sort(@list2); if(length($word1) != length($word2)) { $anagramme = "false"; print "Die Länge der beiden Wörter stimmt schon gar nicht überein =>\nKeine Anagramme\n"; } else { for(my $i=0;$i<length($word1);$i++) { if($list1[$i] ne $list2[$i]) { $anagramme = "false"; last; } } if ($anagramme eq "true") { print "$word1 und $word2 sind Anagramme :)\n"; } else { print "$word1 und $word2 sind keine Anagramme :(\n"; } }
#!/usr/bin/perl #Aufgabe 9.4.2 #Liest ein Wort ein und testet, ob es ein Anagramm zum intern gespeicherten Wort ist use strict; use warnings; use locale; my ($word,@list1,@list2); my $myWord = "hobbit"; my $anagramme = "true"; print "Bitte geben Sie ein Wort ein: "; chomp($word = <>); $word = lc($word); @list1 = split(//,$myWord); @list2 = split(//,$word); @list1 = sort(@list1); @list2 = sort(@list2); if(length($word) != length($myWord)) { $anagramme = "false"; print "Die Länge des eingegebenen Wortes stimmt nicht mit der Länge des internen Wortes überein.\nSie sind keine Anagramme von einander.\n"; } else { for(my $i=0;$i<length($word);$i++) { if($list1[$i] ne $list2[$i]) { $anagramme = "false"; last; } } if ($anagramme eq "true") { print "Das eingegebene Wort und das interne Wort sind Anagramme von einander.\n"; } else { print "Das eingegebene Wort und das interne Wort sind keine Anagramme von einander.\n"; } }
5-8. Frage
Lösung
#!/usr/bin/perl #Aufgabe 9.5-9.8 #Fordert den Benutzer auf, ein Anagramm zu einem intern gespeicherten Wort zu finden use strict; use warnings; use utf8; use locale; my ($word1,@list1,@list2); my $myWord = "Hobbit"; my $anagramme = "true"; my $lcWord = lc($myWord); print "Finden Sie ein Anagramm zu \"$myWord\": "; chomp($word1 = <>); my $lcword1 = lc($word1); @list1 = split(//,$lcword1); @list2 = split(//,$lcWord); @list1 = sort(@list1); @list2 = sort(@list2); if(length($lcword1) != length($lcWord)) { $anagramme = "false"; print "Die Länge von \"$word1\" stimmt schon gar nicht mit der Länge von \"$myWord\" überein =>\nKeine Anagramme\n"; } else { for(my $i=0;$i<length($lcword1);$i++) { if($list1[$i] ne $list2[$i]) { $anagramme = "false"; last; } } if ($anagramme eq "true") { print "\"$word1\" und \"$myWord\" sind Anagramme von einander.\n"; } else { print "\"$word1\" und \"$myWord\" sind keine Anagramme von einander.\n"; } }