Welcome to Loot.co.za!
Sign in / Register |Wishlists & Gift Vouchers |Help | Advanced search
|
Your cart is empty |
|||
Showing 1 - 13 of 13 matches in All Departments
This text is an introduction to programming in general, and a manual for programming with the language Modula-2 in particular. It is oriented primarily towards people who have already acquired some basic knowledge of programming and would like to deepen their understanding in a more structured way. Neveltheless, an introductory chapter is included for the benefit of the beginner, displaying in a concise form some of the fundamental concepts of computers and their programming. The text is therefore also suitable as a self-contained tutorial. The notation used is Modula-2, which lends itself well for a structured approach and leads the student to a working style that has generally become known under the title of structured programming. As a manual for programming in Modula-2, the text covers practically all facilities of that language. Part 1 covers the basic notions of the variable, expression, assignment, conditional and repetitive statement, and array data structure. Together with Palt 2 which introduces the important concept of the procedure or subroutine, it contains essentially the material commonly discussed in introductory programming courses. Part 3 concerns data types and structures and constitutes the essence of an advanced course on programming. Palt 4 introduces the notion of the module, a concept that is fundamental to the design of larger programmed systems and to programming as team work. The most commonly used utility programs for input and output are presented as examples of modules.
This textbook provides a thorough and systematic introduction to designing digital circuits. The author is the leading programming language designer of our time and in this book, based on a course for 2nd-year students at the Federal Institute of Technology (ETH) in Zurich, he aims to close the gap between hardware and software design. He encourages the student to put the theory to work in exercises that include lab work culminating in the design of a simple yet complete computer. The lab work is based on a workstation equipped with a single field programmable gate array chip and software tools for entering, editing, and analyzing designs. This text is a modern introduction to designing circuits using state-of-the-art technology and a concise, easy to master hardware description language (Lola).
puter system. In 1971 one computer system had a Pascal compiler. By 1974 the number had grown to 10 and in 1979 there were more than 80. Pascal is always available on those ubiquitous breeds of computer systems: personal computers andl professional workstations. Questions arising out of the Southampton Symposium on Pascal in 1977 [Reference 10] began the first organized effort to write an officially sanctioned, international Pascal Standard. Participants sought to consolidate the list of questions that naturally arose when people tried to implement Pascal compilers using definitions found in the Pascal User Manual and Report. That effort culminated in the ISO 7185 Pascal Standard [Reference 11] which officially defines Pascal and necessitated the revision of this book. We have chosen to modify the User Manual and the Report with respect to the Standard - not to make this book a substitute for the Standard. As a result this book retains much of its readability and elegance which, we believe, set it apart from the Standard. We updated the syntactic notation to Niklaus Wirth's EBNF and improved the style of programs in the User Manual. For the convenience of readers familiar with previous editions of this book, we have included Appendix E which summarizes the changes necessitated by the Standard.
, A preliminary version o~ the programming language Pascal was dra~ted in 1968. It ~ollowed in its spirit the A1gol-6m and Algo1-W 1ine o~ 1anguages. A~ter an extensive deve10pment phase, a~irst compiler became operational in 197m, and pub1ication ~ollowed a year 1ater (see Re~erences 1 and 8, p.1m4). The growing interest in the deve10pment of compilers ~or other computers ca11ed ~or a conso1idation o~ Pascal, and two years of experience in the use o~ the 1anguage dictated a few revisions. This 1ed in 1973 to the pub1ication o~ a Revised Report and a de~inition o~ a 1anguage representation in terms of the ISO cha:.:.acter set. This booklet consists o~ two parts: The User Manual, and the Revised Report. The ManUAl is directed to those who have previous1y acquired some ~ami1iarity with computer programming, and who wish to get acquainted with the 1anguage Pascal. Hence, the style o~ the Manual is that o~ a tutorial, and many examp1e~ are inc1uded to demonstrate the various ~eatures o~ Pascal. Summarising tab1es and syntax speci~ications are added as Appendices. The Report is inc1uded in this booklet to serve as a concise, u1timate reference ~or both programmers and imp1ementors. It defines stAndArd Pascal which constitutes a common base between various implementations of the 1anguage.
Der modeme Digital-Computer wurde entwickelt, um komplizierte und zeitraubende Berechnungen zu erleichtern und zu beschleunigen. Bei den meisten Anwendungen spielt seine Fahigkeit, grosse Mengen von Informationen zu speichern und wieder zuganglich zu machen, die wichtigste Rolle (und wird als Haupteigenschaft betrachtet); seine Fahigkeit zu rechnen, d.h. zu kalkulieren, Arithmetik auszufuhren, ist in vielen Fallen nahezu belanglos. In allen diesen Fallen stellt die grosse Menge an Information, die in irgendeiner Weise verarbeitet werden muss, eine Abstraktion eines Teils der realen Welt dar. Die der Rechenanlage zur Verfugung stehende Information besteht aus einer ausgewahlten Menge von Daten uber die reale Welt, namlich der fur das vorliegende Problem als wichtig erachteten Menge, von der man annimmt, dass damit die gewunschten Resultate erzielt werden koennen. Die Daten stellen eine Abstraktion der Wirklichkeit dar, weil die fur dieses bestimmte Problem nebensachlichen und belanglosen Eigenschaften und Besonderheiten der realen Objekte unberucksichtigt bleiben. Eine Abstraktion ist somit auch eine Vereinfachung der Tatsachen. Als Beispiel koennen wir die Personalkartei eines Arbeitgebers betrachten. Jeder Angestellte ist in dieser Kartei (abstrahiert) vertreten durch eine Menge von Daten, die fur den Arbeitgeber, bzw. fur seine Abrechnungen wichtig sind. Diese Daten enthalten einige Kennzeichen des Arbeitnehmers, wie z.B. seinen Namen und sein Gehalt. Sehr wahrscheinlich werden jedoch in diesem Zusammenhang unwichtige Angaben, wie Haarfarbe, Gewicht und Groesse nicht vermerkt sein.
In den vergangenen Jahren wurde die Programmierung van Rechentmlagen als diejenige Disziplin erkannt, deren Beherrschung grundlegend und entscheidend rur den Erfolg vieler Entwicklungsprojekte ist und die wissenschaftlieher Behandlung und Darlegung zuganglieh isl Vom Handwerk stieg sie zur akademischen Disziplin auf. Die ersten hervorragenden Beitrage zu dieser Entwicklung wurden von E. W. Dijkstra und C. A. R. Hoare geliefert Dijkstra's Notes on Structured Progranuning [6] ruhrten zu einer neuen Betrachtung der Programmierung als wissenschaftliehes Thema und als intellektuelle Herausforderung. Sie bahnten den Weg zu einer "Revolution" in der Programmierung [35]. Hoare's An Axiomatic Basis/or Computer Programming [10] zeigte deutlich, dass Progamme einer exakten Analyse nach mathematischen Grundsatzen zuganglich sind. Beide Artikel argumentieren uberzeugend, dass viele Programmierfehler vermieden werden koennen, wenn man den Programmierem die Methoden und Techniken, die sie bisher intuitiv und oft unbewusst verwendeten, zur Kenntnis bringl Diese Artikel konzentrierten sieh auf die Aspekte des Aufbauens und Analysierens von Programmen oder, genauer ausgedruckt, auf die Struktur der durch die Progammtexte dargestellten Algorithmen. & ist jedoch voellig klar, dass ein systematisches und wissenschaftliehes Angehen der Konstruktion von Programmen seine groesste Wirkung im Fall grosser komplexer Programme hat, die komplizierte Datenmengen bearbeiten. Folglich muss eine Methodik des Programmierens aueh alle Aspekte der Datenstrukturierung behandeln. Prograrnme sind letztlieh konkrete Formulierungen abstrakter Algorithmen, die sieh auf bestimmte Darstellungen und Datenstrukturen stutzen. Einen wesentliehen Beitrag, Ordnung in die verwirrende Vielfalt der Terminologie und Konzepte von Datenstrukturen zu bringen, leistete Hoare durch seine Noles on Datil Structuring [13].
Das Angebot an Lehrbtichern zum Programmieren in Computer-Sprachen alier Arten ist enorm, und der erforderliche Aufwand, urn einen entsprechenden Lehrgang zu ver- fassen, ist durchaus nicht unbedeutend. Die Herausgabe dieses Studienbuches erfor- dert unter diesen UmsHinden eine Begriindung - fast sogar eine Rechtfertigung. Es geht mir hier vor aliem darum, das Prograrnmieren als eine eigenstandige Disziplin, als das systematische Konstruieren und Formulieren von Algorithrnen, einzuflihren. Algorithmen sind Rezepte flir Klassen von Datenverarbeitungs-und Steuerungsprozes- sen im allgemeinsten Sinn. Sie solien solide Gebaude von logisch, zuverlassig und zweckmafl, ig konzipierten Bausteinen darstelIen. Der Sinn des Programmierers fill exaktes und methodisches Vorgehen solI vor allem geschiirft werden durch die Betonung von Problemkreisen und Techniken, die fUr das Programmieren an und fUr sich typisch sind, unabhangig vom Anwendungsgebiet, aus dem eine bestimmte Programmieraufgabe gerade stammen mag. Aus diesem Grund wird hier kein Anwendungsgebiet als Selbstzweck hervorgehoben; die Aufgaben und Beispiele sind lediglich auf Grund ihrer Eignung zur Veranschaulichung, rtlgemeingiil- tiger Probleme und Losungsmethoden ausgewiihlt. Ebenfalls mehr in den Hintergrund tretensolI die gewiihlte Programmiersprache; sie ist Werkzeug, aber nicht Endzweck. Es solI nicht das vordringliche Anliegen eines Programmierkurses sein, Perfektion in der Handhabung alIer Details einer spezifischen Sprache zu vermitteln. Die Sprache oder Notation solI hingegen die wesentlichen und typischen Bestandteile von Algo- rithmen klar, verstandlich und auf nattirliche Weise widerspiegeln und auf die grundl& genden Eigenschaften und Grenzen von digitalen Rechenanlagen Rticksicht nehmen.
In den vergangenen Jahren wurde die Programmierung wm Rechenanlagen als diejenige Disziplin erkannt, deren Beherrschung grundlegend und entscheidend fur den Erfolg vieler Entwicklungsprojekte ist und die wissenschaftlicher Behandlung und Darlegung zuganglich ist Vom Handwerk stieg sie zur akademischen Disziplin auf. Die ersten hervorragenden Beitrage zu dieser Entwicklung wurden von E. W. Dijkstra und C. A. R. Hoare geliefert Dijkstra's Notes on Struetured Programming 6J fuhrten zu einer neuen Betrachtung der Programmierung als wissenschaftliches Thema und als intellektuelle Herausforderung. Sie bahnten den Weg zu einer "Revolution" in der Programmierung 35J. Hoare's An Axiommic Ba3is for Computer Programming 10J zeigte deutlich, dass Progamme einer exakten Analyse nach mathematischen Grundsatzen zuganglich sind. Beide Artikel argumentieren uberzeugend, dass viele Programmierfehler vermieden werden konnen, wenn man den Programmierern die Methoden und Techniken, die sie bisher intuitiv und oft unbewusst verwendeten, zur Kenntnis bringt Diese Artikel konzentrierten sich auf die Aspekte des Aufbauens und Analysierens von Programmen oder, genauer ausgedruckt, auf die Struktur der durch die Progammtexte dargestellten Algorithmen. Es ist jedoch vollig klar, dass ein systematisches und wissenschaftliches Angehen der Konstruktion von Programmen seine grosste Wirkung im Fall grosser komplexer Programme hat, die komplizierte Datenmengen bearbeiten. Folglich muss eine Methodik des Programmierens auch alle Aspekte der Datenstrukturierung behandeln. Programme sind letztlich konkrete Formulierungen abstrakter Algorithmen, die sich auf bestimmte Darstellungen und Datenstrukturen stutzen. Einen wesentlichen Beitrag, Ordnung in die verwirrende Vielfalt der Terminologie und Konzepte von Datenstrukturen zu bringen, leistete Hoare durch seine Notes on Daltl Strueturing 13J."
Der moderne Digital-Computer wurde entwickelt, um komplizierte und zeitraubende Berechnungen zu erleichtern und zu beschleunigen. Bei den meisten Anwendungen spielt seine Fahigkeit, grosse Mengen von Informationen zu speichern und wieder zuganglich zu machen, die wichtigste Rolle (und wird als Haupteigenschaft betrachtet): seine Fahigkeit zu rechnen, d.h. zu kalkulieren, Arithmetik auszufuhren, ist in vielen Fallen nahezu belanglos. In allen diesen Fallen stellt die grosse Menge an Information, die in irgendeiner Weise verarbeitet werden muss, eine Abstraktion eines Teils der realen Welt dar. Die der Rechenanlage zur Verfugung stehende Information besteht aus einer ausgewahlten Menge von Daten uber die reale Welt, namlich der fur das vorliegende Problem als wichtig erachteten Menge, von der man annimmt, dass damit die gewunschten Resultate erzielt werden konnen. Die Daten stellen eine Abstraktion der Wirklichkeit dar, weil die fur dieses bestimmte Problem nebensachlichen und belanglosen Eigenschaften und Besonderheiten der realen Objekte unberucksichtigt bleiben. Eine Abstraktion ist somit auch eine Vereirifachung der Tatsachen. Als Beispiel konnen wir die Personalkartei eines Arbeitgebers betrachten. Jeder Angestellte ist in dieser Kartei (abstrahiert) vertreten durch eine Menge von Daten, die fur den Arbeitgeber, bzw. fur seine Abrechnungen wichtig sind. Diese Daten enthalten einige Kennzeichen des Arbeitnehmers, wie z.B. seinen Namen und sein Gehalt. Sehr wahrscheinlich werden jedoch in diesem Zusammenhang unwichtige Angaben, wie Haarfarbe, Gewicht und Grosse nicht vermerkt sein."
Dieses Buch ist eine EinfUhrung in die Theorie der formalen Sprachen und ihrer Satzzerlegung, sowie in die Technik der Compiler-Konstruktion. Diese Themen sind aus zweierlei Grunden relevant. Erstens erleichtert und vertieft die Kenntnis der Grundprinzipien eines Compilers das Verstiindnis fUr korrekte Verwendung von Programmiersprachen ganz allgemein. Zweitens ist die Beherrschung dieser Themen Voraussetzung fUr die fachgerechte Erstellung vieler Computer-Systeme, denen eine einfache Befehlssprache zugrunde liegt. Die Anzahl derartiger Anwendungen nimmt rasch zu, sei es im Gebiet der Prozesssteuerung, der Datenverarbeitung, oder der Betriebssysteme. Beziiglich der Theorie der formalen Sprachen und der Methodik der syntaktischen Analyse beschriinken wir uns auf das fUr den Bau eines einfachen Compilers minimal notwendige. Hingegen wird die systematische Entwicklung eines vollstiindigen Compilers fur eine einfache Programmiersprache in ihren Einzelheiten dargelegt. Die Wahl der Quellsprache PLIO ist ein Kompromiss zwischen einer Sprache, die allzu trivial ware, urn als lehrreiches Beispiel zu gelten, und einer Sprache, deren Miichtigkeit und Komplexitiit den wirklichen Kern und seine Hauptprinzipien verschleiern wiirde. Fiir alle Programme wird die Sprache Pascal verwendet. Sie erlaubt eine transparente Darstellung komplexer Programme und Datenstrukturen, und sie eignet sich daher fur diesen Themenkreis besonders gut.
Contrary to what many believe, Alan Turing is not the father of the all-purpose computer. Engineers were, independently of Turing, already building such machines during World War II. Turing's influence was felt more in programming after his death than in computer building during his lifetime. The first person to receive a Turing award was a programmer, not a computer builder. Logicians and programmers recast Turing's notions of machine and universality. Gradually, these recast notions helped programmers to see the bigger picture of what they were accomplishing. Later, problems unsolvable with a computer influenced experienced programmers, including Edsger W. Dijkstra. Dijkstra's pioneering work shows that both unsolvability and aesthetics have practical relevance in software engineering. But to what extent did Dijkstra and others depend on Turing's accomplishments? This book presents a revealing synthesis for the modern software engineer and, by doing so, deromanticizes Turing's role in the history of computing.
Erleichtern Sie sich den Einstieg in das Thema Datenstrukturen und
Algorithmen mit Pascal.
|
You may like...
Fantastic Beasts 3 - The Secrets Of…
Eddie Redmayne, Jude Law, …
Blu-ray disc
(1)
R155 Discovery Miles 1 550
|