Identitätstest: Kennung

Größe: px
Ab Seite anzeigen:

Download "Identitätstest: Kennung"

Transkript

1 Identitätstest: Kennung (Ernst Erich Schnoor) Wer kennt das Problem nicht? Beim Surfen im Internet erwartet fast jeder Partner die Eingabe eines Passworts, bevor er die Nutzung seiner WEBseiten freischaltet. Das führt sehr schnell zu einer Vielzahl von Passwörtern, die sich dann nur noch in umfangreichen Listen oder Datenbanken speichern und verwalten lassen. Außerdem dürfen manche Passwörter eine bestimmte Länge etwa 12 bis 16 Zeichen nicht übersteigen. Bei heutiger Angriffstechnik sind die relativ kurzen Begriffe nicht mehr sicher. Um diesem Problem zu entkommen, bietet das hier vorgestellte Programm eine einfache Lösung. An Stelle eines Passworts dient eine individuelle Zeichenfolge mit bis zu 100 Zeichen als Identitätsmerkmal. Zum Beispiel: Der Bamberger Reiter hat seine Hufeisen verloren, Kaiser Friedrich Barbarossa hat kein Handy mehr, Die Schildbürger fegen den Teutoburger Wald, Im Steinhuder Meer schwimmen 267 Steinbeisser. Die Zeichenfolge als Kennung sollte ungewöhnlich sein und dennoch leicht zu behalten. Sie muss nicht aufgeschrieben werden und läßt sich auch wegen ihrer Länge nicht erraten. Sie sollte auch nicht gespeichert werden. Ein Angreifer kann auch nicht mit Erfolg versuchen, Teile der Sequenz getrennt oder nacheinander zu brechen, da die Zeichen nur in einem Durchgang als Ganzes gefunden werden könnten, wenn überhaupt. Die gleiche Kennung kann für alle auftretenden Fälle verwendet werden, wo bisher ein Passwort verlangt wurde und auf der Gegenseite nunmehr dasselbe Programm arbeitet. Generator Zur Datenbearbeitung wird der Generator des CypherMatrix Verfahrens [#1] eingesetzt. Als Beispiel die Kennung: Der Bamberger Reiter hat seine Hufeisen verloren (48 Zeichen). Als erste Stufe wird jedes Zeichen positionsgewichtet, indem sein Wert mit seiner Position p(i) innerhalb der Sequenz und der Zeit t multipliziert wird. Die Zeit ist nicht relevant, daher t = 1. n (a(i) + 1) * p(i) * t(i) t(i) = 1 i = 1 Zwar unterscheiden sich die Zeichen a(i), aber Kollisionen als Folge des Austauschs von Zeichen innerhalb der Kennung sind noch nicht ausgeschlossen. Zur Vermeidung von Kollisionen wird die Trennkonstante C(k) eingeführt.

2 Sie bestimmt sich allein aus der Länge der Sequenz (n = 48): C(k) = n * (n-2) + code (code = 1) Für die Kennung Der Bamberger Reiter hat seine Hufeisen verloren ergibt sich die Trennkonstante C(k) = 2209 Unter Einbindung von C(k) wird der Zwischenwert H(p) wie folgt errechnet: n H(p) = (a(i)+1) * (C(k) + p(i)) i = 1 H(p) = Zur Ermittlung der Bestimmungsfaktoren wird eine zusätzliche Hashfunktions folge eingeführt, die die Eingangsdaten zu einer umfangreichen Folge in einem höherwertigen Zahlensystem (Basis 77) expandiert (Ex). Gleichzeitig ermittelt das Verfahren die Summe aller Ergebnisse als zusätzlichen Bestimmungswert H(k): n H(k) = ((a(i)+1) * H(p) * p(i)) + p(i) + r(j) i = 1 Hashfunktionsfolge: H(k) = kbmrhxhxlä1nuaapcfrzd1känδq2hquaδ2γögr930jcws3b2ξmf4rxγjb4q21oü4ntlts5pd tu91vüδlg4tdvπt6edbξk6übeoi7πγgxd7qäbux8tgöcθ2mquwn8wao4o8g9msξanöλj039ü 6öYbxLoBEay8üöGbjKc3PcfükΛtbKzGnT3öRMI08ä5f6WeWΞΠIKdlDÖÖ5dFsNrPeAfqBSgle2kÄe RTmYÜgvΠü0x50vΘKÜiCIljVgißd2uiVß9BBieqhudj8IΞgqk4IJΞ9idWk6qkfPΔßQQßΔPfkq6kWdi9 ΞJI4kqgΞI8jduhqeiBB9ßViu2dßigVjlICiÜKΘv05x0üΠvgÜYmTReÄk2elgSBqfAePrNsFd5ÖÖDldKI ΠΞWeW6f5ä80IMRö3TnGzKbtΛküfcP3cKjbGöü8yaEBoLxbYö6ü930jΛöNaΞsM9G8o4OAW8nwu qm2θcögt8xubäq7dxgγπ7ioebü6kξbde6tπvdt4glδüv19utdp5stltn4üo12q4bjγxr4fmξ2 B3SWcj039rGÖΓ2ΔaUQh2qΔNÄk1DzRFCPAAUn1ÄLxHXHRmbk Die vorstehende Folge sind Ziffern im Zahlensystem zur Basis 77. Es gibt zur Eingabe kein Weg zurück (erste Einweg-Funktion). Aus den Ergebnissen für H(p) und H(k) generiert das Programm die folgenden Parameter: Alpha = (H(k) + H(p)) MOD 127)+1 Offset Runden-Alphabet: 121 Theta = (H(k) MOD 32)+1 Beginn Kontraktion: 25 Um die Werte der Hashfunktionsfolge auf dezimale Größen zurückzuführen wird eine Kontraktfunktion (Con) eingeführt. Für die Rückführung wird das Zahlensystem zur Basis 78 unterstellt. Jeweils drei Ziffern der Folge werden seriell durch Modulo 256 in dezimale Zahlen 0 bis 255 (ohne Wiederholung) zurückgerechnet und als Index der Zeichen im System-Alphabet verwendet (zweite Einweg-Funktion). Die Zeichen werden in einem Array von 16x16 Elementen als Basisvariation gespeichert.

