Programmieren at Fachhochschule Lübeck

Flashcards and summaries for Programmieren at the Fachhochschule Lübeck

Arrow Arrow

It’s completely free

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

studysmarter schule studium
d

4.5 /5

studysmarter schule studium
d

4.8 /5

Study with flashcards and summaries for the course Programmieren at the Fachhochschule Lübeck

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie nun bitte eine Methode `everyNth()`, die für eine Zeichenkette nur jedes n.te Zeichen zurück liefert. Bei n = 3 sollen also nur die Zeichen 0, 3, 6, ... und so weiter zurückgegeben werden. Für n <= 0 soll die leere Zeichenkette zurückgegeben werden.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Schreiben Sie nun bitte eine Methode `pwdgen()` zum Generieren von

Passwörtern.


- Passwörter sollen dabei aus einem Satz gebildet werden. 

- Worte in dem Satz sind durch ein oder mehrere  Leerzeichen voneinander

  getrennt.

- Für jedes Wort soll abwechselnd der erste oder letzte Buchstabe des

  Wortes genommen werden.

 - Die Anzahl an Worten soll an den Anfang des Passworts gesetzt werden.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Schreiben Sie nun eine Methode `countOccurences()` die zählt, wie häufig eine Zeichenkette *a* in einer anderen Zeichenkette *b* vorkommt. 

Sich überlagernde Zeichenketten sind erlaubt. 

D.h. "xx" ist als zweimal in "xxx" vorhanden zu zählen.

Leere Zeichenketten sind nicht zu zählen.

This was only a preview of our StudySmarter flashcards.
Flascard Icon Flascard Icon

Millions of flashcards created by students

Flascard Icon Flascard Icon

Create your own flashcards as quick as possible

Flascard Icon Flascard Icon

Learning-Assistant with spaced repetition algorithm

Sign up for free!

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie nun bitte eine Methode namens `evenOdd()`, die eine Liste auf Basis einer bestehenden Liste von Integern erzeugt. 

- In der neuen Liste müssen erst alle geraden Werte der ursprünglichen Liste stehen, erst dann sollen die ungeraden Werte folgen.

- Die Reihenfolge der ursprünglichen Liste soll innerhalb der geraden und ungeraden Werte aber erhalten bleiben.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Sie sollen nun eine Methode `topping()` schreiben, die für einen Bringdienst ein paar Bereinigungen auf Bestellungen vornimmt.


Bestellungen werden als `Map` codiert. 

- Taucht in der Bestellung `"ice cream"` auf, soll derselbe Wert auch für `"yoghurt"` gesetzt werden.

- Taucht in der Bestellung `"spinach"` auf, soll dieser Eintrag gelöscht werden (niemand mag Spinat).

`topping()` soll die ursprüngliche Bestellung nicht modifizieren, sondern eine neue modifizierte Bestellung erzeugen.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie nun eine Methode `wordCount()`, die die absolute Häufigkeit von Worten in einem Text mittels eines Mappings zählt.

Worte sind durch ein oder mehrere Whitespace Zeichen (Leerzeichen, Tabulatoren, Linebreaks, etc.) voneinander getrennt.

Worte sollen case-insensitiv gezählt werden.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie nun bitte eine Methode `luckySum()`, die eine 

variable Anzahl von ganzzahligen Parametern solange aufaddiert bis

der Wert 13 in einem Parameter auftaucht.

This was only a preview of our StudySmarter flashcards.
Flascard Icon Flascard Icon

Millions of flashcards created by students

Flascard Icon Flascard Icon

Create your own flashcards as quick as possible

Flascard Icon Flascard Icon

Learning-Assistant with spaced repetition algorithm

Sign up for free!

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie bitte eine Methode `sumDigits()`, die in einer

beliebigen Zeichenkette alle Ziffern (0 - 9) numerisch addiert.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Sie sollen nun eine Klasse `Room` anlegen, mit denen man Räume verwalten kann, die dem Benennungsschemader TH Lübeck entsprechen.


Ein Raum liegt

- in einem Gebäude,

- auf einer Etage

- und hat eine Raumnummer (< 100).

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie nun bitte eine Methode `noMultiples()`, die prüft, ob in

einer Zeichenkette niemals drei (oder mehr) gleiche Zeichen aufeinander 

