Lösung Aufgabe 4 in Ruby:
# =============================== # PROGRAM caesar objektorientiert # mit einer Satzklasse # =============================== class Satz def initialize @satz = "Dieser Satz ist neu!" end def einlesen puts "Bitte Satz eingeben:" @satz = gets.chomp puts @satz end def ausgeben puts @satz end def verschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 verschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl+versatz buchstabe = asciizahl.chr verschluesselter_satz = verschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = verschluesselter_satz end def entschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 entschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl-versatz buchstabe = asciizahl.chr entschluesselter_satz = entschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = entschluesselter_satz end end puts "--------------------------------" satz = Satz.new codewort = "" puts "\n\n\n\n" puts "Ein kleines Programm zur" puts "Demonstration der" puts "Caesar-Verschlüsselung" satz.einlesen puts "Unverschluesselt: " satz.ausgeben satz.verschluesseln "C" puts "Verschluesselt: " satz.ausgeben satz.entschluesseln "C" puts "Entschluesselt: " satz.ausgeben # ENDE des Programms # =============================== # PROGRAM caesar objektorientiert # mit einem Objekt Satz # =============================== satz = Object.new # Operationen Satz def satz.initialize @satz = "Dieser Satz ist neu!" end def satz.einlesen puts "Bitte Satz eingeben:" @satz = gets.chomp puts @satz end def satz.ausgeben puts @satz end def satz.verschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 verschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl+versatz buchstabe = asciizahl.chr verschluesselter_satz = verschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = verschluesselter_satz end def satz.entschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 entschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl-versatz buchstabe = asciizahl.chr entschluesselter_satz = entschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = entschluesselter_satz end # Ende der Operationen des Satzes puts "--------------------------------" satz = Satz.new codewort = "" puts "\n\n\n\n" puts "Ein kleines Programm zur" puts "Demonstration der" puts "Caesar-Verschlüsselung" satz.einlesen puts "Unverschluesselt: " satz.ausgeben satz.verschluesseln "C" puts "Verschluesselt: " satz.ausgeben satz.entschluesseln "C" puts "Entschluesselt: " satz.ausgeben # ENDE des Programms
Lösung Aufgabe 4 in Ruby:
# ====================================================================== # PROGRAM caesar objektorientiert mit einer Satzklasse # ====================================================================== class Satz def initialize @satz = "Dieser Satz ist neu!" end def einlesen puts "Bitte Satz eingeben:" @satz = gets.chomp puts @satz end def ausgeben puts @satz end def verschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 verschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl + versatz buchstabe = asciizahl.chr verschluesselter_satz = verschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = verschluesselter_satz end def entschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 entschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl - versatz buchstabe = asciizahl.chr entschluesselter_satz = entschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = entschluesselter_satz end end puts "-----------------------------------------------------------------" satz = Satz.new codewort = "" puts "\n\n\n\n" puts "Ein kleines Programm zur Demonstration der Caesar-Verschlüsselung" satz.einlesen puts "Unverschluesselt: " satz.ausgeben satz.verschluesseln "C" puts "Verschluesselt: " satz.ausgeben satz.entschluesseln "C" puts "Entschluesselt: " satz.ausgeben # ENDE des Programms # ====================================================================== # PROGRAM caesar objektorientiert mit einem Objekt Satz # ====================================================================== satz = Object.new # Operationen Satz def satz.initialize @satz = "Dieser Satz ist neu!" end def satz.einlesen puts "Bitte Satz eingeben:" @satz = gets.chomp puts @satz end def satz.ausgeben puts @satz end def satz.verschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 64 verschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl + versatz buchstabe = asciizahl.chr verschluesselter_satz = verschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = verschluesselter_satz end def satz.entschluesseln(codewort) buchstabe = "" asciizahl = 0 stelle = 0 versatz = codewort.ord - 48 entschluesselter_satz = "" while stelle < @satz.length buchstabe = @satz[stelle] asciizahl = buchstabe.ord asciizahl = asciizahl - versatz buchstabe = asciizahl.chr entschluesselter_satz = entschluesselter_satz + buchstabe stelle = stelle + 1 end @satz = entschluesselter_satz end # Ende der Operationen des Satzes puts "-----------------------------------------------------------------" codewort = "" puts "\n\n\n\n" puts "Ein kleines Programm zur Demonstration der Caesar-Verschlüsselung" satz.einlesen puts "Unverschluesselt: " satz.ausgeben satz.verschluesseln "C" puts "Verschluesselt: " satz.ausgeben satz.entschluesseln "C" puts "Entschluesselt: " satz.ausgeben # ENDE des Programms