home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- CORONADO ENTERPRISES MODULA-2 TUTORIAL - Version 1.00
- (Generic Version)
-
-
- This documentation and the accompanying software,
- including all of the example programs and text files, are
- protected under United States Copyright law to protect them
- from unauthorized commercialization. This entire tutorial
- is distributed under the "Freeware" concept which means that
- you are not required to pay for it. You are permitted to
- copy the disks in their entirety and pass them on to a
- friend or acquaintance. In fact, you are encouraged to do
- so. You are permitted to charge a small fee to cover the
- mechanical costs of duplication, but the software itself
- must be distributed free of charge, and in its entirety.
-
- If you find the tutorial and the accompanying example
- programs useful, you may, if you desire, pay a small fee to
- the author to help compensate him for his time and expense
- in writing it. A payment of $10.00 is suggested as
- reasonable and sufficient. If you don't feel the tutorial
- was worth this amount, please do not make any payment, but
- feel free to send in the questionnaire anyway.
-
- Whether or not you send any payment, feel free to write
- to Coronado Enterprises and ask for the latest list of
- available tutorials and a list of the known Public Domain
- libraries that can supply you with this software for the
- price of copying. Please enclose a self addressed stamped
- envelope, business size preferred, for a copy of the latest
- information. See the accompanying "READ.ME" file on the
- disk for more information.
-
- I have no facilities for telephone support of this
- tutorial and have no plans to institute such. If you find
- any problems, or if you have any suggestions, please write
- to me at the address below.
-
- Gordon Dodrill - March 16, 1987
-
-
-
- Copyright (c) 1987, Coronado Enterprises
-
-
- Coronado Enterprises
- 12501 Coronado Ave NE
- Albuquerque, New Mexico 87122
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- TABLE OF CONTENTS
-
- Introduction to the Modula-2 Tutorial Page 1
- FIRSTEX.MOD The first example program
-
- Part I - Modula-2 is like Pascal
-
- Chapter 1 - What is a computer program? Page 5
-
- Chapter 2 - Getting started in Modula-2 Page 8
- PUPPYDOG.MOD The minimum Modula-2 program
- WRITESM.MOD Write something on the monitor
- MODCOMS.MOD Modula-2 comments
- GOODFORM.MOD Good formatting example
- UGLYFORM.MOD Ugly formatting example
-
- Chapter 3 - The simple Modula-2 data types Page 13
- INTVAR.MOD Integer variables
- INTMATH.MOD Integer variable math examples
- CARDMATH.MOD Cardinal variable math examples
- REALMATH.MOD Real variable math example
- BOOLMATH.MOD Boolean variable math example
- CHARDEMO.MOD Character variable demonstration
- TRANSFER.MOD Transfer between types
-
- Chapter 4 - Modula-2 loops and control structures Page 23
- LOOPDEMO.MOD Loop demonstration
- IFDEMO.MOD Conditional branching
- LOOPIF.MOD Loops and IF's together
- TEMPCONV.MOD Temperature conversion
- DUMBCONV.MOD Poor variable names
- CASEDEMO.MOD CASE demonstration
-
-
- Chapter 5 - Modula-2 procedures Page 29
- PROCED1.MOD Simple procedures
- PROCED2.MOD Procedures with variables
- PROCED3.MOD Multiple variables
- PROCED4.MOD Scope of variables
- PROCED5.MOD Procedure calling procedures
- FUNCTION.MOD An example function
- RECURSON.MOD An example with recursion
-
- Chapter 6 - Arrays, types, constants, and labels Page 37
- ARRAYS.MOD Simple arrays
- ARRAYS2.MOD Multiple arrays
- TYPES.MOD Example of types
- CONSTANT.MOD Example of constants
- ARAYPASS.MOD Pass Array to Procedure
- STRINGEX.MOD String Handling Examples
-
- Chapter 7 - Overall Program Construction Page 46
- OVERPROG.MOD Overall Program Construction
- MOREPROG.MOD More Program Construction
- LASTPROG.MOD Scrambled Order of Definitions
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 8 - Input/Output and Printing Page 49
- SIMPLOUT.MOD Simple Monitor Output
- SIMPLIN.MOD Simple Keyboard Input
- FILEIO.MOD File I/O with InOut
- VARYFILE.MOD Variable Filename Input
- PRINTFLE.MOD Printer and File Output
-
- Chapter 9 - Example Programs Page 58
- TIMEDATE.MOD Time and Date Example
- AREAS.MOD Calculate Areas
- PC.MOD Printer Control
- LIST.MOD List Program File
-
- Part II - Advanced Topics
-
- Chapter 10 - Scalars, subranges, and sets Page 60
- ENTYPES.MOD Enumerated Types
- SUBRANGE.MOD Subranges
- SETS.MOD A SET example
-
- Chapter 11 - Records Page 65
- SMALLREC.MOD A Small Record Example
- BIGREC.MOD A Larger Record Example
- VARREC.MOD A Variant Record Example
-
- Chapter 12 - Pointers and Dynamic Allocation Page 72
- POINTERS.MOD Pointer Example
- DYNREC.MOD A Dynamically Allocated Record
- LINKLIST.MOD A linked List
-
- Part III - Modula-2 extends Pascal
-
- Chapter 13 - Modules, Local and Global Page 81
- LOCMOD1.MOD Local Module Demonstration
- LOCMOD2.MOD Local Module Demonstration
- CIRCLES.DEF Global Module - Definition
- CIRCLES.MOD Global Module - Implementation
- GARDEN.MOD Calls Module "MYCALCUL"
- PROCTYPE.MOD Procedure Type Example
-
- Chapter 14 - Machine Dependent Facilities Page 89
- TYPEREL.MOD Type relaxation
- WORDADDR.MOD WORD and ADDRESS example
- ADRSTUFF.MOD Address manipulation
-
- Chapter 15 - Concurrency Page 94
- COROUT.MOD A Simple Coroutine
- COROUT2.MOD Added Features
- COROUT3.MOD Triple Coroutines
- INFINITE.MOD Infinite Execution Loop
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Chapter 16 - Complete example programs Page 99
- BAKLIST.MOD Get All filenames From Disk
- BAKCOPY.MOD Copy files from Fixed to Floppy
- BAKRSTR.MOD Read Floppy back to Fixed Disk
- DIRHELPS.DEF Directory help procedures
- DIRHELPS.MOD
- BITOPS.DEF Bit Level Operations
- BITOPS.MOD
- REAL2MON.DEF Real outputs to the monitor
- REAL2MON.MOD
- REAL2FIL.DEF Real outputs to a file
- REAL2FIL.MOD
-
-