Eine kurze Geschichte der Entwicklung von Programmiersprachen. Geschichte einiger Programmiersprachen

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Die energische Entwicklung neuer Programmiersprachen begann unmittelbar nach dem Erscheinen der ersten Röhrencomputer. Damals kosteten Computer viel. Der Kauf einer einzelnen Kopie war zehn- oder sogar hundertmal teurer als die Kosten für die Entwicklung eines Programms. Eine solche Maschine erforderte hocheffizienten Code, der manuell in Assembler kompiliert wurde.

Erst in den 50er Jahren wurde für den persönlichen Bedarf von IBM die erste algorithmische Sprache entwickelt. Es hieß FORTRAN. Natürlich gab es zu diesem Zeitpunkt bereits mehrere Entwicklungen bei Sprachen, die arithmetische Ausdrücke in Maschinencode umwandelten, aber die Schaffung von FORTRAN gilt als Beginn einer neuen Ära – dem Übergang zum Paradigma algorithmischer Sprachen. Was konnte es tun? Es ermöglichte Berechnungen nur durch das Schreiben eines Algorithmus unter Verwendung von Ein-/Ausgabe- und Bedingungsoperatoren. Ursprünglich wurde die Sprache speziell für das Computersystem IBM 407 entwickelt. Aber die Popularität von FORTRAN führte dazu, dass auch Hersteller anderer Architekturen begann, eigene Übersetzer zu produzieren. Als Ergebnis wurde 1966 der allgemeine Standard FORTRAN 66 veröffentlicht.

Bereits Ende der 50er Jahre. erschien gute Alternative FORTRAN. Peter Naur entwickelte eine von der Architektur unabhängige algorithmische Sprache. Sie hieß ALGOL. In diesem Fall versuchten die Entwickler auch, die Fähigkeiten der Sprache zu erweitern und das Notationssystem so nah wie möglich an das mathematische zu bringen.

In den frühen 60ern. IBM-Hersteller führten die nicht sehr beliebte PL/I-Sprache ein. Es funktionierte mit der IBM 360-Architektur und diente als eine Art Erweiterung von FORTRAN unter Verwendung einiger COBOL-Sprachtools.
Die erste Sprache, in der das Konzept einer Klasse eingeführt wurde, war Simula-67. Es wurde Ende der 60er Jahre von Dahl und Nayard entworfen.
70er Jahre Pascal wurde geboren. Er erlangte schnell große Popularität. Wenig später begann das US-Verteidigungsministerium mit der Entwicklung einer Hochsprache. Das Projekt wurde von 4 unabhängigen Gruppen entwickelt und die Entwicklung von Anforderungen und Spezifikationen erfolgte auf Basis der Pascal-Sprache. Das daraus resultierende Produkt wurde Anfang der 80er Jahre veröffentlicht und erhielt den Namen Ada.

70er Jahre gab uns auch die universelle Sprache C. Ihre Autoren waren Ken Thompson und Denis Ritchie. Die Sprache erfreute sich zunehmender Beliebtheit Systemprogrammierer Darauf wurde der erste UNIX-OS-Kernel entwickelt. 1982 wurde der C-Standard zur Entwicklung bei ANSI eingereicht und die daraus resultierende Version wurde 1990 übernommen. Basierend auf dieser Sprache wurden die modernen Sprachen Java und C++ entwickelt.

Neben Sprachen, die mit Algorithmen arbeiten, haben sich auch Sprachen anderer Art entwickelt. COBOL wurde zur Verarbeitung von Geschäftsinformationen entwickelt; Prolog und LISP gelten als Sprachen der künstlichen Intelligenz. Darüber hinaus wird Letzteres häufig in der Spieltheorie verwendet.

Mit dem Übergang zu Personalcomputern sind Programmiersprachen zu einem eigenständigen Bestandteil von Entwicklungsumgebungen geworden. Heutzutage werden sogar Sprachen verwendet Office-Programme- zum Beispiel VBA.

Geschichte der Programmiersprachen

3. Klassifizierung von Programmiersprachen

1. Konzepte Software

Programmieren kann sowohl als Wissenschaft als auch als Kunst betrachtet werden. Das Programm ist das Ergebnis geistiger Arbeit, die von Kreativität geprägt ist. Programme sind für die maschinelle Umsetzung von Aufgaben konzipiert.

Aufgabe ist ein Problem, das mit gelöst werden muss technische Mittel, und eine Anwendung (synonym mit einem Programm) ist eine auf einem Computer implementierte Lösung für ein bestimmtes Problem.

Programmierung ist der Handlungsbereich, der auf die Erstellung von Programmen abzielt.

Programm ist eine Folge von Computerbefehlen, die zur Lösung eines Problems führt.

Anwendung- Das Softwareimplementierung ein Problem am Computer lösen.

Software(Software) sind Softwareprodukte und technische Dokumentation zu ihnen.

Softwareprodukt (PP) ist eine Reihe miteinander verbundener Programme, die darauf abzielen, eine spezifische, massenhaft nachgefragte Aufgabe umzusetzen.

Eine der revolutionärsten Ideen, die zur Entwicklung automatischer Digitalcomputer führte, wurde in den 20er Jahren des 19. Jahrhunderts geäußert Charles Babage die Idee, die Betriebsreihenfolge einer Maschine für die anschließende automatische Durchführung von Berechnungen vorab aufzuzeichnen – ein Programm. Und zwar gebraucht Babyj Aufzeichnen eines Programms auf Lochkarten, erfunden von einem französischen Erfinder zur Steuerung solcher Maschinen Joseph Marie Jacquard, hat technisch gesehen nichts mit modernen Methoden zur Speicherung von Programmen auf einem PC zu tun, das Prinzip ist hier im Wesentlichen das gleiche. Von diesem Moment an beginnt die Geschichte der Programmierung.

Adu Levlace, zeitgenössisch Bebija, genannt der erste Programmierer der Welt. Sie entwickelte theoretisch einige Techniken zur Steuerung des Rechenablaufs, die auch heute noch in der Programmierung verwendet werden. Sie beschrieb auch eine der wichtigsten Konstruktionen fast aller modernen Programmiersprachen – eine Schleife.

Ein revolutionärer Moment in der Geschichte der Programmiersprachen war die Entstehung eines Systems zur Kodierung von Maschinenanweisungen mithilfe von spezielle Charaktere, vorgeschlagen John Mauchly. Das von ihm vorgeschlagene Kodierungssystem inspirierte einen seiner Mitarbeiter Grace Murray Hopper. Während der Arbeit am Mark-1-Computer hatten sie und ihre Gruppe mit vielen Problemen zu kämpfen und alles, was ihnen einfiel, war zum ersten Mal. Insbesondere entwickelten sie Unterprogramme. Und ein weiteres grundlegendes Konzept der Programmiertechnik wurde erstmals von Hopper und ihrer Gruppe eingeführt: „Debugging“.

Ende der 40er Jahre J. Mauchly hat ein System namens „ Funktionscode", eine primitive Programmiersprache auf hohem Niveau. Darin schrieb der Programmierer das zu lösende Problem in Form mathematischer Formeln auf und übersetzte diese Formeln dann mithilfe einer speziellen Tabelle Zeichen für Zeichen und wandelte diese Formeln in Zwei-Buchstaben-Codes um. Anschließend wandelte ein spezielles Computerprogramm diese Codes in binären Maschinencode um. System, entwickelt J. Mauchly gilt als einer der ersten primitiven Interpreten.

Bereits 1951 Trichter schuf den weltweit ersten Compiler und führte auch diesen Begriff ein. Compiler Trichterübernahm die Funktion, Befehle zu kombinieren und während der Übertragung Unterprogramme zu organisieren, Computerspeicher zuzuweisen und Befehle auf hoher Ebene (damals Pseudocodes) in Maschinenbefehle umzuwandeln. „Unterprogramme befinden sich in der Bibliothek (des Computers), und wenn man Material aus der Bibliothek auswählt, nennt man das Zusammenstellung“, erklärte sie den Ursprung des von ihr geprägten Begriffs.

Im Jahr 1954 gründete eine Gruppe unter der Leitung von G. Hopper entwickelte ein System inklusive einer Programmiersprache und einem Compiler, das später „ Mathematisch. Nach erfolgreichem Abschluss der Erstellungsarbeiten Math-Matic Hopper und ihre Gruppe machte sich daran, eine neue Sprache und einen neuen Compiler zu entwickeln, die es Benutzern ermöglichen würden, in einer Sprache zu programmieren, die dem normalen Englisch ähnelt. 1958 erschien ein Compiler Flow-Matic. Compiler Flow-Matic war die erste Sprache für kommerzielle Datenverarbeitungsaufgaben.

Entwicklungen in diese Richtung führten zur Entstehung der Sprache COBOL(COBOL – Common Business Oriented Language). Es wurde 1960 erstellt. In dieser Sprache im Vergleich zu Fortran Und Algol, mathematische Werkzeuge sind weniger entwickelt, aber Textverarbeitungswerkzeuge und die Organisation der Datenausgabe in Form des erforderlichen Dokuments sind gut entwickelt. Es war als primäre Sprache für die Massendatenverarbeitung in Management- und Geschäftsbereichen gedacht.

Die Mitte der 50er Jahre zeichnet sich durch rasante Fortschritte im Bereich Programmierung aus. Die Rolle der Programmierung bei Maschinenbefehlen begann abzunehmen. Es entstanden neue Arten von Programmiersprachen, die als Vermittler zwischen Maschinen und Programmierern fungierten. Der erste und einer der häufigsten war Fortran(FORTRAN, von FORmula TRANslator – Formelübersetzer), 1954 von einer Gruppe IBM-Programmierern entwickelt (erste Version). Diese Sprache konzentrierte sich auf wissenschaftliche und technische Berechnungen mathematischer Natur und ist eine klassische Programmiersprache zur Lösung mathematischer und technischer Probleme auf einem PC.

Für die ersten höheren Programmiersprachen war die Fachorientierung der Sprachen ein charakteristisches Merkmal.

Einen besonderen Platz unter den Programmiersprachen nimmt ein ALGOL, dessen erste Fassung 1958 erschien. Einer der Entwickler Algola war „Vater“ Fortran John Backus. Der Name ALGOrithmic Language unterstreicht die Tatsache, dass sie zum Schreiben von Algorithmen gedacht ist. Dank einer klaren logischen Struktur ALGOL wurde Standardmittel Aufzeichnungsalgorithmen in der wissenschaftlichen und technischen Literatur.

Mitte der 60er Jahre Thomas Kurtz und John Kameny(Mitarbeiter der Mathematikabteilung des Dartmouth College) erstellten eine spezielle Programmiersprache, die aus Folgendem bestand: einfache Worte auf Englisch. Neue Sprache wird „Beginner All-Purpose Symbolic Instruction Code“ oder kurz BASIC genannt. Das Geburtsjahr einer neuen Sprache kann berücksichtigt werden 1964 . Heute eine universelle Sprache BASIC(von dem es viele Versionen gibt) erfreut sich großer Beliebtheit und wird von PC-Benutzern verschiedener Kategorien auf der ganzen Welt häufig verwendet. Dies wurde dadurch erheblich erleichtert BASIC begann als integrierte Sprache von Personalcomputern verwendet zu werden, deren weit verbreitete Verwendung in den späten 70er Jahren begann. Jedoch BASIC ist eine unstrukturierte Sprache und eignet sich daher nicht gut für den Unterricht hochwertiger Programmierung. Der Fairness halber ist anzumerken, dass es sich um die neuesten Versionen handelt BASIC für PCs (zum Beispiel QBasic) sind struktureller geworden und nähern sich in ihren visuellen Fähigkeiten Sprachen wie Pascal.

Die Entwickler haben die Sprachen auf verschiedene Aufgabenklassen ausgerichtet, sie in gewissem Maße an eine bestimmte PC-Architektur gebunden und persönliche Vorlieben und Ideen umgesetzt. In den 60er Jahren wurde versucht, diese „Zwietracht“ durch die Schaffung einer universellen Programmiersprache zu überwinden. Das erste Kind dieser Richtung war P.L./1 (Programm Language One), 1967 von IBM entwickelt. Diese Sprache behauptete, jedes Problem lösen zu können: Rechnen, Textverarbeitung, Sammeln und Abrufen von Informationen. Es erwies sich jedoch als zu komplex, der Übersetzer war nicht optimal genug und enthielt eine Reihe unerkannter Fehler.

Allerdings wurde die Linie zur Universalisierung der Sprachen unterstützt. Alte Sprachen wurden zu universellen Varianten modernisiert: ALGOL-68 (1968), Fortran-77. Man ging davon aus, dass sich solche Sprachen weiterentwickeln und verbessern und beginnen würden, alle anderen zu verdrängen. Allerdings war keiner dieser Versuche erfolgreich.

Sprache LISPELN erschien 1965. Das Hauptkonzept darin ist das Konzept rekursiv definierter Funktionen. Da bewiesen ist, dass jeder Algorithmus mit einem bestimmten Satz rekursiver Funktionen beschrieben werden kann LISPELN ist im Wesentlichen eine universelle Sprache. Mit seiner Hilfe kann ein PC recht komplexe Prozesse simulieren, insbesondere die geistige Aktivität von Menschen.

Prolog 1972 in Frankreich entwickelt, um die Probleme der „künstlichen Intelligenz“ zu lösen. Prolog ermöglicht es Ihnen, verschiedene Aussagen und die Logik der Argumentation formal zu beschreiben und zwingt den PC, Antworten auf die gestellten Fragen zu geben.

Ein bedeutendes Ereignis in der Geschichte der Programmiersprachen war die Schaffung der Sprache im Jahr 1971 Pascal. Der Autor ist ein Schweizer Wissenschaftler Niklaus Wirth. Wirth benannte ihn nach dem großen französischen Mathematiker und Religionsphilosophen des 17. Jahrhunderts Blaise Pascal, der das erste Addiergerät erfand, weshalb die neue Sprache seinen Namen erhielt. Diese Sprache wurde ursprünglich als Lehrsprache für strukturiertes Programmieren entwickelt und ist heute tatsächlich eine der Hauptsprachen für den Programmierunterricht an Schulen und Universitäten.

Im Jahr 1975 wurden zwei Ereignisse zu Meilensteinen in der Geschichte des Programmierens: Bill Gates Und Paul Allen erklärten sich durch die Entwicklung einer eigenen Version BASIC, A Wirth Und Jensen veröffentlichte eine klassische Beschreibung der Sprache „Pascal User Manual and Report“.

