Inhaltsverzeichnis

Algorithmusbegriff

Bereits aus den Klassenstufen 7 un 8 kennst du den Algorithmusbegriff. In Klasse 10 wollen wir nun den Begriff präzisieren.

Definition und Eigenschaften

Ein Algorithmus ist eine Verarbeitungsvorschrift, die aus einer endlichen Folge von eindeutig ausführbaren Anweisungen besteht, mit der man eine Vielzahl gleichartiger Aufgaben lösen kann. Ein Algorithmus gibt an, wie Eingabegrößen schrittweise in Ausgabegrößen umgewandelt werden.

1)

Algorithmische Grundstrukturen und Darstellungsformen

Bereits in Klasse 8 hast du verschiedene Darstellungsformen und algorithmische Grundstrukturen kennengelernt:

In der Klasse 10 wollen wir die algorithmischen Grundstrukturen mit Struktogrammen und in einer textorientierten Programmiersprache (Python) umsetzen.

darstellungsformen.pdf

Programme und Programmiersprachen

Ein Programm ist ein Algorithmus, der in einer für einen Computer verständlichen Sprache, einer Programmiersprache, verfasst ist.

Für Programmiersprachen gibt es verschiedene Möglichkeiten der Einteilung. Eine erste ist die Einteilung in

Ein Prozessor kann nur Maschinencode ausführen. Damit ein Prozessor ein Assemblerprogramm ausführen kann muss es assembliert werden, damit er ein Programm in einer höheren Programmiersprache ausführen kann, benötigt man einen Compiler oder einen Interpreter (Siehe unten!).

Höhere Programmiersprachen kann man z.B. nach der Art des zugrunde liegenden Algorithmusbegriffs einteilen:

Je nach Art der Übersetzung in Maschinencode kann man höhere Programmiersprachen auch einteilen in

Grundsätzliches Vorgehen beim Programmieren mit textorientierten Sprachen

Beispiel: "Hallo Welt!"-Programm in Assembler

hallo.asm
section	.text
	global _start       ;must be declared for using gcc
_start:                     ;tell linker entry point
	mov	edx, len    ;message length
	mov	ecx, msg    ;message to write
	mov	ebx, 1	    ;file descriptor (stdout)
	mov	eax, 4	    ;system call number (sys_write)
	int	0x80        ;call kernel
	mov	eax, 1	    ;system call number (sys_exit)
	int	0x80        ;call kernel
 
section	.data
 
msg	db	'Hello, world!',0xa	;our dear string
len	equ	$ - msg			;length of our dear string

Aufruf des Assemblers in der Kommandozeile:

nasm -f elf64 hallo.asm

Programm linken:

ld hallo.o -o hallo

Programm ausführen:

./hallo

Ausgabe:

Hello, world!

Beispiel: "Hallo Welt!"-Programm in C

hallo.c
#include <stdio.h>
 
int main()
{
    printf("Hello, World!\n");
 
    return 0;
}

Programm compilieren:

gcc hallo.c -o hallo

Programm ausführen:

./hallo

Ausgabe:

Hello, world!

Beispiel: "Hallo Welt!"-Programm in Python

hallo.py
print ("Hello, world!\n")

Programm ausführen:

python hallo.py

Ausgabe:

Hello, world!
1)
Engelmann, Lutz (Hrsg.): Duden Informatik Lehrbuch S II, DUDEN PAETEC GmbH, Berlin 2006, S. 30-31