Introduction to programming with Modula-2

書誌事項

Introduction to programming with Modula-2

Günther Blaschek, Gustav Pomberger ; [translator, Robert Bach]

Springer-Verlag, c1990

  • gw
  • us

タイトル別名

Einführung in die Programmierung mit Modula-2

大学図書館所蔵 件 / 8

この図書・雑誌をさがす

注記

Translation of: Einführung in die Programmieriung mit Modula-2

Includes bibliographical references (p. [253]) and index

内容説明・目次

内容説明

This book is intended for the novice as well as for the experienced programmer who wants to learn Modula-2. We do not limit ourselves to just a description of Modula-2. Instead, we seek to familiarize the reader with the concept of algorithms and to show him/her how to implement algorithms in Modula-2. The programming language Modula-2 was developed by Niklaus Wirth (also the father of world-famous Pascal) and made public in 1978. Compared to other programming languages such as Ada, COBOL or PL/!, Modula-2 is a compact language, which makes it easy to learn. Nevertheless, Modula-2 contains all important language elements necessary for formulating complicated algorithms and for implementing the modern concepts of software engineering. Modula-2 is distinguished by a systematic structure that makes it possible to write easily readable programs. The language supports many of the principles of modern software engineering. All this makes Modula-2 a useful instrument for an introduction to the basics of programming. This textbook strives to establish a solid foundation in the techniques of programming with up-to-date methods of program development. Use of the programming language Modula-2 is reinforced with numerous hands-on exercises. This book does not presuppose any knowledge of programming, but it does require a certain ability in the realm of abstract thinking, some pleasure in problem solving, and a desire to come to terms with complex interrelationships.

目次

1 Algorithms.- 1.1 Examples of Algorithms.- 1.2 Definition of the Term "Algorithm".- 1.3 Objects and Actions.- 1.4 Means of Representing Algorithms.- 1.5 Some Simple Algorithms.- 1.6 Algorithms and Programs.- Exercises.- 2 Principles of Program Development.- 2.1 The Principle of Stepwise Refinement.- 2.2 Data Capsules.- 2.3 The Module Concept.- Exercises.- 3 The Programming Language Modula-2.- 3.1 Notation for Language Description.- 3.2 Lexical Elements of Modula-2.- 3.2.1 Identifiers.- 3.2.2 Keywords.- 3.2.3 Numbers.- 3.2.4 Character Strings.- 3.2.5 Operators and Delimiters.- 3.2.6 Separation of Symbols.- 3.2.7 Comments.- Exercises.- 3.3 Elementary Program Structure.- 3.4 Declarations.- 3.4.1 Data Types.- 3.4.1.1 Predefined Data Types.- 3.4.1.2 Elementary User-Defined Data Types.- 3.4.1.3 Structured Data Types.- 3.4.2 Declaration of Constants.- 3.4.3 Declaration of Types.- 3.4.4 Declaration of Variables.- 3.4.5 Type Identity Among Objects.- Exercises.- 3.5 Expressions.- 3.5.1 Classes of Expressions.- 3.5.2 Operands.- 3.5.3 Operators.- 3.5.4 Rules for Writing Expressions.- 3.5.5 Expression Compatibility of Operands.- Exercises.- 3.6 Statements.- 3.6.1 Assignment.- 3.6.2 Conditional Statements.- 3.6.2.1 The IF Statement.- 3.6.2.2 The CASE Statement.- Exercises.- 3.6.3 Loops.- 3.6.3.1 The WHILE Statement.- 3.6.3.2 The REPEAT Statement.- 3.6.3.3 The FOR Statement.- 3.6.3.4 The LOOP and EXIT Statements.- Exercises.- 3.6.4 The WITH Statement.- Exercises.- 3.7 Procedures.- 3.7.1 Declaration of Procedures.- 3.7.2 Invocation of Procedures.- 3.7.3 The RETURN Statement.- 3.7.4 Function Procedures.- 3.7.5 Scope and Lifetime of Objects in Procedures.- 3.7.6 Data Exchange Between Procedures.- 3.7.7 ARRAY Parameters.- 3.7.8 Standard Procedures.- 3.7.9 PROCEDURE Types and Procedure Variables.- Exercises.- 3.8 The Module Concept of Modula-2.- 3.8.1 Local Modules.- 3.8.2 Scope and Lifetime of Objects in Modules.- 3.8.3 Modules and Separate Compilation.- 3.8.3.1 Definition Modules.- 3.8.3.2 Implementation Modules.- Exercises.- 3.9 System-Dependent Language Properties.- 3.9.1 The Module SYSTEM.- 3.9.2 Type Transfer Functions.- 3.9.3 Absolute Addressing of Variables.- 3.10 Processes and Coroutines.- 3.10.1 Creation and Synchronization of Processes.- 3.10.2 Interrupts and Priorities.- 4 Writing Modula-2 Programs.- 4.1 Some Simple Modula-2 Programs.- 4.2 Input/Output.- 4.2.1 The Module Terminal.- 4.2.2 The Modules InOut and RealInOut.- 4.2.3 The Module FileSystem.- 4.3 Dynamic Data Structures.- 4.3.1 Working with Dynamic Data Structures.- 4.3.2 Dynamically Created RECORDS with Variants.- 4.4 Recursion.- 4.4.1 Recursive Procedures.- 4.4.2 Inner Structure of Recursive Procedures and How They Work.- 4.4.3 Some Examples of Recursive Algorithms.- 4.4.4 Advantages and Disadvantages of Recursive Programming.- 4.5 Language Extension Modules.- 4.5.1 The Module MathLib0.- 4.5.2 The Module String.- 4.5.3 The Module Storage.- 4.6 Parallel Processes.- Exercises.- 5 Programming Style and Program Testing.- 5.1 Programming Style.- 5.1.1 Structure.- 5.1.2 Naming Conventions.- 5.1.3 Commentary.- 5.1.4 Outward Form of Programs.- 5.2 Program Testing.- 5.2.1 Types of Error.- 5.2.2 The Testing Procedure.- 5.2.3 Built-in Testing and Debugging Aids.- 5.2.4 Debuggers.- 6 Software Engineering with Modula-2.- 6.1 Modula-2 as a Tool for Specification.- 6.2 Modularizing and Structuring.- 6.3 Data Capsules and Data Abstraction.- 6.4 Separate Compilation and Type Binding.- Appendix A: Syntax Diagrams.- Appendix B: Predefined Identifiers.- Appendix C: Compatibility Rules.- Appendix D: ASCII Table.- References.

「Nielsen BookData」 より

詳細情報

  • NII書誌ID(NCID)
    BA12010537
  • ISBN
    • 3540520384
    • 0387520384
  • LCCN
    90010220
  • 出版国コード
    us
  • タイトル言語コード
    eng
  • 本文言語コード
    eng
  • 原本言語コード
    ger
  • 出版地
    New York ; Tokyo
  • ページ数/冊数
    x, 261 p.
  • 大きさ
    24 cm
  • 分類
  • 件名
ページトップへ