Programm Definition

Definition des Programms

Bei jeder n-stelligen Funktion können wir nun den Begriff RM Berechenbarkeit wie folgt definieren: Mw-headline" id=".C3.9Cberblick">Überblick[a class="mw-editsection-visualeditor" href="/w/index. php?title=Computerprogramm&

veaction=edit&section=1" title="Abschnitt editieren: Übersicht ">Bearbeiten | < Quelltext bearbeiten]

Sie steht in der Regel auf einem Speichermedium als lauffähige Programmierdatei zur Verfügung, oft im so genannten Machinencode, der zur Durchführung in den Arbeitsbehälter des PCs geladen wird. Die Verarbeitung und Durchführung des Programmes erfolgt als Folge von Maschinen-, d.h. Prozessor-, Anweisungen des/der Prozessor(en) des/der Computer. Man versteht unter einem Rechnerprogramm auch den Quellcode des Programmes, aus dem im Rahmen der Software-Entwicklung ausführbarer Programmcode erstellt wird.

Ein Programmfile, bestehend aus maschinenlesbarem Code, beinhaltet Anweisungen aus dem Wortschatz des Verarbeiters, d.h. Anweisungen, die der Bearbeiter "verstehen" und ausführen kann. Das Erstellen eines solchen Programmes wird im Allgemeinen als Programmieren oder Implementieren bezeichnet. Eine solche Programmerstellung wird als Programmieren oder Implementieren von..... Schon in den frühen Tagen der Programmiertätigkeit - bis hin zur Erschließung von Programmierungssprachen - wurde die Programmiertätigkeit ausschliesslich im maschinellen Code ausgeübt.

Das Programm oder der Quellcode, den der Programmer in einer Programmsprache geschrieben hat, setzt sich aus einer Folge von Befehlen zusammen (meist aus der britischen Sprache), die für den Programmer im Allgemeinen besser verständlich sind (z.B. ADD, SUB, AND, OR) als der maschinenprogrammierte. In der Folge kamen Loops, abstrakte und modulare Konstruktionen hinzu, die die übergeordneten Programmierungssprachen ergaenzten.

In der Regel werden die Daten, in denen der Programmiercode abgelegt ist, durch eine Dateierweiterung identifiziert. Quellcodedateien beziehen sich somit auf die eingesetzte High-Level-Sprache (. c: ein in C geschriebenes Programm). Dagegen hat eine Akte, die maschinenlesbaren Code beinhaltet, keine Erweiterung oder eine Betriebssystem-spezifische Erweiterung, die nur ihre ausführbare Funktion anzeigt (. exe für MS-DOS und Windows; für Unix-Systeme).

Vgl. auch Programmierbibliothek. Um ein in einer High-Level-Sprache verfasstes Programm auf einem Rechner ausführen zu können, muss es in maschinenlesbaren Code umgerechnet werden. Ein Befehl einer übergeordneten Programmsprache wird in der Regel in mehrere Maschinensteuerungen umgerechnet. Zur Generierung des Maschinencodes aus dem Quellcode wird ein Monteur, Kompiler oder Interpret benötigt. Bei der Generierung des Maschinencodes wird ein Monteur, Kompiler oder Dolmetscher verwendet. Dabei werden die für den menschlichen Anwender verständlichen und editierbaren Hinweise der Programmsprache in die Semantik korrespondierenden Kommandos der Gerätesprache des eingesetzten Rechners umgesetzt.

Instruktionen, die eine konkrete Lösung (als Teil von Programmen) darstellen, werden als Algorithmen bezeichnet; Beispiel: Berechnung der USt. In der sprachlichen Anwendung wird das Rechenprogramm meistens auf Programm gekürzt oder der Ausdruck Programmiert. In der Regel setzt sich ein großes Rechnerprogramm aus mehreren Bausteinen zusammen - die entweder zum Programm selbst gehörten oder während der Programmausführung als "Sätze" (Unterprogramme) aus bereits vorhandenen Bibliotheken genutzt werden.

