TABLE OF CONTENTS
|
Giới thiệu |
Ngôn ngữ lập trình Pascal
|
Phần mềm TURBO PASCAL |
Lưu ý về giáo trình
|
TYPOGRAPHY - 2
|
Chương 1: Hệ thống TURBO PASCAL
|
1.1. BEFORE USE - 4
|
1.2. IMPORTANT
NOTE!!! - 4
|
1.3. FILES ON THE
DISTRIBUTION DISK - 4
|
1.4. STARTING TURBO
PASCAL - 5
|
1.5. INSTALLATION -
6
|
1.5. 1.
INSTALLATION OF EDITING COMMANDS - 7
|
1.6. THE MENU - 8
|
1.6.1. LOGGED DRIVE
SELECTION - 8
|
1.6.2. WORK FILE
SelECTION - 9
|
1.6.3. MAIN FILE
SELECTION - 10
|
1.6.4. EDIT COMMAND
- 10
|
1.6.5. COMPILE
COMMAND-11
|
1.6.6. RUN COMMAND
- 11
|
1.6.7. SAVE COMMAND
- 11
|
1.6.8. DIRECTORY
COMMAND - 11
|
1.6.9. QUIT COMMAND
- 12
|
1.6.10. COMPILER
OPTIONS - 12
|
1.7. THE TURBO
EDITOR - 12
|
1.7.1. THE STATUS
LINE - 13
|
1.7.2. EDITING
COMMANDS - 13
|
1.7.3. A NOTE ON
CONTROL CHARACTERS - 15
|
1.7.4. BEFORE YOU
START: HOW TO GET OUT - 15
|
1.7.5. BASIC
MOVEMENT COMMANDS - 16
|
1.7.6. EXTENDED
MOVEMENT COMMANDS - 18
|
1.7.7. INSERT AND DELETE COMMANDS - 20
|
1.7.8. BLOCK
COMMANDS - 21
|
1.7.9.
MISCELLANEOUS EDITING COMMANDS - 23
|
1.8. THE TURBO
EDITOR VS. WORDSTAR - 28
|
1.8.1. CURSOR
MOVEMENT - 28
|
1.8.2. MARK SINGLE
WORD - 28
|
1.8.3. END EDIT -
28
|
1.8.4. LINE RESTORE
- 28
|
1.8.5. TABULATOR -
29
|
Page ii T ABLE OF
CONTENTS
|
1.8.6. AUTO
INDENTATION - 29
|
Chapter 2. BASIC
LANGUAGE ELEMENTS - 30
|
2.1. BASIC SYMBOLS
- 30
|
2.2. RESERVED WORDS
- 30
|
2.3. STANDARD
IDENTIFIERS - 31
|
2.4. DELIMITERS -
32
|
2.5. PROGRAM LINES
- 32
|
Chapter 3. STANDARD
.SCALAR TYPES - 33
|
3.1. INTEGER - 33
|
3.2. BYTE - 33
|
3.3. REAL - 33
|
3.4. BOOLEAN - 34
|
3.5. CHAR - 34
|
Chapter 4.
USER-DEFINED LANGUAGE ELEMENTS - 3S
|
4.1.
IDENTIFIERS - 35
|
4.2. NUMBERS - 35
|
4.3. STRINGS - 36
|
4.3.1. CONTROL
CHARACTERS - 37
|
4.4. COMMENTS - 37
|
4.5. COMPILER
DIRECTIVES - 38
|
Chapter S. PROGRAM
HEADING AND PROGRAM BLOCK - 39
|
5.1. PROGRAM
HEADING - 39
|
5.2. DECLARA TION
PART - 39
|
5.2.1. LABEL
DECLARATION PART - 40
|
5.2.2. CONSTANT
DEFINITION PART - 40
|
5.2.3. TYPE
DEFINITION PART - 41
|
5.2.4. VARIABLE
DECLARATION PART - 41
|
5.2.5. PROCEDURE
AND FUNCTION DECLARATION PART - 42
|
5.3. ST A TEMENT
PART - 42
|
Chapter 6.
EXPRESSIONS - 43
|
6.1. OPERATORS - 43
|
6.1.1. UNARY MINUS
- 43
|
6.1.2. NOT OPERATOR
- 44
|
6.1.3. MUL TIPL
YING OPERA TORS - 44
|
6.1.4. ADDING
OPERATORS - 45
|
6.1.5. RELATIONAL
OPERATORS - 45
|
TABLE OF CONTENTS
Page iii
|
6.2. FUNCTION
DESIGNATORS - 46
|
Chapter 7.
STATEMENTS - 47
|
7.1. SIMPLE
STATEMENTS - 47
|
7.1.1. ASSIGNMENT
STATEMENT - 47
|
7.1.2. PROCEDURE
STATEMENT - 47
|
7.1.3. GO TO
STATEMENT - .48
|
7.1.4. EMPTY
STATEMENT - 48
|
7.2. STRUCTURED
STATEMENTS - 49
|
7.2.1. COMPOUND
STATEMENT - 49
|
7.2.2. CONDITIONAL
STATEMENTS - 49
|
7.2.2.1. IF STATEMENT - 49
|
7.2.2.2. CASE
STATEMENT - 50
|
7.2.3. REPETITIVE
STATEMENTS - 51
|
7.2.3.1. FOR
STATEMENT - 52
|
7.2.3.2. WHILE
STATEMENT - 52
|
7.2.3.3. REPEA T
STATEMENT - 53
|
Chapter 8. SCALAR
AND SUBRANGE TYPES - 54
|
8.1. SCALAR TYPE -
54
|
8.2. SUBRANGE TYPE
- 55
|
8.3. TYPE
CONVERSION - 56
|
8.4. RANGE CHECKING
- 56
|
Chapter 9. STRING
TYPE - 58
|
9.1. STRING TYPE
DEFINITION - 58
|
9.2. STRING
EXPRESSIONS - 58
|
9.3. STRING
ASSIGNMENT - 59
|
9.4. STRING
PROCEDURES - 60
|
9.4.1. DELETE - 60
|
9.4.2. INSERT - 60
|
9.4.3. STR - 61
|
9.4.4. VAL - 61
|
9.5. STRING
FUNCTIONS - 62
|
9.5.1. COpy - 62
|
9.5.2. CONCAT - 62
|
9.5.3. LENGTH - 63
|
9.5.4. POS - 63
|
9.6. STRINGS AND
CHARACTERS - 63
|
Page iv T ABLE OF
CONTENTS
|
Chapter 10. ARRAY
TYPE - 65
|
10.1. ARRAY
DEFINITION - 65
|
10.2.
MULTIDIMENSIONAL ARRAYS - 66
|
10.3. CHARACTER
ARRAYS - 67
|
10.4. PREDEFINED
ARRAYS - 67
|
Chapter 11. RECORD
TYPE - 68
|
11.1. RECORD
DEFINITION - 68
|
11.2. WITH
STATEMENT - 70
|
11.3. VARIANT
RECORDS - 71
|
Chapter 12. SET
TYPE - 73
|
12.1. SET TYPE
DEFINITION - 73
|
12.2. SET
EXPRESSIONS - 74
|
12.2.1. SET
CONSTRUCTORS - 74
|
12.2.2. SET'
OPERATORS - 75
|
12.3. SET
ASSIGNMENTS - 76
|
Chapter 13. TYPED
CONSTANTS - 77
|
13.1. UNSTRUCTURED
TYPED CONSTANTS - 77
|
13.2. STRUCTURED
TYPED CONSTANTS - 78
|
13.2.1. ARRAY
CONSTANTS - 78
|
13.2.2.
MULTI-DIMENSIONAL ARRA Y CONSTANTS - 79
|
13.2.3. RECORD
CONSTANTS - 79
|
13.2.4. SET
CONSTANTS - 80
|
Chapter 14. FILE
TYPES - 81
|
14.1. FILE TYPE
DEFINITION - 81
|
14.2. OPERA TIONS
ON FILES - 82
|
14.2.1. ASSIGN - 82
|
14.2.2. REWRITE -
82
|
14.2.3. RESET - 82
|
14.2.4. READ - 83
|
14.2.5. WRITE - 83
|
14.2.6. SEEK - 83
|
14.2.7. FLUSH - 83
|
14.2.8. CLOSE - 84
|
14.2.9. ERASE - 84
|
14.2.10. RENAME -
84
|
14.3. FILE STANDARD
FUNCTIONS - 85
|
14.3.1. EOF - 85
|
T ABLE OF CONTENTS
Page v
|
14.3.2. FILEPOS -
85
|
14.3.3. FILESIZE -
85
|
14.4. USING FILES -
86
|
14.5. TEXT FILES -
88
|
14.5.1. OPERATIONS
ON TEXT FILES - 88
|
14.5.1.1. READLN -
89
|
14.5.1.2. WRITELN -
89
|
14.5.1.3. EOLN - 89
|
14.5.1.4. SEEKEOLN
- 89
|
14.5.1.5. SEEKEOF -
89
|
14.5.2. LOGICAL
DEVICES - 91
|
14.5.3. ST ANDARD
FILES - 92
|
14.6. TEXT INPUT
AND OUTPUT - 95
|
14.6.1. READ
PROCEDURE - 95
|
14.6.2. READLN
PROCEDURE - 98
|
14.6.3. WRITE
PROCEDURE - 98
|
14.6.3.1. WRITE
PARAMETERS - 99
|
14.6.4. WRITELN
PROCEDURE - 100
|
14.7. UNTYPED FILES
- 101
|
14.7.1. BLOCKREAD
AND BLOCKWRITE - 101
|
14.8. I/O CHECKING
- 103
|
Chapter 15. POINTER
TYPES - 105
|
15.1. DEFINING A
POINTER VARIABLE - 105
|
15.2. ALLOCA TING
VARIABLES (NEW) - 106
|
15.3. MARK AND
RELEASE - 106
|
15.4. USING
POINTERS - 107
|
15.5. DISPOSE - 109
|
15.6. GETMEM - 110
|
15.7. FREEMEM - 111
|
15.8. MAXAVAIL -
111
|
15.9. HINTS - 111
|
Chapter 16.
PROCEDURES AND FUNCTIONS - 112
|
16.1. PARAMETERS -
112
|
16.1.1. RELAXATIONS
ON PARAMETER TYPE CHECKING - 114
|
16.1.2. UNTYPED
VARIABLE PARAMETER S - 115
|
16.2. PROCEDURES -
116
|
16.2.1. PROCEDURE
DECLARATION - 116.
|
16.2.2. STANDARD
PROCEDURES - 118
|
16.2.2.1. CLREOL -
118
|
Page vi T ABLE OF
CONTENTS
|
16.2.2.2. CLRSCR -
118
|
16.2.2.3. CRTINIT -
119
|
16.2.2.4. CRTEXIT -
119
|
16.2.2.5. DELAY -
119
|
16.2.2.6. DELLINE -
119
|
16.2.2.7.
INSLINE - 119
|
16.2.2.8. COTOXY -
120
|
16.2.2.9. EXIT -
120
|
16.2.2.10. HALT -
120
|
16.2.2.11. LOWVIDEO
- 120
|
16.2.2.12.
NORMVIDEO - 120
|
16.2.2.13.
RANDOMIZE - 121
|
16.2.2.14. MOVE -
121
|
16.2.2.15. FILLCHAR
- 121
|
16.3. FUNCTIONS -
121
|
16.3.1. FUNCTION
DECLARATION - 121
|
16.3.2. STANDARD
FUNCTIONS - 123
|
16.3.2.1.
ARITHMETIC FUNCTIONS - 124
|
16.3.2.1.1. ABS -
124
|
16.3.2.1.2. ARCTAN
- 124
|
16.3.2.1.3. COS -
124
|
16.3.2.1.4. EXP -
124
|
16.3.2.1.5. FRAC -
124
|
16.3.2.1.6. INT -
125
|
16.3.2.1.7. LN -
125
|
16.3.2.1.8. SIN -
125
|
16.3.2.1.9. SQR - 125
|
16.3.2.1.10. SQRT -
125
|
16.3.2.2. SCALAR
FUNCTIONS - 126
|
16.3.2.2.1. PRED -
126
|
16.3.2.2.2. SUCC -
126
|
16.3.2.2.3. ODD -
126
|
16.3.2.3. TRANSFER
FUNCTIONS - 126
|
16.3.2.3.1. CHR -
126
|
16.3.2.3.2. ORO -
126
|
16.3.2.3.3. ROUND -
127
|
16.3.2.3.4. TRUNC -
127
|
16.3.2.4.
MISCELLANEOUS STANDARD FUNCTIONS - 127
|
16.3.2.4.1. HI -
127
|
16.3.2.4.2.
KEYPRESSED - 127
|
16.3.2.4.3. LO -
128
|
TABLE OF CONTENTS
Page vii
|
16.3.2.4.4. RANDOM
- 128
|
16.3.2.4.5.
RANDOM(NUM) - 128
|
16.3.2.4.6. PARAMCOUNT
- 128
|
16.3.2.4.7.
PARAMSTR - 128
|
16.3.2.4.8. SIZEOF
- 129
|
16.3.2.4.9. SWAP -
129
|
16.3.2.4.10. UPCASE
- 129
|
16.4. FORWARD
REFERENCES - 129
|
Chapter 17.
INCLUDING FilES - 132
|
Chapter 18. OVERLAY
SYSTEM - 134
|
18.1. CREATING
OVERLAYS - 137
|
18.2. NESTED
OVERLAYS - 139
|
18.3. AUTOMATIC
OVERLAY MANAGEMENT - 140
|
18.4. PLACING 0
VERLA Y FILES - 141
|
18.5. EFFICIENT USE
OF OVERLAYS - 141
|
18.6. RESTRICTIONS
IMPOSED ON OVERLAYS - 141
|
18.6.1. DATA AREA -
141
|
18.6.2. FORWARD
DECLARATIONS - 142
|
18.6.3. RECURSION -
142
|
18.6.4. RUN-TIME
ERRORS - 142
|
Chapter 19. IBM PC
GOODIES - Omitted from this edition
|
Chapter 20. PC-DOS
AND MS-DOS - Omitted from this edition
|
Chapter 21. CP
/M-86 - Omitted from this edition
|
Chapter 22. CP/M-80
- 143
|
22.1. EXECUTE
COMMAND - 143
|
22.2. COMPILER
OPTIONS - 143
|
22.2.1. MEMORY ICOM
FILE/CHN FILE - 144
|
22.2.2. ST ART
ADDRESS - 145
|
22.2.3. END ADDRESS
- 145
|
22.2.4. COMMAND
LINE PARAMETERS - 145
|
22.2.5. FIND
RUNTIME ERROR - 146
|
22.3. ST ANDARD
IDENTIFIERS - 146
|
22.4. CHAIN AND
EXECUTE - 146
|
22.5. OVERLAYS -
149
|
22.5.1. OVRDRIVE
PROCEDURE - 149
|
Page viii T ABLE OF
CONTENTS
|
22.6. FILES - 150
|
22.6.1. FILE NAMES
- 150
|
22.6.2. TEXT FILES
- 150
|
22.7. ABSOLUTE VARIABLES
- 150
|
22.8. ADDR FUNCTION
- 151
|
22.9. PREDEFINED
ARRAYS - 152
|
22.9.1. MEM ARRAY -
152
|
22.9.2. PORT ARRAY
- 152
|
22.10. ARRAY
SUBSCRIPT OPTIMIZATION - 153
|
22.11. WITH
STATEMENTS - 153
|
22.12.
POINTER-RELATED ITEMS - 153
|
22.12.1. MEMAVAIL -
153
|
22.12.2. POINTERS
AND INTEGERS - 153
|
22.13. CPIM
FUNCTION CALLS - 154
|
22.13.1. BDOS
PROCEDURE AND FUNCTION - 154
|
22.13.2. BDOSHL
FUNCTION - 154
|
22.13.3. BIOS
PROCEDURE AND FUNCTION - 154
|
22.13.4. BIOSHL
FUNCTION - 155
|
22.14. USER-WRITTEN
1/0 DRIVERS - 155
|
22.15. - EXTERNAL
SUBPROGRAMS - 156
|
22.16. IN-LINE
MACHINE CODE - 157
|
22.17. INTERRUPT
HANDLING - 158
|
22.18. INTERNAL
DATA FORMATS - 159
|
22.18.1. BASIC DATA
TYPES - 160
|
22.18.1.1. SCALARS
- 160
|
22.18.1.2. REALS -
160
|
22.18.1.3. STRINGS
- 161
|
22.18.1.4. SETS -
1.61
|
22.18.1.5. FILE
INTERFACE BLOCKS - 162
|
22.18.1.6. POINTERS
- 163
|
22.18.2. DATA
STRUCTURES - 163
|
22.18.2.1. ARRAYS -
163
|
22.18.2.2. RECORDS
- 164
|
22.18.2.3. DISK
FILES - 164
|
22.18.2.3.1.
RANDOM-ACCESS FILES - 164
|
22.18.2.3.2. TEXT
FilES - 165
|
22.18.3. PARAMETERS
- 165
|
22.18.3.1. VARIABLE
PARAMETERS - 165
|
22;-18.3.2. VALUE
PARAMETERS - 165
|
22.18.3.2.1.
SCALARS - 165
|
22.18.3.2.2. REALS
- 166
|
Giáo trình Pascal cơ bản
tháng 4 12, 2017