- •Глава II
- •2.1. Организационная структура науки в ссср
- •2.2. Подготовка, использование и повышение квалификации научно-технических кадров и специалистов народного хозяйства
- •2.3. Научные общественные организации
- •2.4. Научно-исследовательская работа студентов в советской высшей школе
- •3.2. Методы теоретических й эмпирических исследоваййй
- •3.3. Элементы теории и методологии научно- технического творчества
- •Глава IV
- •4.1. Выбор направления научного исследования
- •4.2. Оценка экономической эффективности темы
- •4.3. Этапы научно-исследовательской работы
- •Глава V
- •5.1. Информатика как наука
- •5.4. Международная система нти стран — членов сэв
- •5.7. Государственная система патентной информации (гспи)
- •5.8. Организация работы с научной литературой
- •0 Медленнее чтение быстрое чтение зрения Пеле зрения
- •Глава VI
- •6.1. Задачи и методы теоретического исследования
- •6.2. Использование математических методов в исследованиях
- •6.3. Аналитические методы
- •6.4. Вероятностно-статистические методы
- •Глава VII
- •7.1. Подобие и моделирование в научных исследованиях
- •7.3. Организация и обработка результатов эксперимента в критериальной форме
- •7.4. Физическое подобие и моделирование
- •Глава VIII
- •8.1. Типы эвм и возможности вычислительных систем
- •1 Нжмд — накопитель на жестких магнитных дисках.
- •8.3. Автоматизированные системы научных исследований
- •Глава IX
- •9.2. Метрологическое обеспечение экспериментальных исследований
- •Глава X
- •Глава XI
- •11.1. Оформление результатов научной работы
- •11.2. Оформление заявки на предполагаемое изобретение
- •11.3. Устное представление информации
- •Глава XII
- •12.1. Государственная система внедрения
- •12.2. Эффективность и критерии научной работы
- •13.2. Деловая переписка
- •13.3. Организация деловых совещаний
- •13.4. Формирование и методы сплочения коллектива
- •13.5. Психологические аспекты взаимоотношения руководителя и подчиненного
- •13.6. Управление конфликтами в коллективе
- •13.7. Научная организация и гигиена умственного труда
- •13.8. Нравственная ответственность ученого
- •Неполная координация
- •Необозначенность родо-видовых (парадигматических) связей
- •Ложные синтагматические связи
1 Нжмд — накопитель на жестких магнитных дисках.
|
Таблица 8.4 Признаки |
Общего назначения |
Реального времени |
Разделения времени |
|||||||
плос |
ДОС |
ДОС РВ |
ФОБОС |
] РАФОС |
ОС РВ |
ДИАМС |
ДОС PBP |
|||
Количество пользователей |
1 |
I |
128 |
1 |
8 |
32 |
40 |
24 |
||
Тип системного носителя |
ПФЛ |
Магнитный диск |
||||||||
Минимальная и максимальная емкость ОП, Кбайт |
8...56 |
32...56 |
16...56 |
16...56 |
16...56 |
32...248 |
22,..248 |
64...248 |
||
Языки программирования |
Ассемблер |
Ассемблер Макроассемблер. Фортран-IV |
Ассемблер. Фортран-IV. ДИАСП. Бэйсик |
Макроассемблер, Фортран-lV, ДИАСП. Бэйсик |
Ассемблер, Ма кроассемблер, Форгран-lV, Бэйсик, Паскаль |
ДИАМС |
Бэйсик- ПЛОС |
|||
|
1 1 ! 1 . I |
|
||||||||
Режим подготовки и отладки программ % |
Диалоговый |
Диалоговый, пакетный |
Диалоговый |
Диалоговый, пакетный |
Диалоговый |
Диалоговый. пакетный |
||
Режим работы |
Диалоговый |
Диалоговый, пакетный |
Диалоговый, реального времени |
Диалоговый, пакетный, реального времени |
Диалоговый |
|||
Наличие средств телеобработки |
Нет |
Через СТОД1 |
Через СТОД |
Есть |
||||
'СТОД — система телеобработки данных. РАФОС — базовая система реального времени.
ПЛОС — перфоленточная операционная система. ОСРВ — система реального времени для широкого
ДОС — дисковая операционная система. класса задач.
ДОСРВ — дисковая операционная система реального вре- ДИАМС — диалоговая многопультовая система.
Характеристики
основных операционных систем СМ ЭВМ
В настоящее" время программное обеспечение подразделяется {рис. 8.4) на общее (операционные системы) , которое поставляется вместе с оборудованием (эта часть программного обеспечения предназначена для эффективного обслуживания пользователей), и на специальное, позволяющее расширить сферу применения ЭВМ.
s |
|
- & l| |
Is s fe |
|
tl : § |
|
|
|
|
|
|
ЦЧ
S
ш
л
о
a
о
X S
Ж «
Q. Lh О Q- C
w
(X >»
o. b и
aслучайной порчи или неправильного обращения. Программа управления данными или вводом- выводом обеспечивает ввод и вывод данных, следит за окончанием ввода и вывода массивов на устройствах и переключает эти устройства, совмещает обработку данных в процессоре с вводом-выводом.
Обрабатывающие программы работают под контролем управляющих, обеспечивают отладку программ пользователя и проверку состояния машины. Транслято- р ы переводят программы пользователя с исходного языка на язык машины. Каждый язык программирования имеет свой транслятор. Современные ЭВМ, как правило, имеют несколько трансляторов с различных языков. Редактор связей подготавливает оттранслированную программу к выполнению. Система отладки обеспечивает отладку программ, их редактирование, выводит на печать информацию об ошибках, предоставляет средства для внесения изменений в программу. Библиотекарь организует накопление программ и поддержание их в рабочем состоянии на магнитных носителях, обеспечивает копирование программ. Программы сортировки — слияния — предназначены для упорядочения информации в порядке возрастания или убывания группировочных признаков. При этом информация может выбираться с нескольких магнитных носителей (магнитных лент или дисков). Программы проверки внешних устройств позволяют установить и выдать сообщение о неисправности внешних устройств.
Одним из условий эффективного внедрения вычислительной техники в практику производства является создание специализированных пакетов прикладных программ (ППП). Доступность и простота исполь- ' зования ППП создают предпосылки для более широкого внедрения ЭВМ в практику инженерного труда, решения конкретных задач научной области. ППП обычно строятся на базе специальных систем и являются дальнейшим их развитием в конкретном направлении. Они поставляются отдельно от программного обеспечения вычислительных средств, имеют свою документацию и не входят в состав операционных систем.
Разработка пакета не должна требовать модификации операционных систем. Это относится и к пакетам, влияющим на работу управляющих программ. Если пакет требует внесения изменений в управляющую программу, то это выполняется в процессе загрузки и инициализации пакета.
Все пакеты могут быть разбиты на пакеты, расширяющие возможности операционных систем; общего назначения и ориентированные на работу в автоматизированных системах управления. Пакеты прикладных программ, расширяющие возможности операционных систем, обеспечивают функционирование различных конфигураций ЭВМ. К ним относятся пакеты, обеспечивающие работу типовых конфигураций многомашинных комплексов, диалоговых систем, систем работы в реальном масштабе времени, удаленную пакетную обработку. Пакеты прикладных программ общего назначения включают набор программ для широкого круга применений. К ним относятся программы, обеспечивающие различное применение алфавитно-цифровых и графических дисплеев, работу графопостроителя, системы программирования для языков высокого уровня (Фортран, PL/1 и др.), программы для научно-технических расчетов, математического программирования, обработки матриц, моделирования, программы для решения задач теории массового обслуживания и др. Пакеты, ориентированные на работу в АСУ, включают общецелевые системы обработки банков данных, информационно-поисковые системы общего назначения, системы обработки документов.
Каждый пакет, в зависимости от ЭВМ и его назначения, реализуется на конкретном языке программирования в соответствии с требованиями к пакету и возможностями языка. Ниже приводятся некоторые сведения о пакете научных подпрограмм, написанных на языке Фортран.
Фортран является наиболее распространенным языком программирования вычислительных задач. Транслятор с этого языка входит в состав математического обеспечения почти всех ЭВМ. На языке Фортран накоплена самая большая в мире библиотека программ.
Важное значение для научных исследований, проводимых с применением ЭВМ, имеют пакеты научных подпрограмм. Это совокупность подпрограмм, написанных на языке базисного Фортрана и реализующих наиболее часто встречающиеся в приложениях методы численного анализа и статистики. Пакет имеет модульную структуру, что допускает возможность его расширения и замены отдельных модулей.
Отдельные подпрограммы или их комбинации могут быть использованы для решения различного рода задач. Например, в статистике это пробит-анализ; дисперсионный анализ (факторное планирование); корреляционный анализ; множественная линейная регрессия; шаговая регрессия; полиномиальная регрессия; каноническая корреляция; факторный анализ (основные компоненты вращения факторов); дискриминантный анализ (множество групп); анализ временных рядов; выборка и анализ данных; непараметрические тесты; получение случайных чисел (равномерное и нормальное распределение); функции распределения.
Математические подпрограммы охватывают: обращение матриц; собственные значения и собственные векторы; системы линейных алгебраических уравнений; подстановки; матричную арифметику (сложение, умножение и т. д.); разбиение матриц; табулирование матриц и сортировка строк или столбцов; элементарные операции со строками и столбцами матриц; разложение матриц; интегрирование и дифференцирование функций, заданных таблично; решение дифференциальных уравнений первого порядка; анализ Фурье функций, заданных таблично; вычисление функций Бесселя и модифицированных функций Бесселя; вычисление у-функций; эллиптических функций Якоби; эллиптических, экспоненциальных интегралов; интегральных синусов и косинусов; интегралов Френеля; нахождение действительных корней заданной функции; нахождение действительных и комплексных корней многочлена с действительными коэффициентами; полиномиальную арифметику (сложение, деление и т.д.); вычисление полиномов, интегрирование, дифференцирование; полиномы Чебышева, Эрмита, Ла- герра, Лежандра; экстремумы функций; аппроксимацию, интерполяцию и составление таблиц.Пакет подпрограмм является пакетом простой структуры. Он включает отдельные программные модули, которые могут быть организованы в библиотеку средствами операционной системы. Эти подпрограммы чисто вычислительные и не содержат никаких ссылок на устройство ввода-вывода. Поэтому пользователь в своей программе должен предусмотреть какой-то ввод-вывод и другие операции, необходимые для поллого решения задачи. Кроме того, пользователь при помощи оператора DIMENSION должен определить все матрицы, над которыми будут произведены операции, подпрограммами пакета, а также матрицы, используемые в других версиях Фортрана, имеющих более широкие возможности, он может использовать элементы этого языка, отсутствующие в языке базисного Фортрана. Например, некоторые версии Фортрана содержат возможности кратного входа в подпрограмму. Используя эти возможности, некоторые подпрограммы пакета могут быть объединены. В качестве примера можно привести объединение подпрограмм GMADD и GMSUB, (сложение и вычитание общих матриц):
SUBROUTINE GMADD(A,B,R,N,M) DIMENSION А (I), B(I) R(I) К = 0 GOTO JO
ENTRY GMSUB (A, B, R, N, M) K=1
10 NM = N.M
DU 40 I = 1, NM IF (K) 20,20 , 30
20 R (I) = A(1) + B(I) GOTO 40
30 R (I) = A (1) — В (I)
40 GONTINUE RETURN END
Такой способ составления подпрограмм не влияет на программу пользователя, но сокращает общий размер используемой памяти.
Точность вычислений многих подпрограмм пакета в значительной степени зависит от числа значащих цифр, поступающих в арифметическую операцию. Обращение матриц, интегрирование и многие подпрограммы статистики относятся к этой категории. Поэтому возникает необходимость в варианте удвоенной точности этих подпрограмм. Многие подпрограммы текста SSP (пакет научных подпрограмм) написаны в двух вариантах: с обычной и удвоенной точностью. Некоторые подпрограммы содержат инструкции для работы с данными удвоенной точности в тексте подпрограммы на нс- ходном языке. Операторы для работы с удвоенной точностью включены в каждую такую подпрограмму в форме карт комментариев. В большинстве случаев вариант подпрограммы с удвоенной точностью может быть получен удалением перед компиляцией символа «С» столбца карты (карт) с оператором DOUBLE PRECISION.
В некоторых случаях даются дополнительные инструкции: например, заменить SQRT на DSQRT, ABC на DABS или задать новые константы. Использование подпрограмм с удвоенной точностью требует детального знания правил языка Фортран, касающихся удвоенной точности. Ниже приводятся два из них: 1. Имя любой действительной переменной или массива, содержащегося в списке аргументов оператора CALL, вызывающего подпрограмму с удвоенной точностью, должно быть описано с помощью оператора DOUBLE PRECISION в вызывающей программе. Например, если подпрограмма обращения матрицы MINV из пакета SSP видоизменена в вариант удвоенной точности н если программа пользователя содержит оператор CALL MINV (AR 1, N, (целевая переменная); DET— определитель (действительный массив удвоенной точности); N — размерность (целевая переменная); DET — определитель (действительная переменная удвоенной точности), MY 1—рабочий вектор (массив целых чисел); MY 2 — рабочий вектор (масснв целых чисел), тогда в начале программы пользователя должен быть оператор описания DOUBLE PRECISION AR 1, DET.
Остальные переменные оператора CALL являются целыми переменными и их не следует включать в оператор описания.
2. Любая задаваемая пользователем функция, названная в операторе CALL при обращении к подпрограмме с удвоенной точностью из пакета SSP, должна быть запрограммирована как функция удвоенной точности. Например, для решения дифференциального уравнения методом Рунге-Кутта по подпрограмме RK 2 используется функция, названная FUN. Пусть эта функция запрограммирована следующим образом:
FUNCTION FUN (X, Y) FUN-= 1-I.X RETURN END
Если используется вариант RK2 с удвоенной точностью, то функция должна быть запрограммирована с удвоенной точностью:
DOUBLE PRECISION FUNCTION FUN (X, Y)
DOUBLE PRECISION X, Y
FUN = 1 • 1 *X
RETURN
END
Для иллюстрации обращения к подпрограммам пакета SSP ниже приводятся четыре примера. Первые два — это подпрограммы сложения и умножения двух матриц общего вида. Третий и четвертый — подпрограммы для решения систем линейных алгебраических уравнений методом исключения Гаусса. Последний — решение системы с удвоенной точностью.
Подпрограмма CMADD (сложение двух матриц общего вида).
Назначение
Сложить две матрицы общего вида.
Результирующая матрица общего вида.
Обращение CALL GMADD (А, В, R, N, М)
Описание параметров: А — имя первой входной матрицы; В — имя второй входной матрицы; R — имя выходной матрицы; N — число строк А, В, R; М — число столбцов А, В, R.
Замечания: Все матрицы должны запоминаться как матрицы общего вида.
Требуемые подпрограммы и подпрограммы-функции
Нет.
Метод
Сложение выполняется поэлементно.
Подпрограмма GMPRD (произведение двух матриц общего вида),
Назначение
Перемножить две матрицы общего вида.
Обращение CALL CMPRD (А, В, R, N, М, L)
Описание параметров: А — имя первой входной матрицы; В —имя второй входной матрицы, R — имя выходной матрицы; N — число строк А; М — число столбцов А и строк В; L — число столбцов В.
Замечания: Все матрицы должны храниться как матрицы общего вида.
Матрица R не может находиться на месте матрицы А или матрицы В. Число столбцов матрицы А должно быть равно числу строк матрицы В.
Требуемые подпрограммы и подпрограммы-функции
Нет.
Метод
Матрица В порядка М« L умножается на матрицу А порядка N* М и результат запоминается на месте матрицы R порядка N* L.
3.Подпрограмма GELS (решение системы линейных уравнений с симметричной матрицей коэффициентов)
Назначение
Решить систему линейных уравнений с симметричной матрицей коэффициентов, верхняя треугольная часть которой располагается по столбцам.
Обращение CALL GELS (R, А, М, N, EPS, IER, AVX)
Описание параметров: R — матрица правых частей порядка М* N (в ходе вычисления изменяется), на выходе содержит решение систем; А — верхняя треугольная часть симметричной матрицы коэффициентов порядка М*Ы (в ходе вычисления изменяется); М — чис- сло уравнений в системе; N — число векторов правых частей; EPS — входная константа, используемая в качестве относительной погрешности для проверки потери точности; IER — результирующее значение параметров ошибки:
IER = 0 — нет ошибки,
IER=I—нет результата, так как либо М<1, либо на каком-то шаге исключения главный элемент равен нулю;
1ER = K — сообщение о возможной потере точности на шаге исключения (К+1), где главный элемент был меньше или равен внутренней погрешности EPS, умноженной на наибольший по абсолютной величине диагональный элемент матрицы А.
AVX—вспомогательный массив размерности (М— 1).
Замечания: Верхняя треугольная часть матрицы А располагается по столбцам в М(М-И)/2 последовательных адресах, матрица правых частей R — по столбцам в (N+M) последовательных адресах. На выходе матрица решений R также располагается по столбцам.
Подпрограмма дает результаты: 1. Если число уравнений М>0 и на всех шагах исключения главные элементы отличны от нуля. 2. Если выдается IER = K и указывает на возможную потерю точности. 3. В случае хорошо масштабированной матрицы А и соответствующей погрешности ERS IER = K видно, что матрица А имеет ранг К. Сообщение о потере точности не выдается в случае М = 1. Параметр ошибок IER =—I не обязательно означает, что матрица А особенная, так как в качестве главных элементов используются только элементы на главной диагонали. Возможно, подпрограмма GELG, которая работает с выбором главного элемента во второй матрице, могла бы найти решение.
Требуемые подпрограммы и подпрограммы-функции
Нет.
Метод.
Система решается методом исключения Гаусса с выбором главного элемента по главной диагонали с целью сохранения симметричности в преобразованных матрицах коэффициентов.
4. Подпрограмма DGELS (решение с удвоенной точностью системы линейных уравнений с симметричной матрицей коэффициентов).
Назначение
Решить с удвоенной точностью систему линейных уравнений с симметричной матрицей коэффициентов, верхняя треугольная часть которой располагается по столбцам.
Обращение CALL DGELS (R, А, М, N, EPS, IER, AVX)
Описание параметров: R — удвоенной точности матрица правых частей порядка М* N (в ходе вычислений изменяется); на выходе R содержит решение системы; А — удвоенной точности верхняя треугольная часть симметричной матрицы коэффициентов порядка М* N (в ходе вычисления изменяется); М — число уравнений в системе; N — число векторов правых частей; EPS — обычной точности входная константа, используемая в качестве относительной погрешности для проверки потери точности;
IER — результирующее значение параметра ошибки: IER=0 — нет ошибки,
IER=—1 — нет результата, так как либо М<1, либо на каком-то шаге исключения главный элемент равен нулю;
IER*=K — сообщение о возможной потере точности на шаге исключения (К-Н), где главный элемент был меньше или равен внутренней погрешности EPS, умноженной на наибольший по абсолютной величине диагональный элемент матрицы А;
RUX — удвоенной точности вспомогательный массив памяти, размерности (М—1).
Замечания: Верхняя треугольная часть матрицы А располагается по столбцам в М(М+1)/2 последовательных адресах; матрица правых частей R — по столбцам в M.N последовательных адресах. На выходе матрица решений R также располагается по столбцам. Подпрограмма дает результаты, если число уравнений М>0 и на всех шагах исключения главные элементы отличны от нуля. IER = K (если выдается) указывает на возможную потерю точности. В случае хорошо масштабированной матрицы А и соответствующей погрешности EPSIER = K говорят о том, что матрица А имеет ранг К. Сообщение о потере точности не выдается, если М=], Параметр ошибок IER=—I не обязательно означает, что матрица А — особенная, так как в качестве главных элементов используются только элементы главной диагонали. Возможно, подпрограмма DGELG, которая работает с выбором элемента по всей матрице, могла бы найти решение.
Требуемые подпрограммы и подпрограммы-функции
Нет.
Метод.
Решение производится методом исключения Гаусса с выбором главного элемента по главной диагонали, с целью сохранения симметричности в преобразованных матрицах коэффициентов.
