Achte beim Lesen der Lektion darauf, dass du den Sinn jedes Absatzes erfasst.
Die Aufgaben (Verweis und Hinweise am Ende des Textes) sind schriftlich durchzuführen und bis zum 22. November 2020 (Sonntag) an die Lehrkraft zu schicken.
In dieser Lektion geht es um die Entwicklung von Programmiersprachen, um grundlegende Ablaufstrukturen sowie um Sprachkonzepte.
Eine Rechenmaschine soll Abfolgen von arithmetischen oder logischen Schritten (automatisch) ausführen können. Programmiersprachen bilden die Schnittstelle, mittels der die entsprechende Instruktion der Hardware erfolgt.
Die Tabelle gibt eine grobe Übersicht über die Entwicklung der Programmierung.
1940 | Physikalische Effekte | |
---|---|---|
Elektronenröhren, Transistoren, Logikgatter | ||
Verkabelung, Schalter | ||
1945 | Maschinencode | |
Binär- oder Hexadezimalcode (Lochstreifen) | ||
C7 45 F8 03 | ||
1950 | Assembler (maschinenorientiert) | |
Symbolische Befehle | ||
mov DWORD PTR [rbp-8], 3 | ||
1955 | Höhere Programmiersprachen | |
Fortran, Algol, Lisp, Cobol | ||
READ INPUT TAPE 5, 501, IA, IB | ||
1970 | Neue Programmierparadigmen | |
Pascal, Smalltalk, C, Prolog | ||
writeln(´Hallo Welt´) | ||
1980 | Objektorientierte Programmiersprachen | |
C++, Turbo Pascal, Perl | ||
class Vehicle | ||
1990 | Weiterentwickelte Programmiersprachen | |
Python, Lua, Java, Ruby | ||
pot2 = [2**n for n in range(1,50)] | ||
2010 | Sprachen für paralleles und verteiltes Rechnen | |
Go, Julia | ||
exp3 = [1,2,3] .3 |
Ein Algorithmus ist die Darstellung einer Problemlösung als Folge einzelner Schritte
(Anweisungen, instructions).
Algorithmen ermöglichen Nachvollziehbarkeit und Automatisierung.
Die Steuerung des Ablaufs in einem Algorithmus erfolgt durch Kombination der
drei Kontrollstrukturen
Damit lassen sich strukturierte Anweisungen erstellen.
B Deine Aufgabe ist, dafür zu sorgen, dass Milch im Kühlschrank ist. Entwirf einen Algorithmus zur Lösung dieses Problems.Milch_einkaufen
ist allerdings ein Vorgang,
der sich aus etlichen Teilschritten zusammensetzt.
Mehrere Anweisungen können als Codeblock durch Einrücken (Python), geschwungene Klammern (C, JavaScript, PHP) oder bestimmte Schlüsselworte (Pascal) gruppiert werden.
Strukturierte Programmierung bedeutet, dass die Lösung eines Problems
in überschaubare Teilprogramme (Prozeduren) gegliedert wird.
Eine Prozedur enthält also den Algorithmus für einen Teil der Lösung.
Bei der Entwicklung der Prozeduren gibt es zwei Vorgangsweisen:
Meist werden beide Wege parallel eingesetzt.
B Schreibe den Quelltext für die Prozedur "Milch_einkaufen".
Milch_einkaufen
besteht aus einer Abfolge
(Sequenz) einzelner Prozeduren.
Diese Routinen wie etwa Suche(Milch)
müssen noch geschrieben werden (Top-Down-Verfahren).
Als Quellcode (Quelltext, source code) bezeichnet man
die in einer Programmiersprache verfassten Algorithmen
zur (Teil-)Lösung einer Aufgabe.
Mit einem Editor werden die gewünschten Anweisungen (instructions)
strukturiert aufgeschrieben und in einer Datei gespeichert.
Der Ablauf eines Programms und damit sein struktureller Aufbau müssen im Layout
des Quelltextes sichtbar sein.
Dies wird mit passenden Layout-Techniken erreicht:
Bei der modularen Programmierung werden Prozeduren zusammen mit Daten
zu Modulen zusammengefasst.
Je nach Bedarf werden die benötigten Module im Quellcode eingebunden.
In der objektorientierten Programmierung bildet eine Objektklasse
einen solchen Modul.
Meist wird jeweils nur ein Modul in einer Datei gespeichert.
Hinweise zur Durchführung:
Erhaltene Arbeiten:
2020.6WPF | Bl | Br | Dr | Ga | Ha | He | Ka | Ni |
---|---|---|---|---|---|---|---|---|
Erhalten | x | x | x | x |