Файл: Голембо, З. Б. Алгоритмизация и программирование электротехнических задач на электронных цифровых вычислительных машинах учеб. пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 21.10.2024

Просмотров: 69

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ных знаков в зависимости от характера передаваемой информации). Следовательно, очень важно выяснить близость сообщения, иска­ женного в результате передачи его по каналу связи, к неискажен­ ному сообщению. Поэтому разрабатываются различные средства для обнаружения ошибок и их исправления. Одно их таких средств— это использование помехозащитных кодов. При их приме­ нении вводят дополнительные «избыточные» цифры, тогда закоди­ рованное слово будет содержать цифры, несущие информацию и цифры контроля.

Информация, поступающая по каналу связи в двухбуквенном алфавите, может вводиться непосредственно в ЭЦВМ для дальней­ шей обработки или накапливания на промежуточный носитель информации.

б. Представление цифровой информации в ЭЦВМ

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

Десятичные и двоичные числа, используемые для обозначения одного и того же количества, внешне (по составу, количеству и по­ рядку расположения входящих в них цифр) совершенно различны. Например, двухразрядное десятичное число 41 и шестиразрядное двоичное число 101001 являются лишь разными формами записи одной и той же величины. В ЭЦВМ для представления любых двоич­ ных чисел отводится, как правило, определенное число двоичных разрядов. Это число называется длиной разрядной сетки машины. Нечисловая информация (текст, логические соотношения, различ­ ного рода символы и условные обозначения) в ЭЦВМ также пред­ ставлена в виде наборов нулей и единиц, т. е. внешне они ничем не отличаются от двоичных чисел.

Запись информации, подлежащей вводу и выводу из машины, максимально приближают к привычной для человека форме записи числовой и текстовой информации с дальнейшим автоматическим преобразованием этой информации в самой ЭЦВМ в двоичный код при вводе и в десятичный при выводе. В ЭЦВМ используют две формы представления чисел: с фиксированной и с плавающей за­ пятыми.

Форма представления чисел с фиксированной запятой. При такой форме записи место запятой фиксировано постоянно для всех чисел — перед старшим разрядом. Это обеспечивает довольно огра­ ниченный диапазон (—1, +1). Числа же, используемые в научных вычислениях, не укладываются в единичный интервал (0, 1). По­ этому необходим выбор масштаба представления чисел. Задачу сна-

8


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

С помощью п цифр при основании R можно представить любое число, абсолютное значение которого не превышает Rp , гдеР — масштабный коэффициент. Последний либо каждый раз учитывает­ ся при подготовке информации, либо хранится в памяти машины. Если масштабный коэффициент известен, то для его изменения мо­ гут использоваться масштабные циклы. Общий масштабный коэф­ фициент Р используется для всего набора чисел, при этом выпол­ няется условие, что любое число из этого набора по величине мень­ ше Rp .

Операция масштабирования сопряжена с выполнением большо­ го объема вспомогательных вычислений, так как масштабный коэф­ фициент для всего набора чисел определяется по максимальному значению, которого может достичь любая из величин. При данном общем масштабном коэффициенте Р фактическая разность к между масштабным коэффициентом и порядком величины данного мас­ штабированного числа с фиксированной запятой приводит к по­ явлению в старших разрядах этого числа к нулей, т. е. не удает­ ся в процессе вычисления сохранить требуемое число значащих раз­ рядов. В результате остается п — к значащих разрядов вместо п. Таким образом, постоянно существует вероятность потери к инфор­ мационных разрядов. Потеря значности и накапливающиеся ошиб­ ки округления, обычно имеющие место при выполнении вычисле­ ний, могут привести к тому, что результат окажется лишенным смысла.

При больших по объему научных вычислениях, где важное зна­ чение имеют диапазон изменения чисел и их точность, найти дейст­ вительные границы изменения чисел трудно, а в ряде случаев поч­ ти невозможно. Так, например, при составлении программы для решения системы линейных уравнений общего вида почти невоз­ можно предсказать диапазоны изменения всех чисел, участвующих в вычислениях вводимых данных, промежуточных величин и выво­ димых результатов.

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

9



Следовательно, представление

чисел с фиксированной запя­

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

при решении задач, в которых

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

Форма представления чисел с плавающей

запятой. На машинах

с плавающей занятой число, изображенное в

виде машинного сло­

