Главная -> Книги

(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) ( 99 ) (100) (99)

ров. Однако эти миниатюрные микроЭВМ по стоимости превышают настольные персональные ЭВМ аналогичной производительности, что существенно ограничивает их широкое внедрение.

Наиболее перспективны для широкого круга пользователей ПМК с алгоритмическими входными языками (как правило, упрощенными версиямии Бейсика), не имеющие внешних устройств или имеющие один разъем для подключения при необходимости бытового кассетного магнитофона в качестве накопителя информации или малогабаритного печатающего устройства. Такие ПМК имеют сравнительно небольшую стоимость производства, что обеспечивает их доступность широкому кругу пользователей. К этому классу относится и отечественный ПМК «Электроника МК-85» [20].

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

Таким образом, основная тенденция в развитии пользования ПМК-переход от компактных к алгоритмическим входным языкам, прежде всего к языку «для начинающих» Бейсик, широко используемому и для программирования персональных ЭВМ. В связи с этим возникает проблема создания математического обеспечения для решения прикладных задач и, в частности, перевода на Бейсик прикладных программ на компактных входных языках ПМК, накопленных в библиотеках пользователей или опубликованных. Эта задача частично решается публикацией справочников [19, 21], но в связи с разнообразием прикладных задач остается актуальной и проблема их перевода.

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

Пусть, например, требуется составить программу вычисления ординат максимумов Хтах. корней л:„ и минимумов Хтш многочлена Чебышева степени п на входном языке Бейсик, Для этого можно воспользоваться переводом программы 247 в настоящей книге, представив ее записью по строкам:

(00) П7 Сх П4 1

(04) П8

(05) ПП 14

(07) О

(08) ПП 14 (10) ИП8 / / (12) БП 04

(14) ИП4 я X ИП7 - cos

(21) С/П

(22) ИП4 2 1/х + П4 В/О

В скобках указаны адреса начальных шагов каждой строки.

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



формул к естественной алгебраической, восстанавливаем алгоритм решения задачи, например, в виде

1. Пусть N = n, Л=0, В=1.

2. Пусть У = В.

3. Перейти к процедуре на шаг 8.

4. Принять У = 0.

5. Перейти к процедуре на шаг 8.

6. Принять й = -В.

7. Перейти к шагу 2.

8. Пусть Х(У)=со5 (А я-N).

9. Стоп.

10. Пусть Л=Л + 72.

11. Возврат из процедуры.

Этот алгоритм несложно непосредственно представить на языке Бейсик, например, программой

10 INPUT N 20 LET А = 0; В = 1 30 LET Y = B 40 GOSUB 90 50 LET Y = 0 60 GOSUB 90 70 LET B = -В 80 GOTO 30

90 LET X = COS (A*PI-N)

100 PRINT •XCY-)=X

110 STOP

120 LET A = A + .5

130 RETURN : END

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

Компактные входные языки ПМК относятся к языкам высокого уровня в соответствии с уровнем сложности операций, управляемых операторами этих языков. Основные отличия компактных и алгоритмических языков программирования связаны с выполнением операторов присваивания вида «пусть Х = А*. При вводе такого оператора с клавиатуры операционная система ЭВМ транслирует (переводит) его последовательностью машинных команд, причем имена переменных, содержащиеся в операторе присваивания, отображаются адресами ячеек памяти, в которых хранятся значения соответствующих переменных. Это обеспечивает автоматический вызов из памяти значений переменных по их именам и засылку в память результатов выполнения операторов присваивания, но ресурс памяти в этом случае не всегда используется достаточно полно. В связи с этим для первых ПМК с ограниченной емкостью памяти и была выбрана компактная форма входных языков со специальными операторами обращения к памяти, обеспечивающими полное ее использование, и умолчанием имен переменных, хранящихся в операционном стеке. Например, оператор присваивания «пусть X=Yy,X-\-ZTt на компактном входном языке отображается сокращенной записью «X -Ь». Это обстоятельство, как и отсутствие ключевых слов(имеи операторов), в основном и затрудняет понимание алгоритма, представленного программой на компактном входном языке, и является наиболее существенным отличием этих языков от алгоритмических.



