CHF59.90
Download est disponible immédiatement
This manual describes a PASCAL extension for scientific computation with the short title PASCAL-XSC (PASCAL eXtension for Scientific Computation). The language is the result of a long term effort of members of the Institute for Applied Mathematics of Karlsruhe University and several associated scientists. PASCAL XSC is intended to make the computer more powerful arithmetically than usual. It makes the computer look like a vector processor to the programmer by providing the vector/matrix operations in a natural form with array data types and the usual operator symbols. Programming of algorithms is thus brought considerably closer to the usual mathematical notation. As an additional feature in PASCAL-XSC, all predefined operators for real and complex numbers and intervals, vectors, matrices, and so on, deliver an answer that differs from the exact result by at most one rounding. Numerical mathematics has devised algorithms that deliver highly accurate and automatically verified results by applying mathematical fixed point theorems. That is, these computations carry their own accuracy control. However, their imple mentation requires arithmetic and programming tools that have not been available previously. The development of PASCAL-XSC has been aimed at providing these tools within the PASCAL setting. Work on the subject began during the 1960's with the development of a general theory of computer arithmetic. At first, new algorithms for the realization of the arithmetic operations had to be developed and implemented.
Contenu
1 Introduction.- 1.1 Typography.- 1.2 Historical Remarks and Motivation.- 1.3 Advanced Computer Arithmetic.- 1.4 Connection with Programming Languages.- 1.5 Survey of PASCAL-XSC.- 1.5.1 Universal Operator Concept and Arbitrary Result Type.- 1.5.2 Overloading of Procedures, Functions, and Operators.- 1.5.3 Module Concept.- 1.5.4 Dynamic Arrays and Subarrays.- 1.5.5 String Concept.- 1.5.6 Arithmetic and Rounding.- 1.5.7 Accurate Expressions.- 2 Language Reference.- 2.1 Basic Symbols.- 2.2 Identifiers.- 2.3 Constants, Types, and Variables.- 2.3.1 Simple Types.- 2.3.2 Structured Types.- 2.3.2.1 Arrays.- 2.3.2.2 Subarrays.- 2.3.2.3 Access to Index Bounds.- 2.3.2.4 Dynamic Arrays.- 2.3.2.5 Strings.- 2.3.2.6 Dynamic Strings.- 2.3.2.7 Records.- 2.3.2.8 Records with Variants.- 2.3.2.9 Sets.- 2.3.2.10 Files.- 2.3.2.11 Text Files.- 2.3.3 Structured Arithmetic Standard Types.- 2.3.3.1 The Type complex.- 2.3.3.2 The Type interval.- 2.3.3.3 The Type cinterval.- 2.3.3.4 Vector Types and Matrix Types.- 2.3.4 Pointers.- 2.3.5 Compatibility of Types.- 2.3.5.1 Compatibility of Array Types.- 2.3.5.2 Compatibility of Strings.- 2.4 Expressions.- 2.4.1 Standard Expressions.- 2.4.1.1 Integer Expressions.- 2.4.1.2 Real Expressions.- 2.4.1.3 Boolean Expressions.- 2.4.1.4 Character Expressions.- 2.4.1.5 Enumeration Expressions.- 2.4.2 Accurate Expressions (#-Expressions).- 2.4.3 Expressions for Structured Types and Pointer Expressions.- 2.4.3.1 Array Expressions.- 2.4.3.2 String Expressions.- 2.4.3.3 Record Expressions.- 2.4.3.4 Set Expressions.- 2.4.3.5 Pointer Expressions.- 2.4.4 Extended Accurate Expressions (#-Expressions).- 2.4.4.1 #-Expressions for the Arithmetic Types.- 2.4.4.2 #-Expressions for Vectors.- 2.4.4.3 #-Expressions for Matrices.- 2.4.4.4 List of the Operands in #-Expressions.- 2.4.4.5 Review of General #-Expressions.- 2.5 Statements.- 2.5.1 Assignment Statement.- 2.5.2 Input/Output Statements.- 2.5.3 Empty Statement.- 2.5.4 Procedure Statement.- 2.5.5 goto-Statement.- 2.5.6 Compound Statement.- 2.5.7 Conditional Statements.- 2.5.7.1 if-Statement.- 2.5.7.2 case-Statement.- 2.5.8 Repetitive Statements.- 2.5.8.1 while-Statement.- 2.5.8.2 repeat-Statement.- 2.5.8.3 for-Statement.- 2.5.9 with-Statement.- 2.6 Program Structure.- 2.7 Subroutines.- 2.7.1 Procedures.- 2.7.2 List of Predefined Procedures and Input/Output Statements.- 2.7.3 Functions.- 2.7.4 Functions with Arbitrary Result Type.- 2.7.5 List of Predefined Functions.- 2.7.6 Operators.- 2.7.7 Table of Predefined Operators.- 2.7.8 forward- and external-Declaration.- 2.7.9 Modified Call by Reference for Structured Types.- 2.7.10 Overloading of Procedures, Functions, and Operators.- 2.7.11 Overloading of read and write.- 2.7.12 Overloading of the Assignment Operator :=.- 2.8 Modules.- 2.9 String Handling and Text Processing.- 2.9.1 Input of Characters and Strings.- 2.10 How to Use Dynamic Arrays.- 3 The Arithmetic Modules.- 3.1 The Module C_ARI.- 3.2 The Module I_ARI.- 3.3 The Module CI_ARI.- 3.4 The Module MV_ARI.- 3.5 The Module MVC_ARI.- 3.6 The Module MVI_ARI.- 3.7 The Module MVCI_ARI.- 3.8 The Hierarchy of the Arithmetic Modules.- 3.9 A Complete Sample Program.- 4 Problem-Solving Routines.- 5 Exercises with Solutions.- 5.1 Test of Representability.- 5.2 Summation of Exponential Series.- 5.3 Influence of Rounding Errors.- 5.4 Scalar Product.- 5.5 Boothroyd/Dekker Matrices.- 5.6 Complex Functions.- 5.7 Surface Area of a Parallelepiped.- 5.8 Parallelism and Intersection of Lines.- 5.9 Transposed Matrix, Symmetry.- 5.10 Rail Route Map.- 5.11 Inventory Lists.- 5.12 Complex Numbers and Polar Representation.- 5.13 Complex Division.- 5.14 Electric Circuit.- 5.15 Alternating Current Measuring Bridge.- 5.16 Optical Lens.- 5.17 Interval Evaluation of a Polynomial.- 5.18 Calculations for Interval Matrices.- 5.19 Differentiation Arithmetic.- 5.20 Newton's Method with Automatic Differentiation.- 5.21 Measurement of Time.- 5.22 Iterative Method.- 5.23 Trace of a Product Matrix.- 5.24 Calculator for Polynomials.- 5.25 Interval Newton Method.- 5.26 Runge-Kutta Method.- 5.27 Rational Arithmetic.- 5.28 Evaluation of Polynomials.- A Syntax Diagrams.- B Indices and Lists.- B.1 Syntax Diagrams.- B.2 Reserved Words.- B.3 Predefined Identifiers.- B.4 Operators.- B.4.1 Basic Operators.- B.4.2 Arithmetic Operators.- B.4.3 Relational Operators for the Arithmetic Types.- B.4.4 Assignment Operators.- B.5 Predefined Functions.- B.6 Transfer Functions.- B.7 Predefined Procedures.- B.8 #-Expressions.- B.8.1 Real and Complex #-Expressions.- B.8.2 Real and Complex Interval #-Expressions.