Erzielte einen nicht weniger beeindruckenden, auch finanziellen Erfolg Philip Kahn, Franzose, der das System 1983 entwickelte Turbo Pascal. Der Kern seiner Idee bestand darin, die aufeinanderfolgenden Phasen der Programmverarbeitung – Kompilierung, Bearbeitung von Links, Debugging und Fehlerdiagnose – in einer einzigen Schnittstelle zu vereinen. Turbo Pascal ist nicht nur eine Sprache und ein Übersetzer daraus, sondern auch eine Bedienoberfläche, die dem Benutzer ein komfortables Arbeiten ermöglicht Pascale. Diese Sprache hat ihren pädagogischen Zweck überschritten und ist zu einer professionellen Programmiersprache mit universellen Fähigkeiten geworden. Aufgrund der genannten Vorteile Pascal wurde zur Quelle vieler moderne Sprachen Programmierung. Seitdem sind mehrere Versionen erschienen Turbo Pascal, der letzte ist der siebte.

Firma Borland/Inprise fertige Produktlinie Turbo Pascal und veröffentlichte dann ein visuelles Entwicklungssystem für Windows - Delphi.

Großer Aufdruck auf moderne Programmierung Zunge legen Si(erste Version - 1972), die bei Entwicklern von Softwaresystemen (einschließlich Betriebssystemen) sehr beliebt ist. Diese Sprache wurde als Instrumentensprache für die Entwicklung von Betriebssystemen, Übersetzern, Datenbanken und anderen System- und Anwendungsprogrammen geschaffen. Si kombiniert sowohl die Merkmale einer Hochsprache als auch einer maschinenorientierten Sprache und ermöglicht dem Programmierer den Zugriff auf alle Maschinenressourcen, die Sprachen wie z BASIC Und Pascal.

Der Zeitraum von Ende der 60er bis Anfang der 80er Jahre war geprägt von einem rasanten Wachstum der Zahl unterschiedlicher Programmiersprachen, das mit der Softwarekrise einherging. Im Januar 1975 beschloss das Pentagon, Ordnung in das Chaos der Übersetzer zu bringen und richtete ein Komitee ein, das den Auftrag hatte, eine universelle Sprache zu entwickeln. Im Mai 1979 wurde der Gewinner bekannt gegeben – eine Gruppe von Wissenschaftlern unter der Leitung von Jean Ihbia. Die Siegerzunge wurde synchronisiert Ada, zu Ehren Augusta Ada Levellace. Diese Sprache ist für die Erstellung und langfristige (viele Jahre) Wartung großer Sprachen gedacht Softwaresysteme, ermöglicht parallele Verarbeitung und Prozesssteuerung in Echtzeit.

Anmerkung 1

Damit die ersten Programme funktionierten, war es notwendig, Schlüsselschalter auf der Frontplatte des Computergeräts zu installieren. Natürlich war mit dieser Methode nur das Komponieren möglich kleine Programme. Einer der ersten Versuche, eine vollwertige Programmiersprache zu entwickeln, wurde vom deutschen Wissenschaftler Konrad Zuse im Zeitraum 1943–1945 unternommen. entwickelte die Plankalkul-Sprache. Plankalkul war sehr vielversprechende Sprache, die eigentlich eine Hochsprache war, aber während des Krieges nicht ihre gebührende Bedeutung erhielt praktische Anwendung, und seine Beschreibung wurde erst 1972 veröffentlicht.

Maschinensprache. Monteur

Die Geschichte der Programmiersprachen beginnt mit der Entwicklung Maschinensprache: Logische Null- und Eins-Sprache. Das Schreiben in dieser Sprache war sehr schwierig und mühsam.

Um den Programmierern Ende der 1940er Jahre die Arbeit zu erleichtern. Assemblersprache wurde entwickelt. Anstelle von Binärziffern, die einen Befehl bezeichneten, wurden kurze Wörter oder Abkürzungen geschrieben. Programmierer betrachten Assemblersprache als Programmiersprache. niedriges Niveau, da es der Sprache der untersten Ebene nahe kommt – der Maschine. In Assemblersprache geschriebene Programme hängen direkt von den Eigenschaften eines bestimmten Prozessors ab, weshalb sie als maschinenorientierte Sprache bezeichnet wird.

Das Schreiben von Programmen in Assembler ist eine ziemlich schwierige Aufgabe, außerdem sind Kenntnisse über Computergeräte erforderlich. Und doch sind Assembler-Programme die effektivsten und effizientesten.

Algorithmensprachen

Während der Entwicklung der Programmierung entstand die Notwendigkeit, neue, fortschrittlichere Programmiersprachen zu entwickeln, die natürlichen Sprachen ähneln und es ermöglichen würden, nicht direkt mit Maschinenbefehlen zu arbeiten. Sie wurden Hochsprachen genannt. Hochsprachen konzentrieren sich auf die Beschreibung von Algorithmen und werden daher algorithmische Sprachen genannt. Der Vorteil solcher Sprachen ist eine größere Übersichtlichkeit und Unabhängigkeit von einem bestimmten Computer.

Da ein Computer nur Maschinensprache erkennt, muss ein in einer algorithmischen Sprache geschriebenes Programm vor der Ausführung in diese Sprache übersetzt werden. Sonderprogramm- Übersetzer. Der Übersetzer enthält alle Regeln der algorithmischen Sprache und Methoden zur Umwandlung ihrer verschiedenen Strukturen in Maschinensprache. Es gibt zwei Arten von Sendungen:

  • Kompilierung ist eine Methode zur Programmausführung, bei der Programmanweisungen erst dann ausgeführt werden, wenn die Übersetzung des gesamten Programmtextes kompiliert wurde.
  • Interpretation ist eine Methode der Programmausführung, bei der Programmanweisungen übersetzt und sofort ausgeführt werden.

Anmerkung 2

Der Vorteil von Programmen, die in einer algorithmischen Sprache geschrieben sind, besteht in der Vereinfachung der Arbeit mit dem Programm aufgrund der relativen Einfachheit des Schreibens, der leichten Lesbarkeit und der Möglichkeit seiner Korrektur. Zu den Nachteilen gehören: Extra Zeit und Broadcast-Speicher.

Strukturierte Programmierung

1954 begann die Entwicklung des ersten Hochsprachen-Compilers. Zwei Jahre später erschien die Fortran-Sprache (FORmula TRANslator – „Formelübersetzer“). Die Sprache enthielt Funktionen, die die Entwicklung erheblich vereinfachten, doch das Programmieren in Fortran war keine leichte Aufgabe: Während es in kurzen Programmen leicht zu verstehen war, wurde die Sprache bei großen Programmen unleserlich. Trotzdem war die Sprache recht erfolgreich und es wurden viele Versionen veröffentlicht.

Die Probleme wurden nach der Entwicklung strukturierter Programmiersprachen gelöst: Sie führten die Möglichkeit ein, Programmblöcke und unabhängige Unterprogramme zu erstellen, Unterstützung für Rekursion und lokale Variablen sowie das Fehlen eines unbedingten Sprungoperators (GoTo). Daher begannen solche Sprachen, die Möglichkeit zu unterstützen, ein Programm in seine Bestandteile aufzuteilen.

Im Laufe von zehn Jahren entstand eine ziemlich große Anzahl neuer Sprachen:

  1. Algol (1958) sollte Algorithmen schreiben, die aus separaten Blöcken bestehen;
  2. Cobol (1959) wurde für die Massendatenverarbeitung in Management- und Geschäftsbereichen verwendet;
  3. Basic (1965) ermöglichte Ihnen das Schreiben einfache Programme, wurde verwendet, um die Grundlagen der Programmierung zu vermitteln.

Nur sehr wenige der erstellten Sprachen waren strukturiert. Es wurden auch Spezialsprachen erstellt: Lisp, Prolog, Forth usw. Verdient besondere Aufmerksamkeit Pascal-Sprache(1970), benannt nach dem Wissenschaftler Blaise Pascal, das sowohl für den Unterricht als auch für die Lösung von Problemen unterschiedlicher Komplexität verwendet wurde. Pascal-Programme waren leicht zu lesen, sodass man Fehler schnell finden und korrigieren konnte, und sie waren gut strukturiert. All dies hat zu seiner weiten Verbreitung geführt, und auch heute noch wird es in Bildungseinrichtungen aktiv eingesetzt.

1972 wurde die Sprache C eingeführt, was einen erfolgreichen Schritt in der Programmierung darstellte. Die Sprache vereinte die Vorteile vieler Sprachen und hatte eine große Anzahl diverse Neuerungen. Die vielfältigen Möglichkeiten, die Struktur und die relative Einfachheit des Studiums ermöglichten es der Sprache, schnell Anerkennung zu finden und den Platz einer der Hauptsprachen zu erobern.

Das Aufkommen der strukturierten Programmierung brachte großartige Ergebnisse, aber es war immer noch schwierig, lange und ernsthafte Programme zu schreiben.

Objektorientierte Programmierung (OOP)

Seit den 1970er Jahren Es wurden die Grundlagen der objektorientierten Programmierung (OOP) gelegt, die als Folge der Entwicklung der prozeduralen Programmierung entstand, bei der Daten und Routinen zu ihrer Verarbeitung nicht formal miteinander verbunden waren.

OOP umfasst die folgenden Grundkonzepte:

  • Klasse– ein Modell eines Objekts, das noch nicht existiert. Tatsächlich handelt es sich um ein Diagramm eines Objekts, das seine Struktur beschreibt.
  • Ein Objekt– eine Instanz einer Klasse, eine Entität im Adressraum eines Computersystems, die erscheint, wenn eine Instanz einer Klasse erstellt wird.
  • Abstraktion– einem Objekt Eigenschaften zuzuweisen, die seine Grenzen klar definieren und es von allen anderen Objekten unterscheiden. Die Grundidee besteht darin, die Art und Weise, wie zusammengesetzte Datenobjekte verwendet werden, von den Details ihrer Implementierung in Form einfacherer Objekte zu trennen.
  • Verkapselung– Kombination von Eigenschaften (Daten) und Methoden (Routinen) in einer Klasse, um Objektdaten vor dem Rest des Programms zu verbergen und die Integrität und Unabhängigkeit des Objekts sicherzustellen (das Ändern von Objekteigenschaften ist nur durch spezielle Klassenmethoden möglich).
  • Nachlass– ein Sprachmechanismus, der es Ihnen ermöglicht, eine neue Klasse basierend auf einer vorhandenen Klasse (oder Klassen) zu beschreiben und neue Eigenschaften und Methoden hinzuzufügen.
  • Polymorphismus– die Fähigkeit eines Systems, Objekte mit derselben Schnittstelle zu verwenden, ohne Informationen über deren Typ und interne Struktur zu erhalten.

Notiz 3

1967 erschien die Simula-Sprache – die erste Programmiersprache, in der die Prinzipien der Objektorientierung vorgeschlagen wurden. Es unterstützte die Arbeit mit Objekten, Klassen, virtuellen Methoden usw., aber all diese Funktionen wurden von den Zeitgenossen nicht ausreichend geschätzt. Die meisten dieser Konzepte wurden jedoch von Alan Kay und Dan Ingalls in die Sprache Smalltalk integriert, die zur ersten weit verbreiteten objektorientierten Programmiersprache wurde.

Derzeit ist die Anzahl der angewandten Programmiersprachen, die das objektorientierte Paradigma implementieren, im Vergleich zu anderen Paradigmen am größten. Die wichtigsten Sprachen, die das OOP-Konzept unterstützen: C++, C#, Object Pascal (Delphi), Java usw.

Internetentwicklung

Mit der Entwicklung der WWW-Technologie (World Wide Web) erfreut sich das Internet großer Beliebtheit. Es wurde eine große Anzahl von Hilfssprachen erstellt, um die Arbeit mit dem Internet, das Design von Websites, den Zugriff auf Ressourcen usw. sicherzustellen.

Die interpretierte Sprache Perl, die sich durch ihre Einfachheit und leichte Portabilität auf andere Plattformen auszeichnet, erfreut sich zunehmender Verbreitung. Es ist zum Schreiben von Anwendungen und CGI-Skripten unterschiedlicher Komplexität konzipiert. Auch die Sprache Java ist weit verbreitet und spielt eine bedeutende Rolle bei der Entwicklung und Funktionsweise des Internets.

In den 1970ern Es erschien die SQL-Sprache – eine strukturierte Abfragesprache, die für den Zugriff auf und die Arbeit mit Datenbanken entwickelt wurde.

Um Codes für Website-Seiten zu schreiben, wurde die Hypertext-Auszeichnungssprache HTML entwickelt, die Befehle zum Markieren und Formatieren von Texten und Grafiken enthält. Um die Website attraktiver und funktionaler zu gestalten, werden Folgendes verwendet:

  • JavaScript-Skripte, die im Webbrowser des Benutzers ausgeführt werden und hauptsächlich der Verbesserung dienen Aussehen Website und die Lösung kleinerer Probleme.
  • PHP-Skripte, die serverseitig laufen und bereits verarbeitete Informationen an den Browser des Benutzers senden. Sie dienen der Erstellung dynamischer HTML-Seiten, Gästebüchern, der Pflege von Foren und Umfragen.
  • CGI-Skripte, die hauptsächlich in Perl, C/C++ geschrieben sind, werden serverseitig ausgeführt und sind von bestimmten Benutzeraktionen abhängig. Sie werden wie PHP-Skripte zur Erstellung dynamischer HTML-Seiten, Gästebüchern, zur Pflege von Foren und Umfragen verwendet.

Das Senden Ihrer guten Arbeit an die Wissensdatenbank ist ganz einfach. Nutzen Sie das untenstehende Formular

Gute Arbeit zur Seite">

Studierende, Doktoranden und junge Wissenschaftler, die die Wissensbasis in ihrem Studium und ihrer Arbeit nutzen, werden Ihnen sehr dankbar sein.

Veröffentlicht am http://www.allbest.ru/

Einführung

1. Theoretischer Teil

2. Praktischer Teil

2.2 Erstellen einer Datenbank

2.3 Starten des Programms

Abschluss

Referenzliste

Anhang A. Splash-Formularcode

Anhang B. Hauptformularcode

Anhang C: Datenmodulcode

Anhang D. Editor-Formularcode

EINFÜHRUNG

Programmierung ist ein relativ junger und sich schnell entwickelnder Zweig der Wissenschaft und Technologie. Die Erfahrungen bei der Durchführung realer Entwicklungen und der Verbesserung bestehender Software und Hardware werden ständig neu überdacht, was zur Entstehung neuer Methoden, Methodologien und Technologien führt, die wiederum als Grundlage für modernere Softwareentwicklungstools dienen. Es empfiehlt sich, die Entstehungsprozesse neuer Technologien zu untersuchen und deren Haupttrends zu ermitteln, indem diese Technologien mit dem Entwicklungsstand der Programmierung und den Funktionen der den Programmierern zur Verfügung stehenden Software und Hardware verglichen werden.

Gegenstand der Forschung sind Programmiertechnologien.

Gegenstand der Studie ist die Geschichte der Entwicklung von Programmiertechnologien.

Der Zweck davon Kursarbeit ist das Studium der Entstehungsgeschichte der Programmierung sowie der Grundprinzipien und Ansätze zur Erstellung einer Programmiersprache.

Um dieses Ziel zu erreichen, ist es notwendig, folgende Aufgaben zu lösen:

1. Informationsquellen zu Programmiertechnologien analysieren;

