14.5. Несогласованность языков программирования
Почему процесс программирования является таким длительным и есть ли какая-либо надежда ускорить его? По-видимому, основная причина состоит в различии между языком вычислительной машины и естественным языком. Как мы видели, для вычислительной машины нужно составить подробную программу ее действий. Очевидно различие между указаниями, которые вы должны дать машине, и указаниями, которые даются человеку, например: «Проинтегрируйте, пожалуйста, эту функцию от нуля до единицы». Кроме того, человек обладает большим запасом информации и здравым смыслом, которые он использует при своей работе. Он знает, например, что тяга ракеты не должна быть отрицательной.
В области сближения языка вычислительной машины с обычным языком достигнут определенный прогресс. Куски программы (рис. 14.1-14.3) не дают понятия о собственно машинном языке, который состоит только из одних цифровых кодов. Команды, написанные на бланке, показанном на рис. 14.1, затем переводятся на язык машины с помощью так называемой транслирующей программы. Такая программа не только переводит обычный язык в цифровые коды, из которых состоит язык машины, а делает гораздо больше.
Например, при использовании машинного языка всегда должно быть известно, в каком месте запоминающего устройства хранится каждое данное число. При использовании транслирующей программы требуется всего лишь присвоить этому числу некоторое наименование (например, Common на рис. 14.1). Каждый раз, когда возникает необходимость, используется это наименование; транслирующая программа снабдит это число конкретным адресом. Транслирующая программа обладает тем свойством, что каждая команда, написанная на ее языке, переводится в одну команду, написанную на языке машины. Существует другой класс программ, которые совершают перевод с так называемых языков посреди и ков; эти программы могут преобразовывать одну команду или одну фразу этого языка в несколько .машинных команд. Таким путем, очевидно, можно значительно сократить объем работы при программировании.
Языки-посредники существенно отличаются от машинного языка (и более похожи на наш обычный язык, хотя, возможно, и не настолько, насколько нам бы хотелось).
Из этих языков-посредников в настоящее время лучше всего известен ФОРТРАН (FORTRAN от слов FORMULA TRANSLATOR - переводчик формул); существуют транслирующие программы, совершающие перевод с этого языка на язык многих вычислительных машин. Другими хорошо известными языками этого типа являются КОБОЛ и АЛГОЛ. На рис. 14.3 приведен пример программы, написанной на языке ФОРТРАН. В данном конкретном случае транслирующая программа преобразовала 14 фраз, написанных на этом языке, в 113 команд для вычислительной машины.
ФОРТРАН хорошо выполняет свое назначение, состоящее в сокращении труда при программировании, в тех случаях, когда соответствующие проблемы могут быть математизированы. Излишне говорить, что для многих проблем он совершенно непригоден. Существуют, конечно, определенные виды на будущее, но для осуществления новых систем требуется длительный подготовительный период, так же как и при программировании в настоящее время. Все эти системы являются также дорогостоящими; стоимость транслирующей программы с языка ФОРТРАН приблизительно равна 500 000 долл.
- Анализ сложных систем
- Предисловие
- Выражение признательности
- 1. Введение
- 2. Анализ и принятие решений в военно-воздушных силах
- 2.1. Использование анализа при подготовке решений по структуре сил и разработке вооружения
- 2.2. Увеличение количества переменных величин
- 2.3. Подробное рассмотрение неопределенностей
- 2.4. Противник
- 2.5. Учет фактора времени
- 2.6. Расширение критериев
- 2.7. Заключение
- 3. Выбор и использование стратегических авиационных баз
- 3.1. Введение
- 3.2. Постановка задачи
- 3.3. Исходные положения
- 3.4. Альтернативы
- 3.5. Решающие факторы
- 3.6. План проведения анализа
- 3.7. Расстояние от базы до цели. Издержки, связанные с увеличением радиуса полета
- 3.8. Расстояние от базы до пунктов входа в зону обороны противника. Стоимость преодоления обороны
- 3.9. Расстояние от базы до континентальной части сша. Издержки на проведение операций за пределами сша
- 3.10 Влияние расстояния от базы до границы противника на издержки, связанные с уязвимостью базы
- 3,12 Неопределенность в оценке возможностей противника
- 3.14. Кампании при постоянной величине расходов
- 3.15. Гибкость системы и время кампании
- 3.16. Операции с заокеанских баз после проведения кампании против авиации противника
- 3.17. Ограничения эффективности систем и их гибкость
- 3.18. Заключение
- Элементы и методы
- 4. Зачем и каким образом создается модель
- 4.1. Выявление релевантных факторов
- 4.2. Выбор факторов, описываемых количественно
- 4.3. Объединение в группы описываемых количественно факторов
- 4.4. Установление количественных соотношений между элементами
- 4.5. Создание модели и реальный мир
- 4.6. Суждения человека
- 4.7. Модель, использующая вычислительную машину
- 4.8. Заключение
- 5. Критерии
- 5.1. Неизбежность приближенных критериев
- 5.2. Субоптимизация и критерии
- 5.3. Некоторые распространенные ошибки при выборе критериев
- 5.4. Что можно сделать?
- 6. Значение затрат39
- 6.1. Заданный объем ресурсов при единственной цели
- 6.2. Заданный объем ресурсов при нескольких целях
- 6.3. Переменный объем затрат ресурсов
- 6.4. Некоторые частные аспекты проблемы
- 7. Анализ и построение конфликтных систем44
- 7.1. Анализ систем в сравнении с моделями и проблемы, побуждающие к анализу
- 7.2. Пример из деятельности ввс - история межконтинентальных боевых действий
- 7.3. Цели и ограничения системных исследований
- 7.4. Более широкие задачи: параллельные и отдаленные цели
- 7.5. Происхождение и изменение целей
- 7.6. Сдерживание: пример с межконтинентальными полетами
- 7.7. Ведение войны
- 7.8. Противодействие и содействие противника
- 7.9. Малая ценность взаимно неудовлетворительных стратегий
- 7.10. Неопределенность и определение диапазона достижимых целей
- 7.11. Проектирование систем в сравнении с анализом систем
- 8. Методы и процедуры
- 8.1. Введение
- 8.2. Инженерное искусство
- 8.3. Методологические вопросы анализа систем
- Часть 3 специальные вопросы
- 9. Фактор техники
- 9.1. Введение
- 9.2. Технические характеристики
- 9.3. Параметры уровня развития техники
- 9.4. Законы масштабности
- 9.5. Оптимум и ограничения
- 9.6. Фактор надежности
- 10. Предположения о поведении противника
- 10.1. Введение
- 10.2. Пример проблемы выбора системы оружия из нескольких ее вариантов
- 10.3 - Выгодность четырех возможных результатов
- 10.3. Более широкое истолкование. Всесторонняя стратегия
- 10.4. Заключение
- 11. Методы теории игр и их применение
- 11.1. Использование военных игр
- 11.2. Методика военных игр
- 11.3. Этапы проведения военной игры
- 12. Стратегия разработок
- 12.1. Насколько велика неопределенность?
- 12,2. Что следует сделать для уменьшения неопределенности?
- 12.3. Каковы затраты на уменьшение неопределенности?
- 12.4. Какова степень уменьшения неопределенности продолжения разработки?
- 13. Математика и анализ систем
- 13.1. Линейное программирование
- 13.2. Метод Монте-Карло
- 13.3. Теория игр
- 13.4. Электронно-вычислительные машины
- 13.5. Роль математики
- 14. Применение электронно-вычислительных машин
- 14.1. Преимущества вычислительных машин
- 14.2. Недостатки вычислительных машин
- 14.3. Программирование модели
- 14.4. Постановка задачи
- 14.5. Несогласованность языков программирования
- 14.6. Заключение
- 15.1. Введение
- 15.2. Анализ стоимости отдельных систем
- 15.3. Анализ стоимости структуры вида сил
- 15.4. Анализ чувствительности модели стоимости
- 15.5. Представление результатов анализа
- 15.6. Заключение
- 16. Опасности анализа систем
- 16.1. Постановка задачи
- 16.2. Поиск
- 16.3. Толкование
- 16.4. Рекомендация
- 17. Повторение пройденного
- 17.1. Правила
- 17.2. Вопросы
- 17.3. Ретроспективный взгляд
- Введение в проблему создания лунной базы
- А.1. Базы на Луне - доводы за и против
- А.2. Некоторые элементы ракетной техники
- А.3. Варианты систем
- А.4. Модель системы прямого полета
- Сравнение ракетных систем
- Б.1. Введение
- Б.2. Пример
- Б.З. Сравнение ракет
- В.4. Заключение