• Tidak ada hasil yang ditemukan

Последовательное печатающее устройство типа DZM-180

DZM -180 является печатаю щ им устройством со скоростью печата­

ния 180 зн/с. Относительно низкая стоимость, надежность работы обусловили ее широкое применение в качестве устройства вы вода для ЭВМ СМ.

Н а передней панели устройства расположены переклю чатели и сигнальные лампочки (рис. 1.24). П одготовка устройства к работе:

1) Включить устройство (наж ать переклю чатель с надписью

«SUPPLY»). Загорается красная лампочка (это автономны й режим работы).

2) Перевести устройство в режим работы с ЭВМ (наж ать переклю чатель с надписью «SEL»). Красная лам почка гаснет.

Загорается зеленая лампочка. Устройство к работе готово.

Окончание работы:

1) Перевести устройство в автономный режим (наж ать пере­

клю чатель с надписью «На»), Загорается красная лампочка.

2) О тклю чить устройство (нажать переклю чатель с надписью

«SUPPLY»).

• 1.7. Алфавитно-цифровой терминал

Рассм отрим терминалы V D T («Видеотон») и «Электроника».

Терминалы других типов м огут иметь некоторые отличия (другое расположение клавиатуры, новые функциональные возможности).

П ри работе с ними необходимо предварительно ознакомиться с соответствую щ им руководством.

Алфавитно-цифровой терминал предназначен для ввода — вы во­

д а символьной информации. Экран терм инала делится на 16 (или 24) строк по 80 символов в каждой строке.

Н абор символов VD T (см. рис. 1.24):

26 заглавных латинских букв;

31 заглавная русская буква;

10 цифр;

28 специальных знаков.

После включения терм инала в первой позиции первой строки появляется м ерцаю щ ая метка (курсор). Д ля работы с терминалом необходимо знать назначение следующих клавиш.

Клавиш а O F F LIN E. После включения устройства устанавли­

вается режим O F F L IN E и на панели загорается индикаторная лампочка «O F F LIN E». Если устройство работает, то при нажатии этой клавиши устройство переходит в режим O F F LIN E. В данном режиме линия связи с ЭВМ отключена. Терминал «Электроника»

не имеет такой клавиш и.

Следую щ ая клавиш а O N LIN E. Н аж атие этой клавиш и пере­

водит терминал из режима O F F LIN E в режим ON LINE.

Терминал подклю чается в линии связи с ЭВМ . Загораю тся индикаторные лампочки «ON LIN E» и «DPLX».

Рассмотрим действие клавиш и SH IFT для терм инала VDT и клавиш BP, H P для «Электроники». При совм естном нажатии S H IFT с алфавитно-циф ровым и клавиш ами вы рабаты вается код верхнего знака, изображенного на выбранной клавише. В отж атом состоянии — код нижнего знака. При совместном наж атии алф а­

витно-цифровой клавиш и и клавиш и «ВР» вы рабаты вается код верхнего знака (в случае «НР» — код нижнего знака).

Клавиш а «C TR L» для VD T или аналогичная клавиш а «СУ»

для «Электроники» служит для генерирования управляю щ их кодов.

Подробности использования этой клавиш и излагаю тся в гл. 4.

К лавиш а «L IN E F E E D » для VDT или П С для «Электроники».

При нажатии этой клавиш и курсор переводится в первую позицию следующей строки.

К лавиш а «ТАВ» для VDT или аналогичная клавиш а ГТ для

«Электроники». При нажатии клавиши курсор • устанавливается в ближайш ую позицию для тубуляции. О бычно это позиции строки с ном ерами 8 N + 1 . где N = 0 , 1, 2, ... (номера позиций задаю тся аппаратно).

К лавиш а «RO LL» служит для установления и отмены режима

«бегущий экран». П ри записи символа в последню ю позицию последней строки м етка не переходит в первую позицию первой строки, как в случае обычного режима, а вместо этого все строки сдвигаю тся на одну строку вверх, причем первая строка теряется, а на месте последней строки образуется пустая строка. Курсор устанавливается в первую позицию последней строки.

К лавиш а «R E T U R N » для VDT или ВК для «Электроники».