2. Betrachten Sie die Geschichte der Entwicklung von Programmiertechnologien;

3. Identifizieren Sie die Entwicklungsstadien von Programmiertechnologien.

4. Erstellen Sie eine Datenbank zum Speichern von Informationen über Mitarbeiter.

5. Entwerfen Sie die Anwendung.

1. THEORETISCHER TEIL

1.1 Konzept und Klassifizierung von Programmiersprachen

Die Funktionsweise des Computers erfolgt nach dem Prinzip der Programmsteuerung. Das Programm, bei dem es sich um eine Folge von Befehlen handelt, die einen Algorithmus zur Lösung eines Problems implementieren, wird in den Computerspeicher eingegeben, woraufhin seine automatische Ausführung mit dem ersten Befehl beginnt. Nachdem jeder Befehl ausgeführt wurde, geht die Maschine automatisch zum nächsten Befehl über und so weiter, bis sie auf einen Befehl trifft, der sie anweist, die Berechnung abzuschließen.

Die Struktur eines Computerbefehls besteht im einfachsten Fall aus zwei Teilen: Betrieb und Adresse. Der Operationsteil enthält den Operationscode (Addieren, Subtrahieren usw.). Der Adressteil enthält die Adressen von Speicherzellen; Sie speichern die Werte der Operanden, mit denen eine bestimmte Operation ausgeführt werden muss. Abhängig von der Anzahl der im Befehl angegebenen Adressen werden Ein-, Zwei- und Drei-Adress-Befehle unterschieden.

Physikalische Funktionsprinzipien elektronische Geräte Computer sind so beschaffen, dass der Computer Befehle akzeptieren kann, die nur aus Einsen und Nullen bestehen, d. h. Maschinensprache. In der Anfangsphase der Computerentwicklung musste eine Person Programme in einer für den Computer verständlichen Sprache in Form von Maschinencodes verfassen. Jeder Befehl bestand aus einem Operationscode und Operandenadressen, ausgedrückt als verschiedene Kombinationen Einsen und Nullen.

Wie die weitere Praxis der Kommunikation mit einem Computer zeigte, ist eine solche Sprache umständlich und unbequem. Bei der Verwendung kann man leicht einen Fehler machen, indem man 1 oder 0 in der falschen Reihenfolge schreibt. Das Programm ist sehr schwer zu steuern. Darüber hinaus müssen Sie beim Programmieren in Maschinencodes über gute Kenntnisse der internen Struktur des Computers und der Funktionsweise jedes Blocks verfügen. Und das Schlimmste an einer solchen Sprache ist, dass die Programmierung in Maschinencodes viel Zeit, Arbeit und erhöhte Aufmerksamkeit des Programmierers erfordert.

Daraus ergab sich die Notwendigkeit, ein Werkzeug zu finden, das den Aufbau einer Kommunikation zwischen einer Person und einem Computer erleichtert. Und ein solches Mittel wurde gefunden: verschiedene symbolische Sprachen und ihre entsprechenden Übersetzer (Programmiersysteme).

Eine Programmiersprache ist eine formalisierte Sprache zur Beschreibung eines Algorithmus zur Lösung eines Problems auf einem Computer.

Um die Programmierung zu automatisieren, verfügte jeder Computer über einen eigenen Autocode (oder Assembler). Diese Sprache reproduziert den Befehlssatz der Maschinensprache vollständig und schien nur dazu gedacht, die Programmierung im Maschinencode zu vereinfachen.

Die Weiterentwicklung der Sprachwerkzeuge folgte dem Weg der Schaffung maschinenunabhängiger Sprachen, die es ermöglichten, Programme auf jedem verfügbaren Computer zu schreiben und diese auf eine fortschrittlichere Architektur zu übertragen.

Es gibt weltweit mehrere hundert symbolische Programmiersprachen unterschiedlicher Struktur und Fähigkeiten, die nach verschiedenen Kriterien klassifiziert werden können.

Nimmt man als Klassifizierungsmerkmal die Syntax der Bildung von Programmiersprachkonstrukten, so lassen sich diese in folgende Klassen einteilen:

* Computersprachen – Programmiersprachen, die von der Computerhardware wahrgenommen werden (Maschinencodes);

* computerorientierte Sprachen – Programmiersprachen, die die Struktur eines bestimmten Computertyps widerspiegeln (Assembler);

* algorithmische Sprachen – von der Computerarchitektur unabhängige Programmiersprachen, die die Struktur des Algorithmus widerspiegeln (Pascal, Fortran, BASIC usw.);

* prozedurorientierte Sprachen – Programmiersprachen, in denen es möglich ist, ein Programm als eine Reihe von Prozeduren (Unterroutinen) zu beschreiben;

* problemorientierte Sprachen (universelle Programmiersprachen) – Programmiersprachen zur Lösung von Problemen einer bestimmten Klasse (Lisp, RPG, Simula usw.);

* Integrierte Programmiersysteme.

Nimmt man als Klassifizierungsmerkmal die Zugehörigkeit zu einem der bisher entstandenen Programmierstile, die jeweils über ein eigenes Berechnungsmodell verfügen, so lassen sich Programmiersprachen in folgende Klassen einteilen:

* verfahrenstechnisch;

* funktionsfähig;

* logisch;

* objektorientierte.

Ein Programm in einer prozeduralen Programmiersprache besteht aus einer Folge von Operatoren (Anweisungen), die bestimmte Aktionen festlegen. Eines der wichtigsten Qualifikationsmerkmale prozeduraler Sprachen ist ihr Niveau, das den Grad der Ähnlichkeit zwischen Programmiersprache und Maschinensprache charakterisiert. Als Beginn der Levelzählung gilt die Maschinensprache, deren Level Null ist. Die menschliche Sprache gilt als Sprache auf höchstem Niveau.

1.2 Geschichte der Programmiersprachen

Seit der Antike wird versucht, Geräte zu entwickeln, die den Berechnungsprozess beschleunigen und erleichtern. Schon die alten Griechen und Römer verwendeten ein abakusähnliches Gerät, den Abakus. Solche Geräte waren auch in den Ländern des Alten Ostens bekannt. Im 15. Jahrhundert Die deutschen Wissenschaftler W. Schickard (1623), G. Leibniz (1673) und der französische Wissenschaftler B. Pascal (1642) schufen mechanische Rechengeräte – die Vorgänger der bekannten Addiermaschine. Computer wurden im Laufe mehrerer Jahrhunderte verbessert. Der Begriff „Programm und Programmierung“ wurde jedoch nicht verwendet.

Zu Beginn des 19. Jahrhunderts. (1830), ein englischer Wissenschaftler, Professor für Mathematik an der Universität Cambridge, Charles Babbage, analysierte die Ergebnisse der Volkszählung in Frankreich, untersuchte theoretisch den Prozess der Durchführung von Berechnungen und begründete die Grundlagen der Architektur eines Computers. Ch. Babbage arbeitete am Projekt der Analysemaschine „Maschine zur Berechnung von Differenzen“ und sagte viele Ideen und Prinzipien der Organisation und des Betriebs moderner Computer voraus, insbesondere das Prinzip der Programmsteuerung und gespeicherter Programme. Die gemeinsame Leidenschaft für die Wissenschaft bescherte dem Wissenschaftler und Ada Lovelace (1815-1852) viele Jahre fruchtbarer Zusammenarbeit. Im Jahr 1843 übersetzte sie Menabreas Artikel über die Vorlesungen von Charles Babbage, in dem sie in Form ausführlicher Kommentare (sie übertrafen den Haupttext an Umfang) die Grundprinzipien der Programmierung der Analytical Engine formulierte. Sie entwickelte das erste Programm (1843) für Babbages Maschine und überzeugte ihn von der Notwendigkeit, es in der Erfindung zu verwenden binäres System Notation statt Dezimalschreibweise, entwickelte Programmierprinzipien, die das Wiederholen derselben Befehlsfolge unter bestimmten Bedingungen beinhalten. Sie war es, die die Begriffe „Arbeitszelle“ und „Zyklus“ vorschlug.

A. Lovelace hat die ersten Programme zur Lösung eines Systems aus zwei Gleichungen und zur fairen Berechnung von Bernoulli-Zahlen zusammengestellt komplexer Algorithmus und schlug vor, dass die Analytical Engine mit der Zeit Musik komponieren, Bilder malen und in praktischen und praktischen Anwendungen eingesetzt werden würde wissenschaftliche Tätigkeit. Die Zeit hat ihre Richtigkeit und die Genauigkeit ihrer Prognosen bestätigt. A. Lovelace legte mit ihren Werken die theoretischen Grundlagen der Programmierung und gilt zu Recht als die erste Programmiererin der Welt und Begründerin der wissenschaftlichen Programmierung.

Im Jahr 1854 veröffentlichte der englische Mathematiker George Boole das Buch „The Laws of Thought“, in dem er die Aussagenalgebra – die Boolesche Algebra – entwickelte. Basierend darauf in den frühen 80ern. 19. Jahrhundert Die Theorie der Relaiskontaktschaltungen und der Entwurf komplexer diskreter Automaten wurden entwickelt. Die Algebra der Logik hatte vielfältigen Einfluss auf die Entwicklung Computertechnologie, ein Werkzeug zur Entwicklung und Analyse komplexer Schaltkreise, ein Werkzeug zur Optimierung einer großen Anzahl logischer Elemente, von denen viele Tausende einen modernen Computer ausmachen.

Die Ideen von Ch. Babbage wurden von dem amerikanischen Wissenschaftler G. Hollerith umgesetzt, der ab 1890 mit der gebauten Rechen- und Analysemaschine und Lochkarten die Ergebnisse der Volkszählung in den Vereinigten Staaten für drei Jahre verarbeitete. Erstmals wurde im Auto Strom genutzt. 1896 gründete Hollerith ein Unternehmen zur Herstellung von Stanzmaschinen und Lochkarten.

1936 führte der englische Mathematiker A. Turing das Konzept einer Turing-Maschine als formale Verfeinerung des intuitiven Konzepts eines Algorithmus ein. Der Wissenschaftler zeigte, dass in gewisser Weise jeder Algorithmus auf einer Turing-Maschine implementiert werden kann, und bewies damit die Möglichkeit, einen universellen Computer zu bauen. Beide Maschinen können ebenfalls mit Ausgangsdaten des zu lösenden Problems und einem Programm zu dessen Lösung ausgestattet werden. Die Turingmaschine kann als idealisiertes Modell eines Universalcomputers betrachtet werden.

In den 40er Jahren 20. Jahrhundert Die mechanischen Elemente von Computern wurden zunehmend durch elektrische und elektronische Geräte ersetzt. Die ersten elektromechanischen Maschinen wurden in Deutschland von K. Zuse (Ts-3, 1941) und in den USA unter der Leitung von Harvard-Universitätsprofessor G. Aiken (MARK-1, 1944) entwickelt. Die erste elektronische Maschine wurde in den USA von einer Gruppe von Ingenieuren unter der Leitung von Dr. J. Mauchly von der University of Pennsylvania und dem Doktoranden J. Ecksrt (ENIAC – elektronischer numerischer Integrator und Rechner, 1946) entwickelt. 1949 wurde in England die EDSAC gebaut – die erste Maschine mit Automatik programmgesteuert, internes Speichergerät und andere notwendige Komponenten moderner Computer.

Computerlogikschaltungen wurden Ende der 1940er Jahre entwickelt. J. von Neumann, G. Goldstein und A. W. Burks. Einen besonderen Beitrag zu dieser Arbeit leistete der amerikanische Mathematiker John von Neumann, der an der Gründung von ENIAC beteiligt war. Er schlug die Idee vor, Steuerbefehle und Daten im Computerspeicher zu speichern und formulierte die Grundprinzipien für den Bau moderner Computer. Computer mit gespeicherten Programmen erwiesen sich als schneller und flexibler als zuvor erstellte.

1951 wurde in den USA die erste Massenproduktion elektronischer Maschinen UNIVAC (Universal Automatic Computer) gestartet. Gleichzeitig begann IBM mit der Serienproduktion der IBM/701-Maschine.

In der UdSSR sind I. S. Bruk und B. I. Rameev die ersten Autoren des im Dezember 1948 erfundenen Computers. Und der erste sowjetische Computer mit gespeichertem Programm wurde 1951 unter der Leitung von S. A. Lebedev entwickelt (MESM – kleine elektronische Rechenmaschine). 1953 begann in der Sowjetunion die Serienproduktion von Fahrzeugen, die ersten waren BESM-1 und Strela.

Mit dem Aufkommen digitaler programmgesteuerter Maschinen entstand ein neuer Bereich der angewandten Mathematik – die Programmierung. Als Studien- und Berufsfach entstand es in den 1950er Jahren. Ursprünglich wurden Programme manuell in Maschinensprachen (Maschinencodes) kompiliert. Die Programme waren umständlich und das Debuggen sehr arbeitsintensiv. Um die Techniken und Methoden zum Verfassen und Debuggen von Programmen zu vereinfachen, wurden mnemonische Codes erstellt, die in ihrer Struktur der Maschinensprache ähneln und symbolische Adressierung verwenden. Assembler übersetzten ein in mnemonischem Code geschriebenes Programm in Maschinensprache und werden, erweitert um Makroanweisungen, auch heute noch verwendet. Als nächstes wurden Autocodes erstellt, die auf verschiedenen Maschinen verwendet werden konnten und den Austausch von Programmen ermöglichten. Autocode ist eine Reihe von Pseudobefehlen zur Lösung spezieller Probleme, beispielsweise wissenschaftlicher oder technischer Art. Für solche Aufgaben gibt es eine entwickelte Bibliothek von Standardprogrammen.

Bis Ende der 1950er Jahre. Das Hauptdesignelement des Computers waren Vakuumröhren (1. Generation). In dieser Zeit wurde die Entwicklung der Programmierideologie und -technologie durch die Errungenschaften der amerikanischen Wissenschaftler J. von Neumann vorangetrieben, die die Grundprinzipien der Computerkonstruktion formulierten, und J. Backus, unter dessen Führung 1954 Fortran (Formelübersetzung) entstand , die erste Hochprogrammiersprache, die bis heute in verschiedenen Modifikationen verwendet wird. So entwickelten D. Kamany und T. Kurtz 1965 am Dartmouth College eine vereinfachte Version von Fortran – Basic. Im Jahr 1966 entwickelte eine Kommission der American Standards Association (ASA) zwei Sprachstandards: Fortran und Basic Fortran. Es werden auch weitere Modifikationen der Sprache verwendet (z. B. 1970, 1990).

