Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010190942 | QA297 O77 1999 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
An Introduction to C++ and Numerical Methods provides a brief yet comprehensive introduction to programming and numerical methods for students in engineering, chemistry, physics, and applied mathematics. It is suitable for second semester or second year students who have had at least a semester of calculus.
This text offers students both an introduction to programming in C++ and clear explanations of the basics of numerical methods, including numerical integration and the solution of ordinary differential equations, nonlinear equations, and systems of linear equations. It is unique among textbooks at this level in its extensive coverage of numerical methods used in scientific and engineering computation.
An Introduction to C++ and Numerical Methods is designed to help students move quickly into writing interesting and sophisticated programs. The text begins with an introduction to scientific computing and the basic constructs of C++, including variables and assignment, typing, if statements, for and while loops, functions, one-dimensional arrays, and the cout and cin objects. After students have gained some experience with programming using these constructs, the topics are later revisited in greater detail, leading up to the important topic of classes and object-oriented programming. Throughout the text Ortega and Grimshaw emphasize the basic paradigms for constructing good programs and detecting errors.
Author Notes
James Ortega and Andrew Grimshaw are both in the Computer Science Department, University of Virginia.
Reviews 1
Choice Review
Ortega and Grimshaw direct their book toward undergraduate students taking a course of study in numerical methods. Unlike many earlier books written for use with the BASIC or FORTRAN programming languages, this one gives the reader an introduction to implementing numerical methods using C++. Since C++ is likely one of the more widely used languages of the current day in engineering and science, this treatment is very appropriate. No previous programming experience is required to use this book. The authors take a very gentle and gradual approach to introducing programming concepts. Nevertheless, a significant number of numerical methods are covered including integration, finding zeros using the bisection algorithm and Newton's method, solutions to differential equations using Euler's method, and solving simultaneous systems of equations using Gaussian elimination and least-squares approximation. The quality of the presentation is high, and the book includes a generous number of figures and tables. Undergraduates. F. H. Wild III; University of Rhode Island
Table of Contents
Preface |
Part I Basic Constructs |
1 Introduction |
1.1 Computers and Software |
1.2 Binary Numbers and Memory |
1.3 Rounding Errors |
1.4 Program |
2 A First C++ Program |
2.1 Computation and Assignment |
2.2 Variable Types |
2.3 Input and Output |
2.4 A Complete Program |
2.5 Errors and Debugging |
3 Decisions, Decisions |
3.1 The if Statement |
3.2 Logical Operators |
3.3 Nested If and Switch Statements |
3.4 Good Programming Practice |
4 Around and Around: Iteration |
4.1 The for Statement |
4.2 The while Statement |
4.3 An Approximation to ex |
4.4 Advanced Loop Control |
5 Functions |
5.1 Library Functions |
5.2 User-Defined Functions |
5.3 More General Functions |
5.4 Local vs. Global Variables |
6 Numerical Integration |
6.1 Approximate Integration Formulas |
6.2 Flow Charts |
6.3 An Integration Program |
6.4 Discretization Error |
7 Reading and Writing: Input/Output |
7.1 Precision |
7.2 Spacing |
7.3 File Input/Output |
7.4 The printf () Function |
8 Solution of Nonlinear Equations |
8.1 The Bisection Method |
8.2 Newton's Method |
8.3 Errors and a Combined Method |
9 Lots of Values: Arrays |
9.1 Array Declarations |
9.2 Arrays and Functions |
10 Differential Equations |
10.1 The Initial Value Problem |
10.2 Euler's Method |
10.3 Systems of Equations |
Part II Extensions of the Basic Constructs |
11 More on Data Types and Operations |
11.1 Other Fundamental Data Types |
11.2 Operations |
11.3 Characters and Strings |
11.4 User-Defined Data Types |
12 Lots More Values: Two-Dimensional Arrays |
12.1 Two-imensional Arrays |
12.2 Arrays and Functions |
12.3 Arrays of Strings |
13 Linear Equations |
13.1 Least-Squares Approximation |
13.2 Gaussian Elimination |
13.3 Errors |
13.4 Efficiency |
14 More on Functions |
14.1 Reference versus Value |
14.2 Recursive and Inline Functions |
14.3 Function Miscellanea |
14.4 Libraries of Functions |
15 Pointers |
15.1 Pointer Variables |
15.2 Pointers and Arrays |
15.3 Pointers and Functions |
15.4 Pointers and Strings |
16 Dynamic Memory1 |
6.1 Dynamic Memory Allocation |
16.2 Matrices and Strings |
16.3 Linked Lists |
Part III Object-Oriented Programming |
1 Classes and Objects1 |
7.1 A Simple Class |
17.2 Classes and Functions |
17.3 Stream Classes |
18 Array |
Classes and Dynamic Memory |
18.2 Dynamic Memory Allocation |
18.3 A Matrix Class |
19 Inheritance |
19.1 Derived Classes |
19.2 Polymorphism and Virtual Functions |
19.3 Linear EquationsFurther Reading |
Appendix 1 ASCII Character Codes |
Appendix 2 Library Functions |
Index |