Programmieren Flashcards

(17 cards)

1
Q
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Unterschied:
Compiler
Interpreter

A

Compiler = Programm, das den gesamten Quellcode analysiert und in einen ausführbaren maschinencode übersetzt.
Der übersetzte Code kann später unabhängig vom Compiler ausgeführt werden

Interpreter = Führt den Quellcode Zeile für Zeile aus.
Interpreter übersetzt den Code zur Laufzeit. Der Interpreter analysiert und führt jede Anweisung einzeln aus.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Nenne:
Compilersprachen
Interpretersprachen

A

Compilersprachen

  • C
  • C++
  • Pascal

Interpretersprachen

  • Perl
  • Python
  • BASIC
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Vorteile von Versionsverwaltung in der Softwareentwicklung

A

Versionsverwaltung

  • ermöglicht Nachverfolgung von Änderungen am Quellcode
  • erlaubt das einfache Zurücksetzen auf frühere Versionen
  • ermöglicht die Zusammenarbeit mehrerer Entwickler an einem Projekt.
  • erleichtert das Testen neuer Funktionen oder Experimente, ohne die Integrität des Hauptprojekts zu gefährden.
  • trägt dazu bei den Entwicklungsprozess transparenter zu gestalten.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Erkläre:
JSON

A

JSON - JavaScript Object Notation

  • Datenformat zur Speicherung und Übertragung strukturierter Daten
  • speichert Daten in Form von Attribut-Wert-Paaren.
  • JSON-Dokumente bestehen aus geschweiften Klammern und enthalten eine oder mehrere Eigenschaften.
  • Jede Eigenschaft besteht aus Namen und Wert
  • Name und Wert durch Doppelpunk getrennt

{
“name”: “Andreas Müller”,
“age”: 30,
“city”: “Hamburg”
}

JSON wird häufig in Webandwendungen und APIs - Application Programming Interfaces eingesetzt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Unterscheide:
CSV
XML

A

CSV - Comma-Seperated Values
XML - eXtensible Markup Language

= verschiedene Datenformate zur Speicherung und Übertragung von strukturierten Daten.

CSV

  • textbasiert
  • Tabellenform
  • Jede Zeile = ein Datensatz
  • Einzelne Werte innerhalb Zeile sind durch Trennzeichen voneinander getrennt.
  • CSV enthält normalerweise keine Strukturinformationen oder Hierarchie

XML

*Markup-Sprache
* hierarschische Struktur
* Daten in Tags eingebettet
* Daten ineinander verschachtelt um komplexe Hierarchien darzustellen

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Beschreibe:
Struktogramm in Bezug auf Allgemeingültigkeit, Deklaration von Variablen und Exklusivität

A

Allgemeingültigkeit

  • Struktogramme sollen keine spezifischen Syntaxelemente einer bestimmten Programmiersprache beinhalten.
  • Design soll allgemeingültig sein
  • übersetzbar in jede Prorammiersprache

Deklaration von Variablen

  • Wird im ersten Anweisungsblock vorgenommen

Exklusivität

  • Jede Anweisung = eigener Strukturblock
  • Auch identische/ähnliche Anweisungen dürfen nicht in einem Strukturblock kombiniert werden
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Beispiele für:
Strukturdiagramme
Verhaltensdiagramme

nach
UML-Standard

A

Strukturdiagramme

  • Klassendiagramm
  • Objektdiagramm
  • Paketdiagramm
  • Komponentendiagramm
  • Profildiagramm
  • Vereilungsdiagramm
    *Kompositionsstrukturdiagramm

Verhalensdiagramme

  • Anwendungsfalldiagramm
  • Zustandsdiagramm
  • Aktivitätsdiagramm
  • Sequenzdiagramm
  • Kommunikationsdiagramm
  • Zeitdiagramm
  • Interaktionsübersichtsdiagramm
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wofür wird das UML - Aktivitätsdiagramm bei der Modellierung genutzt

A

UML-Aktivitätsdiagramm

  • Verhaltensdiagramm
  • Stellt die Reihenfolge und Bedingungen für Ausführung verschiedener Aktivitäten dar
  • Es können Arbeitsabläufe visualisiert werden
  • Verhalten von Systemteilen kann modelliert werden
  • Anforderungen können analysiert werden
  • parallele Abläufe können dargestellt werden.
    *Startknoten
    *Endknoten
    *Aktionsknoten
    *Entscheidungsknoten
  • Synchronisationsstangen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Welche Informationen kann man aus dem **Klassendiagramm* ableiten?

A

