內容簡(jiǎn)介: This textbook is the result of seven years of experience with teaching scientific programmingin both science and engineering departments. The book has a single, clearly defined goal - to convey as broad an understanding ofthe entire scientific computing field as possible within a single term course. Accordingly, while the CH programnung language is explained concisely, its conceptual foundation is emphasized. Once this framework is understood, the complex language syntax can be far more easily retained. Further, all features of modern programming of relevance to scientific programming are surveyed with emphasis on strategies for simplifying coding. Free software tools are included that minimize the technical hurdles ofcoding and running programs.
作者簡(jiǎn)介:
David Yevick,是國際知名學(xué)者,在數學(xué)和物理學(xué)界享有盛譽(yù)。本書(shū)凝聚了作者多年科研和教學(xué)成果,適用于科研工作者、高校教師和研究生。
目錄:Part I C++programmingbasics
1 Introduction
1.1 Objective
1.2 Presentation
1.3 WhyC++
1.4 C++standards
1.5 Summary
1.6 How to use this text
1.7 Additional study aids
1.8 Additional and alternative software packages
2 Installing and running the Dev-C++ programming environment
2.1 Compiling and running a first program
2.2 Using the Dev-C++debugger
2.3 Installing DISLIN and gsl
2.4 A first graphics program
2.5 The help system
2.6 Linux alternatives
2.7 Assignment
3 Introduction to computer and software architecture
3.1 Computationalmethods
3.2 Hardwarearchitecture
3.3 Softwarearchitecture
3.4 The operating system and application software
3.5 Assignments
4 Fundamentalconcepts
4.1 Overview ofprogram structure
4.2 Tokens, names, and keywords
4.3 Expressions and statements
4.4 Constants, variables, andidentifiers
4.5 Declarations,definitions, and scope
4.6 rvalues and lvalues
4.7 Block structure
4.8 The const keyword
4.9 Operators - precedence and associativity
4.10 Formatting conventions
4.11 Comments
4.12 Assignments
5 Writing a first program
5.1 The main() function
5.2 Namespaces
5.3 #include Statements
5.4 Input and output streams
5.5 File streams
5.6 Constant and variable types
5.7 Casts
5.8 Operators
5.9 Controlflow
5.10 Functions
5.11 Arrays and typedefs
5.12 A first look at scientific software development.
5.13 Program errors
5.14 Numerical errors with floating-point types
5.15 Assignments
6 An introduction to object-oriented analysis
6.1 Proceduralversus object-oriented programming
6.2 Problem definition
6.3 Requirementsspecification
6.4 UMLdiagrams
6.5 Use case diagram
6.6 Classes and objects
6.7 Objectdiscovery
6.8 Sequence and collaboration diagrams
6.9 Aggregation and association
6.10 Inheritance
6.11 Object-oriented programnung approaches
6.12 Assignments
7 C++ object-oriented programming syntax
7.1 Class declaration
7.2 Class definition and member functions
7.3 Object creation and polymorphism
8 Controllogic and iteration
9 Basic function properties
10 Arrays and matrices
11 Input and output streams
Part II Numericalanalysis
12 Numerical error analysis - derivatives
13 Integration
14 Root-finding procedures
15 Differentialequations
16 Linear algebra
Part III Advanced object-oriented programming
17 References
18 Pointers and dynamic memory allocation
19 Advanced memory management
20 The static keyword; multiple and virtualinheritance, templates, and the STL library
21 Program optimization in C++
Part IV Scientific programming examples
22 Monte Carlo methods