Einführung Programmierung
Topic outline
-
-
Themenplan
8 Tage- Einführung Programmierung
- Einführung Programmierung
- Lesen und Verstehen von Algorithmen
- Probleme algorithmisch lösen
- Struktogramme, Programmablaufpläne
- Programmierlogik
- Pseudocode
- Programmiersprachen, insbesondere prozedurale und objektorientierte Programmiersprachen, unterscheiden
- Einführung Programmierung
- Einführung Programmierung
-
Computer sind strunzdumm.
Im Wesentlichen ist das auch ganz gut so. Wäre dem nicht so, könnten wir Ihnen nicht die Aufgaben überlassen, die uns zu lästig sind. Wie aber jeder weiß, der an einen weniger bemittelten Zeitgenossen Teile seiner Arbeit deligieren wollte, müssen die Anweisungen dann auch auf den Punkt exakt formuliert sein. Für Computer gilt das nur umso mehr.
In den Übungsstunden der Programmierpraktika höre ich von KursteilnehmerInnen immer wieder so etwas wie Ich dachte, der Computer würde verstehen dass...,
worauf ich gerne antworte: Du denkst – der Computer denkt nicht.Stefan Hartinger, März 2020
-
- Softwareentwicklung ist der gesamte Prozess der Erstellung von Software.
- Programmierung ist das spezifische Schreiben von Code innerhalb dieses Prozesses.
- Coding ist ein allgemeiner, oft informeller Begriff für das Schreiben von Code, der meistens synonym mit Programmierung verwendet wird, aber weniger formal ist.
-
B8 04 00 00 00 BB 01 00 00 00 B9 XX XX XX XX BA 0D 00 00 00 CD 80 B8 01 00 00 00 31 DB CD 80
-
-
Bevor man in einem Einführungskurs zur Programmierung das Lesen und Verstehen von Algorithmen behandelt, müssen grundlegende Themen detailliert besprochen sein. Diese Themen legen das Fundament, auf dem die Teilnehmende aufbauen können, um komplexere Konzepte wie Algorithmen zu verstehen. Hier sind die wichtigsten Themen:
1. Grundlagen der Informatik:
- Einführung in Computerarchitektur .
( Kurs Systemtechnik, Funktion CPU, Register, ALU, MMU und RAM )
2. Konzepte von Programmiersprachen
- Syntax und Semantik in einer Programmiersprache (z.B. am Beispiel Python, Java, C, C++ oder C#).
- Entwicklungsumgebungen und Werkzeuge (IDE, Texteditoren, Compiler/Interpreter).
3. Grundlegende Programmierkonzepte:
- Einfache Variablen und Datentypen: Definition, Deklaration, Initialisierung, verschiedene Datentypen (z.B. Integer, Float, String, Boolean).
- Operatoren: Arithmetische, Vergleichs- und logische Operatoren.
- Kontrollstrukturen: Bedingte Anweisungen (if, else, elif), Schleifen (for, while), Break und Continue.
4. Ein- und Ausgabe:
- Grundlagen der Ein- und Ausgabeoperationen (Konsoleneingabe und -ausgabe).
- Formatierte Ausgaben.
Sobald diese Grundlagen beherrscht werden, können sie komplexere Konzepte wie Algorithmusanalyse und -design besser nachvollziehen. -
Konzepte bilden die Basis dafür, wie Programmiersprachen entworfen, implementiert und verwendet werden.
-
-
Programmierlogik erfordert das "Denken wie ein Computer", um Lösungen zu entwickeln, die logisch und effizient in eine Programmiersprache übersetzt werden können. Es erfordert ein Verständnis dafür, wie Computer Anweisungen interpretieren und ausführen, sowie die Fähigkeit, komplexe Probleme in kleinere, handhabbare Teile zu zerlegen.
-
Der Ausdruck Programmierlogik beschreibt die systematische und logische Struktur, die bei der Entwicklung von Computerprogrammen verwendet wird. Sie umfasst die Prinzipien und Methoden, die Entwickler anwenden, um Probleme zu lösen und funktionierende Software zu erstellen.
Begriffe der Kontrollstrukur:
- Sequenz
- Bedingungen
- Schleifen
- Variablen und Datenstrukturen
-
Einfache Berechnungsvorgänge dazu dienen, eine spezifische mathematische Operation direkt auszuführen.
-
-
Lesen und Verstehen von Algorithmen
Probleme algorithmisch lösen-
Ein Algorithmus ist in der Informatik eine endliche Folge von wohldefinierten, ausführbaren Anweisungen, um ein bestimmtes Problem zu lösen oder eine bestimmte Aufgabe zu erfüllen.
-
Grundlegende Aspekte einer umfassenden Definition von Algorithmen.
-
-
- Struktogramme, Programmablaufpläne
- Pseudocode
-
Ein Struktogramm, auch Nassi-Shneiderman-Diagramm genannt, ist eine grafische Darstellungsmethode, die dazu verwendet wird, den Ablauf von Computerprogrammen oder Algorithmen übersichtlich darzustellen. Es hilft dabei, die logische Struktur eines Programms in Form von einzelnen Bausteinen abzubilden, wie zum Beispiel Schleifen, Verzweigungen (if-Anweisungen) und Anweisungsblöcke.
-
Erstellen von Struktogrammen per Drag-and-Drop oder durch einfaches Zeichnen hinzuzufügen.
Bearbeiten und Anpassen: Der Benutzer kann die Struktur und den Inhalt der Blöcke ändern, z. B. durch Hinzufügen von Text, Verschieben von Blöcken oder Ändern der Reihenfolge.
Visualisierung der Programmstruktur, sodass komplexe Abläufe leichter verständlich werden.
Exportieren und Drucken in verschiedene Formate (z. B. PDF, PNG) oder exportierenErstellen von Quellcode:
-
Programmablaufplan
-
Häufig gefragte Beispiele.
-Schaltjahr
-einfaches Sortieren-
Der bekannte Algorithmus der gregorianischen Schalttagsregelung besteht aus folgenden drei einzelnen Regeln:
- Die durch 4 ganzzahlig teilbaren Jahre sind, abgesehen von den folgenden Ausnahmen, Schaltjahre.
- Säkularjahre, also die Jahre, die ein Jahrhundert abschließen (z. B. 1800, 1900, 2100 und 2200), sind, abgesehen von der folgenden Ausnahme, keine Schaltjahre.
- Die durch 400 ganzzahlig teilbaren Säkularjahre, zum Beispiel das Jahr 2000, sind jedoch Schaltjahre.
-
Ergänzen Sie den bekannten Bubble-Sort um die Fähigkeit, auch Arrays von Zeichenketten zu sortieren.
-
-
-
RLE (Run-Length Encoding) ist ein einfaches Kompressionsverfahren, das besonders gut für Daten mit vielen wiederholten Zeichen oder Mustern geeignet ist. Es komprimiert Daten, indem es aufeinanderfolgende identische Zeichen als eine Zeichenfolge und die Anzahl der Wiederholungen darstellt.
Angenommen, Sie haben die folgende Zeichenkette:
AAAAABBBCCDAA
Die RLE-Komprimierung dieser Zeichenkette würde wie folgt aussehen:
- A wird 5 Mal wiederholt → "A5"
- B wird 3 Mal wiederholt → "B3"
- C wird 2 Mal wiederholt → "C2"
- D wird 1 Mal wiederholt → "D1"
- A wird 2 Mal wiederholt → "A2"
Bitte erstellen Sie den Algorithmus für die RLE Kompression.
-
-
-
In der prozeduralen Programmierung spielen Funktionen eine zentrale Rolle bei der Strukturierung und Organisation von Code.
Funktionen dienen der Modularisierung, Wiederverwendbarkeit, Lesbarkeit und Wartbarkeit des Codes. Sie ermöglichen es, komplexe Programme in kleinere, logisch zusammenhängende Teile zu zerlegen, die einfacher zu verstehen, zu testen und zu pflegen sind.
-
-
insbesondere prozedurale und objektorientierte Programmiersprachen, unterscheiden