Н аж атие клавиш и «R E T U R N » служит признаком конца строки символов, введенной с терминала (при работе в операционной системе ОС РВ).

П ри нажатии алфавитно-цифровых клавиш вы рабаты вается код, соответствую щ ий данному символу.

П одготовка терминала к работе (VDT):

1) Включить терминал. Загорается лампочка «O F F LIN E» (авто­

номный режим работы).

2) Н аж ать клавиш у «ON LINE». Загорается лам почка

«ON LI NE» и D PLX (режим связи с ЭВМ).

3) Н аж ать клавиш у «ROLL». Загорается лам почка «ROLL».

(У становить «Бегущий экран»).

Окончание работы (VDT):

1) Н аж ать клавишу «O FF LINE». Загорается соответствую щ ая лампочка.

2) Выклю чить терминал.

Г л а в а 2

СТРУКТУРА АЛГОРИТМОВ И ПРОГРАММ

• 2.1. Семейства вычислительных алгоритмов

Ниже перечислены и кратко описаны основные семейства алгоритмов, которы е применяю тся в инженерно-технических зада­

чах. Каждый алгоритм семейства рассматривается как один-единст- венный вычислительный блок. При таком подходе алгоритм есть отображение входных данных задачи на выходные данные. Как устроено это отображ ение, нас в данный м ом ент не интересует, так же как и вопрос о его реализации на ЭВМ.

М ожно представить, что имеется гипотетический калькулятор, содержащий клавиш и и несколько кнопок, есть возм ож ность ввести в него исходные данные задачи, наж ать одну из клавиш и одну из кнопок и вывести ответ — выходные данные (рис. 2.1). Собствен­

но, так и поступаю т, раб отая с калькулятором. М ы не задум ы ваем ­ ся, что, набрав на индикаторе число 0,37, наж ав клавиш у «Ғ»

и кнопку «SIN», м ы заставляем калькулятор вы полнять цепоч­

ку действий; нас интересует только ответ 0,36161543 на инди­

каторе. К аж дая из упомянутых клавиш отвечает какому-либо семейству алгоритм ов, а кн оп к а— конкретному алгоритму из этого семейства.

Семейство алгоритм ов будем обозначать буквой латинского алфавита и десятичной цифрой, например АЗ, В7, а конкретный алгоритм отм ечать парой буква — цифра. Таким образом , обозначе­

ние А5В2 означает: алгоритм В2 из семейства А5.

Ниже, если это специально не оговаривается, входными и вы ход­

ными данны ми алгоритм а м огут быть как точные, так и приближен­

ные значения решения математической задачи. П оэтом у смысл, придаваемы й выражениям «решение уравнения», «решение системы»

и т. п., долж ен устанавливаться при описании конкретного ал ­ гори тм а семейства. Рассм отрим следующие семейства.

АО. Вычисление элементарных функций. О бычный набор элемен­

тарны х функций: sin л', cosx, tgx, arcsinx, arccosx, arctgx, ex, y x , lnx, lgx, \x\, th x дополняется часто встречаю щ имися у = т а х ( х 1;

*2> *»). J = m in(x1, х 2, ..., х„) и некоторы м и дру­

гими (см. гл. 12).

Н а вход лю бого б ло­

ка АО следует подать

