Đang chuẩn bị liên kết để tải về tài liệu:
Lecture Programming languages (2/e): Chapter 12a - Tucker, Noonan
Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
The imperative programming paradigm is the subject of Chapter 12. This chapter presents the following content: What makes a language imperative? Procedural abstraction, expressions and assignment, library support for data structures. | Programming Languages 2nd edition Tucker and Noonan Chapter 12 Imperative Programming I really hate this darn machine; I wish they would sell it; It won’t do what I want it to, but only what I tell it. Programmer’s lament (anonymous) Contents 12.1 What Makes a Language Imperative? 12.2 Procedural Abstraction 12.3 Expressions and Assignment 12.4 Library Support for Data Structures 12.5 C 12.6 Ada 12.7 Perl Imperative Programming Oldest and most well-developed paradigm Mirrors computer architecture Languages Fortran, Pascal C, Clite Ada 83 12.1 What Makes a Language Imperative? In a von Neumann machine memory holds: Instructions Data Intellectual heart: assignment statement Others: Conditional branching Unconditional branch (goto) Flowchart 12.2 Procedural Abstraction Procedural abstraction allows the programmer to be concerned mainly with a function interface, ignoring the details of how it is computed. The process of stepwise refinement utilizes procedural abstraction to develop an algorithm starting with a general form and ending with an implementation. Ex: sort(list, len) 12.3 Expressions and Assignment Assignment statement is fundamental: target = expression Copy semantics: Expression is evaluated to a value, which is copied to the target; used by imperative languages Reference semantics: Expression is evaluated to an object, whose pointer is copied to the target; used by object-oriented languages. There exist vast libraries of functions for most imperative languages. Partially accounts for the longevity of languages like Fortran, Cobol, and C. Turing Complete Integer variables, values, operations Assignment If Goto Re: Structured programming revolution of 1970s replace the goto with while . | Programming Languages 2nd edition Tucker and Noonan Chapter 12 Imperative Programming I really hate this darn machine; I wish they would sell it; It won’t do what I want it to, but only what I tell it. Programmer’s lament (anonymous) Contents 12.1 What Makes a Language Imperative? 12.2 Procedural Abstraction 12.3 Expressions and Assignment 12.4 Library Support for Data Structures 12.5 C 12.6 Ada 12.7 Perl Imperative Programming Oldest and most well-developed paradigm Mirrors computer architecture Languages Fortran, Pascal C, Clite Ada 83 12.1 What Makes a Language Imperative? In a von Neumann machine memory holds: Instructions Data Intellectual heart: assignment statement Others: Conditional branching Unconditional branch (goto) Flowchart 12.2 Procedural Abstraction Procedural abstraction allows the programmer to be concerned mainly with a function interface, ignoring the details of how it is computed. The process of stepwise refinement utilizes procedural abstraction to develop an .