ва, имеет более сложную структуру, состоящую из двух частей:

мантиссы (цифровой части) числа и его порядка. Для представле­

ния отдельного числа используются знак числа, мантисса, порядок,

знак порядка.

Говорят, что число N представлено в форме с плавающей за­

пятой,

если оно записано в виде

 

 

 

N =

±FR±E,

 

где R — основание

системы

счисления; Е — порядок числа

(ве­

личина

переменная

и зависит от действительного положения

деся­

тичной

или двоичной запятой

в числе); F — мантисса числа.

 

Естественно, что число N может быть представлено в такой фор­ ме записи бесконечным множеством способов. При этом разрядность мантиссы изменяется в широких пределах в зависимости от требо­ ваний точности. Однако анализ необходимой точности, при котором можно использовать ту или иную вариацию, так же как и анализ пределов изменений чисел в случае их представления с фиксирован­ ной запятой, связан с большими трудностями. Арифметические опе­ рации в машине должны производиться с максимальной скоростью,

что обеспечивается параллельностью в действиях, поэтому

числа

с плавающей запятой должны иметь единство в представлении

(при­

меняется нормализованная форма записи чисел). Так как для по­ вышения точности результата желательно сохранить как можно больше значащих разрядов, то все нули из него в старших разря­ дах могут быть удалены сдвигом мантиссы влево и соответствующим уменьшением порядка. Например, десятичное число с плавающей запятой 0,0375• 104 представляется как 0,375-103.

Таким образом, при нормальной форме записи чисел запятую в мантиссе фиксируют перед старшим цифровым разрядом, т. е. относительно мантиссы F числа N принимаются некоторые усло­ вия. Говорят, что число представлено в «нормальной» форме, если мантисса F числа лежит в определенных пределах. Например, если

числа кодируются

в двоичной системе счисления, то N =F2±F.

Если

JV>0, то

l / 4 < F < l / 2 и если N <

0, то —1/2<F<—1/4.

Этим

и обеспечивается единственность

представления чисел.

Особенная величина (£, 0) не может быть нормализована, так как ее мантисса состоит из нулей. За исключением этой и некоторых

других специально оговоренных

особенностей, нормализованное

число с плавающей запятой удовлетворяет неравенству

/ ? _ 1 ^ | Л < 1 •

Устройства ввода информации в ЭЦВМ считывают двоично-ко­

дированную информацию, поэтому

числа десятичной

системы при

10


вводе кодируются двоичным кодом. Информация кодируется и одно­ временно фиксируется перфорацией с помощью отверстий в перфо­ картах или на ленте. Пробитые отверстия являются основным сред­ ством хранения данных перед вводом в ЭЦВМ.

§ 1.3. Некоторые вопросы теории алгоритмов

а. Общие положения

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

Часто по ходу вычисления в зависимости от промежуточных результатов приходится решать вопрос о том, как дальше вести

вычисления. Например, предположим, что величина напряжения и в длинной линии электропередач вычисляется по двум формулам (используются либо уравнения Максвелла, либо уравнения Кирх­ гофа) в зависимости от того, превосходит и заданное значение итах или она меньше этого значения. Обозначим через St вычисления по первой и через S2 — по второй формуле. В данном случае алгоритм решения задачи содержит особое действие — выбор: если из двух несовместимых возможностей А и В реализуется А, то дальше реа­ лизуется процесс вычисления S1 ; а если В — то S2 . Данный случай представляет уже не арифметическое, а логическое действие. Сле­ довательно, алгоритм решения такой задачи будет состоять не только из арифметических, но и из логических действий и в зави­ симости от логических условий может разветвляться. Взятый алго­ ритм может быть записан в виде последовательности арифметичес­ ких и логических действий 5 t S2-... Sn , где каждая из букв обозначает

или арифметическую операцию

= а,

или логическое условие

St

= р того типа, как это было описано выше. Если Sj

арифмети­

ческая операция, то дальше выполняется

операция Si+1.

Если же

St

логическое условие, то вслед за S£ выполняется или

операция

S/ + 1 , или же совершается переход на другую операцию Sj. Логи­ ческая альтернатива зависит от ряда логических условий и для ее решения надо провести логические действия.

Рассмотрим другой

пример.

Пусть функция f(x) вычисляется

с помощью итераций S4

S2 ... Sn.

Алгоритм вычислений будет иметь

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