3 Folgende Entwicklung ab Theta = 25+1 (... q2hquaδ... ) Im Einzelnen: Ziff. dezimal MOD 256 Zeichen (78) (Hashf.folge) q2h L 2hQ Θ hqu D QUa (---) UaΔ (bereits vorhandene Daten werden übersprungen) Die Zeichen für die Basisvariation werden aus ihrer Position in der Hashfunktionsfolge abgeleitet. LΘD4Vü2iÖäuPblxRYqcsB8ÜafCehwöFng3WjtkΞΠGMmXANΛKUo1SEßH0Δ9vQ TIÄzr65Γ7βγδεζηθικλµνξπρςστυφχψωЀЁЄЉЊЋЌЍЎЏАЖЗИЙКбвгдежзийкл Aus den generierten Daten ergeben sich die folgenden partiellen Hashwerte: Hashwert Basis 10: Hashwert Basis 16: 114efe20f53 Hashwert Basis 62: kwjyk83 Die endgültige Kennung entsteht dann aus der Zusammenfassung der einzelnen Werte wie folgt: Kennung: kwjyk efe20f53 Die Kennung wird auf der Gegenseite gespeichert und im Testfall mit dem identischen Ablauf auf Übereinstimmung geprüft. Quellcode des Programms Kennung.py import sys, os # -*- coding: cp1252 -*- # Definition Zahlen Cypher: Zahlen-Code zahlen = "" t1 = "" t2 = "" t3 = "" t4 = "" t5 = "" t6 = "" t7 = "" t8 = "" t9 = "" t10 = "" t11 = "" t12 = ""

4 for i in range(49,58): t1 += chr(i) for i in range(97,123): t2 += chr(i) for i in range(65,91): t3 += chr(i) t4 = chr(196)+chr(214)+chr(220)+chr(223)+chr(228)+chr(246)+chr(252)+chr(8369) for i in range(915,917): t5 += chr(i) t6 = chr(920)+chr(923)+chr(926)+chr(928)+chr(931)+chr(934)+chr(936)+chr(937) for i in range(945,959): t7 += chr(i) for i in range(960,970): t8 += chr(i) t9 = chr(1024)+chr(1025)+chr(1028) for i in range(1033,1041): t10 += chr(i) for i in range(1046,1051): t11 += chr(i) for i in range(1073,1084): t12 += chr(i) zahlen = t1+t2+t3+t4+t5+t6+t7+t8+t9+t10+t11+t12 def nachsys(basis,q): # Zahlenwandel von dez sys digitset = "0"+zahlen ergebnis = "" umfang = "" z="" zd="" if basis>10: umfang=digitset[10:basis] while q > 0: z=int(q % basis) if z>9: zd=umfang[z-10:z-9] else: zd=str(z) q = (q-z)/basis ergebnis=zd+ergebnis return ergebnis def nachdez(basis,syszahl): # Zahlenwandel von sys dez digitset = zahlen umfang = digitset[:basis-1] zahl=0 ziffer = "" dezzahl = 0

