Scientific programming : C-language, algorithms and models in science / by Luciano M. Barone (Sapienza Università di Roma, Italy), Enzo Marinari (Sapienza Università di Roma, Italy), Giovanni Organtini (Sapienza Università di Roma, Italy) & Federico Ricci-Tersenghi (Sapienza Università di Roma, Italy).Material type: TextPublisher: [Hackensack] New Jersey : World Scientific, 2014Description: 1 online resourceContent type: text Media type: computer Carrier type: online resourceISBN: 9789814513418; 9814513415Subject(s): Science -- Data processing | Science -- Mathematical models | C (Computer program language) | Computer programming | SCIENCE -- General | C (Computer program language) | Computer programming | Science -- Data processing | Science -- Mathematical models | C | Wissenschaftliches Rechnen | AlgorithmusGenre/Form: Electronic books. | Electronic books. Additional physical formats: Print version:: Scientific programmingDDC classification: 502.85/513 LOC classification: Q183.9 | .B37 2014ebOnline resources: Click here to access online
|Item type||Current library||Collection||Call number||Status||Date due||Barcode||Item holds|
Includes bibliographical references.
Print version record.
Preface; Foreword; Technical note; 0. Programming to compute; Basic programming in C language; 1. Numbers and non-numbers; 1.1 Numeral systems; 1.2 Positional systems; 1.2.1 The binary system; 1.2.2 The hexadecimal system; 1.3 Representation systems; 1.3.1 Representing negative numbers; 1.3.2 Complement representation; 1.3.3 Excess-N representation; 1.3.4 Rational number representation; 1.4 The approximation problem; 1.5 Non-numbers on computers; 1.6 Logical value representation; 1.6.1 Logical operators; 1.7 Character representation; 1.7.1 Character strings; 1.7.2 The ASCII code.
1.7.3 UNICODE1.8 Representing other information; 2. Programming languages; 2.1 The necessity of a programming language; 2.2 High-level languages and elementary statements; 2.2.1 The assembly language; 2.3 The role of the compiler; 2.3.1 Interpreters and compilers; 2.4 The linker; 2.5 Procedural and object-oriented languages; 2.6 Why C?; 2.7 History and characteristics of the C language; 2.8 C compilers in their environment; 2.8.1 Linux and Windows; 2.8.2 A first example, in Linux: gcc; 2.8.3 Compiling C in Windows; 3. Basics of C programs; 3.1 Starting to program.
3.2 Statements, variables, types3.3 Operators; 3.3.1 Arithmetic Operators; 3.3.2 Logical operators; 3.3.3 Other operators; 3.4 Input/Output for beginners; 3.5 Preprocessor directives; 3.6 Notes on library functions; 3.7 First applications; 4. Logic management; 4.1 Flow control; 4.1.1 Nonlinear flows; 4.2 Taking a decision; 4.2.1 if/else; 4.2.2 The selection operator; 4.3 Iterations; 4.3.1 The factorial; 4.3.2 Solving equations; 4.3.3 Searching prime numbers; 4.4 Deprecated statements; 4.5 A rounding problem; 5. Fundamental data structures; 5.1 One-dimensional arrays.
5.2 Algorithms with arrays5.2.1 Sorting: Bubblesort; 5.2.2 Binary search; 5.3 Multidimensional arrays; 5.4 Solving systems of linear equations; 5.5 Generating random numbers; 5.6 Character strings; 5.6.1 C string syntax; 5.6.2 I/O of character strings; 5.6.3 Multidimensional strings and arrays; 6. Pointers; 6.1 Pointers and pointed variables; 6.2 Arrays and pointers in C; 6.2.1 The const qualifier; 6.2.2 String pointers; 6.3 Pointer arithmetic; 6.4 Efficiency issues; 6.5 Multidimensional arrays and pointers; 6.5.1 Pointer arrays; 6.6 Pointers to pointers; 6.7 Input/Output with files.
6.7.1 Binary files7. Functions; 7.1 Declaration and definition; 7.1.1 Scope; 7.2 Formal parameters; 7.3 Pointers and array parameters; 7.3.1 Array in input and output; 7.3.2 Passing multidimensional arrays; 7.3.3 Global and local variables; 7.4 Applications; 7.4.1 Histograms; 7.4.2 Computing the <U+007b>2 of a distribution; 7.4.3 Programming style and reusability; 7.5 Pointers to functions; 7.6 Functions of functions; 8. Numerical interpolation and integration; 8.1 Interpolation; 8.1.1 Determining the parameters of a function; 8.1.2 Interpolation with Lagrange polynomials; 8.2 Numerical integration.
The book teaches a student to model a scientific problem and write a computer program in C language to solve that problem. To do that, the book first introduces the student to the basics of C language, dealing with all syntactical aspects, but without the pedantic content of a typical programming language manual. Then the book describes and discusses many algorithms commonly used in scientific applications (e.g. searching, graphs, statistics, equation solving, Monte Carlo methods etc.). This important book fills a gap in current available bibliography. There are many manuals for programming in C, but they never explain programming technicalities to solve a given problem. This book illustrates many relevant algorithms and shows how to translate them in a working computer program.