Warum gibt es so viele verschiedene Programmiersprachen?
- Abhängig vom zu lösenden Problem
- Der Leistungsfähigkeit der jeweiligen Hardware
Betrachtet man den Stammbaum der Programmiersprachen so erkennt man, dass viele der Sprachen zueinander verwandt sind und sich in ihrer Entwicklung gegenseitig beeinflusst haben. Auf Grund der unterschiedlichen Anforderungen der Programmierer an die jeweilige Sprache entwickelten sich auch unterschiedliche Sprachen.
- Der Leistungsfähigkeit der jeweiligen Hardware
Betrachtet man den Stammbaum der Programmiersprachen so erkennt man, dass viele der Sprachen zueinander verwandt sind und sich in ihrer Entwicklung gegenseitig beeinflusst haben. Auf Grund der unterschiedlichen Anforderungen der Programmierer an die jeweilige Sprache entwickelten sich auch unterschiedliche Sprachen.
Erklären Sie, warum sich C/ C++ in der Industrie als eine bevorzugte Entwicklungssprache durchgesetzt hat!
Weil "C" einen qualitativen Sprung hinsichtlich des Programmierkomforts liefert, da die Befehle der
Umgangssprache ähneln ("DO..WHILE") => gut wartender und übersichtlicher Code steht an erster Stelle,
da die Kosten für einen Programmierer überwiegen.
Die Sprache liefert zudem kleine, schnelle und portable Programme.
Die Werkzeuge von C++ machen die
Entwicklung von komplexen und leistungsfähigen Anwendungen möglich.
Das ANSI erarbeitet eine eindeutige und maschinenunabhängige Definition der Programmiersprache C, den
ANSI-C-Standard.
Umgangssprache ähneln ("DO..WHILE") => gut wartender und übersichtlicher Code steht an erster Stelle,
da die Kosten für einen Programmierer überwiegen.
Die Sprache liefert zudem kleine, schnelle und portable Programme.
Die Werkzeuge von C++ machen die
Entwicklung von komplexen und leistungsfähigen Anwendungen möglich.
Das ANSI erarbeitet eine eindeutige und maschinenunabhängige Definition der Programmiersprache C, den
ANSI-C-Standard.
Erklären Sie die Unterschiede zwischen Maschinensprache, Assemblercode und anderen Programmiersprachen!
In der Gründerzeit arbeiteten die Programmierer mit den primitivsten Computeranweisungen der
Maschinensprache.
Sie kann vom Computer direkt ausgeführt werden und besteht aus einer Abfolge von
den Dualziffern 0/1.
Sie liefert kleine, schnelle Programme die jedoch sehr
fehleranfällig sind.
Sie ist an den Prozessortyp gebunden.
Die Assemblersprache ist etwas anschaulicher, da sie für den Menschen leichter verständliche
"mnemonische" Symbole verwendet. Vorteil hierbei ist der geringe Speicherbedarf und die schnelle
Ausführungszeit. Jedoch verlieren diese Vorteile an Bedeutung, da die Kosten eines Programmierers
überwiegen. Die Programme sind auf die jeweilige Hardware zugeschnitten, somit nur schwer übertragbar
auf andere Rechner.
Übersetzt wird mittels Assemblers in die Maschinensprache.
Die Befehle der Hochsprachen ähneln der Umgangssprache.
Der Code ist leicht zu warten und lässt sich mit
weniger (Kosten)-Aufwand erweitern und verbessern. Die Sprache ist an keine Hardware mehr gebunden,
sie orientiert sich am zu lösenden Problem.
Maschinensprache.
Sie kann vom Computer direkt ausgeführt werden und besteht aus einer Abfolge von
den Dualziffern 0/1.
Sie liefert kleine, schnelle Programme die jedoch sehr
fehleranfällig sind.
Sie ist an den Prozessortyp gebunden.
Die Assemblersprache ist etwas anschaulicher, da sie für den Menschen leichter verständliche
"mnemonische" Symbole verwendet. Vorteil hierbei ist der geringe Speicherbedarf und die schnelle
Ausführungszeit. Jedoch verlieren diese Vorteile an Bedeutung, da die Kosten eines Programmierers
überwiegen. Die Programme sind auf die jeweilige Hardware zugeschnitten, somit nur schwer übertragbar
auf andere Rechner.
Übersetzt wird mittels Assemblers in die Maschinensprache.
Die Befehle der Hochsprachen ähneln der Umgangssprache.
Der Code ist leicht zu warten und lässt sich mit
weniger (Kosten)-Aufwand erweitern und verbessern. Die Sprache ist an keine Hardware mehr gebunden,
sie orientiert sich am zu lösenden Problem.
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 mit seinen leichter verständlichen mnemoischen Anweisungen.
3. Generation: Systemunabhängige Hochsprachen, prozeduraler und problemorientierter Natur. Das zu
lösende Problem steht im Mittelpunkt.
4. Generation: Nonprozedurale Programmiersprachen, die Problembezogenheit tritt in den Hintergrund,
dafür steht die Universalität in den Vordergrund. Es wird beschrieben was das Programm machen soll und
nicht wie. Somit ist keine umfangreiche Programmierausbildung nötig (DELPI, SQL).
5. Generation: Künstliche Intelligenz: Es wird versucht die natürliche Intelligenz des Menschen durch
konstruierte Computer nachzuvollziehen. (PROLOG)
OOP Generation: Objektorientierte Generation, Probleme werden mit verschiedenen Objekten gelöst, Ein
Objekt enthält mit seinen Eigenschaften und Methoden immer alles, was für eine bestimmte Aufgabe
notwendig ist."
2. Generation: Assemblercode mit seinen leichter verständlichen mnemoischen Anweisungen.
3. Generation: Systemunabhängige Hochsprachen, prozeduraler und problemorientierter Natur. Das zu
lösende Problem steht im Mittelpunkt.
4. Generation: Nonprozedurale Programmiersprachen, die Problembezogenheit tritt in den Hintergrund,
dafür steht die Universalität in den Vordergrund. Es wird beschrieben was das Programm machen soll und
nicht wie. Somit ist keine umfangreiche Programmierausbildung nötig (DELPI, SQL).
5. Generation: Künstliche Intelligenz: Es wird versucht die natürliche Intelligenz des Menschen durch
konstruierte Computer nachzuvollziehen. (PROLOG)
OOP Generation: Objektorientierte Generation, Probleme werden mit verschiedenen Objekten gelöst, Ein
Objekt enthält mit seinen Eigenschaften und Methoden immer alles, was für eine bestimmte Aufgabe
notwendig ist."
Beschreiben Sie die Unterschiede zwischen der prozeduralen und der strukturierten Programmierung!
Bei der prozeduralen Programmierung stellt man sich Programme als eine Abfolge auszuführender
Anweisungen auf einen Satz von Daten vor.
Mit Hilfe der strukturierten Programmierung bringt man eine Systematik in die Abfolge der Prozeduren und
teilt das Programm in Daten und Funktionen ein.
Anweisungen auf einen Satz von Daten vor.
Mit Hilfe der strukturierten Programmierung bringt man eine Systematik in die Abfolge der Prozeduren und
teilt das Programm in Daten und Funktionen ein.
Welche Vor- und Nachteile bietet die strukturierte Programmierung?
+ Die strukturierte Programmierung bietet einen erfolgreichen Lösungsansatz bei komplexeren Aufgabenstellungen
- Bei zunehmender Datenmenge wird die Trennung zw. Daten und Prozeduren immer schwieriger
- Die Wiederverwendbarkeit ist zu gering
- Bei zunehmender Datenmenge wird die Trennung zw. Daten und Prozeduren immer schwieriger
- Die Wiederverwendbarkeit ist zu gering
Erklären Sie das Konzept der imperativen Programmiersprachen mit Hilfe eines Von - Neumann - Rechners!
Imperative Programmiersprachen basieren auf Befehlen. Anpassung an diesen Universalrechner an das
zu lösende Problem, durch aufeinander folgende Befehle, dem Programm.
=> Programme, die auf einem Von-Neumann-Rechner laufen, laufen auf jedem beliebigen Rechner.
zu lösende Problem, durch aufeinander folgende Befehle, dem Programm.
=> Programme, die auf einem Von-Neumann-Rechner laufen, laufen auf jedem beliebigen Rechner.
Erläutern Sie den Begriff Verbergen von Daten aus der objektorientierten Programmierung!
In der objektorientierten Programmierung ist es nicht notwendig, dass der Benutzer eines Objekts die Funktionsweisen aller Daten und Methoden eines Objekts kennt.
Er muss sie nur anwenden können.
Die Daten sind vor ihm verborgen.
In C++ muss der Benutzer nicht wissen wie eine Klasse funktioniert, er muss sie nur anwenden können."
Er muss sie nur anwenden können.
Die Daten sind vor ihm verborgen.
In C++ muss der Benutzer nicht wissen wie eine Klasse funktioniert, er muss sie nur anwenden können."
Erläutern Sie den Begriff Polymorphie aus der objektorientierten Programmierung!
Polymorphie bedeutet vielgestaltig,
viele Objekte können dieselbe Methode verwenden und unternehmen genau dann die richtigen Schritte, um die Funktion auszuführen.
Sie interpretieren die Nachricht, abhängig
von der Verwendung, unterschiedlich.
viele Objekte können dieselbe Methode verwenden und unternehmen genau dann die richtigen Schritte, um die Funktion auszuführen.
Sie interpretieren die Nachricht, abhängig
von der Verwendung, unterschiedlich.
Erklären Sie die Begriffe ''Klasse", "Objekt", ''Eigenschaft'' und "Methode'' aus der objektorientierten Programmierung!
"Klasse = Bauplan
Objekt = Komponenten!! Falsch!
Eigenschaften = Attribute
Methode = Funktionen
Programme aus einzelnen Objekten mit bekannten Eigenschaften und Methoden können nach Bedarf
zusammengestellt werden.
Die Klasse entspricht dabei dem Bauplan eines konkreten Objekts.
So muss man die einzelnen Komponenten nicht immer neu erfinden, sondern fügt sie entsprechend zusammen.
Objekt = Komponenten!! Falsch!
Eigenschaften = Attribute
Methode = Funktionen
Programme aus einzelnen Objekten mit bekannten Eigenschaften und Methoden können nach Bedarf
zusammengestellt werden.
Die Klasse entspricht dabei dem Bauplan eines konkreten Objekts.
So muss man die einzelnen Komponenten nicht immer neu erfinden, sondern fügt sie entsprechend zusammen.
Ordnen Sie die (folgenden) Sprachen wenn möglich entweder Compiler oder: Interpreter zu!
Compiler: C, C++, COBOL, Smaltalk, Pacal
Interpreter: VBA, Perl, PHP, JavaScript
keine Einteilung: HTML/XML (Seitenbeschreibungs- bzw. Strukturbeschreibungssprache),
JAVA (wird mit Compiler in Bytecode übersetzt – benötigt Java VM zur Ausführung),
C#, VB.NET (Microsoft.NET Sprachen – werden in MSIL compiliert – benötigen zur Ausführung JiTCompiler)"
Interpreter: VBA, Perl, PHP, JavaScript
keine Einteilung: HTML/XML (Seitenbeschreibungs- bzw. Strukturbeschreibungssprache),
JAVA (wird mit Compiler in Bytecode übersetzt – benötigt Java VM zur Ausführung),
C#, VB.NET (Microsoft.NET Sprachen – werden in MSIL compiliert – benötigen zur Ausführung JiTCompiler)"
Weshalb kann man in Java Platform unabhängige Programme erstellen?
Programme werden unabhängig vom darunter liegendem Betriebssysteme ausgeführt = Maschinenunabhängig.
Der compilierte Bytecode benötigt zur Ausführung aber eine Java-Virtual Machine(JVM).
Java-Virtual-Machine gibt es für verschiedene Plattformen.
Der compilierte Bytecode benötigt zur Ausführung aber eine Java-Virtual Machine(JVM).
Java-Virtual-Machine gibt es für verschiedene Plattformen.
Erläutern Sie, weshalb im .NET Framework Module aus unterschiedlichen Programmiersprachen in einem Programm verwendet werden können!
Alle .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. Daher können beliebige
MSIL-Code Module („Assemblies“) unterschiedlicher .NET Programmiersprachen kombiniert werden.
compiliert und benötigen zur Ausführung den JIT-Compiler des .NET Frameworks. Daher können beliebige
MSIL-Code Module („Assemblies“) unterschiedlicher .NET Programmiersprachen kombiniert werden.
lnnerhalb der Software - Technik laufen verschiedene
Prozesse ab:
- Welchem Zweck dient der ,,Top - Level - Entwurf"?
Prozesse ab:
- Welchem Zweck dient der ,,Top - Level - Entwurf"?
Der TLE löst das Problem auf einer sehr allgemeinen Ebene. Hier werden die einzelnen Komponenten,
aus denen sich das Programm zusammensetzt, aufgeschlüsselt (Teambildung, Teamarbeit).
aus denen sich das Programm zusammensetzt, aufgeschlüsselt (Teambildung, Teamarbeit).
Beschreiben Sie die Vorgänge bei der "Software - Technik im Kleinen''
Jede einzelne Komponente eines Softwaresystems durchläuft die
3 Phasen:
Entwurf, Implementierung (das
eigentliche Programm schreiben) und Test. Erst wenn der Komponententest erfolgreich abgeschlossen ist
können die Komponenten zusammengefügt werden.
3 Phasen:
Entwurf, Implementierung (das
eigentliche Programm schreiben) und Test. Erst wenn der Komponententest erfolgreich abgeschlossen ist
können die Komponenten zusammengefügt werden.
Erklären Sie, warum es wichtig ist, erst einen korrekten Entwurf zu erstellen, bevor man sich auf die Implementierungsphase einlässt!
Ein konkreter Entwurf spart Zeit und Entwicklungskosten, da eine Änderung am Entwurf einfach
durchzuführen ist, als Änderungen nach dem Komponententest oder Systemtest.
durchzuführen ist, als Änderungen nach dem Komponententest oder Systemtest.
Erläutern Sie den Unterschied zwischen kopf- und fußgesteuerten Schleifen!
Kopfgesteuerte Schleife:
Abfrage der Bedingung erfolgt vor der Durchführung der Verarbeitung. Ist die Bedingung bei der ersten
Abfrage schon nicht erfüllt, erfolgt keine Durchführung der Verarbeitung (While-Schleife).
Fußgesteuerte Schleife:
Abfrage der Bedingung nach dem Durchlauf der Verabeitung (Repeat-Schleife). Die Schleife läuft also
mindestens einmal durch. ( DO ... WHILE)
Abfrage der Bedingung erfolgt vor der Durchführung der Verarbeitung. Ist die Bedingung bei der ersten
Abfrage schon nicht erfüllt, erfolgt keine Durchführung der Verarbeitung (While-Schleife).
Fußgesteuerte Schleife:
Abfrage der Bedingung nach dem Durchlauf der Verabeitung (Repeat-Schleife). Die Schleife läuft also
mindestens einmal durch. ( DO ... WHILE)
Beschreiben Sie den Aufbau eines VISUAL C++ Projekts!
Aufbau besteht aus einer hierarchischen Struktur von Knoten (wie Explorer).
Oberster Knoten ist die Solution (Projektmappe), untergeordnet sind mehrere Projektknoten, wobei mehrere
Projekte immer innerhalb einer Projektmappe verwaltet werden können.
Oberster Knoten ist die Solution (Projektmappe), untergeordnet sind mehrere Projektknoten, wobei mehrere
Projekte immer innerhalb einer Projektmappe verwaltet werden können.
Erklären Sie den Unterschied zwischen Iiteralen und symbolischen Konstanten!
literal: Wert wird an der Stelle des Vorkommens eingetippt.
Man kann diesen Wert dann nicht mehr verändern.
symbolisch: hat einen Namen (PI), allerdings lässt sich der Wert nach der Definition nicht mehr ändern.
So braucht man nicht immer 3,14159 schreiben,
denn es reicht auch PI.
Man kann diesen Wert dann nicht mehr verändern.
symbolisch: hat einen Namen (PI), allerdings lässt sich der Wert nach der Definition nicht mehr ändern.
So braucht man nicht immer 3,14159 schreiben,
denn es reicht auch PI.
Beschreiben Sie den Unterschied zwischen der Deklaration und der Definition von Funktionen!
Funktionskopf (Prototyp) – Deklaration -> in die Headerdatei
Rückgabetyp Bezeichner (Parametertyp Parameter)
Beispiel:
double Quadrat (double seite);
Funktionsrumpf – Definition -> in die Quelltextdatei
Beispiel:
double Quadrat (double seite)
{
return seite * seite ;
}
Rückgabetyp Bezeichner (Parametertyp Parameter)
Beispiel:
double Quadrat (double seite);
Funktionsrumpf – Definition -> in die Quelltextdatei
Beispiel:
double Quadrat (double seite)
{
return seite * seite ;
}
Flashcard set info:
Author: Zarkov
Main topic: Informatik
Topic: Anwendungsprogrammierung
School / Univ.: Berufsschule
City: Passau
Published: 06.11.2009
Card tags:
All cards (52)
no tags