Grundbegriffe der Informatik

Ähnliche Dokumente
Grundbegriffe der Informatik Tutorium 5

Grundbegriffe der Informatik Aufgabenblatt 5

Vorlesung Programmieren

Vorlesung Programmieren

Programmieren lernen mit Perl

Grundlagen von C# - 2

Informatik II, SS 2014

2.5 Programmstrukturen Entscheidung / Alternative

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

C++ PROGRAM- MIERER/-IN

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Tutorium für Fortgeschrittene

Grundlagen der Programmierung

Schleifen Datenfelder (Arrays) Verzweigungen

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Sprungbefehle und Kontroll-Strukturen

Arithmetik in der tcsh

Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny

Berichte aus der Informatik. Dieter Pawelczak. Start in die C-Programmierung

KOP / FBS - Programmierung

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Einführung in die Programmierung mit VBA

Programmiervorkurs für die Numerik Teil 1/4

Grundlagen der Programmierung

Grundbegriffe der Informatik

Einführung in die Informatik I

Informatik 1. Prüfung im Wintersemester 1997/98

Klausur Grundlagen der Informatik

Skript zur Vorlesung. Informatik 1. Studienjahr Halbjahr

Sprachkonstrukte Verzweigungen und Array-Strukturen

5. Übung - Kanalkodierung/Programmierung

Grundlagen der Theoretischen Informatik: Übung 10

Grundlagen der Informatik 5. Kontrollstrukturen II

Kapitel 1: Informationsverarbeitung durch Programme

Algorithmen und Datenstrukturen Laufzeitabschätzung

RO-Tutorien 3 / 6 / 12

Imperative vs. Funktionale Programmierung

3. Anweisungen und Kontrollstrukturen

MIMA Die Sicht von außen

Einfache Bedingte Ausführung

(Aufgaben zu Wertzuweisungen siehe Vorlesungsbeilage S. 49)

Inhaltsverzeichnis. Vorwort.11

Javakurs für Anfänger

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:

Theoretische Informatik SS 03 Übung 3

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Algorithmen und Datenstrukturen

Übungs-Klausur zur Vorlesung. Digitale Informationsverarbeitung (Magister)

Assembler Kontrollstrukturen

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Kapitel 1: Informationsverarbeitung durch Programme

Inhalt. Peter Sobe 63. Felder in C

Inhaltsverzeichnis. Vorwort NXTundNXC DerNXT NXC Not exactly C Compiler Zusammenfassung 17

INFORMATIK FÜR BIOLOGEN

Einführung in die Programmierung Wintersemester 2011/12

Kurze Einführung in die Programmiersprache C++ und in Root

VBA-Programmierung: Zusammenfassung

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Klausur Informatik 2: Algorithmen und Datenstrukturen. Blättern Sie nicht um bevor Sie dazu aufgefordert werden!

Einführung in die Computerlinguistik Einführung in Perl (1)

Vorlesung Datenstrukturen

WS2018/ Oktober 2018

2 Teil 2: Nassi-Schneiderman

Vorlesung 5: MATRIX-DATENSTRUKTUREN UND SPARSE GEMM

Sprechen Sie Java? Hanspeter Mössenböck. Tm\ dpunkt.verlag. Eine Einführung in das systematische Programmieren

2. Programmierung in C

Einführung Programmierpraktikum C Michael Zwick

2. Programmierung in C

Mathematische Computer-Software

Objektorientierte Programmierung und Modellierung

Programmieren. Aufgabe 1 (Eine erste Datenstruktur)

Objektorientierte Programmierung

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

RO-Tutorien 15 und 16

Dank. Theoretische Informatik II. Teil II. Registermaschinen. Vorlesung

Graphenalgorithmen und lineare Algebra Hand in Hand Prof. Dr. Henning Meyerhenke

Transkript:

Grundbegriffe der Informatik Übung Simon Wacker Karlsruher Institut für Technologie Wintersemester 2015/2016 GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 1 / 13

Programmiersprachen Formale Sprachen deren Wörter Programme sind Programm in Maschinensprache Folge von Bits direkt von Maschine ausführbar Programm in Assemblersprache Programm in höherer Programmiersprache GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 2 / 13