( ВХОДНЫЕ \ \

^ ДАННЫЕ А -X{ ВЫХОДНЫЕ '

1 Д А Н Н Ы Е i

Рис. 2.1

( 2 д I iy ^ ^[~~Д2~1 / и I lv ^ числа из облас™ определения фун- Ч S i - ... у S кции (например, х ^ О для у / х , 1пх,

рис 2 2 lgx), на выходе получается число из области значений функции.

А1. Вычисление специальных функций. Блок семейства А1 пред­

ставляет собой полный аналог АО, и только исторически более позднее исследование этих функций закрепило за ними термин

«специальные». К числу специальных функций относятся: интеграль­

ный синус Si(x), интегральный косинус Ci(.v), гамма-функция Г(х), функции Бесселя J0(x), J j x ) , K0(x), Ү і (х), модифицированные функции Бесселя А"0(х), ЛГДх), / 0(х), /, (х), интегралы Френеля S^x), С(х), эллиптические интегралы, интеграл вероятности и др.

А2. Вычисление элементарных функций комплексного переменного.

А лгоритм ы семейства А2 для своей работы долж ны им еть на входе комплексное число z. Н а выходе алгоритм выдает комплексное число f ( z ) = u + i v (рис. 2.2), при у = 0 — вещественное число. Ч асто использую тся следующие функции: |z |, Inz, y / z , sinz, cosz и т. n.

АЗ. Аппроксимация функций. Задача приближения заданной функции / ( х ) другой функцией ср(х) из некоторого класса функций реш ается алгоритм ам и семейства АЗ. Входными данными для АЗ являю тся требуемая точность приближения 8 и / ( х ) , заданная либо аналитической ф ормулой, например, / ( х ) = х 2 +

+ sin(arctgx + cosx), 0 < х < 1 , либо таблицей значений

X] 0,0 0,2 0,3 0,4 0,6 0,9 1,0

f ( xj) 1,1 2,0 1,9 0,7 1,4 1,6 0,9

Выходные данные — достигнутая точность приближения 8, и функ­

ция ф(х), O ^ x ^ l , которая также мож ет быть представлена в аналитическом или в табличном виде (рис. 2.3).

А4. Интегрирование. В семействе А4 алгоритмы вычисляют определенные интегралы от функций / ( х ) одной или нескольких переменных. Н а вход алгоритмов подаю т точность е, пределы интегрирования, функцию / ( х ) в аналитическом или табличном виде. На выходе получаем число S — приближенное значение

ь

и нтеграла S — j f ( x ) <1х. А лго р и тм ы А4, р ассм атри ваем ы е в книге,

а

решаю т задачу интегрирования методами численного анализа.

Однако существуют на ЭВМ системы аналитических вычислений, которые имею т алгоритмы нахождения аналитических формул для неопределенного интеграла. На входе этих алгоритмов — формула

для / ( х ) , на выходе формула --- - --- --- для Jf ( x ) d x . Поэтому блок А4

£o.ffx) АЗ £ і , У ( х ) ) следует рассматривать как блок, L___J Ч , вычис ля ющий определенные и не-

Рис. 2.3 определенные интегралы.

А5. Суммирование рядов. А лгоритм ы А5 на входе имею т формулы для общего члена ряда: числового д„, функционального а„(х) и точность е суммирования, на выходе получаем приближенное

оо оо

значение S = ап или 5(х) = £ a„(x), S(x) предствляется аналити-

п= 1 п = 1

чески или таблично.

А6. Фурье-анализ. Разложение функции / ( х ) в ряд Фурье в ве­

щественной форме 1 00

/ ( х ) — а0 + £ (a„cosnx + bnsinnx), я ^ х ^ я , 2 л — 1

1 * I *

ап= - | f ( x ) c o s n x d x , bn= - j / ( х )s'mnxdx,

^ ~ и ^ — л

или в комплексной форме

/ ( х ) ~ I cneinx, с „ = - ] f ( x ) e ~ inxd x П = - 00 ^ - ГС

составляет предмет Ф урье-анализа. Фурье-анализ леж ит в основе методов решения многих инженерно-технических задач, таких, как выявление скрытых периодичностей в динамических процессах, решение линейных уравнений математической физики м етодом Фурье и т. д. Н а входе алгоритм ов А6 имеем / ( х ) в аналитической или табличной (часто назы ваемой дискретной) форме, на выхо­

д е — коэффициенты ряда Фурье. Заметим, что коэффициенты ряда Ф урье— это функция С = С ( р) от целочисленного аргумента. Если п заменить вещественным со, то преобразование функции / ( х ) в С(со) назы ваю т Ф урье-преобразованием. А лгоритм ы А6 выпол­

няю т также Фурье-преобразование.

А7. Дифференцирование. Вычислительный блок дифференциро­

вания функции одной / ( х ) или нескольких п е р е м е н н ы х /( х ) = /( х 1?

х 2, ..., х„) имеет на входе аналитическую или табличную форму / ( х ) , на выходе — аналитическую или табличную форму производ­

ной f i p,)(x). Аналитическое дифференцирование представлено в си­