In der Regel werden die Tätigkeiten der Akteure mit Prozessmodellen, besonderen Verfahren und Tools der Software-Entwicklung durchgeführt. Rahmenprogramme (Aufruf über Betriebssystemkommandos) oder Subroutinen (Aufruf durch andere Programme). Besondere Formen entstehen beim Aufruf von Programmen z.B. über steuerungstechnische Komponenten, z.B. über service-orientierte Plattformen, automatisierte Workflow-Verwaltung. Je nach Speicherort und Ausführungsort können nun lokale (auf einer Workstation) oder auf einem Rechner installierte und noch lokale (nach dem Aufladen über eine Online-Verbindung) oder nur auf dem Rechner gespeicherte und dort ausgeführte Verarbeitungsprogramme verwendet werden.

In dezentralen Applikationen werden auf verschiedenen Computern Teile des Programms durchgeführt, z.B. die Business-Logik und Datenspeicherung im Datenserver, die Funktion der Bedienoberfläche auf dem Lokalcomputer; im rein fachlichen Sinne sind unterschiedliche Prozesse untereinander verbunden. Damals konnte das Programm nur von Menschenhand durchgeführt werden, da es im neunzehnten Jh. noch keine funktionierende Anlage gab, die dazu in derstande war.

Zwischen 1936 und 1941 entwickelte Konrad Zeuse die Computer S1 und S3, die lange Befehlssequenzen auf einem Papierband abarbeiteten, die ersten Komputerprogramme, die auf echten Automaten ablaufen konnten. Auch die erste übergeordnete Programmsprache, Planankalkül, geht auf die Firma Suse zurück. Mit diesem Computerkonzept war es möglich, die Kommandos eines Rechnerprogramms zunächst in den Arbeitsgedächtnis zu übernehmen, bevor sie ausgef??hrt wurden.

Die Demonstrationscomputer MANCHEMEL SSE und der auf EDVAC basierende EDSAC-Computer hatten bereits zuvor ausgeführte Anwendungen aus dem Hauptspeicher. Gegen Ende der 1950er Jahre wurden die Rechner so mächtig, dass Spezialprogramme, sogenannte Compiler, den Quellcode in höherwertigen Programmsprachen automatisiert in Maschinenbefehle, d. h. ausfÃ??hrbare Programmierungen Ã?bersetzen konnten. Die ausführbaren Dateien können dann in den Hauptspeicher hochgeladen und wie bei EDVAC verarbeitet werden.

Ende der 1950er Jahre wurden mit Fortran, COBOL, ALGOL und LISP die ersten einheitlichen übergeordneten Programmierungssprachen entwickelt. In diesen Sprachversionen laufende Projekte werden auf verschiedenen Computern ausgeführt und von einem geeigneten Kompilierer aufbereitet. Ein Programm zur Ermittlung des grössten Common Divisor (ggT) von zwei Ziffern ist zu erstellen. Zuerst muss ein passender Lösungsalgorithmus ermittelt werden.

Mit dem bereits um 300 v. Chr. beschriebenen euklidischen Verfahren wird der größte gemeinsame Divisor (ggT) von zwei Naturzahlen A und mit den Naturzahlen A3 und B2 bestimmt: A und B2 (falls erforderlich, invertieren). Gibt es eine formelle Darstellung eines Verfahrens, d.h. eine exakt festgelegte Verarbeitungsregel, kann der Verfahrensablauf realisiert werden.

Zu diesem Zweck wird eine passende Programmsprache gewählt. Heute wird für die Implementierung in der Regel eine übergeordnete Programmsprache eingesetzt, die nicht unbedingt unmittelbar von einem Rechner ausführbar ist, sondern zuerst übersetzt oder ausgewertet werden muss. Bei Programmiersprachen wie Pascal-Variablen werden mit Ausdrücken, Vergleichen, Anweisungen und Kontrollstrukturen die ggT-Methode implementiert: ; ; ; ; ; ; ; ; Derselbe Mechanismus in der Programmierungssprache Python: !

Das Originalverfahren ignoriert den Umstand, dass die beiden Größen gleich zu Anfang sein können. Wenn es die Aufgabenstellung wäre, den grössten Divisor von 103 und 103 zu ermitteln, würde ein Mensch das Resultat unmittelbar 103 bezeichnen, er würde nicht einmal den Rechenalgorithmus versuchen. Aber der Originalalgorithmus würde Null ausgeben.

