Free Shipping In Australia

# The Design of Well-Structured and Correct Programs by Suad Alagic

In Stock
\$15.99
+10% GST
N/A
Only 1 left

## The Design of Well-Structured and Correct Programs Summary

### The Design of Well-Structured and Correct Programs by Suad Alagic

The major goal of this book is to present the techniques of top-down program design and verification of program correctness hand-in-hand. It thus aims to give readers a new way of looking at algorithms and their design, synthesizing ten years of research in the process. It provides many examples of program and proof development with the aid of a formal and informal treatment of Hoare's method of invariants. Modem widely accepted control structures and data structures are explained in detail, together with their formal definitions, as a basis for their use in the design of correct algorithms. We provide and apply proof rules for a wide range of program structures, including conditionals, loops, procedures and recur- sion. We analyze situations in which the restricted use of gotos can be justified, providing a new approach to proof rules for such situations. We study several important techniques of data structuring, including arrays, files, records and linked structures. The secondary goal of this book is to teach the reader how to use the programming language Pascal. This is the first text to teach Pascal pro- gramming in a fashion which not only includes advanced algorithms which operate on advanced data structures, but also provides the full axiomatic definition of Pascal due to Wirth and Hoare. Our approach to the language is very different from that of a conventional programming text.

### Why buy from World of Books

Our excellent value books literally don't cost the earth
Free delivery in Australia
Every used book bought is one saved from landfill

1 Introducing Top-down Design.- 1.1 The Idea of Top-down Design.- 1.2 An Example: The Greatest Common divisor.- 1.3 Programming Language and Machine Language.- 2 Basic Compositions of Actions and Their Proof Rules.- 2.1 Relations for Program Correctness.- 2.2 Logical Formulas and Pascal Expressions.- 2.3 Proof Rules for Simple Statements.- 2.4 Compound and Conditional Statements.- 2.5 Repetitive Statements.- 2.6 Summary of Basic Proof Rules.- 2.7 Using the Basic Proof Rules.- 2.8 Correct Termination of Algorithms.- Exercises.- 3 Data Types.- 3.1 Introduction.- 3.2 A Primer on Set Theory.- 3.3 Scalar Types and Simple Types.- 3.4 Arrays, Records, and Files.- 3.5 Processing Arrays.- 3.6 Processing Files and Records.- 3.7 Set Manipulation in Pascal.- Exercises.- 4 Developing Programs with Proofs of Correctness.- 4.1 Introduction.- 4.2 Squares and Palindromes.- 4.3 Sorting Arrays and Files.- 4.4 Manipulating Sets.- Exercises.- 5 Procedures and Functions.- 5.1 Procedures and Functions.- 5.3 Functions and Their Proof of Correctness.- 5.4 Proofs of Correctness of Procedures.- Exercises.- 6 Recursion.- 6.1 Introduction.- 6.2 Design and Correctness of Recursive Procedures.- 6.3 Recursive Data Types.- 6.4 Recursive Algorithms and Recursive Data Structures.- Exercises.- 7 Programming with and without Gotos.- 7.1 Goto Statements.- 7.2 Proof Rules for Gotos.- 7.3 Return Exits and the Algorithm Find.- 7.4 Failure Exits and the Algorithm Lookup.- 7.5 Loops with Exits in the Middle.- Exercises.- References.- Appendixes.- Index of Algorithms.- Author Index.

GOR002677319
The Design of Well-Structured and Correct Programs by Suad Alagic