5 laenge = len(syszahl) hoch = laenge for n in range(laenge): hoch -= 1 n += 1 ziffer = syszahl[n-1] if ziffer: zahl = umfang.find(ziffer)+1 else: zahl = int(ziffer)+1 dezzahl = dezzahl + zahl*basis**hoch return dezzahl def generator(abschn,cd): # Generator Prozess l = len(abschn) ck = (l * (l-2)) + cd n = 0 s = 0 ss= 0 hp = 0 hs = 0 hk = 0 hw = 0 for z in abschn[0:(l+1)]: n += 1 s = (ord(z)+1) * (ck +n) hp = hp + s hashfolge = "" folgehash = "" ergebnis = "" n = 0 for z in abschn[0:(l+1)]: n += 1 ss = ((ord(z)+1) * n * hp) +n+cd+1 ergebnis = nachsys(77,ss) hashfolge = hashfolge + ergebnis hk = hk + ss # Schleife auf 0 stellen # Zahlenwandel: dez --> sys hs = hp + hk folgehash = hashfolge[::-1] cyphfolge = hashfolge+folgehash lange = len(cyphfolge) alpha = ((hk + hp) % 127) + 1 theta = (hk % 32) + 1 slip = "" digit = ""

6 zahl = 0 element = "" umfang = 0 i = theta matrix = "" for z in cyphfolge[:lange]: i += 1 slip = cyphfolge[i:i+3] digit = nachdez(78,slip) digit = int(digit) hw = hw + digit # Zahlenwandel: sys --> dez zahl = digit % 256 element = cyphfolge[zahl] if element in matrix: element = "" else: matrix = matrix + element # Position in der Hashfunktionsfolge umfang = len(matrix) rest = 0 zusatz = "" if umfang < 256: rest = umfang zusatz = zahlen[80:80 + rest] matrix = matrix + zusatz alphabet = matrix[alpha:alpha+128] hs = hs + hw return alphabet, hs # Hauptprogramm... Hauptprogramm alphabet = "" cd = 1 lesen = input(" Eingabe Kennung: ") breite = len(lesen) print(" Umfang: ",breite) # Eingabe Kennung # Auswahl wahl = input(" Wahl: testen..t.. / schreiben..s.. / beenden..q.. > ") zeile = "" summe = 0 hashwert = 0 zeile = lesen[0:breite]

7 for z in zeile: digit = ord(z) summe = summe + digit alphabet,hs = generator(zeile,cd) summe = summe + hs # Generator for y in alphabet: digit = ord(y) summe = summe + digit alphabet,hs = generator(alphabet,cd) summe = summe + hs # Generator werthash = nachsys(16,summe) hashwert = nachsys(62,summe) summe = str(summe) werthash = str(werthash) hashwert = str(hashwert) kennung = hashwert+summe+werthash if wahl == "t": datei = "vergleich.txt" inhalt = open(datei,"rb") reihe = inhalt.read() vergleich = reihe.decode() # Kennung testen # Vergleich einlesen if kennung == vergleich: print(" Übereinstimmung!") else: print(" Keine Übereinstimmung") print(" Start: ",kennung) print( Kopie:,Vergleich) # Ausgabe Daten inhalt.close() elif wahl == "s": # Kennung schreiben lesen = kennung zeichen = lesen.encode("utf8") zeichen = bytes(zeichen) datei = "vergleich.txt" inhalt = open(datei,"wb") inhalt.write(zeichen) print(" Erfolgreich gespeichert") anzeige = zeichen.decode() print(" Kopie: ",anzeige) lang = len(anzeige) print(" Länge: ",lang) # Speichern Kennung # Ausgabe Daten inhalt.close()

8 else: sys.exit(0) # Prozess beenden sys.exit(0) Für Rückfragen steht der Autor unter eschnoor@multi-matrix.de jederzeit gern zur Verfügung. München im Mai 2017 Ernst Erich Schnoor [#1] Artikel: telecypher.net/matrixcode.pdf

Python-Hashfunktion. (Ernst Erich Schnoor)

Python-Hashfunktion. (Ernst Erich Schnoor) Python-Hashfunktion (Ernst Erich Schnoor) Die wesentliche Aufgabe einer Hashfunktion besteht in der Umformung digitaler Zeichen beliebiger Länge (n) zu einer eindeutigen digitalen Ausgabe (H) in festgelegter

Mehr

Python-Module. (Ernst Erich Schnoor)

Python-Module. (Ernst Erich Schnoor) 1 Python-Module (Ernst Erich Schnoor) Im Folgenden sind einige Python-Module aufgeführt, die mit Python 3.6.2 unter IDLE / Run / Run Module aufgerufen und ausgeführt werden können ( CMLizenz.pdf ): Analyse.py

Mehr

(Ernst Erich Schnoor) >Generator.py< ist ein Python-Modul als Bestandteil der Basis-Funktion