Fortschritte auf dem Gebiet der Elektronik und Mikroelektronik haben es ermöglicht, die Computerelementbasis durch eine fortschrittlichere zu ersetzen. Ende der 1950er Jahre. Sperrige Vakuumröhren werden durch Halbleiter (Miniaturtransistoren) ersetzt. Computer der zweiten Generation erscheinen; dann, nach etwa 10 Jahren, Computer der dritten Generation mit integrierten Schaltkreisen; in weiteren 10 Jahren - Computer der IV. Generation basierend auf großen integrierten Schaltkreisen (LSI). In Japan in den 1990er Jahren. Es wurden Computerprojekte der V-Generation umgesetzt, die Fortschritte auf dem Gebiet der künstlichen Intelligenz und Bioelektronik nutzten. Wenn das Volumen des Arbeitsspeichers (RAM) einer der besten heimischen Maschinen der 1960er Jahre ist. M-20, der 1958 unter der Leitung von S.A. Lebedev entwickelt wurde, hatte 4096 Wörter (8 KB) und eine Geschwindigkeit von 20.000 Operationen pro Sekunde, während moderne Personalcomputer durch einen RAM von mehreren zehn MB und eine Geschwindigkeit von Hunderten von Millionen gekennzeichnet sind Operationen pro Sekunde, mit denen Sie die komplexesten Probleme lösen können.

Im Jahr 1953 schlug A.A. Lyapunov eine Methode zur Operatorprogrammierung vor, die darin bestand, die Programmierung zu automatisieren, und der Algorithmus zur Lösung des Problems wurde als eine Reihe von Operatoren dargestellt, die ein logisches Diagramm des Problems bildeten. Schemata ermöglichten es, den umständlichen Prozess der Erstellung eines Programms zu analysieren, dessen Teile nach formalen Regeln zusammengestellt und dann zu einem Ganzen zusammengefasst wurden. Um die Ideen der Operatormethode zu testen, wurde 1954 in der UdSSR das erste Programmierprogramm PP-1 und 1955 ein weiterentwickeltes Programm – PP-2 – entwickelt. 1956 wurde das BESM PP, 1957 das PPSV und 1958 das Strela-Fahrzeug entwickelt.

In den USA begann man 1954 mit der Anwendung eines algebraischen Ansatzes, der im Wesentlichen mit der Operatormethode übereinstimmt. 1956 entwickelte die IBM Corporation eine universelle Fortran-Software für die automatische Programmierung auf dem IBM/704-Computer.

Während dieser Zeit wurden Erfahrungen und theoretisches Verständnis gesammelt und die Programmiersprachen verbessert. 1958-1960 ALGOL entstand in Europa, woraus eine ganze Reihe von Algol-ähnlichen Sprachen hervorgingen: Algol W, (1967), Algol 68, Pascal (N. Wirth, 1970), C (D. Ritchie und B. Kernighan, 1972), Ada (unter J. Ishbia, 1979), C++ (1983).

1961-1962 J. McCarthy vom Massachusetts Institute of Technology entwickelte die funktionale Programmiersprache Lisp, die eine der von J. von Neumann vorgeschlagenen alternativen Programmierrichtungen eröffnete.

Zu Beginn der 1970er Jahre. Es gab mehr als 700 Hochsprachen und etwa 300 Übersetzer für die Programmierautomatisierung.

1.3 Prozedurale Programmiersprachen

Die prozedurale oder imperative Programmierung ist ein Spiegelbild der von Neumann-Computerarchitektur. Ein in dieser Sprache geschriebenes Programm ist eine Folge von Befehlen, die einen Algorithmus zur Lösung eines Problems definieren. Der Hauptbefehl ist der Zuweisungsbefehl, der dazu dient, den Inhalt des Computerspeichers zu bestimmen und zu ändern. Die Grundidee der prozeduralen Programmierung besteht darin, den Speicher des Computers zum Speichern von Daten zu nutzen. Die Funktionsweise des Programms beschränkt sich auf die sequentielle Ausführung von Befehlen zur Konvertierung Ausgangszustand Erinnerung, d.h. Das Programm führt eine schrittweise Transformation des Speicherinhalts durch und ändert ihn vom Ausgangszustand in den resultierenden Zustand.

Eine der ersten prozeduralen Programmiersprachen auf hohem Niveau war Fortran, das Anfang der 50er Jahre entwickelt wurde. in den USA von IBM. Die erste Veröffentlichung darüber erschien 1954. Der Hauptzweck der Sprache ist die Programmierung wissenschaftlicher und technischer Probleme. Die Objekte der Sprache sind ganze Zahlen und reale Nummern und numerische Variablen. Darin enthaltene Ausdrücke werden mithilfe von vier arithmetischen Operationen gebildet: Potenzierung, logische Operationen UND, ODER, NICHT, Vergleichsoperatoren und Klammern. Die wichtigsten Fortran-Operatoren sind Eingabe, Ausgabe, Zuweisung, bedingter und unbedingter Sprung, Schleife und Unterprogrammaufruf.

Viele Jahre lang war es eine der am weitesten verbreiteten Sprachen der Welt. In dieser Zeit wurde eine riesige Bibliothek von in Fortran geschriebenen Programmen angesammelt. Und jetzt wird am nächsten Fortran-Standard gearbeitet. Im Jahr 2000 wurde die F2k-Version von Fortran implementiert, und es gibt eine Standardversion von HPF (HighPerformanceFortran) für parallele Supercomputer. Viele Fortran-Funktionen werden in den Sprachen PL-1 und BASIC verwendet.

COBOL (Ommon Zfusiness Oriented Language – eine allgemein anerkannte Geschäftssprache) ist eine Programmiersprache, die sich auf die Lösung von Datenverarbeitungsproblemen konzentriert. Wird häufig zur Lösung von Buchhaltungs-, Wirtschafts- und Managementproblemen verwendet. 1958-1960 in den USA entwickelt. Ein Cobol-Programm besteht aus einer Reihe geschriebener Sätze Englische Sprache und ähnelt normalem Text. Gruppen nacheinander geschriebener Aussagen werden zu Sätzen, Sätze zu Absätzen, Absätze zu Abschnitten zusammengefasst. Der Programmierer weist Absätzen und Abschnitten Namen (Beschriftungen) zu, was den direkten Zugriff auf den gewünschten Abschnitt des Programms erleichtert. Die russische Version der Sprache wurde in der UdSSR übernommen. Cobol stellte leistungsstarke Tools für die Arbeit mit großen Datenmengen bereit, die auf verschiedenen externen Medien gespeichert waren. Viele Anwendungen wurden in dieser Sprache erstellt, von denen einige auch heute noch aktiv genutzt werden.

Es genügt zu sagen, dass Cobol-Programmierer eine der bestbezahlten Kategorien von Bürgern in den Vereinigten Staaten sind.

Algol wurde 1960 von einer Gruppe ausländischer Spezialisten entwickelt und war das Ergebnis einer internationalen Zusammenarbeit Ende der 50er Jahre. (Algol-60). Algol sollte Algorithmen aufzeichnen, die in Form einer Abfolge von Prozeduren erstellt wurden, die zur Lösung zugewiesener Probleme verwendet wurden. Die Praktiker nahmen diese Sprache mehrdeutig wahr, dennoch spielte sie als anerkannte internationale Sprache eine große Rolle bei der Entwicklung grundlegender Programmierkonzepte und bei der Ausbildung von Programmierern. Es führte erstmals die Konzepte „Blockstruktur eines Programms“ und „dynamische Speicherzuweisung“ ein. Innerhalb eines Blocks in Algol können Sie lokale Notationen eingeben, die vom Rest des Programms unabhängig sind. Trotz seines internationalen Ursprungs ist Algol-60 weniger verbreitet als

Fortran. Beispielsweise verfügten nicht alle ausländischen Computer über Übersetzer von ALGOL-60. Im Jahr 1968 also weitere Entwicklung und Verbesserungen an ALGOL-60 wurde die Version ALGOL-68 erstellt. Es handelt sich um eine vielseitige und universell einsetzbare fortgeschrittene Programmiersprache.

Die letztgenannte Eigenschaft ermöglichte es, mit demselben Übersetzerprogramm aus verschiedenen erweiterten Versionen der Sprache zu übersetzen, ohne dass zusätzliche Kosten für die Anpassung dieser Sprache an verschiedene Benutzerkategorien anfielen, um problemorientierte Dialekte der Sprache zu erhalten. In Bezug auf seine Fähigkeiten ist Algol-68 vielen Programmiersprachen immer noch voraus, aber aufgrund des Mangels an leistungsfähigen Computern war es nicht möglich, zeitnah gute Compiler dafür zu erstellen. In unserem Land wurde in diesen Jahren unter der Leitung des Akademikers Andrei Petrovich Ershov der Alpha-Übersetzer geschaffen, der eine ziemlich erfolgreiche russifizierte Version von Algol darstellte.

Mitte der 60er Jahre. Die Mathematikfakultäten des Dartmouth College, Thomas Kurtz und John Kemeny, entwickelten eine spezielle Programmiersprache, die aus einfachen Elementen bestand englische Wörter. Die neue Sprache hieß Beginners Universal Symbolic Code, kurz BASIC. 1964 gilt als Geburtsjahr dieser Sprache. Es wird am häufigsten bei der Arbeit an PCs im interaktiven Dialogmodus verwendet. Die Popularität von BASIC erklärt sich sowohl aus der einfachen Entwicklung als auch aus dem Vorhandensein ausreichend leistungsstarker universeller Werkzeuge, die sich zur Lösung wissenschaftlicher, technischer und wirtschaftlicher Probleme sowie von Problemen häuslicher Natur, Spiele usw. eignen. Nach den BASIC-eigenen Konzepten sind darin verschiedene Standardregeln weit verbreitet, was in den meisten Programmiersprachen dieser Art als schlechte Form gilt. Es entstanden viele Versionen der Sprache, oft mit geringer Kompatibilität untereinander. Wenn Sie jedoch eine der Versionen kennen, können Sie problemlos jede andere beherrschen. BASIC übernimmt aktiv viele Konzepte und Innovationen aus anderen Sprachen.

Der interaktive Modus erfolgte zunächst über einen Interpreter, mittlerweile gibt es auch Compiler für diese Sprache.

In den frühen 60ern. Jede der vorhandenen Programmiersprachen konzentrierte sich auf unterschiedliche Aufgabenklassen, war jedoch in gewissem Maße an eine bestimmte Computerarchitektur gebunden. Es wurde versucht, diesen Mangel durch die Schaffung einer universellen Programmiersprache zu beheben. PL /1 (PL /1 – Programmiersprache Eins) ist die erste universelle Mehrzwecksprache, die 1963–1966 von IBM in den USA entwickelt wurde. Dies ist eine der gebräuchlichsten universellen Sprachen und eignet sich gut zur Lösung von Problemen im Bereich der Computertechnologie: Erforschung und Planung von Rechenprozessen, Modellierung, Lösung logischer Probleme und Untersuchung logischer Schaltkreise, Entwicklung von Softwaresystemen. Bei der Entwicklung von PL/1 wurden in großem Umfang die grundlegenden Konzepte und Werkzeuge der Sprachen Fortran, Algol-60 und Cobol verwendet. PL/1 ist eine umfangreiche und flexible Sprache, die es ermöglicht, Programmtext während des Debuggens einzufügen und zu korrigieren. Die Sprache ist weit verbreitet und es stehen Übersetzer für viele Computertypen zur Verfügung. IBM unterstützt diese Sprache auch heute noch.

Pascal ist eine der beliebtesten prozeduralen Programmiersprachen, insbesondere für Personalcomputer. 1968–1971 als pädagogische Programmiersprache entwickelt. Niklaus Wirth an der ETH in Zürich (Schweiz), benannt nach dem französischen Mathematiker und Philosophen Blaise Pascal (1623–1662). Die Aufgabe von N. Wirth bestand darin, eine Sprache zu erstellen, die auf einfacher Syntax und wenigen Grundstrukturen basiert und von einem einfachen Compiler in Maschinencode übersetzt wird.

Pascals Sprachkonzept basiert auf einem systematischen Ansatz, der einen Übergang von einer allgemeinen Aufgabe zu spezifischen (einfacheren und kleineren Aufgaben) beinhaltet. Zu Pascals Grundprinzipien gehören:

* Strukturierte Programmierung. Seine Methodik basiert auf der Verwendung von Routinen und unabhängigen Datenstrukturen, die verwandte Datensätze kombinieren. Mit Unterprogrammen können Sie geordnete Befehlsblöcke im Programmtext ersetzen und so den Programmcode kompakter machen. Der strukturierte Ansatz gewährleistet die Erstellung verständlicherer und leichter lesbarer Programme und vereinfacht deren Test und Debugging.

* Top-Down-Programmierung, wenn eine Aufgabe in einfache, unabhängig gelöste Teilaufgaben unterteilt wird. Anschließend wird auf Basis der gelösten Teilprobleme die Lösung des ursprünglichen Problems vollständig aufgebaut – von oben nach unten.

Die Entwicklung der Pascal-Sprache basierte auf Algol-60, sie verschärfte jedoch eine Reihe von Anforderungen an die Programmstruktur und verfügt über Fähigkeiten, die einen erfolgreichen Einsatz zur Erstellung ermöglichen Hauptprojekte, zum Beispiel Übersetzerprogramme. Pascal wurde für alle Arten von Computern implementiert und wird derzeit in vielen Bildungseinrichtungen für den Programmierunterricht sowie für die Erstellung großer realer Projekte verwendet.

Der Zeitraum von Ende der 60er bis Anfang der 80er Jahre. gekennzeichnet durch ein rasantes Wachstum der Zahl verschiedener Programmiersprachen, das paradoxerweise mit der Softwarekrise einherging. Besonders akut war diese Krise für das US-Militärministerium. Im Januar 1975 beschloss das Pentagon, die Ordnung unter den unzähligen Übersetzern wiederherzustellen und gründete ein Komitee zur Entwicklung einer universellen Sprache. Auf Wettbewerbsbasis überprüfte das Komitee Hunderte von Projekten und stellte fest, dass keine vorhandene Sprache ihre Anforderungen erfüllen konnte, sodass zwei Projekte zur endgültigen Prüfung übrig blieben. Im Mai 1979 wurde der Gewinner bekannt gegeben – eine Gruppe von Wissenschaftlern unter der Leitung von Jean Ikhbia. Die siegreiche Sprache erhielt den Namen ADA, zu Ehren von Ada Lovelace, der Tochter des großen Dichters Byron. In ihrer Jugend war sie von den Ideen von Charles Babbage fasziniert und half ihm, eine Beschreibung der Maschine zu verfassen, und in den frühen 40er Jahren. 19. Jahrhundert entwickelte das weltweit erste Computerprogramm. Die ADA-Sprache ist ein direkter Nachkomme von Pascal. Es ist für die Erstellung und langfristige Wartung großer Softwaresysteme konzipiert und verwaltet Prozesse in Echtzeit. Die Sprache bringt die Modularität ihrer Konstruktionen deutlich zum Ausdruck und gewährleistet die bequeme Organisation verschiedener Verbindungen zwischen Modulen. Sein wesentlicher Vorteil ist die Möglichkeit der parallelen Programmierung von Programmzweigen, die dann auf Multiprozessorrechnern implementiert werden können. Die ADA-Sprache ist schwer zu erlernen.