folgen. Verallgemeinern Sie `noMultiples()` nun so, dass die Anzahl der zu wiederholenden Zeichen parameterisiert ist.

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Entwickeln Sie nun bitte eine Methode `sameStarChar()`, die für eine Zeichenkette prüft, ob bei allen '*' Zeichen, das jeweils linke und rechte gleich sind.

This was only a preview of our StudySmarter flashcards.
Flascard Icon Flascard Icon

Millions of flashcards created by students

Flascard Icon Flascard Icon

Create your own flashcards as quick as possible

Flascard Icon Flascard Icon

Learning-Assistant with spaced repetition algorithm

Sign up for free!

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Komprimiere alle mehrfachen Zeichen in einer Zeichenkette.

Entwickeln Sie bitte eine Methode `compact()`, die aus einer beliebigen Zeichenkette eine neue Zeichenkette erzeugt, indem alle Blöcke (z.B. "aaaa") kompakt dargestellt werden.

Your peers in the course Programmieren at the Fachhochschule Lübeck create and share summaries, flashcards, study plans and other learning materials with the intelligent StudySmarter learning app.

Get started now!

Flashcard Flashcard

Exemplary flashcards for Programmieren at the Fachhochschule Lübeck on StudySmarter:

Programmieren

Entwickeln Sie nun bitte eine Methode `everyNth()`, die für eine Zeichenkette nur jedes n.te Zeichen zurück liefert. Bei n = 3 sollen also nur die Zeichen 0, 3, 6, ... und so weiter zurückgegeben werden. Für n <= 0 soll die leere Zeichenkette zurückgegeben werden.

Quellcode:

public static String everyNth(String s, int n) {

        if (n <= 0) return "";

        String ret = "";

        for (int i = 0; i < s.length(); i += n) 

        ret += s.charAt(i);

        return ret;

    }


Vorgehensweise:

1. Wenn n = 0 ist, dann soll eine leere Zeichenkette zurückgegeben werden.

2. for-Schleife zur Prüfung und Zusammenstellung

     - nach jedem Schleifendurchlauf wird i um n erhöht.

     - nur die Buchstaben von n werden gespeichert

Programmieren

Schreiben Sie nun bitte eine Methode `pwdgen()` zum Generieren von

Passwörtern.


- Passwörter sollen dabei aus einem Satz gebildet werden. 

- Worte in dem Satz sind durch ein oder mehrere  Leerzeichen voneinander

  getrennt.

- Für jedes Wort soll abwechselnd der erste oder letzte Buchstabe des

  Wortes genommen werden.

 - Die Anzahl an Worten soll an den Anfang des Passworts gesetzt werden.

Quellcode:

public static String pwdgen(String sentence) {

        boolean front = true;

        String pwd = "";

        for (String word : sentence.trim().split(" +")) {

            if (word.isEmpty()) continue;

            pwd += front ? word.charAt(0) : word.charAt(word.length() - 1);

            front = !front;

        }

        return pwd.length() + pwd;

    }


Vorgehensweise:

1. for-each-Schleife durchläuft jedes Wort, gesplitet bei allen Leerzeichen (" +")

  - Prüfung ob das Wort leer bzw. ein Leerzeichen ist s.isEmpty(), wenn ja dann continue

  - continue beginnt die Schleife von vorn und überspringt alles weitere

2. String pwd soll entweder um A oder B erweitert werden

  - Bedingungsoperator (Ausdruck a ? Ausdruck b : Ausdruck c)

  - ist Ausdruck a true, wird b hinzugefügt, andernfalls c

  - die Variable front ist am Anfang true (1. Buchstabe) und wird danach mit !front false

3. Der return-String wird mit der Länge von pwd und pwd erstellt

Programmieren

Schreiben Sie nun eine Methode `countOccurences()` die zählt, wie häufig eine Zeichenkette *a* in einer anderen Zeichenkette *b* vorkommt. 

Sich überlagernde Zeichenketten sind erlaubt. 

D.h. "xx" ist als zweimal in "xxx" vorhanden zu zählen.

Leere Zeichenketten sind nicht zu zählen.

public static int countOccurences(String a, String b) {

        if (a.isEmpty()) return 0;

        if (b.isEmpty()) return 0;

        int i = b.indexOf(a);

        int c = i != -1 ? 1 : 0;

        while (i != -1) {

            i = b.indexOf(a, i + 1);

            if (i != -1) c++;

        }

        return c;

    }