стемах аналитических вычислений на ЭВМ . В этом случае блок А7 дает точную аналитическую формулу для / $ ( х). А лгоритм ы численного дифференцирования А7 на выходе имею т приближенную функцию ф(х) к / $ ( * ) , ф(.х) может иметь как аналитическую, так и табличную формы.

А8. Операции с матрицами и векторами. А лгоритм ы этого семейства реализую т основные операции линейной алгебры. На входе алгоритм ов задаю тся м атрицы и векторы, на выходе имеем результат операции. П рим ерам и таких операций являю тся сумма, произведение матриц, обращ ение м атрицы , скалярное произведение векторов, ортогонализация векторов и т. п.

А9. Решение систем линейных уравнений. Н а входе алгоритмов семейства А9 задаю тся м атри ца системы линейных уравнений

А и вектор правых частей Һ системы уравнений А х = Ь\ на выходе для м атрицы с detA # 0 получаем вектор х— решение системы.

ВО. Собственные значения и векторы. На входе алгоритм ов ВО задается м атрица А, на выходе выдается система собственных векторов eh / = 1 , 2, ..., т, и соответствующ их собственных значений Xh удовлетворяю щ их уравнениям

A e i = Xiei, 1

В1. Линейная оптимизация. Входом канонической задачи линей­

ной оптимизации является вектор с = ( с, , с2, ■■■, с„), определяю щ ий скалярное произведение Ф(х) с неизвестным вектором х, у которого координаты Xj ^ 0, г < п,

Ф(х)=(с, х) = с 1х 1 + ... + с пх п.

М атрица А имеет размер т х п , вектор b = (b1, ..., Ьт). Они описы ваю т ограничения типа равенств

А х = Ь.

Н а выходе алгоритмов В1 имеем вектор х, доставляю щ ий ш іпФ (х), либо сообщение о неразреш имости задачи.

В2. Решение линейных интегральных уравнений. И нтегральное уравнение общего типа можно записать следую щим образом:

А х — Хх = Ь.

Входом алгоритмов семейства В2 являю тся функции А (/, .v) — ядро интегрального оператора А

A x (t)= j A(t, s)x(s)ds, t e D l , Do

область интегрирования D0, область значений D {, число X, функция b(t). Выходом В2 является функция x(t) — решение интегрального уравнения - либо информация о неразреш имости или бесчисленном множ естве решений.

ВЗ. Корни полиномов. А лгоритмы семейства ВЗ по входны м данны м — коэффициентам ah 0 — определяю т корни x h

1 полинома

Pn(x) = a0 + a i x + a2x 2+ ... +а„х".

Следует заметить, что до 4-й степени (п ^ 4 ) корни Р„(х) могут вычисляться по коэффициентам аналитически.

В4. Корни нелинейных уравнений. А лгоритмы решения нелиней­

ных уравнений В4 на входе имею т нелинейную функцию / ( л ) одной переменной или систему нелинейных функций нескольких переменных f ( x ) = f i ( x l x 2, ■■■, х п), 1 в области D, точность определения корня, на выходе алгоритмы В4 выдаю т корни (один или несколько) уравнений / ( * ) = 0 в области D.

В5. Нелинейная оптимизация. Входные данные алгоритмов В5 — нелинейная функция Ф(х), х = ( х1, ..., х п) и область D переменных

х, где ищется м инимум или максим ум Ф(х). О бласть D может быть задана, например, неравенствами ф ( х ) ^ 0 , и равенст­

вами \j/(x) = 0, к. На выходе алгоритм ов — вектор х, доставля­

ю щ ий min Ф(л-) или ш ах Ф(х) в области В либо сообщение о неразреш имости задачи.

В6. Решение обыкновенных дифференциальных уравнений, задача Коши. Н а входе алгоритм ов В6 задаю тся вектор-функция f ( x , y i , ..., у„), 1 интервал а ^ х ^ Ь двумя числами а, Һ и началь­

ный вектор У 0) = ( уі , у2, J? ). точность б. На выходе — вектор-функция у (х ) = (у1(х), у 2(х), ..., У„(х)), а ^ х ^ Ь,— решение задачи

В7. Решение обыкновенных дифференциальных уравнений, краевые задачи. Входом алгоритм ов В7 являю тся вектор-функция f ( x , у\ , ..., у„), интервал а ^ х ^ Ь , заданный числами а, Ь, вектор-функция , ..., у„), 1 ^ і ^ п . На вы ход е— ^(x) = ( j 1(x), ..., У„(х))— решение краевой задачи

