Г л а в а 1. Почему именно Фортран и персональные ЭВМ? | 5 |
1.1. Почему именно Фортран? | 5 |
1.2. Почему именно персональные ЭВМ? | 6 |
1.3. Итак, зачем написана эта книга? | 9 |
1.4. Что можно найти в книге? | 11 |
1.5. Чего нет в книге? | 12 |
1.6. Что вам понадобится при чтении? | 13 |
1.7. Аннотированный список литературы | 14 |
|
Г л а в а 2. Архитектура микроЭВМ | 17 |
2.1. Введение | 17 |
2.2. Загрузка и запуск исполняемой программы | 19 |
2.3. Определения | 21 |
2.4. Регистры | 25 |
2.5. Регистры данных | 27 |
2.6. Регистр состояния | 28 |
2.7. Вызов подпрограммы ассемблера из фортран-программы | 30 |
2.8. Аннотированный список литературы | 38 |
|
Г л а в а 3. Дисковая операционная система | 40 |
3.1. Введение | 40 |
3.2. PC/MS DOS I, 2, 3, ... — что они делают, их история | 42 |
3.3. Будущее | 46 |
3.4. Структура DOS | 47 |
3.5. Функции программного прерывания DOS | 51 |
3.6. Примеры использования функций прерывания DOS | 52 |
|
Г л а в а 4. Программы, файлы и имена файлов | 60 |
4.1. Введение | 60 |
4.2. Гибкие и жёсткие диски | 60 |
4.3. Как файлы хранятся на диске | 61 |
4.4. Имена файлов | 63 |
4.5. Создание и редактирование исходных программ и файлов данных | 65 |
4.6. Файлы Фортрана | 67 |
4.7. Вопросы, связанные с DOS | 69 |
4.8. Функции DOS и файлы | 70 |
|
Г л а в а 5. Компиляция, компоновка и отладка | 80 |
5.1. Что такое компилятор? | 80 |
5.2. Что делает компилятор Фортрана? | 81 |
5.3. Что делает компоновщик? | 84 |
5.4. Параметры компиляции | 85 |
5.5. Оптимизирующие компиляторы | 86 |
5.6. Организация рабочих дисков | 88 |
5.7. Отладка | 89 |
5.8. Каковы требования к отладчику высокого уровня? | 90 |
5.9. Другие утилиты общего назначения в отладчиках | 94 |
5.10. Отладчик Codeview фирмы Microsoft | 95 |
5.11. Заключение | 96 |
|
Г л а в а 6. Точность, ошибки и правильный результат | 97 |
6.1. Почему данные хранятся в различном формате? | 97 |
6.2. Ошибки при обработке чисел | 102 |
6.3. Примеры | 103 |
64. Библиотечное математическое обеспечение компиляторов Фортрана | 106 |
6.5. Заключение | 108 |
|
Г л а в а 7. Читаемость и поддержка программ | 108 |
7.1. Что такое читаемая и поддерживаемая программы? | 109 |
7.2. Комментарии | 110 |
7.3. Скобки, структура программы и применение пробелов | 113 |
74. Встроенные функции | 116 |
7.5. IF... THEN ELSE ENDIF | 117 |
76. Имена переменных | 120 |
77. Подпрограммы | 121 |
7.8. Списки параметров вместо блоков COMMON | 124 |
7.9. Метки и размещение операторов | 126 |
7.10. Заключение | 127 |
|
Г л а в а 8. Организация обмена и переносимые программы | 128 |
8.1. Введение | 128 |
8.2. Линии связи | 129 |
8.3. Переход от дисков 5,25 дюйма к дискам 3,5 дюйма и обратно | 132 |
8.4. Эмуляция терминала | 132 |
8.5. Линии связи общего назначения | 134 |
8.6. Некоторые непредвиденные трудности | 137 |
8.7. Переносимые программы | 138 |
8.8. Точность программы после переноса | 141 |
8.9. Изменение стандарта Фортрана | 142 |
8.10. Фортран 8х | 144 |
|
Г л а в а 9. Вызов фортран-программы и других интерфейсов DOS | 145 |
9.1. DOS и командные файлы | 145 |
9.2. Переназначение ввода-вывода | 146 |
9.3. Другие применения переназначения | 148 |
9.4. Использование «окружения» | 150 |
9.5. Определение имён файлов с помощью командной строки | 150 |
9.6. Программа на ассемблере для фиксации «хвоста» команды | 152 |
9.7. Управление файлами DOS из фортран-программы | 154 |
9.8. Краткое описание подпрограммы DLDIRE.ASM | 156 |
|
Г л а в а 10. Эффективное использование памяти | 157 |
10.1. Введение | 157 |
10.2. Компилятор | 159 |
10.3. Сегментная память — сердце микропроцессора в компьютерах с DOS | 161 |
10.4. Модели памяти при программировании на ПК | 163 |
10.5. Реализация моделей памяти в версиях Фортрана для ПК | 165 |
10.6. Эффективное использование пространства памяти | 167 |
10.7. Передача параметров и вызов подпрограмм в Фортране фирмы Microsoft | 170 |
10.8. Фрагменты программ | 171 |
10.9. Оверлейные структуры | 178 |
10.10. Проектирование программ с наилучшим использованием оверлейных структур | 181 |
10.11. Оверлейные структуры и компоновка программ | 181 |
10.12. Разновидность оверлейной структуры: создание подзадачи | 183 |
10.13. Преимущества и недостатки порождаемых программ по сравнению с оверлейными структурами | 188 |
10.14. Процессоры 80x86, наращенная и расширенная память | 189 |
|
Г л а в а 11. Работа на медленном компьютере | 190 |
11.1 Введение | 190 |
11.2. Аппаратные средства | 192 |
11.3. Разработка программы | 194 |
11.4. Утилита МАКЕ | 196 |
11.5. Программирование с целью ускорения процесса компиляции | 197 |
11.6. Выполнение программы | 197 |
11.7. Вопросы программного обеспечения | 198 |
11.8. Выбор компилятора | 200 |
11.9. Требования к исходной программе | 202 |
11.10. Выбор библиотеки | 203 |
11.11. Структуры данных | 205 |
11.12. Оптимизация структур циклов | 205 |
11.13. Операторы IF | 208 |
11.14. Использование операторов DATA | 209 |
11.15. Использование функций | 211 |
11.16. Выбор алгоритма | 212 |
11.17. Совершенствование операций ввода-вывода | 213 |
11.18. Использование дисков в качестве внешней памяти | 214 |
11.19. Использование файлов прямого доступа | 217 |
11.20. Организация дисков | 218 |
11.21. Заключение | 218 |
|
Г л а в а 12. Работа с экраном: текстовые режимы | 219 |
12.1. Введение | 219 |
12.2. Дисплей | 220 |
12.3. Специальные экранные эффекты | 222 |
12.4. Использование ESC-последовательностей или функций BIOS для создания экранных эффектов | 227 |
12.5. Ввод данных в фортран-программу | 229 |
12.6. Считывание кодов клавиш | 230 |
12.7. Вывод на экран | 231 |
12.8. Общие процедуры вывода строк | 232 |
12.9. Позиционирование курсора | 236 |
12.10. Считывание с клавиатуры | 239 |
12.11. Общие принципы организации экранов ввода | 242 |
12.12. Меню | 244 |
12.13. Логическая последовательность экранов ввода | 248 |
12.14. «Падающие» или «всплывающие» меню | 249 |
12.15. Выбор клавиш для инициализации программных опций | 249 |
12.16. Общие вопросы ввода данных и редактирования | 250 |
|
Г л а в а 13. Работа с экраном: графический режим | 260 |
13.1. Введение | 260 |
13.2. Характеристики монитора | 261 |
13.3. Дампы экрана | 264 |
13.4. Характеристики графической системы ПК | 266 |
13.5. Служебные функции общего назначения | 266 |
13.6. Операции рисования | 267 |
13.7. Текстовые операции | 270 |
13.8. Функции запроса | 272 |
13.9. Растровые операции и «переклеивание» | 272 |
13.10. Ввод графических данных | 274 |
13.11. Обращение к графической системе | 276 |
13.12. Графические системы GSX и СЕМ фирмы Digital Research | 277 |
|
Г л а в а 14. Принтеры и плоттеры — в джунглях распечаток | 278 |
14.1. Введение | 278 |
14.2. Распечатка текстов | 278 |
14.3. Двоичная графика на точечно-матричном принтере и дамп экрана | 282 |
14.4. Пересылка отдельных спецсимволов | 283 |
14.5. Загружаемые символы | 284 |
14.6. Сложные линии и табулирование | 285 |
14.7. Рисование с помощью битовой графики | 286 |
14.8. Воспроизведение графических структур на точечно-матричном принтере | 288 |
14.9. Воспроизведение графических структур на плоттере | 290 |
14.10. Типы плоттеров и перьев | 291 |
14.11. Принципы программирования команд для плоттера | 293 |
14.12. Графический язык Hewlett Packard (HPGL) | 299 |
14.13. Инициализации плоттера в HPGL | 301 |
14.14. Типы линий в HPGL | 303 |
14.15. Графические примитивы в HPGL | 304 |
14.16. Текст в HPGL | 305 |
14.17. Выбор выходных графических устройств | 308 |
|
Г л а в а 15. Библиотеки и утилиты Фортрана | 310 |
15.1. Введение | 310 |
15.2. Что такое библиотеки Фортрана? | 311 |
15.3. Почему нужно пользоваться библиотеками? | 313 |
15.4. Библиотечная файловая система | 313 |
15.5. Система GSX | 314 |
15.6. Система GEM VDI | 316 |
15.7. Особенности программирования в среде GSX и GEM | 317 |
15.8. Обеспечение доступа к GEM VDI и GSX с помощью вызова через подпрограмму | 318 |
15.9. Использование дисковой библиотеки графических утилит | 323 |
15.10. Содержание библиотеки графики | 324 |
15.11. Расширение библиотеки | 326 |
15.12. Графический ввод | 327 |
15.13. Разработка прикладных программ, ориентированных на GEM или Windows | 327 |
15.14. Демонстрационная программа графики | 328 |
|
Г л а в а 16. Выбор фортран-компилятора | 234 |
16.1. Введение | 334 |
16.2. Пакеты фортран-компиляторов | 335 |
16.3. Другие виды системного программного обеспечения | 342 |
|
Приложение 1. Таблица кодов ASCII | 343 |
Приложение 2. Отличия стандартов Фортрана | 345 |
Приложение 3. Расширенные управляющие последовательности VT52 | 348 |