Zur Umsetzung wurde die Programmiersprache C bei Bell Labs entwickelt Betriebssystem UNIX in den frühen 70ern und wurde nicht als weit verbreitet angesehen. Es war geplant, Assembler abzulösen, um gleichermaßen effiziente und kompakte Programme erstellen zu können und gleichzeitig nicht auf einen bestimmten Prozessortyp angewiesen zu sein. Hinsichtlich der Menge an Kontrollkonstrukten und Datenstrukturen verfügt C über die Fähigkeiten, die Hochsprachen innewohnen, und verfügt gleichzeitig über die Möglichkeit, direkt auf die Funktionseinheiten des Computers zuzugreifen. Die Syntax der C-Sprache ermöglicht Ihnen die Erstellung prägnanter Programmcodes. Eines der wesentlichen Merkmale von C, das es funktionalen Sprachen näher bringt, besteht darin, dass die Unterschiede zwischen Ausdrücken und Operatoren geglättet werden. Beispielsweise können Ausdrücke, die Programmanweisungen sind, zusätzlich Zuweisungsoperationen ausführen. Der Einsatz von Unterprogrammen basiert auf dem Konzept einer Funktion, die auch die Fähigkeiten einer Prozedur vereinen kann. In der Sprache C gibt es kein Prozedurkonzept. Die Syntax der Sprache macht das Programm schwer lesbar. Das Fehlen einer strengen Datentypisierung und die Möglichkeit, mehrere Aktionen in einem Ausdruck zu kombinieren, machen diese Sprache für Programmierer attraktiv und bieten ihnen die Möglichkeit, sie bereitzustellen Zusatzfunktionen, trägt aber nicht zur Zuverlässigkeit bei erstellte Programme. Die Sprache C ist beliebt und weit verbreitet professionelle Programmierer. Es ist derzeit für die meisten Computerplattformen implementiert.

1.4 Sprachen der künstlichen Intelligenz

Das Konzept der „künstlichen Intelligenz“ entstand zu Beginn der Computertechnologie. Trotz seines ehrwürdigen Alters hat dieser Begriff keine genaue Definition und wurde immer in einem intuitiven Sinne verstanden. Üblicherweise wird gesagt, dass der Bereich der künstlichen Intelligenz jene Aufgaben umfasst, die Menschen immer noch besser lösen als Computer. Somit verändert sich das Spektrum der im Rahmen der Künstlichen Intelligenz gelösten Probleme ständig und dynamisch. War es beispielsweise vor einigen Jahren noch das Vorrecht der KI (aus dem Englischen Artificial Intelligence – künstliche Intelligenz), Computern das Schachspielen beizubringen, glauben heute immer mehr Experten, dass Schachspielen kein Problem der künstlichen Intelligenz mehr ist. Heutzutage sind die Hauptprobleme, die im Rahmen der KI gelöst werden, ungefähr die folgenden: Aufbau von Expertensystemen, Lösung von Suchproblemen, bei denen eine vollständige Aufzählung von Optionen theoretisch unmöglich ist (einschließlich Spielprogrammierung), Modellierung biologischer Formen, Mustererkennung. Die Grundprinzipien zur Lösung all dieser Probleme wurden bereits in den frühen siebziger Jahren festgelegt, aber aufgrund der Tatsache, dass KI-Aufgaben sehr ressourcenintensiv sind, haben sie erst in unseren Tagen eine wirkliche Weiterentwicklung erfahren.

Um KI-Probleme zu lösen, wurden bereits Anfang der siebziger Jahre zwei spezifische Programmiersprachen entwickelt – Prolog und Lisp. Ein moderner Entwickler künstlicher Intelligenz muss jedes davon fließend beherrschen. Als nächstes werden wir auf ihre charakteristischsten Merkmale eingehen.

Historisch gesehen war Lisp mehr alte Sprache. Das von ihm eingeführte Konzept heißt funktionale Programmierung und ist eine direkte Erweiterung des herkömmlichen algorithmischen Ansatzes. Ein Lisp-Programm ist eine Funktion, deren Ergebnis das Ergebnis des Programms ist, und die Argumente sind meist andere Funktionsaufrufe. Aus objektiven Gründen hat Lisp beim Aufrufen von Funktionen die Notation ohne Klammern übernommen; der Aufruf einer beliebigen Funktion erfolgt über eine Liste, deren erstes Element der Name der Funktion ist und alle anderen Elemente Argumente darstellen. Beispielsweise kann die Addition zweier Zahlen A und B so aussehen: (add A B), die Addition dreier Zahlen kann so aussehen: (add A (add B C)). Das wichtigste Merkmal von Lisp ist, dass ein Datensatz der Form (add A B) nicht nur eine Liste wie ein Funktionsaufruf, sondern auch eine Liste wie ein Datenelement sein kann, die drei Komponenten enthält – add, A und B. Das Die Entscheidung, ob die Liste als Daten verwendet oder interpretiert werden soll, kann innerhalb von Lisp vom Programm selbst entschieden werden. Dadurch erhält das Programm die Möglichkeit, seinen eigenen Code zu modifizieren, was für KI-Anwendungen äußerst wichtig ist.

Prolog verwendet einen Programmieransatz, der sich grundlegend von der algorithmischen Programmierung unterscheidet und als zielorientierte oder deklarative Programmierung bezeichnet wird. Bei der algorithmischen Programmierung geben wir eine Abfolge von Aktionen an, die das Programm ausführen soll, d. h. Wir beschreiben, wie es funktionieren soll. Bei der deklarativen Programmierung beschreiben wir, was das Programm tun soll, und wie diese Aktionen ausgeführt werden, ist Sache des Prolog-Systems.

Inferenzregeln, gerichtete Graphentheorie und mathematische Logik wurden lange vor dem Aufkommen von Forschungsgebieten wie der künstlichen Intelligenz erfunden. Doch erst die Forschung auf diesem Gebiet ermöglichte es, den formalen Apparat dieser Theorien an die Aufgaben der Wissensrepräsentation anzupassen und hochwirksame Mittel zu ihrer Umsetzung zu finden. Die Entwicklung moderner Produktions-, objektorientierter und prozeduraler Deduktionssysteme wird weitgehend von Anwendungen künstlicher Intelligenz wie Klassifizierungs- und Designproblemen bestimmt, die in mehreren Kapiteln dieses Buches beschrieben werden.

Obwohl die Forschung im Bereich der künstlichen Intelligenz viele verschiedene Darstellungssprachen hervorgebracht hat, weisen sie alle eine Reihe ähnlicher Eigenschaften auf.

Erstens sind alle derartigen Sprachen deklarativ in dem Sinne, dass sie es ermöglichen, Wissen zu beschreiben, das für die Lösung eines bestimmten Problems relevant ist, und nicht eine Methode zu dessen Lösung. Die meisten Expertensysteme verwenden eine Architektur, bei der das Wissen von der Inferenzmaschine getrennt ist. Dadurch können Experimente mit demselben Wissen in unterschiedlichen Verarbeitungsmodi durchgeführt werden. Einige neue Architekturlösungen, beispielsweise die Verwendung von Bulletin Boards, ermöglichen die deklarative Darstellung und Verarbeitung von Kontrollwissen auf die gleiche Weise wie andere Arten von Wissen.

Zweitens sind alle diese Sprachen nach einem modularen Prinzip organisiert. So wie die Sprache selbst Implementierungsdetails vor dem Benutzer verbirgt, verbergen einzelne Wissensmodule ihre Implementierungsdetails voreinander, indem sie über eine globale Datenstruktur (in Produktions- und Bulletin-Board-Systemen) oder über spezifische Protokolle (in objektorientierten Systemen) kommunizieren. ) . Dadurch können Sie den Umfang der Wissensbasis erhöhen und die Methodik zum Testen des entworfenen Systems an Prototypen verwenden.

Drittens basiert der Mechanismus zum Aufrufen von Prozeduren in solchen Sprachen auf einem Mustervergleich in der einen oder anderen Form. Die Aktivierung von Regeln in Produktionssystemen, die Einbindung von Wissensquellen in Bulletin-Board-Systeme und die Auflösung von Phrasen in deduktiven Systemen nutzen eine solche Zuordnung in der einen oder anderen Form. Dabei handelt es sich um einen sehr leistungsfähigen und ziemlich allgemeinen Mechanismus, der die modulare Organisation von Systemkomponenten erleichtert, obwohl hierfür bestimmte Rechenressourcen erforderlich sind.

Wissensrepräsentationssprachen werden normalerweise als durch Mustervergleich gesteuerte Inferenzsysteme implementiert. Ein Programm in einer dieser Sprachen besteht aus vielen relativ unabhängigen Modulen (Regeln, Strukturen oder Phrasen), die Eingabedaten zuordnen und Daten im Speicher bearbeiten. Ein solches System besteht aus drei wesentlichen Komponenten.

* Eine Reihe von Modulen, von denen jedes durch Dateneingabe in die Systemeingabe aktiviert werden kann, wenn diese Daten mit dem für dieses Modul definierten Muster übereinstimmen.

* Eine oder mehrere dynamische Datenstrukturen, die vom aktivierten Modul analysiert und geändert werden können.

* Ein Interpreter, der zyklisch die Auswahl und Aktivierung von Modulen steuert.

Die Forschung auf diesem Gebiet konzentrierte sich in den letzten Jahren auf folgende Aufgaben:

* suchen wirksame Methoden Dolmetscherimplementierungen;

ѕ Erstellung auf Basis „reiner Formalismen“ geeigneter Software für praktische Anwendung;

* Durchführung von Experimenten mit „gemischten“ Formalismen, die verschiedene Paradigmen kombinieren.

Heutzutage bieten Sprachen wie CLIPS dem Benutzer vielfältige Möglichkeiten zur Darstellung und Manipulation von Wissen, die in den Händen von Spezialisten die Erstellung von Programmen zur Lösung verschiedenster praktischer Probleme ermöglichen.

1.5 Objektorientierter Programmieransatz

Anstelle der strukturierten Programmierung Anfang der 1990er Jahre. Die objektorientierte Programmierung ist angekommen – OOP. Es kann als modulare Programmierung einer neuen Ebene betrachtet werden, bei der anstelle einer weitgehend zufälligen, mechanischen Kombination von Prozeduren und Daten deren semantische Verbindung zum Mittelpunkt wird. Ein Objekt wird als logische Einheit betrachtet, die Daten und Regeln (Methoden) zu deren Verarbeitung enthält. Eine objektorientierte Sprache erstellt eine „Softwareumgebung“ in Form vieler unabhängiger Objekte, von denen jedes seine eigenen Eigenschaften und Möglichkeiten zur Interaktion mit anderen Objekten hat. Der Programmierer definiert eine Reihe von Operationen, die die Struktur des Nachrichtenaustauschs zwischen Objekten beschreiben. Es „schaut“ in der Regel nicht in das Innere von Objekten, kann aber bei Bedarf Elemente innerhalb von Objekten verändern oder neue bilden.

OOP basiert auf drei wichtigen Prinzipien (Kapselung, Vererbung, Polymorphismus), die Objekten neue Eigenschaften verleihen.

* Kapselung – Kombination von Daten und Algorithmen zu ihrer Verarbeitung zu einem Ganzen. Die Daten hier sind die Felder des Objekts und die Algorithmen sind die Objektmethoden.

* Vererbung ist die Fähigkeit von Objekten, ihre Nachkommen zu erzeugen. Ein untergeordnetes Objekt erbt automatisch alle Felder und Methoden, kann Objekte durch neue Felder ergänzen, Methoden ersetzen und ergänzen.

* Polymorphismus ist die Eigenschaft verwandter Objekte, Probleme ähnlicher Bedeutung auf unterschiedliche Weise zu lösen.

Die Idee, Softwareobjekte zu verwenden, wurde im Laufe der Jahre von verschiedenen Wissenschaftlern untersucht. Simula-67 gilt als eine der ersten Sprachen dieser Art. Und 1972 erschien die von Alan Kay entwickelte Smoltalk-Sprache, die den Status von OOP bestätigte.

Derzeit werden instrumentelle Umgebungen und visuelle Programmiersysteme für die Erstellung von Programmen in Hochsprachen entwickelt: (Turbo Pascal, Delphi, VisualBasic, C++Builder usw.).

1.6 Komponentenprogrammierung

Die Entwicklung der Grundprinzipien der objektorientierten Programmierung begann mit dem Aufkommen der Komponentenprogrammierung (CP). KP - dynamischer Prozess ohne strenge Regeln, hauptsächlich für die verteilte Entwicklung (Programmierung) verteilter Systeme durchgeführt. Der Kern von CP besteht darin, dass unabhängige Designer und Programmierer unabhängige Komponenten (einzelne Teile) eines einzelnen Systems entwickeln, die über viele Knoten eines großen Netzwerks verteilt sind. Diese Teile können unterschiedlichen Eigentümern gehören und von organisatorisch unabhängigen Administratoren verwaltet werden.

Im CP wird eine Komponente als Speicher (in Form von DLL- oder EXE-Dateien) für eine oder mehrere Klassen betrachtet. Klassen werden in binärer Form verteilt, nicht als Quellcode. Der Zugriff auf Klassenmethoden erfolgt über streng definierte Schnittstellen gemäß dem Protokoll. Dadurch wird das Problem der Compiler-Inkompatibilität beseitigt, sodass Sie Klassenversionen in verschiedenen Anwendungen ohne Neukompilierung ändern können. Schnittstellen definieren den Inhalt des Dienstes und fungieren als Vermittler zwischen dem Client und dem Server.

Microsoft hat Technologien für die verteilte Entwicklung verteilter Systeme entwickelt, wie COM (Component Object Model), COM+, .NET. Es wurden auch andere Technologien entwickelt: CORBA (OMG-Konsortium), JAVA (Unternehmen Sun Microsystem) usw. Die Idee, die Funktionen von Algorithmus-Compilern und Programmierern auf einen Computer zu übertragen, eröffnete neue Möglichkeiten für die Entwicklung des Bereichs der künstlichen Intelligenz , das Methoden zur automatischen Lösung intellektueller Probleme schaffen sollte. Die Formalisierung des Wissens von Fachleuten in verschiedenen Bereichen, ihre Ansammlung in auf einem Computer implementierten Wissensdatenbanken, wurde zur Grundlage für die Schaffung von Expertensystemen. Computer der V-Generation, intelligente Roboter und Expertensysteme arbeiten auf der Grundlage von Wissensbasen. Diese Systeme können nicht nur eine Lösung für ein bestimmtes Problem finden, sondern auch erklären, wie diese erhalten wurde.

Die Unabhängigkeit von Hochsprachen von Computern hat Spezialisten aus verschiedenen Wissensgebieten in den Bereich der Algorithmisierung von Problemen gelockt, die Verwendung zahlreicher Standardprogramme ermöglicht und es Programmierern ermöglicht, Duplikate beim Schreiben von Programmen für verschiedene Arten von Problemen zu vermeiden Computer und steigern die Arbeitsproduktivität erheblich.