In Pascal und anderen Programmierungssprachen gibt es keine Möglichkeit, Nummern zu tauschen. Mit einer zusätzlichen Zusatzvariablen H, einer sogenannten Hilfsvariablen, können die Werte durch drei Zuordnungen ausgetauscht werden: ; ; ; ; ; Dies ist ebenfalls ein kleiner Ausweg. Um aus dem Programm ein richtiges Programm zu machen, muss der Suchalgorithmus durch Ein- und Ausgabebefehle, aber oft auch durch Variabeln und eine Programmierstruktur erweitert werden.

Sie sind nicht Teil des tatsächlichen Algorithmus: Ein solches Programm wird mit einem Texteditor erzeugt und als Quelltext in einer Grafikdatei oder -bibliothek (für Quellcode) abgespeichert. Der Quelltext kann dann in eine feste Flussanweisung für den Rechner "übersetzt" werden. Dazu ist ein Kompilierer notwendig, der den Quelltext aus der entsprechenden Programmsprache in die Gerätesprache überträgt und daraus ein lauffähiges Programm erzeugt, das als File oder in einer Programmierbibliothek (bei ausführbaren Programmen) liegt.

Das Programm kann dann über ein Betriebsystem zur Durchführung so oft wie gewünscht (ohne Neuübersetzung) mitgestartet werden. Manche Programmierungssprachen benutzen keinen Kompilierer, sondern einen Interpreten, der das Programm zur Ausführungszeit in die Programmiersprache umwandelt. Ein weiterer möglicher Weg ist die Nutzung von Intermediate Code (Byte-Code), der vom Kompiler anstelle des Maschinennamens erzeugt wird.

Beispiel Java: Der Java-Kompiler generiert Byte-Code, der dann auf der so genannten Virtual Machine ausgefÃ?hrt wird. Anschließend wird der Byte-Code für das zugrunde liegende Betriebsystem von der Virtual Machine ausgewertet oder aufbereitet. In einigen Computerumgebungen, in der Regel Mainframes, muss der vom Kompilierer erzeugte Maschinenname ebenfalls mit einem System-Programm ("Verknüpfungseditor" o.ä.) nachverarbeitet werden, wodurch weitere Subroutinen und Systemroutinen bei Bedarf "integriert" werden können.

Nur so kann das resultierende Programm ausgeführt werden. Mit speziellen Programmen, sogenannten Decompilern, ist es möglich, einen Source-Code zu erstellen, der in beschränktem Umfang in hoher Sprache aus dem Maschinen-Code gelesen werden kann. In den Programmen gibt es zumindest zwei deutlich voneinander abgegrenzte Lebensphasen: Während der Kompilierungsphase hat das Programm die statischen Properties, die nur durch den fixen Sourcecode vorgegeben sind.

Das Binärprogramm hat nach der Übersetzung und bei der Durchführung des Programms ein dynamisches Eigenschafts- und Nutzerverhalten in weiterer Abhängikeit von der jeweils verwendeten Runtime-Umgebung (unterschiedliche Geräte, Benutzerinteraktion, etc.). Im weiteren Sinne können die Lebensabschnitte von Software auch als Software-Lebenszyklen verstanden werden. Dementsprechend umfasst die genaue Definition des Inhalts des Programms die Phasen Problemdefinition, Problemanalyse und Design, gefolgt von der technischen Umsetzung, bei der das Programm in Gestalt von Quellcode erstellt wird.

Im Anschluss an diese Entwicklungsphasen der Programme erfolgt der Produktivbetrieb, ggf. werden Anpassungs- und Erweiterungsmaßnahmen (Wartungsphase) durchgeführt. Dabei wird davon ausgegangen, dass sich die Eigenart des Autors im Programm widerspiegelt, wenn es einen Handlungsspielraum gibt. Spiritueller Inhalt wird angenommen, wenn das Programm von einem Menschen erstellt wurde. Highspringen ISO/IEC 2382-1:1993 definierte "Computerprogramm" als "eine Syntaxeinheit, die den Regeln einer bestimmten Programmiersprache entspricht und aus Anweisungen und Anweisungen besteht, die zur Lösung einer bestimmten Funktion, Aufgabe oder eines Problems erforderlich sind.

"Bis 2001 hat die Norm 44300 "Begriffe der Informationsverarbeitung" gleich definiert.

Mehr zum Thema