(Ernst Erich Schnoor) >Generator.py< ist ein Python-Modul als Bestandteil der Basis-Funktion Generator (Ernst Erich Schnoor) >Generator.py< ist ein Python-Modul als Bestandteil der Basis-Funktion >CypherMatrix < Die Funktion arbeitet in zwei Bereichen: Der Generator erzeugt die Steuerungsparameter

Mehr

TeleCypher und Sicherheit (Ernst Erich Schnoor)

TeleCypher und Sicherheit (Ernst Erich Schnoor) TeleCypher und Sicherheit (Ernst Erich Schnoor) telecypher ist ein Verschlüsselungsprogramm in Python-Technik. Grundlage ist das CypherMatrix Verfahren, das vom Autor in mehrjähriger Arbeit in Power- Basic

Mehr

(Ernst Erich Schnoor)

(Ernst Erich Schnoor) Bit- und Byte-Technik in der Kryptographie (Ernst Erich Schnoor) Kryptographie ist Schreiben und Lesen von geheimen Informationen mit arteigenen Methoden (Verschlüsselung). Seit Jahrtausenden haben Menschen

Mehr

Schlüsselaustausch >CypherMatrix Key-Exchange<

Schlüsselaustausch >CypherMatrix Key-Exchange< Schlüsselaustausch >CypherMatrix Key-Exchange< (Ernst Erich Schnoor) Im Gegensatz zu heute angewendeten Algorithmen wird im CypherMatrix Verfahren die Verschlüsselung in zwei Bereichen durchgeführt. Ein

Mehr

Sicherheit des CypherMatrix Verfahrens

Sicherheit des CypherMatrix Verfahrens Sicherheit des CypherMatrix Verfahrens (Ernst Erich Schnoor) Das CypherMatrix Verfahren teilt sich in zwei Bereiche: Generator zur Erzeugung aller notwendigen Bestimmungsdaten und Codierbereich für die

Mehr

Neue Hashfunktionen. 1 Systematisierung der Bitfolgen

Neue Hashfunktionen. 1 Systematisierung der Bitfolgen Neue Hashfunktionen (Ernst Erich Schnoor) Die wesentliche Aufgabe einer Hashfunktion besteht in der Umformung digitaler Zeichen beliebiger Länge (n) zu einer eindeutigen digitalen Ausgabe (H) in festgelegter

Mehr

Aufbau des Daten Generators. CypherMatrix arbeitet mit zwei getrennten Bereichen:

Aufbau des Daten Generators. CypherMatrix arbeitet mit zwei getrennten Bereichen: CypherMatrix Aufbau des Daten Generators CypherMatrix arbeitet mit zwei getrennten Bereichen: Beide Bereiche werden miteinander kombiniert, können aber auch getrennt voneinander eingesetzt werden. Die

Mehr

Schlüssel erzeugen vor Ort

Schlüssel erzeugen vor Ort Schlüssel erzeugen vor Ort (Ernst Erich Schnoor) Im Gegensatz zu den heute angewendeten Algorithmen wird im CypherMatrix Verfahren die Verschlüsselung auf zwei Bereiche verteilt: Der Generator erzeugt

Mehr

CypherMatrix als kryptographischer Daten Generator Ernst Erich Schnoor, München

CypherMatrix als kryptographischer Daten Generator Ernst Erich Schnoor, München CypherMatrix als kryptographischer Daten Generator Ernst Erich Schnoor, München Vorbemerkungen Die ursprüngliche Absicht war, nur ein neues Verschlüsselungsprogramm zu suchen - und zwar über die heute

Mehr

Aufbau der Basis Funktion. CypherMatrix arbeitet mit zwei getrennten Bereichen:

Aufbau der Basis Funktion. CypherMatrix arbeitet mit zwei getrennten Bereichen: CypherMatrix Aufbau der Basis Funktion CypherMatrix arbeitet mit zwei getrennten Bereichen: Beide Bereiche werden miteinander kombiniert, können aber auch getrennt voneinander eingesetzt werden. CypherMatrix

Mehr

>CypherMatrix< als dynamische Hash Funktion

>CypherMatrix< als dynamische Hash Funktion >CypherMatrix< als dynamische Hash Funktion (Ernst Erich Schnoor) Die wesentliche Aufgabe einer Hashfunktion besteht in der Umformung digitaler Zeichen beliebiger Länge (n) zu einer eindeutigen digitalen

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

Informatik II Übung, Woche 10

Informatik II Übung, Woche 10 Giuseppe Accaputo 10. März, 2016 Plan für heute 1. Typumwandlung (Typecasts) 2. Ordnerstruktur für Übungen 3. Vorbesprechung Übung 3 4. Nachbesprechung Übung 2 (inkl. Live Programmierung) Informatik II

Mehr

(Ernst Erich Schnoor)

