Warum gibt es so viele verschiedene Programmiersprachen?
Abhängig
- vom zu lösenden Problem
- der Leistungsfähigkeit der jeweiligen Hardware
- vom zu lösenden Problem
- der Leistungsfähigkeit der jeweiligen Hardware
Erklären Sie, warum sich C/ C++ in der Industrie als eine bevorzugte Entwicklungssprache durchgesetzt hat!
- liefert Programmierkomfort, da die Befehle der Umgangssprache ähneln
- gut wartender und übersichtlicher Code
- kleine, schnelle und portable Programme
- Entwicklung von komplexen und leistungsfähigen Anwendungen
- ANSI-C-Standard (eindeutige, maschinenunabhängige Definition)
- gut wartender und übersichtlicher Code
- kleine, schnelle und portable Programme
- Entwicklung von komplexen und leistungsfähigen Anwendungen
- ANSI-C-Standard (eindeutige, maschinenunabhängige Definition)
Erklären Sie die Unterschiede zwischen Maschinensprache, Assemblercode und anderen Programmiersprachen!
Maschinensprache:
- kann vom Computer direkt ausgeführt werden
- Dualziffern 0/1
- kleine, schnelle Programme
- sehr fehleranfällig
- an den Prozessortyp gebunden
Assemblercode:
- etwas anschaulicher (mnemonische Symbole)
- geringer Speicherbedarf
- schnelle Ausführungszeit
- auf die jeweilige Hardware zugeschnitten
- Übersetzt wird mittels Assemblers in die Maschinensprache
- Kosten eines Programmierers überwiegen
Hochsprachen:
- Befehle ähneln der Umgangssprache
- leicht zu warten
- mit weniger (Kosten)-Aufwand erweitern/verbessern
- geht vom zum lösenden Problem aus
- kann vom Computer direkt ausgeführt werden
- Dualziffern 0/1
- kleine, schnelle Programme
- sehr fehleranfällig
- an den Prozessortyp gebunden
Assemblercode:
- etwas anschaulicher (mnemonische Symbole)
- geringer Speicherbedarf
- schnelle Ausführungszeit
- auf die jeweilige Hardware zugeschnitten
- Übersetzt wird mittels Assemblers in die Maschinensprache
- Kosten eines Programmierers überwiegen
Hochsprachen:
- Befehle ähneln der Umgangssprache
- leicht zu warten
- mit weniger (Kosten)-Aufwand erweitern/verbessern
- geht vom zum lösenden Problem aus
Erläuter Sie Vor- und Nachteile von Maschinensprache, Assemblercode und anderen Programmiersprachen!
Maschinensprache
+ Kleine, schnelle Programme
- Fehleranfällig
- Funktionen für Menschen schwer ersichtlich
- An Prozessortyp gebunden
Assemblersprache
+ Geringer Speicherbedarf, schnelle Ausführungszeit
- Schwer an andere Computertypen übertragbar
- Kosten für Programmierer übersteigen die der Hardware Hochsprachen
+ Hoher Programmierkomfort (Ähnlichkeit der Umgangssprache) + Qualitativer Sprung
- Rechenleistung
- Speicher
+ Kleine, schnelle Programme
- Fehleranfällig
- Funktionen für Menschen schwer ersichtlich
- An Prozessortyp gebunden
Assemblersprache
+ Geringer Speicherbedarf, schnelle Ausführungszeit
- Schwer an andere Computertypen übertragbar
- Kosten für Programmierer übersteigen die der Hardware Hochsprachen
+ Hoher Programmierkomfort (Ähnlichkeit der Umgangssprache) + Qualitativer Sprung
- Rechenleistung
- Speicher
Beschreiben Sie die verschiedenen Generationen von Programmiersprachen!
1.Generation: Maschinensprache
2.Generation: Assemblercode
3. Generation: prozedurale, problemorientierte Hochsprache (Problem im Mittelpunkt)
4. Generation: nonprozedurale Hochsprache (was das Programm leisten soll)
5. Generation: Künstliche Intelligenz
Objektorientierte Generation: Problemlösung mit verschiedenen Objekten (mit Eigenschaften und Methoden)
2.Generation: Assemblercode
3. Generation: prozedurale, problemorientierte Hochsprache (Problem im Mittelpunkt)
4. Generation: nonprozedurale Hochsprache (was das Programm leisten soll)
5. Generation: Künstliche Intelligenz
Objektorientierte Generation: Problemlösung mit verschiedenen Objekten (mit Eigenschaften und Methoden)
Beschreiben Sie die Unterschiede zwischen der prozeduralen und der strukturierten Programmierung!
prozedural: Folge von Anweisungen
strukturiert: Trennung von Daten und Prozeduren
strukturiert: Trennung von Daten und Prozeduren
Welche Vor- und Nachteile bietet die strukturierte Programmierung?
strukturierte Programmierung:
+ erfolgreichen Lösungsansatz bei komplexeren Aufgabenstellungen
- Trennung zw. Daten und Prozeduren bei zunehmender Datenmenge schwierig
- Widerverwendbarkeit zu gering
+ erfolgreichen Lösungsansatz bei komplexeren Aufgabenstellungen
- Trennung zw. Daten und Prozeduren bei zunehmender Datenmenge schwierig
- Widerverwendbarkeit zu gering
Was versteht man unter einem Von - Neumann - Rechner?
Virtueller Universalrechner,
besteht aus 5 Funktionseinheiten:
-Steuerwerk
-Rechenwerk
-Ein und Ausgabewerk
-Speicher
I
nformationen zw. diesen Einheiten werden über
Daten, Steuer und Adressbus ausgetauscht.
besteht aus 5 Funktionseinheiten:
-Steuerwerk
-Rechenwerk
-Ein und Ausgabewerk
-Speicher
I
nformationen zw. diesen Einheiten werden über
Daten, Steuer und Adressbus ausgetauscht.
Erklären Sie das Konzept der imperativen Programmiersprachen mit Hilfe eines Von - Neumann - Rechners!
Imperative Programmiersprachen basieren auf Befehlen
- Anpassung durch aufeinander folgende Befehle
sinnvolle Reihenfolge -> funktioniert auf VNR -> funktioniert überall
- Anpassung durch aufeinander folgende Befehle
sinnvolle Reihenfolge -> funktioniert auf VNR -> funktioniert überall
Wie werden Probleme in der funktionalen Programmierung gelöst?
funktionale Programmierung:
Lösen der Probleme durch berechnen von Funktionen.
Lösen der Probleme durch berechnen von Funktionen.
Beschreiben Sie das Konzept der logischen Programmiersprachen!
logische Programmierung:
Fakten und Regeln;
Antwort mit richtig oder falsch
Fakten und Regeln;
Antwort mit richtig oder falsch
Worauf basieren imperative/ deklarative Programmiersprachen?
deklarativ: aussagenorientiert
imperativ: befehlsorientiert
imperativ: befehlsorientiert
Erläutern Sie den Begriff Kapselung
Kapselung:
Alle Eigenschaften und Methoden in der Definition des Objekts.
Alle Eigenschaften und Methoden in der Definition des Objekts.
Erläutern Sie den Begriff Verbergen von Daten!
Verbergen von Daten:
Nicht nötig Funktionsweise zu kennen – nur Anwendung ist wichtig.
Nicht nötig Funktionsweise zu kennen – nur Anwendung ist wichtig.
Erläutern Sie den Begriff Vererbung!
Vererbung:
Objekt baut auf Eigenschaften eines anderen Objekts auf.
Objekt baut auf Eigenschaften eines anderen Objekts auf.
Erläutern Sie den Begriff Polymorphie!
Polymorphie:
Objekte verwenden dieselbe Methode und unternehmen die richtigen Schritte, um die Funktion auszuführen.
Sie interpretieren die Nachricht, abhängig von der Verwendung, unterschiedlich.
Objekte verwenden dieselbe Methode und unternehmen die richtigen Schritte, um die Funktion auszuführen.
Sie interpretieren die Nachricht, abhängig von der Verwendung, unterschiedlich.
Bewerten Sie die Bedeutung der Wiederverwendbarkeit von Softwarebausteinen bei der Softwareproduktion!
Wiederverwendbarkeit:
- spart Zeit und Geld
- Stabilität
- Verbesserung / Weiterentwicklung
- spart Zeit und Geld
- Stabilität
- Verbesserung / Weiterentwicklung
Erklären Sie die Begriffe ''Klasse", "Objekt", ''Eigenschaft'' und "Methode'' aus der objektorientierten Programmierung!
Klasse: Bauplan (Definition eines Würfels)
Objekt: Komponenten (Würfel, rotes Männchen)
Eigenschaften: Attribute (Farbe, Größe)
Methode: Funktionen (würfle, ziehe)
Programme können nach Bedarf aus einzelnen Objekten zusammengestellt werden.
Die Komponenten müssen so nicht immer neu erfunden werden.
Objekt: Komponenten (Würfel, rotes Männchen)
Eigenschaften: Attribute (Farbe, Größe)
Methode: Funktionen (würfle, ziehe)
Programme können nach Bedarf aus einzelnen Objekten zusammengestellt werden.
Die Komponenten müssen so nicht immer neu erfunden werden.
Beschreiben Sie stichwortartig die Funktion und Arbeitsweise des Assembler!
Assembler:
- maschinennah
- mnemotechnisch
- wird in Maschinensprache assembliert
- maschinennah
- mnemotechnisch
- wird in Maschinensprache assembliert
Beschreiben Sie stichwortartig die Funktion und Arbeitsweise des Compiler!
Compiler:
- am Stück übersetzt
- bezogen auf ein OS
- selbstständig lauffähig
- am Stück übersetzt
- bezogen auf ein OS
- selbstständig lauffähig
Beschreiben Sie stichwortartig die Funktion und Arbeitsweise des Interpreter!
Interpreter:
- zur Laufzeit übersetzt (Schritt für Schritt)
- Shell- oder Wirtprogramm wird benötigt zur Ausführung
- zur Laufzeit übersetzt (Schritt für Schritt)
- Shell- oder Wirtprogramm wird benötigt zur Ausführung
Nennen Sie je drei compilierte und drei interpretierte Programmiersprachen!
Compiler:
- C
- C++
- COBOL
- Smaltalk
- Pacal
Interpreter:
- VBA
- Perl
- PHP
- JavaScript
- C
- C++
- COBOL
- Smaltalk
- Pacal
Interpreter:
- VBA
- Perl
- PHP
- JavaScript
Weshalb kann man in Java Platform unabhängige Programme erstellen?
Java wird mit dem Compiler in Bytecode übersetzt.
Benötigt wird dann eine Java Virtual Machine(JVM) zur Ausführung, welche es für verschiedene Plattformen gibt.
Benötigt wird dann eine Java Virtual Machine(JVM) zur Ausführung, welche es für verschiedene Plattformen gibt.
Erläutern Sie, weshalb im .NET Framework Module aus unterschiedlichen Programmiersprachen in einem Programm verwendet werden können!
Alle Microsoft.NET Sprachen werden durch einen Sprachcompiler in die MSIL (MS Intermediate Language) compiliert
und benötigen zur Ausführung den JiT-Compiler des .NET Frameworks.
=> beliebige MSIL-Code Module unterschiedlicher .NET Programmiersprachen können kombiniert werden
und benötigen zur Ausführung den JiT-Compiler des .NET Frameworks.
=> beliebige MSIL-Code Module unterschiedlicher .NET Programmiersprachen können kombiniert werden
Was versteht man under einem Algorithmus?
Ein Algorithmus ist eine Reihenfolge von Anweisungen zur Lösung eines Problems.
Erläutern Sie das Konzept der Abstraktion beim Erstellen von Programmen?
Abstraktion: eine Art Unterprogramm in einem Algorithmus. Wird mit dem Namen aufgerufen und führt dann eine ganze Reiche von Anweisungen aus.
Erläutern Sie das Konzept der Abstraktion beim Erstellen von Programmen?
Abstraktion: eine Art Unterprogramm in einem Algorithmus. Wird mit dem Namen aufgerufen und führt dann eine ganze Reiche von Anweisungen aus.
Was versteht man allgemein unter einem Programm?
Ein Programm ist ein Weg zum Lösen eines Problems. Es besteht aus einer genauen Folge von Anweisungen.
Was versteht man unter Software-Technik?
Softwaretechnik: Entwurf und Entwicklung von Software-Systemen einschließlich Dokumentation und widerverwendbaren Komponenten.
Erläutern Sie die Bedeutung einer Programmbibliothek bei der Software-Technik!
Programmbibliothek:
* widerverwendbare Softwarekomponenten abgelegt
* zu teuer das Rad jedes Mal neu zu erfinden
* widerverwendbare Softwarekomponenten abgelegt
* zu teuer das Rad jedes Mal neu zu erfinden
lnnerhalb der Software - Technik laufen verschiedene Prozesse ab: - Welchem Zweck dient der ,,Top - Level - Entwurf
Top-Level-Entwurf:
* allgemeine Problemlösung
* Komponenten, aus denen sich das Programm zusammensetzt, werden aufgeschlüsselt (Teambildung)
* allgemeine Problemlösung
* Komponenten, aus denen sich das Programm zusammensetzt, werden aufgeschlüsselt (Teambildung)
lnnerhalb der Software - Technik laufen verschiedene Prozesse ab: -Beschreiben Sie die Vorgänge bei der "Software - Technik im Kleinen''
Software-Technik im Kleinen:
* Jede Komponente durchläuft die 3 Phasen:
Entwurf,
Implementierung (Programm schreiben)
und Test
* Zusammenfügung der Komponenten nach dem erfolgreichen Komponententest
* Jede Komponente durchläuft die 3 Phasen:
Entwurf,
Implementierung (Programm schreiben)
und Test
* Zusammenfügung der Komponenten nach dem erfolgreichen Komponententest
lnnerhalb der Software - Technik laufen verschiedene Prozesse ab: - Wozu benötigt man Systemintegration und Systemtest?
Systemintegration / Systemtest:
* getesteten Einzelkomponenten des Softwaresystems werden zusammengefügt
* Prüfung ob die einzelnen Komponenten zusammen funktionieren
* getesteten Einzelkomponenten des Softwaresystems werden zusammengefügt
* Prüfung ob die einzelnen Komponenten zusammen funktionieren
lnnerhalb der Software - Technik laufen verschiedene Prozesse ab: - Nennen Sie Beispiele für Fehler, die bei Systemintegration und Systemtest aufgedeckt werden können!
Fehler bei Systemintegration / Systemtest:
* zwei Datenbanken, die als einzelne funktionieren müssen nicht unbedingt zusammen funktionieren (z.B. beim Laden von Daten, Speichern, etc.)
* zwei Datenbanken, die als einzelne funktionieren müssen nicht unbedingt zusammen funktionieren (z.B. beim Laden von Daten, Speichern, etc.)
Erklären Sie, warum es wichtig ist, erst einen korrekten Entwurf zu erstellen, bevor man sich auf die Implementierungsphase einlässt!
korrekter Entwurf:
* spart Zeit und Entwicklungskosten
* Änderungen am Entwurf einfacher als nach den Tests
* spart Zeit und Entwicklungskosten
* Änderungen am Entwurf einfacher als nach den Tests
Erläutern Sie den Grund für die Einfuhrung von Struktogrammen!
Struktogramme:
* umständlich Vorgehensweisen (Algorithmen) vollständig schriftlich festzuhalten
* kein „goto“
* zusätzlich Dokumentation
* umständlich Vorgehensweisen (Algorithmen) vollständig schriftlich festzuhalten
* kein „goto“
* zusätzlich Dokumentation
Begründen Sie, ob Struktogramme für jedes Programm oder Makro erstellt werden müssen!
Bedarf Struktogramm:
* nach Größe des Projekts
* Aufgabenstellung
* nach Größe des Projekts
* Aufgabenstellung
Erläutern Sie den Unterschied zwischen kopf- und fußgesteuerten Schleifen!
kopfgesteuerte Schleife:
Abfrage vor der Durchführung der Verarbeitung Bedingung bei der ersten Abfrage nicht erfüllt => keine Verarbeitung (while) fußgesteuerte Schleife: Abfrage nach dem Durchlauf der Verarbeitung (läuft also min. einmal durch / repeat)
Abfrage vor der Durchführung der Verarbeitung Bedingung bei der ersten Abfrage nicht erfüllt => keine Verarbeitung (while) fußgesteuerte Schleife: Abfrage nach dem Durchlauf der Verarbeitung (läuft also min. einmal durch / repeat)
Erklären Sie den Unterschied zwischen Kompilieren und Linken!
Kompilieren:
* Compiler liest Quelltextdateien (.cpp; .h) und erzeugt einen Zwischencode (.obj; .lib)
Linken:
* Linker verbindet diese Komponenten und erstellt *.exe.
* Compiler liest Quelltextdateien (.cpp; .h) und erzeugt einen Zwischencode (.obj; .lib)
Linken:
* Linker verbindet diese Komponenten und erstellt *.exe.
Beschreiben Sie den Aufbau eines VISUAL C++ Projekts!
Aufbau C++ Projekt:
* hierarchische Struktur (wie Explorer)
* oberster Knoten ist die Solution (Projektmappe)
* untergeordnet sind mehrere Projektknoten
* mehrere Projekte können innerhalb einer Projektmappe verwaltet werden
* hierarchische Struktur (wie Explorer)
* oberster Knoten ist die Solution (Projektmappe)
* untergeordnet sind mehrere Projektknoten
* mehrere Projekte können innerhalb einer Projektmappe verwaltet werden
Welchen Vorteil bietet die Verwaltung von Quelldateien in einem Projekt?
Vorteile von Quelldateien in einem Projekt:
* alle in einem Projekt werden in der richtigen Reihenfolge kompiliert und gelinkt
=> einfacher für Compiler/Linker, da nur eine „main“
* alle in einem Projekt werden in der richtigen Reihenfolge kompiliert und gelinkt
=> einfacher für Compiler/Linker, da nur eine „main“
Was bewirkt die C++ Anweisung "#include"?
include: Suche die Datei in den spitzen Klammern und setzte sie genau an der Stelle im Programm ein.
Erläutern Sie die Bedeutung der Hauptfunktion main() in einem C++ Programm!
main:
* genau nur eine Hauptfunktion
* das eigentliche Programm (zwischen {})
* wird beim Programmstart automatisch aufgerufen
* genau nur eine Hauptfunktion
* das eigentliche Programm (zwischen {})
* wird beim Programmstart automatisch aufgerufen
Auf welche Weise kennzeichnet man in C++ Kommentare?
Kommentare:
// = Bis zum Zeilenende
/* */ = Über mehrere Zeilen
// = Bis zum Zeilenende
/* */ = Über mehrere Zeilen
Welchen Zweck erfüllen gute Kommentare in Programmen?
Zweck Kommentare:
* zur eigenen (bzw. für andere) Orientierung/Verständnis
* Notizen
* zur eigenen (bzw. für andere) Orientierung/Verständnis
* Notizen
Beschreiben Sie die Deklaration und lnitialisierung von Variablen und Konstanten!
Deklaration von Variablen und Konstanten:
Speicherplatz wird reserviert
"double radius" Name = radius,
Typ = double
Initialisierung von Variablen und Konstanten:
Wert wird zugewiesen
"radius = 20" = Zuweisungsoperator
Deklaration + Initialisierung = Definition
Speicherplatz wird reserviert
"double radius" Name = radius,
Typ = double
Initialisierung von Variablen und Konstanten:
Wert wird zugewiesen
"radius = 20" = Zuweisungsoperator
Deklaration + Initialisierung = Definition
Nennen Sie vier verschiedene elementare Datentypen von C++ Variablen!
Elementare Typen in C++:
short 2 Byte
int 4 Byte
long 4 Byte
float 4 Byte
double 8 Byte
char 1 Byte
short 2 Byte
int 4 Byte
long 4 Byte
float 4 Byte
double 8 Byte
char 1 Byte
Erklären Sie den Unterschied zwischen Iiteralen und symbolischen Konstanten!
literale Konstante:
* Eintippen an der Stelle des Vorkommens
* nicht mehr veränderbar
symbolische Konstante:
* hat einen Namen (PI)
* nicht mehr veränderbar
* wird mit Namen aufgerufen (nicht 3,14159)
* Eintippen an der Stelle des Vorkommens
* nicht mehr veränderbar
symbolische Konstante:
* hat einen Namen (PI)
* nicht mehr veränderbar
* wird mit Namen aufgerufen (nicht 3,14159)
Beschreiben Sie den Unterschied zwischen der Deklaration und der Definition von Funktionen!
Deklaration von Funktionen:
* Funktionskopf (Prototyp)
* in Headerdatei
Rückgabetyp Bezeichner (Parametertyp Parameter);
double Quadrat (double seite);
Definition von Funktionen:
* Funktionsrumpf
* in Quelltextdatei
double Quadrat (double seite)
{ return seite * seite ; }
* Funktionskopf (Prototyp)
* in Headerdatei
Rückgabetyp Bezeichner (Parametertyp Parameter);
double Quadrat (double seite);
Definition von Funktionen:
* Funktionsrumpf
* in Quelltextdatei
double Quadrat (double seite)
{ return seite * seite ; }
Wie werden Funktionen im C++ Programm aufgerufen?
Funktionsaufruf in C++:
* im Hauptprogramm
* mit Name und Übergabeparameter
Addiere (4, 35)
* 4 und 35 werden an die Funktion Addiere übergeben
* springt in den Funktionsrumpf
- nach der Abarbeitung wieder zurück
* im Hauptprogramm
* mit Name und Übergabeparameter
Addiere (4, 35)
* 4 und 35 werden an die Funktion Addiere übergeben
* springt in den Funktionsrumpf
- nach der Abarbeitung wieder zurück
Erklären Sie, an welcher Stelle im Programm der Funktionsprototyp bzw. die Funktionsdefinition stehen müssen!
Gebrauch von Funktionsprototyp:
* vor dem ersten Gebrauch
* normal Headerdatei
Gebrauch von Funktionsdefinition:
* egal – nur nicht in eine andere Definition
* vor dem ersten Gebrauch
* normal Headerdatei
Gebrauch von Funktionsdefinition:
* egal – nur nicht in eine andere Definition
Erläutern Sie den Unterschied zwischen kopf- und fußgesteuerten Schleifen!
kopfgesteuerte Schleife:
Abfrage vor der Durchführung der Verarbeitung Bedingung bei der ersten Abfrage nicht erfüllt => keine Verarbeitung (while)
fußgesteuerte Schleife:
Abfrage nach dem Durchlauf der Verarbeitung (läuft also min. einmal durch / repeat)
Abfrage vor der Durchführung der Verarbeitung Bedingung bei der ersten Abfrage nicht erfüllt => keine Verarbeitung (while)
fußgesteuerte Schleife:
Abfrage nach dem Durchlauf der Verarbeitung (läuft also min. einmal durch / repeat)
Kartensatzinfo:
Autor: Zarkov
Oberthema: Informatik
Thema: Anwendungsprogrammierung
Schule / Uni: Berufsschule
Ort: Passau
Veröffentlicht: 17.09.2009
Schlagwörter Karten:
Alle Karten (52)
keine Schlagwörter