Advertisement

The Design of Well-Structured and Correct Programs

  • Suad Alagić
  • Michael A. Arbib

Part of the Texts and Monographs in Computer Science book series (MCS)

Table of contents

  1. Front Matter
    Pages i-x
  2. Suad Alagić, Michael A. Arbib
    Pages 1-14
  3. Suad Alagić, Michael A. Arbib
    Pages 15-56
  4. Suad Alagić, Michael A. Arbib
    Pages 57-114
  5. Suad Alagić, Michael A. Arbib
    Pages 115-151
  6. Suad Alagić, Michael A. Arbib
    Pages 152-185
  7. Suad Alagić, Michael A. Arbib
    Pages 186-220
  8. Suad Alagić, Michael A. Arbib
    Pages 221-248
  9. Back Matter
    Pages 249-294

About this book

Introduction

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.

Keywords

Beweis Design Pascal Programmierung Programs algorithms data structure palindrome programming programming language verification

Authors and affiliations

  • Suad Alagić
    • 1
  • Michael A. Arbib
    • 2
  1. 1.Department of Informatics, Faculty of Electrical EngineeringUniversity of SarajevoSarajevoYugoslavia
  2. 2.Department of Computer and Information ScienceUniversity of MassachusettsAmherstUSA

Bibliographic information

  • DOI https://doi.org/10.1007/978-1-4612-6272-5
  • Copyright Information Springer-Verlag New York 1978
  • Publisher Name Springer, New York, NY
  • eBook Packages Springer Book Archive
  • Print ISBN 978-1-4612-6274-9
  • Online ISBN 978-1-4612-6272-5
  • Series Print ISSN 0172-603X
  • Buy this book on publisher's site