CS1005 Objektorientierte Programmierung

Größe: px
Ab Seite anzeigen:

Download "CS1005 Objektorientierte Programmierung"

Transkript

1 CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Felder / Arrays Seite Th Letschert

2 Datentypen und Datenstrukturen Datentyp Format / Operationen für ein Datum c z.b. ganze Zahl im 32 Bit 2er Komplement Format, Zeichen in einem Byte in ASCII-Codierung char c = 'a'; Datenstruktur Kollektion von Speicherbereichen zur Speicherung komplexer (strukturierter) Daten Sprachelemente zur strukturierten Speicherung von Daten Vorgegebene Strukturen (Beispiele) Feld Liste Abbildung Daten unter einem Index gespeichert Daten als Folge von Werten gespeichert Daten unter einem Schlüssel abgelegt Selbst definierte Strukturen erfordern spezielle Sprachmittel (z.b. Klassen und Objekte) Seite 2 2 3

3 Felder (Arrays) Felder (Arrays) Daten unter einem Index speichern älteste Datenstruktur in Programmiersprachen Vorbild: Vektoren und Matrizen in der Mathematik Wird von allen klassischen Programmiersprachen unterstützt (C, C++, C#, Java,...) Felder bestehen aus Feldelementen, die über einen Index angesprochen werden können Beispiel: Feld mit 0 Elementen int[] x = new int[0]; for (int i=0; i < 0; i++) { x[i] = i; x wird als ein Feld mit 0 Komponenten angelegt und mit 0,,.. 9 gefüllt. Java / C# Integer[] x = new Integer[0]; for (int i=0; i < 0; i++) { x[i] = i; Java Seite 3 int x[0]; for (int i=0; i < 0; i++) { x[i] = i; C / C++

4 Felder (Arrays) Felder (Arrays) Geordnet: ein Element nach dem anderen, jedes Element hat einen Index Homogen: alle Elemente haben den gleichen Typ Strukturiert: Variable + Speicher für Elemente (Folge von Speicherplätzen) Speicher Feld-Variable enthält Zeiger (Adresse) auf den Speicherbereich für die Elemente Speicherplatz für die Feldelemente Seite 4

5 Felder (Arrays) Felder (Arrays) definieren Variante / Erzeugung eines Felds int [] a = new int[0]; Typ der Feldelemente Feld-Variable Feld-Größe a Speicher. Eine Feld-Variable a wird angelegt. 2. Zusammenhängender Speicherplatz für die Feldelemente wird angelegt und mit 0-en gefüllt. 3. Die Feld-Variable wird mit der Adresse des Speicherplatzes gefüllt. Seite 5

6 Felder (Arrays) Felder (Arrays) definieren Variante 2 / Erzeugung eines Felds int [] a = {,2,3,4,5,7,8,9,0; Feldelement-Typ Feld-Variable Feld-Elemente a Speicher. Eine Feld-Variable a wird angelegt. 2. Zusammenhängender Speicherplatz für die Feldelemente wird angelegt und mit den Werten gefüllt. 3. Die Feld-Variable wird mit der Adresse des Speicherplatzes gefüllt. Seite 6

7 Felder (Arrays) : Beispiele For-Schleife: Felder (Arrays) durchlaufen Feld durchlaufen mit klassische Schleife for ( int i = 0; i < feld.length; i++ )... verarbeite feld[i]... Für jeden Index i zwischen 0 und der Feldlänge feld.length mache Folgendes Feld durchlaufen mit for-each Schleife for ( Typ elem: feld )... verarbeite elem... Für jedes elem in feld mache Folgendes Nur lesender Zugriff möglich Seite 7

8 Felder (Arrays) : Beispiele Beispiel: Quadratzahlen von 0 bis 9 int[] quadzahl = new int[20]; Feld mit 20 Elementen, Index 0.. Index 9 for (int i=0; i < quadzahl.length; i++) { quadzahl[i] = i*i; Zähl-Schleife: for (int v : quadzahl) { System.out.print(v + ". "); System.out.println(); For-each -Schleife über den Inhalt des Feldes Seite 8

9 Felder (Arrays) : Beispiele Beispiel: Fakultäten f[i] = i! berechnen und ausgeben () Funktion: nimmt Feld an und verändert es static void compfak(int[] a) { a[0] = ; for (int i = ; i<a.length; i++) { a[i] = a[i-]*i; public static void main(string args[]) { int[] f = new int[0]; compfak(f); for (int v : f) { System.out.print(v + " "); System.out.println(); Seite 9

10 Felder (Arrays) : Beispiele Beispiel: Fakultäten f[i] = i! berechnen und ausgeben (2) static int[] compfak() { int[] a = new int[0]; a[0] = ; for (int i = ; i<a.length; i++) { a[i] = a[i-]*i; return a; Funktion: erzeugt Feld und gibt es zurück public static void main(string args[]) { int[] f = compfak(); for (int v : f) { System.out.print(v + " "); System.out.println(); Seite 0

11 Felder (Arrays) : Beispiele Beispiel: Suche nach dem Maximum in einem Feld static int max(int[] a) { int max = a[0]; for (int i = ; i<a.length; i++) { // max = Maximum(a[0...i-]) if (a[i] > max) { max = a[i]; return max; public static void main(string args[]) { int[] f = new int[]{4,3,0,,2,3,7,4,5,2,4,7; System.out.println(max(f)); 7 Seite

12 Felder (Arrays) : Zuweisung und Vergleich Felder zuweisen = kopiert bei Feldern nicht den Inhalt sondern nur die Zeiger int [] a = {, 2, 3 ; int [] a2 = { 9, 8, 7 ; a2 = a; a a2 9 8 a2 = a; 2 3 Zuweisung a 2 3 a Seite 2 vorher 7 nachher

13 Felder (Arrays) : Zuweisung und Vergleich Felder vergleichen == testet bei Feldern nicht auf gleichen Inhalt sondern auf Identität int [] a = {, 2, 3 ; int [] a2 = {, 2, 3 ; a==a2 ist falsch! int [] a = {, 2, 3 ; int [] a2 = a; a==a2 ist wahr! a 2 3 a2 2 3 a 2 3 a2 Seite 3 unterschiedliche Zeiger in a und a2 gleiche Zeiger in a und a2

14 Felder (Arrays) und Funktionen Felder als Funktionsargumente Zahlwerte als Argumente werden in die Parameter-Variablen der Funktion kopiert Felder als Argumente werden nicht kopiert. Lediglich der Verweis auf den Elementspeicher wird zu Funktion kopiert. static void f(int[] a, int v) { for (int i = ; i<a.length; i++) { a[i] = a[i]+v; f(a,x); int int [] f(a,x); v a Aufruf der Funktion 5 ParameterVariablen der Funktion 5 Übertragung der Argumente x = 5; a = new int[0]; a x Seite 4 5 Variablen in main

15 Felder (Arrays) voller Felder Mehrdimensionale Felder Felder können Felder enthalten Dies kann zur Modellierung mehrdimensionaler Felder genutzt werden. int[][] matrix = { { 0, 20, 30, { 2, 22, 23, matrix { 3, 32, 33 ; for (int[] zeile : matrix) { for (int elem : zeile) { System.out.print(elem + " "); System.out.println(); Seite 5

16 Felder (Arrays) voller Felder Mehrdimensionale Felder Beispiel Matrix-Multiplikation () /** * Matrixmultiplikation. matrix MxK Matrix matrix2 KxN Matrix MxN Matrix als Produkt von matrix und matrix2; * null falls die Dimensionen der Matrizen nicht passen */ static double[][] matmult(double[][] matrix, double[][] matrix2) { int M = matrix.length; // Zeilen matrix int K = matrix2.length; // Zeilen matrix2 int N = matrix2[0].length; // Spalten matrix2 if (K!= matrix[0].length) { // Spalten matrix!= Zeilen matrix2 return null; double[][] resultat = new double [N][M]; for(int i = 0; i < N; i++) { for(int j = 0; j < M; j++) { double s = 0.0; for(int k = 0; k < K; k++) { s = s+ matrix[i][k] * matrix2[k][j]; resultat[i][j] = s; return resultat; Seite 6

17 Felder (Arrays) voller Felder Mehrdimensionale Felder Beispiel Matrix-Multiplikation / (2) Aufruf der Funktion public static void main(string args[]) { double[][] matrix = {{, 2, 3, { 4, 5, 6 ; double[][] matrix2 = {{, 3, { 2, 2, { 3, ; double[][] matrix3 = matmult(matrix, matrix2); for (double[] zeile : matrix3) { for (double elem : zeile) System.out.print(elem + " "); System.out.println(); Seite 7

18 Feld / Array Felder im Speicher Zwei Arten von Typen Primitive Typen z.b.: Zahlen Boolesche Werte (Wahrheitswerte) Klassentypen alle anderen, auch Felder Referenz- und Wert-Semantik Variablen mit primitivem Typ enthalten ihren Wert immer direkt Variablen mit Klassentyp enthalten immer Referenzen auf Objekte int x = 0; int [] a = new int[0]; x 0 a Seite 8

19 Feld / Array Parameterübergaben und Felder Wertübergabe und Referenzübergabe Werte mit primitivem Typ werden direkt an Funktionen übergeben und zurück geliefert Werte mit Klassentyp werden in Form von Referenzen an Funktionen übergeben und von diesen zurück geliefert static void g(int[] f, int v) { for (int i = ; i<a.length; i++) { f[i] = f[i]+v; f(a, x); int x = 0; int [] a = new int[0]; 0, x 0 a Seite 9 v f 0

20 Stack und Heap Stack und Heap Stack: lokale Variablen aller gerade aktiven Methoden. (Leben nur für die Dauer der Aktivität der Methode) Heap: alle mit (new angelegten) Objekte. (Leben so lange wie sie gebraucht werden.) static void g(int[] f, int v) { for (int i = ; i<a.length; i++) { f[i] = f[i]+v; public static void main(string[] args) { int x = ; int[] a = {,2,3, 4; f(a, x); Gleich fahre ich wieder im Heap rund und sammle allen Abfall Methodenaufrufe Erzeugen und Vernichten g v f a main x Grarbage Collector Heap Stack Seite 20 Situation zu Beginn der Ausführung von f Th Letschert

21 Felder anlegen und verwenden Definition / Initialisierung Typ [] Typ [] Typ [] null Variable; Variable = new Typ[size]; Variable = { wert, wert2,...; int[] a; 0 Elementtyp 9 primitiv: Wert im Feld Klassen-Typ: Referenz im Feld a Größe feststellen mit length int[] a = new int[0]; feldvariable.length Vergleich mit == Vergleicht Inhalt der Referenz-Variablen Ho a == b a Ah a!= b String a[] = { Ah, Ha, Ho ; a b Ha Ah Ha Ho Seite 2

22 Felder anlegen und verwenden Ausgabe? public static void main(string[] args) { int[] a = {,2,3; int[] b = {,2,3; int[] c = a; for ( int i=0; i<c.length; i++) c[i] = c[i]*0; if ( a==b ) System.out.println("a==b"); if ( a==c ) System.out.println("a==c"); for( int x : a) System.out.println(x); Seite 22

23 Felder anlegen und verwenden Ausgabe? public static void main(string[] args) { int[] a = {,2,3; int[] b = {,2,3; int[] c = a; for ( int i=0; i<c.length; i++) c[i] = c[i]*0; if ( a==b ) System.out.println("a==b"); if ( a==c ) System.out.println("a==c"); for( int x : a) System.out.println(x); Seite 23 Ausgabe: a==c

24 Felder anlegen und verwenden Aufgabe: Suche nach dem kleinsten Element in einem Feld /** * Suche nach dem kleinsten Element eines Feldes. a ein Feld Wert des kleinsten Elements a!= null und a.length >= */ public static int findsmallest(int[] a) { int smallest = a[0]; for (int i = ; i < a.length; i++) { // INV: smallest <= a[0]..a[i-]? Ergänze so dass die Invariante erfüllt ist? return smallest; Aufgabe: Fehlenden Code ergänzen! Seite 24

25 Felder anlegen und verwenden / Sortieren Feld sortieren /** * Sortiert ein Feld. a Feld das zu sortieren ist a!= null, a.length >= a ist aufsteigend sortiert */ public static void sort(int[] a) { /* Implementieren! */ Seite 25. Spezifikation / Schnittstelle

26 Felder anlegen und verwenden / Sortieren Feld public void testsort() { int[] a = {0; int[] a2 = {0, ; int[] a3 = {3,, 0; int[] a4 = {4, 3, 2, ; int[] a5 = {0,, -3, -4, ; Sort.sort(a); assertarrayequals(a, new int[]{0); Sort.sort(a2); assertarrayequals(a2, new int[]{0, ); Sort.sort(a3); assertarrayequals(a3, new int[]{0,, 3); Sort.sort(a4); assertarrayequals(a4, new int[]{, 2, 3, 4); Sort.sort(a5); assertarrayequals(a5, new int[]{-4, -3, 0,, ); Seite Test

27 Felder anlegen und verwenden / Sortieren Feld sortieren public static void sort(int[] a) { for (int i = 0; i < a.length; i++ ) { // a[0..i-] ist sortiert // sorge dafuer dass gilt: a[0..i] ist sortiert 3. Implementierungs-Konzept: sortiere Feld von links nach rechts in einer Schleife Seite 27

28 Felder anlegen und verwenden / Sortieren Feld sortieren Vorgehen: Schrittweise Verfeinerung Definiere Unteraufgaben, delegiere sie an Hilfsfunktionen oder Code-Stücke! /** */ public static void sort(int[] a) { for (int i = 0; i < a.length; i++) { // a[0..i-] ist sortiert int si = findsmallest(a, i); // vertausche a[i] und a[si] private static int findsmallest(int[] a, int i) { // TODO Auto-generated method stub return 0; 4. Schrittweise Verfeinerung Konzept eines Sortier-Schritts: nimm das kleinste aus dem unsortierten Bereich und vergrößere damit den sortierten Bereich Seite 28

29 Felder anlegen und verwenden / Sortieren Feld sortieren 5. Implementierung fertig stellen: Verfeinerungen ausführen /** * Sortierfunktion. a Feld das zu sortieren ist a!= null, a.length >= a ist aufsteigend sortiert */ public static void sort(int[] a) { for (int i = 0; i < a.length; i++) { // a[0..i-] ist sortiert int si = findsmallest(a, i); int t = a[i]; a[i] = a[si]; a[si] = t; // Liefere Index des Kleinsten im Feld-Bereich a[i ] private static int findsmallest(int[] a, int i) { int res = i; for (int j = i + ; j < a.length; j++) { if (a[j] < a[res]) { res = j; return res; Seite 29

30 Felder anlegen und verwenden / Mehrdimensionale Felder Feldelemente können selbst wieder Felder sein int[][] matrix = { { 0, 20, 30, { 2, 2, 23, matrix { 3, 32, 33 ; for (int[] zeile : matrix) { for (int elem : zeile) { System.out.print(elem + " "); System.out.println(); Seite 30

31 Felder anlegen und verwenden / Mehrdimensionale Felder Die Zeilen einer Matrix können unterschiedlich lang sein. Beispiel Pascalsches Dreieck: public static void main(string[] args) { final int N = 0; int[][] pascal = new int[n][]; for ( int i = 0; i<n; i++ ) { pascal[i] = new int[i+]; pascal[i][0] = ; pascal[i][i] = ; for ( int i = ; i<n; i++ ) { for ( int j = ; j<i; j++ ){ pascal[i][j] = pascal[i-][j-] + pascal[i-][j];... Seite 3

32 Felder anlegen und verwenden / Mehrdimensionale Felder Ausgabe des Feldes mit Format-Angabe int k = N; for ( int[] zeile: pascal) { String indent = ""; erzeugte Ausgabe for ( int i = 0; i < k; i++) indent = indent + " "; System.out.print(indent); k = k-; for ( int x : zeile ){ System.out.printf(" %$3d",x); System.out.println(); % Format Code $: erstes Argument 3d: Dezimal-(int-) Zahl der Weite 3 Seite 32

33 Felder anlegen und verwenden : Varargs public static void printsorted(int... a) { sort(a); for (int v : a) { System.out.print(v + " "); System.out.println(); Varags: variable Argumentliste Übergabe als Feld public static void main(string[] args) { printsorted(5, 5, 4, 2, 2, 4, 3); printsorted(22, 23, 2); Seite 33

34 Felder anlegen und verwenden : Feld ausgeben Arrays: Klasse aus dem Paket java.util enthält statische Methoden helfen bei der Arbeit mit Feldern Beispiel, Sortieren, in String umwandeln,... import java.util.arrays; int[] p0 = {0,, 2; a = new String[]{"a", "b", "c"; System.out.println(Arrays.toString(p3)); System.out.println(Arrays.toString(a)); Seite 34 java.util Class Arrays

35 Felder / Arrays Felder sind in vielen Fällen zu low-level für die Anwendungsentwicklung => verwende normalerweise Listen oder andere höhere Datenstrukturen! Vorteile der Felder einfach effizient Nachteile der Felder feste Größe Änderung der Größe nicht direkt möglich muss bei Bedarf simuliert werden (Neues Feld anlegen, Elemente umkopieren) Einfügen und Entfernen von Elementen nicht direkt möglich muss bei Bedarf simuliert werden (umkopieren und verschieben) Seite 35

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) CS005 Objektorientierte Programmierung Bachelor of Science (Informatik) Th Letschert Felder Seite Th Letschert OOP Felder / Arrays Seite 2 Th Letschert Feld / Array Feld (auch Array) Daten unter einem

Mehr

Informatik Datenstrukturen und Dateien

Informatik Datenstrukturen und Dateien Informatik Datenstrukturen und Dateien Seite 1 Th Letschert Datenstrukturen Datenstrukturen Sprachelemente zur Speicherung von vielen Daten Datentyp vs Datenstruktur Datentyp Format + Operationen für ein

Mehr

Informatik II. Vordefinierte Datenstrukturen. - Abbildungen Map. Seite 1 Th Letschert, THM

Informatik II. Vordefinierte Datenstrukturen. - Abbildungen Map. Seite 1 Th Letschert, THM Informatik II Vordefinierte atenstrukturen - Listen List - bbildungen Map - Mengen Set Seite 1 Th Letschert, THM atenstrukturen atenstrukturen Sprachelemente zur strukturierten Speicherung von aten atentyp

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Objektorientierung I : Statische Klassen Statische Aspekte (Modularisierung) Dynamische Aspekte (Klassen-Objekte) Seite 1 Th Letschert

Mehr

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen

FH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Referenzen. Referenzen 5 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Referenzen Beispiel an der einfachen Klasse Walze: public class Walze { int id; public Walze(int id) { this.id = id; Verwenden

Mehr

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 -

Mehr

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Felder. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 9.5.07 Übersicht 1 Was sind? 2 Vereinbarung von n 3 Erzeugen von n 4 Zugriff auf Feldkomponenten 5 Mehrdimensionale 6 als Objekte, Referenzen Kopieren

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; }

Konstruktor. public Rational(int i) { Zaehler = i; Nenner = 1; } Konstruktor spezielle Methode zum Initialisieren bei Erzeugen eines Objekts mit new trägt Namen der Klasse hat keinen Rückgabetyp keiner angegeben: Compiler erzeugt Standard-Konstruktor (analog: Attribute

Mehr

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen 1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen II.2.2 Methoden, Unterprogramme und Parameter - 1 - 2. Methoden

Mehr

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich.

Felder - Arrays. Typ feldname[] = new Typ[<ganze Zahl >]; Beispiel: double vektor[] = new double[5]; auch eine Initialisierung ist möglich. Felder Felder - Arrays Variable gleichen Types können in Feldern (array) zusammengefasst werden. Typ[] feldname; oder Typ feldname[]; dabei kann unter Benutzung des new-operators gleich die Dimension zugewiesen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Was sind Felder? 2 Vereinbarung von Feldern 3 Erzeugen von Feldern

Mehr

CS1005 Objektorientierte Programmierung

CS1005 Objektorientierte Programmierung CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Funktionen / statische Methoden - Definition - Verwendung - Ausführung Seite 1 Th Letschert Funktionen: Definition und Verwendung

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung

Mehr

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang. WS 07/08

Reihungen. Prof. Dr. Christian Böhm. In Zusammenarbeit mit Gefei Zhang.   WS 07/08 Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang http://www.dbs.ifi.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch und im Speicher Grundlegende

Mehr

Arrays. Einleitung. Deklarieren einer Array Variablen

Arrays. Einleitung. Deklarieren einer Array Variablen Arrays Einleitung bisher jede Variable einzeln deklariert: 12 3 14 12 32 32 3 32 5 3 double sum; int count; ÿ Sie können Zweck und Aufbau von Array-Datentypen erklären ÿ Sie können einen Array korrekt

Mehr

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang

Reihungen. Martin Wirsing. in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang Reihungen Martin Wirsing in Zusammenarbeit mit Michael Barth, Fabian Birzele und Gefei Zhang http://www.pst.informatik.uni-muenchen.de/lehre/ws0506/infoeinf/ WS 05/06 2 Ziele Die Datenstruktur der Reihungen

Mehr

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung Dr. Philipp Wendler Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung WS18/19 https://www.sosy-lab.org/teaching/2018-ws-infoeinf/ Arrays: Wiederholung Ein

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind viele Teile

Mehr

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. 3.8 Objekttypen und Arrays Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen. Praktische Informatik I Wolfgang Effelsberg 3. Die Programmiersprache Java 3.8-1 Primitive Datentypen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 21 Einstieg in die Informatik mit Java Felder, eindimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 21 1 Überblick: Was sind Felder? 2 Vereinbarung von Feldern

Mehr

Informatik II Übung 5

Informatik II Übung 5 Informatik II Übung 5 Florian Scheidegger florsche@student.ethz.ch Folien mit freundlicher Genehmigung adaptiert von Gábor Sörös und Simon Mayer gabor.soros@inf.ethz.ch, simon.mayer@inf.ethz.ch 27.03.2013

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Welche Arten von Anweisungen gibt es? Anweisungen

Mehr

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1]

Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II a[0] a[1] a[2] a[3] a[n 1] Universität München, Hans-Peter Kriegel und Thomas Seidl Informatik II -108 Kapitel 5: Arrays Einführung Ein Array ist eine Reihung gleichartiger Objekte. a: a[0] a[1] a[2] a[3] a[n 1] Bezeichner a steht

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 5 Referenzdatentypen - Felder... 5-2 5.1 Eindimensionale Felder - Vektoren... 5-3 5.1.1 Vereinbarung... 5-3 5.1.2 Referenzen sind keine Felder... 5-6 5.1.3 Kopieren eindimensionaler Felder... 5-7

Mehr

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen Schwerpunkte 10. Felder (Arrays) Teil 1 Java-Beispiele: Echo.java Primzahlen.java Monate.java Klassifikation von Typen in Programmiersprachen Array: einziger strukturierter Typ in Java Deklaration, Erzeugung

Mehr

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik

Programmieren I. Arrays Heusch 7.2 Ratz Institut für Angewandte Informatik Programmieren I Arrays Heusch 7.2 Ratz 5.1 KIT Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu Arrays: Definition Arrays (dt. Felder) dienen zum Speichern mehrerer gleichartiger Daten

Mehr

Algorithmen und Datenstrukturen II

Algorithmen und Datenstrukturen II Algorithmen und Datenstrukturen II D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg Sommer 2009, 26. März 2009, c 2009 D.Rösner D.

Mehr

Datenstrukturen / Container in Java

Datenstrukturen / Container in Java Datenstrukturen / Container in Java Mathematik / Algebraischer Datentyp / Containerklassen Enum-Klassen Arrays (Felder) = elementare Container Algorithmen mit Arrays Prof. Dr. E. Ehses, 2014 1 Mathematik

Mehr

OOP Aufgabenblatt 7 6. Dezember 2013

OOP Aufgabenblatt 7 6. Dezember 2013 1 Prof. Dr. Th. Letschert OOP Aufgabenblatt 7 6. Dezember 2013 Aufgabe 1 Hausaufgabe Nr. 4 (Klein) Implementieren Sie, ohne Arrays oder eine sonstige Kollektion zu nutzen, folgende Fingerübungen zu Rekursion

Mehr

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik

Arrays. Gilbert Beyer und Annabelle Klarl. Einführung in die Informatik. Zentralübung zur Vorlesung Einführung in die Informatik Arrays Zentralübung zur Vorlesung Einführung in die Informatik http://www.pst.ifi.lmu.de/lehre/wise-11-12/infoeinf WS11/12 Inhalte der heutigen Vorlesung: Arraytypen Speicherdarstellung von Arrays Auswertung

Mehr

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. ) Technische Informatik für Ingenieure (TIfI) WS 2006/2007, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Rekursion Datenstrukturen Merge S ( split, s, merge ) Beispiel:

Mehr

Mehrdimensionale Arrays

Mehrdimensionale Arrays Mehrdimensionale Arrays Prof. Dr.-Ing. Thomas Schwotzer 1 Einführung Eindimensionale Arrays haben wir bereits kennen gelernt. Es gibt aber auch mehrdimensionale Arrays. Die sind auch sehr notwendig, denken

Mehr

Informatik II. Woche 15, Giuseppe Accaputo

Informatik II. Woche 15, Giuseppe Accaputo Informatik II Woche 15, 13.04.2017 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht Repetition: Pass by Value & Referenzen allgemein Repetition: Asymptotische Komplexität Live-Programmierung Aufgabe 7.1

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel

Mehr

Algorithmen und Programmierung II

Algorithmen und Programmierung II Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung

Mehr

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Objekttypen Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays Primitive- und Objekt-Datentypen Primitive Datentypen benötigen einen vorher genau

Mehr

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3 Programmieren mit Java Modul 5 Objekte Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Klassen und Objekte 3 2.1 Klassen.................................... 4 2.2 Objektvariablen und Methoden.......................

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld

Mehr

Reihungen und Prozeduren

Reihungen und Prozeduren Reihungen und Prozeduren Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer http://www.pst.ifi-lmu.de/lehre/ss06/info2/ SS 06 Ziele Die Datenstruktur der Reihungen verstehen: mathematisch

Mehr

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6.

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom bis zum 4.6. Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 6. Blatt Für die Woche vom 31.5. bis zum 4.6.2010 (KW 22) Organisatorisches Diese Woche führen wir Methoden ein und behandeln

Mehr

Anregungen zu Übung 2

Anregungen zu Übung 2 Anregungen zu Übung 2 Allgemeine Informatik II - SS 2007 Was sind Arrays und wie kann man sie verwenden? Ein Array ist ein spezieller Datentyp, der mehrere Werte zu einer Einheit zusammenfasst. Er ist

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung

Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder

Mehr

Einführung in die Programmierung für NF. Arrays

Einführung in die Programmierung für NF. Arrays Einführung in die Programmierung für NF Arrays ARRAY (REIHUNG) 4 Arrays 2 Array In der Programmierung werden o: Tupel verschiedener Länge benutzt. Beispiel: Vektoren (1.0, 1.0) (0.2, 1.2, 7.0) Beispiel:

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 4213 Variablen 17.834 float Flugzeug 36812736294 I write code Hund long String Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 3 + 4 1 Variablen sind wie Becher. Sie speichern etwas. // Variablen

Mehr

1 Klassen und Objekte

1 Klassen und Objekte 1 Klassen und Objekte Datentyp - Spezifikation des Typs von Datenobjekten Datenstruktur - logische Ordnung von Elementen eines Datentyps - zur (effizienten) Speicherung, Verwaltung, Zugriff - auf die Elemente

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 4 Einführung in die Programmiersprache Java (Teil III)... 4-2 4.5 Referenzdatentypen - Felder... 4-2 4.5.1 Eindimensionale Felder - Vektoren... 4-3 4.5.2 Beispiel Sortieren eines Vektors... 4-4

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 25. November 2015 Zweidimensionale Arrays [ ][ ] Ein zweidimensionaler

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Informatik I (D-ITET)

Informatik I (D-ITET) Ablauf Informatik I (D-ITET) Übungsstunde 5, 26.10.2009 simonmayer@student.ethz.ch ETH Zürich Nachbesprechung Übung 3 Besprechung/Vertiefung der Vorlesung [21.10.2009] Vorbesprechung Übung 5 2.c) Test

Mehr

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte

Mehr

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA) Ihr Name: Matrikelnummer: Allgemeine Hinweise: Erlaubtes Hilfsmittel: Ein beidseitig handbeschriebenes Din-A4-Blatt Tragen Sie Ihren Namen und

Mehr

Informatik II Musterlösung

Informatik II Musterlösung Ludwig-Maximilians-Universität München SS 2006 Institut für Informatik Übungsblatt 4 Prof. Dr. M. Wirsing, M. Hammer, A. Rauschmayer Informatik II Musterlösung Zu jeder Aufgabe ist eine Datei abzugeben,

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 5. Arrays Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT FÜR INFORMATIK

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

5. Java Arrays und Strings

5. Java Arrays und Strings Arrays Arrayvariable deklarieren: int[] z; z 5. Java Arrays und Strings Array erzeugen: z = new int[5]; Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche z ist

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Übungspaket 23 Mehrdimensionale Arrays

Übungspaket 23 Mehrdimensionale Arrays Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

Informatik II Übung 5

Informatik II Übung 5 Informatik II Übung 5 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.3.2018 Carina Fuss 28.3.2018 1 Übung 5 Administratives/Tipps zu Eclipse Nachbesprechung Übung 4 kurze Demo zu Stacks Java Pakete Call

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch) JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert

Mehr

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10

Klausur zur Lehrveranstaltung. Technische Informatik für Ingenieure WS 2009/10 Klausur zur Lehrveranstaltung Technische Informatik für Ingenieure WS 2009/10 22. Februar 2010 Aufgabe 1 2 3 4 5 6 7 Summe mögliche Punkte 15 15 20 15 20 20 15 120 erreichte Punkte Note: Hinweise: Diese

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

Ausgabe:

Ausgabe: Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Fakultät IV Elektrotechnik/Informatik

Fakultät IV Elektrotechnik/Informatik Fakultät IV Elektrotechnik/Informatik Probeklausur Einführung in die Informatik I Hinweis: Diese Probeklausur ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der Teilleistung TL 2 (Programmiertest)

Mehr

Sprachkonstrukte Verzweigungen und Array-Strukturen

Sprachkonstrukte Verzweigungen und Array-Strukturen Sprachkonstrukte Verzweigungen und Array-Strukturen Dr. Beatrice Amrhein Überblick Verzweigungen o if/else o switch/case Array-Strukturen o Vektoren und Matrizen 2 Verzweigungen 3 Verzweigungen: if/else

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1 Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1 Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch

Mehr

Objektorientierte Programmierung und Modellierung

Objektorientierte Programmierung und Modellierung Objektorientierte Programmierung und Modellierung Einführung, Teil 2 24.10.17 - WS17/18 Hakan Aksu 1 Raumänderung beachten Dienstag 14:15-15:45 Uhr in M001 (anstatt K101) 2 Ausfalltermine 31.10 Vorlesung

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung Einführung in die strukturierte Programmierung Teil 5 Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur erstellt. Darüber hinaus sind ausgewählte

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Informatik II Prüfungsvorbereitungskurs

Informatik II Prüfungsvorbereitungskurs Informatik II Prüfungsvorbereitungskurs Tag 1, 20.6.2016 Giuseppe Accaputo g@accaputo.ch 1 Über mich Giuseppe Accaputo 3. Semester RW/CSE Master E-Mail: g@accaputo.ch Homepage: http://accaputo.ch Informatik

Mehr

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r

1. Referenzdatentypen: Felder und Strings. Referenz- vs. einfache Datentypen. Rückblick: Einfache Datentypen (1) 4711 r 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1. Referenzdatentypen: Felder und Strings

1. Referenzdatentypen: Felder und Strings 1. Felder und Strings Eigenschaften von Referenzdatentypen 1. Referenzdatentypen: Felder und Strings Referenzdatentypen sind Konstrukte, mit deren Hilfe wir aus einfachen Datentypen neue eigene Typen erzeugen

Mehr

1 Abstrakte Datentypen

1 Abstrakte Datentypen 1 Abstrakte Datentypen Spezifiziere nur die Operationen! Verberge Details der Datenstruktur; der Implementierung der Operationen. == Information Hiding 1 Sinn: Verhindern illegaler Zugriffe auf die Datenstruktur;

Mehr

Zeiger (1) Allgemeines

Zeiger (1) Allgemeines Zeiger (1) Allgemeines In C häufig verwendet zur Realisierung mancher Programmierkonzepte Sehr enge Verknüpfung von Zeigern und Feldern Vielseitiges Hilfsmittel, birgt allerdings auch Gefahren für Programmierfehler

Mehr

9. Java Arrays und Strings. Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche

9. Java Arrays und Strings. Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche 256 9. Java Arrays und Strings Allokation, Referenzen, Elementzugriff, Mehrdimensionale Arrays, Strings, Stringvergleiche Arrays 257 Arrayvariable deklarieren: int[] z; 257 Arrays Arrayvariable deklarieren:

Mehr

Programmieren in Java

Programmieren in Java Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]

Mehr

Speicher und Adressraum

Speicher und Adressraum Linearer Speicher (Adressraum) Technische Universität München Speicher und Adressraum Freie Speicherhalde (Heap) Freier Speicherstapel (Stack) Globale Variablen Bibliotheksfunktionen Laufzeitsystem Programmcode

Mehr

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Folienpaket 7 Themenschwerpunkte: Methoden in OOP 284 09/2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4 Eine Klasse entwerfen Eine Klasse enthält folgende Information: Name der Klasse (ist auch der

Mehr

Grundlagen der Objektorientierten Programmierung - Statische Arrays

Grundlagen der Objektorientierten Programmierung - Statische Arrays Statische Arrays Ein Array ist ein Behälter für Datenelemente desselben Typs. Arrays können beliebig viele Dimensionen haben. Die Standardform ist das eindimensionale Array, das man sich in Zeilenform

Mehr

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1

Informatik. Pointer (Dynamisch) Vorlesung. 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Informatik Vorlesung 08 Pointer (Dynamisch) 17. Dezember 2018 SoSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Pointer (Zeiger) Dynam. Speicher Bisher: Speicherbedarf muss

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 6. Arrays 23.11.2016 Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION

Mehr