(Ernst Erich Schnoor) Codegraphie (Ernst Erich Schnoor) Mit dem CypherMatrix Verfahren Bezeichnung vom Autor - werden neue Zusammenhänge in der Kryptographie aufgezeigt. Bedingt durch Bitsysteme und Bit-Konversionen entstehen

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 8 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen.

Steht in der ersten Zeile #!/usr/bin/python und hat man die Ausführungsrechte gesetzt kann man es direkt ausführen. Python Unter Windows empfiehlt sich der Download von Python unter folgender URL, http:// www.python.org/download/. Linux Distributionen wie z.b. Ubuntu liefern Python direkt in Ihrer Paketverwaltung mit:

Mehr

Hans-Georg Eßer Betriebssysteme, WS 2006/07. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Fachhochschule München 08.11.

Hans-Georg Eßer Betriebssysteme, WS 2006/07. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Fachhochschule München 08.11. Fachbereich Informatik/Mathematik Übungsblatt 1, Seite 1/5 Vorbereitung Booten Sie den Rechner unter Linux. Melden Sie sich mit Ihrem ifw... - oder ibw... -Account an (Passwort ist evtl. die Matrikelnummer).

Mehr

Einführung in Python Teil I Grundlagen

Einführung in Python Teil I Grundlagen Einführung in Python Teil I Grundlagen Valentin Flunkert Institut für Theoretische Physik Technische Universität Berlin Do. 27.5.2010 Nichtlineare Dynamik und Kontrolle SS2010 1 of 22 Diese Einführung

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: B Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 6 Pkt.) a) Geben

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Matthias Wieczorek Computer-Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Anweisungen in Python

Anweisungen in Python Sommersemester 2007 1 if 2 elif 3 while 4 for 5 Schleifenabbruch Blockbildung Blockbildung durch Einrücken Keine Klammerung Empfehlungen Leerzeichen verwenden 4 Leerzeichen einrücken Unterstützenden Editor

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016

Mehr

Übung zu Algorithmen und Datenstrukturen (für ET/IT)

Übung zu Algorithmen und Datenstrukturen (für ET/IT) Übung zu Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2017 Rüdiger Göbl, Mai Bui Computer Aided Medical Procedures Technische Universität München Administratives Zentralübung (Mittwoch, 09:45

Mehr

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue

Kontrollstrukturen. Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Kontrollstrukturen Verzweigungen Einfache Mehrfache Wiederholungen Eine Sequenz durchlaufen Wiederhole bis Solange. Tue Einfache Verzweigung Eine Verzweigung erlaubt das bedingte Ausführen bestimmter Programm-Teile.

Mehr

Auf Empfängerseite erfolgt die Entschlusselung im gleichen Schema, allerdings in umgekehrter Reihenfolge. Das folgende Schema zeigt die Struktur:

Auf Empfängerseite erfolgt die Entschlusselung im gleichen Schema, allerdings in umgekehrter Reihenfolge. Das folgende Schema zeigt die Struktur: Gesicherter Schlüsselaustausch >Python: Key-Exchange< (Ernst Erich Schnoor) Die Verschlusselung das Schreiben und Lesen von geheimen Informationen wird im CypherMatrix Verfahren in zwei Bereichen durchgefuhrt.

Mehr

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany

Zeichenketten Benedikt Straßner. Programming Systems Group Martensstr Erlangen Germany Zeichenketten 16.04.2018 Benedikt Straßner Programming Systems Group Martensstr. 3 91058 Erlangen Germany Übersicht String Matching Algorithmen Naive Stringsuche Knuth Morris Pratt (KMP) Algorithmus Boyer-Moore

Mehr

1 Stückweise konstante Funktionen (ca =10 Punkte)

1 Stückweise konstante Funktionen (ca =10 Punkte) Einführung in die wissenschaftliche Programmierung Klausur Seite 1/5 Name, Vorname, Unterschrift: Matrikelnummer: 1 Stückweise konstante Funktionen (ca. 4+2+4=10 Punkte) In dieser Aufgabe soll eine Klasse

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

FACHHOCHSCHULE MANNHEIM

FACHHOCHSCHULE MANNHEIM für Java-Programmierer Der Präprozessor Prof. Dr. Wolfgang Schramm FACHHOCHSCHULE MANNHEIM Hochschule für Technik und Gestaltung Präprozessor Ist dem Compiler vorgeschaltet ( Prä -). Spezielle Anweisungen

Mehr

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:

Mehr

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle

7. Transitive Hülle. Kante des Graphen. Zusatz-Kante der transitiven Hülle In Anwendungen ist es oft interessant zu wissen, ob man überhaupt von einem Knoten v zu einem Knoten w gelangen kann, ganz gleich wie lang der Weg auch ist. Gegeben sei dabei ein gerichteter Graph G =

Mehr

Übungszettel 2a - Python

Übungszettel 2a - Python Vorsemesterkurs Informatik Übungsaufgaben Übungszettel 2a - Python Aufgabe 1: Python starten Teilaufgaben (a)-(c) beziehen sich auf das Arbeiten unter den Systemen, die auf den RBI-Rechnern installiert

Mehr

Wirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python

Wirtschaftsinformatik I (Bachelor) SS 07 Prof. Gomber. Python Python Programmiersprache: Syntax - legt die als Programm zulässigen Zeichenfolgen fest (Grammatik) Semantik - ist die Bedeutung der programmiersprachlichen Ausdrücke Algorithmus - genau formulierte Verarbeitungsvorschrift.

Mehr

// s = geom. Reihe 1 + q + q^2 + q^3 + + q^n. // float q; unsigned int n; float s = 0;

// s = geom. Reihe 1 + q + q^2 + q^3 + + q^n. // float q; unsigned int n; float s = 0; For-Schleife Anders als in C++ Definition: for x in list : statements Oft wird list durch die range-funktion generiert (s. später) Statt range kann jede andere Art von Listen stehen Erstes Beispiel eines

Mehr

Physische Datenstrukturen

Physische Datenstrukturen Elementare Datentypen Strukturierte Datentypen Zeiger Seite 1 Einfache Datentypen Datentyp char Verwendung: ASCII-Zeichen Wertebereich: alle darstellbaren Zeichen, 8 bit lange Ganzzahlen im Intervall -128

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Universität Innsbruck Institut für Informatik Zweite Prüfung 16. Oktober 2008 Algorithmen und Datenstrukturen Name: Matrikelnr: Die Prüfung besteht aus 8 Aufgaben. Die verfügbaren Punkte für jede Aufgabe

Mehr

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 27. März 2009 Gruppe: F Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

Beispiel 19. December 4, 2009

Beispiel 19. December 4, 2009 Beispiel 9 December 4, 2009 Computermathematik (für Informatik) 4. Übungsblatt (Musterlösung) 2. 2. 2009 Die heutigen Übungen sollen mit dem Computeralgebrasystem Sage gelöst werden. Die Lösung der Beispiele

Mehr

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik, am 11. Juli 2013 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 15 Pkt.) Was liefert

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 05. Oktober 2018 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen

