Eine Computeranwendung oder kurz Programm ist a den Regeln Einer Bestimmt Programmiersprache GENUG Folge von Anweisungen ( Programm bestehend aus Deklarationen und Instruktion ), um Bestimmt die Leistung von BZW. Aufgaben eines Computers zu bearbeiten oder zu lösen [1]
Überblick
Ein Computerprogramm wurde als Software eines Computers bezeichnet. Es liegt meist Auf einen DATENTRÄGER als ausführbare Programmdatei , Hauf im sogenannten Maschinencodevor, zur Ausführung in dem Gesenk Arbeitsspeicher wird geladen Jan Rechner. Das Programm Wird als Abfolge von Maschinen, d. H. Prozessorbefehlen von ihnen oder den Prozessor des Computer Verarbeitet und DAMIT ausgeführt. Unter Computer – Programm Wird Auch den Quelltext des Programm schlechte Kandidaten, aus dem im Verlauf der Softwareentwicklung , wo ausführbaren – Code entsteht.
Eine Programmdatei, sterben aus Maschinencode Besteht, Enthält befehle aus dem Sprachschatz Dezember Prozessor, d. H. befehle, sterben für den Prozessor „verständlich“ und DAMIT Sind ausführbar. Die Erstellung Eines Sölch Programm eine allgemein als bezeichnete Programmierung oder Auch als Implementierung . In dem Anfang der Programmierung Würde – bis zur Entwicklung von Programmiersprachen – Ausschließlich in Maschinencode Programmierern. Dort Programmbzw. quelltext, Es gibt Programmierer in Einer Programmiersprache abgefasst hat, Besteht Aus einer Abfolge von (zumeist wo Englischer Sprache entnommenen) Anweisungen, für den Programmierer im Allgemeinen verständlicher Sind der (z. B. ADD, SUB, AND, OR) als den Maschinencode. Spectacles the Schleifen, Abstraktion und Modularen Aufbau der höheren Programmiersprachen .
Date, angegeben im Programmcode ist, sind meist durch eine Dateiendung gekennzeichnet. Für die verdorbene Hochsprache hin stehen Quelltextdaten zur Verfügung ( <programm> .c : ein in C formuliertes Programm). Möglicherweise können Sie den gesamten Text mit einem einzigen Texteditor bearbeiten. Eine Datei, sterben dagegen Maschinencode Enthält, Besitzt keine oder Eine betriebssystemspezifische Endung, sterben auf Ihre Lediglich Ausführbarkeit hinweist ( <Programm>. Exe bei MS-DOS und Windows – ; <Programm> bei unixoiden Systemen). Sie können oft Kommando in einem Terminal heißen ( Eingabeaufforderung). Siehe auch Programmbibliothek .
Damit kann ein Programm in einem Hochsprache geschrieben werden. Eine Anweisung einer höheren Programmiersprache wird im Allgemeinen in mehreren Maschinenbefehlen übersetzt. Der Übersetzungsvorgang ist als Compilierung bekannt . Um aus dem Quelltext des Maschinencode zu generieren, Wird ein Assembler , Compiler oder Interpreter benötigt. [0002] In den semantisch geführten Anweisungen der Maschinensprache des Verwendeten Computers.
Die Anweisungen, die (als Teil von Applications) EINEM spezifischen Lösungsweg repräsentiert, Wird als Algorithmus bezeichnet; Beispiel: Berechnen der Mehrwertsteuer.
Im Sprachgebrauch wird Computerprogramm meist zu Programm verkürzt oder der Begriff Software verwidden. Allerdings ist Computerprogramm kein Synonym zu Software , da mit Software komplett, für den Benutzer Bereitstellung von Ressourcen, die Betriebssystem , Datenbanken , Grafik- und Audiodateien , Schriftarten von Hilfetexte.
Ein Großhändler Computer – Programm Besteht aus meist mehreren Modul – das Entweder zum Programm selbst ‚Ohr‘ oder stirbt als ‚Bausteine‘ ( Unter – Programm ) aus BEREITS bestehenden Programmbibliotheken bei der Ausführung des Programm Benutzt Werden. Im Umgekehrten Fall können Computerprogramme Teil eines übergeordneten, ein größeres Aufgabengebiet abdeckenden Anwendungssystems sein; Beispiel: Gehaltsabrechnung, Finanzbuchhaltung, Meldewesen .
Die Entwicklung von Computerprogrammer ist das Gebiet der Softwareteknik . Sie sind hier Complexität der zu entwickelnden Computerprogramme wurden von im Rahmen von Projekten erstellt . Die aktivitäten der Beteiligten Werden dabei meist unter anwendung von Vorgehensmodellen , Spezielle Methoden und Werkzeuge zur Softwareentwicklung ausgeführt.
Klassifizierungsmöglichkeiten
Neben den Softwareprogrammen im Allgemeinen fallen Unterscheidungsmerkmale als Computerprogramme (wie Untervariante von Software) nach wie folgt auf:
- Quellprogramme (genauer Programmersprache ) oder Maschinenprogramme (ausführbar unter bestimmten Betriebssystemen ) oder Programme in einem Zwischencode
- Hauptprogramme (aufgerufen über Betriebssystem-Kommandos) oder Unterprogramme (durch ein anderes Programm). Sonderformen treten auf, wenn Programm z. B. über technische Steuerungskomponenten aufgerufen wurden, z. B. über serviceorientierte Architekten , automatisiertes Workflow-Management .
- Stacking-Programme (Stapel von ‚Stacks‘) oder Dialoge (Stehen in Interaktion mit Benutzern)
- Nach dem Ort der Speicherung und Programmausführung Unterschieden can Programm local (Auf einem Arbeitsplatzrechner) Gespeichert und ausgeführt Werden oder Auf einem Server Installation Verbündeter sein und trotzdem vor Ort (nach DM Laden über Eine Online -Verbindung) ausgeführt Werden oder nur Auf dem Server CONFIRMED und dort Auch ausgeführt wurden. Bei verteilten Anwendungen wurden Programmteile auf unterschiedlichen Rechnern ausgeführt, z. B. die Geschäftslogik und Datenhaltung im Server, Die Funktion der Oberfläche ist die Prämisse von Rechner; Ich bin Techniker, Sinn stehen, hier ist mein Programm in Verbindung.
Geschichte
Dein schlechtestes Computerprogramm von Ada Lovelace [The Worker | Quelltextverarbeitung ]
Als weltweit erstes Computer – Programm Einer Vorschrift vergoldete für Berechnung von sterben Bernoulli – Zahlen , stirbt Ada Lovelace im JAHR 1842/1843 für sterben mechanical Analytical Engine von Charles Babbage erstellen. Das Programm wurde von einer Handvoll Menschen aus dem 19. Jahrhundert angefertigt, die weder funktional noch mechanisch waren.
Erste Programm auf Lochstreifen
In den Jahren 1936 bis 1941 trat Konrad Zuse auf die Rechner Z1 und Z3 , die einerseits langzeitbewährt waren , und andererseits auf die Computerprogramme, die mit Maschinen ausgeführt wurden. Die Rechner-Regler, die die vier Grundregeln und quadratwurzelberechnungen auf binären Gleitkommazahlen ausführen , sind für die Rechenoperation und eine Speicheradresse zuständig.
Auf Zuse hert auch de erste hähere Programmiersprache Plankalkül zurück. Damit lassen sich Probleme mit maschinenunabhängigen Formen und später in Ihrer maschinenlesbaren Form überführen.
Programm im Arbeitsspeicher
Dort EDVAC- Rechner, der von 1945 bis 1945 von John von Neumann eingesetzt wurde , hütet man seinen Quecksilber-Verzögerungsspeicher für 1024 Feste oder Minderheiten 44 Bit. Jede Speicherzelle könnte auch nur einen Befehl aufnehmen. Bei diesem Rechnerkonzept ist es möglich, die Befehle eines Computerprogrammes vor der Ausführung zuerst in die Arbeitsspeicher zu übertragen. Das ist heute oder anders. EDVAC wurde jedoch erst im Jahr 1951 teilweise fertiggestellt. Dort Demonstration Betreiber Manchester SSE und EDVAC Entwickler EDSAC- Rechner Hüte Schon vorher Programm Aus dem Arbeitsspeicher ausgeführt.
Höhere Programmiersprachen und Compiler
Ende der 1950er-Jahre Wurden Computer so genanntes Programm, Compiler Genannt, Quelltexte in Höheren Programmiersprachen Automatisch in Maschinenbefehle, auch ausführbare Programme , übersetzen konnten. Ausführbare Programme können dann, wie beim EDVAC, in den Speicher geladen und abgearbeitet werden.
Mein Fortran , COBOL , ALGOL und LISP enthalst in den 1950er-Jahren, dem standardisiertesten Gastgeber der Programmierer. Programme in deutschen Sprachen laufen, durch einenentsprechenden Compiler, auf verschiedenen Rechnern. Es gab keinen Computer oder Computer.
Vom Algorithmus zum Programm
Berechnung des größten gleich Teilers
Dies ist ein Programm der Besten der Art von Gemeenamen Teilers (ggT) Zweier Zahlen. Zuerst wurde ein schöner Algorithmus gefunden.
Der Euklidische Algorithmus , der um 300 v. Chr. Entstand , beschreibt die Würmer des Gemeinsamen Teiler (GGT) Zweier Natürlicher Zahlen A und B :
1. Sei A der größere der Zahlen A und B (verbenfall vertauschen). 2. Setzer A: = A - B . 3. Wenn A und B ungleich verstand, bildete sich mit Schritt 1 fortfahren; wenn sie gleich gesinnt sind, bilden sie den algorithmus: Diese Zahl ist da brutto zusammen Teiler.
Verwendung einer Programmiersprache
Sobald eine formale Beschreibung eines Algorithmus, auch eine genau definierte Verarbeitungsvorschrift, vorliegt, kann algorithmmus umgesetzt werden . Dazu wird eine geeignete Programmiersprache ausgewählt.
Zur Umsetzung wird heute meist eine höhere Programmierersprache verwendet, die von einem Computer computiert werden kann.
In Sprachen, die Pascal Variablen, Ausdrücke, Vergleiche, Zuweisungen und Kontrollstrukturer zur Umsetzung des ggT-Algorithmus
(* Schritt3: *) WHILE A <> B DO (* Solange Ungleiche A B *) BEGIN (* Schritt1: *) IF B > A THEN (* Falls B Grösser als A *) BEGIN H : = A ; A : = B ; B : = H (* A und B übersetzen *) END ; (* Schritt2: *) A : = A - B (* A durch AB ersetzen *) END ;
Der same Algorithmus in der Programmiersprache Python :
während A = ! B : wenn B > A : A , B = B , A A = A - B
Hinweise zu allen Sonderfällen
Bei der Umsetzung wird mit Schritt 3 begonnen. Der ursprünglich bekannte Algorithmus soll nicht den Fall, dass A und B bereits zu Beginn gleich sein können. Wäre es Aufgabe, den großten Teiler von 103 und 103 zu finden, würde ein Mensch das Ergebnis 103 nenn, der würde den Algorithmus gar nicht bemühen. Dort würde ursprünglicher Algorithmus vergeben. Das ist die Antwort auf alle Sønderfälle berücksichtigen. Durch das Vorziehen von Schritt 3 wird der Sonderfall hier richtig behandelt.
Elementare Schritte
Pascal und andere Programmtitel besitzen die keine Operation von Verteuschen von Zahlen. Dies muss daher in elementaren Schritten umgangen werden. Eine zusätzliche Variable H, eine Hilfsvariablen, die Vertauschung mit Hilfe von Drei Zuweisungen:
H : = A ; (* Wert von A in der Hilfsvariablen H Rechte *) A : = B ; (* A mit dem Wert von B überschreiben *) B : = H ; (* B mit dem Wert von H (= A) überschreiben *)
Auch dies ist ein kleiner Algorithmus.
Ein vollständiges Programm
. Daraus ein korrektes Programm wird Ausgabeanijisungen, vaak Diese sind nicht Teil des Kosmos
PROGRAM Ggt ( Eingabe , Ausgabe ) ; (* Programmkopie *) VAR A , B , H : Integer ; (* Variable Definition *) BEGIN ReadLn ( A , B ) ; (* Eingabe von A und B *) WÄHREND A <> B DO (* Euklidischer Algorithmus *) BEGIN WENN B > A DANN BEGINNEN H : = A ; A : = B ; B : = H ENDE ; A : = A - B END ; WriteLn ( A ) (* Ausgabe von A *) ENDE . (* Programmierung *)
Übersetzung und Ausführung
Ein Sölch Anwendungen Wird unter verwendung Eines Textbearbeitungsprogramm Erstellt und als Quellcode in Einer Datei oder Programmbibliothek (für Quellcode ) Gespeichert. Anschließend kann der Quellcode zu einer Feindest ablaufanweisung für den Computer „übersetzt“ werden. Hierzu ist ein Compiler erforderlich Sie , wo der Code aus der jeweiligen Programmiersprache in sterben Maschinensprache übersetzt und als ein Plan Ergebnis ausführbaren Programm Erstellt, Welches als Datei oder in Einer Programmbibliothek (für ausführbare Programme) abgelegt Wird. Dieses Programm kann über einBetriebssystem zur Ausführung wurde gestartet, und zwar womöglich (ohne neue Übersetzung).
Einfache Programmiervorhersagen Abschluss, umfassender Interpreter , Abschlussprogramm in Maschinensprache übersetzt.
Eine weitere möglichkeit Besteht in der verwendung von Zwischencode ( Bytecode ), wo vom Compiler eine Stelle des Maschinencodes Generiert Wird. Ein Beispiel dafür ist Java : Der Java-Compiler wird bytecode , welcher auf der Basis von virtueller Maschine ausgeführt wird. Die virtuelle Maschine interpretiert den Bytecode für das darunterlie Betriebssystem.
In manchen Rechnerumgebungen, in der Regel bei Großrechnern , ersetzt der vom Compiler abgeleitete Maschinencode oder ein einem Systemprogramm (‚Linkage Editor‘ o. Ä.) Nachbearbeitet werden, falls ggf. Weitere Unterprogramme und Systemroutinen ‚eingebunden‘ wurden können. Dies ist der Fall, Programm ausführbar .
Mittel spezieller Programm, sogenannter Decompiler , ist es in begrenztem Maße möglich, aus dem Maschinencode wieder einen in Hochsprache lesbaren Quelltext zu erzeugen.
Lebensphasen
Programm mit den wenigsten der bekanntesten Lebensphasen: Der Zeitraum bis zum Seitpunkt der Kompilierung (einschließlich) wird Compilezeit genannt, welche im Gegensatz zur Laufzeit steht. In der Compilezeit-Phase wurde dem Programm ein Statement of Ownership erteilt, das vom Quellcode der Parteien ausgestellt wurde. Nach der Kompilierung und der Durchführung der jeweiligen Laufzeitumgebung (Varierende Hardware, User-Interaktion etc.).
Im Detail kann Sinnschweißen der Programme auch als Software-Lebenszyklus verstanden werden . Demnach Ohr zum Inhaltlich präzisen Festlegung des Programm-Inhalt stirbt Projektphasen Problemstellung, Analyse und Entwurf , anschließend folgt sterben technische Implementierung , in der das Programm in Formular von Quelltext entsteht. Danach ist in der Phasen- Einführung zu finden . Nach Diesen Entstehungsphasen von Anwendungen folgen Derens produktive nutzung , bei Bedarf Werden Anpassung und Erweiterung ( Wartungs- / Pflegephase ) vorgenommen.
Aus Betriebswirtschaftlicher Sicht lassen sich Auch Computerprogramm nach DM Allgemeinen Produktlebens klassifizieren.
Urheberschutz
Ein Computer Applications Wird urheberrechtlich geschützt, Wenn Es individuelle Plan Ergebnis Eines Eigenen Geist Schöpfung Ihres Urheber ist ( § 69a Abs. 3 UrhG). Mit umsetzung der Urheberrechtsrichtlinie aus dem Jahr 2001 Wird sterben Schutzschwelle für Computer – Programm in den EG-Mitgliedsstaaten harmonisieren. Das ist ein Minimum an Individualität für die Schutz ( Kleine Münze ). Dies ist der Fall, wie die Individualität des Niedergeschlagenen hat, wenn Spielraum dazu Datei. Geistiges Gehalt wurde vermutet, als das Programm von
Siehe auch
- Anwendungssoftware
- Dienstprogramm
Literatur
- John von Neumann : Erster Entwurf eines Berichts über die EDVAC . (PDF; 0,4 MB) 1945
- Martín Abadi, Takayasu Itō: Theoretische Aspekte der Computersoftware . 1997
- Masami Hagiya, John C. Mitchell: Theoretische Aspekte von Computersoftware . 1994
Weblinks
Einzelnachweise
- Hochspringen↑ ISO / IEC 2382-1: 1993 definiert „Computerprogramm“: „Eine syntaktische Einheit, die den Regeln einer bestimmten Programmiersprache entspricht und aus Anweisungen und Anweisungen oder Anweisungen besteht, die zur Lösung einer bestimmten Funktion, Aufgabe oder Aufgabe benötigt werden. Problem. „Bis 2001 definierte die DIN 44300“ Informationsverarbeitung Begriffe „identisch.