grundlage Flashcards
WAS IST PROGRAMMIERUNG?
1) Entwerfen von Programmen
2) Eingabe von Programmiercode
3) Projektplanung
WAS IST EIN ALGORITHMUS?
1) Eindeutige Handlungsvorschrift
2) Unendlich viele Einzelschritte
3) Problemlösung
4) Diverse Programmiersprachen
EVA-PRINZIP
1) EINGABE: Benutzer übermittelt Daten an Computerprogramm
2) VERARBEITUNG: Programm verarbeitet Daten nach einem Algorithmus
3) AUSGABE: Die Ergebnisse werden ausgegeben
INTERPRETER
1) Interpretation von Sourcecode in Bytecode
2) Umwandlung: Bytecode => Maschinenanweisung
3) Interpretation zur Laufzeit
4) Zeile für Zeile
5) Fehler schnell finden und beheben
COMPILER
1) Durcharbeit des gesamten Programmes
2) Sourcecode wird gescannt
3) Parsing (Überprüfung der Syntax)
4) Quelltext wird zum ausführbaren Programm (Maschinensprache)
5) effizienter
3 INTERPRETER Spreche:
BASIC - Python - PHP
INTERPRETER
Vor- und Nachteile:
Vorteile:
* Sofortige Tests möglich
* Erleichterte Fehlersuche
* Ausführbarer Code erst zur Laufzeit
Nachteile:
* Langsam und höchst ineffizient
* Erneute Übersetzung derselben Programmteile
3 COMPILER Sprache:
PASCAL - C++ - Java
COMPILER
Vor- und Nachteile:
Vorteile:
* Äußerst effizient
* Optimierung des generierten Sourcecodes
* Kompilierte Programme arbeiten schnell
Nachteile:
* Aufwand höher
* Kostest Zeit und Ressourcen
* Neue Quelltextänderungen müssen kompiliert werden
Programmierparadigmen
- Maschinensprache: pc kann lesen ausführen => C
- Imperativ: klare abfolge Anweisungen => Pascal, Java
- Deklarativ: abstrakt, ergebnis beschreiben, wie nicht definiert => Lisp
- Prozedural: Prozeduren Funktionen, Wiederverwendbarkeit => PASCAL, C
- Objektorientiert: Basis:Klassen, Objekte, Kapselung, Vererbung => C#, Java, Python
- Strukturiert: Baumartig, Modularer Aufbau, Grundstruktur für weitere Programmierparadigmen => C#, C++, Java
ARRAY Merkmale in Pascal:
Datentyp: Elemente haben gleichen Datentyp
Indexierung: beginnt bei 0, Zugriff Element: MeinArray[3]
Größe: wird bei Deklaration angegeben
Array in Pascl deklarieren und initialisieren
meinArray: array[1..3] of Integer = (1, 2, 3)
forSchleife in Pascal
program Arrays;
var
i : integer;
meinArray: array[1..3] of Integer = (1, 2, 3)
begin
for i := 1 to 3 do
begin
writeln(meinArray[i]);
end;
readln();
end.
Procedure in Pascal
program Procedures;
procedure Addiere(zahl1, zahl2 : integer);
var erg : integer;
begin
erg := zahl1 + zahl2;
writeln(‘Die Summe ist: ‘, erg);
readln();
end;
begin
Addiere(5, 7);
end.
Function in Pascal
program Function_Beispiel;
function Addiere (zahl1, zahl2: integer) : integer;
var erg : integer;
begin
erg := zahl1 + zahl2
Addiere := erg;
end;
var summe : integer;
begin
summe := Addiere(3, 6);
writeln(summe);
readln();
end.
Stack
- Organisierter aber begrenzter Speicherbereich
- Last-In-First-Out Prinzip
- Nach Beendigung des Vorgangs werden alle Variablen und Werte aus dem Stack gelöscht
Heap
- Speicherbereich, der Daten dynamisch zuweist oder reseviert.
- Keine feste Reihenfolge
- Speicherung von Arrays oder Objekten, die während der Programmausführung erstellt werden.
- Garbage Collection in C# kümmert sich automatisch, um die Speicherreservierung und – verwaltung.
einfache Integer-Eingabe und Ausgabe in C#
Console.WriteLine(“Wie alt bist du? “);
int alter = Convert.ToInt32(Console.ReadLine());
Console.WriteLine($”Du bist {alter} Jahre alt.”);
if Syntax in C#
if (time < 10)
{
Console.WriteLine(“Guten Morgen”);
}
else if ( …………….. )
{
………
}
else
{
……….
}
Kopfgesteuerte Schleife C#
int i = 0;
while ( i < 5)
{
Console.WriteLine(i);
i++;
}
Console.ReadLine();
Fußgesteuerte Schleife in C#
int wert = 0;
int zaehler = 1;
Console.WriteLine(“Wie zählen? “);
wert = Convert.ToInt32(Console.ReadLine());
do
{
Console.WriteLine(zaehler);
zaehler++;
} while (zaehler < wert)
c#: deklarieren und initialisiern von Arrays
Integer Arrays:
int[] zahlenArray = new int[6] { 3, 8, 19, 45, 11, 9 };
String Arrays:
string[] autos = new string[3] { “BMW”, “Benz”, “Audi” };
sortieren ein Array in C#
Array.Sort(zahlenArray);
Maximum und Minimum in Array in C#
zahlenArray.Max()
zahlenArray.Min()