Inf2015

Aus ProgrammingWiki
< EGE
Archivierte Version vom 2016-05-06T15:27:44+00:00. Aktuelle Version

Inhaltsverzeichnis

Netzwerke

...

Datensicherheit

  • Grundlagen / Grundprinzipien
  • symmetrische Verfahren (zuerst wird der Schlüssel ausgetauscht, dann die Nachricht)
    • Transposition (Buchstaben anders anordnen) - Bsp: Skytale
    • Substitution (Buchstaben ersetzen)
  • asymmetrische Verfahren
    • RSA (öffentliche und nicht-öffentliche Schlüssel)



Modelle

Modelle

Programmierung

Freiwillige Aufgabe für die Ferien: Schreiben Sie ein Programm, das zwei Brüche addieren kann. Dabei werden jeweils Zähler und Nenner eingegeben. Die Ausgabe ist ein neuer Bruch - es werden also wiederum Zähler und Nenner ausgegeben.

Zusatz: Kürzen Sie das Resultat. Dies gelingt am einfachsten, wenn Sie Zähler und Nenner des Resultats durch ihren größten gemeinsamen Teiler (ggT) dividieren (ggT-Algorithmus kann gegooglet werden).

Lösung:

a = int(input("Zähler erster Bruch (a)"))
b = int(input("Nenner erster Bruch (b)"))
c = int(input("Zähler zweiter Bruch (c)"))
d = int(input("Nenner zweiter Bruch (d)"))

neuZaehler = a * d + c * b
neuNenner  = b * d

print("Addition der Brüche ergibt " + str(neuZaehler) + "/" + str(neuNenner))


def ggT(a, b): # schwerer Algorithmus
  if(0 == a % b):
     return b
  return ggT(b, a%b) # % ist der Rest bei der ganzzahligen Division

#Zusatz:
meinGGT    = ggT(neuZaehler, neuNenner)
neuZaehler = neuZaehler / meinGGT
neuNenner  = neuNenner  / meinGGT

print("Addition der Brüche ergibt " + str(neuZaehler))
if(neuNenner != 1):
   print("Addition der Brüche ergibt " + str(neuZaehler) +"/" + str(neuNenner))
else:
   print("Addition der Brüche ergibt " + str(neuZaehler))