Развернуть ▼
Книга посвящена описанию АПЛ — универсального языка программирования высокого уровня. В ней излагаются основные понятия языка, дается их обобщение, обсуждаются различные "особые" случаи. Она знакомит с реализацией АПЛ на машинах IBM серий 360 и 370, организацией файловых систем и особенностями различных версий языка. Все понятия иллюстрируются примерами программ, часто встречающихся на практике. В конце каждой главы приводятся задачи. Книгу удобно использовать для изучения языка в диалоговом режиме — каждая глава соответствует одному сеансу работы с ЭВМ.
Книга будет полезной и интересной разработчикам математического обеспечения ЭВМ и программистам различной квалификации.
СодержаниеПредисловие редактора перевода
Предисловие
Предисловие ко второму изданию
Предисловие к первому изданию
Глава 1. Начало работы
Связь с вычислительной машиной. Что делает АПЛ-система. Аппаратура. Подключение к системе. Окончание работы. Вычислительная машина IBM 5100.
Глава 2. Некоторые элементарные операции
Элементарные арифметические операции. Сложение. Умножение. Вычитание. Деление. Исправление ошибок и комментарии. Работа с векторами. Вывод данных в IBM 5100. Исправление ошибок на IBM 5100. Задачи.
Глава 3. Полезные возможности
Присваивание. Матрицы. Действия над матрицами. Задачи.
Глава 4. Двуместные функции
Двуместные основные скалярные функции. Операционные таблицы для арифметических функций. Внешнее произведение. Показательная функция, Экспоненциальная форма записи. Задачи.
Глава 5. Еще пять двуместных функций
Логарифм. Максимум и минимум. Сочетание. Остаток. Задачи.
Глава 6. Логические функции и отношения
Отношения. Логические функции. Заключение. Задачи.
Глава 7. Алгоритмы, редукция и сканирование
Алгоритмы. Редукция. Еще один пример редукции. Редукция матриц. Алгоритм усреднения. Максимум-редукция, минимум-редукция и логическая редукция, Минус-редукция. Сканирование. Задачи.
Глава 8. Порядок вычислений
Дальнейшие приложения. Изменение порядка вычислений. Вычисление полинома, Строки и конструкции. Задачи
Глава 9. Одноместные и круговые функции
Одноместные основные скалярные функции. Арифметический минус. Факториал. Абсолютная величина. Обратная величина. Экспонента. Натуральный логарифм. Квадратный корень. Логическое отрицание. Округление вверх. Округление вниз. Случайное число. Идентичность. Знак. Умножение на л. Вычисление косинуса. Круговые функции. Учебное упражнение. Задачи.
Глава 10. Определение функций
Алгоритмы и функции. Определяемая функция ГИП. Определение функции. Диаграммы сопряжения. Составление и ввод функций. Одноместная определяемая функция. Снова функция косинус. Документирование функций. Еще несколько системных команд. Несколько замечаний об определении функций. Задачи.
Глава 11. Синтаксис функций
Заголовок функции. Функции с явным результатом. Функции с неявным результатом. Задачи.
Глава 12. Редактирование функций
Добавление строки. Замена одной строки на другую. Вставка строки между двумя другими. Как выполнить сразу несколько действий. Исключение строки. Распечатка только части функции. Детальное редактирование части строки. Редактирование заголовка. Запертые функции. Резюме. Задачи.
Глава 13. Типы переменных
Фиктивные переменные. Глобальные переменные. Локальные переменные. Использование глобальных переменных в качестве счетчиков. Функции с приостановленным выполнением. Задачи.
Глава 14. Смена рабочих областей
Содержимое рабочей области. Сохранение и повторный вызов рабочей области. Уничтожение рабочей области. Изменение сохраненной рабочей области. Рабочая область сохранить. Задачи.
Глава 15. Управление активной рабочей областью
Команда копирования. Команда идентификации. Группы объектов. Таблица имен. Команды выхода из системы. Средства защиты для охраны пользователя. Длина имен и паролей. Другие системные команды. Кассетный магнитофон IBM 5100 (режим самостоятельного использования). Запись информации на кассету. Передача информации с кассеты. Задачи.
Глава 16. Смешанные функции
Генератор индексов. Структура. Размерность. Конкатенация. Развертка. Перестройка Задачи.
Глава 17. Символьные данные ...
Несколько примеров. Смешанный вывод. Спецификация символьных переменных. Функции, работающие с символами. Еще немного о символьных значениях. Задачи.
Глава 18. Смешанные функции для упорядочения и выборки
Выдача индексов. Индексирование. Индексирование матрицы. Сжатие. Расширение. Задачи.
Глава 19. Еще несколько смешанных функций
Инверсия. Вращение. Выборка и отбрасывание. Принадлежность. Индексация по возрастанию и убыванию. Сдача. Несколько приложений к шифровальному делу. Еще одно учебное упражнение. Задачи.
Глава 20. Системы счисления
Декодирование. Кодирование. Применение кодирования и декодирования. Преобразование шестнадцатеричных чисел в десятичные. Числовое кодирование. Защита банковских чеков. Задачи.
Глава 21. Форматы ввода-вывода
Точность вывода. Функция формат. Задание форматов в системе APLltPLUS. Работа с символьными данными. Вывод по шаблону. Заполнители и задание позиции. Определители. Замена стандартных символов. Обрамление. Задачи.
Глава 22. Ветвление
Организация ветвления. Метки. Итерация. Примеры задания ветвления. Правила ветвления. Несколько замечаний о стиле программирования. Задачи.
Глава 23. Средства отладки
Трассировка и стоп-контроль. Рекурсия. Что делать, когда индикатор состояния переполнен. Счетчик строк. Задачи.
Глава 24. Многомерные массивы
Действия по одному измерению. Конкатенация и расслоение. Кодирование и декодирование. Транспонирование. Одноместное транспонирование. Двуместное транспонирование. Мнемоника знаков. Задачи.
Глава 25. Обобщенное внешнее произведение
Внешнее произведение многомерных массивов. Построение графиков. Задачи.
Глава 26. Обобщенное внутреннее произведение
Внутреннее произведение. Применения внутреннего произведения. Анализ электрических цепей. Работа с символьными данными. Задачи.
Глава 27. Коммерческие и инженерные задачи
Линейные уравнения. Квадратичное приближение и построение кривых. Сплайны. Несколько элементарных примеров вычислений. Задачи.
Глава 28. Ввод и вывод
Квадрат. Другие использования символа "квадрат". Символ «кавычка-квадрат". Расширение применений символа "кавычка-квадрат". Выход из зацикливания при вводе. Преобразование символьных данных в числовые. Защита от неопытных пользователей. Задачи.
Глава 29. Введение в файлы данных
Создание файла. Обновление файла. Извлечение данных из файла. Еще немного о работе с файлами.
Глава 30. Общие файлы
Доступ к файлу. Системы реального времени. Система резервирования мест в самолетах. Передача и переименование файлов. Пароль доступа и защита. Список функций, работающих с файлами.
Глава 31. Общие переменные
Что представляют собой общие переменные. Система резервирования мест в самолетах
Глава 32. Внутреннее устройство АПЛ-системы
Как хранятся данные в АПЛ-системе. Литералы. Целые числа. Числа с плавающей точкой. Битовое представление. Преобразование из одного типа представления в другой. Измерение объема памяти. Погрешности сравнения. Точность при печати. Ширина печати. Использование табуляции. Изменение начала отсчета индексов. Последовательность случайных чисел. Информация о счете, точное время и задержка вычислений. Определение загруженности системы. Прямая связь с оператором и другими пользователями. Задачи.
Глава 33. Еще о средствах и методах
Функция выполнить. Скрытое выражение. Другие возможности управления рабочей областью и управления работой. Преобразование символьных массивов в АПЛ-функции и обратно. Локальные функции. Исключение объектов во время выполнения программы. Запирание функций. Списки имен. Классификация имен. О других системных функциях в APLJVPLUS. Другие возможности получения списка и классификация имен. Размеры объектов. Исследование индикатора состояния. Другая информация об активной рабочей области. Задачи.
Приложение. Символы АПЛ
Ответы на задачи
Основные понятия АПЛ-системы
Предметный указатель