Vorgehensweise:

1. Leere Strings ausschließen


Programmieren

Entwickeln Sie nun bitte eine Methode namens `evenOdd()`, die eine Liste auf Basis einer bestehenden Liste von Integern erzeugt. 

- In der neuen Liste müssen erst alle geraden Werte der ursprünglichen Liste stehen, erst dann sollen die ungeraden Werte folgen.

- Die Reihenfolge der ursprünglichen Liste soll innerhalb der geraden und ungeraden Werte aber erhalten bleiben.

public static List<Integer> evenOdd(List<Integer> values) {

        List<Integer> ret = new LinkedList<>();

        for (int v : values) {

            if (v % 2 == 0) ret.add(v);

        }

        for (int v : values) {

            if (v % 2 != 0) ret.add(v);

        }

        return ret;

    }


Vorgehensweise:

1. Erstellung einer Hilfsliste ret

2. For-each-Schleife für gerade Werte

  • diese Schleife durchläuft die Liste und added alle geraden Werte zur Hilfsliste

3. For-each-Schleife für ungerade Werte

  • diese Schleife durchläuft die Liste und added alle ungeraden Werte zur Hilfsliste

4. Rückgabe der neuen sortierten Liste

Programmieren

Sie sollen nun eine Methode `topping()` schreiben, die für einen Bringdienst ein paar Bereinigungen auf Bestellungen vornimmt.


Bestellungen werden als `Map` codiert. 

- Taucht in der Bestellung `"ice cream"` auf, soll derselbe Wert auch für `"yoghurt"` gesetzt werden.

- Taucht in der Bestellung `"spinach"` auf, soll dieser Eintrag gelöscht werden (niemand mag Spinat).

`topping()` soll die ursprüngliche Bestellung nicht modifizieren, sondern eine neue modifizierte Bestellung erzeugen.

public static Map<String, String> topping(Map<String, String> order) {

        Map<String, String> modified = new HashMap<>(order); 

        // Dies ist wichtig, ansonsten verändern sie den order Parameter

        // Schauen sie sich noch einmal Call-by-Reference und Call-by-Value in Unit 02 an!

        

        if (order.containsKey("ice cream")) modified.put("yoghurt", modified.get("ice       cream"));

        if (order.containsKey("spinach")) modified.remove("spinach");

        return modified;

    }


Vorgehensweise:

1. Modifizierte neue Hilfsmap mit den gleichen Inhalten erstellen

2. Prüfung

  • enthält die Bestellung den Key "icecream" soll für den Key der Value "yoghurt" gesetzt werden
  • enthält die Bestellung den Key "spinach" soll der Eintrag von der Liste gelöscht werden

3. Rückgabe der modifizierten Map

Programmieren

Entwickeln Sie nun eine Methode `wordCount()`, die die absolute Häufigkeit von Worten in einem Text mittels eines Mappings zählt.

Worte sind durch ein oder mehrere Whitespace Zeichen (Leerzeichen, Tabulatoren, Linebreaks, etc.) voneinander getrennt.

Worte sollen case-insensitiv gezählt werden.

public static Map<String, Integer> wordCount(String text) {

        String[] words = text.trim().toLowerCase().split("\\s+");

        Map<String, Integer> ret = new HashMap<String, Integer>();

        for (String word : words) {

            if (word.isEmpty()) continue;

            ret.put(word, ret.getOrDefault(word, 0) + 1);

        }

        return ret;

}

Programmieren

Entwickeln Sie nun bitte eine Methode `luckySum()`, die eine 

variable Anzahl von ganzzahligen Parametern solange aufaddiert bis

der Wert 13 in einem Parameter auftaucht.

public static int luckySum(int... values) {

        int result = 0;

        for (int v : values) {

            if (v == 13) return result;

            result += v;

        }

        return result;        

    }


Vorgehensweise:

1. Endlose Parameter

  • der Methodenkopf ist so aufgestellt, dass der Methode endlos viele Parameter übergeben werden können