Programmiersprachen Formale Sprachen deren Wörter Programme sind Programm in Maschinensprache Programm in Assemblersprache Folge von Zeichen hardwarenah nach Assemblierung von Maschine ausführbar STV 42 wird zu 001000000000000000101010 Programm in höherer Programmiersprache GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 2 / 13

Programmiersprachen Formale Sprachen deren Wörter Programme sind Programm in Maschinensprache Programm in Assemblersprache Programm in höherer Programmiersprache Folge von Zeichen hoher Abstraktionsgrad nach Compilierung von Maschine ausführbar oft in zwei Schritten erst zu Programm in Assemblersprache dann zu Programm in Maschinensprache x = 42 wird zu LDC 42; STV A(x) wird zu... GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 2 / 13

Kontrollstrukturen Steuern Ablauf eines Programms in imperativen Programmiersprachen In Assemblersprachen Unbedingter Sprung: JMP a Bedingter Sprung: JMN a In höheren Programmiersprachen Bedingte Anweisung: if B do S end Verzweigung: if B do S else T end Kopfgesteuerte Schleife: while B do S end Fußgesteuerte Schleife: repeat S until B end Zählschleife: for i from x to y do S end Übersetzung in Assemblersprache? GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 3 / 13

Bedingte Anweisung if M (a 1 ) = M(a 2 ) then S end U if : LDV a 1 EQL a 2 JMN end then: S end : U GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 4 / 13

Verzweigung if M (a 1 ) = M (a 2 ) then S else T end U if : LDV a 1 EQL a 2 JMN then else : T JMP end then: S end : U GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 5 / 13

Kopfgesteuerte Schleife while M (a 1 ) = M (a 2 ) do S end T while : LDV a 1 EQL a 2 JMN end do : S JMP while end : T GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 6 / 13

Kopfgesteuerte Schleife continue while M(a 1 ) = M(a 2 ) do S 2 end T S 1 if M (a 3 ) = M(a 4 ) then continue end while : LDV a 1 EQL a 2 JMN end do : S 1 if : LDV a 3 EQL a 4 JMN next then: JMP while next : S 2 JMP while GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 7 / 13

Kopfgesteuerte Schleife break while M(a 1 ) = M(a 2 ) do S 2 end T S 1 if M (a 3 ) = M(a 4 ) then break end while : LDV a 1 EQL a 2 JMN end do : S 1 if : LDV a 3 EQL a 4 JMN next then: JMP end next : S 2 JMP while GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 8 / 13

Fußgesteuerte Schleife repeat S until M(a 1 ) = M (a 2 ) end T repeat : S until : LDV a 1 EQL a 2 JMN repeat end : T GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 9 / 13

Datenstrukturen Speichern und organisieren Daten In höheren Programmiersprachen Vektoren oder eindimensionale Arrays Matrizen oder mehrdimensionale Arrays Verkettete Listen Graphen Hashtabellen Vektoren in Minimalmaschine: Siehe Vorlesung Matrizen in Minimalmaschine? GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 10 / 13

Matrix A Matrix mit m N + Zeilen und n N + Spalten Einträge von A ganze Zahlen, die mit 24bit in Zweierkomplementdarstellung darstellbar A[i][j] Eintrag in i-ter Zeile und j-ter Spalte, wobei i Z m und j Z n Im Speicher legen wir die Einträge von A zeilenweise ab GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 11 / 13

Matrix Speicher rows : m columns : n matrix : A[0][0] A[0][1]. A[0][n 1] A[1][0] A[1][1]. A[1][n 1].. A[m 1][0] A[m 1][1]. A[m 1][n 1] ref : 0 tmp : 0 GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 12 / 13

Matrix Eintrag laden Adresse in der A[i][j] steht, matrix + i n + j, berechnen A[i][j] mit indirekter Adressierung laden i_times_n: LDC i STV tmp while : LDC 0 ADD tmp STV tmp JMN plus_j do : LDV columns ADD ref STV ref JMP while plus_j : LDC j ADD ref STV ref plus_matrix : LDC matrix ADD ref STV ref load : LDIV ref GBI Grundbegriffe der Informatik Karlsruher Institut für Technologie 13 / 13