Ende der 1980er Jahre. Computerprojekte der V-Generation erschienen in Japan und den USA und wurden Ende der 1990er Jahre umgesetzt. Fortschritte in der Programmierung sind mit Fortschritten in der Architektur von Computersystemen, einer Abkehr vom von Neumann-Konzept und mit Fortschritten auf dem Gebiet der künstlichen Intelligenz verbunden. Revolutionäre Veränderungen in der elementaren Basis von Computern sind mit der Forschung in der Bioelektronik verbunden.

Im gegenwärtigen Stadium umfasst die Programmierung eine Reihe von Fragen im Zusammenhang mit dem Schreiben von Spezifikationen (Problembedingungen), dem Entwerfen, Codieren, Testen und Funktionieren von Computerprogrammen. Moderne Computersoftware ist komplex aufgebaut und umfasst in der Regel ein Betriebssystem, Übersetzer aus verschiedenen Sprachen, textbasierte Steuerungs- und Diagnoseprogramme sowie eine Reihe von Serviceprogrammen. Japanische Wissenschaftler entwickeln beispielsweise die Idee einer „Ringstruktur“ aus sechs Ebenen zum Entwurf von Softwaresystemen:

1. (interne) Programme für Ausrüstung;

2. Betriebssystemkernel;

3. Pairing-Programme;

4. benutzerorientierter Teil des Betriebssystems;

5. Programmiersysteme;

6. (externe) Benutzerprogramme.

Diesen Forschungsprojekten zufolge ist geplant, den Prozess der Softwareerstellung durch Automatisierung der Synthese gemäß den Spezifikationen der ursprünglichen Anforderungen in natürlichen Sprachen zu vereinfachen. IN In letzter Zeit In Japan gelang es ihnen, einen Roboterübersetzer zu entwickeln, der mit menschlicher Stimme Englisch ins Japanische und umgekehrt übersetzt. Alle Industrieländer arbeiten an Softwarepaketen zur Entwicklung von Robotern. Für viele Bereiche menschlichen Handelns.

1.7 Anwendung strukturierter und objektorientierter Programmiermethoden

Der weit verbreitete Einsatz struktureller und objektorientierter Programmiermethoden unter Verwendung grafischer Modelle ging einher mit dem Mangel an Werkzeugen. Daraus ist ein Bedarf an Software- und Technologietools einer besonderen Klasse entstanden – CASE (Computer Aided Software Engineering), die die Technologie zur Erstellung und Wartung von Software für verschiedene Systeme implementieren. Die Voraussetzungen für die Entstehung der CASE-Technologien waren Ende der 1980er Jahre geschaffen. Ursprünglich wurde der Begriff „CASE“ nur für die Automatisierung der Softwareentwicklung verwendet, heute hat Software Engineering jedoch eine umfassendere Bedeutung für die Systementwicklung im Allgemeinen. Zu den CASE-Technologien gehören die Entwicklung und Implementierung von Hochsprachen, Methoden der strukturierten und modularen Programmierung, Designsprachen und Mittel zu deren Unterstützung, formale und informelle Sprachen zur Beschreibung von Systemanforderungen.

Zu Beginn des 20. Jahrhunderts. Mit der Entwicklung der mechanischen Schreibmaschine wurde es möglich, gedruckte Texte für die Öffentlichkeit zu erstellen, obwohl die Durchführung von Änderungen an solchen Texten (Fehlerkorrekturen) eine recht arbeitsintensive Arbeit war. Dann kamen elektrische Schreibmaschinen. Mit dem Aufkommen von Personalcomputern ist die Aufbereitung gedruckter Texte viel fortgeschrittener geworden. In den letzten zwei Jahrzehnten des letzten Jahrhunderts wurden bereits viele Komplexe von Textverarbeitungsprogrammen entwickelt, die zunächst aufgerufen wurden Texteditoren und wie sie sich ausdehnen Funktionalität- Textverarbeitungen.

Zu Beginn dieses Jahrhunderts wurden Textverarbeitungsprogramme immer fortschrittlicher. Neben einfacheren (zum Beispiel Professional Write usw.) sind leistungsstarke wie MS WinWord, Word Perfect Word Star 2000 usw. aufgetaucht. Unter den heimischen hat sich das Textverarbeitungsprogramm Lexicon weit verbreitet.

Seit Anfang der 1980er Jahre. Zur Aufbereitung und Verarbeitung numerischer Informationen wurden erstmals Tabellenprozessoren eingesetzt. 1979 schlug D. Bricklin das erste Tabellenkalkulationsprogramm VisiCalc vor. 1981 wurde das Super Calc-System von Computer Associates entwickelt, 1982 Multiplan von Microsoft, dann ein Paket für IBM PC Lotus -2-3 von Lotus Development, russifizierte Pakete ABAC, DRAGON usw. 1985 der Excel-Tabellenkalkulationsprozessor von Microsoft erschien zunächst für persönlicher Computer Macintosh und dann für IBM PC-kompatible Geräte. Dieser Prozessor wurde parallel zum Windows-Betriebssystem entwickelt, seine Versionen übernahmen alle Funktionen GUI, bis zu Excel-Versionen 5,0 gefällt mir Windows-Anwendungen 3.1, Excel 7.0 als Windows 95-Anwendungen usw. In den letzten Jahren wurden eine ganze Reihe von Systemen zur Erstellung von Tabellenkalkulationsdokumenten erstellt, d ", Bürofachkraft für Windows-Firmen„Microsoft“) – am weitesten verbreitet sind jedoch elektronische Excel-Tabellen.

Es wurde eine große Anzahl standardmäßiger relationaler Datenbankverwaltungssysteme entwickelt – DBMS (z. B. MS Access, Paradox usw.), auf deren Grundlage relationale Datenbanken in verschiedenen Fachgebieten aufgebaut werden.

Für viele Organisationen (insbesondere Managementorganisationen) sind sogenannte Büropakete, bei dem Anwendungen, die auf der Basis eines einzigen Betriebssystems arbeiten, Systeme zum Arbeiten mit verschiedenen Arten von Informationen umfassen. Beispielsweise wurden Anwendungspakete für das Windows-Betriebssystem erstellt (MS Office, Word Perfect Office von Corel, Star Office von Sun Microsystems usw.), die Softwaretools zur Ausführung von Funktionen zur Verarbeitung aller Arten von Informationen enthalten. Beispielsweise enthält MS Office von Jahr zu Jahr Verbesserungen (je nachdem). letzte Version Windows-Betriebssystem) Textverarbeitungstools (MS Word), Grafiken (PhotoDraw) und Präsentationen (PowerPoint), Tabellen (Excel), Datenbanken (Access), Email(Outlook), Arbeiten im World Wide Web (FrontPage), Erstellen von Soundclips (MS Sound Recorder).

2. PRAKTISCHER TEIL

2.1 Software-Begründung

Delphi ist eine Entwicklungsumgebung für Programme, die für die Arbeit auf Betriebssystemen konzipiert sind Windows-Familie. Programme in Delphi werden auf Basis moderner visueller Designtechnologien erstellt, die wiederum auf den Ideen der objektorientierten Programmierung basieren. Programme in Delphi sind in der ObjectPascal-Sprache geschrieben, die ein Nachfolger der TurboPascal-Sprache ist. Wie der Name schon sagt, verkörperte diese Sprache auch das Konzept der objektorientierten Programmierung.

Mit Delphi können Sie verschiedene Arten von Programmen erstellen – Konsolenanwendungen, Fensteranwendungen und Anwendungen für die Arbeit mit Datenbanken und dem Internet. Konsolenanwendungen verwenden die Prozeduren Read, Readln, Write, Writeln zur Ein- und Ausgabe von Daten. Um eine Konsolenanwendung auszuführen, wird der MS-DOS-Betriebssystemmodus emuliert.

Fensteranwendungen sind die Hauptanwendungstypen, die in Betriebssystemen der Windows-Familie verwendet werden. Fensteranwendungen sind die überwiegende Mehrheit der Anwendungsprogramme, die für die Ausführung unter Windows konzipiert sind, beispielsweise Programme wie Explorer, Textverarbeitung, Excel-Tabellen usw. Grafikeditor und viele andere. Delphi verwendet zum Erstellen Fensteranwendungen spezielle Komponenten. Mit ihrer Hilfe werden Textinformationen eingegeben und angezeigt, eine grafische Benutzeroberfläche erstellt usw.

Microsoft Office Access oder einfach Microsoft Access ist ein relationales Datenbankverwaltungssystem (DBMS) der Microsoft Corporation. Verfügt über eine breite Palette von Funktionen, einschließlich verknüpfter Abfragen und Kommunikation mit externen Tabellen und Datenbanken. Dank der integrierten VBA-Sprache können Sie Anwendungen schreiben, die mit Datenbanken in Access selbst arbeiten.

Hauptkomponenten von MS Access:

· Tabellenersteller;

· Bildschirmformular-Builder;

· SQL-Abfrage-Builder (die SQL-Sprache in MS Access entspricht nicht dem ANSI-Standard);

· Ersteller gedruckter Berichte.

Sie können Skripte in VBA aufrufen, sodass Sie mit MS Access Anwendungen und Datenbanken praktisch von Grund auf entwickeln oder einen Wrapper für eine externe Datenbank schreiben können.

Microsoft Jet Database Engine (Englisch), das als MS Access-Datenbank-Engine verwendet wird, ist ein Dateiserver-DBMS und daher nur für Anwendungen anwendbar, die mit kleinen Datenmengen und einer kleinen Anzahl von Benutzern arbeiten, die gleichzeitig mit diesen Daten arbeiten. Dem Zugriff selbst fehlen eine Reihe von Mechanismen, die in Mehrbenutzerdatenbanken erforderlich sind, beispielsweise Trigger.

Beim Arbeiten mit einer Datenbank interagiert Access anders mit der Festplatte (oder Diskette) als andere Programme.

In anderen Programmen wird die Dokumentdatei beim Öffnen vollständig geladen RAM, und die neue Ausgabe dieser Datei (geänderte Datei) wird erst dann vollständig auf die Festplatte geschrieben, wenn Sie auf die Schaltfläche „Speichern“ klicken.

In Access wird eine neue Revision des Inhalts einer geänderten Tabellenzelle auf die Festplatte geschrieben (gespeichert), sobald der Tastaturcursor in einer anderen Zelle platziert wird (oder eine neue Revision des geänderten Eintrags wird auf die Festplatte geschrieben, sobald die Tastatur gedrückt wird). Cursor wird in einem anderen Eintrag (Zeile) platziert). Wenn also der Strom plötzlich ausgeschaltet wird, gehen nur die Änderungen am Datensatz verloren, für deren Hinterlassen Sie keine Zeit hatten.

Die Datenintegrität in Access wird auch durch den Transaktionsmechanismus sichergestellt.

Es gibt auch eine Schaltfläche „Speichern“ in Access, aber in Access im Datenanzeigemodus ist es zunächst erforderlich, den geänderten Anzeigemodus einer Tabelle oder eines anderen Objekts zu speichern, also Änderungen zu speichern wie:

· Spaltenbreiten und Zeilenhöhen ändern,

· Spalten im Datenanzeigemodus neu anordnen, Spalten „fixieren“ und eingefrorene Spalten freigeben,

· Sortierung ändern,

· Anwenden eines neuen Filters,

· Ändern der Schriftart; Text-, Raster- und Hintergrundfarben,

Darüber hinaus wird diese Schaltfläche in Access im Designmodus benötigt, um in diesem Modus vorgenommene Änderungen an der Struktur eines Datenbankobjekts zu speichern.

Selbst wenn bei der Arbeit mit der Datenbankdatei nicht der Modus „Design“ verwendet wurde und keine neuen Daten zur Datenbank hinzugefügt wurden (d. h. wenn die Datenbank nur angezeigt wurde), neigt die Datenbankdatei im Laufe der Zeit immer noch dazu, sich zu verändern Wenn man damit arbeitet, nimmt die Größe immer mehr zu. Die Verwendung neuer Sortierungen und Filter trägt wesentlich dazu bei, die Dateigröße zu erhöhen (insbesondere wenn mehrere verschiedene, sehr unterschiedliche Sortierungen/Filter angewendet wurden).

Bei dieser Vergrößerung der Dateigröße handelt es sich tatsächlich um Leere, aber diese Leere liegt innerhalb der Datei und erhöht deren Volumen.

Um die Datenbankdatei auf ihr normales (minimales) Volumen zurückzusetzen (d. h. um Leerstellen aus der Datei zu entfernen), verfügt Access über eine Schaltfläche „Datenbank komprimieren und wiederherstellen“ – diese Schaltfläche muss von Zeit zu Zeit gedrückt werden (wenn diese Schaltfläche vorhanden ist). gedrückt, keine Information, keine Daten werden nicht aus der Datenbankdatei gelöscht). Sie können die Datenbank auch mit dem Parameter „compact“ starten, der die Komprimierung automatisch durchführt und die Datenbank am Ende des Vorgangs schließt.

Programm zur Entwicklung der Sprachprogrammierung

2.2 Erstellen einer Datenbank

In der Datenbank wurden vier Tabellen erstellt: Adresse, Persönliche Daten, Position, Telefone.

In der Tabelle „Adresse“ werden Informationen über den Wohnort der Mitarbeiter gespeichert. Darin wurden folgende Felder angelegt: Employee, Country, City, Home_Address.

Abbildung 1 zeigt die Adresstabelle im Entwurfsmodus.

Abbildung 1. - Tabelle „Adresse“.

In der Tabelle „Position“ werden Informationen über die Position gespeichert, die der Mitarbeiter innehat. Darin wurden folgende Felder angelegt: Mitarbeiter, Abteilung, Position.

Abbildung 2. - Tabelle „Position“

In der Tabelle „Persönliche Daten“ werden Informationen über Mitarbeiter gespeichert. Darin wurden folgende Felder angelegt: Schlüssel, Nachname, Vorname, Patronym, Geschlecht, Familienstand, Kinder, Geburtsdatum, Aufnahmedatum, Erfahrung, Ausbildung, Wehrdienst (Ehemann).

Abbildung 3. - Tabelle „Personenbezogene Daten“

In der Tabelle „Telefone“ werden Informationen über die Kommunikationsmittel mit einem Mitarbeiter gespeichert. Darin wurden folgende Felder angelegt: Mitarbeiter, Telefon, Notiz.

Abbildung 4. - Tabelle „Telefone“

2.3 Starten der Anwendung

Wenn Sie das Programm starten, werden Sie von einem Begrüßungsbildschirm begrüßt.

Dieses Formular enthält Timer-, Label- und Bildkomponenten

Abbildung 5. - Bildschirmschoner-Formular

· Die Timer-Komponente verfügt nur über vier Eigenschaften und ein Ereignis, und die Arbeit mit der Delphi-Timer-Komponente ist sehr einfach.

...

