Текст
                    ТАДАО
ОТАНИ
КОМПЬЮТЕРЫ

КОМПЬЮТЕРЫ О АЗЕРБАЙДЖАНСКОЕ ГОСУДАРСТВЕННОЕ ИЗДАТЕЛЬСТВО Б а к у. 19 88
601 0-60 Перевод с японского И. С. Караева Под редакцией - члена-корреспондента АН Азерб. ССР Дж. Э. Аллахвердиева Отани Тадао 080 Компьютеры (перев. с японского). —Б.: Азернешр, 1988-^84 с., ил. 2405000000 0----------- 103 — 87 М - 651 -87 601 Токио, 1981 Данная книга является трудом, авторское право на который, а также право на публикацию обеспечи- ваются VI разделом Закона об авторском праве (правило №48). Репродукция части или всей книги с помощью копировального аппарата или посредством каких- нибудь других приемов без разрешения нередко наносит ущерб авторскому праву, а также праву на публикацию, поэтому будьте внимательны. В частно- сти, при репродукции для нужд школ, промышлен- ных предприятий, корпораций, краткосрочных кур- сов, курсов усовершенствования и для других нужд, а также при использовании этой книги в качестве основы для программирования ЭВМ без разрешения автора и издательства (фирма ОМ) ущемляются их интересы. При использовании части содержания этой книги в других печатных материалах необходимо получить на это разрешение автора и издательства (фирма ОМ), чтобы не причинить ущерба их интересам. По любым вопросам, касающимся репродукции всей книги или части ее содержания, следует обра- щаться по адресу: г. Токио, Тиёда ку, Канда кинмати, 3—1, Кабусики кайся ОМУ ся сюппанбу (Тёсакукэн танто) телефон 03-233-0641 Tokyo, 1981 С) Азернешр,перевод на русский язык,1988
ПРЕДИСЛОВИЕ Успехи в освоении и широком распространении компьютеров поразительны. Они используются не только в фирмах и государственных учреждениях, но й затрагивают нашу повседневную жизнь. В частности, за последнее время значительно улучше- ны технические характеристики ЭВМ персонального пользования и ЭВМ для учреждений, облегчена также их эксплуатация, и они становятся предмета- ми первой необходимости. Все больше людей убеж- даются в том, что компьютеры не „сложные для освоения приборы" и что „следует попытаться использовать их". В этой книге, являющейся учебным пособием для таких людей, в доступной форме излагаются общие сведения о компьютерах. В частности, в нее включе- ны многочисленные иллюстрации с удачно подобран- ными красками, так что с первого же взгляда мож- но понять в общих чертах сущность компьютера. Книга разбита на 8 разделов. В разделах I и II представлены числа, используемые в компьютере, и приведены различные структуры вычислительной машины. В упрощенном виде показаны также ЭВМ для учреждений и персональные ЭВМ. Раздел III посвящен составлению блок-схем и приведено несколько конкретных примеров. В разделе IV излагаются основы программирования. В качестве алгоритмических языков используются ФОРТРАН, КОБОЛ, БЭЙСИК и сравниваются отличительные особенности этих трех языков программирования. В разделе V даются сведения об операционной систе- ме. В разделе VI, VII поясняется взаимодействие аппаратных средств, а в заключение в разделе VIII описаны особенности управления с помощью компьютера. Естественно, наивно полагать, что, прочитав эту книгу, можно сразу же приступать к программиро- ванию и полностью понять все, касающееся вычисли- тельных машин. Тем не менее исчезнет впечатление о том, что „компьютеры являются непонятными
|| Предисловие машинами", появится заинтересованность в ЭВМ углубится знакомство с ними и возникнет стремле- ние к их более глубокому изучению. Это мое самое искреннее желание. В заключение приношу свою глубокую благодар- ность сотрудникам редакции фирмы ОМ за их содействие в издании моей книги, а также фирмам Фудзи Цусин К. К. и Ниппон Дэнки К. К. за любезно предоставленные ими фотоснимки. Ноябрь 1981 г. Отани Т.
СОДЕРЖАНИЕ I. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ 1. ДВОИЧНЫЕ, ВОСЬМЕРИЧНЫЕ И ШЕСТНАДЦАТЕРИЧНЫЕ ЧИСЛА.................2 Преобразование целых десятичных чисел в двоичные числа; перевод двоичных'чисел в восьмеричные и шестнадцатеричные; преоб- разование десятичных дробей в двоичные числа. 2. ПРЕДСТАВЛЕНИЕ ДАННЫХ В КОМПЬЮТЕРЕ......4 Представление двоичных чисел с фиксиро- ванной запятой; представление двоичных чисел с плавающей запятой; представление десятичных чисел; языки программирова- ния и представление данных. 3. СЛОЖЕНИЕ И ВЫЧИТАНИЕ ДВОИЧНЫХ ЧИСЕЛ. . . 7 Сложение и вычитание двоичных чисел; вычитание с дополнением. II. ОБЩИЕ СВЕДЕНИЯ О ВЫЧИСЛИТЕЛЬНЫХ МАШИНАХ 4. СТРУКТУРЫ ВЫЧИСЛИТЕЛЬНЫХ МАШИН..........10 Отличительные особенности вычислитель- ных машин; перспективы вычислительных машин; вычислительные машины и перифе- рийные устройства; внутренние коды вычис- лительных машин. • 5. УСТРОЙСТВА ВВОДА ИНФОРМАЦИИ.......... 14 Устройство для считывания с перфокарт; устройство для считывания с перфоленты; оптическое устройство для считывания меток;оптическое устройство считывания и ввода данных в ЭВМ.
|V Содержание 6. УСТРОЙСТВА ВЫВОДА ИНФОРМАЦИИ И УСТРОЙСТВА, ИСПОЛЬЗУЕМЫЕ КАК ДЛЯ ВВОДА ТАК И ДЛЯ ВЫВОДА ИНФОРМАЦИИ...................../9 Алфавитно-цифровое печатающее устройство; дисплей; двух координатный графопостроитель; алфавитно-цифровое печатающее устройство для японского языка; устройство вывода информа- ции на перфоленту. 7. СИСТЕМА ВВОДА-ВЫВОДА И ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР....................................23 Система ввода-вывода; центральный процессор; основное запоминающее устройство. 8. ВНЕШНИЕ ЗАПОМИНАЮЩИЕ УСТРОЙСТВА...........27 Запоминающее устройство на магнитной ленте; запоминающее устройство на магнитных дисках; запоминающее устройство на магнитных бара- банах. 9. ЭВМ ДЛЯ УЧРЕЖДЕНИЙ..........................31 Отличительные особенности ЭВМ для учреждений; структура ЭВМ; программное обеспечение; типич- ные примеры выходных форм. 10. МИКРО-ЭВМ И ПЕРСОНАЛЬНАЯ ЭВМ . . . ........35 Основная структура микро-ЭВМ; запоминающие устройства; интерфейс; структура персональной ЭВМ. Ill. ПОРЯДОК ОБРАБОТКИ ЗАДАЧ И СОСТАВЛЕНИЕ БЛОК-СХЕМ 11. ЭТАПЫ РАБОТ ДЛЯ ПОЛУЧЕНИя(пОДГОТОВКи) ПРОГРАММ...................................... 40 Подготовка к составлению программы; символы и основные виды алгоритмов. 12. ВЫЧИСЛЕНИЕ ПЛОЩАДИ ТРАПЕЦИИ................44 Постановка задачи; блок-схема алгоритма. 13. ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ..............46 Постановка задачи; блок-схема алгоритма. 14. УПОРЯДОЧЕНИЕ ДАННЫХ . . . .................49 Постановка задачи (1), блок-схема алгоритма (1) ; постановка задачи (2), блок-схема алгоритма (2); постановка задачи (3), блок-схема алгоритма (3). 15. ВЫВОД ДИАГРАММ........ . ................ 56 Постановка задачи; блок-схема алгоритма.
Содержание V IV . ОСНОВЫ ПРОГРАММИРОВАНИЯ 16. ПРОГРАММИРОВАНИЕ НА ФОРТРАНе.... .......62 Принцип кодирования; типы данных и имена переменных; функции операторов ФОРТРАНа. 17. ВЫЧИСЛЕНИЕ ПЛОЩАДИ ТРАПЕЦИИ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа)....................68 18. ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа)....................70 19. УПОРЯДОЧЕНИЕ ДАННЫХ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа)................... 72 Описание программы рисунка 19.1; описание про- граммы рисунка 19.5; описание программы ри- сунка 19.7. 20. ВЫВОД ДИАГРАММ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа) . .............. 78 21. ПРОГРАММИРОВАНИЕ НА КОБОЛе ............80 Программирование на КОБОЛе; структура про- граммы на КОБОЛе; структура раздела данных и управления данными; раздел процедур и опе- раторы КОБОЛа. 22. ВЫЧИСЛЕНИЕ ПЛОЩАДИ ТРАПЕЦИИ (ИСПОЛЬЗОВАНИЕ КОБОЛа).................... 86 23. ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ (ИСПОЛЬЗОВАНИЕ КОБОЛа).....................90 24. ПРОГРАММИРОВАНИЕ НА БЭЙСИКе. ..........94 Отличительные особенности БЭЙСИКа; составле- ние программы; переменные и их типы; операто- ры БЭЙСИКа. 25. ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ (ИСПОЛЬЗОВАНИЕ БЭЙСИКа) ...................98 26. ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ БЭЙСИКа........J00 27. ПОЛУЧЕНИЕ ИЗОБРАЖЕНИЯ И ПРИМЕНЕНИЕ ЦВЕТНОГО ДИСПЛЕЯ...........................J 04 Вывод прямоугльника символами; вывод прямо- угольника линиями; движение рисунка из симво- лов; ^дрижение рисунка из линий; цветное изобра- жений’ V. СУЩНОСТЬ ОПЕРАЦИОННОЙ СИСТЕМЫ
VI Содержание 28. РОЛЬ ОПЕРАЦИОННОЙ СИСТЕМЫ.................110 Повышение пропускной способности; сокращение времени срабатывания (время прогона); улучше- ние коэффициента готовности; непрерывная обра- ботка заданий — улучшение процесса обработки; мультипрограммирование — ускорение процесса обработки; приоритетное планирование заданий — сокращение времени прогона; работа в реальном масштабе времени под управлением операционной системы — сокращение времени ожидания; систе- ма с разделением времени — сокращение времени ожидания. 29. СТРУКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ. ....... .116 Структура управляющей программы; программа лингвистической рбработки; обслуживающая программа. 30. ТРАНСЛЯЦИЯ И ВЫПОЛНЕНИЕ ПРОГРАММЫ................................... 120 Задания и поток заданий; управляющие кар- ты. 31. МОНИТОР МИКРО-ЭВМ - • ................. 122 Пример мйкро-ЭВМ; пример персонального компьютера. V(.ОСНОВНЫЕ СХЕМЫ УПРАВЛЯЮЩИХ И АРИФМЕТИЧЕСКИХ УСТРОЙСТВ 32. ЛОГИЧЕСКИЕ ЭЛЕМЕНТЫ И ТАБЛИЦЫ ИСТИННОСТИ.................................126 Элемент AND элемент OR; элемент NOT; элемент NAND и элемент NOR; логические схемы. 33. ПРОЕКТИРОВАНИЕ РАЗЛИЧНЫХ СХЕМ И СУММИРУЮЩИЕ устройства............:....................130 Проектирование схем совпадения и алгебра логики; таблица истинности полусумматора и его схема; полный сумматор; использование допол- няющего прибора для вычитания. 34. РАЗЛИЧНЫЕ ПРИНЦИПИАЛЬНЫЕ СХЕМЫ.........134 Запоминающее устройство на триггерах; схе- ма AND; кодирующее устройство и дешиф- ратор; схема дешифратора; регистр; счетчики. VII . РАЗРАБОТКА КОМПЬЮТЕРОВ 35. СТРУКТУРА МОДЕЛИРУЮЩЕГО КОМПЬЮТЕРА И ПРИНЦИП ЕГО ДЕЙСТВИЯ................ 140
Содержание VII Структура моделирующего компьютера; принцип действия моделирующего компьютера. 36. КОМАНДЫ И ПРОГРАММА......................144 Команды и их действие; программирование. 37. ПРОГОН ПРОГРАММЫ.........................148 Действие отдельных команд; прогон программы. VIII. УПРАВЛЕНИЕ С ПОМОЩЬЮ МИКРО-ЭВМ * 38. РАЗЛИЧНЫЕ ИНТЕРФЕЙСЫ.....................152 Общие сведения об интерфейсе 8255; решаю- щая схема ввода-вывода; схема реле; прос- тая схема цифро-аналогового преобразователя. 39. СТРУКТУРА ИМИТАТОРА ЛИФТА................156 Устройство моделирования лифта; соответствие схемы соединений и входных-выходных каналов. 40. ПРОСТАЯ СХЕМА ВВОДА-ВЫВОДА.............. 159 Решение примера 1; описание программы (пример 1) 41. ПРОГРАММА ИМИТАТОРА ЛИФТА................164 ЛИТЕРАТУРНЫЕ ИСТОЧНИКИ.................16^
I . ПРЕДСТАВЛЕНИЕ ЧИСЕЛ Мы обычно используем десятичные числа, однако в ЭВМ информация предс- тавляется в двоичной системе счисления. Помимо этого очень часто удобно опери- ровать восьмеричными и шестнадцатерич- ными числами, поэтому в первую очередь остановимся на зависимости между ними. Представление чисел в компьютере несколько отличается в зависимости от системы. В этой книге за основу берутся 32 двоичных знака на одно слово и даются сведения о представлении двоичных чисел с фиксированной запятой, представлении двоичных чисел с плавающей запятой, зон- ных десятичных числах и упакованных де- сятичных числах. Как правило, существует различие в числовых величинах, применяемых для расчета в науке и технике, а также в управ- лении, поэтому в данном разделе обра- щается внимание и на это. В конце раздела поясняется принцип операций сложения и вычитания двоичных чисел и использова- ния дополнений.
2 I. Представление чисел ДВОИЧНЫЕ, ВОСЬМЕРИЧНЫЕ И ШЕСТНАДЦАТЕРИЧНЫЕ ЧИСЛА ТАБЛИЦА 1. 1 ДЕСЯТИЧНЫЕ ЧИСЛА ДВОИЧНЫЕ ЧИСЛА ВОСЬМЕРИЧ- НЫЕ ЧИСЛА ШЕСТНАДЦАТЕ- РИЧНЫЕ ЧИСЛА 0 ОООО 00 0 1 0001 01 1 2 0010 J2 2 3 ООН 03 3 4 0100 04 4 5 0101 05 5 6 оно 06 6 7 0111 07 7 8 1000 10 8 9 1001 11 9 10 1010 12 А 11 1011 13 В 12 1100 14 С 13 1101 15 D 14 1110 16 Е 15 . 1111 17 F 16 10000 20 10 19 24 2‘ 22 2; 16 6 1 1 2* -ь 2' +2° 2) 9 1 2/ 4 1 22_._.2__ О 2; 1 О О 1 ЗАПИСЫВАТЬ ПО НАПРАВЛЕНИЮ СТРЕЛКИ (а) ПРЕОБРАЗОВАНИЕ ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ СУММИРУЮТСЯ СТЕПЕНИ, СООТВЕТСТВУ- ЮЩИЕ ЕДИНИЦЕ - 16 12 11 — 19 (б) ПРЕОБРАЗОВАНИЕ Д30;г ЧИСЕЛ В ДЕСЯТИЧНЫЕ ДВОИЧНЫХ РИС. 1. 1. ПРЕОБРАЗОВАНИЕ ЦЕЛЫХ ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ ЧИСЛА
1. Двоичные, восьмеричные и шестнадцатеричные числа 3 Двоичные числа обозначаются цифрами 0 и 1, один разряд которых назы- вается одним битом. Чтобы отличить от десятичных чисел, их обозначают ( )2- [1] ПРЕОБРАЗОВАНИЕ ЦЕЛЫХ ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ ЧИСЛА Между целыми десятичными и двоичными числами существует опреде- ленная зависимость, поэтому, как показано на рисунке 1.1, возможно их взаимное преобразование. В таблице 1.1 показано соответствие от 0 до 16. [2] ПЕРЕВОД ДВОИЧНЫХ ЧИСЕЛ В ВОСЬМЕРИЧНЫЕ И ШЕСТНАДЦАТЕРИЧНЫЕ Для изображения чисел в восьмеричной системе используют цифры О 7, а для изображения шестнадцатеричных чисел применяют десять араб- ских цифр от 0 до 9 и шесть прописных букв латинского алфавита: А, В, С, D, Е, F. Перевод двоичных чисел в восьмеричные и шестнадцатерич- ные иллюстрируется на рисунке 1.2, а в' таблице 1.1 показано их соответствие. 3 (10011)2-^1 0 1 о I о 1 1 | — (23)8 ВОСЬМЕРИЧНОЕ ЧИСЛО РАЗБИВАЕТСЯ С ПОСЛЕДНЕЙ ЦИФРЫ ПО ТРИ РАЗРЯДА РАЗБИВАЕТСЯ С ПОСЛЕДНЕЙ ЦИФРЫ ПО ЧЕТЫРЕ РАЗРЯДА (10011) 2-^| 0001 | 0011 | —— (13) i ь ШЕСТНАДЦА- ТЕРИЧНОЕ ЧИСЛО_____ РИС. 1.2. ПЕРЕВОД ДВОИЧНЫХ ЧИС*.Л В ВОСЬМИРИЧНЫЕ И ШЕСТНАДЦАТЕРИЧНЫЕ ’!ИСЛА [3] ПРЕОБРАЗОВАНИЕ ДЕСЯТИЧНЫХ ДРОБЕЙ В ДВОИЧНЫЕ ЧИСЛА 0.375 X 2 О— .75 X 2 1*- .5 ' 0.5 Х2 1<- .0 ► 0.011 СУММИРУЮТСЯ ВСЕ СТЕПЕНИ, СООТВЕТСТВУЮЩИЕ ЕДИНИЦЕ =1 _1 4 + 8 = 0.25+0.125 =0.375 (0.011)2 = 0.375 (а) ДЕСЯТИЧНЫЕ ДВОИЧНЫЕ ЧИСЛА (б) ДВОИЧНЫЕ ДЕСЯТИЧНЫЕ ЧИСЛА РИС. 1. 3. ПРЕОБРАЗОВАНИЕ ДЕСЯТИЧНЫХ ДРОБЕЙ В ДВОИЧНЫЕ ЧИСЛА
4 I. Представление чисел ПРЕДСТАВЛЕНИЕ ДАННЫХ В КОМПЬЮТЕРЕ О,ЕСЛИ ПЛЮС, 1.ЕСЛИ МИНУС РИС. 2. 1. ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ ЧИА К РАЗРЯДЫ . । ПОРЯДКА МАНТИССА (24 БИТА) z ВЕС РАЗРЯДОВ ПОРЯДКА РАВЕН 2б= 64? ЗДЕСЬ ДОЛЖНА БЫТЬ ПЛАВАЮЩАЯ ЗАПЯТАЯ РИС. 2. 2. ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ ОДИН БАЙТ ОДИН БАЙТ зона!»»*- 1 РА зона!»»*- зона!»»* ЗНАК1ЦИФ- FA ТЫСЯЧНЫЕ СОТЕННЫЕ ДЕСЯТИЧ- ЕДИНИЧНЫЕ РАЗРЯДЫ РАЗРЯДЫ НЫЕ РАЗРЯДЫ РАЗРЯДЫ ОДИН БАЙТ ОДИН БАЙТ ЦИФ !циф ра ; ра ЦИФ .'ЦИФ РА | РА ЦИФ I3HAK РА j А, С. Е. F ОБОЗНАЧАЮТ ЗНАК ПЛЮС, В, D ОБОЗНАЧАЮТ ЗНАК МИНУС РИС. 2. 4. УПАКОВАННОЕ ДЕСЯТИЧНОЕ ЧИСЛО РИС. 2. 3. ЗОННАЯ ФОРМА ПРЕДСТАВЛЕНИЯ ДЕСЯТИЧНОГО ЧИСЛА ЗНАК СТАНОВИТСЯ ПОСЛЕДНИМ
2. Представление данных в компьютере 5 [1] ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАПЯТОЙ На рисунке 2.1 показан случай представления двоичных чисел с фик- сированной запятой при помощи 32 битов, а на рисунке 2.5 показан кон кретный пример такого представления. I а ) |о; О- - о> а)! ; | 1ч ( b ) |1; 1 1!.н | 4 НАИМЕНЬШЕЕ ОТРИЦАТЕЛЬНОЕ , ЧИСЛО . . ! < 1 L1 РИС. 2. 5. ПРИМЕР ПРЕДСТАВЛЕНИЯ ДВОИЧНЫ? ЧИСЕЛ С ФИКСИРОВАННОЙ ЗАНЯТ-' * [2] ПРЕДСТАВЛЕНИЕ ДВОИЧНЫХ ЧИСЕЛ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ На рисунке 2.2 показан случай представления двоичных чисел с яла вающей запятой при помощи 32 битов, а на рисунке 2.6 дан конкретный пример такого представления. Как показано в таблице 2.1, степень ра.зря дов порядка равна 64. ТАБЛИЦА 2. 1. ПРЕДСТАВЛЕНИЕ РАЗРЯДОВ П« РЯДКА ПОРЯДОК РАЗРЯДЫ ПОРЯДКА (ВЕС РАЗРЯДА 64) - 64 0 0 0 0 0 0 0 -63 0 0 0 0 0 0 1 1 0 .111111 0 10 0 0 0 0 0 1 1 0 0 0 0 0 1 2 1 0 0 0 0 10 63 1111111 19.375 Т ПОЛОЖИТЕЛЬНОЕ число ПОРЯДОК =4 2 МАНТИССА0. 136000 •’ИС. 2. 6. ПРИМЕР ПРЕДСТАВЛЕНИЯ ДВОИЧНЫХ ПЛАВАЮЩЕЙ ЗАНЯТОЙ
о I. Представление чисел [3] ПРЕДСТАВЛЕНИЕ ДЕСЯТИЧНЫХ ЧИСЕЛ Как показано на рисунке 2.3, зонная форма десятичных чисел пред- ставляет собой такую конфигурацию, в которой во внутренний код до- бавлен знак. С помощью такой формы осуществление операций невозмож- но. Чтобы обеспечить возможность выполнения операций, необходимо, как это показано на рисунке 2.4, превратить ее в упакованную форму десятичных чисел. Практический пример представления десятичных чисел иллюстриоуется йа рисунке 2.7. ( а) пример зонной формы ОДИН БАЙТ .1. 2 3^4 F J рлзМЕр унл КОВАННОГО ЧИСЛА _________ МЕНЬШЕ! 5 6 7 80 ( 6)ПРИМЕР УПАКОВАННОЙ ФОРМЫ РИС. 7. 111>л к'1'ИЧЕСКИй ПРИМЕР ПРЕДСТАВЛЕНИИ ДЕСЯТИЧНЫХ ЧИСЕЛ [4] ЯЗЫКИ ПРОГРАММИРОВАНИЯ И ПРЕДСТАВЛЕНИЕ ДАННЫХ В алгоритмическом языке ФОРТРАН, получившем широкое распрост- ранение для решения вычислительных задач в науке и технике и иллюстри- руемом на рисунке 2.8, применяют двоичные числа как с фиксированной, так и с плавающей запятыми. В алгоритмическом же языке КОБОЛ,.пред- назначенном для обработки больших массивов в задачах экономического хаоактеоа. используют десятичную систему. ФОРТРАН КОБОЛ РИС. 2. 8. ЯЗЫКИ ПРОГРАММИРОВАНИЯ И ПРЕДСТАВЛЕНИЕ ДАННЫХ.
3. Сложение и вычитание двоичных чисел 7 СЛОЖЕНИЕ И ВЫЧИТАНИЕ ДВОИЧНЫХ ЧИСЕЛ РИС. 3.1. ПРАВИЛА СЛОЖЕНИЯ И ВЫЧИТАНИЯ РИС. 3. 4. ВЫЧИТАНИЕ С ДОПОЛНЕНИЕМ +2
8 I. Представление чисел [1] СЛОЖЕНИЕ И ВЫЧИТАНИЕ ДВОИЧНЫХ ЧИСЕЛ Правила сложения и вычитания двоичных чисел показаны на рисунке 3.1, а на рисунке 3.2 иллюстрируются конкретные примеры этих арифме- тических действий. [2] ВЫЧИТАНИЕ С ДОПОЛНЕНИЕМ При осуществлении в компьютере операций по сложению и вычитанию для сложения используется суммирующее устройство, однако вычитающее устройство не применяется, поэтому с помощью дополняющего устройст- ва берется дополнение вычитаемого числа и операция ведется путем исполь- зования суммирующего устройства. Это объясняется тем, что дополняю- щее устройство имеет более простую конструкцию, чем вычитающее ус- тройство. На рисунке 3.3 показан случай применения дополнения, однако очень часто используют, как это видно из рисунка 3.4, дополнение плюс 1. Дополнения двоичных чисел показаны в таблице 3.1. В ней первое дополнение отражает биты двоичных чисел, а второе дополнение получено путем добавления 1 в первое дополнение. ТАБЛИЦА 3. 1. ДОПОЛНЕНИЯ ДВОИЧНЫХ ЧИСЕЛ ДЕСЯ- ТИЧНЫЕ ЧИСЛА двоич- НЫЕ ЧИСЛА ПЕРВОЕ допол- НЕНИЕ ВТОРОЕ ДОПОЛ- НЕНИЕ 0 0 0 0 0 1111 0 0 0 0 1 0 0 0 1 1110 1111 2 0 0 10 110 1 1110 3 0 0 11 110 0 110 1 4 0 10 0 10 11 110 0 5 0 10 1 10 10 10 11 6 0 110 10 0 1 10 10 7 0 111 10 0 0 10 0 1 8 10 0 0 0 111 10 0 0 9 10 0 1 0 110 0 111 ПЕРВЫЕ ДОПОЛНЕНИЯ ОТРАЖЕНИЕ БИТОВ ДВОИЧНЫХ ЧИСЕЛ. ВТОРЫЕ | ДОПОЛНЕНИЯ | ПОЛУЧЕНЫ I ПУТЕМ | ДОБАВЛЕНИЯ 1 i В ПЕРВЫЕ ' < ДОПОЛНЕНИЯ. ;
II. ОБЩИЕ СВЕДЕНИЯ О ВЫЧИСЛИТЕЛЬНЫХ МАШИНАХ Широкий размах получило развитие электронной вычислительной техники, в частности поразительны успехи в аппаратурном обеспечении, значительно повысилась скорость обработки данных центральным процессором, а также с каждым годом все улучшаются харак- теристики периферийных устройств. В . данном разделе, беря за основу средние вычислительные машины, в первую очередь рассматриваем различ- ные структуры вычислительных машин и устройств ввода и вывода информа- ции. Затем даются сведения об уст- ройствах ввода-вывода и центральном процессоре, а также о различных вспо- могательных запоминающих устройст- вах, характеристики которых получили дальнейшее развитие за последние годы. Одновременно в этом разделе опи- сываются носители данных и входные файлы, имеющие отношение к вычисли- тельным машинам, а также рассмат- риваются системы внешнего и внутрен- него кодов. И в заключение раздела даются сведения о компьютерах для учрежде- ний, микро-ЭВМ и персональных компь- ютерах.
10 II. Общие сведения о вычислительных машинах 4 _ СТРУКТУРЫ ВЫЧИСЛИТЕЛЬНЫХ МАШИН БАНКИ, ПОЧТАМТЫ школы НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЕ ИНСТИТУТЫ И ЛАБОРАТОРИИ ГОСУДАРСТВЕННЫЕ УЧРЕЖДЕНИЯ ПРОГРАММИРОВАННОЕ » ОБУЧЕНИЕ ТОРГОВЫЕ ПРЕДПРИЯТИЯ ФИРМЫ- ПРОИЗВОДИТЕЛИ ЭЛЕКТРИЧЕСТВО, /''ПИСЬМЕННЫЕ ГАЗ, ВОДА /| ТРЕБОВ АН ИЯ J КВИТАНЦИИ \ О ПОЛУЧЕНИИ УНИВЕРСАЛЬНЫЕ МАГАЗИНЫ j ВЫЧИСЛИТЕЛЬНАЯ МАШИНА НОРМЫ / ВЫРАБОТКИ УЧЕТ ПРИБЫЛИ Ч. ОТ ПРОДАЖИ ТОВАРОВ КОМПАНИИ, ЗАНИМАЮЩИЕСЯ КУПЛЕЙ,ПРОДАЖЕЙ КОЛЕБАНИЕ^ /и ПРИЕМОМ ЦЕНГ» ЦЕННЫХ БУМАГ БОЛЬНИЦЫ 'ЛЮБИТЕЛИ ГОРЬКОГО 1 ГАЗЕТНЫЕ ИЗДАТЕЛЬСТВА ЛЮБИТЕЛИ СЛАДКОГО ВЫБОРЫ СУДИМОСТЬ ПРОГНОЗ ПОГОДЫ СВЕТОВОЕ^ ТИПОГРАФИИ lliSFAj ПРЕДВАРИТЕЛЬНЫЙ ЗАКАЗ МЕСТ, /ПУТЕВОДИТЕЛЕЙ ЭКСПРЕСС [сверхскоростной 1---... ЭКСПРЕСС РЕГУЛИРОВАНИЕ I УЛИЧНОГО ДВИЖЕНИЯ ДОЖДЯ полиция РИС. 4. 1. ОБЛАСТИ ПРИМЕНЕНИЯ КОМПЬЮТЕРОВ Имеются различные структуры вычислительных машин, широко при- меняемых во многих областях промышленности и народного хозяйства, из которых наиболее типичные перечислены на рисунке 4.1. За последнее время особенно заметный прогресс достигнут в выпуске управляемых микро-ЭВМ электрических приборов, тесно переплетающихся с нашей повседневной жизнью (стиральные машины, холодильники, электричес-
4. Структуры вычислительных машин 11 кие плитки и т. д.), а также в созданий систем, поддерживающих безопас- ность в домах (например, противопожарные средства и системы предуп- реждения преступлений). Помимо этого в обычных семьях постепенно появляются персональные компьютеры (домашние ЭВМ), которые стано- вятся любимым хобби членов семьи. МИКРО-ЭВМ В РОЛИ ДОМАШНЕЙ ХОЗЯЙКИ РИС. 4.2. [Т] ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ ВЫЧИСЛИТЕЛЬНЫХ МАШИН СПОСОБНОСТЬ ЗАПОМИНАТЬ БОЛЬШОЕ КОЛИЧЕСТВО ИНФОРМАЦИИ ВЫСОКАЯ СКОРОСТЬ ОБРАБОТКИ (ИНФОРМАЦИИ) РИС. 4. 3. ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ ВЫЧИСЛИТЕЛЬНЫХ МАШИН [2] ПЕРСПЕКТИВЫ ВЫЧИСЛИТЕЛЬНЫХ МАШИН Усовершенствование и внедрение компьютеров будет продолжаться й впредь. Они будут использоваться не только в народном образовании и здравоохранении, но и во многих других областях, на которые их дея- тельность еще не распространена. ВЫЧИСЛИТЕЛЬНАЯ МАШИНА РИС. 4. 4.
12 II. Общие сведения о вычислительных машинах [3] ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ И ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА Один из примеров вычислительной машины иллюстрируется на рисун- ке 4.5. Периферийным оборудованием мы называем набор устройств ввода-вывода данных и внешних запоминающих устройств. Очень разно- образны периферийные устройства, и наиболее типичные из них перечисле- ны на рисунке 4.6. РИС. 4. 5. ТИПИЧНАЯ ВЫЧИСЛИТЕЛЬНАЯ МАШИНА УСТРОЙСТВО СЧИТЫВАНИЯ С ПЕРФОЛЕНТЫ ' УСТРОЙСТВО СЧИТЫВАНИЯ С ПЕРФОКАРТ ОПТИЧЕСКОЕ СЧИТЫВАЮЩЕЕ УСТРОЙСТВО ОПТИЧЕСКОЕ УСТРОЙСТВО ДЛЯ СЧИТЫВАНИЯ МЕТОК ----- ЗАПОМИ- НАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНОЙ ЛЕНТЕ ПОСТРОЧНО- ПЕЧАТАЮЩЕЕ УСТРОЙСТВО УСТРОЙСТВО ВЫВОДА НА ПЕРФОЛЕНТУ ДВУХКООРДИ- НАТНЫЙ ГРА- ФОПОСТРОИТЕЛЬ ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР (CPU) д|=1 ।носки Sw CQ Д ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНЫХ БАРАБАНАХ о 5 РИС. 4. 6. ОСНОВНЫЕ ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА
4. Структуры вычислительных машин 13 [4] ВНУТРЕННИЕ КОДЫ ВЫЧИСЛИТЕЛЬНЫХ МАШИН данные, поступающие из различных устройств ввода, обычно преобра- зуются в код EBCDIC. Представление данных в вычислительной машине за- висит от системы, и эти данные преобразуются в EBCDIC с помощью устрой- ства ввода данных и операционной системы (смотри раздел V). Код EBCDIC представлен в таблице 4.1. В ней латинская буква А соответствует (С1) -jg (представление данных шестнадцатеричными числами), а латинская буква К соответствует (D2) 16- Цифра 3= (F3) -jg. ТАБЛИЦА 4. 1. ТАБЛИЦА КОДОВ EBSDIS \В1~В4 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 nil В5~В8\ 0 1 2 3 4 5 6 7 8 9 A В c D E F оссо с NUL DS SP & - 7 0. 0001 1 SOS / a7 j? A J 1 0010 2 FS M kf- В К S 2 ООН 3 ТМ c7 1'7 И C L T 3 0100 4 PF RES BYP PN dx mr Ц-7 D M U 4 0101 5 НТ NL LF RS e>T n Ь V £ E N V 5 ОНО 6 LC BS EBO UC f* o± WA F 0 W 6 0111 7 DL IL PRE EOT g* p- XX G P X 7 1000 8 h? qx y-E H Q Y 8 1001 9 idr Г z-V I R Z 9 1010 А СС SM c ! zj 7 XL u 1011 В ¥ 0 1100 С < * % @ V 3 7 1101 D ( ) - r 7 1110 Е 4- > = Л t U 1111 F 1 —1 ? -t 7 ° NUL — НУЛЬ PF — ВЫКЛЮЧЕНИЕ ПЕРФОРАТОРА НТ — ГОРИЗОНТАЛЬНАЯ ТАБУЛЯЦИЯ LC — НИЖНИЙ РЕГИСТР DL — ЗАБОЙ ТМ — ЛЕНТОЧНАЯ МАРКА SOS — НАЧАЛО ЗНАЧИМОСТИ FS — РАЗДЕЛИТЕЛЬ ПОЛЕЙ RES — ВОССТАНОВЛЕНИЕ LL — НОВАЯ СТРОКА BS — ВОЗВРАТ НА ШАГ I L — ОЖИДАНИЕ СС — УПРАВЛЕНИЕ УКАЗАТЕЛЕМ DS — ВЫБОР ЦИФРЫ SM — УСТАНОВЛЕНИЕ РЕЖИМА PN — ВКЛЮЧЕНИЕ ПЕРФОРАТОРА BYP — БЛОКИРОВКА LF — ПЕРЕВОД СТРОКИ FOB — КОНЕЦ БЛОКА PREF — ПРЕФИКС RS — ОСТАНОВКА СЧИТЫВАЮЩЕГО УСТРОЙСТВА UC — ВЕРХНИЙ РЕГИСТР EOT — КОНЕЦ ПЕРЕДАЧИ SP — ПРОБЕЛ
14 IL Общие сведения о вычислительных машинах УСТРОЙСТВА ВВОДА ИНФОРМАЦИИ УПРАВЛЯЮЩИЕ КНОПКИ РИС. 5.1. УСТРОЙСТВО СЧИТЫВАНИЯ С ПЕРФОКАРТ РИС. 5. 3. ОПТИЧЕСКОЕ УСТРОЙСТВО СЧИТЫВАНИЯ МЕТОК РИС. 5. 2. УСТРОЙСТВО СЧИТЫВАНИЯ С ПЕРФОЛЕНТЫ
5. Устройства ввода информации. 15 [1] УСТРОЙСТВО ДЛЯ СЧИТЫВАНИЯ С ПЕРФОКАРТ Показанная на рисунке 5.5 перфокарта была получена при помощи устрой- ства подготовки данных на перфокартах. На рисунке 5.1 иллюстрируется устройство для считывания этой перфокарты. Оно способно считывать примерно 2000 перфокарт в минуту. О1 £345t.7S9 AECICF 5Н1JKLMHOPQRSTUVUXYZ . < < -ы • ) ? , 7С> IIIIIIIH lam IIIIIIHI inn о о о о о |о О О О О fi О О О О О И 0.0 О О О О О О О О О О О 0 0 0 0 OfllllllilO 0 0 0 0 0 0 0 0 0 0 0 0 0 OllflllO 8 0 0 0 0 0 0 0 0 0 0 0 0 0 12 3.3678 О >0 ч Ч Ч ч >5 16 17 1В '97021 77 23 24 П 74 П 78 7» 30 3> 3733 ПК 36 37 .8 п ... 4> 4} 4> 44 *3 «в « «6 SOS' 51 53 5. 33 56 57 58 59 66 61 67 63 6.65 66 67 66 «9 70 71 77 73 7» 73 76 И 78 79 00 I I I I I I 11 I I I I 1 I 1 I I I 1 11 I I I 1 I I I 11 I I I I I 1.1 I I I 1 I I I I I I 1 I I I I i I I I 1 I I I I 1 I I I 1 1 I Г I I 1 I 1 I ) I I I I 2 2 2 2 2 2 2 В 2 2 2 2 2 2 2 2 2 2 2 2 В ? 2 2 2 2 2 2 2 В И 2 2 2 2 2 В И 2 2 2 2 2 2 2 2 2 2 2 2 2 2 R 2 2 2 2 2 2 2 2 2 2 В ? П 2 2 2 2 2 2 2 2 2 2 If 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 з 3 3 3 3 3 3 3 3 3 3 3 3 3 3 з 1 3 3 3 3 в 3 3 3 3 з 3 3 3 3 3 3 3 3 3 3 3 3 3 444444444|44444<444444|<4444444|4444<44|<444<<4444|4444<|44<4|44444|4444^4444444 5555SS555S15S555555S5S5B55555555i555SS551S555555555BS5S55i5555i5555SB55555S5555S ншинн|шшин и|шшн|ш ш s|hh шш|н ш|ниВш и|шешш 111111 in 1 и 1111111 in -1 и 111111111111111 и 111111 in 11R11i1 in I И1111 и 11 и 111 11 I 8S88B888888E8B86888888888BB88888888|8S88888BB8B8 0IBBBBBIIIB 8 ВВШВШВВ 0 8 0 8 8 8 0 8 8 9 9 9 9 8 9 8 8 9 8 9’8 9 8 В 9 9 S 9 9 9 9 8 9 9 9 9 В 9 8 9 8 8 9 9 9 В 9 8 9 9 8 9 9 В 8 9 8 9 9 9 9 9 9 9 9 9 9 9 9 5 9 9 9 9 9 9 9 9 9 9 9 9 8 9 9 9 8 8 9 I 7 3 4 5 6 > « в ю II 12 13 14 15 16 17 (5 19 ZO Л М2Э 74 75 76 17 гей 3031 37 33 4« 35 36 3/ 3U 3S .O«l «2 43 *• 4S <6 .7-48 5S 50 S' 52S3 74 55 5‘57 SS S9 6041 6Z6364 45 66 676? 69 70 71. ?Z 73 7-1 7S 7C 77.78 79 »O FACOM 508 I РИС. 5. 4. ПЕРФОКАРТА 2] УСТРОЙСТВО ДЛЯ СЧИТЫВАНИЯ С ПЕРФОЛЕНТЫ На рисунке 5.6 показана перфо- лен -з. которую получают с помощью устройства подготовки данных на перфоленте, иллюстрируемого на ри- сунке 6.8, и подготавливается пос- редством пультовой пишущей ма- шинки устройства подготовки дан- ных на перфоленте. На рисунке 5.2 показано устрой- ство для считывания с перфоленты, которое способно считывать пример- но до 1200 символов в секунду. МАГАЗИН (ПОСЛЕ ПЕРФО- РАЦИИ) БЛОК ПЕРФОРАЦИИ (С НАДПЕЧАТКОЙ) /ПЕРФО- РАЦИЕЙ) РИС. 5. 5. УСТРОЙСТВО ПОДГОТОВКИ ДАННЫХ НА ПЕРФОКАРТАХ РИС. 5. 6. ВОСЬМИДОРОЖЕЧНАЯ ПЕРФОЛЕНТА
16 II. Общие сведения о вычислительных машинах _ 111ПГ llllllllll шипи iimimi [] I ^1 ^1 £« e-< Й« £<* »PS 4s« 54S w. St! ади xx 5ЧЧ <0 8S а<п 5SS &п 4М 4И & & «с 5^ •£ 1*6 ‘fe {Ф ft G в . к-ф) J -«б -fro g$x +6 •' !U BHo Wb^ z^jhV/j s,^ <v- < W t- 7.Й1 I® 4й аз и -в?. М' ач t!£ «У <£# «ЬЪ ^11 А EP <-l[J I к g §§ £s 2K se is Is MbH Н № й??а fflj tfS Jf 5a f «#? ss iw. «a «J к Й«
FORTRAN .CODING SHEET2(OCR) 5. Ус ИСПОЛЬЗУЕМЫЙ С ОПТИ- ( a ) БЛАНК ДЛЯ ЯЗЫКА ФОРТРАН (ОПТИЧЕСКОЕ УСТРОЙСТВО ВВОДА ДАННЫХ В ЭВМ COBOL SHEET 2 СОСЯ) НАЗВАНИЕ Ti . .. [ДАТА СОСТАВЛЕНИЯ ИСПОЛНИТЕЛЬ . ИСПРАВЛЕНИЯ ПОМЕТКИ 1ФИКАТОР TO A BCTeFGH'IJ KlAn)o !РЙР SlW®wg£® , шатаю СП LШХШХJ.TПШС ЙЖЕВ iCTBA
18 II. Общие сведения о вычислительных машинах [3] ОПТИЧЕСКОЕ УСТРОЙСТВО ДЛЯ СЧИТЫВАНИЯ МЕТОК Оптическое устройство для считывания меток представляет собой при- бор, предназначенный для считывания меток, записанных карандашом на специальных бланках, и широко применяется для считывания инфор- мации с актов испытаний, анкет и прочих документов. За последние годы такое устройство получило распространение также при проверке знаний поступающих в высшие учебные заведения и для переписи населения. На рисунке 5.7 показан пример использования оптического устройства считы- вания меток в „Системе обслуживания автомобилей путем передачи по телефону данных о результатах их осмотра", которая применяется фирмой Дэндокося. Данные, получаемые в системе, использующей оптическое устройст- во считывания меток, подвергаются считыванию в этом же виде, в связи с чем представляется возможность сократить время с момента образования данных до получения окончательных результатов и отпадает опасность возникновения ошибок при подготовке информации. Скорость считывания устройства, иллюстрируемого на рисунке 5.3, составляет примерно 600 листов в минуту, поэтому можно обрабатывать большие массивы информации. [4] ОПТИЧЕСКОЕ УСТРОЙСТВО СЧИТЫВАНИЯ И ВВОДА ДАННЫХ В ЭВМ Такое устройство считывает и распознает стандартизованные знаки либо стилизованные рукописные знаки. На рисунке 5.8 показан бланк, используемый с оптическим устройством считывания и ввода данных в ЭВМ. Применение такого бланка дает то пре- имущество, что устраняются хлопоты, связанные с процессом перфорации. Помимо этого в учреждениях, взимающих налоги, и в учреждениях, выдающих ссуды, на бланках,,выходящих в отпечатанном виде из вычисли- тельной машины, проставляется печать о приеме денег (или печать о выдаче денег в учреждениях, выдающих ссуды), и они опять вводятся в оптическое устройство считывания и ввода данных в ЭВМ. Благодаря этому исключается перфорация и устраняются ошибки. Типичный пример оптического устрой- ства считывания и ввода данных в ЭВМ иллюстрируется на рисунке 5.9. РИС. 5. 9. ОПТИЧЕСКОЕ УСТРОЙСТВО СЧИТЫВАНИЯ И ВВОДА ДАННЫХ В ЭВМ
6. Устройства вывода информации 19 Б УСТРОЙСТВА ВЫВОДА ИНФОРМАЦИИ И УСТРОЙСТВА, ИСПОЛЬЗУЕМЫЕ КАК ДЛЯ ВВОДА ТАК И ДЛЯ ВЫВОДА ИНФОРМАЦИИ РИС. 6. 1. ПОСТРОЧНО АЛФАВИТНО-ЦИФРОВОЕ ПЕЧАТАЮЩЕЕ УСТРОЙСТВО РИС. 6.2. ДИСПЛЕЙ РИС. 6 3. ДВУХКООРДИНАТНЫЙ ГРАФОПОСТРОИ ТЕЛЬ [1] АЛФАВИТНО- ЦИФРОВОЕ ПЕЧАТАЮЩЕЕ УСТРОЙСТВО На рисунке 6.1 показано алфавитно-цифровое печатающее устройство, способное печатать примерно 2400 строк в минуту. Для печати берут, как это показано на рисунке 6.4, удобную для резки пачку бумаги с фальцем для перегиба и разрыва. На> одной странице такой бумаги можно печатать 66 строк. Принцип печати иллюстрируется на рисунке 6.4. Срабатывают электро- магниты, состояние которых задается с помощью команды печати, и посредством молоточков осуществляется печать знаков. Следовательно, при
20 Общие сведения о вычислительных машинах поступлении команды печати на всей строке с одинаковыми знаками происходит одновременное срабатывание 136 молоточков. Как показано на рисунке 6.4, молоточки расположены в направлении вращения шрифтового барабана,поэтому для печати одной строки требуется максимум один оборот барабана, однако барабан вращается с исключительно высокой скоростью, в связи с чем создается впечатление, что строка печатается одновременно. [2] ДИСПЛЕЙ Дисплей показан на рисунке 6.2. Он может быть снабжен многоцветным экраном или световым пером. Наличие клавиатуры позволяет вводить данные, поэтому дисплей служит как устройство ввода-вывода. В последние годы в вычислительных системах дисплей обеспечивает непосредственную связь с оператором.
6. Устройства вывода информации 21 tt R S .« а РИС. 6. 6. ПРИМЕР ИЕРОГЛИФИЧЕСКОГО ВЫХОДА
22 II. Общие сведения о вычислительных машинах [3] ДВУХКООРДИНАТНЫЙ ГРАФОПОСТРОИТЕЛЬ На рисунке 6.3 показан двухкоординатный графопостроитель, который применяется для вывода данных из ЭВМ в виде графика или диаграммы. Перо и бумага движутся так, как это показано на рисунке 6.3. Один шаг составляет примерно 0,1—0,3 мм, и каждую секунду осуществляется при- мерно 1000 шагов, поэтому затрачивается время на получение сложной графической информации, но тем не'менее с помощью такого устройства получают большое количество многоцветной информации и пространствен- ных чертежей. Результат работы двухкоординатного графопостроителя иллюстрируется на рисунке 6.5. [4] АЛФАВИТНО- ЦИФРОВОЕ ПЕЧАТАЮЩЕЕ УСТРОЙСТВО ДЛЯ ЯПОНСКОГО ЯЗЫКА На рисунке 6.7 показано алфавитно-цифровое печатающее устройство, которое может выдавать как иероглифы, так и диаграммы. Такое устрой- ство изготовлено на принципе сухого электронного фотографирования с помощью лазерного луча. Результат работы этого устройства иллюстрируется на рисунке 6.6. [5] УСТРОЙСТВО ВЫВОДА ИНФОРМАЦИИ НА ПЕРФОЛЕНТУ На рисунке 6.8 представлено устройство вывода информации на перфо- ленту. Оно приводится в действие командой, подаваемой ЭВМ, и может в течение одной секунды перфорировать примерно 200 знаков. РИС. 6. 7. ПОСТРОЧНО-ПЕЧАТАЮЩЕЕ • УСТРОЙСТВО ДЛЯ ЯПОНСКОГО ЯЗЫКА БОБИНА С ЛЕНТОЙ (ПОСЛЕ ПЕРФОРАЦИИ) РУЧНАЯ НАМОТОЧНАЯ МАШИНА БОБИНА С ЛЕНТОЙ (ПЕРЕД ПЕРФОРА- ЦИЕЙ) БЛОК ПЕРФОРАЦИИ (С НАД- ПЕЧАТКОЙ) РИС. 6. 8. УСТРОЙСТВО ВЫВОДА ДАННЫХ НА ПЕРФОЛЕНТУ
7. Система ввода-вывода и центральный процессор 23 РИС.. 7. 1. ПАРАЛЛЕЛЬНАЯ РАБОТА ЦЕНТРАЛЬНОГО ПРОЦЕССОРА И СИСТЕМЫ ВВОДА-ВЫВОДА РИС. 7. 2. КАНАЛЫ И РАБОТА УСТРОЙСТВА ВВОДА-ВЫВОДА
24 II. Общие сведения о вычислительных машинах [1] СИСТЕМА ВВОДА—ВЫВОДА Центральный процессор обрабатывает информацию за наносекунды (10'9секунд), а устройство ввода-вывода за миллисекунды (10-3секунды). При обработке информации согласно рисунку 7.1 (а) система, в которой обработка ведется последовательно в соответствии с диаграммой, принимает форму рисунка 7 (б), и центральный процессор периодически не загружен. И наоборот, как это показано на рисунке 7 (с), при параллельных печати, считывании и обработке процессором сокращается время обработки одной записи. Для обеспечения такой параллельной обработки используются кана- лы ввода-вывода и устройство управления вводом-выводом, иллюстрируе- мые на рисунке 7.3. Как показано на рисунке 7.2 при поступлении команд на ввод и вывод центральный процессор обрабатывает эти команды и передает их в каналы (следовательно, центральный процессор готов к следующей обработке). По- мимо этого каналы выполняют обычную обработку, и операции, присущие отдельным устройствам управления вводом-выводом (прогон бумаги алфавитно-цифрового печатающего устройства, перемотка для магнитной ленты и т. д.), поручаются устройствам управления вводом-выводом. С помощью такой системы обеспечивается мультипрограммирование (см. раздел V , пункт 28) и повышается обрабатывающая способность. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР СЧИТЫВАНИЕ И ВЫПОЛНЕНИЕ КОМАНД ВВОДА-ВЫВОДА КАНАЛ ВВОДА-ВЫВОДА КАНАЛ ВВОДА-ВЫВОДА СЧИТЫВАНИЕ И ИСПОЛНЕНИЕ КОМАНД КАНАЛА УСТРОЙСТВО УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ УСТРОЙСТВО УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ УСТРОЙСТВО УПРАВЛЕНИЯ ВВОДОМ-ВЫВОДОМ СЧИТЫВАНИЕ И ВЫПОЛНЕНИЕ УПРАВЛЯЮЩЕЙ КОМАНДЫ ^ШРОЙСТВШ Считываний ширШкарто: ;ШОСТРОЧНШ;1 (печатающее; йШстройствШ 'ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНЫХ I БАРАБАНАХ , gw РИС. 7. 3. СИСТЕМА ВВОДА-ВЫВОДА
7. Система ввода-вывода и центральный процессор 25 РИС. 7. 4. ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР каждый БАЙТ ; ИМЕЕТ АДРЕС И СЛОВА С г СООТВЕТСТВУт I ЮЩИМИ ИМ ! I АДРЕСАМИ? j РИС. 7. 5. ОСНОВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО ВОТ ПОЧЕМУ НАЗЫВАЕТСЯ f ЭВМ С БАЙТОВОЙ ОРГАНИЗАЦИЕЙ ПАМЯТИ! ДОЛЖНЫ [2] ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР Как показано на рисунке 7.4,центральный процессор состоит из устройства управления, основного запоминающего устройства и ариф- метического устройства. Эти три устройства в комбинации с устройством ввода данных и устройством бывода данных иногда называют пятью основными устройствами. Устройство управления выдает команды на остальные четыре устройства и, действуя согла- сно программе, выдает команды согласно порядку обработки данных. Арифметическое устройство осуществляет выполнение арифметических и логических операций. Принцип действия, этих двух устройств по- ясняется в разделах VI. и VII. РИС. 7. 6. ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА ИНТЕГРАЛЬ- НЫХ СХЕМАХ (ЗАПОМИНАЮ- ЩЕЕ УСТРОЙСТВО НА БИС С МОП-СТРУКТУРАМИ 64КЙЛОБИТ)
26 II. Общие сведения о вычислительных машинах [3] ОСНОВНОЕ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО Основное запоминающее устройство запоминает программу и информа- цию, как показано на рисунке 7.5, в определенных адресах. Данные, записан- ные в каком-нибудь адресе, не стираются даже при их многократной записи/ считывании. При записи новой информации в этот адрес прежняя информа- ция стирается. Запоминание основывается на поразрядной записи 0 или1 (двоичная система). Скорость записи/считывания и объем основного запоминающего устрой- ства оказывает большое влияние на характеристики вычислительных машин, поэтому одновременно с совершенствованием ЭВМ идет также усовершенст- вование элементов памяти и снижается их стоимость. В прошлом широкое распространение получили магнитные сердечники (ферритовое кольцо диа- метром примерно 0,16—0,8 мм), однако за последние годы на смену им при- шли интегральные схемы (ИС). Как показано на рисунке 7.6, запоминающее устройство на интегральных схемах малогабаритно, обладает большим объемом памяти и может изготав- ливаться в массовом масштабе, в результате чего снижается стоимость едини- цы информации и заметно уменьшается потребляемая мощность. РИС. 7. 7. ДЛИНА ОДНОГО СЛОВА ОДНОМУ СИМВОЛУ СООТВЕТСТВУЕТ ОДИН БАЙТ
8. Внешние запоминающие устройства 27 РИС 8. 3. КОНСТРУКЦИЯ ЗАПОМИНАЮЩЕГО УСТРОЙСТВА НА МАГНИТНЫХ барабанах [1] ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНОЙ ЛЕНТЕ По сравнению с другими внешними запоминающими устройствами па- ь на магнитной ленте, показанная на рисунке 8.1, стоит недорого, поэто- юльзуется широким спросом. Однако, как это видно из рисунка 8.5, об- ь ее применения ограничена, потому что на ней может быть записан толь- тоследовательный массив данных (записи расположены последовательно). Одну бобину магнитной ленты принято называть томом. Как показано на
2g И. Общие сведения о вычислительных машинах рисунке 8.4, к обратной стороне ленты приклеены отражающие маркеры, чтобы обнаруживать начало и конец ленты. Между этими маркерами, как это видно из рисунка 8.5, записывается один файл. На рисунке 8.5 в начале ленты стоит метка тома, начинающаяся символа- ми VOL и включающая в себя номер тома, а также условия доступа. Следую- щая метка является меткой начала файла, она начинается с символов HDR и включает в себя имя файла, максимальное число информационных записей и дату. Метка конца файла начинается с символов EOF и содержит информа- цию о количестве записей. Обычно один том ленты содержит несколько файлов, или один файл может быть разбит на несколько томов. ОТРАЖАЮЩИЕ НАЧАЛО ЛЕНТЫ МАРКЕРЫ КОНЕЦ ЛЕНТЫ BOT(Begining of Таре) : начало ленты. EOTCEnd of Таре) ’. конец ленты 7 'Р РИС. 8. 4. МАГНИТНАЯ ЛЕНТА IBG ТМ IBG VOL; ; j I БЛОК i i БЛОК i мик I : [ДАННЫХ | ДАННЫХ; НАПРАВЛЕНИЕ IBG ТМ IBG ТМ ДВИЖЕНИЯ ЛЕНТЫ \ f V/Г ! ! ' 1 И I БЛОК !;i [ДАННЫХ; i| VOL МЕТКА ТОМА ЛЕНТЫ HDR МЕТКА НАЧАЛА ФАЙЛА 1D~. ПРОМЕЖУТКИ МЕЖДУ БЛОКАМИ IBG.ДАННЫХ ТМ : ЛЕНТОЧНАЯ МАРКА РИС. 8. 5. ФАЙЛЫ НА МАГНИТНОЙ ЛЕНТЕ Буквы IBG обозначают промежуток между блоками данных на магнит- ной ленте. Как видно из рисунка 8.6, запись и считывание данных ведутся поблочно, поэтому упомянутый выше интервал между блоками IBG необхо- дим, чтобы скорость движения магнитной ленты при считывании была пос- тоянной. На рисунке 8.7 иллюстрируется пример записи информации на 9 дорож- ках. Плотность записи составляет либо 800 битов на дюйм (32 столбца/мм; 32 символа/мм), либо 3200 битов на дюйм.
8. Внешние запоминающие устройства 29 ЗАПИСИ ЗАПИСИ РИС. 8. 6. БЛОКИ И ПРОМЕЖУТКИ МЕЖДУ НИМИ. СТОЛБЦЫ ЗАПИСЫВАЕМЫЕ ’СИМВОЛЫ 1 2 3 4 5 6 7 8 9 НАПРАВЛЕНИЕ ДВИЖЕНИЯ —► ЛЕНТЫ Ьз th bg ьр Ьб ь? Ь8 Ьг Ь4 * НОМЕР иБИТА НОМЕР ДОРОЖКИ РИС. 8. 7. СПОСОБ ЗАПИСИ Г В А I I I I й I [2] ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНЫХ ДИСКАХ Как показано на рисунках 8.2 и 8.8, запоминающее устройство на маг- нитных дисках состоит из определенного количества дисков, расположен- ных друг над другом на общей оси, и может применяться не только для пос- ледовательной записи информации, но и для произвольной записи данных (метод произвольной выборки и записи данных вне какой-либо связи с по- рядком записи). На рисунке 8.8 один пакет из 6 дисков имеет 10 поверхно- стей, на каждой их которых предусмотрено 200 дорожек. Если рассматри- вать их в качестве 200 цилиндров, как это показано на рисунке 8.9, и записы- вать информацию по цилиндрам, то значительно повысится производитель- ность при последовательной записи информации. Время, в течение которого происходит срабатывание дискретно-шагово- го механизма и головки записи/считывания перемещаются с одной дорожки носителя на другую, принято называть временем установки. Для уменьшения РИС 8. 8. КОНСТРУКЦИЯ ЗАПОМИНАЮЩЕГО УСТРОЙ- СТВА НА МАГНИТНЫХ ДИСКАХ
30 II. Общие сведения о вычислительных машинах времени такой установки при последовательной записи информации она за- писывается по цилиндрам и в каждом цилиндре в порядке номеров дорожек. Положение некоторой записи определяется номером цилиндра, номером дорожки и положением в дорожке (номер записи), но имеется метод произ- вольной записи информации с использованием ключей. На рисунке 8.10 иллюстрируется пакет дисков, представляющий собой перемещаемый пакет дисков, образующий конструктивно законченный но- ситель. Имеется даже такой пакет дисков, на котором можно записывать ин- формацию примерно до 200 мегабайт (106байтов). РИС. 8. 9. ЦИЛИНДР И ДОРОЖКА РИС. 8. 10. ПАКЕТ ДИСКОВ [3] ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНЫХ БАРАБАНАХ Как показано на рисунке 8.3, такое запоминающее устройство похоже на запоминающее устройство на магнитных дисках, однако записывающие и считывающие головки находятся на барабанах, поэтому отпадает время уста- новки и сокращается время доступа (время, необходимое для выдачи целе- вой команды на передачу данных). Недостаток такого запоминающего устройства в том, что по сравнению с запоминающим устройством на магнитных дисках оно имеет небольшой объем памяти и стоит дорого.
9. ЭВМ для учреждений 31 ДИСПЛЕЙ ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА МАГНИТНЫХ ДИСКАХ ГИБКИЕ МАГНИТНЫЕ ДИСКИ РИС. 9. 1. ЭВМ ДЛЯ УЧРЕЖДЕНИЙ. КЛАВИАТУРА ПОСЛЕДОВАТЕЛЬНОЕ ПЕЧАТАЮЩЕЕ . УСТРОЙСТВО (ЯПОНСКИЙ ЯЗЫК) ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО СИСТЕМЫ, ОБЪЕМ ПАМЯТИ 256—512 КИЛОБАЙТ о < ой СПйЕЙ КОНТРОЛЛЕР ВЫВОДА НА ПЕЧАТЬ КОНТРОЛЛЕРЫ ЦЕНТРАЛЬНЫЙ ПРОЦЕССОР EOStf ом Й О Сч < п и tb О С-t КОНТРОЛЛЕР ВВОДА- ВЫВОДА КОНТРОЛЛЕР БЫСТРОГО КАНАЛА ' 25X50/ 4100 МВ, j МАГНдисКИ МАГНИТНЫЕ LemkS™ _ДИСКИ_ 20. 50 И 100 МЕГАБАЙТ КОНТРОЛЛЕР ПЕРЕДАЧИ КОНТРОЛЛЕР ' РАБОЧИХ УСТРОЙСТВ ДВА ИЛИ ЧЕТЫРЕ УСТРОЙСТВА* ПЕЧАТАЮЩЕЕ устройство ОДНО УСТРОЙСТВО УСТРОЙСТВО СЧИТЫВАНИЯ С ПЕРФОЛЕНТЫ ПЕРФОРАТОР. ДВА КАНАЛА 4—' КАССЕТНАЯ МАГНИТНАЯ ЛЕНТА 'вв6д~|в~Ь1в6дТ ВОСЕМЬ I ПИГ.П.ПЕЛ РИС. 9. 2. СТРУКТУРА ВЫЧИСЛИТЕЛЬНОЙ МАШИНЫ * ПРИ НАЛИЧИИ КОНТРОЛЛЕРА ПЕРЕДАЧИ ’ ИСПОЛЬЗУЮТСЯ ДИСПЛЕЕВ. дВА УСТРОЙСТВА s|i ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО
32 II. Общие сведения о вычислительных машинах РИС. 9. 3. МНОГОЦЕЛЕВОЕ ПЕЧАТАЮЩЕЕ УСТРОЙСТВО РИС. 9. 4. КЛАВИШНО-МАТРИЧНЫИ ДИСПЛЕЙ В последние годы отмечаётся бурное развитие вычислительной техники для учреждений, к которой уже привыкли на средних и мелких промыш- ленных предприятиях, а также в небольших учреждениях. [1] ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ ЭВМ ДЛЯ УЧРЕЖДЕНИЙ Отличительная особенность ЭВМ для учреждений заключается в их невы- сокой стоимости и отсутствии потребности в квалифицированных специалис- тах по их обслуживанию. Рентный доход от месячной эксплуатации такой ЭВМ почти равен месячной заработной плате одного человека, поэтому если одна ЭВМ для учреждений сможет выполнить работу двух людей, то, естест- венно, руководство этого учреждения не может не обратить внимания на эф- фективность и экономичность этой ЭВМ. Помимо этого ЭВМ для учреждений привлекательны тем, что для их эксплуатации служащим требуется лишь небольшая подготовка и минимум специальных навыков. И, наконец, не занимая большой площади, ЭВМ может успешно работать в люб^1х уголках комнаты. Далее, значительно облегчилась и упростилась обработка японского язы- ка и представилась возможность использовать надежные системы, отвечаю- щие требованиям контроля за торговлёй, складской наличностью, админист- ративно-хозяйственным управлением, а также содержанием обработки ин- формации по этим областям. Еще к одной отличительной особенности ЭВМ относится возможность подключения к крупногабаритным вычислительным системам. Следует отметить, что, несмотря на обилие устройств ввода, ЭВМ для учреждений по сравнению с обычными вычислительными системами обла- дают более низкой скоростью обработки информации и имеют определенные эксплуатационные ограничения. [2] СТРУКТУРА ЭВМ На рисунке 9.1 показан типичный пример ЭВМ для учреждений, а на ри- сунке 9.2 поясняется структура вычислительной машины. В приведенных примерах запоминающие устройства вполне конкурируют с запоминающими устройствами средних ЭВМ и могут комплектоваться двумя гибкими магни- тными дисками, а также магнитными дисками емкостью до 100 мегабайтов. Помимо этого представляется возможность подключать максимум до
9. Э6М для учреждений (А) ПЛАНОВЫЙ ГРАФИК МЕСЯЦ ДЕНЬ ВРЕМЯ ЗАМЫСЕЛ МЕСТО собй,с--д' ; 18 МАЯ, 9:00 10:00 БЕСЕДА ЗА ЗАВТРАКОМ ОТЕЛЬ «ПАЛЕС» ПОНЕ- ДЕЛЬ- НИК 13:00 15:00 15:00 16:00 СОВЕЩАНИЕ В ФИРМЕ СОВЕЩАНИЕ В ФИРМЕ КАБИ- НЕТ РУ- КОВОДИ- . ТЕЛЯ ФИРМЫ •ЗАМ. РУ- ' •; КОВОДИТЕЛЯi ФИРМЫ ДИРЕКТОР ; ФИРМЫ. ! • | : ЗХЙ ' ‘ . 19 МАЯ, ВТОР- НИК 14:00 18:00 - 16:00 20:00 ПРИЕМ ГОСТЯ БЕСЕДА ЗА УЖИНОМ ОТЕЛЬ«ПАЛЕС» ДИРЕКТОР 1 ’СТРОИТЕЛЬНО НОГО -УПРАВ- ' ЛЕНИН [ i':'i л'ж 133';. !. 20 МАЯ, СРЕДА 9:00 12:00 11 : 00 13:00 СОВЕЩАНИЕ С ПЕР- СОНАЛОМ ФИРМЫ ОБЕД АКТОВЫЙ ЗАЛ ФИРМЫ ОТЕЛЬ «ПАЛЕС»' И. Т.Д^> г. ТОКИО ТАБЛИЦА ДЕБЕТА И КРЕДИТА СОСТОЯНИЕ НА 15~МАЯ 1981 Г? 1. ЛИКВИДНЫЕ АКТИВЫ НАЛИЧНЫЙ ДЕПОЗИТ ВЗНОСЫ, ПРИЧИТА- ЮЩИЕСЯ ЗА ПОКУПКУ В КРЕДИТ 6.535»620 БЕЗНАДЕЖНЫЕ ДЕНЬГИ 35.620 СЫРЬЕВЫЕ РЕСУРСЫ И МАТЕРИАЛЫ ИЗДЕЛИЯ ОБЩАЯ СУММА ЛИК- 2.515.200 ВИДНЫХ АКТИВОВ 2*053.640 ИТ. Д. 3.466.462 6.500.000 3.257.400 6.399.606 461.560 5^6.630 19,643,470 РАСЧЕТ ПРИБЫЛЕЙ И УБЫТКОВ I С 13 НОЯБРЯ 1980 Г. ПО 15 МАЯ 1981 Г.. | Г.^АЗМ№^ВЫР^КИ”ОТ ПРОДАЖИ" « РАЗМЕР ВЫРУЧКИ ОТ I ПРОДАЖИ ТОВАРОВ ЗА УКАЗАННЫЙ ПЕРИОД ВРЕМЕНИ 2 СНИЖЕНИЕ ЦЕН И СКИДКА 2. СТОИМОСТЬ ИНВЕНТАРИ- ’ ЗАЦИИ ТОВАРОВ В НАЧАЛЕ ГОДА СТОИМОСТЬ ЗАКУПЛЕННЫХ ; ТОВАРНЫХ ЗАПАСОВ ЗА УКАЗАН- ? НЫЙ ВЫШЕ ПЕРИОД ИТОГО. ..... СТОИМОСТЬ ИНВЕНТАРИЗАЦИИ ТОВАРОВ В КОНЦЕ ГОДА ОБЩАЯ ПРИБЫЛЬ ОТ ПРОДАЖИ ИТ. Д. 17.267.933 11.159,930 206.106.003 12.912.000 77.196.610 90.110.610 15.392.310 74,718.500 131.389.503 9.529.160 99.753,231 6.537,921 (б) ФИНАНСОВЫЕ ДОКУМЕНТЫ РИС. 9.5. РАСПИСАНИЕ ДЕЯТЕЛЬНОСТИ НА НЕДЕЛЮ РУКОВОДИТЕЛЯ ФИРМЫ А
34 II. Общие сведения о вычислительных машинах восьми дисплеев и различные печатающие устройства, поэтому ЭВМ для уч- реждений устанавливают в окнах справочных бюро учреждений, в складах и других служебных помещениях, и они выполняют здесь обычные обязаннос- ти и отвечают на срочные запросы. Можно подключать до двух каналов связи, а также различные устройства ввода и вывода информации. За основу японской письменности взято 1024 иероглифа, причем преду- смотрена возможность использования до 8000 символов. На рисунке 9.3 иллюстрируется многоцелевое печатающее устройство, позволяющее печатать отдельные или непрерывные бланки и формы. Иерог- лифы японского языка печатаются на матрице с точкам^ 15x16 со ско- ростью печатания порядка 40 символов в секунду. На рисунке 9.4 показан клавишно-матричный дисплей, используемый с рабочими устройствами и представляющий собой исключительно удобное устройство ввода. Дисплей сравнительно малогабаритен и имеет небольшой вес. С помощью обычной клавиатуры осуществляется ввод данных, а также непосредственный ввод японской письменности. [3] ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Преимущество ЭВМ для учреждений в том, что она может успешно вы- полнять функции учрежденческих приборов и имеет программное обеспече- ние, легкое в использовании и простое по исполнению. Программы, при по- мощи которых осуществляется контроль за коммерческими операциями, складированием товаров, подсчетом месячного содержания служащих и ра- бочих, а также за административно-хозяйственными делами, применяются в виде документированных программ, причем предусмотрены также програм- мы их исправления и дополнения. Облегчается также распознавание чертежей и документов, и наряду с этим разработан транслятор, позволяющий полу- чать программы при помощи алгоритмического языка КОБОЛ. [4] ТИПИЧНЫЕ ПРИМЕРЫ ВЫХОДНЫХ ФОРМ На рисунке 9.5 (а) показаны примеры планирования. В этом случае ЭВМ для учреждений выполняет функции личного секретаря. Дополнения и изме- нения не сопряжены ни с какими трудностями, а запланированные мероприя- тия невозможно упустить из виду. При этом планирование отображается на дисплее и возможно снятие копий. На рисунке 9.5 (б) иллюстрируется типичный пример финансовых доку- ментов. Оба документа позволяют иметь под рукой самую свежую информа- цию и вырабатывать последующую стратегию. Помимо этого, благодаря введению накладных о купле и продаже в про- цессе контроля за торговлей, представляется возможность выдавать даже ин- формацию о письменных требованиях и адресах на конвертах, а также сразу же получать сведения об остатке взноса, причитающегося за покупку в кредит. Далее упрощается упорядочение, выполнение которого вручную сопря- жено с большими хлопотами, поэтому одним взглядом можно оценить уро- вень успеваемости предприятия и состояние торговли.
10. Микро-ЭВМ и персональная ЭВМ 35 ПОСТОЯННОЕ ПРОЦЕССОР 8080А ЗАПОМИНАЮЩЕЕ ПЕРИФЕРИЙНЫЙ ИНТЕРФЕЙС КЛАВИАТУРА. ИСПОЛЬЗУЕМАЯ И ДЛЯ ПРОГРАММИРОВАНИЯ УСТРОЙСТВО С ПРОИЗВОЛЬНЫМ ДОСТУПОМ РИС. 10.1. МИКРО-ЭВМ ПЕЧАТАЮЩЕЕ УСТРОЙСТВО ДИСПЛЕЙ МИНИДИСК РИС. 10. 2. ПЕРСОНАЛЬНАЯ ЭВМ
IL Общи? сведения о вычислительных машинах и ОСНОВНАЯ СТРУКТУРА МИКРО- ЭВМ аз типичных.. примеров структуры микро-ЭВМ иллюстрируется на ; л связь между отдельными, блоками показана на рисунке 10.3. процессор и запоминающие устройства расположены отдельно, еаод вывод данных осуществляется посредством программируемого интерфейса. При этом дисплей на светоизлучающих диодах производит инди- информации'при-помощи передающего канала непосредственного дос- ’С- ДОМИНАЮЩИЕ УСТРОЙСТВА Д. нннре запоминающее устройство - это память с постоянным хране- информаций... кё допускающая'ее изменения в процессе работы мик- чхгЗВМ, Программа-монитор записывается самим изготовителем, но частич- но де-иолгшется и пользователем. Содержимое памяти сохраняется даже при отключении источника'питания. . Упоминающее устройство с произвольным доступом — это память, обес- -свободный доступ к любому из хранящихся в ней элементов ••• С ъ-'-.г.яАчие от-постоянного запоминающего устройства при отключе- на л уточника питания запоминающее устройство с произвольным доступом не сохраняет информацию, поэтому при хранении она записывается на кассет- ком ан да НА ВВОД ПРОГРАММЫ РИС;. 1.0. 3. СТРУКТУРА МИКРО-ЭВМ • ;<31 ИНТЕРФЕЙС. Средством стандартного сопряжения каналов ввода-вывода с централь- ном ’процессором является интерфейс, который, как это видно из рисунка
10. Микро-ЭВМ и персональная ЭВМ 37 10.3, имеет параллельные каналы ввода-вывода (8 битов).Они выполнены таким образом, что осуществляют ввод или вывод данных в соответствии с программой. Используя специальные два бита, ввод и вывод можно сделать последовательным. [4] СТРУКТУРА ПЕРСОНАЛЬНОЙ ЭВМ За последнее время совершенные машины, включающие в себя большое количество устройств ввода и вывода данных (естественно, и запоминающих устройств) и средства программирования, получили название "персональ- ные" или "бытовые" ЭВМ. Типичный пример такой ЭВМ дан на рисунках 10.2 и 10.4. Базовая машина состоит из постоянного запоминающего устройства (ПЗУ) емкостью 24К (килобайт) и запоминающего устройства с произволь- ным доступом (ЗУПД) емкостью 16 К. Можно также добавить ПЗУ емкостью 8 К и ЗУПД емкостью 16 К. Каждое устройство ввода и вывода данных имеет универсальный интер- фейс, а минидиск можно присоединить к блоку расширителя и использовать его по необходимости. КАССЕТНЫЙ ПЕЧАТАЮЩЕЕ МАГНИТОФОН УСТРОЙСТВО МИНИ ИНТЕРФЕЙС ДИСК ПОЛЬЗОВАТЕЛЯ РИС. 10. 4. СТРУКТУРА ПЕРСОНАЛЬНОЙ ЭВМ
38 II. Общие сведения о вычислительных машинах РИС. ю. 5.
III. ПОРЯДОК ОБРАБОТКИ ЗАДАЧ И СОСТАВЛЕНИЕ БЛОК-СХЕМ Для выполнения какой бы то ни было работы путем использования ЭВМ человек в первую очередь должен хорошо обду- мать алгоритм обработки информации. Чтобы показать порядок такой рабо- ты, успешно используют графическое изображение в виде блок-схемы. Затем, опираясь на эту блок-схему и используя соответствующий язык программирова- ния, составляют программу. Программа должна быть легкой для понимания. С этой целью необходимо упорядочить последовательность обработки задач и на стадии разработки блок-схемы придать ей структуру, легко осваиваемую человеком. В этом разделе сперва показаны основные формы записи алгоритма, а за- тем на нескольких примерах поясняется форма записи "постановки задач" и "блок-схем". В следующем разделе будет дано несколько конкретных примеров про- грамм составленных в соответствии с блок-схемами.
40 III. Порядок обработки задач и составление блок-схем РИС. 11.1. ПОЛУЧЕНИЕ ПРОГРАММЫ
11. Этапы работ для получения подготовки программ 41 [1] ПОДГОТОВКА К СОСТАВЛЕНИЮ ПРОГРАММЫ При получении задачи, подлежащей обработке на ЭВМ, обычно предоста- вляется спецификация программы (полное описание требований по составле- нию исходной программы), и необходимо установить рабочий язык и специ- фикацию ввода-вывода. Как показано на рисунке 11.1, программист, опи- раясь на это, приступает к составлению программы. Спецификация программы подготавливается либо инженером по систе- мам, либо лицом, планирующим системы, однако при небольших вычисли- тельных машинах всю работу пооводит программист. РИС. И. 2. СПЕЦИФИКАЦИЯ ПРОГРАММЫ В данном случае очень важное значение имеет проведение анализа задачи и запись полученных результатов в виде блок-схемы. Это означает, что необ- ходимо правильно понять принцип спецификации ввода-вывода и обработки данных и одновременно с проведением точной обработки информации соз- дать все условия для создания такой структуры программы, которую чело- век легко понимает. Игнорирование сказанного выше приводит, естественно, к "капризам" ЭВМ. Наличие логических ошибок следует тщательно проверить путем вве- дения в ЭВМ тест-программ. За последние годы вместо блок-схем стаЛи использовать псевдокоды и письменный формат, каждому из которых присущи определенные достоинс- тва. В любом случае большой ошибкой является непосредственное кодирова- ние без предварительной записи перечисленных выше документов из-за прос- тоты их обработки. РИС. 11. 3. ВАЖНОСТЬ ТЩАТЕЛЬНОЙ ОТЛАДКИ ПРОГРАММЫ
42 III. Порядок обработки задач и составление блок-схем [2] СИМВОЛЫ И ОСНОВНЫЕ ВИДЫ АЛГОРИТМОВ На рисунке 11(a), (б) показаны блок-схемы считывания с перфокарты основания и высоты, подсчета площади треугольника, а также печати вход- ных данных и результатов вычисления. Символы блок-схем указаны в Японском промышленном стандарте РИС. 11. 4. ОСНОВНЫЕ СИМВОЛЫ БЛОК-СХЕМ
11. Этапы работ для получения подготовки программ 43 (JIS), поэтому в этой книге рассматриваются только основные символы (соответствуют ГОСТ СССР 19.003—80). "ПУСК—ОСТАНОВ" показывает начало и конец; "ПЕРФОКАРТА" — ввод, а "ДОКУМЕНТ" — печатаемые материалы. На рисунке 11.5 показаны основные виды алгоритмов. При сложной об- работке информации они используются в комбинации либо применяются в слегка расширенном виде. один выход ( с ) ЦИКЛИЧЕСКИЙ РИС. 11.5 ОСНОВНЫЕ ВИДЫ АЛГОРИТМОВ ( Ь ) РАЗВЕТВЛЕННЫЙ ОДИН вход один выход
44 III. Порядок обработки задач и составление блок-схем /0.0 ' ft___________ /'ю.г 53; е 41.7 !_____I /82?3 14.5 4.4’ /24.5~37.6 18.9 ' I I___ /52.3 86.7 37.2 I I I >9205380417 бОЗЗ01450044“ /624503760189 /652308670372 /010003000050 |±Й | T£|iS5? '10. 0 30.0 5.0 fl fl 1| ±/S, T/S, гея £ ( а ) ДЛЯ ФОРТРАНА РИС. 12.2. ВХОДНЫЕ ДАННЫЕ ЮIII01111С|0 8 0 0 0 0 0 i D О О О D о о о о о о о о о
12. Вычисление площади трапеции 45 Пример 1. Считывая верхнее и нижнее основания, а также высоту, отпечатайте площадь трапеции и отсчитайте считанные данные и плрщадь. [ 1 ] ПОСТАНОВКА ЗАДАЧИ (а) Форма ввода и форма вывода. Форма ввода берется так, как это показано на рисунке 12.2, а форма вывода иллюстрируется на рисунке 12.3. (б) Подсчет площади. Если обозначить верхнее основание UE, нижнее основание SITA, а высоту TAKASA, то площадь трапеций можно определить при помощи приводимой ниже формулы: S = UE + SITA 2 х TAKASA (в) Определение конца данных. Для определений конца входных данных ставим последней контрольную карту с нулевыми значениями (в случае языка программирования КОБОЛ конец данных определяется по карте Э^/иены). [2] БЛОК-СХЕМА АЛГОРИТМА Блок-схема иллюстрируется на рисунке 12.1. РИС. 12. 4. КОНТРОЛЬ КОНЦА ДАННЫХ
НАЧАЛО СУММА И КОЛИЧЕСТВО ВИДОВ ИЗДЕЛИЙ ОБНУЛЯЮТСЯ ИСПОЛЬЗУЙТЕ КОНТРОЛЬНУЮ КАРТУ НЕТ ПЕЧАТАНИЕ ОБЩЕЙ СУММЫ ДЕНЕГ И КОЛИЧЕСТВА ВИДОВ ИЗДЕЛИЙ КОЛИЧЕСТВО ДА ПОДСЧЕТ СУММЫ ДЕНЕГ КОНЕЦ Th ДАННЫХ? ДА НЕТ ТОВАРЫ? КОЛИЧЕСТВО ВИДОВ ИЗДЕЛИЙ? НЕПРОДАННЫЕ ТОВАРЫ ПРИ КЛАССИФИКАЦИИ 1 ИМЕЮТСЯ НЕПРОДАННЫЕ^ СУММА ДЕНЕГ БЕРЁТСЯ КАК ОТРИЦАТЕЛЬНОЕ ЧИСЛО ДА НЕТ ПЕЧАТЬ ЗАГОЛОВКА ПОДСЧЕТ ОБЩЕЙ СУММЫ ДЕНЕГ авно ли нул: ДОБАВИТЬ 1 К КОЛИЧЕСТВУ ВИДОВ ИЗДЕЛИЙ ЗДЕСЬ ПОДВЕДЕН ОБЩИЙ ИТОГ ПО ВИДАМ ИЗДЕЛИЙ ПЕЧАТЬ КОДА, СТОИМОСТЬ одного ИЗДЕЛИЯ, КОЛИЧЕСТВО И СУММЫ ДЕНЕГ ПЕЧАТАНИЕ ЗДЕСЬ ПРЕКРАЩАЕТСЯ РИС. 13.1. БЛОК-СХЕМА
13. Вычисление выручки от продажи Пример 2. Как показано на рисунке 13.2, имеются карты выруч- ки от продажи (в пределах десяти). Используя их, подсчитайте общую сумму денег и отпечатайте входные данные и сумму денег (минус в случае непроданных товаров). Подведите общий итог суммы денег и товаров и после окончания данных отпечатайте общую сумму вы- ручки от продажи и количество товаров. 5 1 6 10 (4) КОД ТОВАРА ЦЕНА ЗА ОДНУ КОЛИ ЧЕСТ] ШТУКУ со < О 1 •0* Ds (4) (3) О — ПРОДАННЫЕ ТОВАРЫ 1 — НЕПРОДАННЫЕ ТОВАРЫ В КРУГЛЫХ СКОБКАХ ( ) ПОКАЗАН РАЗМЕР ДАННОГО РИС. 13.2. КАРТА ВЫРУЧКИ ОТ ПРОДАЖИ [1] ПОСТАНОВКА ЗАДАЧИ (а) Форма ввода и вывода. Форма ввода показана на рисунке 13.2, а форма вывода — на рисунке 13.3. РИС. 13. 3. ФОРМА ПЕЧАТИ (б) Подсчет суммы денег. Когда в графе на входной карте 0 или она пус- тая — товары проданы, а при 1 — непроданные товары.
48 III. Порядок обработки задач и составление блок-схем Благодаря этому подсчет денег можно вести разделив обработку, но тем не менее производительность повышается при подсчете суммы денег до разделения обработки при- сваиванием цене отрицательного значения в случае непроданных товаров. Сумма денег*—стоимость одного изделия и количество. (в) Общая сумма денег, общий итог видов товаров. Значение общей суммы денег, выру- ченных от продажи товаров, и количество ви- дов товаров вначале обнуляются и накапли- ваются следующим образом: Итого *— итого + сумма денег Количество <— количество + 1 (г) Блок печати. Печать заголовка и пе- чать строки объединяются в одном блоке (если , как в приведенных примерах, програм- ма небольшая, то особых трудностей не возни- кает, однако при наличии нескольких форм строк для печати в случае большой програм- мы, а также необходимости печати страница- ми отладка программы усложняется, поэтому рекомендуется использовать блок печати). РИС. 13. 4 (д) Обработка конца входных данных. Окончание данных оценивается при помощи карты ^/.После окончания данных печатается соответствую- щий текст, а также печатается общая выручка от продажи и количество ви- дов товаров. При этом необходимо исключать ошибочные данные. [2] БЛОК- СХЕМА АЛГОРИТМА См. рисунок 13.1.
14; Упорядочение данных 49 РИС. 14. 1. БЛОК-СХЕМА АЛГОРИТМА (1).
50 III. Порядок обработки задач и составление блок-схем Пример З.Упорядочение данных (сортировка) Внесите результаты проверки пяти абитуриентов в таблицу Т и упорядочьте их в порядке успеваемости ( в порядке убывания). [1] ПОСТАНОВКА ЗАДАЧИ (1) (а) Принцип упорядочения. Как показано на рисунке 14.2 (а), в таблицу Т включены пять данных в столбце, они сравниваются по два в порядке (7), (?), @ и (7) и меняются местами, чтобы большее значение оказывалось сверху. (а) (Ь) (с) (d) (е) РИС. 14. 2. ПРИНЦИП УПОРЯДОЧЕНИЯ (1) (1) Первый проход от (У) до иллюстрируется на рисунке 14.2(6) — (е). При четырехразовом повторении происходит упорядочение е порядке убывания. (2) Возможно, что благодаря начальному упорядочению данных N- ое количество данных сортируется быстрее (N — 1), и контролируется это с помощью флажка. флажок вначале устанавливается на нуль и сравнение ведется в порядке (У)~(У)- Если за этот промежуток времени происходит перестановка, фла жок устанавливается на 1. Когда после окончания (У)~(Т)флажок находится в положении 0, это означает, что перестановки не было, поэтому сортировке завершается. (б) Изучение процесса. По мере завершения (У)'*'(У) печатается таблица. (в) Форма входа и выхода. Показаны соответственно на рисунках 14.3 и 14.4. [2] БЛОК-СХЕМА АЛГОРИТМА (1). См. рисунок 14.1.
14. Упорядочение данных 51 30 го 40 50 9 9 Dll II 9 l| 9 9 9l|9 9 б l| I I 9 9|9 9 9 9/1 I М 0 9 9 О 1 9 I 9 9 О I 9 0 9 9 0 9 9 9 М О О 3 9 9 9 9 9 I 9 9 9 О О 0 9 0 9 ’ 9 9^ 9 3 3 • > 1 « * * • J • % :' U И IS в •? М ’-Л М 7> Т* 7S Л М » X J* XI JJ 7* •* X ’ «4 J*««- <7 «J <4 <3 4f 4 4J X' *: >; МЧХ». »> .. • . <ч' I I i|i I 1 !) I I I 1 I I I I I Ч I I I I I I I I 1 I I I I I I I 1 I I I I I I ) I I I 1 I I I ) ) I I I I I I I I 1! 1 I I I !1 I! I I i : :I 1 1 I 2 1\Ч 2 2 2 2 3 2 2 2 2 | Ч 2 2 2 ? 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ’ 2 2 Ч 1 2 Ч Ч 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 Ч 2 ’ 2 2 2 2 | 2 Ч 2 2 2 и J J ) 3 J ]| 3 3 3 J 3 J 3 3 Ч 3 J 3 Ч 3 3 1 Ч 1 и J 3 3 3 J J П Ч 13 Ч Ч 3 1 J J 3.3 3 Ч 3 3 3 3 J 3 3 Ч 3 3 J .4 Ч i 3 3 Ч J 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 А4 4| 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 Ч 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 9 5 5 5 5 9 Ч 5 5 Ч 5 9 9 5 9 9 5 9 9 5 5 | 9 9 5 5 Ч 5 5 9 5 5 9 9 9 9 5 9 9 9 5 5 Ч 9 5 5 1 г ' ‘ Ч 9 Ч 5 5 9 5 5 5 5 9 5 5 5 5 5 <<< Ч 5 Ч РИС. 14. 4. ФОРМА ПЕЧАТИ. МАССИВ TABLE 1 TABLE 2 TABLE 3 TABLE 4 TABLE 5 МАССИВ 10~ 30 20 40 50 ( a) HU T(2) T(3) T(4) T(5) 10_ ’30 ' 20~ 40 50 10_ 30 20 40 50 РИС. 14. 5. МАССИВЫ (CM. СТРАНИЦУ 51 ОРИГИНА2
52 III. Порядок обработки задач и составление блок-схем РИС. 14. 6. ПЕРЕСТАНОВКА РИС. 14. 7. БЛОК-СХЕМА АЛГОРИТМА ( 2 )
14. Упорядочение данных 53 [3] ПОСТАНОВКА ЗАДАЧИ (2). (а) Принцип упорядочения. Рассмотрим теперь метод последовательного упорядочения сверху. (1) Берем рисунок 14.8(a) как данные перед упорядочением. В первую очередь, как показано в (Ь), сравним второе и первое значения и осущест- вим перестановку так, чтобы большее значение было сверху. (2) Затем, как видно из (с), третье значение берется как "низ" и после- довательно сравнивается с первым и вторым значениями. Перестановка веде- тся так, чтобы сверху находились большие значения. (3) Далее, как видно из (d), четвертое значение берется как "низ", ведется сравнение от 1 до 3, осуществляется перестановка и тем самым про- сходит упорядочение по убыванию. (4) Таким образом, если опираться на метод опускания "низа" вниз на одну строку и упорядочения до "низа", сортировку можно повторять (N—1) раз, если число данных составляет N. (а) (Ь) (с-1) (с-2) (d-1) (d-2) (d-3) РИС 14. 6. ПРИНЦИП УПОРЯДОЧЕНИЯ (б) Форма входа и выхода. Формы входа и выхода показаны на рисун- ках 14.3 и 14.4 соответственно. [4] БЛОК-СХЕМА АЛГОРИТМА (2). Показана на рисунке 14.7. РИС. 14. 9. ПЕРЕСТАНОВКА ДАННЫХ
54 IIL Порядок обработки задач и составление блок-схем - -- МЕНЬШЕ ЛИ ЗНАЧЕНИЕ, ,Ю. Зл_?М.?Г ' - . Л'ЕЛЕ - ЯВЛЯЕТСЯ ЛИ 3НА ЧННИЕ УКАЗ АТЕЛЯ ПОЛОЖЕНИЕМ ПОТОЛКА • > НЕТ СО СЛЕДУЮЩЕГО ЗНАЧЕНИЯ ПОСЛЕ «ПОТОЛКА»ПОВТОРЯТЬ ДО ПЯТОГО ЭЛЕМЕНТА СТОЛБИКА / Б ЭТОМ СЛУЧАЕ \ ПОЛОЖЕНИЕ ЭЛЕМЕНТА ] ВВОДИТСЯ Б УКАЗАТЕЛЬ ПОСЛЕДОВАТЕЛЬНО > СРАВНИВАЮТСЯ ЗН АЧЕНИЕ « ПОТОЛ КА = И ЗНАЧЕНИЯ, НАХОДЯЩИЕСЯ Z < ПОД к X. «ПОТОЛКОМ»/* НЕТ ИСПОЛЬЗУЯ УКАЗАТЕЛЬ; ЗНАЧЕНИЕ*ПОТОЛКА» МЕНЯЕМ МЕСТАМИ С МАКСИМАЛЬНЫМ ЗНАЧЕНИ ЕМ (НЕРЕСТА НОВ КА) РИС. 14. 10. БЛОК-СХЕМА АЛГОРИТМА ( 3) [5] ПОСТАНОВКА ЗАДАЧИ (3). (а) Принцип упорядочения. В данном случае упорядочение ведется свер- ху. Рассмотрим метод уменьшения частоты перестановок. (1) На рисунке 14.11 (а) • показаны данные перед сортировкой. Как вид- но из (Ь), первый элемент берем в качестве "потолка", а в промежутке меж- ду вторым и пятым элементами находим максимальное значение, которое меняется местами со значением "потолка" (первый проход).
14. Упорядочение данных 55 (2) Затем, как это показано в (с), (d), опускаем "потолок" вниз на один элемент, осуществляем упорядочение с повторением (N—1) раз при N-ном количестве данных. 10 50 50 50 50 30 30 40 40 40 20 20 20 30 30 40 40 30 20 20 50 10 10 10 10 ( а) (Ь ) (с) (d) (е) РИС. 14. 11. ПРИНЦИП УПОРЯДОЧЕНИЯ (3) (3) Для идентификации максимального значения под "потолком" вво- дится указатель, который показан на рисунке 14.12. Вначале указателю при- сваивается положение "потолка" (а), элемент "потолка" сравнивается со сле- дующим под ним значением. Если оно больше значения "потолка", указы- ваемого указателем, то это положение вводится в указатель (Ь). (б) Форма входа и выхода. Смотрите рисунки 14.3 и 14.4. [6] БЛОК-СХЕМА АЛГОРИТМА (3). См. рисунок 14.10) РИС. 14. 12. ИСПОЛЬЗОВАНИЕ УКАЗАТЕЛЯ
56 III. Порядок обработки задач и составление блок-схем 15 ВЫВОД ДИАГРАММ В КАЖДУЮ СТРОКУ ЗАНОСИТСЯ «I» И ТАК ПЕЧАТАЕТСЯ СЬ X ЭТО ДЛЯ УДОБСТВА ЧТЕНИЯ ДИАГРАММЫ? ИСПОЛЬЗУЕТСЯ ВСТРОЕННАЯ ФУНКЦИЯ SIN ЗДЕСЬ НУЖНО ПОРАБОТАТЬ ГОЛОВОЙ ЭТО НЕ ОЗНАЧАЕТ, ЧТО ОЧИЩАЕТСЯ ВСЕ ПОЛЕ СТРОКИ ДИАГРАММЫ! РИС. 15. 1. БЛОК-СХЕМА АЛГОРИТМА
15. Вывод диаграмм 57 Пример 4 Запишите диаграмму y=sin х,используя символ *. При 5 этом * должен меняться в пределах от 0° до 360° с шагом 6°. j [1] ПОСТАНОВКА ЗАДАЧИ (а) Форма ввода и вывода. Входных данных нет, а выход имеет вид, показанный на рисунке 15.3. (б) Метод определения значения у. Для вычисления значения sin х ис- пользуем встроенную функцию sin. При этом единицей измерения аргумента является радиан, поэтому, как показано в формуле (3.1), х° переводится в радианы и У определяется согласно формуле (3.2) rad = х ° X (радиан) 1OV У = SIN (RAD ) (3.1) (3.2) РИС. 15. 2. УГОЛ И РАДИАН (в) Запись диаграммы (1) Для построения диаграммы значений У выделяем графу шириной 81 символ GRAPH (81) и затем, как показано на рисунке 15.4, в соответст- вии со значением У заносим х в соответствующее место графы и печатаем. Чтобы определить, в каком месте графы находится значение У, исполь- зуем формулу (3.3) : NO = Y X40,0+41,5 (3.3) При этом опускаем дробную часть NO. В формуле (3.3) вместо +41.0 взято +41.5 для того, чтобы компенсировать погрешность преобразования двоичных чисел в десятичные. Ниже даются примеры вычисления NO. NO= 0,0X40,0+41,5 = 41,5 ^41, когда У =0 NO= 0,5X40,0 + 41,5=61,5-^61, когда У =0,5
58 III. Порядок обработки задач и составление блок-схем РИС. 15. 3. ФОРМА ПЕЧАТИ
15. Вывод диаграмм 59 1 _______ 41 _____ 81 ПРИ Y = О G R А Р Н 1__ - - * - ] 1 _________ _____________61 81 ПРИ Y = 0.5 GRAPH * I 1 81 ПРИГ = 1 GRAPH ’ ................ РИС. 15.4. ФОРМИРОВАНИЕ СТРОКИ ДИАГРАММЫ NO = -0,5X40,0 4-41,5=21,5—* 21, когда Y = 0,5 (2) Поле строки диаграммы очищается один раз до начала цикла, в цикл заносится символ "*" и осуществляется печать. (3) Ось X выводится символом "1",и для каждых 90° вводится ". Бывают случаи, когда на ось X попадает"*", поэтому символ "I" заносится в GRAPH (41) в каждом цикле. Чтобы определить, является ли значение X кратным 90°, рекомендуется использовать встроенную функцию MOD. Например, с помощью MOD (J,90) J делится на 90° и получается остаток, J будет кратным 90° при остатке равном 0. [2] БЛОК-СХЕМА АЛГОРИТМА . РИС. 15. 5.
IV. ОСНОВЫ ПРОГРАММИРОВАНИЯ Без программы компьютер не может работать. Для создания программ используются различные алгорит- мические языки. В этом разделе описываются язык ФОРТРАН, удобный для программи- рования инженерных задач и задач научных исследований, содержащих мате- матические вычисления, язык КОБОЛ, используемый для решения задач эко- номического характера, и язык БЭЙСИК, который за последние годы получил широкое распространение в микр'о-ЭВМ. В данном разделе рассматриваем программирование на различных язы- ках примеров, приведенных в разделе III. Сравнение программирования на этих языках позволит еще лучше понять отличительные особенности этих алгог ритмических языков. Язык БЭЙСИК имеет некоторые отличия в зависимости от типа исполь- зуемых ЭВМ, в частности, заметное отличие наблюдается в управлении дисплеем. В этой книге используется модель РС-8001 фирмы NEC (Ниппон Электрик Компани, НЭК).
62 IV.OcHOBbi программирования 1Б ПРОГРАММИРОВАНИЕ НА ФОРТРАНЕ ПРОБЕЛ ) <=(СТРОКА комментариев} <<ОПЕРАТОР WRITE (ЗАПИСЬ)} ^СТРОКА ПРОДОЛЖЕНИЯ) «^ОПЕРАТОР READ (ЧТЕНИЕ)} 'ПРИЗНАК СТРОКИ КОММЕНТАРИЕВ) z---------------v '--------------------------МЕТКА ОПЕРАТОРА) ^ОПЕРАТОР FORMAT (ФОРМАТ))^ ДЕй ПОЗИЦИИ ГДОД А3 Е J 617___0 . НАЗОВЕМ БУКВЫ ЛАТИНСКОГО АЛФАВИТА И АРАБСКИЕ ЦИФРЫ АЛФА- ВИТНО-ЦИФРО- ВОЙ ИНФОР- МАЦИЕЙ ЗАПИСЬ ._____________ч ПОХОЖЕ НА <=ГОПЕРАТОРЫ IF (ЕСЛИ) И STOP (СТОП)) ^МАТЕМАТИЧЕСКУЮ ----------------------------- формулу ~ РИСВАИВАНИЯ) << АРИФМЕТИЧЕСКИЙ ОПЕРАТОР ^ОПЕРАТОР GO ТО (ОПЕРАТОР БЕЗУСЛОВНОГО ПЕРЕХОДА) ) <Х ОПЕРАТОР END (КОНЕЦ) ""} Л ЭТО-КОНЕЦ ПРОГРАММЫ РИС. 16.1. ЗАПИСЬ ОПЕРАТОРОВ ФОРТРАНА НА БЛАНКЕ ТАБЛИЦА 16. 1. СИМВОЛЫ, ИСПОЛЬЗУЕМЫЕ НА ЯЗЫКЕ ФОРТРАН БУКВЫ ЛАТИНСКОГО АЛФАВИТА ABCDEFGHIJKLMN О Р Q R S т U V W X- Y Z АРАБСКИЕ ЦИФРЫ 0 12 3 4 5 6 7 8 9 СПЕЦИАЛЬНЫЕ СИМВОЛЫ (ПРОБЕЛ) = + — * / ( ) ’ • ’ В КАЧЕСТВЕ ДАННЫХ МОЖНО ИСПОЛЬЗОВАТЬ КАТАКАНУ (ЯПОН- СКАЯ СЛОГОВАЯ АЗБУКА) И СПЕЦИАЛЬНЫЕ СИМВОЛЫ
16. Программирование на ФОРТРАНе 63 [1] ПРИНЦИП КОДИРОВАНИЯ Бланк с операторами на языке ФОРТРАН показан на рисунке 16.1. Запись программы ведется на специальном бланке в строго установленных местах. Символы, используемые в языке ФОРТРАН, перечислены в таблице 16.1. [2] ТИПЫ ДАННЫХ И ИМЕНА ПЕРЕМЕННЫХ Как показано в таблице 16.2, тип данных может быть целый и веществен- ный. Целые переменные содержат целые данные, а вещественные переменные содержат вещественные данные. Целые переменные и вещественные Перемен- ные имеют имена, присваиваемые им при составлении программы. Как показано на рисунке 16.2, имя переменной может занимать макси- мум 6 символов. Первой должна быть буква латинского алфавита, приНМ данное относится к целому типу, а в других случаях тип данного веществен- ный. ТАБЛИЦА 16.2. ТИПЫ ДАННЫХ ТИПЫ ДАННЫХ ПРИМЕР ЦЕЛЫЙ (ФОРМАТ 1) ЦЕЛАЯ КОНСТАНТА 29,365 ЦЕЛАЯ ПЕРЕМЕННАЯ КА I .MONEY ВЕЩЕ СТВЕН НЫЙ (ФОРМАТ F, Е) ВЕЩЕСТВЕННАЯ КОНСТАНТА 12.3, 0.1 3 4 Е 0 3 ВЕЩЕСТВЕННАЯ 'ПЕРЕМЕННАЯ GOKEI .TANKA ТИП ДАННОГО ОПРЕДЕЛЯЕТСЯ БУКВОЙ ЛАТИНСКОГО АЛФАВИТА, С КОТОРОЙ НАЧИНАЕТСЯ ИМЯ ЦЕЛАЯ ПЕРЕМЕННАЯ МОЖЕТ ПРИНИМАТЬ ЗНАЧЕНИЯ -Ь 2’1 —1~—2Л| ВЕЩЕСТВЕН " НАЯ ПЕРЕМЕН- НАЯ МОЖЕТ ПРИНИМАТЬ ЗНАЧЕНИЯ ЦЕЛЫЙ ТИП, ЕСЛИ IJKLMN ИЗ ШЕСТЬ СИМВОЛОВ ИМЯ СОСТОИТ ШЕСТИ СИМВОЛОВ ПРИМЕНЯЮТСЯ КАК БУКВЫ ЛАТИНСКОГО АЛФАВИТА, ТАК И АРАБСКИЕ ЦИФРЫ. АЛФАВИТНО-ЦИФРОВАЯ ИНФОРМАЦИЯ СПЕЦИАЛЬНЫЕ СИМВОЛЫ НЕ ИСПОЛЬЗУЮТСЯ РИС. 16. 2. ИМЕНА ПЕРЕМЕННЫХ.
64 IV.OcHOBbi программирования ОПЕРАТОРА •' 1ШСОК ВВОДА READ (5,500) NO , DI . D2 ВХОДНАЯк ; KAPTAl 1234 1 3 2 . б’ 2 3- О (4 (Ш ' (4 IH:) ' (ЧЕТЫРЕ РАЗРЯДА 500 -FORMAT ( 14 . 2F4.0) ___________ ПО. IE DI H.D2 1 BB( (A вводятся уПАМ fTb^ и суммируются] NO DI D2 |1234 | | 32.5 | | 23.0 | w; =D1+D2 W Ai___ I 55 5 | WRITE (6,600) NO, DI, D2, WA БУМАГА УСТРОЙСТВА ПЕЧАТИ 1234 -32.5 -23.0 -55.5 РАСПОЛОЖЕНИЕ ВХОДНЫХ ДАННЫХ СООТВЕТСТВУЕТ СПИСКУ ВВОДА СООТВЕТСТВУЕТ ЧИСЛУ позиций входной КАРТЫ ЧТО ПРОИЗОЙДЕТ, ЕСЛИ НЕ БУДЕТ СООТВЕТСТВИЯ МЕЖДУ •' ВХОДНЫМИ ДАННЫМИ И ИХ ФОРМАТОМ? РИС. 16.3. СООТВЕТСТВИЕ МЕЖДУ ОПЕРАТОРАМИ ВВОДА- ВЫВОДА И ОПЕРАТОРОМ FORMAT
16. Программирование на ФОРТРАНе 65 ТАБЛИЦА 16. 3. ОПЕРАТОРЫ ЯЗЫКА ФОРТАН ВЫПОЛНЯЕМЫЕ ОПЕРАТОРЫ ОПЕРАТОР READ, ОПЕРАТОР WRITE, ОПЕРАТОР АРИФМЕТИЧЕСКОГО ПРИСВОЕНИЯ, ОПЕРАТОР GO ТО, ЛОГИЧЕСКИЙ ОПЕРАТОР IF, ОПЕРАТОР DO, ОПЕРАТОР CONTINUE, ОПЕРАТОР STOP НЕВЫПОЛНЯЕ- МЫЕ ОПЕРАТОРЫ ОПЕРАТОР FORMAT, ОПЕРАТОР DIMENSION, ОПЕРАТОР ОПИСАНИЯ ТИПА, ОПЕРАТОР DATA ТАБЛИЦА 16. 4. УПРАВЛЕНИЕ ВЫВОДОМ НА ПЕЧАТЬ УПРАВЛЯЮЩИЙ СИМВОЛ ДЕЙСТВИЕ 1Н1 НОВАЯ СТРАНИЦА (ПЕЧАТЬ НА ПЕР- ВОЙ СТРОКЕ СЛЕДУЮЩЕЙ СТРАНИЦЫ) 1 НО ПРОДОЛЖЕНИЕ БУМАГИ НА ДВЕ СТРОКИ (ПЕЧАТЬ С ПРОПУСКОМ ОДНОЙ СТРОКИ) 1Н„ ПРОДВИЖЕНИЕ БУМАГИ НА ОДНУ СТРОКУ (ПЕЧАТЬ БЕЗ ПРОМЕЖУТКА МЕЖДУ СТРОКАМИ) 1 н + БУМАГА НЕ ПОДВИГАЕТСЯ (ПОВТОР- НАЯ ПЕЧАТЬ НА ТОЙ ЖЕ СТРОКЕ) ТАБЛИЦА 16. 5. СПЕЦИФИКАТОРЫ ПОЛЯ ОПЕРАТОРА FORMAT ПРИМЕР ПОЯСНЕНИЯ ПРИ ВВОДЕ I 4 F4.0 4 РАЗРЯДА ДАННОГО ЦЕЛОГО ТИПА 4 РАЗРЯДА ДАННОГО ВЕЩЕСТВЕННОГО ТИПА (ВВОДИТСЯ ТОЛЬКО ЦЕЛАЯ ЧАСТЬ ДАННОГО) ПРИ ВЫВОДЕ ’ F5.1 5 X ЗНАВС ВЫВОДИТСЯ ВЕЩЕСТВЕННОЕ ЧИСЛО В ПЯТИРАЗ- РЯДНОЕ ПОЛЕ, ДАННОЕ ПРИЖАТО ВПРАВО, ОДИН РАЗРЯД ДЛЯ ДРОБНОЙ ЧАСТИ ВЫВОДЯТСЯ ПЯТЬ ПРОБЕЛОВ ПЕЧАТАЮТСЯ ТРИ БУКВЫ ЛАТИНСКОГО АЛФАВИТА [3] ФУНКЦИИ ОПЕРАТОРОВ ФОРТРАНа Главные операторы языка ФОРТРАН перечислены в таблице 16.3. Из них операторы READ, WRITE и FORMAT встречались на рисунке 16.3. (а) Управление продвижением бумаги и спецификатор поля Управление продвижением бумаги задается оператором FORMAT, кото- рый соответствует оператору WRITE , и оно показано в таблице 16.4. Имеют- < н различные спецификаторы полей, записываемых в операторе FORMAT, и основные из них перечислены в таблице 16.5.
66 IV-Основы программирования РИС. 16. 4. АРИФМЕТИЧЕСКИЙ ОПЕРАТОР ПРИСВАИВАНИЯ ТАБЛИЦА 16. 6. АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ И ИХ ПРИОРИТЕТ ОПЕРАЦИИ ЗНАЧЕНИЕ I ПРИЙРЙ' ГЕТ + СЛОЖЕНИЕ ВЫЧИТАНИЕ 3 * \ УМНОЖЕНИЕ ДЕЛЕНИЕ 2 * * СТЕПЕНЬ 1 РИС. 16. 5. ЛОГИЧЕСКИЙ ОПЕРАТОР IF (б) Арифметический оператор присваивания Форма записи арифметического оператора присваивания V=e, где V имя переменной, а е — любое арифметическое выражение. Знак используемый в операторах ФОРТРАНа, не является знаком равенства,
16. Программирование на ФОРТРАНё 67 РИС. 16. 6. ОПЕРАТОР DO И ОПЕРАТОР CONTINUE означает присваивание результатов вычисления в правой части — переменной и левой части. Знаки арифметических операций, используемые в арифмети- ческих выражениях, показаны в таблице 16.6. В арифметических выражениях допускается смешанное применение целых вещественных чисел, однако если полученный результат присвоить целой переменной, то значение после десятичной запятой опускается. (в) Логический оператор IF (е) S Форма записи логического оператора IF: IF (е) S ,где (е) — любое логи- ческое выражение, aS— любой оператор, кроме другого логического опера- юра IF и оператора DO. Если значение логического выражения (е) оказы- вается истинным, выполняется оператор S, но при ложном значении логи- ческого выражения (е) оператор S не выполняется. В логическом выраже- нии (е) используются следующие операции: • LT. (<) .LE. (<) (г) Оператор DO .NE. (Ф) .EQ. ( = ) .GT. .GE. Форма записи оператора DO: DOnj = m-j, m2 , m3, где n — метка послед- нею предложения в цикле ( используется оператор CONTINUE ), a i — целая ||<‘ременная. m-j называется начальным значением цикла, m2 — конечным •начением, а m3 — приращением цикла. Они представляют собой целые конс- Н1НТЫ или целые переменные. Когда значение m3 равно единице, оно может ныгь опущено ( см. рисунок 16.6).
68 IV.OcHOBbi программирования 17 ВЫЧИСЛЕНИЕ ПЛОЩАДИ ТРАПЕЦИИ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа} С 1 КОММЕНТАРИИ .01, ПЛОЩАДЬ ТРАПЕЦИИ 000001 WRTТЕ(6,боо J 000002 600 FORMAT (ДНО ,16Н ZY00TE1 КАТЕ!. « 16Н ТАКASA MEnSEXI/J С 000003 100 READ(5,5OO> ЦЕ, SI ТА, TA.KASA 000004 300 FORMAT(3F5.0) 000005 IF(uE.EQ.O.O) STOP c 000006 S=(UE+S1 TA)«TAKASA/2.0 0.U0O07 WRITE(6.610) U,E , S I TA, ТАК ASA , S 00000C 610 CORMAT(1H ,4F8.1) 000009 GO TO 100 000010 ENO РИС. 17. 1. ПРОГРАММА 1 ZYOOTEI K ATE I Т АК A SA. •MENSEKI 10.0 30.0 5:.Q 100.0 52.3 86.7 37.2' 2585.4 24, 5 37.6 18.9 586,8 8 2. ~ .14.5 A.,4 213.0 69.2 53,8 -1’7 2564.5 РИС. 17. 2. РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ РИС. 17. 3. ОПЕРАТОР WRITE
17. Вычисление площади трапеции (использование ФОРТРАНа) 69 На рисунке 17.1 показана программа, составленная по блок-схеме при- мера 1, а результат ее выполнения при использовании входных данных рисун- ка 12.2 (а) приведен на рисунке 17.2. ОПИСАНИЕ ПРОГРАММЫ (1) Строка комментариев: в первой колонке строки операторов языка ФОРТРАН должна быть буква С. Она не влияет на ход вычислений, а служит только для пояснений (комментариев). Для удобства понимания программы вся программа и отдельные ее части могут быть снабжены комментариями. (2) Первый и второй операторы: печать заголовка. (3) Третий и четвертый операторы: считывание входных данных. (4) Пятый оператор: проверка окончания входных данных. Когда ZYOOTEI =0, выполняется оператор STOP, если же значение не нулевое , выполняется следующий оператор. (5) Шестой оператор: подсчет площади (MENSEKI); вычисляется арифме- тическое выражение слева и полученный результат присваивается S. Знаки операций и приоритет показаны в таблице 16.6. (6) Седьмой и восьмой операторы: печать строки; результат печати показан на рисунке 17. 2. (7) Девятый оператор: безусловный оператор GO ТО, переход к метке 100 оператора READ. (8) Десятый оператор: оператор END — показывает конец программы. РИС. 17. 4. ОПЕРАТОР READ
70 IV.OcHOBbi программирования 18 ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа) 000001 С 1.КОММЕНТ/Ш.02,ПОДСЧЕТ выручки, от продажи INTEGER СОРЕ - TANKA • SUPYO r-‘JKEI оооо’Ог GOKEI*0 000003. с KENSU40 LOOP HAZlME 00000$ 100 READC5.500. END«HO)CODE,KU .TANKA. SURYO ооооо? ооообб 000007 ооооов с 500 FORMAT(14. 11,14,13) K)N=TANKA .. SURYO 'HENPIN WA HU NI SURU 1F(KU.EQ,1) KIN=-KIN GOKEI;»GOKEl * KIN 0000Q9 с insatu block. . IF(KENSU.EO.O) WRITE(6.600) 000010 ооооп 600 FORMAT (1HO. 9.X .19HUR I AGE IT1RANHY0/ - iH0..4HCOQEi5X.5HTANKA..5X,5HSURYO, , 8X.7HKINGAKU) WRI ТЕ(6.610) CODE.TANKA < SURYO,К IN 000012 000013 000014 с с 610 FORMAT(1H ,I4.2(6X.14),7X.18) KENSU NO COUNT KENSU=KENSU>1 GO TO 100 LOOP OWARI 000015 1’10 WRITE (6.620) GOKE I .KENSU 000016 620 FORMAT (1HO ♦ 9’X. 15HURI AGE GOKE | , 7X , 000017 -I8/1H0.9X.15H0ATA KENSU,13X.12) STOP 000018 END РИС. 18. 1. ПРОГРАММА 1 10031UC50010 ЮОИОЮ'Жб 10030О US0030 100300050025 100200250020 10 02 и 025 0 04 0 10010010и05О 10010010001 о РИС. 18. 2. ВХОДНЫЕ ДАННЫЕ
18. Вычисление выручки от продажи (использование ФОРТРАНа) 71 4а рисунке 18.1 представлена программа, составленная по блок-схеме приме- ра 2, на рисунке 18.2 показаны входные данные, а на рисунке 18.3 дан ре- ультат выполнения программы. UK 1 AGE 1JIRANHYO CODE TANKA SURYO К I NG A К J 1001 100 10 1,000 1001 10'0 50 5 000 1002 2 5.0 40 10 000. 100,2, 250. 20 5000 1003 50 ?5 ' 1250 1003 50 Ju 1’500 10:01 100 15 -1500 1003 50 Ю -500 U’R I A G E GOKE I 217 50 DATA XEnSU 8 РИС. 1«. 3. РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ ОПИСАНИЕ ПРОГРАММЫ 1) Первый оператор: операторы объявления типа переменных CODE, TAN- 'А, SURYO, GOKEI объявляются переменными целого типа, оператор бъявления типа располагается до выполняемых операторов. 2) Второй и третий операторы: присваивание начальных нулевых значений уммы и количества. 3) Четвертый оператор: при считывании карты в соответствии с END=110 происходит передача управления оператору с меткой 110. 4) Шестой оператор: подсчет суммы денег. 5) Седьмой оператор: проверка выручки от продажи и непроданных това- ров. В случае непроданных товаров (KU=1) сумма денег берется отрицатель- ой. 6) Восьмой оператор: подсчет общей суммы денег (общий итог).Второй ператор присваивает начальное значение —0. 7) Девятый оператор: только при начальном значении (KENSU=0) осущест- ляется печать заголовка. 8) Одиннадцатый и двенадцатый операторы: печать строки. 9) Тринадцатый оператор: увеличение количества видов товаров на 1 (об- дий итог), третий оператор присваивает начальное значение — 0. 10) Четырнадцатый оператор: возврат к четвертому оператору. 11) Пятнадцатый и шестнадцатый операторы: печать суммы и количества.
IV,Основы программирования 19 _ УПОРЯДОЧЕНИЕ ДАННЫХ (ИСПОЛЬЗОВАНИЕ ФОРТРАНа) с 1. КОММЕ НТАР ИЙ 03, ПЕР Е С ТлН О В К А 000001 INTEGER Т(5) .FLAG.’'WORK,uE.Sl ТА 000002 READ(5,500) Т 000003 50С FORMAT(515) с i>fi=UT DATA 1NSATU 000004 WR J ТЕ(6,600) T 000005 600 Fi)RMAT'(lH0.10H INPUT CATA.5I8?) с SORT HAZIME 000006 100 Fi_AG*0 с 4 KAI LOOP 000007 DC 10 UE = 1,4‘ с SI TA NO IT] SET 00ООО 8 S1TA=UE*1 с HIXAKU 000009 IF(TCUE).GE.TCSITA)) GO TO 10 с irEkae 000010 WORK =T(UE) 000011 T(UE) =T(SITA> 000012 TCSITA)«WORK с .flag sel 000013 flag=i 000014 10 CONTINUE 'С TOTYU KEIKA INSAyu 000015 WRITE(6.610) T 000016 610 FORMAT(1H .10HTOTYU DATA»5 I 8) 000017 IF(FLAG,EQ.1) GO TO .100 с SORT OWARI 000018 WRITE(64 620) ‘T 000019 620 FORMAT(1H0.10HS0RT DATA.5 I 8) 000020 STOP 000021 END РИС. 19. 1. ПРОГРАММА (1)
19. Упорядочение данных (использование ФОРТРАНа) 73 На рисунке 19.1 показан текст программы, составленной по блок-схеме примера 3. Результат выполнения программы при использовании данных ри- сунка 14.3 приведен на рисунке 19.2, а на рисунке 19.4 дан результат при использовании входных данных рисунка 19.3. На рисунке 19.5 показан текст программы, составленный по блок-схеме (2), а результат ее выполнения дан на рисунке 19.6. Текст программы, составленной по блок-схеме (3)t иллюстрируется на рисунке 19.7, а ее резуль- тат дан на рисунке 19.8. [1] ОПИСАНИЕ ПРОГРАММЫ РИСУНКА 19.1 (1) Первый оператор: объявление типа и массива, Т (5) является массивом целых чисел (вектор) и состоит из пяти элементов. (2) Второй и третий операторы: в массив Т считываются пять данных (515). (3) Седьмой оператор: "UE" изменяется от 1 до 4 с шагом 1. (4) Восьмой оператор: "SITA" вычисляется вслед за "UE". (5) Девятый оператор: если элемент Т (UE) больше, перестановка не осуще- ствляется. (6) Операторы 10-12: перестановка. (7) Тринадцатый оператор: при перестановке флаг (Flag), устанавливается на 1. (8) Четырнадцатый оператор: конечный оператор цикла DO. (9) Пятнадцатый и шестнадцатый операторы: печать массива Т. (10) Семнадцатый оператор: когда флаг (Flag) равен 1, осуществляется возврат к началу цикла. (11) Восемнадцатый и девятнадцатый операторы: печать отсортированных данных. INPUT data 16 30. го. 46 $0, ТОТYu DATA ТОТVO data 3o .20 3'6 40 46 Зб . 50 20 10. 10 TOT YU. DATA 4-0 5 0 30. 26 10 TOt'yu data 30 4 0 Зо; 2o‘ 10 TOTYU DATA 50 40 3.6 20 10 sort Data . 5 0 40 30 20 10 РИС. 19. 2. РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ ( 1)
74 IV.OcHOBbi программирования 11 I 10! I 1 !|l I ! I|l I 11|И ! I|l S I I I t C I I I ! t ! I I I I I I I I I I I I I I 11 I I I I I I I I I I t I I I I ! I I I I I I 11 Н i i i i i 11 > i i 11 1111 i i i i i i 111 i i i 11 i i i i i i i i м i i i i i i i i 111 i 11 i i 11 i i i i i i i i i i i i i i i i i i i i 11 ЦП Ш ПШ1 Ш1ШШЦ Ш I П ШПШППШШ.ШШП 11 П ! НШШПШ1 J J J J J J J J J J J ] J 3 J 3 J 313 J J J J.J J ] J J 3 3J 3 J 3 J J J J ] J J J J J J 3 3 J J 3 J 3 3 3 J 3 J 3 J 3 3 3 J J J J 3 J J J 3 1 J 3 J J ] 3 J 444|4444<44444444444444444444444444444444444444444444444444444444<44I44<44444444 S Л Л 3 3 i|5 3 3 Л 5 Л S 5 S 3 Л Л 5 5 5 5 Л Л S S Л Л 5 Л S Л S Л Л S Л 5 5 Л 5 5 Л Л Л Л Л 5 S Л 5 5 5 Л 5 S I H I H I H I H H H i Ш Ш H И i H i HE i H i Ш Ш НИ i i HE Ш i I Ш Ш И И Ш i H Ш И i i in 1111 j i j 11111 j j 1i1 i i 11 1i1ii11 и 111 ii и 11 ] л j j 11 11111i i1111 и 11111ii1111 11 n и Hlllllllllllllllllllllll llllllllll II llllllll IIIHIIIIIH !ШШ И I I I II I Ш ! I I II 3 3 3 Л 3 Л 3 3 3 3 3 1 Л 3 3 3 Л Л 3 Л Л 3 9 J Л 3 3 3 3 3 Л Л Л Л 9 3 5 9 3 J 9 3 J 9 9 5 S 9 9 Л M 9 9 9 9 9 ’ 9 9 3 9 9 3 9 3 J ГЛСОМ 5081 РИС. 19. 3. ВХОДНЫЕ ДАННЫЕ (2) Input data 40 50 10 30 20 . TOTYU DATA 50 40 30 20 ю'' TOTYU DATA 5 о 40 30 20 10. SORT DATA 50 40 30 20- 10. РИС. 19. 4. РЕЗУЛЬТАТ (2) [2] ОПИСАНИЕ ПРОГРАММЫ РИСУНКА 19.5 (1) Первый оператор: объявление типа массива и переменных. Т (5) объявлен массивом целых чисел, состоящим из пяти элементов. WORK и SOKO объявлены целыми переменными. (2) Второй операторов массив Т считывают пять значений. (3) Четвертый и пятый операторы: печать массива Т. Печатается первая строка рисунка 19.6. Продвижение бумаги в данном операторе — 1НО, поэтому до печати бумага продвигается на две строки. В конце списка фор- матов стоит "/"/что вызывает вывод строки пробелов. (4) Шестой оператор: "SOKO" изменяется от 2 до 5 с шагом 1. (5) Операторы 7 — 12; ведется упорядочение. (6) Восьмой оператор: если Т (i) больше Т (SOKO), перестановка не произ- водится. (7) Тринадцатый оператор: печать промежуточного состояния массива. Если взглянуть на строки TOTYU DATA рисунка 19.6, то сразу станет понятно, что происходит упорядочение.
19. Упорядочение данных (использование ФОРТРАНа) 75 • ' * С 1. КОММЕНТАРИЙ оз, перестановка 000001 INTEGER Т( 5 ).WORK-SOKO 000002 READ(5.500) Т 000003 500 FORMAT( 515) с INPUT DATA INSATU 000004 WRITE(6t600) T 000005 600 FORMAT(1HQ.10HINPUT DATA .5 1.8/) с SORT HAZlME 'SOKO' NO ITI SET 000006 DO 20 SOKO“2.5 с 1 KARA 'SOKO* MADE SORT 000007 DO 10 I“1.SOKO с HIKAKU .000008' 1 F(T(I).GE,T(SOKO)) GO TO 10 с IREKAE 000009 WORK = T(I) ООООЮ T( I) =T(SOKO) 000011 T(SOKO)“WORK 000012 10 continue' с TOTYU KE I KA INSAYU 000013 wRITE(6,610) T 000014, 610 FORMATdH .10HTOTYU DATA . 518) 000015 20 CONTINUE с SORT OWA.Rl 000016 wRITE(6.620) T 000017 620 FORMAT(1H0.1CHSORT DATA.5 I 8) 000018 STOP 000019 END РИС. 19. 5. ПРОГРАММА (2) INPUT DATA id 30 20 40 50 TOTYU DATA 30 10 20 40 50 TOTYU DATA 30 2 0 10 40 50 ' TOTYU DATA 40 3.0 20 ,10 50 . TOTYU DATA 50 .40 30 20 .10. : sort DATA 50 40 30 2Ю 1'0 РИС. 19. 6. РЕЗУЛЬТАТ
76 IV-Основы программирования С 1. КОММЕНТАРИЙ 03, ПЕРЕСТАНОВКА 000001 Integer Т( 5 5,work.tenzyo.poInt 000002 R.EAD(5.50C) Т оообоз 5 ой FORMAT( 515) с INPUT ©ATA INSАТо 000004 WRJTE(6.600) Т 000005 600 fo'Rmat (оно. юн I NruT Data .518/3 с SORT HAZIME 'TENZYO' SET 000006 DO 20 TENZY0=1.4 с POINTER SET , 000007 POliyT^-ENZYC' 000008 К =T£NZ Y'O*1 с • tENZYO* NO TUG I KARA 5 MADE 000009 DO 10 L=K,5 с. HIKAKU (POINTER ICAERU) ' 000010 I F;' T (PG I NT ) . L T . T CL) ) P0I N T = L 000011 10 CONTINUE 000012 I F (PC J .NT . EQ > TENZYO) GO TO 15 с IREKAE 000 013’ WORK , =T(TENZYO) 000014 T(TENZ'YO)=T (POINT) 000015 T(POINT) =WORK с TOTYU КЁ1КА iNSAYCj 000016 15 W RITE (6.610) T 000017 610 FORMAT(1H .10HTOTYU DATA. 5 I 8) 000018 20 CONTINUE с so’At OwARI 000019 WRITE(6.620) T 000020 6 20 FORMAT(1H0•IOhSOrT DATАл 5 I 8) 000021 STOP 000022 END РИС. 19. 7. ПРОГРАММА (3) INPUT DATA 10 30 20 4C 50 TOTYU DATA 3 0 20 40 10 TOTYU DATA 5-0 40 20' 30 io. TOTYU DATA 50 40 30 20 Ю TOTYU DATA ж 40' 30 20 10 SORT DATA 50 4'0 30 2(? 10 РИС. 19. 8. РЕЗУЛЬТАТ
19. Упорядочение данных (использование ФОРТРАНа). 77 [3] ОПИСАНИЕ ПРОГРАММЫ РИСУНКА 19.7 (1) Шестой оператор: значение переменной"ТЕЫ7УО"изменяется от 1 до 4 с шагом 1. (2) Седьмой оператор: указателю присваивается значение "TENZYO". (3) Восьмой оператор: "К" присваивается значение "TENZYO"+1. (4) Операторы 9—11: если в массиве после элемента Т (TENZYO) найдется значение превышающее значение Т (TENZYO), его положение вводится в указателе (5) Операторы 13 —15 : перестановка элемента Т (TENZYO) и элемента, отмеченного указателем, если максимальное значение не Т (TENZYO).
78 IV.OcHOBbi программирования го ВЫВОД ДИАГРАММ (ИСПОЛЬЗОВАНИЕ ФОРТРАН*) С КОММЕНТАРИЙ 4, СИНУСОИДА ; 000001 REAL YVALUEC5).GRАРнС 81)-L1NE с. DATA SET ASTA<--<<, SPACEC'— . l!N'E<--I 000002 DATA ASTA .SPACE . l I NEZ 1H* . 1'H .I.h’IZ. 1 YVAlOEZ-1. c.-o. 5'.0,0.0-. 5,1. QZ .' с graph no space Clear 2 GRAPH/81-olH Z с MIDAS! 'TO Y-ZlKU 1NSAT1.) 000003 «RITE Co-600.) YVAlOE 0000’04 600 F0RMATC1H , 7 X., 1H.X,, 5 x , .6 H S I N ( X) ,3X. 3. 6hY-AxI S,3X ,F4.1.. 4Ё20.171H .. 4 33X . 4 (1H+. 19 (1H-) ). ,1H*) С' LOOP NO -iAZ I MF 000005 DO J.O 1=1.361.6 с X.-ZIKU Nl" 1 0 I RERD 000006 GR APH C 41) =L I NE' 000007 X= I -1 с RADIAN NI HENKAN 000008 R A D = У,1,415-9.2.6 *.X /180.0- с KANSU SIN 0 TUKA-LI 000009 Y=S'FN(RAU) с » 0 IRERu IT! 0 KIMERU 000010 NO»Y*40.0*41,5 00.0011 GRAPH(NO)«ASTA с 1 GYOO insatu ' 000012- WRITE(6.610) X.YtGRAPH 000013 610 FORMAT(1H .F9.0.F10.5.14X.81A1) 00001* GRAPH(NO)=SPACE с KANSU MOD C TUKAI 90 GOTO NI -0 INSATU 000015 I F (MOD (I-l. 90) , £0.0) *R I ТЕ (6,615 ). 000016 615 FORMAT C1H*.73X.1H-) 000017 10 continue С LOOP OWARI 000018 wRITE(6,620) 00,0019 620 FORMAT<1K . 7 0X.6HX-AXIS) 000020 STOP 000021 END , РИС. 20. 1. ТЕКСТ ПРОГРАММЫ
20. Вывод диаграмм (использование ФОРТРАНа) 79 На рисунке 20Л показан пример текста программы, составленной по блок-схеме примера 4, а ее результат иллюстрируется на рисунке 20.2. Z1 Ь. 0.10*53 ' 12. С.гсТЧ! 18. С.ЗО?2 30. 0.50000 Эб. 0-58779 *2. 0.66913 48- С. 71.314 5<.. С.80902 60> С.86603 t>t>. 0.91355 ’2- С.95106 78. С.97815 84. С.99452 9С. 1.С000С 96. 0.99452 102. 0.97815 108. 0.9510b 114. 0.91355 120- С.вЬЬОЭ 12ь. 0.80902 132. С.7*315 138. 0.66913 144, 0-.58779 150. 0.5СССО 15ь. 0.40674 162. 0.30902 168. 0.20791 174. 0.10453 180. 0.00000 186. -0.10*53 192. -0.20791 198- -0.30902 20*. -0.40674 210- -С.5000С 216. -0.58779 222. -0.66913 228. -0.7*31* 23*. -0.80902 2*0. -0.86602 2*6. -0.91355 252. -С.95106 258. -0.97815 264. -0.99*52 27Q. -1.00000 276. -0.99*52 ' 282. -0.97815 288. -0.-95106 29*. -0.91355 ЭОС. -0.86603 306- -0.80902 312. -0.7*315 318-. -0.66913 32*. -0.58779 ЭЗО- -С.50000 ЗЗб. -0.40674 342. -0.Э0902 348. -0.20-791 35*. -0.10*53 360. -о.осссс РИС. 20.2. РЕЗУЛЬТАТ
80 1\/.Основы программирования г1 ПРОГРАММИРОВАНИЕ НА КОБОЛе ИЛИ ЗНАК ПРОДОЛЖЕНИЯ ) j/пОЛЕ В] <=< РАЗДЕЛ ДАННЫХ )_____ секция файлов) 1 ОПИСАНИЕ ВХОДНОЙ I I ЗАПИСИ t Н ОПИСАНИЕ СТРОКИ ДЛЯ ПЕЧАТИ РАЗДЕЛ ПРОЦЕДУР)___________. ^^ОТКРЫТИЕ файла) ^(печать заголовка) гА-/СЧЙТЫВНИЕ 1 ^ДАННЫХ ) к^ВЫЧИСЛЕНИЕ ) LJ ФОРМИРОВАНИЕ [^СТРОКИ________ <=( ПЕЧАТЬ СТРОКИ
Zl. Программирование на КОБОЛе [1] ПРОГРАММИРОВАНИЕ НА КОБОЛе На рисунке 21.1 иллюстрируется пример записи программы на языке КОБОЛ, а в таблице 21.1 перечислены; символы, используемые этим языком. Имя данных должно иметь не больше 30 символов, которыми могут быть буквы латинского алфавита, арабские цифры и - (дефис). ТАБЛИЦА 21. 1. СИМВОЛЫ КОТОРЫЕ МОЖНО ИСПОЛЬЗОВАТЬ В КОБОЛЕ БУКВЫ ЛАТИНСКОГО АЛФАВИТА А В С 2 АРАБСКИЕ ЦИФРЫ 0 1 2 9 ПРОБЕЛ И СПЕЦИАЛЬНЫЕ. СИМВОЛЫ ПРОБЕЛ ( ) -f- - * / = ¥ , ; . '()>.< ДЛЯ ДАННЫХ МОГУТ БЫТЬ ПРИМЕНЕНЫ [2] СТРУКТУРА ПРОГРАММЫ НА КОБОЛе Как показано на рисунке 21.2, программа на языке КОБОЛ состоит из четырех явно выделенных разделов. [ ЭТИ ДАННЫЕ j ЗАПИСЫВАЮТСЯ < В ЗАГЛАВИИ РАЗДЕЛ ИДЕНТИФИКАЦИИ ! ЭТО ИМЕННО ТО, ЧТО СУЩЕСТВЕННО i ; ОТЛИЧАЕТСЯ I ОТ ПРОГРАММЫ ; НА ЯЗЫКЕ : ФОРТАН ЗАПИСЫВАЮТСЯ ИМЯ ПРОГРАММЫ. ИМЯ АВТОРА И Т. Д. РАЗДЕЛ ОБОРУДОВАНИЯ СОДЕРЖИТ ОПИСАНИЕ ОБОРУДОВАНИЯ ЭВМ. А ТАКЖЕ СВЕДЕНИЯ О СООТВЕТСТВИИ МЕЖДУ ФАЙДАМИ ДАННЫХ И НОСИТЕЛЯМИ ВХОДНОЙ И ВЫХОДНОЙ ИНФОРМАЦИИ РАЗДЕЛ ДАННЫХ ОПИСЫВАЕТ ИСПОЛЬЗУЕМЫЕ ФАЙЛЫ ДАННЫХ И СТРУКТУРУ РАБОЧЕЙ ПАМЯТИ РАЗДЕЛ ПРОЦЕДУР ОПИСЫВАЕТ ПРОЦЕДУРЫ ОБРАБОТКИ ДАННЫХ. ПРЕДСТАВЛЕННЫХ В РАЗДЕЛЕ ДАННЫХ ОПИСАНИЕ МОЖЕТ ОТЛИЧАТЬСЯ В ЗАВИСИМОСТИ ОТ СТРУКТУРЫ ЭВМ ОПИСАНИЕ ВЕДЕТСЯ С ИСПОЛЬЗОВАН ИЕМ ОПЕРАТОРОВ СОГЛАСНО БЛОК-СХЕМЕ. РИС. 21. 2. ПРОГРАММА НА ЯЗЫКЕ КОБОЛ
82 IV.OcHOBbi программирования ,____: ,F I LE ИМЯ ФАЙЛА к— Ьгт.:. . F L ИИЙИ [ИМЯ ЗАПИСИ :Ж- 'i: ;К " —~~—- НОМЕР УРОВНЯ А О 3 В [ИМЯ ФАЙЛА |- О 3 FILLER СТРУКТУРА- । Р D if' ’ " " СТРОИТСЯ / л ПУТЕМ ИС- { ПОЛЬЗОВАНИЙ, НОМЕРА ! УРОВНЯ } OUT REC 03 FILLER 03 OUTARA WORKING-STORAGE О 1 СЕКЦИЯ ФАЙЛОВ МЕТКИ ОПУЩЕНЫ МЕТКИ ОПУЩЕНЫ ИСПОЛЬЗУЕТСЯ ДЛЯ ВЫВОДА НА ПЕЧАТЬ ДОПИСЫВАЕТСЯ ПОЛЕ V ОДНОЙ КАРТЫ Р I С SECTION. СЕКЦИЯ РАБОЧЕЙ ПАМЯТИ РЮ X ( 1 3 6 ) f ОДНА СТРОКА СОДЕРЖИТ I 136 СИМВОЛОВ I l i PIC 999 PIC X(74j ме : I S А I .. ° 3 А Р IC ZZ9 03 FILLER Р I С X ( 1 0 03 В Р I С ZZ9. 0 3 FILLER Р I С X 10 0 3 KE I Р I с ZZZ9 . 16 УСТАНОВКА ЗНАЧЕНИЯ / VALUE SPACE. УСТАНОВКА НАЧАЛЬ- НОГО ЗНАЧЕНИЯ ПРОБЕЛ РИС. 21. 3. СТРУКТУРА РАЗДЕЛА ДАННЫХ p ОБЕСПЕЧИВАЕТ" I ПОДАВЛЕНИЕ НУЛЕЙ.! Г МОЖНО ОПУСТИТЬ ; ’ БЛАГОДАРЯ I ‘ ИСПОЛЬЗОВАНИЮ ! { ОПЕРАТОРА WRITE I РИС. 21.4. РАЗДЕЛ ДАННЫХ И УПРАВЛЕНИЕ ДАННЫМИ
21. Программирование на КОБОЛе 83 [3] СТРУКТУРА РАЗДЕЛА ДАННЫХ И УПРАВЛЕНИЕ ДАННЫМИ Как показано на рисунке 21.3, в разделе данных имеются секция файлов и секция рабочей памяти. Систематизация ведется путем определения файла и его структуры за счет присваивания им уникальных имен. На рисунке 21.4 показано управление данными. Данные, вводимые в область ввода, в этом же виде пересылаются в область редактирования, суммируются и пересылаются в область редактирования. Отредактированные данные пересылаются в область вывода и печатаются. [4] РАЗДЕЛ ПРОЦЕДУР И ОПЕРАТОРЫ КОБОЛа В разделе процедур используются операторы, перечисленные в таблице 21.2, из них составляется программа в соответствии с блок-схемой. Команда COMPUTE, как это показано на рисунке 21.5, записывается так же, как и на языке ФОРТРАН. Помимо этого из рисунка 21.6 видно, что бывают случаи, когда значительно проще использовать команду ADD. ТАБЛИЦА 21. 2. ОПЕРАТОРЫ ЯЗЫКА КОБОЛ ОПЕРАТОРЫ ВВОДА-ВЫВОДА OPEN, READ. WRITE, CLOSE ОПЕРАТОРЫ АРИФМЕТИКИ COMPUTE, ADD, SUBTRACT, MULTIPLY, DIVIDE ОПЕРАТОРЫ ПЕРЕСЫЛКИ MOVE ОПЕРАТОРЫ УПРАВЛЕНИЯ ВЫПОЛНЕНИЕМ ПРОГРАММЫ GO TO, IF, STOP RUN РИС. 21. 5. ОПЕРАТОР COMPUTE ADD COMPUTE CTR = CTR 4- I. CTR TO РИС. 21. 6. ОПЕРАТОР ADD
84 IV. Основы программирования IF KU = ] COMPUTE К COMPUTE К COMPUTE G = G +•T THEN ELSE = T * (-S), = T * S. РИС. 21. 7. ОПЕРАТОР IF ЕСЛИ ЗАБЫТЬ ПОСТАВИТЬ ! ТОЧКУ, > ПОЛУЧИТСЯ ! БЛОК-СХЕМА, ; ИЛЛЮСТРИ | РУЕМАЯ В (б). ! ТАБЛИЦА 21.3. РЕГЛАМЕНТ ОПЕРАТОРА ^-^ПРИНИМАЮЩЕЕ ПОЛЕ ИСХОДНОЕ ПОЛЕ^--^_ ГРУППОВАЯ ЕДИНИЦА ПОЛЕ БУКВ ЛАТ. АЛФАВИТА И КАНЫ# ПОЛЕ РЕДАК- ТИРОВАНИЯ ВНЕШНЕЕ ДЕСЯТИЧНОЕ ПОЛЕ ГРУППОВАЯ ЕДИНИЦА AM AM А М AM ВНЕШНЕЕ ДЕСЯТИЧНОЕ ПОЛЕ AM AM ЕМ NM ЛИТЕРАЛЫ СИМВОЛЬНЫЕ AM AM А М ’ А М Примечание. ♦Японская слоговая азбука. (а) Оператор IF...THEN... ELSE. Как показано на рисунке 21.7, если забывают поставить Точку, изменя- ется логика программы. Помимо = в качестве знака операции сравнения используют также > и < .’ (б) Оператор MOVE. Регламент пересылок оператора MOVE показан в таблице 21.3. Поле внешних десятичных является данными типа зонных десятичных (распакованные десятичные числа) AM, как это видно из рисунка 21.8, перемещаются с выравниванием по левому краю. ЕМ совмещает десятичные запятые и подавляет нули (заменяет нули пробелами). NM совмещает десятичные дроби, и ставится соответствующее обозна- чение знака. На рисунке 21.9 показана запись предложения для пересылки содержи- мого MEISAI и OUTARA.
21. Программирование на КОБОЛе 85 В НЕЗАПОЛНЕН НУЮ ЧАСТЬ ВСТАВЛЯЮТСЯ СИМВОЛЫ ПРОБЕЛА (Ь) РИС. 21. 8. ПЕРЕСЫЛКА СИМВОЛОВ ПОМЕЩАЕТСЯ ТОЛЬКО ЛЕВАЯ ЧАСТЬ, ПОЭТОМУ ЗДЕСЬ происхо- дит ОТСЕЧЕНИЕ это- .11-й МЕР ДМ ПЕРЕСЫЛКА В ПОЛЕ {MOVE MEis*! ТО QUTAR*"] РИС. 21. 9. ОПЕРАТОР MOVE
86 IV-Основы программирования ВЫЧИСЛЕНИЕ ПЛОЩАДИ ТРАПЕЦИИ (ИСПОЛЬЗОВАНИЕ КОБОЛа) 1 100010 IDENTIFICATION DIVISION. 2 100020 PROGRAM-ID. RE I DA 101. 3 10Q03.0'AUTHOR, T.pl 5 100050 ENVIRONMENT DIVISION, 6 100060 CONF 1 GURAT ION SECT I ON'. 7 100070 SOLRCE-CQmPuTER. faCom-;mi$&. 8 100080 OBJECT-COMPUTER, FACOM-M150. 9 100090 Input-output section;. 10 100100 file-control. ASS I GN 11 100110 SELECT IN-F.lLE TO CR-S-U05.. 12 100120 SELECT. OUT-FILE ASSIGN TO LP-S-U08. 14 1'5. 100140 DATA DIVISION, 100150 file section. 16 1,00160 FD iN-flLE LABEL RECORD OM Ptted? 17 100170 01 IN-REC. 18 100180 03 ZYOOTEI PIC 999V9. 19 100190; 03 KATE! PIC 999V9* 20' 100200 03 TAKASA PIC 999V9 , 21 100210 03 filler' PIC X<681. 2 2 200010 FD CUT-FILE LABEL RECORD OMITTED. 1 23 200020 01 OUT-REC. 24 200030 03 FILLER PIC X, 25 200040 03 OUTARA PIC X(136). 27 200060 WORKING-STORAGE SECTION'. 28 200090 01 MIDAS!. 1 .. . 29 200100. 03. FILLER PIC X(32) VALUE 1 30 200110 • ZYOOTEI KATEI. TAKA! $A MENSEK 1 1 1 31 200120 01 ME ISA I. 32 200130 03 ZYOOTEI-M PIC Z(fe).9. 33 '200140 03 KATE I-M PIC Z(6).9> 34 200150 03 TAKASA-M PIC Z(6).9. 35 200160 03> MENSE'KI PIC Z (t>) . 9 . 37 300010 PROCEDURE Div •SION.. 38 3'0002.0 NAZ I ME. 39 300.030. ' OPEN INPUT IN-FILE OUTPUT OUT.-FILE. 40 300040 WRITE OUT-REC FROM. МЮ AS J AFTER 2. 41 300050 MOVE SPACE to outara. 42 300060 . . WRITE OuT-REC AFTER 1, . 43 300070 YOMU, AT EnD GO 44. * '300080 ' , ''READ- IN-FILE TO ATO-SYOR1.
22. Вычисление площади трапеции (использование КОБОЛа) 87 .45: 3'00090. COMPUTE MENSEKI = (ZYOOTEI ♦ KAT’ y 4 ф зоо.юо * ТАК ASA / 2.0. 4 7 30.0110 'MOVE Z YGOT E I TO Z'YOOTEl-M, 48 30О12О MOVE, KATEI 4 TO KATEI—M, 49 300130 MOV TAKASA TO TAKASA-M, .50/ ’300140 write- CUT-REC .FROM ME ISA] AF'TErt 1. 51 - 300150 , GO- To Y ОМ и ... 53 300160. ATO-SYOrI,. 300170 CLOSE IN-F I‘[_E. 'OUt-FlLE.r 1 55 ЗОС19О STOP ' RUN^ РИС. 22. 1. ПРИМЕР ПРОГРАММЫ ZYOOTEI KATEI TXKASA MENSEK.1 IO, 0 30 ,0; 5,0 100,0, 5 2,3 <86,7 3 7.2 2585.4 24,5 3-7,ф 18.9 5 86.8; 8 2.3 1>\ 3 4,4 212,9 69,2 53.8 41.7 2564,5 РИС. 22.2. РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ На рисунке 22.1 показан текст программы, составленной по блок-схеме примера 1, а входные данные показаны на рисунке 12.2 (б). Результат работы программы представлен на рисунке 22.2 (форма идентична программе языка ФОРТРАН). ОПИСАНИЕ ПРОГРАММЫ (1) Строки 1—3: раздел идентификации, который, помимо имени програм- мы и имени автора, включает также место и дату составления программы. (2) Строки 5—12: раздел оборудования, в котором имеется секция ввода- вывода. В секции конфигурации содержится общая спецификация, вычис- лительных средств, используемых при выполнении данной программы. В секции ввода-вывода описываются файлы (имя), а также даются сведения о соотношении между файлами данных и носителями входной и выходной информации. В ЭВМ, описываемых в данной книге, применяются только устройство для считывания перфокарт модели U 05 и построчно-печатаю- щее устройство модели U 08. (3) Строки 14-35: раздел данных, в котором имеется секция файлов и сек- ция рабочей памяти. В секции файлов содержится описание всех файлов (имя), используемых в программе и оговоренных в секции ввода-вывода. Строки 16-21 поясняют IN-FiLE, что метки файла на устройстве считыва- ния с перфокарт опущены. Строка 17 дает имя записи в IN FILE , а строки, от 18 до 21 описывают ее структуру, т. е. представляют собой описание под- полей. В описании подполей в статье PICTURE описаны размер данного,его свойства и функции. Цифра 9 обозначает цифровой шаблон. Такое данное может участвовать в арифметических операциях. Символ V — подразуме-
88 IV.Основы программирования ISN I 1 г 1 6 2 з 2 8 3 9 4 О 5 4 ИМЯ ФАЙЛА FD НАЗН 'X ЧЕНИ ’ ОПИСАНИЕ I i ФАЙЛА SELECT OUT-FILE ASSIGN TO Lt’-S-UOS CUT-FILE LABEL RECORD OMITTED OPEN INPUT IN-FILE OUTPUT WRITE OUT-REC FROM M I D A S I РИС. 22. 3. ПЕЧАТЬ ЗАПИСИ 0 1 0 1 OUT“RFC. MI DAS I . ваемая десятичная точка, и при считывании перфокарты рисунка 12.2(6) ZYOOTEI вводится как число 10.0. Одна перфокарта состоит из 80 колонок, поэтому, чтобы обеспечить 80 IN REC, вводится дополнительно 68 символов (X) (21-я строка). Строки 22—25 определяют OUT-FILE. И в данном случае построчно-пе- чатающее устройство не требует наличия меток. Здесь один начальный сим- вол используется для управления продвижением бумаги, а остальные вхо- дят в область 136 символов. (4) Строки 27—35: секция рабочей памяти — область заголовка и редакти- рования, а также хранения промежуточных результатов. Строки 29, 30 — описание текста заголовка, а строки 32, 33, 34, 35 — область редактирова- ния одной строки. Z — шаблон редактирования. При наличии здесь 0 он за- меняется пробелом. (5) Строки 37—55: раздел процедур, описывает действия согласно блок- схеме. При наличии файла ввода-вывода его в первую очередь открывают (OPEJM) (строка 39), а после завершения использования закрывают (CLO- SE) (строка 54). (6) Строка 40: после продвижения бумаги на две строки (AFTER 2) произ- водится печать заголовка (MIDASI). Форма записи оператора WRITE пока- зана на рисунке 22.3. Печать ведется после того, как содержимое записи MIDASI (строки 28—30) пересылается в запись OUTREC.
22. Вычисление площади трапеции (использование КОБОЛа) 89 7) Строки 41, 42: продвижение бумаги на одну строку. 8) Строка 45: результаты вычислений вводятся в MENSEKI строки 35. 9) Строки 47—49: пересылка из области ввода в область вывода. Благо- аря выполнению предложений строк 45—49 заканчивается редактирование дной записи-MEISAI (строка 31). 10) Строка 50: готовая запись MEISAI пересылается в OUTREC и осущест- ляется печать. I
90 IVxOcHOBb! программирования гз ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ (ИСПОЛЬЗОВАНИЕ КОБОЛа) 1 2 3 100010 IDENTIFICATION 100020 PROGRAM-ID, юоозо author. division, RE I DA 1'02. T.OHTANI „ 5 1000'50 ENVIRONMENT DIVISION. 6 100060 CONFIGURATION SECTION, 7 100070 SOuRCE-COMPuTFR. FACOM-M150. 8 100080. OBJECT-COMPUTER. FACOM-M15O. 9 100090 INPUT-OUTPUT SECTION. 10 100100 FILE-CONTROL. 11 100110 SELECT UR I* file assign TO CR-S-UC5. 12 100120 SELECT LP-F1LE ASSIGN TO LP-S-U08. 14 100140 data DIVISION. 15 100150 file SECTION, 16 10.0160 FD UR 1-FIVE LABEL RECORD OMITTED. 1.7 100170 01 URI-REC. .18 10018'0 '3 SYO-CODE PIC*9(4). 19 100190 03 KUBUN PIC 9.- 20 100200 03 TANKA PIC 9(4). 21 100210 03 SURVO PIC 9(3) • 22 100220 03 filler PIC X(68)., 23 200010 f'd lp-file LABEL RECORD OMITTED, 2'4 20.00 20 01 lP-REC. 2.5 200.030 03 FILLER PIC X. 26 200040 03 LP-ARA PIC X,(136). 2 8 200060 WORK ING-STORAGE section; 29 200070 77 W-KENSU PIC 99 VAlUE 0. 30 200080 77 W-KIN PIC S9(8), 31 200090 77 W-GOKEI PIC 9(8) VALUE 0. 32 200110 01 MI DAS 1-1, .value space. 33 200120 03 filler PIC X(10) 34 200130 03 FILLER PIC X(19) 35 200140 value VURJ AGE ITIRANHYO*, 36 200150 01 MIDASI--2. 37 200160 C3 filler PIC X(4Q) value 38 200170 ’ CODE TANKA SURYO K1NGAKU’, 39 200180 01 MEISAI, 40 200181 03 filler ₽IC X. 41 200190 03 SYO-CODE -M PIC 9(4) . 42 200200 03 filler ₽IC X(5) value space, 43 200210 03 TANKA-M PIC Z.ZZ9, 44 200220 03 filler PIC X(7) value space. 45 200230 03 SURYO-M PIC ZZ9. 46 200240 03 filler PIC X(5) VALUE SPACE.
23. Вычисление выручки от продажи (использование КОБОЛа) 91 47 200250 03 KI NGAKU PIC --9 48 300010 01 GOKE!- GYO. 49 300020 03 FI LLER PIC X(30) VALUE 50 300030 » UR I AGE GOKE I 51 300040 03 GOKE I PIC ZZ\ZZZ»ZZ9. 52 300050 01 KENSU- GYO, 53 1 300060 03 FI llEr PIC ИЗО). value 54 300070 • DATA KENSU 55 300080 03 KENSU PIC Z<9)9. 57 400010 PROCEDURE DIVISION, 58 400020 HAZ1ME. 59 400030 OPEN INPUT UR I- FILE output LP-FILE, 60 400040* 61 400050 YOMU. 62 400060 READ uri-file at end go to ATO-SYORI. 6 3 400070 COMPUT E W-KIN x TANKA * SURYO. 64 400080 IF KUBUN = 1 65 400090 THEN COMPUTE W-KIN = - W^’ KIN 66 400110 ELSE . NEXT SENTENCE. 67 400110' COMPUTE W-GOKEI x W-GOKEI * W-KIN, 68 400120 INSATU. 69 400130 IF W- KENSU = 0 70 400140 THEN WRITE LP-REC FROM MIDASI-1 71 400150 AFTER 2 72 40016Q write LP-REC FROM MIDASI-2 73 400170 after 2 74 400180 ELSE HEXГ sentence, ‘ 75 400190 MOVE SYO-CODE TO SYO-CODE-M 76 400200 MOVE TANKA TO tanka-m. 77 400210- MOVE SURYO TO SURYO-M, 78 500020 MOVE W-KIN TO KlNGAKU. 7 9 500030' WRITE LP-REC FROM 1 ME ISA J. AF TER 1. 80 500040 ADD 1 TO W-KENSU. 81 500050 GO TO YOMU , 83 500070 ATO-SYORI, 84 500080 MOVE W-GOKEI TO GOKE I . 85 500090 WRITE LP-REC FROM 1 GOKEI-GYO AFTER 2. 86 500100 MOVE W-KENSU TO KENSU. 87 500110 WRITE LP-REC FROM 1 KENSU-GYO AFTER. 2. 88 500120 CLOSE url-file lp-file. 89 500130 STOP RUN, РИС. 21 1. ПРИМЕР ПРОГРАММЫ Пример программы согласно блок-схеме примера 2 показан на рисунке 23.1. Когда в качестве входных данных, как и в случае с языком ФОРТРАН, используются данные рисунка 18.2, выход принимает’форму, иллюстрируе- мую на рисунке 23.2 (идентичен ФОРТРАНу). ОПИСАНИЕ ПРОГРАММЫ (1) Строки 1—3: раздел идентификации. Имя программы REIDAI 02 (пример 2).
92 IV.Основы программирования URTAPE :т anm. .. С opt TANKA к i,nGaku 103'1 14 . . 0v 1001 100 х; . 5*00:6 J 002 40 10.000 1(То2 20 5.00,0 юс.з 1.250 1003 3-0 1.500 ' 1061 'let .15 -1..5О0 1сго> - V -500 зб‘кЕ’1. 21.750 2 At А .8 РИС. 23. 2. РЕЗУЛЬТАТ РАБОТЫ ПРОГРАММЫ (2) Строки 5—12: раздел оборудования, входному и выходному файлам при- своено имя URI—FILE и LP—FILE соответственно. (3) Строки 14—55: раздел данных. Строки 15—26: секция файлов, а строки 28—55 — секция рабочей памяти. (4) Строки 16—22: описание файла (URI—FILE), поступающего с перфокарт, и записи (URI—REC) . Каждому данному (в этом случае уровень 03) согласно характеристике карты выручки от продажи присваивается имя, и в PICTURE указывается шаблон (9). SVO—CODE в вычислениях не*используется, поэто- му его можно описывать как символьное (X). Строка 22 является дополнением до 80 в одной записи, и в данной системе ее наличие обязатель- но.Область, где нет необходимости в присвоении имени, берется как FILLER. (5) Строки 23—26: описание выходного файла LP—FILE (построчно-печатаю- щее устройство). (6) Строки 29—31: рабочая область, в которую входят количество, сумма денег за одно изделие и общая сумма денег. Таким образом, каждому дан- ному присваивается 77-й уровень. Они располагаются в начале секции рабо- чей памяти, причем первоначальное значение можно задавать при помощи VALUE. (7) Строки 32—35: описание общего заголовка. VALUE SPACE задает 10 пробелов.Символы, находящиеся после VALUE, помещаются в шаблон, опи- санный в PICTURE. (8) Строки 36—38: описание заголовка. (9) Строки 39—47: описание строки для печати (запись MEISAI). Здесь про- исходит редактирование, поэтому PICTURE описывает редактирование, Z, ZZ9 подавляют незначащие нули в числах, а в случае четырехразрядных чисел выводят полностью. Когда числа отрицательные,----,------,---9 печатает- ся знак и подавляются нули. (10) Строки 48—51: редактирование общей суммы денег и описание ее заго- ловка. (11) Строки 52—55: редактирование количества и описание его заголовка.
23. Вычисление выручки от продажи (использование КОБОЛа) 93 (12)Строки 57—89: раздел процедур. На 59 строке OPEN строк 62—81:по мере наличия данных выполняется цикл, а после окончания данных выполняются строки 83—87, на строке 88 выполняется CLOSE и заканчивается на стро- ке 89. (13) Строки 64—66: когда KUBUN=1, это означает непроданный товар, поэ- тому сумма денег становится отрицательной. Строка 66 будет опущена. (14) Строка 67: при выполнении оператора COMPUTE в W=GOKEI происхо- дит суммирование, поэтому начальное значение берется как 0 (строка 31). Рабочая область, используемая для такого вычисления, не должна быть шаб- лоном редактирования (нельзя использовать GOKEI строки 51 вместо W=GOKEI). (15) Строки 69—74: начальное значение W=KENSU равно 0 (строка 29), поэтому заголовок печатается только вначале. (16) Строки 75—78: строка для печати. Значение W=KIN редактируется по шаблону, указанному в PICTURE строки 47. (17) Строка 79: после продвижения бумаги на одну строку (AFTER 1) запись MEISAI пересылается (FROM) в LP=REC и печатается. (18) Строка 80: добавляется 1 в W=KENSU . (19) Строки 84—85: после пересылки содержимого W=GOKEI в GOKEI строки 51 осуществляется редактирование и печать записи GOKEI=GYO.
94 IV.OcHOBbi программирования ПРОГРАММИРОВАНИЕ НА БЭЙСИКе .ос . 1 с-i ко dknseki* . Г FOOT»-) . ' ". А ' 1 2 0 PRINT 1 /30 REA D U E . S 1 T A . T A К A S A: S.14C IF UE 0 GO TO 1ъ0 ’ ] 5 0 S UE SIT A ♦ТАКASA 2 0 ’ 160 PRINT USING z TJE,SITA,TAKAS A.S 170 GO TO 130 180 END 1 190 DATA 10.0.30.0,5 0,52.3.86.7,^42 1200 DATA 24 5,37 6 . 18 ... 9 , 82.3 , 1 4 . 4 • 210 DATA 69 . 2. 53.8. 41.7. О. О, О. ОД 0. 0 L 5 „ .... .... ....... ...J. !.... _»_ РИС. 24. 1. ПРИМЕР ПРОГРАММЫ ТАБЛИЦА 24. 1. ОПЕРАТОРЫ ЯЗЫКА БЭЙСИК ОБЫЧНЫЕ ОПЕРАТОРЫ ОПЕРАТОР ПРИСВАИВАНИЯ, ОПЕРАТОР IF. ОПЕРАТОР FOR, ОПЕРАТОР NEXT, ОПЕРАТОР GO ТО. ОПЕРАТОР STOP, ОПЕРАТОР END. ОПЕРАТОР DIM, ОПЕРАТОР DATA. ОПЕРАТОРЫ ВВОДА-ВЫВОДА ОПЕРАТОР INPUT, ОПЕРАТОР READ, ОПЕРАТОР PRINT ОПЕРАТОРЫ УПРАВЛЕНИЯ ВЫВОДОМ ОПЕРАТОР WIDTH, ОПЕРАТОР CONSOLE, ОПЕРАТОР COLOR, ОПЕРАТОР LINE, ОПЕРАТОР GET (© OPERATORY PUT®, ОПЕРАТОР PSET.
24. Программирование.на БЭЙСИ Ke 95 Li] ОТЛИЧИТЕЛЬНЫЕ ОСОБЕННОСТИ БЭЙСИКа Язык БЭЙСИ К представляет собой язык высокого уровня. Интерпрети- рующий транслятор обеспечивает быстрое получение результатов, что упро- щает коррекцию и редактирование. [2] СОСТАВЛЕНИЕ ПРОГРАММЫ Как показано на рисунке 24.1, начальным адресом программы является номер строки, причем допускается свободный формат записи программы. Следовательно, отпадает необходимость в применении специальных бланков кодирования. [3] ПЕРЕМЕННЫЕ И ИХ ТИПЫ Имя переменной состоит из символов. Первый символ имени перемен- ной должен быть буквой латинского алфавита, а остальными могут быть лю- бые символы: буквы латинского алфавита, арабские цифры и японская сло- говая азбука "кана". Имя переменной не должно включать в себя IF, FOR и т. д. Если к имени переменной добавлен символ %, то это означает, что пере- менная целого типа (— 32768 —32767), а если ничего не добавлено, подразу- мевается переменная вещественного типа числа одинарной точности (7 эф- фективных разрядов при десятичных числах) (имеются также символьные переменные и переменные вещественного типа числа удвоенной точности). [4] ОПЕРАТОРЫ БЭЙСИКа В таблице 24.1 перечислены наиболее распространенные операторы языка БЭЙСИК. Имеются также операторы вывода линий и диаграмм на дисплей. (а) Арифметические операторы. Арифметические операции +, —, *, /,л. Правила арифметических операций полностью идентичны правилам языка ФОРТРАН, только в данном случае для обозначения степени используется оператор А. (б) Оператор IF IF . . . GO .ТО . . ., IF . . .THEN . . .ELSE IF (логическое выражение) GO TO (номер строки). КогДа результат логического выражения истинный, происходит пере- ход на номер строки, если же он ложный, выполняется следующий оператор. IF (логическое выражение) THEN (оператор 1, № строки 1) [ELSE (оператор 2, № строки 2) ] (содержимое [] можно опускать). Когда результат этого IF (логическое выражение) истинный, происходит переход на строку Nb1, а при наличии оператора 1 он выполняется. Если же оезультат ложный, осуществляется переход на строку №2 или выполняется оператор 2. Кроме знаков операций—, < >, используемых в логических выражениях, имеются также < >,><,( не равно), <=, —< ( меньше или равно), >=, => (больше или равно). (в) Оператор FOR ... NEXT FOR (переменная) — X ТО У [STEP Z] NEXT (переменная) (содержимое [] можно опускать) X,Y,Z являются арифметическими выражениями, причем Z' может
96 IV. Основы программирования 10 ’REIDA! -10 1 | 2 0 А = 1 г : В = - 1 2 3 "I 3 0 PRINT А , В : PRINT В , А 4 0 PRINT А + 3 ; А * 2 ; А / В 5 0 END о к г и п <—[комм ентарий ДВОЕТОЧИЕ РАЗДЕЛЯЕТ | ЗАПЯТАЯ СТАВИТСЯ ДЛЯ РАЗДЕ- ЛЕНИЯ ПЕРЕМЕННЫХ В СПИСКЕ ТОЧКА С ЗАПЯТОЙ ВЫЗЫВАЕТ ВЫВОД В УПЛОТНЕННОМ ФОРМАТЕ КОНЕЦ | <—[ индикация готовности *—[ команда на ПУСК ПРОГРАММЫ | -12 -12 3 ЩИ -12 - 1 5 ~ _ 2 4 - - 0 .097561 (РЕЗУЛЬТАТ СТРОКИ № 30. ВЫВОД НАЧАЛЬНЫХ ЗНАЧЕНИЙ *—[ РЕЗУЛЬТАТ СТРОКИ № 40 | РИС. 24. 2. ОПЕРАТОРЫ ПРИСВАИВАНИЯ И ОПЕРАТОР ПРИНТ PRINT | list 10 ’REIDAI~102т 20 INPUT А 30 INPUT ; В •40 PRINT "А"2»"; А'4 2 ' 50/PRINT USING "#######";A*2,В 60 PRINT USING “ i A*2. В 70 GO TO 20 ok run ?-123 IB-?-1234* A^2=-15129 / 246 12345 246 12,345 ? КОМАНДА ВЫВОДА ТЕКСТА ПРОГРАММЫ <—| ВВОД А С КЛАВИАТУРЫ | <—[~«В^--» ЭТО ЗАПРОС ПРИ ВВОДЕ | <—[ А В СТЕПЕНИ 2 [ «—| ВЫВОД ПО ШАБЛОНУ | <—[ ВЫВОД СО ВСТАВКОЙ ЗАПЯТОЙ [ <—| ВОЗВРАТ | <—[ ВВОД ЗНАЧЕНИЯ А ] «—[ ВВОД ЗНАЧЕНИЯ В [ < —| РЕЗУЛЬТАТ СТРОКИ № 40 < —| РЕЗУЛЬТАТ СТРОКИ № 50 < —| РЕЗУЛЬТАТ СТРОКИ № 60 «—[ ОЖИДАНИЕ ВВОДА А [ ГИС 31 з ОПВРДТОР INDICT И ОПЕРАТОР PRINT USING
24. Программирование на БЭЙСИКе 97 10 'REIDA 1-10 3 20 READ А%,В ho PRINT " ; А% 40 PRINT 'И= “ В 50 60 DATA 12,-123 О г run А^.]2 В - 1 2 3 ГИС. 34. 4. ОПЕРАТОР READ И ОПЕРАТОР DATA быть отрицательным. Операторы между FOR и NEXT многократно повторяю- тся. Переменная изменяется в конце каждого цикла. X показывает начальное значение переменной, а У — конечное значение переменной. Z —приращение. Если Z не задано, то оно равно 1. (г) Операторы END и STOP. Оператор END заканчивает выполнение программы и возвращает систему в командный режим. Оператор STOP пре- рывает действие программы и показывает положение останова (номер стро- ки) , поэтому он очень удобен для отладки программы. (д) Оператор PRINT и оператор PRINT USING. Как показано на рисунке 24.2, в операторе PRINT можно использовать также арифметические выражения. При индикации результата бывают случаи недос- таточной наглядности. Если же использовать оператор PRINT USING, то,как это видно из рисунка 24.3, представляется возможность обеспечить редакти- рование. При отсутствии в операторе списка переменных осуществляется пропуск одной строки. (е) Оператор INPUT, оператор READ и оператор DATA. Как показано на рисунке 24.3, оператор INPUT вводит данные с клавиатуры. Оператор READ как это видно из рисунка 24.4, считывает данные, определенные оператором DATA.
98 IV.OcHOBbi программирования ВЫЧИСЛЕНИЕ ВЫРУЧКИ ОТ ПРОДАЖИ (ИСПОЛЬЗОВАНИЕ БЭЙСИКа) 100 ’REIDAI-02 (JRIAGE KEISAN ’ 110 120 13 0 14 0 150 1-6 0 17 0 18 0 GKEI 0 KENSU- 0 READ CODE.KU,KAKAKU.SURYO IF CODE - 0 GO TO 240 KIN = KAKAKU * SURYO IF KU - 1 THEN KIN --KIN GKE I - G KE I +. KIN IF KENSU - 0 . THEN PRINT: PRINT 19 0 PRINT* * URIAGE ITIRANHYO": PRINT:PRINT*CODE TANKA SURYO К IN GA KU " PRINT USING CODE 2 0 0 PRINT USING " itsssUKAKAKU SURY 0 , 2 10 PRINT USING 2 2 0 KENSU - KENSU + 1 23 0 GO TO 130 2 4 0 PRINT 2 5 0 PRINT USING* URIAGE GOKE I 2 6 0 2 7 0 ; GKEI PRINT PR I NT US I NG * DATA KENSU 2 8 0 2 9 0 #3 " ; KENSU END DATA 1301.0,100,10.1001.0,100.50 3 0 0 DATA 1002,0,250,40.1002.0,250,20 3 10 DATA 1003, 0, 050, 25, 1 0 03, 0, 0 5 0, 3 0 3 2 0 DATA 1001,1,100,15,1003,1.050.10 3 3 0 DATA 0 , 0 , 0, 0 РИС. 25'. 1. ПРОГРАММЫ
25. Вычисление выручки от продажи (использование БЭЙСИКа) 99 Программа примера 2 раздела III показана на рисунке 25.1. Входные данные такие же, как и в программах на ФОРТРАНе и КОБОЛе, и показаны на 290—330 строках рисунка 25.1. Результат работы программ также полностью идентичен результату работы программ на ФОРТРАНе и КОБОЛе, поэтому здесь он не рассматривается. ОПИСАНИЕ ПРОГРАММЫ (1) Строка 100: комментарий, заключенный в ' (апостроф). Помимо этого, используя оператор REM , можно записать следующим образом: 100 REM REIDAI = 02 URIAGE KEISAN (2) Строки 110—120 : в БЭЙСИКе при объявлении переменных им присваи- вается значение нуль, поэтому эти операторы могут быть опущены. (3) Строка 130: оператор READ последовательно присваивает переменным данные, определенные оператором DATA. Вначале последовательно присваи- ваются 1001 CODE, OKU и 100 KAKAKU (имя переменной TANKA (стои- мость единицы товара) обозначается KAKAKU (стоимость), потому что IANKA содержит имя функции TAN). (4) Строка 140: когда CODE равен нулю (окончание данных), осуществля- ется переход на строку №240. (5) Строка 160: когда KU=1, то это показывает непроданный товар, в связи 2 чем сумма денег становится отрицательной. OnepaTop’ELSEопущен, поэто- му, если KU не 1 (ложь), происходит переход на строку 170. (6) Строка 180: печать производится лишь в том случае, когда KENSU ста- новится 0, т. е. вначале печатается заголовок. PRINT: пропуск строки. Если использовать : (двоеточие), то можно записать несколько операторов в эдной строке. (7) Строка 190: редактирование CODE путем использования #. (8) Строка 200: вывод KAKAKU и SURYO в одинаковой форме. В ложно записывать пробелы и символы. И, наконец, при наличии запятой (,), ведется вывод в зонном формате (до 16-ти символов). (9) Строка 240: когда CODE равен нулю (окончание данных), печать осу- цествляется здесь. (10) Оператор END заканчивает работу программы и возвращает систему в сомандный режим. [11) Строки 290—330: данные, считываемые оператором READ строки 130. [12) Строка 330: данные, обеспечивающие выход по концу данных строки 40.
100 1\/.Основы программирования ЕБ ПРАКТИЧЕСКОЕ ПРИМЕНЕНИЕ БЭЙСИКа РИС. 26. 1. ОПЕРАТОР CONSOLE ТАБЛИЦА 26.1. ФУНКЦИОНАЛЬНЫЕ КОДЫ ФУНКЦИОНАЛЬНЫЕ коды ЧЕРНО-БЕЛЫЙ РЕЖИМ ЦВЕТНОЙ РЕЖИМ 0 НОРМАЛЬНЫЙ ЧЕРНЫЙ 1 СЕКРЕТНЫЙ ГОЛУБОЙ г МИГАНИЕ КРАСНЫЙ ъ СЕКРЕТНЫЙ ФИОЛЕТОВЫЙ 4 ОБРАТНЫЙ ЗЕЛЕНЫЙ 5 ОБРАТНО-СЕКРЕТНЫЙ ЦВЕТ ВОДЫ б ОБРАТНО-МИГАЮЩИЙ ЖЕЛТЫЙ 7 ОБРАТНО-СЕКРЕТНЫЙ БЕЛЫЙ
26. Практическое применение БЭЙСИКа 101 КОМАНДЫ УПРАВЛЕНИЯ ИЗОБРАЖЕНИЕМ (а) Оператор WIDTH. WIDTH [число символов в одной строке] [,число строк одного изображения]. Этот оператор задает число символов в строке, выводимых на экран, а также количество строк. Можно показать число символов 80, 72, 40 и 36 и число строк 20, 25. При этом в условиях цветного режима происходит умень- шение размера строк на один символ. Если задается 80, то выводятся 79 сим- волов. (б) Оператор CONSOLE [Начальная строка изображения на экране] [, длина изображения на эк- ране] [,выключатель, индуцирующий функциональные коды (ключи) ] [гра- фический выключатель] [,выключатель цветного/черно-белого изображения] Как показано на рисунке 26.1, область изображения на экране задается размером строки и количеством строк. Вне области изображения распола^- гается индикация функциональных кодов неподвижно/фиксированно. Если выключатель, управляющий отображением функциональных кодов, устанавливается на 0, то исчезает индикация функциональных кодов, но ин- дикация появляется в положении 1. Когда выключатель цветного/черно-белого изображений установлен на 1, поддерживается цветной режим, а при его установке на 0 поддерживается черно-белый режим. (в) Оператор COLOR COLOR [функциональные коды] [,код нулевых символов] [,графичес- кий выключатель] Как показано в таблице 26.1, существуют функциональные коды черно- белого и цветного режимов. Следовательно, для цветного вывода перед вы- полнением этого оператора необходимо с помощью оператора CONSOLE за- дать цветной режим. Код нулевых символов задает коды символов при очистке изображения. При нулевом положении (0) выводится пробел (обычное изображение). Графический выключатель в положении 1 устанавливает графический режим, а в положении 0 — символьный режим. Необходимо быть внима- тельным, потому что задание кода нулевых символов и графического вык- лючателя имеет смысл только тогда, когда после выполнения этого операто- ра очищается изображение. При графическом режиме на один символ приходятся две точки в про- дольном направлении и четыре точки в вертикальном направлении. Таким образом, 160 — это максимальное количество точек в продольном направле- нии, а 100 — максимальное количество точек в вертикальном направлении. При этом вывод в цвете ведется по символам и влияет предшествующее состояние, поэтому при изменении цветов необходимо соблюдать осторож- ность. (г) Оператор LINE Форма 1: используя LINE (Х,У) — (х,у), (символ) [функциональный код] [,В [F] ] ( символ), проводим линию от (Х,У) до (х, у). В это время, как показано на рисунке 26.2 (а), координаты положения — слева вверху (0,0). Функциональные коды, как это видно из таблицы 26.1, отличаются в зависимости от черно-белого и цветного режимов. Если в конце оператора LINE подставить В, то выводится прямоуголь- ник, который определяется диагональной линией, связывающей (Х,У) и
102 1\/.Основы программирования ТАБЛИЦА 26. 2. ПОДСЧЕТ ВЕЛИЧИНЫ МАССИВА В СЛУЧАЕ СИМВОЛОВ В СЛУЧАЕ ТОЧЕК (НЕОБХОДИМОЕ ЧИСЛО СИМВОЛОВ) /Ъ (НЕОБХОДИМОЕ ЧИСЛО ТОЧЕК) /8-f-2/b ПРИ ЭТОМ b 2 В СЛУЧАЕ ЦЕЛОЧИСЛЕННОГО МАССИВА 4 В СЛУЧАЕ ДЕЙСТВИТЕЛЬНОГО МАССИВА XI Х2 Р1 Р2 PSET Y1 PRESET Y2 AND OR QI XOR Q2 ”0T (б) УПРАВЛЕНИЕ ’ ИЗОБРАЖЕНИЕМ 2. КООРДИНАТЫ НА ИЗОБРАЖЕ- < УСЛОВИЕ OX X О Y У= (а) МЕТОД ВЫЧЕРЧИВАНИЯ КООРДИНАТ РИС. 26. НИИ И УПРАВЛЕНИЕ ИМ (х,у). Если же подставить BF, то и внутри прямоугольника будут(символы). Помимо этого X, х должны быть в области числа символов в строке, на- чиная с нулевого символа, а У, у должны находиться в области числа строк одного изображения. Форма 2/используя LINE (Х,У) — (х, у), (функция) [функциональный код ] [,В [F] ], выводят линии и прямоугольники. Количество горизонталь- ных точек может быть задано до числа символов *2—1 одной строки, а коли- чество вертикальных точек до числа строк * 4—1 одного изображения. При PSET функция вычерчивает линии, а при PRESET-стирает их. Функ- циональный код идентичен таковому формы 1. (д) Оператор GET Форма 1: GET (Х^У]) - (Х2, У2> [,имя массива] [,G] Как показано на рисунке 26.2 (6), символы, находящиеся, внутри четы- рехугольной формы, определяемой диагональю, соединяющей (Х-|,У-|) и (Х2, У2) < хранятся в заданном массиве. Если подставить G , то выключатели тоже будут храниться в массиве. Размер этого массива определяется в соответствии с таблицей 26.2. Форма 2: GET (Х-j, У]) — (Х2, У2> (имя массива) Символы и точки, находящиеся в области изображения, хранятся в мас- сиве, включая цвета и функции. Задание -Х1,У1 и Х2, У2 ведется в единицах символов, и необходимо, чтобы величина массива в два раза превышала величину при форме 1; чтобы индицировать этот массив, используется оператор PUT при А. (е) Оператор PUT при Форма 1: PUT (P^Q/j) — (Р2, Q2) • (имя массива), (условие) В форме 1 GET символы и точки, хранящиеся в памяти, выводятся в за-
26. Практическое применение БЭЙСИКа 103 данное положение. Положения выключателей при выполнении оператора GET, не имеющем G, являются функциональными кодами (могут опускать- ся), показанными в таблице 26.1, а при наличии G выводится состояние выключателей рисунка 26.2 (б). Если в это время задать PSET, то бит, имеющий значение 1 в массиве данных, становится 0 (индикация), а при задании PRESET происходит обратная операция. AND, OR, XOR —логические операции- над выключателями. Форма2: PUT А (Р*|, Qi) — (Р2, Q2). Оператор индицирует данные, включая цвет и функции, хранящиеся в массиве формы 2 оператора GET. (ж) Оператор PSET ( горизонтальное положение), (вертикальное положение), (функциональ- ный код). Этот оператор выводит точки в любое положение на экран. Функциональ- ный код, как показано в таблице 26.1, задает цвет в цветном режиме.
104 IV.Ochobbi программирования 024 ’40 О 6 12 (X) 60 4 5 6 - ЙЯ##---------- 24 РИС. 27. 2. ПРЯМОУГОЛЬНИК ИЗ ЛИНИЙ РИС. 27. 1. ПРЯМОУГОЛЬНИК из символов РИС. 27. 3. ДВИЖЕНИЕ РИСУНКА ИЗ СИМВОЛОВ. РИС. 27. 4. ДВИЖЕНИЕ РИСУНКА ИЗ ЛИНИЙ
27. Получение изображения и применение цветного дисплея 105 [1] ВЫВОД ПРЯМОУГОЛЬНИКА СИМВОЛАМИ На рисунке 27.1 показано, что, используя"#", выводим прямоугольник, определенный диагональю, соединяющей начальные координаты (0, 4) и (2, 5), и что по истечении небольшого промежутка времени происходит вы- черчивание прямоугольника большого охвата. На рисунке 27.5 показан при- мер программы. Если выполнять эту программу непосредственно после включения источника питания, то отпадет необходимость в 110 операторе CONSOLE и 120 операторе COLOR. Оператор 160 изменяет i с Гдо 300 и в промежутке ничего не выполняет. Следовательно, задерживает только время до вычерчивания следующего прямоугольника. [2] ВЫВОД ПРЯМОУГОЛЬНИКА линиями На рисунке 27.2 показан вывод прямоугольника линиями и его постепен- ное увеличение. На рисунке 27.6 показан пример программы. Прямоуголь- ник вычерчивается оператором 140. На операторе 150 после задержки време- ни оператор 160 гасит прямоугольник, поэтому на изображении получается один постепенно увеличивающийся прямоугольник. v ., - - ’ - 110 WIDTH 80,25:CONSOLE О,25 1,0 : г ' о J У > » s " г ОЮ : NEXT 1 . » Г • В 1 z ;.. . J X ; УСТАНОВКА ЧЕРНО-БЕЛОГО РЕЖИМА ИЗОБРАЖЕНИЯ. УСТАНОВКА НА РЕЖИМ СИМВОЛОВ ОЧИЩЕНИЕ ИЗОБРАЖЕНИЯ ПРЯМОУГОЛЬНИК ПОСТЕПЕННО УВЕЛИЧИВАЕТСЯ. ПРЯМОУГОЛЬНИК РИСУЕТСЯ СИМВОЛАМИ ЗАДАЕТСЯ ВРЕМЯ ОЖИДАНИЯ РИС. 27. 5. ПРОГРАММА (ВЫВОД ПРЯМОУГОЛЬНИКА СИМВОЛАМИ) ? ’ ? о , ,-ft : { 1 = ; • . - Т й t- - - • о В v з:: . Ел i + ; . 1» в ь s г т. о. в - - : УСТАНОВКА НА ЧЕРНО-БЕЛОЕ ИЗОБРАЖЕНИЕ. УСТАНОВКА НА ГРАФИЧЕСКИЙ РЕЖИМ. ПРЯМОУГОЛЬНИК -ПОСТЕПЕННО УВЕ ЛИЧИВАЕТСЯ. ПРЯМОУГОЛЬНИК РИСУЕТСЯ ЛИНИЯМИ. ЗАДАЕТСЯ ВРЕМЯ ОЖИДАНИЯ ПРЯМОУГОЛЬНИК СТИРАЕТСЯ ПОВТОРЕНИЕ РИС. 27. 6. ПРОГРАММА (ВЫВОД ПРЯМОУГОЛЬНИКА ЛИНИЯМИ)
106 IV.Основы программирования ' - - ' г “ , 1 . - -1 . . - • ; в' . . ' : 220 PRINT CHrW12) ' 230 GO ТО 160 ОБЛАСТЬ $ВОДА ИЗОБРАЖЕНИЯ УСТАНОВКА НА ЧЕРНО-БЕЛОЕ ИЗОБРАЖЕНИЕ РЕЖИМ СИМВОЛОВ РИСОВАНИЕ ДВИЖУЩЕГОСЯ ПРЯМОУГОЛЬНИКА ХРАНЕНИЕ ИЗОБРАЖЕНИЯ ПРЯМОУГОЛЬНИКА ПРЯМОУГОЛЬНИК' ПЕРЕМЕЩАЕТСЯ СЛЕВА НАПРАВО ПРЯМОУГОЛЬНИК ВЫВОДИТСЯ ВВЕРХУ ПРЯМОУГОЛЬНИК ВЫВОДИТСЯ ВНИЗУ ЗАДАЕТСЯ ВРЕМЯ ОЖИДАНИЯ СТИРАНИЕ ИЗОБРАЖЕНИЯ ПОВТОРЕНИЕ. РИС. 27. 7. ПРОГРАММА (ДВИЖЕНИЕ РИСУНКА ИЗ СИМВОЛОВ) ®ЙЯ i э 1 2 0 13 0 15 0 1Ш)? . - о 18 0 л 9 0 200 И® г з с IB® г с ШЯ1 - . FUT@ F о ri ^ттозоо F or J: ?г t = .A 00 ; WEXT I “ ‘ Й PUT© (Х + 7 . 70)—(Х+14, 74 ),A.PRESE> GO ТО 130 : ОБЛАСТЬ ВВОДА __ ИЗОБРАЖНИЯ УСТАНОВКА НА I ЧЕРНО-БЕЛОЕ |-Х._ ИЗОБРАЖЕНИЕ * ГРАФИЧЕСКИЙ ~Х_ РЕЖИМ РИСОВАНИЕ ДВИ- \ ЖУЩЕГО ПРЯМО УГОЛЬНИКА СЧИТЫВАНИЕ Я \ ИЗОБРАЖЕНИЯ Ч L_ ПРЯМОУГОЛЬНА — ПРЯМОУГОЛЬНИКА \ ПРОВЕДЕНИЕ \ ГОРИЗОНТАЛЬНОЙ ЛИНИИ \ ПРЯМОУГОЛЬНИК \ ПЕРЕМЕЩАЕТСЯ к L СЛЕВА НАПРАВО. \ ПРЯМОУГОЛЬНИК ч I ВЫВОДИТСЯ \L ВВЕРХУ \\_ ВРЕМЯ ОЖИДАНИЯ \ ПРЯМОУГОЛЬНИК ВЫВОДИТСЯ ВНИЗУ СТИРАЕТСЯ \ ПРЯМОУГОЛЬНИК ВВЕРХУ \ СТИРАЕТСЯ \ ПРЯМОУГОЛЬНИК L внизу ПОВТОРЕНИЕ РИС. 27. 8. ПРОГРАММА (ДВИЖЕНИЕ РИСУНКА ИЗ ЛИНИЙ)
27. Получение изображения и применение цветного дисплея 107 [3] ДВИЖЕНИЕ РИСУНКА ИЗ СИМВОЛОВ На рисунке 27.3 с помощью символа "•"показывается рисунок (смотри позицию (р). Аналогичным образом осуществляется последовательная ин- дикация ... направо @,®,©.При этом число символов в(1)и@одинаковое, но их расположение отличается. Работающая таким образом программа приведена на рисунке 27.7. Здесь оператор 140 выводит картину, соответствующуюфрисунка 27.3. Оператор 150 сохраняет эту картину в массиве А. Оператор. 170 выводит картиныСЗ), ©.. . рисунка 27.7, а оператор 190 — картины(2\©„. этого же рисунка. [4] ДВИЖЕНИЕ РИСУНКА ИЗ ЛИНИЙ На рисунке 27.4 картина хранится в массиве и вывод чередуется — инди- кация Ф,(2), их гашение, индикация их гашение... Работающая таким образом программа приведена на рисунке 27.8. "Здесь оператор 140 выводит хранимую картину, а оператор 150 сохра- няет ее. Оператор 190 индицирует©,®--, а оператор 210 иллюстрирует©,©... рисунка 27.4. Операторами 230 и 240 производится гашение индикации. [5] ЦВЕТНОЕ ИЗОБРАЖЕНИЕ На рисунке 27.9 приведена программа, которая, изменяя цвета, непре- рывно выводит символы. На рисунке 27.10 несколько концентричных дис- ков выводятся цветами и расположены произвольно в виде фейерверка. Строка 110 — это оператор GET @, принимающий массив хранения. Опе- ратор 130 гасит индикацию функциональных кодов (ключей) и устанавли- вает цветной режим. Оператор 140 окрашивает в желтый цвет базовый цвет УСТАНОВКА НА ЦВЕТНОЙ РЕЖИМ ЗУММЕР, ГАШЕНИЕ ИЗОБРАЖЕНИЯ ИЗМЕНЕНИЕ ЦВЕТА ЗАДАНИЕ ЦВЕТА ИЗМЕНЕНИЕ ВОСПРОИЗВОДЯЩИХ СИМВОЛОВ ИНДИКАЦИЯ СИМВОЛОВ НОВАЯ СТРОКА ЗАДАНИЕ ВРЕМЕНИ ОЖИДАНИЯ РИС 27.9. ПРОГРАММА (ИНДИЦИРУЕТ СИМВОЛЫ ЦВЕТАМИ)
108 IV. Основы программирования и устанавливает графический режим. В этой системе допускается изменение цвета одной строки только до 19 раз, выше этого превалирует базовый цвет. Операторы 160—220 индицируют концентричный диск при помощи цветных точек, а оператор 240 сохраняет его в массиве НА. Оператор 250 смещает положение фейерверка в направлении оси X. Опе- ратор 260 определяет положение оси У. Оператор 270 выводит узор фейер- верка. ОБЛАСТЬ ВВОДА МАССИВА УСТАНОВКА ЦВЕТНОГО РЕЖИМА ГРАФИЧЕСКИЙ РЕЖИМ ЧЕТЫРЕХСЛОЙНЫЙ КОНЦЕНТРИЧ- НЫЙ КРУГ ИНДИКАЦИЯ ОДНОГО КРУГА ЗНАЧЕНИЕ НА ОСИ X ЗНАЧЕНИЕ НА ОСИ У ЗАДАНИЕ ЦВЕТА ИНДИКАЦИЯ ТОЧЕК . КОНЕЦ ЦИКЛА ЗАПИСЬ В МАССИВ СМЕЩЕНИЕ В НАПРАВЛЕНИИ ОСИ X ПОЛОЖЕНИЕ ОСИ У ВЫВОД ВРЕМЯ ОЖИДАНИЯ КОНЕЦ ЦИКЛА ВРЕМЯ ОЖИДАНИЯ ВОЗВРАТ В ИСХОДНОЕ ПОЛОЖЕНИЕ ВОЗВРАТ В ИСХОДНОЕ ПОЛОЖЕНИЕ КОНЕЦ. РИС. 27. 10. ПРОГРАММА (УЗОР ФЕЙЕРВЕРКА)
V. СУЩНОСТЬ ОПЕРАЦИОННОЙ СИСТЕМЫ Операционная система известна уже давно. Ее внедрение началось одно- временно с появлением компьютеров, а совершенствование велось с учетом программного обеспечения и спроса пользователей. В первую очередь были разработаны программы лингвистической обработки (АССЕМБЛЕР, ФОРТРАН), которые значительно облегчили введение задач в ЭВМ. С помощью комплекса управля- ющих и обслуживающих программ соз- дана основа для операционной системы. Благодаря этому облегчилась работа операторов и повысилась их производи- тельность. В последние годы широкое распрос- транение получили мультипрограмми- рований, режим, обеспечивающий парал- лельную работу нескольких пользова- телей, и базы данных, которые намного улучшили использование вычислитель- ных машин. В данном разделе сперва в общих чертах описывается роль операционной системы, а затем даются сведения о ее структуре. Помимо этого даются при- меры трансляции программы и ее вы- полнения, а также рассматриваются кон- кретные примеры работы операционной системы. В заключение раздела дают- ся сведения о мониторах микро-ЭВМ.
110 Х/.Сущность операционной системы РИС. 28. 1. РОЛЬ ОПЕРАЦИОННОЙ СИСТЕМЫ
28. Роль операционной системы 111 [1] ПОВЫШЕНИЕ ПРОПУСКНОЙ СПОСОБНОСТИ Повышение пропускной способности — это количество зада^ ний, обрабатываемых системой в единицу времени (желательно максимальное количество задании). Для повышения пропускной способности прибегают к помощи непрерывной обработки заданий й мультипрограммированию. [2] СОКРАЩЕНИЕ ВРЕМЕНИ СРАБАТЫВАНИЯ (ВРЕМЯ ПРОГОНА) ГР» ’ ГТ с «пи* **» г- W, ... W — - - - — - - - — f |ГГ) — ичиит - MW, |Г — ___. Время прогона — это интервал времени от инициирования пользователем одной задачи в ЭВМ и до получения результата (же- лательно, чтобы время прогона было минимальным). Для сокращения времени срабатывания прибегают к помощи приори- тетного планирования заданий, работе в реальном масштабе времени под управлением операционной системы и разделению времени. Естественно, непрерывная обработка заданий и мультипрограммирование значительно способствуют сокращению неиспользованного времени. [3] УЛУЧШЕНИЕ КОЭФФИЦИЕНТА ГОТОВНОСТИ Коэффициент готовности — это мера способности системы вы- полнять свои функции при нахождении ее в рабочем Состоянии (же- лательно поддерживать высокий коэффициент готовности). Для улучшения коэффициента готовности необходимо не только преду- смотреть увеличение количества аппаратных средств (центральный процессор и внешние устройства) и мультипрограммирование, но и наряду с этим доби- ваться повышения способности к мультипрограммированию, рационального размещения данных на носителе и обеспечивать оценку ошибок, восстанав- ливаемость и т. д. Коэффициент готовности определяется при помощи следующего урав- нения: средняя наработка на отказ Коэффициент готовности =--------------------------г— средняя наработка на отказ + среднее время ремонта [4] НЕПРЕРЫВНАЯ ОБРАБОТКА ЗАДАНИЙ - УЛУЧШЕНИЕ ПРОЦЕССА ОБРАБОТКИ Термин "задание " — это единица работ, выполняемых ЭВМ, а выражение "непрерывная обработка заданий" означает введение непрерывной обработ- ки, сведение до минимума простоев ЭВМ и участие в работе человека (подго- товка и последующие операции), а также повышение производительности. [5] МУЛЬТИПРОГРАММИРОВАНИЕ - УСКОРЕНИЕ ПРОЦЕССА ОБРАБОТКИ Центральный процессор обрабатывает информацию за наносекунды
112 \/.Сущность операционной системы РИС. 28. 2. НЕПРЕРЫВНАЯ ОБРАБОТКА ЗАДАНИИ НЕПРЕРЫВНАЯ ОБРАБОТКА ОДИНОЧНОЕ » ЗАДАНИЯ МУЛЬТИПРОГРАМ МИРОВАНИЕ ЖРАЩЕНИЕ__ ВРЕМЕНИ СОКРАТИТЬ ВРЕМЯ ВТАКОЙ СТЕПЕНИ (10~9 секунд), а устройство ввода-вывода — за миллисекунды (10~3 се- кунд) . Следовательно, в условиях непрерывной обработки одиночного зада- ния, показанной на рисунке 28.3, при каждом вводе и выводе центральный процессор находится в режиме ожидания. Эффективное использование этого холостого времени достигается за счет мультипрограммирования. Если при работе устройства ввода-вывода в момент выполнения какой-нибудь программы центральный процессор нахо- дится в состоянии ожидания, сразу же происходит переход к следующей про- грамме, и как только заканчивается ввод или вырод предыдущей програм- мы, осуществляется возврат к управлению ею.
28. Роль операционной системы 113 Благодаря применению такого метода можно одновременно выполнять несколько программ и тем самым повышать производительность системы^ [6] ПРИОРИТЕТНОЕ ПЛАНИРОВАНИЕ ЗАДАНИЙ- СОКРАЩЕНИЕ ВРЕМЕНИ ПРОГОНА Имеются задания, при выполнении которых требуется, обеспечить быст- роту получения результатов, задания, которые можно выполнять до опреде- ленного времени, и задания, не требующие быстроты выполнения. Приори- тетное планирование заданий — это характеристика, которая определяет не только очередность выполнения заданий, но также обеспечивает ввод по при- оритетам отдельных заданий и обрабатывает их с помощью операционной системы (планировщик заданий), опираясь на приоритет. [7] РАБОТА В РЕАЛЬНОМ МАСШТАБЕ ВРЕМЕНИ ПОД УПРАВЛЕНИЕМ ОПЕРАЦИОННОЙ СИСТЕМЫ- СОКРАЩЕНИЕ ВРЕМЕНИ ОЖИДАНИЯ Режим "он-лайн" означает непосредственнре управление устройствами ввода-вывода и центральным процессором, находящимися на расстоянии. Как показано на рисунке 28.6, в системе, работающей в реальном масш- табе времени под управлением операционной системы, задания выполняются путем обмена информацией между терминалами и центральным процессором в диалоговом режиме. Новейшие операционные системы ЭВМ улучшают об- работку информации в реальном масштабе времени и одновременно с прог- рессом в схемах связи обеспечивают непосредственную передачу и прием информации не только на территории всей Японии, но также и за рубежом, способствуя при этом значительному сокращению времени ожидания. РИС. 28. 4. ОПЕРАЦИОННАЯ СИСТЕМА И ОПЕРАТОР
114 \/.Сущность операционной системы РИС. 28. 5. ПРИОРИТЕТНОЕ ПЛАНИРОВАНИЕ ЗАДАНИЙ РИС. 28. 6. СИСТЕМА, РАБОТАЮЩАЯ В РЕАЛЬНОМ МАСШТАБЕ ВРЕМЕНИ ПОД УПРАВЛЕНИЕМ ОПЕРАЦИОННОЙ СИСТЕМЫ ПРОИЗВЕДУ ОТЛАДКУ ПРОГРАММЫ ВНЕСУ ДАННЫЕ И ПРОИЗВЕДУ ВЫЧИС- ЛЕНИЯ ХОЧУ ПОПРОБОВАТЬ ИСПОЛЬЗОВАТЬ ТОЛЬКО ДЛЯ СЕБЯ ОДНО РЕЖИМ ДИАЛОГОВЫЙ. КОМПЬЮТЕР УДОВОЛЬСТВИЕ, ПОТОМУ что РИС. 28. 7. СИСТЕМА С РАЗДЕЛЕНИЕМ ВРЕМЕНИ
28. Роль операционной системы 115 [8] СИСТЕМА С РАЗДЕЛЕНИЕМ ВРЕМЕНИ- СОКРАЩЕНИЕ ВРЕМЕНИ ОЖИДАНИЯ Как показано на рисунке 28.7, система с разделением времени отличает- ся тем, что один компьютер может быть одновременно использован несколь- кими пользователями. Время, приходящееся на одного человека, составляет 0,02 секунды, поэтому, если компьютером пользуются 30 человек, оно бу- дет равным в среднем 0,6 секунды. Конечно, время, равное 0,6 секундам, ни- чего не значит для человека, однако даже 0,02 секунды — это время, вполне достаточное ЭВМ для выполнения одного задания. Следовательно, создается впечатление, что каждый пользователь сам по себе использует большую сис- тему. Пользователь может создавать программу в диалоговом режиме, вы- зывать требуемую программу и выполнять ее, а также осуществлять эазличную обработку информации. Помимо этого, благодаря приоритету пользователя и программ предс- тавляется возможность намного сократить время ожидания.
116 V.CymHOCTb опеоационной системы БЭЙСИК АССЕМБЛЕР ОБЪЕДИНЯЕТ! СРЕДСТВА ОБСЛУЖИВАНИЯ ПРОГРАММЫ ОБСЛУЖИВАЮЩАЯ ПРОГРАММА АЛГОЛ, КОМПИЛЯТОР КОМПИЛИРОВАНИЕ СИСТЕМЫ ПЛ/1, КОМПИЛЯТОР < ПРОГРАММА АНАЛИЗА4 ОШИБОК В ТЕХНИЧЕСКОМ ОБЕСПЕЧЕНИИ . УТИЛИТЫ РЕДАКТОР МЕЖПРОГРАММНЫХ СВЯЗЕЙ/ ЗАГРУЗЧИК ФОРТРАН, КОМПИЛЯТОР КОБОЛ, КОМПИЛЯТОР ПРОГРАММЫ ЛИНГВИСТИЧЕСКОЙ ОБРАБОТКИ УПРАВЛЯЮЩАЯ ПРОГРАММА its И ГЕНЕРАТОР ПРОГРАММ СОРТИРОВКИ -ОБЪЕДИНЕНИЯ йя УПОРЯДОЧИВАЕТ!^* О? $ РИС. 29. 1. СТРУКТУРА ОПЕРАЦИОННОЙ СИСТЕМЫ.
28. Роль операционной системы 117 [1] СТРУКТУРА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ Управляющая программа, как это показано на рисунке 29.1, осуществ- ляет контроль за всеми обрабатывающими программами, и ее структура при- ведена на рисунке 29.2. ПРОГРАММА- СУПЕРВИЗОР ЯВЛЯЕТСЯ «СЕРДЦЕМ» ОПЕРАЦИОННОЙ СИСТЕМЫ, ОСУЩЕСТВЛЯЕТ ОБРАБОТКУ ВСЕХ СИТУАЦИЙ В СИСТЕМЕ И ВЕДЕТ ВСЕ ОСНОВНОЕ ОБСЛУЖИВАНИЕ. УПРАВЛЕНИЕ ЗАДАНИЯМИ ОСУЩЕСТВЛЯЕТ НЕПРЕРЫВНУЮ ОБРАБОТКУ ЗАДА- НИЙ, МУЛЬТИПРОГРАММНУЮ ОБРАБОТКУ И ПРИО- РИТЕТНУЮ ОБРАБОТКУ. ОБЕСПЕЧИВАЕТ ПОВЫШЕ- НИЕ ПРОИЗВОДИТЕЛЬНОСТИ ОБРАБОТКИ И СОКРА- ЩЕНИЕ ВРЕМЕНИ ОЖИДАНИЯ. ПОМИМО ЭТОГО ЭФ - ФЕКТИВНО УПРАВЛЯЕТ ПЕРИФЕРИЙНЫМИ УСТРОЙ- СТВАМИ И УЛУЧШАЕТ КОЭФФИЦИЕНТ ГОТОВНОСТИ. УПРАВЛЕНИЕ ОПЕРАЦИЯМИ ОБЕСПЕЧИВАЕТ ИНДИКАЦИЮ, ЛЕГКО ПОНИМА- ЕМУЮ ОПЕРАТОРОМ, ПРИНИМАЕТ КОМАНДЫ ОПЕ- РАТОРА И ОСУЩЕСТВЛЯЕТ ЭФФЕКТИВНОЕ ИХ ВЫПОЛНЕНИЕ. УПРАВЛЕНИЕ ДАННЫМИ ПОМОГАЕТ ПОЛЬЗОВАТЕЛЯМ ЛЕГКО ИСПОЛЬЗОВАТЬ РАЗЛИЧНЫЕ ВХОДНЫЕ И ВЫХОДНЫЕ ФАЙЛЫ, А ТАКЖЕ ОРГАНИЗУЕТ ПОИСК, ЗАПОМИНАНИЕ ИЛИ ВЫВОД ДАННЫХ. УПРАВЛЕНИЕ ПРЕРЫВАНИЕМ ПРИ ОТКАЗЕ МАШИНЫ ЗАПИСЫВАЕТ ЕЕ СОСТОЯ- НИЕ, А ПРИ ВОЗНИКНОВЕНИИ ОШИБОК ОСУЩЕ- СТВЛЯЕТ НЕСКОЛЬКО ПРОБНЫХ ПОВТОРОВ СБОЙ- НОЙ ОПЕРАЦИИ. ИМЕЕТСЯ ТАКЖЕ СИСТЕМА, КОТОРАЯ ОБЕСПЕЧИВАЕТ КОНТРОЛЬ С ПОМОЩЬЮ ПРОГРАММЫ ОБНАРУЖЕНИЯ ОШИБОК. КОНТРОЛЬ ЗА ВСЕМИ ПАРАМЕТРАМИ, ИМЕЮЩИМИ ОТНОШЕНИЕ К КАНАЛАМ СВЯЗИ. УПРАВЛЕНИЕ СИСТЕМОЙ С РАЗДЕЛЕНИЕМ ВРЕМЕНИ. РИС. 29. 2. СТРУКТУРА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ
11g V-Сущность операционной системы [2] ПРОГРАММА ЛИНГВИСТИЧЕСКОЙ ОБРАБОТКИ Программа лингвистической обработки работает под контролем управ- ляющей программы, и за исключением алгоритмического языка БЭЙСИК, исходная программа транслируется в форму, позволяющую компьютеру вы- полнять программу, подготовленную человеком. Языки, соответствующие компиляторам КОБОЛа, ФОРТРАНа и АЛГО- Ла, оговорены в Национальном промышленном стандарте Японии, и бывают случаи, когда используются их расширенные варианты. На рисунке 29.3 перечислены программы лингвистической обработки и описаны отличительные особенности соответствующих им алгоритмических языков. ЯЗЫК, ОРИЕНТИРОВАННЫЙ НА РЕШЕНИЕ ЭКОНОМИЧЕСКИХ И КОММЕРЧЕСКИХ ЗАДАЧ. В НАСТОЯЩЕЕ ВРЕМЯ НАИБОЛЕЕ РАСПРО- СТРАНЕННЫЙ АЛГОРИТМИЧЕСКИЙ ЯЗЫК КОБОЛ • ФОРТАН УДОБЕН ДЛЯ ПРОГРАММИРОВАНИЯ ИНЖЕНЕР- НЫХ ЗАДАЧ И НАУЧНЫХ ИССЛЕДОВАНИЙ, СОКРАЩАЕТ ЗАПИСЬ МАТЕМАТИЧЕСКИХ ФОРМУЛ И РЕЗУЛЬТАТОВ ОБРАБОТКИ, ВВОДА И ВЫВОДА ПЛ,1 УНИВЕРСАЛЬНЫЙ ПРОБЛЕМНО-ОРИ- ЕНТИРОВАННЫЙ ЯЗЫК, СЛУЖАЩИЙ ДЛЯ РЕ ШЕНИЯ ШИРОКОГО КЛАССА НАУЧНО-ТЕХНИ- ЧЕСКИХ И ИНФОРМАЦИОННЫХ ЗАДАЧ. АЛГОЛ ИСПОЛЬЗУЕТСЯ В ОСНОВНОМ ПРИ РЕШЕНИИ НАУЧНО-ТЕХНИЧЕСКИХ ПРОБЛЕМ. ОТЛИЧАЕТСЯ ОТСУТСТВИЕМ РЯДА ФОРМАЛЬНЫХ ОГРАНИЧЕНИЙ, ПРИСУЩИХ ПОДОБНЫМ ЯЗЫКАМ. В ЯПОНИИ НЕ ПОЛУЧИЛ ШИРОКОГО РАСПРОСТРАНЕНИЯ. АССЕМБЛЕР ПРЕДНАЗНАЧЕН ДЛЯ АВТОМАТИЗАЦИИ ПРОЦЕССА ПРОГРАММИРОВАНИЯ НА УРОВНЕ МАШИННО-ОРИЕНТИРОВАННОГО ЯЗЫКА. ЭФФЕКТИВНО УПРАВЛЯЕТ РАБОТОЙ КОМПЬЮТЕРА. НЕДОСТАТОК ЭТОГО АЛГО- РИТМИЧЕСКОГО ЯЗЫКА В ТОМ, ЧТО ЗАПИСЬ ОТЛИЧАЕТСЯ В ЗАВИСИМОСТИ ОТ ТИПА ЭВМ БЭЙСИК ИМЕЕТ ИСКЛЮЧИТЕЛЬНО ПРОСТОЙ СИНТАКСИС И В ПОСЛЕДНИЕ ГОДЫ ШИРОКО ИСПОЛЬЗУЕТСЯ В МИКРО-ЭВМ; РИС. 29. 3. ПРОГРАММЫ ЛИНГВИСТИЧЕ- СКОЙ ОБРАБОТКИ И ОТЛИЧИТЕЛЬНЫЕ ОСО БЕННОСТИ АЛГОРИТМИЧЕСКИХ ЯЗЫКОВ
29. Структура операционной системы 119 [3] ОБСЛУЖИВАЮЩАЯ ПРОГРАММА Обслуживающая программа, как это показано на рисунке 29.1, представ- ляет собой часть операционной системы, поставляемой изготовителем. Она является вспомогательным средством для обеспечения стандартных проце- дур обслуживания, главным образом управления данными системы, и счита- ется помощником оператора и программиста. Общая характеристика такой программы дается на рисунке 29.4. Компилирование системы. Создание системы, совместимой с конкретны- ми условиями, имеющими место при внедрении системы, ее построении, а также в содержании обработки. Редактор межпрограммных связей/загрузчик. Разработка велась одновременно с прогрессом операционной системы, и предполагается, что в ближайшем будущем такая обрабатывающая программа будет еще более /добной для пользователя. Программа-утилита и системная утилита. Каждая в отдельности имеет не- большой объем работы, но тем не менее они удобны для пользователя. крмпилИ РОВАНИК СИСТЕМЫ / СО] ТИРОВКА- ОБЪЕДИНЕНИЕ СОЗДАНИЕ СИСТЕМЫ, СОВМЕСТИМОЙ СО СТРУКТУРОЙ ТЕХНИЧЕСКОГО ОБЕСПЕЧЕНИЯ И РАЗЛИЧ- НЫМИ ЗАПРОСАМИ ПОЛЬЗОВАТЕЛЯ ОБЕСПЕЧИВАЕТ РАЗДЕЛЕНИЕ ЭЛЕМЕНТОВ * НА ГРУППЫ ПО ОПРЕДЕЛЕННЫМ ПРИЗНАКАМ И ОБЪЕДИНЕНИЕ ИХ В НОВЫЙ НАБОР ДАННЫХ. НЕОБХОДИМО, ЧТОБЫ КЛЮЧИ ЗАДАВАЛИСЬ ПОЛЬЗОВАТЕЛЕМ. ОБЪЕДИНЯЕТ МНОЖЕСТВО ОТДЕЛЬНЫХ НЕЗАВИСИМО ОТКОМПИ- ЛИРОВАННЫХ ПРОГРАММНЫХ МОДУЛЕЙ В ОБЩУЮ ПРОГРАММУ. ЗАГРУЗЧИК-ОБСЛУ- ЖИВАЮЩАЯ ПРОГРАММА, ЗАГРУЖАЮЩАЯ ПРОГРАММЫ В ОПЕРАТИВНУЮ ПАМЯТЬ И РЕДАКТИРУЮЩАЯ СВЯЗИ ОРГАНИЗУЕТ ЗАПИСЬ ПОСЛЕДОВАТЕЛЬНЫХ ФАЙЛОВ, ВВЕДЕНИЕ ЗАПИСИ И ЕЕ ИСКЛЮЧЕНИЕ, ЗАМЕЩЕНИЕ, ВОССТАНОВЛЕНИЕ ФАЙЛОВ, А ТАКЖЕ ПЕЧАТЬ СОДЕРЖИМОГО ФАЙЛОВ И НАЧАЛЬНЫХ МЕТОК ИНИЦИИРУЕТ ТОМ, ОСУЩЕСТВЛЯЕТ ВОСПРОИЗВЕДЕНИЕ ФАЙЛОВ И ТОМА, ИЗМЕ- НЯЕТ НОСИТЕЛЬ ИНФОРМАЦИИ И ОБЕСПЕ- ЧИВАЕТ ПЕЧАТЬ. РИС. 29. 4. ОБСЛУЖИВАЮЩАЯ ПРОГРАММА.
120 \/.Сущность операционной системы ТРАНСЛЯЦИЯ И ВЫПОЛНЕНИЕ ПРОГРАММЫ НА ЯЗЫКЕ КОБОЛ ¥-FD^U08 = DA- КАРТА ДАННЫХ ИСХОДНАЯ ПРОГРАММА JEND КОНЕЦ 'ЗАДАНИЯ J НАЗНАЧЕНИЕ ПОСТРОЧНО-^ ПЕЧАТАЮЩЕГО УСТРОЙСТВА FD~U05 = * КОМПИЛИРОВАНИЕ И ВЫ- ПОЛНЕНИЕ ПРОГРАММЫ ' НА ЯЗЫКЕ КОБОЛ; ¥~CBLCG~ * РИС. 30.1. ТРАНСЛЯЦИЯ ПРОГРАММЫ I КОНЕЦ I, ДАННЫХ КОНЕЦ ПРОРАММЫ Компилирование и выполне- jhme программы на языке П ФОРТРАН ^НАЧАЛО ЗАДАНИЯ]. ^ОПРЕДЕЛЕНИЕ КОДА* ЗАДАНИЯ j И ВЫПОЛНЕНИЕ
30. Трансляция и выполнение программы 121 ммф ПОТОК УПРАВЛЕНИЯ Е~=£> ПОТОК ДАННЫХ РИС. 30. 2. ХОД ЗАДАНИЯ [1] ЗАДАНИЯ И ПОТОК ЗАДАНИЙ Рассмотрим работу операционной системы на примерах трансляции и вы- полнения программы. На рисунке 30.2 показана работа операционной систе- мы с потоком заданий. Задание — это единица выполняемых вычислительной системой работ, и его конкретный пример представлен на рисунке 30.1. означает начало задания, a ^•-’JEND — конец задания. [2] УПРАВЛЯЮЩИЕ КАРТЫ Карта, снабженная символом^, называется управляющей картой. Она счи- тывается управляющей программой. При поступлении карты ^‘-•FORTCLG* операционная система загружает программу лингвистической обработки с алгоритмического языка ФОРТРАН (компилятор), и после трансляции ис- ходной программы она выполняется. При мультипрограммировании проис- ходит параллельная обработка нескольких программ с приоритетом.
122 \/.Сущность операционной системы ТАБЛИЦА31.1. КЛЮЧЕВЫЕ КОМАНДЫ МИКРО-ЭВМ (ТК-80) кпмайпм ОПИСАНИЕ РАБОТЫ RESET ПЕРЕВОД ВСЕХ УПРАВЛЯЮЩИХ СРЕДСТВ В ИСХОДНОЕ СОСТОЯ- НИЕ. КЛЮЧ УСТАНАВЛИВАЕТСЯ В ПОЛОЖЕНИЕ ОЖИДАНИЯ ВВОДА ADRS SET , СОДЕРЖИМОЕ РЕГИСТРА ДАННЫХ ЗАНОСИТСЯ В РЕГИСТР АДРЕСА READ INCR ИЗМЕНЕНИЕ АДРЕСА В ВИДЕ ПРИРАЩЕНИЯ НА ЕДИНИЦУ И СЧИТЫВАНИЕ СОДЕРЖИМОГО ЭТОГО АДРЕСА READ DECR \ J УМЕНЬШЕНИЕ НА ЕДИНИЦУ СОДЕРЖИМОГО РЕГИСТРА АДРЕСА. СЧИТЫВАНИЕ СОДЕРЖИМОГО ЭТОГО АДРЕСА WRITE INCR ЗАПОМИНАНИЕ СОДЕРЖИМОГО РЕГИСТРА ДАННЫХ В АДРЕСЕ, СОДЕРЖАЩЕМСЯ В РЕГИСТРЕ АДРЕСА / > RUN ПУСК С АДРЕСА, СОДЕРЖАЩЕГОСЯ В РЕГИСТРЕ АДРЕСА / > RET ВОЗВРАТ ОСУЩЕСТВЛЯЕТСЯ К ОЧЕРЕДНОЙ ИНСТРУКЦИИ В ПРОГРАММЕ LOAD DATA ДАННЫЕ НА КАССЕТНОЙ МАГНИТНОЙ ЛЕНТЕ ЗАГРУЖАЮТСЯ В ПАМЯТЬ STORE DATA k _> ВЫВОД (НА КАССЕТНУЮ МАГНИТНУЮ ЛЕНТУ) ДАННЫХ, НАЧИНАЯ С СОДЕРЖИМОГО РЕГИСТРА АДРЕСА, КОНЧАЯ СОДЕРЖИМЫМ РЕГИСТРА ДАННЫХ
31. Монитор микро-ЭВМ 123 Выпускаемые в настоящее время микро-ЭВМ имеют только небольшие мониторы, поэтому они широко применяются либо как персональные, либо как домашние компьютеры, имеющие в большом количестве устройства ввода и вывода данных, а также простые для пользователя команды. [1] ПРИМЕР МИКРО-ЭВМ В таблице 31.1 перечислены ключевые команды микро-ЭВМ, показанной на рисунке 10.1. При нажатии на ключи обеспечивается индикация на мони- торе микро-ЭВМ, и для ведения обработки в соответствии с индикацией в постоянном запоминающем устройстве(0,75 килобайта), предусматривается программа. В этой микро-ЭВМ нет ни БЭЙСИКа, ни АССЕМБЛЕРа, поэтому програм- ма составляется на машинном языке. [2] ПРИМЕР ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА В таблице 31.2 перечислены команды БЭЙСИКа персонального компью- тера РС-8001, показанного на рисунке 10.2- В этой ЭВМ за основу взят алго- ритмический язык БЭЙСИК, и при включении источника питания индикация ведется до "ок" таблицы 31.1,.и ЭВМ переходит в режим ожидания ввода уровня БЭЙСИКа. Для передачи управления монитору рекомендуется вво- дить mon RET. Команды монитора перечислены в таблице 31.3. Помимо этого при использовании алгоритмического языка БЭЙСИК по- мимо режима программы, в которую включаются номера строк (косвенный режим), можно применять также прямой режим, как это показано на рисунке 31.2. В этом разделе мы не рассматриваем печатающее устройство и запоми- нающее устройство на магнитных, дисках, но тем не менее следует иметь в виду, что в персональном компьютере РС-8001 используется алгоритмичес- кий язык БЭЙСИК, поэтому монитор записан в постоянное запоминающее устройство с емкостью памяти 24 килобайта. РИС. 31.1. УРОВЕНЬ ЯЗЫКА БЭЙСИК И УРОВЕНЬ МОНИТОРА new ok pi = 3.14159 : г = 10 ok print 2* pi* г 62.8318 ok РИС. 31.2. ПРЯМОЙ РЕЖИМ
124 Х/.Сущность операционной системы ТАБЛИЦА 31.2. КОМАНДЫ (КОМПЬЮТЕР МОДЕЛИ РС-8001) • КОМАНДА • : : ДЕЙСТВИЕ’' AUTO АВТОМАТИЧЕСКАЯ НУМЕРАЦИЯ СТРОК. CLOAD ЗАГРУЗКА ПРОГРАММЫ С КАССЕТНОЙ МАГ- НИТНОЙ ЛЕНТЫ. CONT ПРОДОЛЖЕНИЕ ВЫПОЛНЕНИЯ ПРОГРАММЫ. CSAVE СОХРАНЕНИЕ ПРОГРАММЫ НА КАССЕТНОЙ МАГНИТНОЙ ЛЕНТЕ. DELETE ЗАБОЙ СТРОКИ. KEYLIST ИНДИКАЦИЯ СОДЕРЖИМОГО ФУНКЦИО- НАЛЬНЫХ КЛЮЧЕЙ. LIST ВЫВОД ЛИСТИНГА ПРОГРАММЫ. MON ПЕРЕХОД НА МОНИТОР. NEW ГАШЕНИЕ ПРОГРАММЫ. RENUM ИЗМЕНЕНИЕ НОМЕРА СТРОКИ. RUN ВЫПОЛНЕНИЕ ПРОГРАММЫ. ТАБЛИЦА 31.3. КОМАНДЫ МОНИТОРА (КОМПЬЮТЕР МОДЕЛИ РС-8001) КОМАНДА ДЕЙСТВИЕ S ЗАДАНИЕ АДРЕСА ПАМЯТИ; ИЗМЕНЕНИЕ СОДЕРЖИМОГО ЗАДАННОГО АДРЕСА. D ДИСПЛЕЙНАЯ ПАМЯТЬ; ИНДИКАЦИЯ СОДЕРЖИМОГО W ЗАДАННОГО АДРЕСА. ЛЕНТА ЗАПИСИ; ЗАПИСЬ СОДЕРЖИМОГО ПАМЯТИ НА L КАССЕТНУЮ МАГНИТНУЮ ЛЕНТУ LV ЗАГРУЗКА ЛЕНТЫ; ЗАГРУЗКА СОДЕРЖИМОГО КАССЕТНОЙ МАГНИТНОЙ ЛЕНТЫ. ПРОВЕРКА ЗАГРУЗКИ; СОПОСТАВЛЕНИЕ СОДЕРЖИМОГО G КАССЕТНОЙ МАГНИТНОЙ ЛЕНТЫ И ЗАПОМИНАЮЩЕГО ТВ тм УСТРОЙСТВА. ПЕРЕХОД; ПЕРЕХОД НА ЗАДАННЫЙ АДРЕС. ВОЗВРАТ К БЭЙСИКУ. ТЕСТ-ПАМЯТЬ; ПРОВЕРКА ПАМЯТИ.
VI. ОСНОВНЫЕ СХЕМЫ УПРАВЛЯЮЩИХ И АРИФМЕТИЧЕСКИХ УСТРОЙСТВ Основными узлами арифметического устройства являются сумматоры и регист- раторы. Управляющее устройство выдает различные сигналы, отпирает и запирает большое количество вентилей, а также управляет данными и подачей команд. Как правило, эти сумматоры, коди- рующие устройства, дешифраторы и вен- тили образуются логическими элементами AND, OR, NOT и другими. В данном разделе в первую очередь рассматривается работа этих логических элементов, а также создание объединяю- щих их логических схем. Описание схемы совпадения и полусумматоров ведется на основе таблицы истинности и наряду с этим приводятся рекомендации; по мето- дам упрощения схем. Далее дается информация, охватываю- щая запоминающие устройства на тригге- рах, регистры и счетчики, а Также закла- дываются основы для понимания принци- па действия обучающихся вычислительных машин, которые описываются в разделе VII.
126 VI. Основные схемы упраляющих и арифметических устройств вход А°— Во- ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ Z=A+B РИС. 32. 2. ЭЛЕМЕНТ OR (ИЛИ) РИС. 32. 3. ЛОГИЧЕСКИЙ ЭЛЕМЕНТ NOT (НЕ)
32. Логические элементы и таблицы истинности 127 [1] ЭЛЕМЕНТ AND Символы логического элемента AND (согласно военным техническим условиям) и логическое выражение показаны на рисунке 32.1 (а). Зависи- мость между входом и выходом этого элемента может рассматриваться в виде схемы, иллюстрируемой на рисунке 32.1 (б). Таблица 32.1 показывает, как строится выход относительно комбинации входов, и таблица (а) называется таблицей истинности. Из этой таблицы ста- новится очевидным отличие элемента AND в том, что в нем "выход обра- зуется только тогда, когда на обе входные клеммы поступает вход". Если показать это логическим выражением, мы получим Z=A V В. [2] ЭЛЕМЕНТ OR > Символы логического элемента OR и логическое выражение показаны на рисунке 32.2 (а). Зависимость между входом и выходом этого элемента может рассматриваться в виде схемы, иллюстрируемой на рисунке 32.2 (б). Таблица 32.2 — таблица истинности элемента OR. Отличительная особенность этого элемента в том, что "выход образуется в том случае, когда вход посту- пает более чем на одну вводную клемму". По таблице истинности логическое выражение записывается следующим или образом: Z=A+B. [3] ЭЛЕМЕНТ NOT Символы элемента NOT и логическое выражение показаны на рисунке 32.3, а таблица 32.3 — таблица истинности. Отличительная особенность этого элемента в том, что "его выход противоположен входу". 32. 1. ТАБЛИЦА ИСТИННОСТИ ТАБЛИЦА НАЛИЧИЕ ' НАПРЯЖЕНИЯ НА ВХОДЕ И ВЫХОДЕ ОБОЗНАЧАЕТСЯ «1», А ИХ ОТСУТ ' СТВИЕ « 0 » ЭЛЕМЕНТА AND ТАБЛИЦА 32. 2. ТАБЛИЦА ИСТИННОСТИ ЭЛЕМЕНТА OR ТАБЛИЦА 32. 3. ТАБЛИЦА ИСТИННОСТИ ЭЛЕМЕНТА NOT
128 VI. Основные схемы упраляющих и арифметических устройств РИС. 32. 4. ЭЛЕМЕНТ NAND (НЕ-И) ТАБЛИЦА 32. 4. ТАБЛИЦА ИСТИННОСТИ ЭЛЕМЕНТА NAND ТАБЛИЦА 32. 5. ТАБЛИЦА ИСТИННОСТИ ЭЛЕМЕНТА NOR РИС. 32. 5. ЭЛЕМЕНТ NOR (НЕ-ИЛИ) РИС. 32. 6. КВАРТИРА OR НЕПОДГОТОВЛЕНА [4] ЭЛЕМЕНТ NAND И ЭЛЕМЕНТ NOR Символы и логическое выражение элемента NAND показаны на рисунке 32.4, а таблица 32.4 — это таблица его истинности. Символы и логическое вы- ражение элемента NOR даны на рисунке 32.5, а таблица 32.5 является табли- цей его истинности. [5] ЛОГИЧЕСКИЕ СХЕМЫ Схема AND и схема NOT могут быть реализованы на диодах и транзисто- рах. Пример их реализации иллюстируется на рисунке 32.7.
32. Логические элементы и таблицы истинности 129 ( Ь ) СХЕМА OR ВХОД А -О—VW выход ЕСЛИ ВХОД ВЫСОКИЙ ТРАНЗИСТОР БУДЕТ ПРОВОДИТЬ ТОК, ПОЭТОМУ выход ДОЛЖЕН БЫТЬ НИЗКИМ ТРАНЗИСТОГ ( С)СХЕМА NOT РИС. 32. 7. ЛОГИЧЕСКИЕ СХЕМЫ
130 VI. Основные схемы упраляющих и арифметических устройств ТАБЛИЦА 33.1. ТАБЛИЦА ИСТИННОСТИ ПОЛУСУММАТОРА. А В S( СУММА) С (ПЕРЕНОС) 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 S =| А Е| 4-| А в| РИС. 33. 1. ПОЛУПРОВОДНИКОВЫЙ СЧЕТЧИК. ТАБЛИЦА 33. 2. ТАБЛИЦА ИСТИННОСТИ ПОЛНОГО СУММАТОРА. Ап В„ сп_, sn сп 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0 1 1 1 РИС. 33. 2. ПОЛНЫЙ СУММАТОР. бел [1] ПРОЕКТИРОВАНИЕ СХЕМ СОВПАДЕНИЯ И АЛГЕБРА ЛОГИКИ Рассмотрим проектирование схем совпадения, иллюстрируемых в табли- це 33.3, с помощью логических элементов. Логическое выражение
33. Проектирование различных схем и суммирующие устройства 131 >А-В+АВ, и,если использовать теорему де Моргана, показанную в*таблице 3.4, его можно преобразовать в ^=А+В+А'В. Как показано на рисунке 33.3, то позволяет уменьшить используемое количество логических элементов. Таким образом, алгебра логики играет важную роль в проектировании огических схем. Приведем несколько примеров упрощения логических вы- ажений. П р и м е р 1 Z= А-В+АВС = А(В+В-С) из уравнения (8) =А(В+С) из уравнения (10) =А-В+АС из уравнения (8) П р и м е р 2 Z = (А+ВГ (А+В) = А+В-В из уравнения (8) = А+0 из уравнения (4) =А из уравнения (1) ТАБЛИЦА 33. 3. ТАБЛИЦА ИСТИННОСТИ СХЕМЫ СОВПАДЕНИЯ Z=A-B + A-B А+В + А-В ЭТО И ЕСТЬ ТЕОРЕМА ДЕ МОРГАНА! (6) РИС. 33. 3. СХЕМА СОВПАДЕНИЯ
132 VI. Основные схемы /праляющих и арифметических устройств ТАБЛИЦА 33. 4. УРАВНЕНИЯ АЛГЕБРЫ ЛОГИКИ (2) j ( 3 ) А "—А (4) 05) I - § V.6 ) J I ' ’ s СВЯЗЫВАНИЕ ( 7 ) . 1 ]РАСПРЕДЕ-( 8 ) ) JЛЕНИЕ > ПЕРЕСТАНОВКА В ~ В A J ( В4-С ) = ( А + В ) ВС » , (В-С) — (А-В)-С) А ‘ ( В + С )=А • В +А • С А + В-С=(.А + А А А ( А + В ) = А А + А • В = А-ЬВ А ' ( А + В ) = А 7ППв = а • в А~в> 7’4-3 ПОГЛОЩЕНИЕ (9) (1-0) ТЕОРЕМА ДЕ МОРГАНА 5 (11) 9 [2] ТАБЛИЦА ИСТИННОСТИ ПОЛУСУММАТОРА И ЕГО СХЕМА Рассмотрим суммирование двух двоичных чисел. Как показано в таблице 33.1, имеются четыре комбинации,-и результат суммирования (выход S) становится 1 только при комбинации (0/1) и (1,0). Если записать это в виде логического выражения, мы получим S=AB+A-TJ. Помимо этого перенос имеет место только при (1,1), поэтому С=А-В. Реализация этих выражений в схемах иллюстрируется на рисунке 33.1. Пос- кольку возможен подсчет лишь одного разряда двоичного числа, устройство принято называть полусумматором. [3] ПОЛНЫЙ СУММАТОР В таблице 33.2 показана истинность полного сумматора с учетом выпол- нения переноса. Эта схема, как видно из рисунка 33.2, может строиться путем использования двух полусумматоров. Фактически для суммирования любого двоичного числа используется, как это показано на рисунке 33.4, схема задержки ‘(d), запоминается пере- нос и суммируется вместе со следующим разрядом.
33. Проектирование различных схем и суммирующие устройства 133 0 10 1 Р1У (ПЕРЕНОС) 10 0 0 РИС. 33. 4. ПОСЛЕДОВАТЕЛЬНОЕ СУММИРОВАНИЕ. [4] ИСПОЛЬЗОВАНИЕ ДОПОЛНЯЮЩЕГО ПРИБОРА ДЛЯ ВЫЧИТАНИЯ При осуществлении вычитания используется дополняющий прибор, кото- рый показан на рисунке 33.5. Берется дополняющее число вычитаемого числа и прибавляется к уменьшаемому числу. Конструкция дополняющего устрой- ства упрощается при использовании логических элементов, поэтому редко прибегают к помощи вычитающего устройства. Следует отметить, что чаще всего применяются два вспомогательных числа (см. таблицу 3 1) РИС. 33. 5. АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО.
134 VI. Основные схемы упраляющих и арифметических устройств РИС. 34. 1. ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА ТРИГГЕРАХ РИС. 34. 2. СХЕМА «И» РИС. 34. 3. КОДИРУЮЩЕЕ УСТРОЙСТВО И ДЕШИФРАТОР
34. Различные принципиальные схемы 135 ТАБЛИЦА 34. 1. ТАБЛИЦЫ ИСТИННОСТИ ЗАПОМИНАЮЩЕГО УСТРОЙСТВА НА ТРИГГЕРАХ ' ЗДЕСЬ КАК RS. ТАК И JK ИДЕНТИЧНЫ! ( 6 ) JK-FF ВХОД выход J к Q Q 0 0 Qo Qo 0 1 0 1 1 0 1 0 1 1 Qo Qo [1] ЗАПОМИНАЮЩЕЕ УСТРОЙСТВО НА ТРИГГЕРАХ Запоминающее устройство на триггерах — это электронная логическая схема, запоминающая один бит. Оно может быть различных типов (см. рису- нок 34.1 (б), и его схема показана на рисунке 34.1 (а). При поступлении входного импульса на сторону отключения лампы она загорается, а лампа на другой стороне гаснет. Это положение сохраняется до поступления следую- щего входного импульса. Отмечается лишь небольшое различие между RS—FF и JK—FF. Истинность таких запоминающих устройств показана в таб- лице 34.1. Необходимо отметить, что по мере поступления входного импульса про- исходит инверсия состояния (выхода) запоминающего устройства на тригге- рах Т—FF. [2] СХЕМА AND Как показано на рисунке 34.2(a), схема совпадения характеризуется тем,что импульсА проходит только при поступлении входного импульсанаС. При использовании схемы совпадения представляется возможность управ- лять как входом, так и выходом, и это видно из рисунка 34.2 (б). Управляю- щее устройство компьютера синхронно подает сигналы на несколько триг- геров и управляет передачей данных и команд. [3] КОДИРУЮЩЕЕ УСТРОЙСТВО И ДЕШИФРАТОР Как показано на рисунке 34.3, в компьютере обрабатываются двоич- ные числа и внутренние коды, а на входе и выходе используются лег- кие для понимания человеком деся- тичные числа и символы, и соответ- ствующее преобразование' этих па- раметров осуществляется коди- рующим устройством и дешифра- тором. На рисунке 34.4 приведена схе- ма, преобразующая восьмеричные числа в двоичные числа. РИС. 34. 4. СХЕМА КОДИРУЮЩЕГО УСТРОЙСТВА
136 VI. Основные схемы упраляющих и арифметических устройств РИС. 34. 5. СХЕМА ДЕШИФРАТОРА РИС 34. £ СДВИГ ОДНОГО БИТА
34. Различные принципиальные схемы 137 [4] СХЕМА ДЕШИФРАТОРА На рисунке 34.5 представлена схема дешифратора, преобразующая три разряда двоичных чисел в восьмеричные числа. Дешифратор, как это еще раз подчеркивается в разделе VII, используется также при считывании команд и выборке адреса памяти. [5] РЕГИСТР По существу регистр представляет собой накопитель на нескольких после- довательно установленных триггерах и может хранить данные, поэтому, как показано на рисунке 33.4, играет важную роль в арифметическом устройстве. На рисунке 34.6 поясняется принцип сдвига вправо данных на один бит с помощью сдвигающего импульса. На рисунке 34.7 показана передача содер- жимого счетчика адреса программы (PC) в адрес памяти (МА) при помощи чередующихся пяти сдвигающих импульсов. Счетчик адреса программы не изменяет своего состояния после передачи в адрес памяти. Как показано на рисунке 34.8, в регистрах могут осуществляться всевоз- можные перемещения. СДВИГАЮЩИЙ СДВИГАЮЩИЙ ИМПУЛЬС РИС. 34. 7. ПЕРЕДАЧА С ПОМОЩЬЮ СДВИГА ИМПУЛЬС (СДВИГ ВПРАВО) ЦИКЛИЧЕСКИЙ НАЧАЛЬНОЕ ЗНАЧЕНИЕ ПЕРВЫЙ СДВИГ ^ВТОРОЙ СДВИГ ТРЕТИЙ СДВИГ ЧЕТВЕРТЫЙ СДВИГ ПЯТЫЙ сдвиг АРИФМЕТИЧЕСКИЙ ЛОГИЧЕСКИЙ РИС. 34. 8. ВИДЫ СДВИГА
138 VI. Основные схемы упраляющих и арифметических устройств [6] СЧЕТЧИКИ При поступлении в триггер входного импульса происходит инверсия сос- тояния Т— FF, поэтому, если установить три таких Т—FF последовательно, можно будет получить'Показанный на рисунке 34.9 восьмеричный счетчик, истинность которого дана в таблице 34.2. Временная диаграмма восьмерично- го счетчика иллюстрируется на .рисунке 34. На этом рисунке Qo при пос- туплении импульса Т инверсирует свое состояние, Oi инверсируется по 2, а О2 инверсируется по 4, так что при восьмом импульсе происходит возврат в начальное состояние. Если использовать четыре Т—FF, будет получен шестнадцатеричный счет- чик, а при добавлении в него логических элементов можно будет получить десятичный счетчик. РИС. 34. 9. ВОСЬМЕРИЧНЫЙ СЧЕТЧИК ТАБЛИЦА 34. 2. ТАБЛИЦА ИСТИННОСТИ ВОСЬМЕРИЧНОГО СЧЕТЧИКА вход выход т q2 Q1 Qo Ti 0 0 1 Т2 0 1 0 Тз 0 1 1 Тч 1 0 0 т5 1 0 1 Тб 1 1 0 т7 1 1 1 Т8 0 0 0 т9 0 0 1 - _ - - 6 _П_П—П—П__П—п 4 5 ВЫХОД Qo- ОБРАТИТЕ ВНИМАНИЕ НА ЭТУ СТРЕЛКУ ПУСКОВОЙ 123 ИМПУЛЬС - - - ВЫХОД Qi-1 ВЫХОД Q 2 ' РИС. 34.10. ВРЕМЕННАЯ ДИАГРАММА ВОСЬМЕРИЧНОГО СЧЕТЧИКА ДЕВЯТЫЙ ИМПУЛЬС НАХОДИТСЯ В ТАКОМ ЖЕ ПОЛОЖЕНИИ, ЧТО И ПЕРВЫЙ ИМПУЛЬС .ВЫСОКИЙ, ^—низкий
VII. РАЗРАБОТКА КОМПЬЮТЕРОВ При использовании компьютеров можно пользоваться различными алго- ритмическими языками, причем посте- пенно разрабатываются и новые языки. Но тем не менее только машинный язык (система команд и данных), присущий компьютеру, позволяет лучше понять его аппаратную часть и работу (эксплу- атацию) . Программы на языке высокого уровня, а также языке АССЕМБЛЕР с помощью операционной системы и мони- тора находят практическое применение только после обязательного перевода их на машинный язык. В данном разделе даются сведения о том, как использовать моделирующий компьютер (имитатор), какие применять основные команды и как использовать команды и данные. Это позволит понять великолепие (простоту) компьютера и еще больше полюбить его.
140 VII. Разработка компьютеров СТРУКТУРА МОДЕЛИРУЮЩЕГО КОМПЬЮТЕРА И ПРИНЦИП ЕГО ДЕЙСТВИЯ РС( СЧЕТЧИК КОМАНД ) 1 (5 БИТОВ) РЕГИСТР IR( КОМАНДЫ ) (8 БИТОВ) ОР ОПЕРАЦИОННАЯ ДО АДРЕСНАЯ ЧАСТЬ! ЧАСТЬ ДЕШЙФРАТОР| (УСТРОЙСТВО для СЧИТЫВАНИЯ кОМАНД) , РЕГИСТР АДРЕСА , 1 ПАМЯТИ | (5 БИТОВ) МВ( РЕГИСТР БУФЕРА ПАМЯТИ АДРЕС 7 0 1 2 (8 БИТОВ) 31 ОДНО СЛОВО 8 БИТОВ -.2 СЛОВА АРИФМЕТИЧЕСКОЕ УСТРОЙСТВО . НАКАПЛИВАЮЩИЙ мСС СУММАТОР) . । ВОСЕМЬ БИТОВ) « ( О-ЦЕЛОЕ ЧИСЛО 1—ОТРИЦАТЕЛЬ- НОЕ ЧИСЛО РИС. 35. 1. СТРУКТУРА МОДЕЛИРУЮЩЕГО КОМПЬЮТЕРА. 0 12 3 4 5 6 7 4J___.__.__,__,__л__1_I ПОЛОЖИТЕЛЬНОЕ ЧИСЛО Г- - ОТРИЦАТЕЛЬНОЕ ЧИСЛО ... 0 1 2 3 4 5 6 7 (ТРИ БИТА) (ПЯТЬ БИТОВ) . 1 i i _ i ЗНАК ОПЕРАЦИОННАЯ АДРЕСНАЯ ЧАСТЬ ЧАСТЬ РИС. 35. 2. ПРЕДСТАВЛЕНИЕ ЧИСЕЛ. РИС. 35. 3. СТРУКТУРА КОМАНДЫ.
35. Структура моделирующего компьютера и принцип его действия 141 [1] СТРУКТУРА МОДЕЛИРУЮЩЕГО КОМПЬЮТЕРА Чтобы понять структуру и действие компьютера, построим его модель, иллюстрируемую на рисунке 35.1. (1) Память (запоминающее устройство емкостью 32 слова, 1 слово — 8 битов). (2) Числовые значения, как это показано на рисунке 35.2, представляют- ся двоичными числами 8 битов, а отрицательные числа — в виде дополняю- щих чисел. (3) В качестве метода управления берется последовательное выполнение команд, а команда, как это видно из рисунка 35.3, одноадресная. Программа хранится в памяти, а установка пускового адреса программы и индикация начала ее выполнения ведутся всецело вручную. Такой метод хранения программы в памяти и выполнение программы путем последовательной выборки команд называется методом загруженной программы, и именно благодаря этому в настоящее время расширена область применения ЭВМ. (4) Регистры распределяются следующим образом: ф PC (счетчик команд).........................................5 битов ® МА (регистр адреса памяти)..................................5 битов (3) МВ (регистр буфера памяти)................................8 битов (3) IR (регистр команды) .................................... 8 битов (В) АСС (накапливающий сумматор)..............................8 битов [2] ПРИНЦИП ДЕЙСТВИЯ МОДЕЛИРУЮЩЕГО КОМПЬЮТЕРА Принцип действия моделирующего компьютера основан на цикле вы- борки команды, как это показано на рисунке 35.4, либо на цикле выполне- ния команды, как это видно из рисунка 35.5. (а) Цикл выборки команды. Если допустить, что счетчик команд содер- жит PC (0011'1) 2, то происходит следующее: @ содержимое PC передается в МА; (б) в содержимое PC добавляется 1; ® содержимое адреса, на который указывает МА, передается в МВ; © содержимое МВ передается в IR; @ операционная часть ОР считывается дешифратором (кодом команды является (101) 2, поэтому ОР дешифруется как команда JUN) Таким образом, при выборке одной команды содержимое счетчика ко- манд PC автоматически увеличивается на единицу, поэтому представляется возможность осуществлять последовательную выборку команд,- т. е. обес- печивается последовательное выполнение команд. (б) Цикл выполнения команды В соответствии с командой [W] (см. рисунок 35.5) в управляющее уст- ройство поступает команда и выполняется, поскольку команда безусловного перехода, содержимое адресной части AD передаются в счетчик команд. Как показано в примере рисунка 35.5, при выполнении команды JUN адресная часть регистра команды IR [01001] 2 передается в счетчик команд и в цикле выборки следующей команды происходит выборка именно той коман- ды адреса (01001) 2, которую показывает счетчик команд. В связи с этим не имеет места последовательное управление и происходит "перескок" коман- ды JUN в адрес адресной части AD.
142 VII. Разработка компьютеров РИС. 35. 4. ЦИКЛ ВЫБОРКИ КОМАНДЫ РИС. 35. 5. ЦИКЛ ВЫПОЛНЕНИЯ КОМАНДЫ РИС. 35. 6. КОМАНДА JUN БЕЗЖАЛОСТНА
35. Структура моделирующего компьютера и принцип его действия 143 Таким образом, команда JUN используется для перескакивания через несколько команд и представляет собой команду, которая определяет адрес следующей команды.
-WIMTOirrд дт- .«л» __КОМАНДЫ И ПРОГРАММА ТАБЛИЦА 36. 1. КОДЫ ОПЕРАЦИИ И ИХ ДЕЙСТВИЕ КОДЫ ’GUEI'A- Ш1й МНЕМОНИЧЕ- СКОЕ ОБОЗНАЧЕНИ ДЕЙСТВИЕ г . ООО НЕТ ОСТАНОВ 001 LDA ЗАНЕСЕНИЕ СОДЕРЖИМОГО АДРЕСА АДРЕСНОЙ ЧАСТИ АО В НАКАПЛИВАЮЩИЙ СУММАТОР АСС 010 STA ЗАНЕСЕНИЕ. СОДЕРЖИМОГО НАКАПЛИВАЮЩЕГО СУММАТОРА АСС В АДРЕС АДРЕСНОЙ ЧАСТИ АО 0 1 1 ADD СУММИРОВАНИЕ СОДЕРЖИМОГО НАКАПЛИВАЮЩЕГО СУММАТОРА АСС, СОДЕРЖИМОГО АДРЕСА АДРЕСНОЙ ЧАСТИ АО И ХРАНЕНИЕ ПОЛУЧЕННОГО РЕЗУЛЬТАТА В НА КА Н/1 ИВАЮЩЕМ СУММАТОРЕ АСС 100 SUB ВЫЧИТАНИЕ (’ОДЕРЖИМОГО АДРЕСА АДРЕСНОЙ ЧАСТИ АО ИЗ СОДЕРЖИМОГО НАКАПЛИВАЮЩЕГО СУММАТОРА И ХРАНЕНИЕ ПОЛУЧЕННОГО РЕЗУЛЬТАТА В НАКАПЛИВАЮЩЕМ СУММАТОРЕ АСС 1 01 JUN ПРОИСХОДИТ БЕЗУСЛОВНЫЙ ПЕРЕХОД В АДРЕС АДРЕСНОЙ ЧАСТИ АО 1 1 0 JUM ПРИ ОТРИЦАТЕЛЬНОМ СОДЕРЖИМОМ НАКАПЛИВАЮЩЕГО (’УММА ТОРА АСС ПРОИСХОДИТ ПЕРЕСКОК (ПРИ ПОЛОЖИТЕЛЬНОМ СОДЕРЖИМОМ ВЫПОЛНЯЕТСЯ СЛЕДУЮЩАЯ КОМАНДА) ТАБЛИЦА 36. 2. ПРОГРАММА Ф Ф 05 Ф , О © АДРЕС МНЕМО- МАШИННАЯ И4 (ШЕСТНА- НИКА КОМАНДА Д Р м ь-л КОМАНДЫ ДЦАТИ- (ДВОИЧНОЕ) ♦Лм ХчЧ s н с. АССЕМБЛЕР» ржньда & в КГ ORG 0 00 0 00000000 00 S DS 1 01 3 00000011 03 A DC 3 02 5 00000101 05 В DC 5 03 LDA 1 00100001 21 Т LDA А 04 SUB 2 1 00000 1 0 82 SUB В 05 JUM в 11001000 Св JUM М 06 LDA ' 2 00100010 22 LDA В 07 JUN 9 10101001 A9 JUN ST 08 lDa 1 00100001 21 М LDA А 09 ST А 0 01000000 40 ST S'! A S 0 А НВТ 00000000 00 Н LT END Т
36. Команды и программа 145 [1] КОМАНДЫ И ИХ ДЕЙСТВИЕ Как показано на рисунке 36.1, команды состоят из трехбитной опера- ционной части и пятибитной адресной части. Из таблицы 36.1 видно, что коды операций ймеют семь разновидностей^ для легкости их запоминания исполь- зуется их мнемоническое представление. Адресная часть AD может задавать адреса от (00) 1б до (1F) 1 б. Такие команды могут непосредственно считы- ваться и выполняться компьютером, поэтому их называют машинными командами. Распространенные команды загрузки и выгрузки, а также команды (ADD, SUB) действуют опираясь на накапливающий сумматор. Типичный пример роли накапливающего сумматора дается на рисунке 36.3. МОЖНО ИСПОЛЬЗОВАТЬ 8 КОМАНД, 23= -8 0 123 4 5 67 ОПЕРАЦИЙ 1 АДРЕСА L. i. .. х i । । i,, , ,,। ОПЕРАЦИОННАЯ АДРЕСНАЯ ЧАСТЬ (S ,5БИТОВ) РИС. 36. 1. СТРУКТУРА КОМАНДЫ ПАМЯТЬ МОЖНО АДРЕСОВАТЬ ДО 25 = 32 СЛОВ РИС. 36. 2. БЛОК-СХЕМА
146 Vll. Разработка компьютеров ( 6 ) КОМАНДА ВЫГРУЗКИ РИС. 36. 3. РОЛЬ НАКАПЛИВАЮЩЕГО СУММАТОРА
36. Команды и программа 147 [2] ПРОГРАММИРОВАНИЕ Блок-схема на рисунке 36:2 показывает последовательность действий, в результате которых данные, записанные в адресах 1 и.2, анализируются и меньшее из них записывается в нулевой адрес. Согласно этой блок-схеме пример программы, составленной с помощью мнемоники, показан в таблице 36.2 позицией 1. Позиция 2 показывает прев- ращение во внутренний машинный код (программа, которая может выпол- няться компьютером), а позицией 3 показан внутренний машинный код ъ шестнадцатеричном.виде. (а) Программирование на машинном языке. При использовании ком- пьютера, не имеющего операционной, системы или снабженного только исключительно слабым монитором, программа должна записываться в вось- меричном или шестнадцатеричном коде (это касается, в частности, микро- ЭВМ) . Естественно, программирование ведется с помощью мнемоники и после тщательной отладки на столе программа переводится во внутренний машинный код.При этом следует учитывать адреса команд и данных,что весь- ма обременительно и приводит к возникновению ошибок. (б) Язык АССЕМБЛЕР. Все неудобства машинного языка устраняютря АССЕМБЛЕРОМ, который аналогично компиляторам ФОРТРАНа и КОБО/1а подготавливает программу на машинном языке путем замены символичес- ких имен операций на машинные коды, а символических адресов — на абсо- лютные или относительные адреса. В таблице 36.2 позицией 4 показан пример записи программы с исполь- зованием псевдокоманд, перечисленных в таблице 36.3. Латинскими буква- ми S, Т, М обозначены метки, применение которых позволяет осуществлять программирование, не принимая во внимание абсолютные адреса. Программирование на языке АССЕМБЛЕР имеет то достоинство, что программа получается более эффективная и высокоскоростная, чем на язы- ках ФОРТРАН и КОБОЛ, но нужен программист высокой квалификации, вот почему язык АССЕМБЛЕР используют в специфических областях. ТАБЛИЦА 36. 3. ПСЕВДОКОМАНДЫ КОДЫ ОПЕРАЦИЙ ОПЕРАНДЫ ОПИСАНИЕ ORG П ЗАДАНИЕ АДРЕСА НАЧАЛА ПРОГРАММЫ, п — ДЕСЯТИЧНОЕ ЧИСЛО DS П п — ДЕСЯТИЧНОЕ ЧИСЛО. РЕЗЕРВИРОВАНИЕ ОБЛАСТИ ДЛЯ n-го ЧИСЛА. DC П п — ДЕСЯТИЧНОЕ ЧИСЛО. РАЗМЕЩЕНИЕ КОНСТАНТЫ. END 1 КОНЕЦ ПРОГРАММЫ. 1 — ПУСКОВОЙ АДРЕС ПРОГРАММЫ.
148 Vll. Разработка компьютеров 37 ПРОГОН ПРОГРАММЫ ТАБЛИЦА 37.1. РЕЗУЛЬТАТ ПРОГОНА ПРОГРАММЫ ОПЕРАЦИИ PC (ШЕСТ- НАДЦАТЕ- РИЧНЫЙ) МА(ШЕ- СТНАД- ЦАТЕ- РИЧНЫ1 МВ( ШЕ- СТ НАД- ЦАТЕ - 5ЦРИЧШ IR (ШЕ- СТНАД- ЦАТЕ — >1Й)РИЧЕ КОДЫ ОПЕ- РАЦИЙ (ЫЙ) ACC (ДЕСЯ- ТИЧ- НЫЙ) ПАМЯТЬ (АДРЕС) 0 1 2 НАЧАЛЬНАЯ УСТАНОВКА 03 00 00 00 0 0 3 5 ВЫБОРКА ® ВЫПОЛНЕНИЕ 03 +1—*04 it 03 01 21 03 21 и LDA II 3 II II II II и п ВЫБОРКА ® ВЫПОЛНЕНИЕ 04+1—05 и 04 02 82 05 82 и SUB II -2 II II II II и и ВЫБОРКА ® ВЫПОЛНЕНИЕ 05 +1—06 08 05 и С8 и С8 и JUM и и II II II II и и ВЫБОРКА ВЫПОЛНЕНИЕ 08+1—09 п 08 01 21 03 21 и LDA и 3 II II II II и и ВЫБОРКА ® ВЫПОЛНЕНИЕ 09 +1—ОА и 09 00 40 03 40 и STA II II II 3 II II и и ВЫБОРКА ® ВЫПОЛНЕНИЕ ОА+1—ОВ и ОА и 00 и 00 II HLT II it II II II II и и PC : СЧЕТЧИК КОМАНД, МА : РЕГИСТР АДРЕСА ПАМЯТИ, МВ : РЕГИСТР БУФЕРА ПАМЯТИ, IR : РЕГИСТР КОМАНДЫ, АСС : НАКАПЛИВАЮЩИЙ СУММАТОР. [1] ДЕЙСТВИЕ ОТДЕЛЬНЫХ КОМАНД Рисунок 37^1 поясняет выполнение команды LDA в третьем адресе таб- лицы 36.2. Результат приведен вфтаблицы 37.1. На рисунке 37.2 показано выполнение команды SUB в четвертом адресе, а результат иллюстрируется в ©таблицы 37.1. И, наконец, на рисунке 37.3 поясняется команда JUM пятого адреса, выполнение которой показано позицией (3)в таблице 37.1.
37. Прогон программы 149 [2] ПРОГОН ПРОГРАММЫ Из таблицы 37.1 можно легко понять, как в зависимости от выпол- нения программы изменяется содержимое отдельных регистров и памяти. Эта таблица была подготовлена вручную, однако в операционной системе такая работа выполняется следующим устройством, которое применяется для отладки программы. РИС. 37. 1. ВЫПОЛНЕНИЕ КОМАНДЫ I.DA
150 VII. Разработка компьютеров рс[ IR ' | 1 00. 000 10 | I 0 0 10 1 |- ° 0 1 -° ?] НАЯ ЧАСТЬ OP Д ЕШИФ PATOP [ |: - - gj] ®' sub _______j ‘ A D АДРЕСНАЯ ЧАСТЬ I О О О 1 О I МА| О О 1 О О I I н । ПАМЯТЬ |f МВ__________ —Ч 1 0 0 0 0 0 1 о"}—— Q) I 00000101 I 3 02 04 1 0 0 0 О 0 10 00000101 ыТ s I к I < I И I- s 1 'Л __________m; АСС|о; 0 0 0 0 0 1 1^ I 1 1 1 1111 0 I РИС. 37. 2. ВЫПОЛНЕНИЕ КОМАНДЫ SUB | 1 1 О 0 1 0 0 0 | ДЕШИФ- I--1--l _л PATOP I-----IV ® JUM MB________ —11001000 ~|- © I [7t|—| минус ли? | ACC | I I 1 1 1 1 1 o| (-2)10 I РИС. 37. 3. ВЫПОЛНЕНИЕ КОМАНДЫ JUM
VIII. УПРАВЛЕНИЕ С ПОМОЩЬЮ МИКРО ЭВМ За последние годы в микро-ЭВМ предусматривается большое количество устройств ввода-вывода и значительно повысилась их универсальность, причем, даже одна микро-ЭВМ, используемая в самых различных изделиях, проявляет исключительно высокую активность в местах, находящихся вне поля зрения человека. Все чаще и чаще микро-ЭВМ вторгаются в бытовые электроприбо- ры (холодильники, электрические плитки, электрические стиральные машины и т. д.), автомобили (представление информации, обеспечивающей экономич- ность и безопасность их эксплуатации) и различные управляющие устройства. Нет никакого сомнения в том, что в будущем их совершенствование продолжится. В данном разделе ставится задача дать фундаментальные сведения об управлении с помощью микро-ЭВМ, в которой при- менен интерфейс 8255, имеющий три входных и выходных канала, а также несколько управляющих схем. В качестве примера описывается структура имитатора лифта и поясняется метод использования с таким имитатором простых входных и выходных команд. И в заключение частич- но показана программа такого модели- рующего устройства.
152 VIII. Управление с помощью микро-ЭВМ 38 РАЗЛИЧНЫЕ ИНТЕРФЕЙСЫ CPU ЦЕНТРАЛЬ- НЫЙ ПРОЦЕССОР 8080А АДРЕСНАЯ ШИНА (ТК-80) ИНТЕРФЕЙСЫ ШИНА ДАННЫХ УПРАВЛЯЮЩИЙ СИГНАЛ РИС. 38. 1. ИНТЕРФЕЙС ВХОДНОЙ КАНАЛ МОДУЛЬ ВВОДА- ВЫВОДА 8255 ВЫХОДНОЙ КАНАЛ РИС. 38. 2. СХЕМА РЕЛЕ
38. Различные интерфейсы 153 Интерфейс находится между центральным процессором и устройствами ввода-вывода и осуществляет преобразование их сигналов, а также их регу- лирование. Большая часть микро-ЭВМ нового поколения оснащается интер- фейсом, используемым с различными устройствами ввода-вывода. На рисун- ке 38.1 показано соединение интерфейса 8255 с центральным процессором и различными управляющими схемами. [1] ОБЩИЕ СВЕДЕНИЯ ОБ ИНТЕРФЕЙСЕ 8255 Интерфейс 8255 представляет собой программируемый интерфейс с режимами работы 0, 1 и 2. В данном разделе используется наиболее типич- ный из них режим 0. Как показано на рисунке 38.3, интерфейс 8255 разбивается на каналы А, С (высокое), С (низкое) и В, вход и выход которых может задаваться прог- раммой. В интерфейсе ТК-80 с самого начала программа-монитор устанавли- вает каналы А и В на вход, а канал С — на выход. Помимо этого каналу А присваивается номер 0, каналу В — номер 1 и каналу С — номер 2. У'Щ 38.3. КАНАЛЫ ВВОДА-ВЫ ВОДА РИС. 38. 4. РЕШАЮЩАЯ СХЕМА ВВОДА-ВЫВОДА [2] РЕШАЮЩАЯ СХЕМА ВВОДА-ВЫВОДА Как показано на рисунке 38.4, при отключении выключателя S на вход- ной канал подается напряжение величиной 5В, а при включении выключателя S напряжение становится нулевым. Если считывать это командой IN, то клемма входа 0В станет 0, а клемма 5В будет 1.Выход задает регистру А тре- буемую комбинацию двоичных разрядов, и это осуществляется с помощью команды OUT. Выход клеммы, задавшей 0 регистру А, становится низким, и загорается светоизлучающий диод. На рисунке 38.5 показан случай использования триггера. При нажатии на S1 загорается светоизлучающий диод и вход становится 0, а при нажатии на $2 вход становится 1.
154 VIII. Управление с помощью микоо-ЭВМ РИС. 38.5. ВХОДНАЯ ЗАПОМИНАЮЩАЯ СХЕМА [3] СХЕМА РЕЛЕ Входной канал на рисунке 38.2 управляется отдельными сенсорами путем использования реле, поэтому при использовании реле выходной канал может приводить в действие другие схемы. На рисунке 38.6 показана схема повышения и понижения напряжения электродвигателей переменного тока, используемых с лифтом. Благодаря применению реле можно легко и просто приводить в действие электрические схемы, использующие совершенно оазличные источники питания. РИС. 38. 6. СХЕМА УПРАВЛЕНИЯ ЛИФТОМ [4] ПРОСТАЯ СХЕМА ЦИФРО-АНАЛОГОВОГО ПРЕОБРАЗОВАТЕЛЯ На рисунке 38.7 иллюстрируется схема преобразования цифровой инфор- мации выходного канала в аналоговый сигнал. Благодаря соответствующему выбору величин сопротивлений Ro— R7 определяется напряжение, когда на клеммы РСО— РС7 действует низкий .уровень сигнала. Следовательно, путем их комбинирования на выходных клеммах можно получать равномерно рас- пределенные напряжения.
38. Различные интерфейсы 155 РИС7 38. 7. ПРОСТАЯ СХЕМА ЦИФРО- АНАЛОГОВОГО ПРЕОБРАЗОВАНИЯ
156 VIII. Управление с помощью микро-ЭВМ СТРУКТУРА ИМИТАТОРА ЛИФТА РИС. 39. 1. СИСТЕМА МОДЕЛИРОВАНИЯ ЛИФТА C3D( S3D) C1U( S1U) C2U( S2U) C2D( S2D) , „ ВЫКЛЮЧАТЕЛИ ВЫЗОВА S3D—S1U ; КАЖДОГО ЭТАЖА C3D — C1U ; СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ПРЕД- НАЗНАЧЕННЫЕ ДЛЯ ИНДИКАЦИИ ВЫЗОВА КАЖДОГО ЭТАЖА. S3 G — S1G; НАХОДЯЩИЕСЯ В КЛЕТКЕ ВЫКЛЮ- ЧАТЕЛИ ПРЕДШЕСТВУЮЩЕЙ ИНДИ- КАЦИИ. G3-G1; СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ИС- ПОЛЬЗУЕМЫЕ ДЛЯ ПРЕДШЕСТВУ- ЮЩЕЙ ИНДИКАЦИИ. F3-F1, Р22~СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ИС- ПОЛЬЗУЕМЫЕ ДЛЯ ИНДИКАЦИИ ПОЛОЖЕНИЯ КЛЕТКИ. W3-W1; СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ПОКАЗЫВАЮЩИЕ ЭТАЖИ ОСТАНОВА В КЛЕТИ. © КНОПОЧНЫЕ ВЫКЛЮЧАТЕЛИ СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ 1©| СЕМИСЕГМЕНТНЫЕ СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ ПРИМЕРНО 170 ММ ИНТЕГРАЛЬНЫЕ СХЕМЫ, ТРАНЗИСТОРЫ, РЕЗИСТОРЫ ( а ) УЗЕЛ ВЫКЛЮЧАТЕЛЕЙ И ИНДИКАЦИИ ( б ) УЗЕЛ УПРАВЛЕНИЯ РИС. 39. 2. УСТРОЙСТВО МОДЕЛИРОВАНИЯ ЛИФТА
39. Структура имитатора лифта 157 ВЫКЛЮЧАТЕЛИ КЛЕМЫ СБРОСА ВЫХОДНЫЕ КЛЕМЫ S3D R3D C3D S2D R2D C2D S2U R2U C2U S1U R1U C1U ( а ) ВЫКЛЮЧАТЕЛИ ВЫЗОВА КАЖДОГО ЭТАЖА, КЛЕММЫ СБРОСА, ВЫХОДНЫЕ КЛЕММЫ. ВЫКЛЮЧАТЕЛИ КЛЕМЫ СБРОСА ДИОДЫ- ИНДИКАТОРЫ S3G R3G G3 S2G R2G G2 S1G R1G G1 ( к ) НАХОДЯЩИЕСЯ В КЛЕТИ ВЫКЛЮЧАТЕЛИ ПРЕДШЕСТВУЮЩЕЙ ИНДИКАЦИИ, КЛЕММЫ СБРОСА И ДИОДЫ-ИНДИКАТОРЫ. СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ( с } ПОКАЗЫВАЮЩИЕ ПОЛОЖЕНИЕ НА КАЖДОМ ЭТАЖЕ. 'F22 F21 F12 к F11 СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ( d ) ПОКАЗЫВАЮЩИЕ ПОЛОЖЕНИЕ МЕЖДУ ЭТАЖАМИ. . ч СВЕТОИЗЛУЧАЮЩИЕ ДИОДЫ, ПОКАЗЫВАЮЩИЕ ( е ) ЭТАЖИ ОСТАНОВА В КЛЕТИ. РИС. 39. 3. СХЕМЫ ИМИТАТОРА ЛИФТА [1] УСТРОЙСТВО МОДЕЛИРОВАНИЯ ЛИФТА На рисунке 39.1 показан общий вид системы моделирования лифта. Ис- пользуется микро-ЭВМ модели ТК-80 и устройство действует автоматически. Само устройство моделирования лифта иллюстрируется на рисунке 39.2. В нем вместо приведения в действие клети положение этой клети показы- вается светоизлучающими диодами, которые загораются и* гаснут (например, перемещение клети с первого этажа на второй обусловливает загорание све-
158 VIII. Управление с помощью микро-ЭВМ тоизлучающих диодов F11z F12, F2 в течение определенного времени, при загорании одного светодиода другой отключается). Кнопочные выключатели (S3G—S1G), предназначенные для индикации предшествующего положения в клети, должны быть в одной группе, но тем не. менее они установлены тремя параллельными группами, чтобы обеспечить нажатие на них на каждом этаже. W3, w2, W1 индицируют цифры 3, 2, 1 и показывают, что клеть останав- ливается на этих этажах и ее двери открываются (например, при движении с первого этажа на второй W1 гаснет, по истечении двух секунд гаснет FL и за- горается F11. [2] СООТВЕТСТВИЕ СХЕМЫ СОЕДИНЕНИЙ И ВХОДНЫХ ВЫХОДНЫХ КАНАЛОВ Как показано на рисунке 39.3, все выключатели выполнены в виде кно- пок, и для запоминания их состояния используются триггеры (их сброс осуществляется при помощи программы). При большом значении тока светоизлучающих диодов используются транзисторы. Соответствие входных-выходных каналов каждой клемме показано на рисунке 39.4. А; А.-. А-. А., Аз а2 А> А о G3 G2 G1 PW C3D C2U C2D C1U в7 Въ Вь В., Вз в-> Bi Во R2U R1U R1G W1 F2 F1 F12 F11 с- с.-_ с5 С., Сз Сз С: Со R3D R3G R2D R2G W3 W2 F3 F22 F21 1411.39.1. РАСПРЕДЕЛЕНИЕ ВХОДНЫХ И ВЫХОДНЫХ КАНАЛОВ
40. Простая программа ввода-вывода 159 40 ПРОСТАЯ ПРОГРАММА ВВОДА-ВЫВОДА Пример!. Используя имитатор лифта, после загорания в течение одной секунды W2, погасим его, затем включим W3 и погасим его по истечении двух секунд, после чего повторим эти операции. Подготовим ппогоамму. ; REIDA1-1 6N/0FF 01 F LI i.0 81F0 © 3EF7 REI 1 MVI A OF7W W? SET © 0302 OUT 2 W3; RESET © ЗЕ01 MVI А» 1 IS WAIT © С 0 АА8; C/aLL WAIT © 3EE.F М VI A»0EfH • W2 RESET О 0 302 OUT 2 W3 SET © ЗЕ02 MVI Ал 2 2S WAIT Q С0АА8 1 CALL WAIT чу С, J 1 U'0 X J Г! г ♦ Kt 1 1 • END РИС. 40.1. ПРОГРАММА ШЕСТНАДЦАТЕРИЧНАЯ ИНДИКАЦИЯ ТАБЛИЦА. 40.1. КОМБИНАЦИЯ ВЫХОДНЫХ ДВОИЧНЫХ РАЗРЯДОВ c7 Сб Cs C4 c3 C7 Ci Co /. ПРИМЕ- ЧАНИЕ W3 W2 1 1 1 1 0 1 1 1 F7 ЗАГОРА- ЮТСЯ W2 1 1 1 0 1 1 1 1 EF ЗАГОРА- ЮТСЯ W3
160 VIII. Управление с помощью микро-ЭВМ Вместо блок-схемы на рисунке 40;2 показана диаграмма HIPO, а про- грамма, подготовленная согласно этой диаграмме, иллюстрируется на рисун- ке 40.1. Для включения и выключения 2 и 3 используется комбинация выходных двоичных разрядов, приведенная в таблице 40.1. ДИАГРАММА ID: l.t) ОПИСАНИЕ. ЗАЖИГАНИЕ ЗАДАННЫХ ВХОД СВЕТОИЗЛУЧАЮЩИХ ДИОДОВ (ВХОД И ВЫХОД) ПРОЦЕСС 1. УСТАНОВКА W2, СПРОС W3<E7> 2. ОДНОСЕКУНДНОЕ ОЖИДАНИЕ З.СБРОС W2,УСТАНОВКА W3 <EF> 4.ДВУХСЕКУНДНОЕ ОЖИДАНИЕ ВЫХОД РИС. 40. 2. ДИАГРАММА HIPO [1] РЕШЕНИЕ ПРИМЕРА 1 Строится диаграмма HIPO, приведенная на рисунке 40.2. Для обеспече- ния односекундного ожидания используется подпрограмма WAIT. Эта под- программа в течение нескольких секунд ничего не делает с содержимым ре- гистра А (фактически она повторно выполняет несколько команд). [2] ОПИСАНИЕ ПРОГРАММЫ (ПРИМЕР 1) Запись программы осуществляется на машинно-ориентированном языке и, как показано на рисунке 40.1, после записи на языке АССЕМБЛЕРа, она компилируется вручную (превращается в машинные коды человеком). ф (F7) 16 вводится непосредственно в регистр А. Как показано в таблице 40.1, (F7) 16 представляет собой код, зажигающий W2. (2) Содержимое регистра А выводится на канал С (второй адрес). С по- мощьюфифзагорается только W2. (3) В регистр А вводится 1. Ф Переход к подпрограмме, называемой WAIT. Здесь с помощью (3)и© осуществляется односекундное ожидание (W2 горит в течение одной секун- ды). ©ФЗагорается только W3. Двухсекундное ожидание. ®(£) Переход. Осуществляется повторением программы.
40. Простая программа ввода-вывода 161 Пример 2. Подготовьте программу, при использовании которой в момент нажатия на выключатель S1G имитатора лифта загорается W1, при нажатии на S2G загорается W2 и при нажатии S3G загорается W3. При этом горение W1 должно быть двухсекундным, W2 — трехсе- кундным, W3 — четырехсекундным. ДИАГРАММА 1 D : 1.0 вход ОПИСАНИЕ. ЗАЖИГАНИЕ ЗАДАННЫХ СВЕТОИЗЛУЧАЮЩИХ ДИОДОВ (ВХОД И ВЫХОД) ПРОЦЕСС ВЫХОД 1. КАНАЛ А УСТАНАВЛИВАЕТСЯ НА ВХОД, А КАНАЛЫ ВИС — НА ВЫХОД 2. ПОВТОРЯЕТСЯ ДО ПОЯВЛЕНИЯ ИНДИ- КАЦИИ СВЕТОИЗЛУЧАЮЩЕГО ДИОДА 1) УСТАНОВКА F1 < ВЫВЕДЕНИЕ FB> 2) ВХОД КАНАЛА А 3) ПРОВЕРКА НАЛИЧИЯ ЗАДАНИЯ 3. ОДНОСЕКУНДНОЕ ОЖИДАНИЕ. 4. ЗАДАНО ЛИ G1 ? (20). 1) ДА W1 ГОРИТ В ТЕЧЕНИЕ ДВУХ СЕКУНД <DB> СБРОС RIG, W1 <3F, FF> 2) НЕТ 5. ЗАДАНО ЛИ G2? <40 > а) ДА W2 ГОРИТ В ТЕЧЕНИЕ ТРЕХ СЕКУНД СБРОС R2G, W2 <9F, FF> 6) НЕТ 6. ЗАДАНО ЛИ G3 <80 > а) ДА W3 ГОРИТ В ТЕЧЕНИЕ ЧЕТЫРЕХ СЕКУНД <EF> СБРОС R3G, W3 < 7F, FF > б) НЕТ РИС. 40.3. ДИАГРАММА HIPO На рисунке 40.3 иллюстрируется диаграмма HJPO, а на рисунке 40Л по- казана программа. Кроме того, на рисунке 40.5 приведены комбинации вход- ных и выходных двоичных разрядов.
162 VIII. Управление с помощью микро-ЭВМ • ; REIDA!-2 INPUT/OUTPUT 8210 ЗЕ90 RE 12 MVI A. 09OH ; SET I/O PORT 03FB бит OFBH ; A: INPUT : B.C: OUTPUT 8214 3EFB IN MVI A.OFBH ; SET F2 0301 OUT 1 ОВОО IN 0 ; INPUT EEFF XRI OFFH : INVERSE 5F MOV E,A СА1482 JZ IN ЗЕ 01 • MVI A, 1 С0АА81 CALL WAIT 8 225 7В » MOV A>E Е62 0 ANI 020H ; sgi ? CA3F82 JZ LW2 ; no 3EDB MVI AtODBH ; YES SET Wl D301 OUT 1 ; в PORT ЗЕ 02 MVI A.2 ; 2S WAIT CD.AA81 CALL WAIT 3E3F MVI A.03FH : RESET 0301 OUT 1 3EFF MVI A»OFFH « D301 OUT 1 С31482 JMP IN 823F 7 В LW2 MOV A>E Е640 ANI 04 OH ; SG2 ? СА5982 JZ LW3 ; NO 3EF7 MVI A,0F7H : YES SET W2 0302 OUT 2 : c port ЗЕ 03 MVI A.3 ; 3S wait С0АА81 CALL WAIT 3E9F MVI A*09FH : RESET 0302 OUT 2 3EFF MVI A<OFFH 0302 OUT 2 C3JL482 JMP IN 8259 7В L.W3 MOV A.E Е680 ANI D80H ; SG3 ? СА1482 JZ IN .'.S' NO 3EEF MVI A.OEFH S YES SET W3
40. Простая г/рограмма ввода-вывода 163 D302 OUT 2 ЗЕ 04 mvi A .4 ; 4S WAIT CDAA81 CALL WAIT 3E7F MV! A.07 FH RESET 0302 OUT 2 3EFF MVI A OFFH D302 OUT 2 С31482 JMP IN _2 . ’-4^ >4- _— ; END РИС. 40. 4. ПРОГРАММА ШЕСТНАДЦАТЕРИЧНАЯ ИНДИКАЦИЯ A? Аб a5 a4 Аз A2 Ai Ao ПРИМЕЧАНИЯ G3 G2 G1 PW C3D C2U C2D C1U 0 0 1 0 0 О 0 0 20 НАЛИЧИЕ G1 0 1 0 0 0 О 0 0 40 НАЛИЧИЕ G2 1 0 0 0 0 0 0 0 80 НАЛИЧИЕ G3 ШЕСТНАДЦАТЕРИЧНАЯ • ИНДИКАЦИЯ в7 в6 Вэ в4 Вз в2 Bi Во / . ПРИМЕЧАНИЯ R2U R1U R1G W1 F2 F1 F12 F11 1 1 1 1 1 0 1 1 FB ЗАГОРАЕТСЯ F1 1 1 0 1 1 0 1 1 DB ЗАГОРАЕТСЯ W1.F1 0 0 1 1 1 1 1 1 3F СБРОС ВХОДА 1 1 1 1 1 1 1 1 FF ШЕСТНАДЦАТЕРИЧНАЯ ИНДИКАЦИЯ с7 Сб с5 с4 Сз с2 Ci Со ПРИМЕЧАНИЯ R3D R3G R2D R2G W3 W2 F3 F22 F21 1 1 1 1 0 1 1 1 F7 ЗАГОРАЕТСЯ W2 1 0 0 1 1 1 1 1 9F СБРОС ВХОДА 1 1 1 1 1 1 1 1 . FF 1 1 1 0 1 1 1 1 EF ЗАГОРАЕТСЯ W3 0 1 1 1 1 1. 1 : 1 7F СБРОС ВХОДА РИС. 40. 5. КОМБИНАЦИИ ВХОДНЫХ И ВЫХОДНЫХ ДВОИЧНЫХ РАЗРЯДОВ
164 VIII. Управление с помощью микро-ЭВМ 41 ПРОГРАММА ИМИТАТОРА ЛИФТА ДИАГРАММА ID: 1,0 ОПИСАНИЕ. ОБЩАЯ ДИАГРАММА ВХОД ПРОЦЕСС ВЫХОД НАЧАЛЬНАЯ ОБРАБОТКА 1711 ОБРАБОТКА ПРИ НАХОЖДЕНИИ НА ПЕРВОМ ЭТАЖЕ. ПОДАЧА КЛЕТИ НА ВТОРОЙ ЭТАЖ. 1.2 ОБРАБОТКА ПРИ ДОСТИЖЕНИИ ВТОРОГО ЭТАЖА. 1. з ОБРАБОТКА ПРИ ДОСТИЖЕНИИ ТРЕТЬЕГО ЭТАЖА ИЛИ НАХОЖ- ДЕНИИ НА НЕМ. ПОДАЧА КЛЕТИ НА ВТОРОЙ ЭТАЖ. 1.4 ПРИМЕЧАНИЯ УСЛОВИЯ ПРИВЕДЕНИЯ В ДЕЙСТВИЕ КЛЕТИ НА ОТДЕЛЬНЫХ ЭТАЖАХ (ЛОГИЧЕСКОЕ ВЫРАЖЕНИЕ) 1. ПРИ НАХОЖДЕНИИ НА ПЕРВОМ ЭТАЖЕ.ИНДИКАЦИЯ ТРЕТЬЕГО И ВТОРОГО ЭТАЖА В КЛЕТИ, ВЫЗОВ СО ВТОРОГО ЭТАЖА (ВВЕРХ) L1 = G3 + G2 + C3D + C2U + C2D 2. ПРИ НАХОЖДЕНИИ НА ТРЕТЬЕМ ЭТАЖЕ, индикация второго и ПЕРВОГО ЭТАЖА В КЛЕТИ, А ТАКЖЕ ВЫЗОВ СО ВТОРОГО И ПЕРВОГО ЭТАЖА (ВНИЗ). L2 - G2 + G1 + C2U + C2D + C1U ПРИМЕЧАНИЯ З.ПРИ ДОСТИЖЕНИИ ВТОРОГО ЭТАЖА ИЛИ НАХОЖДЕНИИ НА НЕМ. (1) ПРИ ПОДНЯТИИ ВВЕРХ а) ПОСЛЕ ОСТАНОВА НА ВТОРОМ ЭТАЖЕ ИДЕТ ЛИ НА ТРЕТИЙ ЭТАЖ? а. L3=G3+G2+C3D+C2U 6. L4-G2+C2U б) ПРИ НАХОЖДЕНИИ НА ВТОРОМ ЭТАЖЕ а.ПОДНИМАЕТСЯ ЛИ ВВЕРХ? L7=G3+C3D б. ОПУСКАЕТСЯ ЛИ ВНИЗ? (2) ПРИ OnyCKAHHHLBHH3 + C1U а) ПОСЛЕ ОСТАНОВА НА ВТОРОМ ЭТАЖЕ ИДЕТ НА ПЕРВЫЙ ЭТАЖ? a. L5 = G2 + G1 + C2D + C1U 6.L6 = G2 + C2D б)ПРИ НАХОЖДЕНИИ НА ВТОРОМ ЭТАЖЕ а)ОПУСКАЕТСЯ ЛИ ВНИЗ? L8 = G1 + C1U б) ПОДНИМАЕТСЯ ЛИ-ВВЕРХ? L7=G3+C3D РИС. 41. 1. ДИАГРАММА HIPO (ID: 1,0) На рисунке 41.1 представлена общая диаграмма, поясняющая работу всей системы. На рисунке 41.2 показан переход с первого этажа на второй этаж, а на рисунке 41.3 показана обработка при поднятии клети на второй этаж. Программа приведена на рисунке 41.4, на которой показана только на-
41. Прогоамма имитатора лифта 165 чальная обработка, обработка при движении с первого этажа на второй и обработка при достижении клетью второго этажа. Подпрограммы не вклю- чены. ДИАГРАММА ID: 1,2 ОПИСАНИЕ. ОБРАБОТКА ПРИ ДВИЖЕНИИ С ПЕРВОГО ЭТАЖА НА ВТОРОЙ ВХОД ПРОЦЕСС ..сброс .----------- 2. ДВУХСЕКУНДНОЕ | WAIT I ОЖИДАНИЕ -**--*j —| 3. ПОВТОРЯЕТСЯ ДО УСТАНОВЛЕНИЯ СЛЕДУЮЩИХ условий: КАНАЛ А L1 = G3+G2 + C3DTC2U + C2D [~INPUT~| (2) ПРОВЕРКА УСЛОВИЯ «L1» а. ОБЕСПЕЧЕНО — б. НЕ ОБЕСПЕЧЕНО СБРОС ДИАГРАММА ВХОД 4. ВЫХОД КАНАЛ В (1) ВХОД КАНАЛА А pWAIT | РИС. 41. 2. ДИАГРАММА HIPO (ID: 1,2) UDSW (ПОДНЯТИЕ), СБРОС W1 5. ДВУХСЕКУНДНОЕ __ ОЖИДАНИЕ, СБРОС F1, УСТАНОВКА F11 <1 —3>- -- 6. ТРЕХСЕКУНДНОЕ ,.д х I WAIT I ОЖИДАНИЕ, СБРОС Fll, L----- УСТАНОВКА F12 <1—4>-— 7. ДВУХСЕКУНДНОЕ ____J WAITH ОЖИДАНИЕ,СБРОС F12, 1------1 УСТАНОВКА F2 ~у КАНАЛ ВI КАНАЛ В у ID : 1.3.1 ОПИСАНИЕ. ПОДНЯТИЕ И ОСТАНО^ ПРОЦЕСС КАНАЛ А L4=G2+C2U L3=G3’+G2 + C3D + C2U L7=G3+C3D L8=G1 + C1U 1 3U 1. ВХОД, ПРОВЕРКА УСЛОВИЯ «13» INPUT (1) УДОВЛЕТВОРЕНО (ПОДНЯТИЕ) ВХОД, ПРОВЕРКА УСЛОВИЯ «14» а. УДОВЛЕТВОРЕНО ОСТАНОВ ВЫХОД STOPU КАНАЛ С КАНАЛЫ В, С б. НЕ УДОВЛЕТВОРЕНО (2) НЕ УДОВЛЕТВОРЕНО ОСТАНОВ 2. ПОВТОРЯЕТСЯ ДО УСТАНОВЛЕНИЯ СЛЕДУЮЩИХ УСЛОВИЙ:_____________ (1) ВХОД, ПРОВЕРЯЕТСЯ УСЛОВИЕ «Ь7» а. УДОВЛЕТВОРЕНО-- (ВВЕРХ) б. НЕ УДОВЛЕТВОРЕНО ВХОД, ПРОВЕРКА УСЛОВИЯ «Ь8» [INPUT а. УДОВЛЕТВОРЕНО (ВНИЗ). СБРОС ____________ О — UDSW б. НЕУДОВЛЕТВОРЕНО СБРОС RUDG КАНАЛЫ В, С 1. 3.3 РИС. 41. 3. ДИАГРАММА HIPO (ID: 1. 3. 1)
166 VIII. Управление с помощью микро-ЭВМ ; ELEVATOR SIMULATOR : PROGRAMMEС BY T.ОНТANI ; DATE AUG. 1 Л • 311979 T INITIALIZE ROUTINE 8 000 8006 ЗЕ 4 0 Q.3FB '.ЕЮ СОй081 САО680 START PWON M.V .I . OUT MVI CALL ОТ A. 09 OH OFBH E.010H INPUT PWON ; SET 170 PORT }' A—INPUT : ,(bC--0UTPUT WAIT i’ILL POWER 3E3F Э301. 3EFF ОТО! З'ЕТЕ 0302 3EFF ОТ02 MVI .CUT, MVI OUT MVI OUT MVI OUT A.03FH 1 A.OFFH 1 AOTlFH 2 A.OFFH ,2: ; < 0-1 >' • < 0-)*> ; <0-2 >. " < 0-2'> 1.2 ; ARRIVED AT 1ST apic 8 02 & С08681 ЗЕ 02 СJАА81 1ЕСЁ .008081 ,С23?80 СОЗ681 С32630 KAI 1 I FL1 CALL MVzI CALL MV I CALL UNZ CAL'L JMP RE SI A. 2 WAIT E.OCEH INPUT 0.KL1 REST 1 FL1 : 2S WAI . ; WAIT TILL INPUT Г L1 = G3+G2+C3D- +C2U+C2D 8 032 320.083 3EFB 0301 ЗЕ 02 CDAA81 3EFC 0301 РКЦ STA MVI OUT MVI CALL MVI OUT ;U,DSW A. OFBH 1 A. 2 WAIT A.OFEH 1 : UDSW^NOT ZER0=>UP : < 1-2 > ; 2S WAIT ; < 1-3 > 8 042 ЗЕ 03 С0АА81 3EFD 0301 » MV I CALL MVI OUT, A»3 WAIT A •OF DM 1 G»'S«^aiaL. - : 3S, wai t : < 1-4
41. Программа имитатора лифта 167 ЗЕ02 CDAA81 3EF7 0301 MVI CALL MVI OUT A»2 WAIT A.0F7H 1 5 2S WAIT < 1-5 > j 1.3 - ; ARRIVED AT 2ND 8054 3A0083 (AI2 LDA UDSW В7 ORA A САА080 JZ CAMED • GO (1.3.2) — 1- 3.1 - ; CAME UP 805 В 1ЕСС АМЕ U J4VI E.OCCH • L3=G3tG2+C30+C2U о CD8081 CALL INPUT СА7180 JZ OOSTP • ELSE 1Е44 > MVI E.044H • L4-G2+C2U С08081 CALL INPUT СА7480 JZ IFlpU » ELSE CDC181 CALL STOPU » STOP AND UP 1 С37480 JMP IFL7U 8071 CD0781 10STP CALL sToPtj • STOP AND DOWN 8074 1Е88 [ FL7U MVI E.088H L7*G3+C3D CD8081 CALL I NPUT CA7F80 JZ IFL8U СЗЕ080 JMP DEPA • GO (1.3.31 807F 1Е21 1 [FL8U MVI E.021H * L8=G1+C1U С08081 CALL INPUT СА9180 JZ RE78 AF XRA A 320083 STA UDSW ♦ UDSW=O=>DOWN CD9081 CALL RUDG СЗЕ080 JMP DEPA • GO (1.3.3) 8091 CD9081 F ’Е78 CALL RUOG С37480 JMP IFL7U 1 1 -- 1.. 3.2 - ; CAME DOWN 80А0 1Е63 ( АМЕО MVI E.063H • L5=G2+G1+C1U+C2D С08081 CALL INPUT САВ680 JZ UPSTP ELSE 80А8 1Е42 MVI E.042H L6=G2+C20 CD8081 CALL INPUT
168 VIII. Управление с помощью микро-ЭВМ В0.В6 8.0В9 8ОС4 8 006 САВ980 CDD781 С*В980 СОС 13 1 1E21 C0808.1 CAC480 СЗЕ0Д0 IE 8'8 C08081 CAD580 3200,83 C09081 СЗГ080 CD9 08'i C3B980 up|tp RE8 7 CALL JMP I FL 8 0- SrCPD IFL80 S'TO'P U MVI CALL INPUT LFLZO- O.EPA JMP Е 021Н £ v088H MVI call -Input RF8 7 UDSW RUDG- OF PA. STA CALL JMP CALL nud:g J MP IFL80 РИС. 41. 4. ПРОГРАММА ELSE STOP ANO OWN' STOP'AND.UP GO- < 1
ЛИТЕРАТУРНЫЕ ИСТОЧНИКИ При составлении данной книги мною были использованы перечисляемые ниже литературные источники ряда фирм, которым я приношу свою глубокую благодар- ность. 1. ФА КОМ серии М, каталоги: фирма Фудзицу. 2. Система ФАКОМ 80, каталоги: фирма Фудзицу. 3. Руководство по PG-8001 и ТК-80: фирма Ниппон дэнки-. 4. Обу ение на языке ФОРТРАН: Отани и другие; издательство КОРОНА. 5. Ог^рационные системы: Эмура Дзюнтаро; издательство ОМ.
Тадёю Отани КОМПЗУТЕРЛЭР Тадао Отани КОМПЬЮТЕРЫ Спец, редактор И А. Ткаченко Редактор изд-ва Э. Мусаева Художники Э.Габрелов, М.Ксенжук, X.Мирзоев Художественный редактор В, Черножуков Технический редактор С. Ахмедов Корректоры С, Сеид-заде, И. Кадымова
ИБ № 4291. Печать с пленок 09.06.88. Печать офсет. Набор с ИБМ. Формат 60Х9071в. Бумага офсет. Усл. п. л. 11,5. Усл. кр. отт. 23,62. Учетн.-изд. л. 10,5. Заказ № 4940. Тир'аж 90 000. Цена 1 руб. 20 коп. Государственный комитет Азербайджанской ССР по делам издательств, полиграфии и книжной торговли. Азербайджанское ордена Дружбы народов государственное издательство «Азернешр». Баку—370005, ул. Гуси Гаджиева, 4. Типография издательства «Коммунист» ЦК КП Азербайджана.
ОПЕЧАТКИ Страница Строка Напечатано Следует читать 15 3 сверху на рисунке 5.5 на рисунке 5.4 24 7 сверху рисунка 7 б) рисунка 7.1 (б) » 8 сверху на рисунке 7 (с) на рисунке 7.1 (с) » 3 снизу ленты и т. д.), по- ленты и т. д. поручают- 40 Заголовки ручаются устрой- ствам управления вводом-выводом. Этапы работ для ся устройствам управле- ния вводом-выводом) Этапы работ для полу- 41 —»—« получения подго- товки программ —»— чения программ —»— .43 —»— —»— —»— 42 3 сверху На рисунке 11 (а), На рисунке 11.4(a), (6) 45 3 сверху (б) отпечатайте пло- отпечатайте площадь 51 Рис. 14.5 щадь трапедии и отсчитайте считан- ные данные и пло- щадь. Массивы (см. стра- трапеции, считанные данные и площадь л Массивы 57 Рис. 15.2 ницу 51 оригина- ла 2 360° —2 радиан 360°=2л радиан
1 руб. 20 коп ТАДАО ОТАНИ КОМПЬЮТЕРЫ Компьютеры все больше внедряются в управление, науку, производство, становятся предметами повседневного быта людей. Осваи- вать их сравнительно несложно. Об этом доступ- но рассказывается в книге Отани. На её страни- цах представлены ЭВМ для учреждений и ЭВМ персонального пользования, даны формы графи- ческой информации, рассказано об алгорит- мических языках, применяемых при прог- раммировании. В книге много иллюстраций. Подбор их красок позволяет в общих чертах быстро понять сущность компьютеров. Адресована массовому читателю.