или сообщение о неразреш имости или бесчисленном множестве решений.

В8. Решение уравнений с частными производными. На входе алгоритм ов В8, как и В7, задаю тся функции, описывающие дифференциальное уравнение, например, вида

Здесь / — функция на входе В8. К ром е того, на входе задается область D изменения независимых переменных. Д ля рассм атрива­

емого уравнения область D мож ет быть следующая:

где x f, t[ — заданные числа. Входными данны м и алгоритм ов В8 являю тся дополнительны е условия, однозначно определяю щ ие ре­

шение и(х, t) уравнения. Обычно это начальные и граничные условия, например

где ф (х), ц о (0 > M i ( * ) — заданные функции на входе алгоритма.

Выходными данными является решение уравнения и(х, t).

Ф , ( У і ( а ) , ..., л (й)) = °»

ФлСрі(*)... Л (* ))= ° » 1

и(х, г0) = ф(х), x o ^ x ^ x j , и(х0, t) = n0(t); и (х { , t) = [il (t), t0 ^ t ^ t i ,

• 2.2. Структура алгоритмов

В гл. 1 определено понятие архитектуры ЭВМ как набора ресурсов ЭВМ , их структура, доступные программисту. П рограм - мист-пользователь мож ет вообщ е не знать, как физически устроена и работает ЭВМ . Э то знает инженер-электронщик. Д ля програм ­ м ирования важна логическая организация машины. П о аналогии с архитектурой ЭВМ можно ввести понятие архитектуры алгоритма.

Архитектура алгоритм а — это набор элементарных вычислитель­

ных блоков, их структура и логическая организация, необходимые д ля програм м ирования задачи.

П рограм м ист-пользователь может не знать, как зап р о гр ам ­ м ирован отдельный вычислительный блок и даже какой м етод вычислений заложен в его основу, это должен знать инже­

нер-математик. Х отя и не все инженеры-математики м огут ответить на вопрос, по какому алгоритм у вычисляются значения элем ентар­

ных функций.

Естественно задать вопрос: что же должен уметь пользователь при построении алгоритма решения задачи и программировании?

П ользователю необходимо уметь:

1) Спроектировать алгоритм м етодом «сверху вниз» — от слож ­ ного к простому, используя готовые (базовые) вычислительные алгоритм ы из семейств, перечисленных в 1.1, и применяя «базовы е логические схемы».

2) Выбрать те вычислительные алгоритмы , которые удовлетво­

р яю т требованиям задачи.

3) В случае отсутствия готового вычислительного ал гори тм а необходимо его разработать, запрограм м ировать и вклю чить в состав базовых вычислительных алгоритмов.

4) Наконец, необходимо запрограм м ировать весь алгоритм.

2.2.1. Проектирование алгоритма. П роектирование алгоритм а удобно сопровож дать блок-схемами. В блок-схемах приняты стан­

дартны е графические средства, показанные на рис. 2.4. Внутрь графического знака записывается кратко действие алгоритм а,

а в знак «связь» записывается метка, которая обозначает со­

единение с другой линией, им е­

ющей кружок с такой же м ет­

кой. В ром б записываю тся ана­

лизируемые условия, а возм ож ­ ные результаты анализа обозначаю тся на выходящ их из ром ба линиях.

И мею тся три базовые логи­

ческие схемы, на основании которых можно спроектиро­

вать лю бой вычислительный алгоритм.

О

ТО Ч КИ В Х О Д А И В Ы Х О Д А О Б Р А Б О Т К А И Н Ф О Р М А Ц И Я

П Р О В Е Р К А У С Л О В И Я

С В Я З Ь ( И Л И С Л И Я Н И Е )

Рис. 2.4

Рис. 2.5

П о с л е д о в а т е л ь н а я с х е м а (рис. 2.5). С остоит из трех компонентов: входа в вычислительный блок 1, вычислительного блока 2 и выхода из вычислительного блока 2.