Ähnliche Dokumente

    Grundlegende Informationen zu Programmiersprachen und deren Zusammensetzung. Computer Programm. Compiler-Nutzung und Operatoren. Programmiersprachen auf hohem Niveau. Objektorientierte Programmierkonzepte. Sprachen der künstlichen Intelligenz.

    Präsentation, hinzugefügt am 14.08.2013

    Maschinencodes und Assembler. Die ersten höheren Programmiersprachen. Programmiersprache FORTRAN. Vor- und Nachteile von ALGOL. Wissenschaftliche und buchhalterische Programme. Die Grundprinzipien, die bei der Erstellung der Basic-Programmiersprache befolgt wurden.

    Kursarbeit, hinzugefügt am 21.06.2014

    Verwendung objektorientierter Programmierung - gute Entscheidung bei der Entwicklung großer Softwareprojekte. Objekt und Klasse als Grundlage einer objektorientierten Sprache. Das Konzept objektorientierter Sprachen. Sprachen und Softwareumgebungen.

    Test, hinzugefügt am 17.01.2011

    Geschichte der Entwicklung von Programmiersprachen; Erstellung und Vertrieb der C++-Sprache; ein neuer Ansatz zur objektorientierten Softwareentwicklung. Anwendung der Modellierung von Fachgebieten zur Strukturierung ihrer Informationsreflexionen.

    Zusammenfassung, hinzugefügt am 06.12.2010

    Beschreibung moderner Programmiersprachen (Pascal, Assembly, C++, BASIC, Logo, Fort, Prolog, Refal und Lex). Konzept, Zweck und Bestandteile von Programmiersystemen (maschinenorientierte und maschinenunabhängige Programmiersysteme).

    Kursarbeit, hinzugefügt am 18.08.2010

    Semantik von Programmiersprachen. Prozedurale und objektorientierte Programmiersprachen. Standardvorlagenbibliothek. Bytecode-Unabhängigkeit vom Betriebssystem und der Hardware sowie die Möglichkeit, eine Java-Anwendung auf jedem Gerät auszuführen.

    Zusammenfassung, hinzugefügt am 24.11.2009

    Merkmale und Eigenschaften von Programmiersprachen. Untersuchung der Entwicklung objektorientierter Programmiersprachen. Erstellung einer Evolutionskarte der OOP-Mechanismen. Entwicklung eines konzeptionellen Modells der Funktionsweise der Benutzeroberfläche.

    Kursarbeit, hinzugefügt am 17.11.2014

    Das Konzept der objektorientierten Programmierung, Merkmale der verwendeten Sprachen. Praktische Entwicklung objektorientierter Programmierwerkzeuge für Informationssicherheitsprobleme: Softwareimplementierung in C++ sowie Turbo Pascal.

    Kursarbeit, hinzugefügt am 22.12.2011

    Entstehungsgeschichte der Web-Programmiersprachen. Historische Fakten über das Erscheinen des allerersten von ihnen. Die Essenz moderner, aktuell relevanter, HTML-Sprache, Entstehungsgeschichte der PHP-Sprache, Anwendung Java-Sprache Skript und seine Verwendung.

    Zusammenfassung, hinzugefügt am 23.02.2013

    Entwicklung und Klassifizierung von Programmiersprachen. Richtlinien zum Erlernen von Programmiersprachen. Grundkonzepte der objektorientierten Programmierung. Erstellung eines elektronischen Lehrbuchs unter Verwendung der Hypertext-Markup-Sprache.

Ministerium für Bildung und Wissenschaft der Ukraine

WIRTSCHAFTSINSTITUT DER KRIM

Staatliche höhere Bildungseinrichtung „KYIV NATIONAL ECONOMIC UNIVERSITY, benannt nach. V. Getman"

ABTEILUNG FÜR INFORMATIONSSYSTEME UND TECHNOLOGIEN

PRAXISBERICHT

in der Disziplin: „Wirtschaftsinformatik“

Im ersten Abschnitt beschäftige ich mich mit dem Thema „Geschichte der Programmiersprachen“. Mit der Entwicklung der Computertechnologie entstanden verschiedene Programmiertechniken. In jeder Phase wurde ein neuer Ansatz entwickelt, der Programmierern bei der zunehmenden Komplexität von Programmen hilft. Die ersten Programme bestanden darin, Schlüsselschalter auf der Vorderseite des Computergeräts zu installieren. Offensichtlich konnten auf diese Weise nur kleine Programme geschrieben werden.

Mit Entwicklung Computerausrüstung Es erschien eine Maschinensprache, mit deren Hilfe der Programmierer Befehle festlegen konnte, indem er mit Speicherzellen arbeitete und dabei die Fähigkeiten der Maschine voll ausnutzte. Allerdings ist die Verwendung der meisten Computer auf der Ebene der Maschinensprache schwierig, insbesondere wenn es um die Ein-/Ausgabe geht. Daher mussten wir auf die Verwendung verzichten. Gegenwärtig sind viele Sprachen erschienen, die aufgrund ihrer Struktur und Fähigkeiten die Ausführung einer Vielzahl von Funktionen ermöglichen.

Im zweiten Abschnitt beschäftige ich mich mit der Erstellung und Verwendung von Formeln in Excel. Formeln in Excel helfen Ihnen, wirtschaftliche Probleme ohne großen Aufwand und ohne umfangreiche Kenntnisse in Mathematik und Wirtschaftswissenschaften zu lösen. Formeln werden verwendet, um Berechnungen mit Werten durchzuführen, die in anderen Zellen enthalten sind. Mit Excel-Formeln können einfache Arithmetik, komplexe Berechnungen und logische Tests durchgeführt werden. Darüber hinaus ermöglichen sie Ihnen die Umrechnung von Zahlen oder die Erstellung alternativer Szenarien mit sofortiger Berechnung der Ergebnisse, ohne dass eine zusätzliche Dateneingabe erforderlich ist.

Im dritten Abschnitt beschreibe ich die Erstellung meiner Website zum Thema: „Ferienhaus-Website“. Derzeit ist dies sehr relevant und steht in direktem Zusammenhang mit meinem zukünftigen Beruf.


Die physikalischen Funktionsprinzipien elektronischer Computergeräte sind so, dass der Computer Befehle akzeptieren kann, die nur aus Einsen und Nullen bestehen, also Maschinencode. In der Anfangsphase der Computerentwicklung musste eine Person Programme in einer für den Computer verständlichen Sprache in Form von Maschinencodes verfassen. Jeder Befehl bestand aus einem Opcode und Operandenadressen, ausgedrückt als verschiedene Kombinationen von Einsen und Nullen.

Wie die weitere Praxis der Kommunikation mit einem Computer zeigte, ist eine solche Sprache umständlich und unbequem. Bei der Verwendung kann man leicht einen Fehler machen, indem man 1 oder 0 in der falschen Reihenfolge schreibt. Das Programm ist sehr schwer zu steuern. Darüber hinaus müssen Sie beim Programmieren in Maschinencodes über gute Kenntnisse der internen Struktur des Computers und der Funktionsweise jedes Blocks verfügen. Und das Schlimmste an einer solchen Sprache ist, dass die Programmierung in Maschinencodes viel Zeit, Arbeit und erhöhte Aufmerksamkeit des Programmierers erfordert.

Daraus ergab sich die Notwendigkeit, ein Werkzeug zu finden, das den Aufbau einer Kommunikation zwischen einer Person und einem Computer erleichtert. Und ein solches Mittel wurde gefunden: verschiedene symbolische Sprachen und ihre entsprechenden Übersetzer (Programmiersysteme).

Eigenschaften von Programmiersprachen

Eine Programmiersprache ist eine spezielle Sprache, in der Befehle zur Steuerung eines Computers geschrieben werden. Programmiersprachen sollen Menschen das Lesen und Schreiben für Computer erleichtern, müssen dann aber (von einem Übersetzer oder Dolmetscher) in Maschinencode übersetzt werden, der allein vom Computer ausgeführt werden kann. Programmiersprachen können in Hochsprachen und Niedrigsprachen unterteilt werden.

Eine Low-Level-Sprache ist eine Programmiersprache, die für einen bestimmten Computertyp entwickelt wurde und dessen internen Maschinencode widerspiegelt. Low-Level-Sprachen werden oft als maschinenorientierte Sprachen bezeichnet. Sie lassen sich nur schwer für die Verwendung auf Computern mit unterschiedlichen CPUs umwandeln und sind auch recht schwer zu erlernen, da hierfür ein gutes Verständnis der internen Abläufe des Computers erforderlich ist.

Eine Hochsprache ist eine Programmiersprache, die darauf ausgelegt ist, die Anforderungen des Programmierers zu erfüllen; es hängt nicht von den internen Maschinencodes irgendeines Computertyps ab. Hochsprachen dienen der Lösung von Problemen und werden daher oft als problemorientierte Sprachen bezeichnet. Jeder Hochsprachenbefehl entspricht mehreren Befehlen im Maschinencode, sodass in Hochsprachen geschriebene Programme kompakter sind als ähnliche Programme im Maschinencode.

Eine kurze Geschichte der Programmiersprachen. Chronologie

Unter einem bestimmten Gesichtspunkt kann die gesamte Geschichte der Computerindustrie und der Informatik als Geschichte der Entwicklung von Programmiersprachen dargestellt werden. Die Zeiten ändern sich, Aufgaben werden immer komplizierter, was früher Mannjahre erforderte, wird jetzt von Enthusiasten auf den Knien in wenigen Wochen erledigt; Es hat sich eine riesige Masse angesammelt Standardlösungen, typische Bibliotheken und typische Programmierer. Und die Erstellung, Entwicklung und Änderung von Programmiersprachen ist in vollem Gange.

Gegenstand des Forschungsthemas sind Programmiersprachen, die zu unterschiedlichen Zeiten und unter unterschiedlichen Bedingungen als Alternative zu den üblichen und allgemein akzeptierten Sprachen angeboten wurden und werden; ihr Schicksal, ihre Eigenschaften und Chancen.

Jetzt werde ich es dir anbieten eine kurze Geschichte Programmiersprachen:

1801 – Joseph Maria Jacquard stickt „Hallo Welt“ mithilfe von Lochkarten auf Stoff. Die damaligen Chabrowier waren mit dem Fehlen von Schwanzrekursion, Multithreading und Großbuchstaben unzufrieden.

1842 – Ada Lovelace schreibt das erste Programm. Sein Erfolg wird durch ein kleines Problem beeinträchtigt: Für die Ausführung dieses Programms wurden noch keine Computer erfunden. Eineinhalb Jahrhunderte später übernahmen Architekten von Unternehmensanwendungen die Technik von Ada, nicht ausführbare Programme zu schreiben, und nannten diese Methode UML.

1936 – Alan Turing erfindet alle Sprachen, die theoretisch existieren könnten, lässt sie jedoch nicht patentieren.

1936 – Alonzo Church erfindet ebenfalls jede mögliche Sprache, nur besser. Sein Lambda-Kalkül ist unpopulär, weil er sich von C unterscheidet. Kritiker stört es nicht, dass C noch nicht erfunden wurde.

1940er Jahre – Verschiedene „Computer“ werden durch Löten von Drähten und Kurzschließen von Kontakten „programmiert“.

1957 – John Backus und IBM erfinden Fortran. Es gibt keinen Witz über IBM und Fortran. Der Fortran-Compiler gibt einen Fehler aus, wenn der Programmierer keine Krawatte trägt.

1958 – John McCarthy und Paul Graham erfinden LISP. Die Popularität von LISP wird durch die Erschöpfung des weltweiten Angebots an Klammern beeinträchtigt; glücklicherweise ist das Angebot an geschweiften und spitzen Klammern praktisch unerschöpflich. Allerdings ist LISP (heutzutage bekannt als Lisp, manchmal auch Arc) der allgemein akzeptierte Standard im Bereich „grundlegende Konzepte der Informationstechnologie wie Rekursion und Vergebung“.

1964 – John Kemney und Thomas Kurtz schreiben BASIC, eine unstrukturierte Sprache für Leute ohne Programmierkenntnisse.

1970 – Guy Steele und Gerald Susman gründen den Circuit. Als Ergebnis ihrer Bemühungen erscheint „Almighty Lambda“ und dann „Almighty Lambda, the Universal Slow Cooker“.

1970 – Niklas Wirth kreiert die prozedurale Sprache Pascal. Viele Menschen sind mit der anderen Syntax des Zuweisungsoperators als in C unzufrieden. Kritiker stört es nicht, dass die Sprache C noch nicht erfunden ist.

1972 – Dennis Ritchie erfindet eine Pistole, die gleichzeitig in beide Richtungen feuert. Da er mit der Zahl der durch dieses Gerät verursachten Todesfälle und Verletzungen nicht zufrieden ist, entwickelt er die Sprachen C und Unix.

1972 – Alain Colmero erfindet die logische Sprache Prologue. Die größte Aufgabe eines Wissenschaftlers besteht darin, einen Computer mit der Intelligenz eines zweijährigen Kindes auszustatten. Er leistet hervorragende Arbeit beim Schreiben eines Programms, das mit „Nein!“ antwortet. für jede Anfrage.

1973 – Robin Milner schreibt ML, eine Sprache, die auf der M&M-Typentheorie basiert. ML generiert SML, das die Semantik formal beschreibt. Zur ML-Sprachfamilie gehören OCaml, F# und Visual Basic.

1980 – Alan Kay schreibt Smalltalk und prägt den Begriff „objektorientiert“. Als er um eine Erklärung gebeten wird, antwortet er: „Programme in OOP sind nur Objekte.“ Auf die Frage, woraus Objekte bestehen, antwortet er mit „aus Objekten“ und erklärt: „Alles besteht aus Objekten, auch Objekte.“ Und es steht auf vier Elefanten.

1983 – Björn Stroustrup nimmt die Sprache C, formt daraus alles, was ihm in den Sinn kommt, und nennt es C++. Damit Programme in angemessener Zeit kompiliert werden können, müssen sie von der künstlichen Intelligenz von Skynet in die Zukunft gesendet werden. Warum Skynet dies braucht, ist unklar.

1986 – Brad Cox und Tom Love erfinden Objective-C. Sie sagen, es „kombiniert die Sicherheit von C mit der unglaublichen Geschwindigkeit von Smalltalk.“

1987 – Larry Wall schläft auf seiner Tastatur ein. Als er aufwacht, verwechselt er die Zeile auf dem Monitor mit einer Sendung in der Sprache, die Gott von seinem Propheten Larry schreiben wollte. So erscheint Pearl.

1990 – Ein Auftrag von Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher und der Humane Society entwirft Haskell, eine rein funktionale Sprache mit verzögerter Bewertung.

1991 – Der niederländische Programmierer Guido van Rossum geht nach Argentinien. Nach einer mysteriösen Operation kehrt er mit einer Narbe am Schädel zurück, schreibt Python, Scharen von Fans proklamieren ihn zum Diktator auf Lebenszeit und er erklärt, dass „es nur einen Weg gibt“.