Mehr

4 Schleifen und Dateien

4 Schleifen und Dateien 4 Schleifen und Dateien 4.1 Übungsaufgabe 4.1.1 Aufgabe 1 Schreiben Sie drei C++ Programme: pword_for.cxx, pword_while.cxx, pword_do.cxx. Die Programme sollen den Benutzer höchstens 5 Mal nach einem Passwort

Mehr

CypherMatrix Eine Basisfunktion in der Kryptographie

CypherMatrix Eine Basisfunktion in der Kryptographie CypherMatrix Eine Basisfunktion in der Kryptographie (Ernst Erich Schnoor) CypherMatrix ist ein neues kryptographisches Verfahren, das als Basisfunktion in fast allen Bereichen der Informationstechnik

Mehr

WS2017/ Oktober 2017

WS2017/ Oktober 2017 Einführung in die Programmierung Ronja Düffel WS2017/18 09. Oktober 2017 Rückblick Datentypen bool Zahlen (int und float) string Variablen Kontrollstrukturen Verzweigungen (if...: und if...else:) Schleifen

Mehr

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete.

12. Hashing. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Hashing einfache Methode um Wörtebücher zu implementieren, d.h. Hashing unterstützt die Operationen Search, Insert, Delete. Worst-case Zeit für Search: Θ(n). In der Praxis jedoch sehr gut. Unter gewissen

Mehr

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014

Python 2. Vorlesung Computerlinguistische Techniken Alexander Koller. 28. Oktober 2014 Python 2! Vorlesung Computerlinguistische Techniken Alexander Koller! 28. Oktober 2014 Listen Sequenz von beliebigen Werten. Literale: [], [1,2,3], [ hallo, True, -5.0] Hinten an Liste anhängen: L.append(27)

Mehr

Vorlesung Informatik 2 Algorithmen und Datenstrukturen

Vorlesung Informatik 2 Algorithmen und Datenstrukturen Vorlesung Informatik 2 Algorithmen und Datenstrukturen (12 Hashverfahren: Verkettung der Überläufer) Prof. Dr. Susanne Albers Möglichkeiten der Kollisionsbehandlung Kollisionsbehandlung: Die Behandlung

Mehr

Programming 101. Carl Herrmann IPMB & DKFZ

Programming 101. Carl Herrmann IPMB & DKFZ Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen

Mehr

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4

Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Grundlagen der Algorithmen und Datenstrukturen Kapitel 4 Christian Scheideler + Helmut Seidl SS 2009 06.05.09 Kapitel 4 1 Wörterbuch-Datenstruktur S: Menge von Elementen Jedes Element e identifiziert über