2. For-each-Schleife

  • für jeden Parameter wird die Schleife durchlaufen und geprüft, ob v gleich 13 entspricht
  • sollte die 13 erreicht sein, wird der Wert returned
  • ansonsten wird der aktuelle Wert auf v addiert bis keine Parameter mehr vorhanden sind
  • das Ergebnis wird returned

Programmieren

Entwickeln Sie bitte eine Methode `sumDigits()`, die in einer

beliebigen Zeichenkette alle Ziffern (0 - 9) numerisch addiert.

public static int sumDigits(String s) {

        int sum = 0;

        for (char c : s.toCharArray()) {

            if (Character.isDigit(c)) sum += Integer.parseInt(c + "");

        }

        return sum;

    }


Vorgehensweise:

1. For-each-Schleife

  • durchläuft alle Char des Strings (s.toCharArray())
  • es wird geprüft ob der Char eine Ziffer ist (Character.isDigit(c))
  • wenn er eine Ziffer ist, wird diese auf den int sum addiert (Integer.parseInt(c + "")
  • hierfür muss der Char als String in einen int umgewandelt werden

Programmieren

Sie sollen nun eine Klasse `Room` anlegen, mit denen man Räume verwalten kann, die dem Benennungsschemader TH Lübeck entsprechen.


Ein Raum liegt

- in einem Gebäude,

- auf einer Etage

- und hat eine Raumnummer (< 100).

public class SRoom {

    public int geb;

    public int etage;

    public int raum;


    public SRoom(int g, int e, int r) {

        this.geb = g;

        this.etage = e;

        this.raum = r;

    }

    public String toString() {

        return String.format("%2d-%d.%02d", this.geb, this.etage, this.raum);

    }

    public boolean equals(SRoom other) {

        return other.toString().equals(this.toString());

    }

    public SRoom clone() {

        return new SRoom(this.geb, this.etage, this.raum);

    }

}


Vorgehensweise:

1. Aufbau von Klassen

  • eine Klasse enthält Attribute und Methoden
  • als erstes werden die Attribute für die Klasse festgelegt, inkl. Datentyp

2. Konstruktion des Objektes

  • als nächstes wird eine Methode gebraucht, die den gegebenen Parametern Werte zuweist (this.name = a)
  • um eine angemessene Ausgabe zu erhalten müssen die Attribute formatiert werden (toString())
  • mithilfe von String.format() können die Attribute in vorgegebener Form erstellt werden
  • benötigt wird ein String mit Platzhaltern %s , sowie die dort einzusetzenden Parameter ("%2d-%d.%02d", A1, A2, A3)

3. Prüfmethoden

  • zuletzt brauchen wir Prüfmethoden wie equals() oder clone()
  • equals() prüft ob zwei Objekte gleich sind und gibt ein Boolean zurück
  • hierfür müssen die Objekte in Strings umgewandelt werden
  • clone() erstellt eine Kopie eines schon vorhandenen Objektes

Programmieren

Entwickeln Sie nun bitte eine Methode `noMultiples()`, die prüft, ob in

einer Zeichenkette niemals drei (oder mehr) gleiche Zeichen aufeinander 

folgen. Verallgemeinern Sie `noMultiples()` nun so, dass die Anzahl der zu wiederholenden Zeichen parameterisiert ist.

public static boolean noMultiples(int n, String s) {

        for (char c : s.toCharArray()) {

            String check = "";

            for (int i = 0; i < n; i++) check += c;

            if (s.contains(check)) return false;      

        }

        return true;

    }

    

    public static boolean noMultiples(String s) {

        return noMultiples(3, s);

    }


Vorgehensweise:

1. Überladene Methoden

  • Methoden können den gleichen Namen haben, solange ihre Parameter verschieden sind 
  • es werden zwei Methoden benötigt, die String-Methode verweist auf die andere und ergänzt den Parameter 3 im Datentyp int

2.  For-each-Schleifen

  • die Hauptschleife durch läuft die Char des Strings (s.toCharArray)
  • die Zweitschleife fügt Char dem String check solange hinzu, bis der Wert von n erreicht ist
  • anschließend wird geprüft, ob check im String enthalten ist (s.contains(check))

Programmieren

Entwickeln Sie nun bitte eine Methode `sameStarChar()`, die für eine Zeichenkette prüft, ob bei allen '*' Zeichen, das jeweils linke und rechte gleich sind.

public static boolean sameStarChar(String s) {


        if (s.isEmpty()) return true;

        if (s.charAt(0) == '*' && s.length() > 1) return false;

        if (s.charAt(s.length() - 1) == '*' && s.length() > 1) return false;


        for (int i = 1; i < s.length() - 1; i++) {

            if (s.charAt(i) == '*' && s.charAt(i - 1) != s.charAt(i + 1)) 

                return false;

        }

        return true;       

    }


Vorgehensweise:

1. Prüfen ob der String leer ist

2. Sterne am Anfang des Strings herausfiltern

  • ist an der Position 0 ein '*' und der String ist größer als 1, wird false returned

3. Sterne am Ende des Strings herausfiltern

  • ist an der Position s.length() - 1 ein '*' und der String ist größer als 1, wird false returned 

4. For-Schleife

  • durchläuft den String und prüft ob der Char an der Position i ein '*' ist 
  • wenn i ein '*' ist, wird geprüft ob die Char an den Positionen i - 1 und i + 1 identisch sind
  • sollte dies nicht der Fall sein, wird false returned
  • andernfalls wird die Schleife bis zum Ende durchlaufen und true returned

Programmieren

Komprimiere alle mehrfachen Zeichen in einer Zeichenkette.

Entwickeln Sie bitte eine Methode `compact()`, die aus einer beliebigen Zeichenkette eine neue Zeichenkette erzeugt, indem alle Blöcke (z.B. "aaaa") kompakt dargestellt werden.

public static String compact(String s) {

        if (s.isEmpty()) return "";

        char previous = s.charAt(0);

        String block =  "";

        String result = "";

        for (char c : s.toCharArray()) {

            if (c == previous) block += c;

            else {

                result += block.length() > 1 ? "" + block.charAt(0) + block.length() : block;

                block = c + "";

            }

            previous = c;

        }

        result += block.length() > 1 ? "" + block.charAt(0) + block.length() : block;

        return result;

    }


Vorgehensweise:

1. String auf Inhalt prüfen

2. Variablen setzen (char previous, String block, String result)

3. For-each Schleife mit Char[]

4. Prüfen und addieren

Sign up for free to see all flashcards and summaries for Programmieren at the Fachhochschule Lübeck

Singup Image Singup Image
Wave

Other courses from your degree program

For your degree program Programmieren at the Fachhochschule Lübeck there are already many courses on StudySmarter, waiting for you to join them. Get access to flashcards, summaries, and much more.

Back to Fachhochschule Lübeck overview page

Kaufmann/-frau für E-Commerce

EBV/Fotografie 📸

Programmieren I at

Duale Hochschule Baden-Württemberg

Programmieren 2 at

Hochschule Karlsruhe

programmieren at

Universität Düsseldorf

Programmieren 2 at

Hochschule für Technik und Wirtschaft Berlin

Programmieren 2 at

IUBH Internationale Hochschule

Similar courses from other universities

Check out courses similar to Programmieren at other universities

Back to Fachhochschule Lübeck overview page

What is StudySmarter?

What is StudySmarter?

StudySmarter is an intelligent learning tool for students. With StudySmarter you can easily and efficiently create flashcards, summaries, mind maps, study plans and more. Create your own flashcards e.g. for Programmieren at the Fachhochschule Lübeck or access thousands of learning materials created by your fellow students. Whether at your own university or at other universities. Hundreds of thousands of students use StudySmarter to efficiently prepare for their exams. Available on the Web, Android & iOS. It’s completely free.

Awards

Best EdTech Startup in Europe

Awards
Awards

EUROPEAN YOUTH AWARD IN SMART LEARNING

Awards
Awards

BEST EDTECH STARTUP IN GERMANY

Awards
Awards

Best EdTech Startup in Europe

Awards
Awards

EUROPEAN YOUTH AWARD IN SMART LEARNING

Awards
Awards

BEST EDTECH STARTUP IN GERMANY

Awards
X

StudySmarter - The study app for students

StudySmarter

4.5 Stars 1100 Rating
Start now!
X

Good grades at university? No problem with StudySmarter!

89% of StudySmarter users achieve better grades at university.

50 Mio Flashcards & Summaries
Create your own content with Smart Tools
Individual Learning-Plan

Learn with over 1 million users on StudySmarter.

Already registered? Just go to Login