1995 – Brendan Eick sammelt Fehler aus allen bekannten Sprachen, fügt mehrere neue hinzu und kombiniert alles in Livescript. Nach einiger Zeit wurde die Sprache in Javascript umbenannt, um von der Popularität der Java-Sprache zu profitieren. Nach einiger Zeit wurde die Sprache in ECMAscript umbenannt.

1996 – James Gosling erfindet Java. Java ist eine ziemlich ausführliche, statisch typisierte, klassenbasierte objektorientierte Sprache mit Garbage Collection, Single Call Dispatch, Single-Implementation-Vererbung und Multiple-Interface-Vererbung. Sun verkündet Java lautstark als die innovativste Sprache.

2001 – Anders Hejlsberg bringt den C1 auf den Markt. C1 ist eine ziemlich ausführliche, statisch typisierte, klassenbasierte, objektorientierte Sprache mit Garbage Collection, Single-Call-Dispatch, Single-Implementation-Vererbung und Multiple-Interface-Vererbung. Microsoft bezeichnet C1 lautstark als die innovativste Sprache aller Zeiten.

Sprache Hauptverwendung Beschreibung
Ada Zur Verteidigung Hohes Level
Monteur Jobs, die eine detaillierte Kontrolle der Hardware, schnelle Ausführung und kleine Programme erfordern Schnell und effektiv, erfordert aber etwas Aufwand und Geschick
BASIC In der Bildung, im Geschäft, zu Hause Leicht zu lernen
MIT Systemprogrammierung, universelle Programmierung Schnell und effizient, weit verbreitet als universelle Sprache
C++ In der objektorientierten Programmierung Basierend auf der C-Sprache
COBOL Programmieren in der Wirtschaft Streng auf kommerzielle Aufgaben ausgerichtet, leicht zu erlernen, aber viele Bediener
Fort Bewerbungsmanagement Verwendet die umgekehrte polnische Notation
Fortran Wissenschaftliche Arbeiten und Berechnungen Basierend auf mathematischen Formeln
Lispeln Künstliche Intelligenz Eine Symbolsprache mit dem Ruf, schwer zu erlernen zu sein
Modula-2 Systemprogrammierung und Echtzeitprogrammierung, universelle Programmierung Hochstrukturiert, entworfen, um Pascal für „reale“ Anwendungen zu ersetzen
Oberon Universelle Programmierung Eine kleine, kompakte Sprache, die viele Funktionen von Pascal und Modula-2 kombiniert
Pascal universelle Sprache Sehr strukturiert
Prolog Künstliche Intelligenz Symbolisch-logisches Programmiersystem, das ursprünglich zur Lösung von Theoremen gedacht war, heute jedoch häufiger zur Lösung von Problemen im Zusammenhang mit künstlicher Intelligenz eingesetzt wird

Excel ist heute das beliebteste Tabellenkalkulationsprogramm. Mit seiner Hilfe führen sie verschiedene Listen, Kataloge, Tabellen, erstellen finanzielle und statistische Berichte, stellen Daten aus Meinungsumfragen bereit, verarbeiten die Ergebnisse wissenschaftlicher Experimente, führen Aufzeichnungen usw.

Die Verwendung von Formeln in Excel ist eine der Hauptfunktionen der Arbeit. Die Formel kann bis zu 1024 Zeichen enthalten. Eine Formel kann folgende Elemente enthalten: Funktionen, Verknüpfungen, Operatoren, Konstanten. Sie können Zellbezüge in Formeln verwenden. In einer Zelle auf dem Bildschirm kann je nach Wert des Formelschalters entweder eine Formel oder das Ergebnis einer Berechnung mit dieser Formel angezeigt werden.

2.1 Erstellen und Verwenden von Formeln in Excel

Formeln sind Ausdrücke, die mit einem Gleichheitszeichen beginnen und aus numerischen Werten, Zelladressen, Funktionen und Namen bestehen, die durch arithmetische Operationszeichen verbunden sind. Zu den Vorzeichen arithmetischer Operationen, die in Excel verwendet werden, gehören: Addition; Subtraktion; Multiplikation; Aufteilung; Potenzierung.

Einige Operationen in der Formel haben eine höhere Priorität und werden in der folgenden Reihenfolge ausgeführt:

Potenzierung und Ausdrücke in Klammern;

Multiplikation und Division;

Addition und Subtraktion.

Das Ergebnis der Formel ist der Wert, der in der Zelle angezeigt wird, und die Formel selbst wird in der Bearbeitungsleiste angezeigt. Wenn sich die Werte in Zellen ändern, auf die in Formeln verwiesen wird, ändert sich automatisch das Ergebnis.

Die Formel ist das wichtigste Werkzeug zur Datenanalyse. Mit Formeln können Werte addiert, multipliziert, verglichen und kombiniert werden. Formeln folgen einer bestimmten Syntax, die das Gleichheitszeichen (=), berechnete Elemente (Operanden) und Operatoren umfasst. Operanden können Konstanten, Referenzen oder Referenzbereiche, Header, Namen oder Funktionen sein. Zellkoordinaten können eingegeben werden, indem Sie mit dem Cursor auf die gewünschte Zelle zeigen.

So erstellen Sie eine Formel mit der Maus:

Platzieren Sie den Cursor in der Zelle, in die wir die Formel eingeben möchten.

Geben Sie das =-Zeichen ein.

Platzieren Sie den Cursor in der Zelle, deren Koordinaten am Anfang der Formel stehen sollen, und klicken Sie darauf.

Geben Sie einen Aktionsoperator (+ oder -) oder ein anderes Symbol ein.

Bewegen Sie den Cursor auf die Zelle, deren Koordinaten Sie verwenden möchten, und klicken Sie.

Formeln werden verwendet, um Werte basierend auf einer Kombination anderer Werte (Zahlen, Zellkoordinaten, Rechenzeichen(+, -, *,/) sowie andere Formeln; Namen anderer Bereiche des Arbeitsblatts; Koordinaten von Zellen aus anderen Tabellen.

So geben Sie eine Formel ein.

Wenn Sie Text oder eine Zahl in eine Zelle eingeben, geht Excel davon aus, dass es sich um einen Wert handelt. Excel zeigt Werte genau so an, wie sie eingegeben wurden (Konvertierungen sind nur möglich, wenn eine Formatierung für die Zelle verwendet wird). Wenn das erste Zeichen, das Sie eingeben, jedoch ein Gleichheitszeichen ist, weiß Excel, dass Sie eine Formel eingeben.

Nach der Eingabe wird die Formel hier gespeichert, das mit ihrer Hilfe erzielte Ergebnis wird jedoch in der Zelle anstelle der Formel selbst angezeigt. Wenn Sie eine Zelle mit einer Formel auswählen, wird die Formel in der Formelleiste angezeigt, wo Sie sie bearbeiten können.

Die Zelle mit der Formel zeigt das Ergebnis an

Wenn Sie eine Zelle in Ihrem Arbeitsblatt haben, deren Wert mit einem #-Zeichen beginnt, beachten Sie, dass Excel Ihnen mitteilt, dass mit der Formel in dieser Zelle kein Ergebnis berechnet (oder angezeigt) werden kann. In ähnlicher Weise werden auch sogenannte Fehlercodes angezeigt. Um sicherzustellen, dass die Zelle das richtige Ergebnis anstelle des Fehlercodes anzeigt, müssen Sie das Problem beheben, indem Sie entweder die Formel bearbeiten oder den Inhalt der Zellen ändern, auf die in der Formel verwiesen wird.

Operatoren bezeichnen Operationen, die an den Operanden einer Formel ausgeführt werden müssen. IN Microsoft Excel Es sind vier Arten von Operatoren enthalten: Arithmetik-, Text-, Vergleichsoperatoren und Adressoperatoren.

Arithmetische Operatoren werden verwendet, um grundlegende mathematische Berechnungen für Zahlen durchzuführen. Das Ergebnis einer arithmetischen Operation ist immer eine Zahl. Angezeigt durch folgende Symbole:

Zusatz

– Subtraktion oder unäres Minus

* Multiplikation

/ Aufteilung

% Prozent

^ Potenzierung

Vergleichsoperatoren werden verwendet, um Operationen anzugeben, die zwei Zahlen vergleichen. Das Ergebnis einer Vergleichsoperation ist der logische Wert TRUE oder FALSE. Angezeigt durch folgende Symbole:

> mehr

< меньше

>= größer oder gleich

<= меньше или равно

<>nicht gleich

Der Textoperator & wird verwendet, um die Operation zum Kombinieren von Zeichenfolgen zu einer einzigen Sequenz zu bezeichnen. Das Ergebnis der Ausführung des Ausdrucks „Nord“ und „Wind“ wäre beispielsweise: „Nordwind“.

Adressoperatoren kombinieren Zellbereiche, um Berechnungen durchzuführen. Durch Symbole gekennzeichnet:

: - Bereichsoperator, der sich auf alle Zellen zwischen den Grenzen des Bereichs bezieht, einschließlich;

Der Vereinigungsoperator, der sich auf die Vereinigung von Bereichszellen bezieht;

space ist ein Schnittpunktoperator, der sich auf gemeinsame Bereichszellen bezieht.

Die Reihenfolge der Aktionen in Formeln

Besteht die Formel aus mehreren Operatoren, werden die Aktionen in der folgenden Reihenfolge ausgeführt:

: (Doppelpunkt), (Komma) (Leerzeichen)

Referenzoperatoren

–unäres Minus (zum Beispiel –1)

^Potenzierung

* und /Multiplikation und Division

Und – Addition und Subtraktion

&text-Operator

= < > <= >= <>Vergleichsoperatoren

Um die Reihenfolge zu ändern, in der Anweisungen verarbeitet werden, verwenden Sie Klammern.

Programmiersprache Assembler BASIC

Funktionen in Excel werden verwendet, um Standardberechnungen in Arbeitsmappen durchzuführen. Die Werte, die zur Auswertung von Funktionen verwendet werden, werden Argumente genannt. Die von Funktionen als Antwort zurückgegebenen Werte werden als Ergebnisse bezeichnet. Zusätzlich zu den integrierten Funktionen können Sie benutzerdefinierte Funktionen in Berechnungen verwenden, die mit Excel-Tools erstellt werden.

Um eine Funktion zu verwenden, müssen Sie sie als Teil einer Formel in eine Arbeitsblattzelle eingeben. Die Reihenfolge, in der die in der Formel verwendeten Symbole erscheinen müssen, wird als Funktionssyntax bezeichnet. Alle Funktionen verwenden die gleichen grundlegenden Syntaxregeln. Wenn Sie gegen die Syntaxregeln verstoßen, zeigt Excel eine Meldung an, dass ein Fehler in der Formel vorliegt.

Steht eine Funktion ganz am Anfang einer Formel, muss ihr wie bei jeder anderen Formel ein Gleichheitszeichen vorangestellt werden.

Funktionsargumente werden direkt nach dem Funktionsnamen in Klammern geschrieben und durch das Semikolon „;“ voneinander getrennt. Mithilfe von Klammern kann Excel bestimmen, wo die Argumentliste beginnt und endet. Argumente müssen in Klammern stehen. Denken Sie daran, dass beim Schreiben einer Funktion öffnende und schließende Klammern vorhanden sein müssen und Sie keine Leerzeichen zwischen dem Funktionsnamen und den Klammern einfügen sollten.

Argumente können Zahlen, Text, boolesche Werte, Arrays, Fehlerwerte oder Referenzen sein. Argumente können entweder Konstanten oder Formeln sein. Diese Formeln können wiederum andere Funktionen enthalten. Funktionen, die ein Argument für eine andere Funktion sind, werden als verschachtelt bezeichnet. Excel-Formeln können bis zu sieben Ebenen verschachtelter Funktionen verwenden.

Die angegebenen Eingabeparameter müssen gültige Werte für das angegebene Argument haben. Einige Funktionen verfügen möglicherweise über optionale Argumente, die bei der Berechnung des Funktionswerts möglicherweise nicht vorhanden sind.

Zur Vereinfachung der Verwendung sind die Funktionen in Excel in Kategorien unterteilt: Datenbank- und Listenverwaltungsfunktionen, Datums- und Uhrzeitfunktionen, DDE-/externe Funktionen, technische Funktionen, Finanz-, Informations-, Logik-, Ansichts- und Verknüpfungsfunktionen. Darüber hinaus sind folgende Funktionskategorien vorhanden: Statistik, Text und Mathematik.

Mithilfe von Textfunktionen ist es möglich, Text zu verarbeiten: Zeichen extrahieren, die benötigten Zeichen finden, Zeichen an eine genau definierte Stelle im Text schreiben und vieles mehr.

Mit den Datums- und Uhrzeitfunktionen können Sie nahezu jedes Datums- oder Uhrzeitproblem lösen (z. B. Altersbestimmung, Berechnung der Berufserfahrung, Ermittlung der Anzahl der Arbeitstage in einem beliebigen Zeitraum).

Logikfunktionen helfen beim Erstellen komplexe Formeln, die abhängig von der Erfüllung bestimmter Bedingungen ausgeführt wird Verschiedene Arten Datenverarbeitung


Das Thema des mir zugewiesenen Grundstücks ist das Grundstück eines Ferienhauses, das ich „WHITE STAR“ nannte. Der Zweck der Erstellung meiner Website besteht darin, möglichst viele Touristen anzulocken, die sich in der Pension „WHITE STAR“ entspannen, ihre Gesundheit verbessern und viel Freude daran haben können, sowie eine genaue Beschreibung und vollständige Informationen über das Ferienhaus bereitzustellen , Preise, dort angebotene Dienstleistungen und Qualitätsservice.

Meine Seite besteht aus 7 Seiten, die erste Seite, die die Hauptseite ist, heißt „***WHITE STAR***“, die restlichen 6 untergeordneten Seiten, in denen folgende Tags verwendet wurden:

Tags zum Erstellen des Seitenhintergrunds: ;

Blockstruktur-Tags:

,
;

Tags zur Textformatierung ,
, Stichworte- ein Container, der unabhängige HTML-Dateien speichert. Wir verwenden Hyperlinks, um zwischen Seiten zu kommunizieren. Insbesondere verwenden wir das Tag . Um Informationsdaten auf Webseiten zu strukturieren, habe ich die Technologie der Kombination von Informationen in einer Tabelle verwendet. Um eine Tabelle zu erstellen, verwenden Sie das Tag

, und wir können auch die Dicke des Rahmens innerhalb dieses Tags festlegen , Rahmenfarbe , Tabellenhintergrund usw. Legen Sie den Tabellentitel fest , Säulen
, Linien
, Spaltenüberschriften . Die Arbeit verwendete auch viele andere Tags: Textformatierung: Größe , Schriftart , Textfarbe , rechts ausrichten

Zentriert

Links

Kursivschrift , fettgedruckte Schriftart , unterstrichen usw. Ein Bild einfügen und alternativer Text dieses Bildes. Zeilenumbruch
, Zeileneinfügung


. Ich habe auch verwendet Liste mit Aufzählungszeichen