Список литературы

1. Ганстон М. А. Справочник по волновым сопротивлениям фидерных линий СВЧ, -М.: Связь, 1976.- 150 с.

2. Дьяконов В. П. Расчет нелинейных и импульсных устройств на микро ка.чькуляторах. -М.: Радио и связь, 1984 -176 с.

3. Дьяконов В. П. Справочник но расчетам на микрокалькуляторах. -М. Наука. 1985.- 224 с.

4. Корн Г., Корн Т. Справочник по математике: Пер. с англ. / Под ред. И Г. Арамановича. - 4-е изд. - М.: Наука, 1977. -832 с.

5. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигна лов: Пер. с ан1Л. / Под ред. Ю. Н. Александрова. - М.: Мир, 1977. - 848 с.

6. Славин Г. Программирование на программируемых микрокалькуляторах «Электроника БЗ-34» -- Тарту: Валтус, 1985. - 126 с.

7. Темеш Г., Митра С. Современная теория фильтров и их преобразования Пер. с англ. / Под ред. И. Н. Теплюка. -М.: Мир, 1977. -560 с.

8. Трохименко Я. К. Игры с микро-ЭВМ. - Киев: Техи1ка, 1986. - 180 с.

9. Трохименко Я. К. Метод обобщенных чисел и анализ линейных цепей.- .М.: Сов. радио, 1972.-312 с.

10. Трохименко Я. К. Радиоприемные устройства на транзисторах. - 5-е изд, - Киев: Технша, 1972.-352 с.

11. Трохименко Я. К. Программирование микрокалькуляторов «Электроника МК-61» и «Электроника МК-52». - Киев: Техн1ка, 1987.-209 с.

12. Трохименко Я. К-, Каширский И. С. Обобщенная оптимизация электрон ных схем. - Киев: Техи1ка, 1979. - 192 с.

13. Трохименко Я. К., Каширский И. С, Ловский В. К. Проектирование ра диотехнических цепей на инженерных ЭЦВМ. -Киев: Техи1ка, 1976.--272 с.

14. Трохименко Я. К., Любич Ф. Д. Инженерные расчеты на микрокальку ляторах. - Киев: Техн1ка, 1980.- 394 с.

5. Трохименко Я. К., Любич Ф. Д. Инженерные расчеты на программируе мых микрокалькуляторах. - Киев; Техн1ка, 1985. - 328 с.

16. Ханзел Г. Справочник по расчету фильтров: Пер. с англ. / Под ред. А. Е. Знаменского.-М.: Сов. радио, 1984.-288 с.

17. Химмельблау Д. Прикладное нелинейное программирование: Пер. с англ. Под ред. М. Л. Быховского. - М.: Мир, 1976. - 620 с.

18. Цветков А. Н., Епаиечииков В. А. Прикладные программы для микро ЭВМ «Электроника БЗ-34», «Электроника МК-54» и «Электроника МК-56».--М.. Финансы и статистика, 1984. - 175 с.

19. Цимринг Ш. Е. Специальные функции и определенные интегралы. Алгоритмы и программы для микрокалькуляторов: Справочник. - М.: Радио и связь, 1988.

20. Бойко А.. Чикоруди Р. Компьютер в кармане Наука и жизнь.-1987. -№ 4.-С. 33-37.

21. Дьяконов В. П. Справочник по алгоритмам и программам на языке Бейсик для персональных ЗВМ. - М.: Наука, 1987. - 240 с.

22. Wicks W. С. On Evolutionary RPN Calculator for Technical Professio nals Hewlett-Packard J. - 1987. - № 8. - p. 3-14.



(0) (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11) (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) (34) (35) (36) (37) (38) (39) (40) (41) (42) (43) (44) (45) (46) (47) (48) (49) (50) (51) (52) (53) (54) (55) (56) (57) (58) (59) (60) (61) (62) (63) (64) (65) (66) (67) (68) (69) (70) (71) (72) (73) (74) (75) (76) (77) (78) (79) (80) (81) (82) (83) (84) (85) (86) (87) (88) (89) (90) (91) (92) (93) (94) (95) (96) (97) (98) ( 99 ) (100)