Эта книга будет изготовлена в соответствии с Вашим заказом по технологии Print-on-Demand. В классическом учебнике тьюринговского лауреата Никлауса Вирта аккуратно, на тщательно подобранных примерах прорабатываются традиционные темы алгоритмики - сортировка и поиск, рекурсия, динамические структуры данных. Перевод на русский языквыполнен заново, все рассуждения и программы проверены и исправлены, часть примеров по согласованию с автором переработана с целью максимального прояснения их логики. Нотацией примеров теперь служит Оберон/Компонентный Паскаль - наиболее совершенный потомок старого Паскаля по прямой линии. Все программы проверены и работают в популярном варианте Оберона - системе Блэкбокс, и доступны в исходниках на прилагаемом CD вместе с самой системой и дополнительными материалами. Большая часть материала книги составляет необходимый минимум знаний по алгоритмике не только для программистов-профессионалов, но и любых других специалистов, активно использующих программирование в работе. Книга может быть использована как учебное пособие... Издательство: "ДМК Пресс" (2010)
БиографияНиклаус Вирт родился 15 февраля 1934 года в Винтертуре, в предместье Цюриха (Швейцария). Родители - Уолтер и Хедвиг Вирт. Отец Никлауса был школьным учителем. В детстве Никлаус Вирт увлекался авиамоделизмом и постройкой ракет, увлечение электроникой и системами программного управления началось с разработки устройств дистанционного управления для моделей. В поступил на факультет электроники Швейцарского федерального технологического института (ETH) в , где за четыре года получил степень по электротехнике. Продолжил обучение в Лавальском университете ( , ), в получил степень . Затем был приглашён в (США), где в , под руководством профессора Хаски, защитил диссертацию, темой которой стал язык программирования Эйлер (Euler) - расширение средствами языка . Диссертация Вирта была замечена сообществом разработчиков языков программирования, и в том же 1963 году он был приглашён в Комитет по стандартизации Алгола IFIP (Международной федерации информатики), который разрабатывал новый стандарт языка Алгол, впоследствии ставший . Вместе с Вирт отстаивал в комитете линию на разработку умеренно модифицированной версии Алгола, свободной от недостатков исходного языка и дополненной минимумом действительно необходимых средств. Вирт и Хоар представили комитету язык Algol-W (W - от Wirth), представлявший собой именно такую переработку Алгола, но поддержки не встретили. По завершении работы комитета в Вирт вошёл в число тех, кто критиковал Алгол-68, говоря о его недостаточной надёжности и чрезвычайной избыточности. Параллельно, с по годы Вирт работал ассистентом в , . Вместе с Джимом Уэльсом разработал и реализовал язык PL/360, предназначеннвый для программирования на платформе - алголоподобный язык, в который был введён ряд системно-зависимых возможностей, связанных с архитектурой IBM/360. В настоящее время вся классическая трилогия Вирта переведена его учениками на язык и доступна для скачивания из Сети в виде ПримечанияСсылки
|
АЛГОРИТМЫ + СТРУКТУРЫ ДАННЫХ = ПРОГРАММЫ
Монография известного швейцарского специалиста по системному программированию, знакомого советским читателям по переводу его книги «Систематическое программирование. Введение.» (М.: Мир. 1977). Она содержит описание и анализ основных алгоритмов, методов построения программ. Книгу можно использовать и как руководство по применению языка Паскаль в задачах математического обеспечения ЭВМ.
Для научных работников, преподавателей, аспирантов и студентов, специализирующихся по математическому обеспечению ЭВМ.
Предисловие редактора перевода | |
Предисловие | |
1. Фундаментальные структуры данных | |
1.1. Введение | |
1.2. Концепция типа для данных | |
1.3. Простые типы данных | |
1.4. Стандартные простые типы | |
1.5. Ограниченные тисы | |
1.6. Массивы | |
1.7. Записи | |
1.8. Записи с вариантами | |
1.9. Множество | |
1.10. Представление массивов, записей и множеств | |
1.11. Последовательный файл | |
Упражнения | |
Литература | |
2. Сортировка | |
2.1. Введение | |
2.2. Сортировка массивов | |
2.3. Сортировка последовательных файлов | |
Упражнения | |
Литература | |
3. Рекурсивные алгоритмы | |
3.1. Введение | |
3.2. Когда не нужно использовать рекурсию | |
3.3. Два примера рекурсивных программ | |
3.4. Алгоритмы с возвратом | |
3.5. Задача о восьми ферзях | |
3.6 Задача об устойчивых браках | |
3.7. Задача оптимального выбора | |
Упражнения | |
Литература | |
4. Динамические информационные структуры |
4.1. Рекурсивные типы данных | |||||
4.3. Линейные списки | |||||
4.4. Древовидные структуры | |||||
4.5. Сильно ветвящиеся деревья | |||||
4.6. Преобразования ключа (расстановка) | |||||
Упражнения | |||||
Литература | |||||
5. Структура языков и трансляторы | |||||
5.1. Определение и структура языка | |||||
5.2. Анализ предложений | |||||
5.3. Построение синтаксического графа | |||||
5.4. Построение программы грамматического разбора для заданного | |||||
синтаксиса | |||||
5.5. Построение таблично-управляемой программы грамматического | |||||
5.6. Преобразование БНФ в структуру данных, управляющую | |||||
грамматическим разбором | |||||
5.7. Язык программирования ПЛ/0 | |||||
5.8. Программа грамматического разбора для ПЛ/0 | |||||
5.9. Восстановление при синтаксических ошибках | |||||
5.10. Процессор ПЛ/0 | |||||
5.11. Формирование команд | |||||
Упражнения | |||||
Литература | |||||
Приложение А | |||||
Множество символов ASCII | |||||
Приложение В | |||||
Синтаксические диаграммы Паскаля | |||||
Указатель программ | |||||
Указатель | Указатель программ | ||||
1.1. Вычисление степеней двойки 30 | 2.6. Сортировка Шелла 89 | ||||
1.2. Сканер 42 | 2.7. Просеивание 93 | ||||
1.3. Чтение вещественного числа 63 | 2.8. Пирамидальная сортировка 95 |
||||
1.4. Печать вещественного числа 65 | 2.9. Разделение 97 | ||||
Сортировка | простыми | 2.10. Быстрая сортировка 99 | |||
включениями 79 | 2.11. Нерекурсивная версия быстрой |
||||
Сортировка | бинарными | сортировки 100 | |||
включениями 80 | 2.12. Поиск k-го элемента 105 | ||||
2.3. Сортировка простым выбором 82 | 2.13. Сортировка простым слиянием |
||||
Сортировка методом | пузырька | ||||
2.! 4. Сортировка естественным | |||||
2.5. Шейкер-сортировка 86 | слиянием 121 |
2.15. Сортировка сбалансированным | 4.6. Построение оптимального дерева |
|||||
слиянием 126 | поиска 274 | |||||
2.16. Многофазная сортировка 138 | 4.7. Поиск, включение и удаление в |
|||||
2.17. Распределение начальных серий | Б-дереве 290 | |||||
с помощью пирамиды 145 | Построение | |||||
3.1. Кривые Гильберта 157 | перекрестных | |||||
3.2. Кривые Серпинского 161 | использованием | |||||
3.3. Ход коня 167 | расстановки 308 | |||||
3.4. Восемь ферзей (одно решение) | Грамматический | |||||
синтаксиса из примера 5 334 | ||||||
3.5. Восемь ферзей (все решения) 174 | Грамматический | |||||
3.6. Устойчивые браки 180 | языка (5.12) 343 | |||||
3.7. Оптимальная выборка 184 | 5.3. Транслятор для языка (5.13) 345 |
|||||
4.1. Включение в список 204 | 5.4. Грамматический разбор для ПЛ/0 |
|||||
4.2. Топологическая сортировка 218 | ||||||
Построение | идеально | 5.5. Грамматический разбор для ПЛ/0 |
||||
сбалансированного дерева 227 | с восстановлением при ошибках |
|||||
4.4. Поиск с включениями 236 | ||||||
Построение | 5.6. Транслятор для ПЛ/0 380 | |||||
перекрестных ссылок 240 | ||||||
Адельсон-Вельский 248 | Указатель | |||||
Выбором простым 81 | ||||||
Адрес 44, 48 | Обменом простым 83 | |||||
Абсолютный 374 | Пирамидальной 90 | |||||
Базовый 374 | С разделением 96 | |||||
Возврата 374 | Слиянием естественным 115 | |||||
Относительный 374 | Слиянием многофазным 137 | |||||
Алгол-60 17, 320 | Простым 109 | |||||
Алгоритм включения в Б-дерево 285 | Сбалансированным N - | |||||
В ББ-дерево 296 | путевым 122 | |||||
В сбалансированное дерево 254 | Удаления из Б-дерева 288 | |||||
В список 200 | Из сбалансированного дерева |
|||||
Вычисления n -го факториального | ||||||
Шейкер-сортировки 85 | ||||||
Грамматического разбора 324 | Алгоритмы рекурсивные 9 | |||||
Линейного просмотра 203 | С возвратом 9, 168 | |||||
Поиска медианы 103 | Анализ алгоритмов сортировки 79, |
|||||
По дереву с включением 233 | 80, 82, 85, 88, 94, 100, 113 | |||||
Построения кустарников 300 | Балансировка 288 | |||||
Сортировки включениями | Банки данных 58 | |||||
бинарными 79 | Барабаны магнитные 57 | |||||
Простыми 78 | Барьер 79, 203, 233 | |||||
С убывающим приращением | ББ-дерево см. Б-дерево бинарное | |||||
(сортировка Шелла) 87 | Б-дерево 282 |
Б-дерево бинарное 295
- - симметричное 298 Буквы латинские 24 Буфер 54
Бэйер 282, 289, 295, 298
Варианты в записях 35 Вес дерева 264 Ветвь 223
Возврат 9, 168, 325
Вольтер 13
Восстановление при ошибках 373 Время патентное 58 Выборочное изменение 28 Выравнивание 46 Выражение 17
Индексное 27
Высота дерева 220
Гаусс 169 Гильберт156
Глубина дерева 220 Горизонтальное распределение 134
Готлиб 267
Грамматический разбор 10, 328
Нисходящий 323
- - целеориентированный 328 Граф распознавания 328
- синтаксический 328
- - детерминированный 332 Графы 19 Данные 11
Дейкстра 7, 12
Дерево 10, 19, 219
АВЛ-сбалансированное 248
Бинарное 223
Вырожденное 220
- идеально сбалансированное 226
- лексикографическое 238
Оптимальное 263
Поиска 231
- сильно ветвящееся 223
Сортировки 91
- упорядоченное 220
Фибоначчи 249 2-3 дерево 295
Диаграмма зависимости 361 Дизъюнкция логическая 23 Диски магнитные 57 Дискриминант типа 36 Длина пути 220
Взвешенная 261
Внешнего 220
- - внутреннего 220 Доступ последовательный 53
Прямой 58
- случайный 25 Заглядывание вперед 55, 68 Заголовок списка 314
Задача об устойчивых браках 174
- о восьми ферзях 169
О ходе коня 164
- оптимального выбора 182
- поиска медианы 103
- построения школьного расписания
Запись (record) 8, 31, 48
- с вариантами 36 Запись бесскобочная 377
Инфиксная 230
Польская 377
Постфиксная 230
Искусственный интеллект 163 Итерация 9, 99, 154 Карта (индексов) 123, 128 Квантиль 105
Ключ 76, 303
Ключей преобразование 303 Ключи переменной длины 318
Кнут 77, 86, 134, 144, 264
Кольца 19 Конкатенация 51, 52, 54 Константа 17 Конструктор 20
Записи 32
Массива 26
Контекстная зависимость 322 Конфликт 304 Конфликтов разрешение 304 Конъюнкция логическая 23 Координаты 15, 31, 36
Декартовы 15, 36 Корень дерева 220
Коэффициент заполнения 312
- использования памяти 46
Кривая Гильберта 156
Серпинского 158
Кустарники 299
Ландис 248, 249
Магнитная 108
Лист дерева 220
Лорин 77 Лукасевич377 Мак-Вити 179 Мак-Крейт 289
Мантисса 15
Массив 19, 25, 44
Матрица 29 Машина ПЛ/0 373 Медиана 101, 103 Метасимволы 320
Метод деления пополам 28
Пузырька 84
- рассеянных таблиц 307 Множеств объединение 40
Пересечение 40
Разность 40
Сложение 40
- умножение 40 Множество 15, 19, 38 Множество-степень 38
Множеству принадлежность 40
Моррис 306
Нотация 52 Область переполнения 306 Обход дерева 229
Оператор варианта 37
- присоединения 34, 286
Процедуры 190
Условный 190
Цикла 29
С параметром 190
С предисловием 190 Операции булевские 23
Над файлами 54
Отношений 40
- преобразования 20 I/O-операции 62 Операция 17, 18, 19 Описание 17
Опробирование квадратичное 307
Линейное 306
Открытая адресация 306 Очередь 198 Ошибки наведенные 373
Память для программы 373
Оперативная 295
Паскаль 8, 11, 16, 19, 62
Переменная буферная 55 Переменные 17, 23 Переупорядочение списка 209 Пирамида 91
ПЛ/0 331, 349 ПЛ/1 20
Поддерево 223 Поиск бинарный 28 -- в списке 202
Медианы 103
- по дереву с включением 233
- по списку самоорганизующийся
Поле 48 Поле признака 36
Порядок Б-дерева 282
Частичный 211
- числа 15 Последовательность 16, 19, 52 Потомок 220 Поэтапное уточнение 11, 67, 344 Правила подстановки 320
Порождающие 320
Построения графа 329 | Фиктивные 132 |
Правило «не поднимай панику» 363 | Серпинский 158 |
Предложения 319 | Символ 23, 40, 319 |
Преобразование (типов) 24 | Начальным 320 |
Ключей 303 | Пустой 24 |
Приоритеты операций 40 | Символы внешние 363 |
Присваивание 19, 21, 189 | Возобновления 363 |
Проблема пустой строки 326 | Нетерминальные 320 |
Программа рабочая 373 | Терминальные 320 |
Таблично-управляемая 328 | Управляющие 393 |
Просеивание 92 | Сканер 40, 341 |
Просмотр на один символ вперед без | Слияние 109 |
возврата 323 | Двухфазное 115 |
Проход 109 | Естественное 115 |
По списку 201 | Каскадное 149 |
Процедура 190 | Многопутевое 122 |
Путь внешний 222 | Однофазное 110 |
Внутренний 220 | Простое 109 |
Разряд 15, 44 | Сбалансированное 110, 122 |
Расписание школьное 41 | Трехленточное 109 |
Распознавание предложений 322 | Слова размер 44 |
Распределение горизонтальное 134 | Словарь частотный 203 |
Памяти динамическое 51, 193 | Слово памяти 44 |
Расстановка 303 | Случайный доступ 25 |
Повторная 318 | Смещение 48, 374 |
Реализация 47, 50 | Сопрограммы 144 |
Регистр адреса команды 374 | Сортировка 9, 74, 77 |
Команды 374 | Быстрая 96 |
Вершины стека 374 | Включениями 77 |
Редактирование 67 | Бинарными 80 |
Рекурсия 9, 99, 150 | Простыми 78 |
Косвенная 151 | Внешняя 75 |
Прямая 151 | Внутренняя 75 |
СББ-дерево 298 | Выбором 77 |
Связка динамическая 374 | Простым 81 |
Сегмент 57 | Массивов 75 |
Логический 58 | Методом пузырька 84 |
Физический 58 | Обменом 83 |
Простым 83 |
|
Селектор 20, 37 | Пирамидальная 91 |
Записи 32 | Слиянием 109 |
Массива 26 Серии 115 | Многофазная 128 |
Максимальные 115 | Простым 109 |
Фиктивные 132 | С помощью дерева 89 |
Топологическая 211 | Упаковка 47, 49 |
Устойчивая 79 | Уровень 220 |
Файлов 75 | Файл 14, 19, 53 |
Шелла88 | Индексированный 58 |
i -сортировка 88 | Многоуровневый 57 |
Список 10, 198 | Персональный 14 |
Двунаправленный 315 | С прямым доступом 58 |
Циклический 314 | Фиктивный элемент 79 |
Сравнение 19 | Флойд 92 |
Методов сортировки массивов 105 | Фибоначчи деревья 249 |
Числа 131 |
|
Стек 99, 374 | Фиксация 378 |
Строка разрядов 49 | Форма бэкус-наурова 320 |
Текущая 69 | Инфиксная 377 |
Структуры данных динамические 10 | Постфиксная 377 |
Усложненные 8, 51 | Формула Эйлера 247 |
Фундаментальные 8 | Функция 17 |
Древовидные 219 | Аккермана188 |
Структурирования методы 19 | Преобразования 24 |
Схемы программ 56 | Расстановки 304 |
Таблица рассеянная 307 | Упорядочения 75 |
Расстановки 305 | Факториал 150 |
Таблично-управляемые программы | Характеристическая 49 |
Ханойские башни 186 |
|
Таккер 266 | Хоор 7, 8, 12, 96, 103 |
Ху 266 |
|
Тип базовый 18 | Центроид 267 |
Данных 17 | Цепочка 115 |
Регулярный 26 | |
Скалярный 19 | Цифры арабские 15, 24 |
Составной 30 | Двоичные!5 |
Стандартный 19 | Римские 15 |
Индексов 26 | Числа вещественные 15 |
Рекурсивный 314 | Комплексные 31 |
Транслятор 10, 17, 40, 319 | Натуральные 150 |
Трансляция 40 | С плавающей запятой 15 |
Удаление из дерева 241 | Факториальные 153 |
Из списка 200 | Цели с 15 |
Узел дерева внутренний 220 | Число гармоническое 83 |
Специальный 222 | Кардинальное 18, 20, 39, 49, 50 |
Уилсон 179 | Читаемый вход 59 |
Уильямс 91 | |
Указатели 10 | Шенкер-сортировка 85 |
Уолкер 263 | Эвристика 267 Эйлер |
В книге даны краткие сведения о современных отечественных и зарубежных микроЭВМ индивидуального пользования. Описаны основные версии бейсика, наиболее распространенного языка программирования персональных ЭВМ (ПЭВМ), отечественных микро- и мнниЭВМ (Электроиика-60, Электроника-, ДЗ-28, Искра-226, диалоговых вычислительных комплексов ДВК-1, ДВК-2 и др.). Изложены основы программирования на бейсике. Основное внимание уделено общему математическому, алгоритмическому и программному обеспечению расчетов на ПЭВМ. В справочник включена обширная Библиотека прикладных программ на бейсике (более 300 программ), обеспечивающих реализацию основных численных методов, вычисление большинства специальных функций и решение ряда практиеских задач в различных областях науки и техники.
Для инженеров, научно-технических работников и студентов втузов.
Дьяконов В. П. Справочник по алгоритмам и программам иа языке бейсик для персональных ЭВМ : Справочник. - Москва. Издательство Наука. Гл. ред. физ.-мат. лит., 1989.- 240 с. - ISBN 5-02-014530-0.
Предисловие
Как пользоваться справочником
Глава 1. Основные характеристики и возможности персональных ЭВМ
§ 1.1. Современные типы персональных ЭВМ и их возможности
§ 1.2. Карманные персональные ЭВМ (Pocket Computers)
§ 1.3. Персональные ЭВМ среднего класса (Home Computers)
§ 1.4. Профессиональные ЭВМ и вычислительные микросистемы индивидуального пользования
§ 1.5. Периферийное оборудование персональных ЭВМ
Глава 2. Бейсик - основной язык программирования персональных ЭВМ
§ 2.1. Алфавит и основные операторы языка бейсик
§ 2.2. Модификации языка бейсик
§ 2.3. Арифметические и алгебраические операции, работа в режиме калькулятора
§ 2.4. Элементарное программирование на языке бейсик
§ 2.5. Специальные вопросы программирования на языке бейсик
§ 2.6. Перевод программ с одной версии языка бейсик на другую
Глава 3. Алгоритмы и программы элементарных вычислений
§ 3.1. Операции с действительными числами
§ 3.2. Операции и функции с комплексными числами и переменными
§ 3.3. Вычисление степенных многочленов и дробно-рациональных функций
§ 3.4. Вычисление ортогональных многочленов
§ 3.5. Операции с матрицами
§ 3.6. Вычисление факториалов и комбинаторика
§ 3.7. Преобразования координат и векторный анализ
Глава 4. Алгоритмы и программы реализации основных численных методов
§ 4.1. Решение систем линейных уравнений
§ 4.2. Интерполяция и экстраполяция
§ 4.3. Решение нелинейных и трансцендентных уравнений
§ 4.4. Решение систем нелинейных уравнений
§ 4.5. Решение алгебраических уравнений с действительными и комплексными коэффициентами
§ 4.6. Поиск экстремумов функций одной и множества переменных
§ 4.7. Численное дифференцирование и вычисление коэффициентов чувствительности
§ 4.8. Вычисление определенных интегралов
§ 4.9. Вычисление определенных интегралов специального вида
§ 4.10. Решение систем дифференциальных уравнений
§ 4.11. Гармонический синтез
§ 4.12. Вычисление собственных значений и векторов матриц
Глава 5. Спектральный, статистический, корреляционный и регрессионный анализ
§ 5.1. Спектральный анализ на основе дискретного преобразования Фурье
§ 5.2. Специальные виды спектрального анализа
§ 5.3. Статистический анализ и подготовка гистограмм
§ 5.4. Реализация метода Монте-Карло
§ 5.5. Корреляционный анализ
§ 5.6. Регрессионный анализ (приближение функций по методу наименьших квадратов)
§ 5.7. Сглаживание данных эксперимента
Глава 6. Вычисление специальных функций
§ 6.1. Методы вычисления специальных функций
§ 6.2. Интегральные показательные функции
§ 6.3. Интегральные синус и косинус
§ 6.4. Гамма-функции (включая неполные)
§ 6.5. Функции Бесселя (включая модифицированные)
§ 6.6. Функции Эйри
§ 6.7. Интегралы Френеля
§ 6.8. Эллиптические интегралы
§ 6.9. Функции Струве, Ангера и Вебера
§ 6.10. Гипергеометрические функции
§ 6.11. Дилогарифм
§ 6.12. Функции Кельвина
§ 6.13. Функции Дебая и Зиверта
§ 6.14. Интеграл вероятности и родственные ему функции
§ 6.15. Некоторые статистические функции
Глава 7. Прикладные программы технических и экономических расчетов
§ 7.1. Типовые электротехнические расчеты
§ 7.2. Расчет индуктивных элементов
§ 7.3. Расчет емкостных элементов и конденсаторов
§ 7.4. Расчет линий передачи и Задержки
§ 7.5. Расчет усилителей
§ 7.6. Расчет активных фильтров
§ 7.7. Расчет нелинейных и ключевых электронных устройств
§ 7.8. Расчеты в механике и термодинамике
§ 7.9. Финансово-экономические расчеты
Приложение 1. Подготовка к работе системы подготовки программ на базе микроЭВМ Электроника-ДЗ-28
Приложение 2.
Номера ошибок и их содержание для систем подготовки программ на базе микроЭВМ Электроника-ДЗ-28
Приложение 3. Подготовка ПЭВМ FX-702P к работе
Приложение 4. Номера ошибок и их содержание для ПЭВМ FX-702P
Приложение 5. Программная реализация некоторых численных методов частного применения
§ П5.1. Построение полинома по его действительным корням
§ П5.2. Обращение матрицы, вычисление определителя и решение систем линейных уравнений с разными векторами свободных членов
§ П5.3. Решение системы линейных уравнений методом отражения
§ П5.4. Решение системы линейных уравнений методом простых итераций
§ П5.5. Решение системы линейных уравнений методом Зейделя
§ П5.6. Решение системы линейных уравнений с переопределенной матрицей
§ П5.7. Приближенное вычисление нормального решения системы линейных уравнений с вырожденной матрицей
§ П5.8. Решение системы нелинейных уравнений методом простых итераций
§ П5.9. Вычисление спектра реакции нелинейной системы с аналитически заданной передаточной характеристикой на гармоническое воздействие
§ П5.10. Регрессия для 16 видов парных зависимостей у (х)
§ П5.11. Сплайн-аппроксимация, интерполяция и экстраполяция
§ П5.12. Пакет программ с матричными операторами
§ П5.13. Приближение функций по Чебышеву
Список литературы
Предметный указатель
ПРЕДИСЛОВИЕ
Прогресс в экономике, промышленности, науке и технике, в сфере образования сейчас во многом зависит от массового внедрения вычислительной техники. Не случайно задача повышения «компьютерной грамотности» населения стала государственной и политической задачей. Ее решение возможно благодаря интенсивному развитию нового поколения вычислительных средств - микроЭВМ индивидуального пользования или персональных ЭВМ (ПЭВМ).
Уже сейчас у нас в стране в пользовании находятся многие десятки тысяч таких ЭВМ - от настольных отечественных вычислительных микросистем индивидуального пользования (на базе микроЭВМ Электроника-60, Электроника-ДЗ-28, Электроника-ТЗ-59, Искра-226 и др.) и диалоговых вычислительных комплексов (ДВК-1, ДВК-2, ДВК-3) до зарубежных карманных компьютеров (Pocket Computers FX-702P, PC-1211, РС-1500 и др.). Осваивается производство дешевых и массовых домашних компьютеров (Home Computers) типа Агат, Элек-троника-БК-0010 и др.
Однако пока даже существующий парк таких ЭВМ используется недостаточно эффективно. Главная причина этого в том, что пользователями ПЭВМ являются в основном непрофессионалы в области вычислительной техники и вычислительной математики. Они слабо знакомы с эксплуатацией ЭВМ, языками и основами их программирования, разнообразными численными методами. Литературы, где все эти вопросы, с учетом специфики персонального использования ПЭВМ, рассматривались бы одновременно, пока практически нет. Многие ПЭВМ поставляются пользователям с весьма краткими (и рассчитанными на профессионалов) описаниями, часто без библиотек прикладных программ. В результате ПЭВМ нередко превращается в «черный ящик» на столе пользователя, таинственные возможности которого остаются нераскрытыми.
Справочник ориентирован на отмеченную выше обширную категорию пользователей ПЭВМ. При его подготовке учтена специфика нынешнего этапа применения ПЭВМ в СССР, т. е. использование ПЭВМ главным образом для автоматизации решения рутинных научно-технических, статистических и экономических задач. Поэтому, а также с учетом ограниченного объема справочника в нем мало внимания уделено игровым задачам, применению ПЭВМ в быту, решению сложных информационных задач (обработка графиков, редактирование текстов и т. д.). Описание таких применений должно быть предметом специальной литературы.
По построению справочник похож на ранее изданную книгу автора , посвященную расчетам на программируемых микрокалькуляторах (ПМК). Более того, сохранена значительная часть контрольных примеров . Это, по мнению автора, облегчит массовой категории пользователей ПМК освоение новой, гораздо более мощной вычислительной техники - ПЭВМ.
В справочнике кратко описаны основные типы отечественных и зарубежных ПЭВМ, их периферийное оборудование и основной язык программирования - бейсик (BASIC) .Рассмотрен ряд типовых версий бейсика, от простых до расширенных, содержащих команды обработки символьных переменных, косвенной адресации и построения графиков. Даны основы программирования на бейсике и перевода программ с одной версии бейсика на другую.
Основное внимание в справочнике уделено описанию общего прикладного математического, алгоритмического и программного обеспечения ПЭВМ, рассчитанного прежде всего на научно-технические и статистические расчеты. По сравнению с существенно расширено описание алгоритмов и увеличена сложность решаемых задач. Так, в справочнике описаны универсальные программы для решения систем линейных и дифференциальных уравнений (в том числе с автоматическим выбором шага интегрирования), численного интегрирования с заданной точностью, вычисления всех корней полиномов с действительными- и комплексными коэффициентами и т. д. Существенно расширен круг вычисляемых специальных функций. В последней главе дан ряд прикладных программ для решения задач в некоторых конкретных областях науки и техники. Разумеется, эти программы не исчерпывают решения всего многообразия таких задач. При использовании всех возможностей персональных ЭВМ на них можно решать сложные научно-технические задачи, вплоть до проектирования космических аппаратов .
Справочник ориентирован на научно-технических работников, инженеров, техников и студентов вузов и техникумов. Поскольку подобное справочное руководство подготовлено впервые, автор отдает себе отчет в том, что книга не лишена недостатков, и с благодарностью примет советы и замечания по ее содержанию. Автор выражает глубокую благодарность рецензенту доктору технических наук, профессору С. В. Черемных, кандидату технических наук, доценту Т. А. Самойловой, Т. А. Калаевой и всем коллегам, оказавшим помощь автору в подготовке программ и рукописи. Пожелания по книге следует направлять по адресу: 117071 Москва В-71, Ленинский просп., 15. Главная редакция физико-математической литературы издательства «Наука».
В. П. Дьяконов
Скачать книгу Дьяконов В. П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЭВМ. Издательство «Наука», Москва, 1989