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