Mehr

Die Involutfunktion Inhalt

Die Involutfunktion Inhalt Die Involutfunktion Inhalt Inhalt...1 Grundlagen... Basic-Programm...3 Programm-Ablaufplan Involut rekursiv...3 Programm Involut rekursiv...4 Programme für CASIO fx-7400g PLUS...5 Involutfunktion...5 Involut

Mehr

Informatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr

Informatik I: Einführung in die Programmierung. Übungsblatt 3. Abgabe: Freitag, 15. November 2013, 18:00 Uhr Informatik I: Einführung in die Programmierung Prof. Dr. Bernhard Nebel Dr. Christian Becker-Asano, Dr. Stefan Wölfl Wintersemester 2013/2014 Universität Freiburg Institut für Informatik Übungsblatt 3

Mehr

Informatik B von Adrian Neumann

Informatik B von Adrian Neumann Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000

Mehr

Funktionen und Arrays in C

Funktionen und Arrays in C Funktionen und Arrays in C Lernziele: Vertiefen der Kenntnisse über die Verwendung von Funktionen sowie Arrays in C. Aufgabe 1: Quickies a) Welches Schlüsselwort muss verwendet werden, wenn eine Methode

Mehr

ÜBUNG 3 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

ÜBUNG 3 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER ÜBUNG 3 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN ICH KANN IMMER NOCH NICHT GEDANKEN LESEN http://www.cip.ifi.lmu.de/~weissweiler/#feedback FEHLERKORREKTUR Es stellt sich heraus, dass

Mehr

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS

INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS Julian Arz, Timo Bingmann, Sebastian Schlag INSTITUT FÜR THEORETISCHE INFORMATIK, PROF. SANDERS 1 KIT Julian Universität Arz, des Timo LandesBingmann, Baden-Württemberg Sebastian und Schlag nationales

Mehr

Herzlich willkommen!

Herzlich willkommen! Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in

Mehr

GI Vektoren

GI Vektoren Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung

Mehr

Informatik für Schüler, Foliensatz 10 Wiederholung und Listen

Informatik für Schüler, Foliensatz 10 Wiederholung und Listen Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 17. März 2010 1/15 Informatik für Schüler, Foliensatz 10 Wiederholung und Listen Prof. G. Kemnitz Institut für Informatik, Technische

Mehr

Kryptographische Anonymisierung bei Verkehrsflussanalysen

Kryptographische Anonymisierung bei Verkehrsflussanalysen Kryptographische Anonymisierung bei Verkehrsflussanalysen Autor: Andreas Grinschgl copyright c.c.com GmbH 2010 Das System besteht aus folgenden Hauptkomponenten: Sensorstationen Datenbankserver Anonymisierungsserver

Mehr

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen

6/23/06. Universelles Hashing. Nutzen des Universellen Hashing. Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen Universelles Hashing Problem: h fest gewählt es gibt ein S U mit vielen Kollisionen wir können nicht annehmen, daß die Keys gleichverteilt im Universum liegen (z.b. Identifier im Programm) könnte also

