Software requirements for engineering and scientific applications are almost always computational and possess an advanced mathematical component. However, an application that calls for calculating a statistical function, or performs basic differentiation of integration, cannot be easily developed in C++ or most programming languages. In such a case, the engineer or scientist must assume the role of software developer. And even though scientists who take on the role as programmer can sometimes be the originators of major software products, they often waste valuable time developing algorithms that lead to untested and unreliable routines.
Software Solutions for Engineers and Scientists addresses the ever present demand for professionals to develop their own software by supplying them with a toolkit and problem-solving resource for developing computational applications. The authors' provide shortcuts to avoid complications, bearing in mind the technical and mathematical ability of their audience.
The first section introduces the basic concepts of number systems, storage of numerical data, and machine arithmetic. Chapters on the Intel math unit architecture, data conversions, and the details of math unit programming establish a framework for developing routines in engineering and scientific code. The second part, entitled Application Development, covers the implementation of a C++ program and flowcharting. A tutorial on Windows programming supplies skills that allow readers to create professional quality programs. The section on project engineering examines the software engineering field, describing its common qualities, principles, and paradigms. This is followed by a discussion on the description and specification of software projects, including object-oriented approaches to software development.
With the introduction of this volume, professionals can now design effective applications that meet their own field-specific requirements using modern tools and technology.
Table of Contents
TECHNIQUES AND CODE
Computer Number Systems
Numeric Data in Memory
Floating Point Data and Conversions
Math Unit Architecture and Instruction Set
Interpolation, Differentiation, and Integration
Solving and Parsing Equations
The C++ Language on the PC
The Window Program Components
A First Windows Program
Keyboard and Mouse Programming
Graphical User Interface Elements
Drawing Lines and Curves
Drawing Solid Figures
Displaying Bit-mapped Images
Fundamentals of Systems Engineering
Description and Specification
The Object-Oriented Approach
C++ Math Unit Programming
Accuracy of Exponential Functions
Multiple File Programs
The MATH32 Library