Klassendiagramm zeigt

  • Klassen und Objekte
  • Attribute und Operationen
  • Beziehungen zwischen Klassen
  • Sichtbarkeit - öffentliche, private, geschützte Attribute
  • Kardinalität - Beziehungen zwischen Klassen-Instanzen
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Erkläre:
Klasse in der objektorientierten Programmierung

A

Klassen in objektorientierter Programmierung

  • Bauplan für Erstellung von Objekten
  • definiert Eigenschaften und Methoden von Objekten
  • Eine Klasse kann mehrere Objekte mit ähnlichen Merkmalen und Verhaltensweisen ermöglichen
  • Grundlage für Vererbung und Polymorphie
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Erkläre:
Objekt in der objektorientierten Programmierung

A

Objekt in objektorientierter Programierung

  • konkrete Instanz einer Klasse
  • besitzt Attribute und Methoden die in seiner Klasse definiert sind
  • Jedes Objekt hat eigenen Satz von Werten für die Attribute
  • Attribute repräsentieren Zustand
  • Methoden repräsentieren Verhalten

Objekt = Verkapselung von Daten (Zustand) und den dazu gehörenden Operationen ( Verhalten)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

In UML-Klassendiagrammen wird zwischen den Beziehungstypen Aggregation und Komposition unterschieden.
Erläutere den Unterschied zwischen diesen Beziehungstypen.

A

Aggregation

  • lose Beziehung zwischen 2 Klassen, bei der eien Klasse (das Ganze) eine Sammlung oder eine Gruppe von Objekten einer anderen Klasse (die Teile) enthält.
    Beziehung zwischen dem Ganzen und den Teilen ist in der Regel optional, das heißt, das Ganze kann ohne die Teile existieren

Komposition

  • starke Beziehung zwischen zwei Klassen, bei der eine Klasse (das Ganze) aus eienr anderen Klasse (dem Teil) besteht.
  • Die Teile können nur als Teil des Ganzen existieren und haben keine eigenständige Existenz.
    Wenn das Ganze zerstört wird, werden auch die Teile zerstört
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Erkläre:
Vererbung

A

Vererbung

  • Schlüsselprinzip
  • ermöglicht neue Klassen aus bereits existierenden Klassen zu erzeugen.

Die neu erstellte Klasse wird als “Unterklasse” oder “abgeleitete Klasse” bezeichnet, während die existierende Klasse, von der sie erbt, als “Oberklasse” oder “Basisklasse” bezeichnet wird.

  • Vererbung ist nützlich für Wiederverwendung von Code
    *Reduzierung von Redundanz

Attribute und Methoden werden in der Oberklasse definiert und an die Unterklasse weitergegeben

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Zusammenhang:
Datenkapselung
Datenintegrität
Code-Wartbarkeit

A

Datenkapselung

  • zentraler Grundsatz der objektorientierten Programmierung
  • verbirgt die Daten(Variablen) und die Methoden einer Klasse und schützt vor Zugriff von außen.
  • Nur öffentliche Methoden der Klasse können auf die internen Daten zugreifen

Datenkapselung** führt zu hohem Maß an **Datenintegrität

  • Daten können nur auf sichere und kontrollierte Weise manipuliert werden.

Ein hohes Maß an Datenintegrität führt zu guter Wartbarkeit und Verständlichkeit des Codes da Änderungen an der internen Implementierung der Klasse nicht Teile des Programms beeinflussen, die die Klasse verwenden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Unterschied:
Prozeduren
Funktionen

A

Funktion

  • Codeblock, der eine spezifische Aufgabe ausführt und in der Regel einen Wert zurückgibt

Prozedur

  • Codeblock der eine spezifische Aufgabe ausführt und dabei keinen Wert zurückgibt.
  • Prozedur führt Aufgabe aus und kehrt dann zur aufrufenden Stelle im Code zurück
17
Q

Unterschied:
prozedurale Progammierung
objektorientierte Programmierung

A

prozedurale Programmierung

  • Programm führt eine Reihe von Aufgaben aus Prozeduren
  • besteht i.d.R. aus einer Rihe von Prozeduren, die aufgerufen werden, um eine bestimmte Aufgabe zu erfüllen
  • Daten sind getrennt von den prozeduren
  • Prozeduren bearbeiten diese Daten

objektorientierte Programmierung

  • Daten, Funktionen und Objekte werden zusammengefasst.
  • Objekt kann Attribute (Daten) und Methoden (Funktionen) enthalten
  • fokussiert auf drei Hauptprinzipien: Vererbung, Kapselung, Polymorphie