Mehr

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig (

6 Ein- und Ausgabe. Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( 6 Ein- und Ausgabe Bisher war unsere (Bildschirm-) Ausgabe leichtflüchtig ( Drucken war hoffnungslos übertrieben); heute lernen wir, wie wir die Ergebnisse unserer Programme abspeichern können, um sie

Mehr

Universität Duisburg - Essen

Universität Duisburg - Essen BoS - Klausur - Bauinformatik - 16.08.2007 1 Universität Duisburg - Essen Campus Essen Fakultät für Ingenieurwissenschaften Abteilung Bauwissenschaften Fachprüfung - Bauinformatik SS 07-1 - Dienstag, den

Mehr

Übung zu Einführung in die Informatik # 11

Übung zu Einführung in die Informatik # 11 Übung zu Einführung in die Informatik # 11 Tobias Schill tschill@techfak.uni-bielefeld.de 22. Januar 2016 Aktualisiert am 22. Januar 2016 um 11:36 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* Aufgabe

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: Algorithmen und Datenstrukturen Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010

Mehr

41.8 LUA-Grundlagen - Tabelle, if und Albernheit

41.8 LUA-Grundlagen - Tabelle, if und Albernheit 41.8 LUA-Grundlagen - Tabelle, if und Albernheit Autor: Goetz Quelle: Mein EEP-Forum In diesem Kapitel möchte ich eine erste, einfache Anwung von Lua auf einer Anlage zeigen. Ich werde mich dabei auf den

Mehr

Informatik II, SS 2016

Informatik II, SS 2016 Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 20 (13.7.2016) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

Informatik II, SS 2018

Informatik II, SS 2018 Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 20 (9.7.2018) String Matching (Textsuche) Algorithmen und Komplexität Textsuche / String Matching Gegeben: Zwei Zeichenketten (Strings)

Mehr

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline.

javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. javascript Coding-Guidelines 2. Ausgabe Februar 2015 Der Guideline beschreibt den verwendeten Coding-Stil von javascript als eigene Richtline. Inhalts-Verzeichnis 1. Allgemeine Richtlinien...1 1.1 Anzahl

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele

Mehr

String matching: Überblick

String matching: Überblick String matching: Überblick String matching = Erkennung von Zeichenketten. Problemstellung & Anwendungen Grundlagen Rabin-Karp Verfahren (basierend auf hashing) String-matching mit endlichen Automaten Knuth-Morris-Pratt

Mehr

VII. Hashfunktionen und Authentifizierungscodes

VII. Hashfunktionen und Authentifizierungscodes VII. Hashfunktionen und Authentifizierungscodes Bob Eve Eve möchte - lauschen - ändern - personifizieren Alice 1 Aufgaben - Vertraulichkeit Lauschen - Authentizität Tauschen des Datenursprungs - Integrität

Mehr

Einführung in die Programmiertechnik

Einführung in die Programmiertechnik Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher

Mehr

ÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler

ÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN. Leonie Weißweiler ÜBUNG 6 ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN 1 ZAHLENSYSTEME Normalerweise schreibt man Zahlen im sog. Dezimalsystem 4 2 6 9 2 ZAHLENSYSTEME 4 2 6 9 x100 x100 x10 x1 3 ZAHLENSYSTEME

Mehr

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM

KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM KLAUSUR ZUM BACHELORMODUL EINFÜHRUNG IN DIE PROGRAMMIERUNG WS 2016/17, DR. MAXIMILIAN HADERSBECK KLAUSUR AM 6.2.2017 VOR NACH MATRIKELNUMMER: STUDIENGANG: B.Sc. Computerlinguistik, B.Sc. Informatik, Magister

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

Centrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger. Musterlösung 7. Aufgabe 7.

Centrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger. Musterlösung 7. Aufgabe 7. Centrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger Musterlösung 7 Aufgabe 7.3 bool palindrome ( std :: wstring & word ); void reverse ( std :: wstring

Mehr

Musterlösung Klausur 11/ Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen.

Musterlösung Klausur 11/ Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen. 1. Fragen zu utf-8: 1.1. Welche zwei Methoden gibt es, um STDIN und STDOUT auf utf-8 zu setzen. Man kann STDIN und STDOUT als erste Möglichkeit beim Programmstart mit perl -C auf utf-8 setzen. Außerdem

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

Arithmetik in der tcsh

Arithmetik in der tcsh Arithmetik in der tcsh Variablen speichern Zeichenketten (also Strings/Wörter) @ statt set Interpretation als arithmetische Ausdrücke (aus Ziffern, (, ), +, -, *, /, % bestehend) Beispiele: @ var = (3

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung

Mehr

Primzahlen und Programmieren

Primzahlen und Programmieren Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und

Mehr

Programmieren in C (Übungsblatt 1)

Programmieren in C (Übungsblatt 1) 27.02.2018 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main(void) { printf("c-programmierung

Mehr

MEMO Paradigmenwechsel in der Kryptographie

MEMO Paradigmenwechsel in der Kryptographie MEMO Paradigmenwechsel in der Kryptographie Ernst Erich Schnoor Kryptographie ist schreiben und lesen von geheimen Botschaften mit arteigenen Methoden (Verschlüsselung). Seit sich die Computer der Kryptographie

Mehr

Klausur Informatik B April Teil I: Informatik 3

Klausur Informatik B April Teil I: Informatik 3 Informatik 3 Seite 1 von 8 Klausur Informatik B April 1998 Teil I: Informatik 3 Informatik 3 Seite 2 von 8 Aufgabe 1: Fragekatalog (gesamt 5 ) Beantworten Sie folgende Fragen kurz in ein oder zwei Sätzen.

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik Vorkurs - Vorlesung 2 Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut

Python Einführung. Monica Selva Soto. 24 März Mathematisches Institut Mathematisches Institut mselva@math.uni-koeln.de 24 März 2009 Übungen zur Numerik 1 Vorlesung Übungen praktische Aufgaben Webseite: (Anmeldung, Übungsblätter) http://www.mi.uni-koeln.de/~mselva/numerik1.php

Mehr

Schleifen: Immer wieder dasselbe tun

Schleifen: Immer wieder dasselbe tun Schleifen: Immer wieder dasselbe tun Bei einer Schleife werden Anweisungen immer wieder ausgeführt, solange die Bedingung wahr ist. Dafür muss man eine Variable immer wieder ändern, solange bis eine Überprüfung

Mehr