reader is led through gradual development of the programhe is given various snapshots in the evolution of programwhereby this development becomes manifest as stepwise refinement of the details consider it essential that programs are shown in final form with sufficient attention to detailsfor in programmingthe devil hides in the details although the mere presentation of an algorithm' principle and its mathematical analysis may be stimulating and challenging to the academic mindit seems dishonest to the engineering practitioner have therefore strictly adhered to the rule of presenting the final programs in language in which they can actually be run on computer of coursethis raises the problem of finding form which at the same time is both machine executable and sufficiently machine independent to be included in such text in this respectneither widely used languages nor abstract notations proved to be adequate the language pascal provides an appropriate compromiseit had been developed with exactly this aim in mindand it is therefore used throughout this book the programs can easily be understood by programmers who are familiar with some other high-level languagesuch as algol or pl/ because it is easy to understand the pascal notation while proceeding through the text howeverthis not to say that some proparation would not be beneficial the book systematic programming [ provides an ideal background because it is also based on the pascal notation the present book washowevernot intended as manual on the language pascalthere exist more appropriate texts for this purpose [ this book is condensation and at the same time an elaboration of several courses on programming taught at the federal institute of technology (ethat zurich owe many ideas and views expressed in this book to discussions with my collaborators at eth in particulari wish to thank mr sandmayr for his careful reading of the manuscriptand miss heidi theiler and my wife for their care and patience in typing the text should also like to mention the stimulating influence provided by meetings of the working groups and of ifipand particularly the many memorable arguments had on these occasions with dijkstra and hoare last but not leasteth generously provided the environment and the computing facilities without which the preparation of this text would have been impossible zurichaug wirth [ dijkstraino - dahle dijkstrac hoare structured programming genuysed new yorkacademic press pp - [ hoare comm acm no ( ) - [ hoarein structured programming [ ]cc - [ wirth the programming language pascal acta informatica no ( ) - [ wirth program development by stepwise refinement comm acm no ( ) - [ wirth systematic programming englewood cliffsn prentice-hallinc [ jensen and wirth pascal-user manual and report berlinheidelbergnew yorkspringer-verlag