А л ь т е р н а т и в н а я с х е м а (рис. 2.6). С остоит из проверки выполнения некоторого условия. Если условие выполняется, то вычисления производятся на блоке 1, если — нет, то на блоке 2.

Заметим, что в схеме один из блоков м ож ет бы ть пустым (не содержит действий).

С х е м а п о в т о р е н и я и л и с х е м а ц и к л а . С остоит из узла слияния, проверки условия и вычислительного блока (рис. 2.7).

В этой схеме после узла слияния происходит проверка условия:

если оно выполняется, то происходят вычисления на блоке,

Рис. 2.6

если — нет, то происходит выход из схемы. Таким образом , вычисления в блоке выполняю тся до тех пор, пока условия не будут выполняться. П оскольку условие проверяется до вычис­

лительного блока, возмож но, что действие блока не выполнится ни разу. С другой стороны, если условие всегда выполняется, то вычислительный процесс зацикливается, так как нет возмож ности попасть на выход схемы.

В качестве п р и м ер а п р и ведем блок-схем у а л г о р и т м а с у м м и р о ­ вания кубов целых чисел (рис. 2.8)

N

s = I к \ ft = 1

Ч исло N— входное данное, S— выходное.

Рис. 2.7

Рис. 2.8

П р о е к т и р о в а н и е алгоритм а м етодом

«сверху вниз» на осно­

ве базовых логических схем и базовы х алго­

ритм ов состоит из следующих шагов. Ис­

ходный вычислитель­

ный алгоритм пред­

ставляется в виде од­

ного блока нулевого уровня, на вход кото­

рого подаю тся исход­

ные данные задачи, на выходе получаю тся выходные данные. Ба­

зовыми алгоритмами будем н азы вать те из алгоритм ов описан­

ных выше семейств, которые м огут быть реализованы пользователем на его вычислительной машине. Например, совокупностью базовых алгоритмов можно считать алгоритм ы , для которы х представлены в гл. 12 описания ф ортран-программ .

Если задача может быть решена с помощ ью одного базового алго­

ритма, то проектирование на этом заканчивается, если— нет, то нуле­

вой уровень проекта алгоритма разворачивается в последовательность базовых алгоритмов (рис. 2.9), где вычислительные блоки можно обозначить по принятой схеме: А4А0, В1А1 и т. п. Не помеченные на рис. 2.9 вычислительные блоки отсутствуют среди базовых ал­

горитмов и должны быть разработаны пользователем, обозначены в соответствии с принятой схемой и включены в состав базовых.

Таким образом , проект алгоритм а первого уровня состоит в последовательном обращении к базовы м алгоритм ам и не содержит 2-й и 3-й логических схем в своей структуре.

Начиная со второго уровня проекта алгоритм а использую тся все три логические схемы и базовые алгоритмы . Второй уровень представляет собой проекты отсутствующ их алгоритмов на первом уровне (рис. 2.10). Непомеченные блоки второго уровня р азраба­

ты ваю тся на следующем, третьем, уровне проекта и т. д. до тех пор, пока на и-м уровне проекта все вычислительные блоки не будут состоять из базовых алгоритмов. А лгоритм ы вычислительной

Рис. 2.9

о * - ч ~ П ЕРВ Ы Й - Т— * и У Р О В Е Н Ь

o ^ Q

с н

А7А0

/

ВТОРОЙУ Р О В Е Н Ь

Рис. 2.10

математики, встречающ иеся в инженерно-технических задачах, про­

ектирую тся с пом ощ ью базовы х алгоритм ов с небольш им числом уровней проекта. Конечность этой процедуры (п конечно) следует из условия, что в число базовых алгоритм ов естественно вклю ча­

ются арифметические действия над числами (рис. 2 .1 1).

О тличительной чертой нисходящ его проектирования алгоритма является возмож ность контроля его работы с сам ого начала

о—>| + |~х> о-Ц — [>о о-»| X |-x>o»| -f- |>о

Рис. 2.11

проектирования. Э то достигается тем, что неразработанны е вы­

числительные блоки заменяю тся так назы ваем ы м и «заглушками».

Заглушки — это блоки, имитирую щ ие вход и выход неразработан­

ных блоков (рис. 2.12). Заглушка нужна только для того, чтобы проверить алгоритм определенного уровня.

Dokumen terkait