Файл: Никитенко В.Д. Подготовка программ для станков с числовым программным управлением.pdf

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

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

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

Добавлен: 20.06.2024

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

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

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

Каждой десятичной цифре соответствует единственный двоичный код, а каждому двоичному коду — только одна цифра.

Например, если в двоично-кодированном десятичном представлении используют тетраду 8—4—2—1, десятичное число 324 будет представлено как 001100100100, где пер­ вая тетрада 0011 соответствует 3 сотням, вторая 0010 — двум десяткам, а третья 0100 — четырем единицам. Внутри тетрады вес старшего разряда — 8, второго слева—

4, третьего

слева — 2 и

п р а в о г о — 1 . Поэтому

тройка

обозначится

как ООП (2 +

1 =

3), а 8— 1000 (единица

в разряде с весом 8).

 

 

 

Двоично-десятичные системы на 20% менее эконо­

мичны, чем двоичная система,

так как ряд кодов

в них

не используется. Кодированные системы применяют в устройствах вычислительной техники в качестве промежу­ точных систем счисления при вводе и выводе данных, а иногда и в качестве основной системы. Применение таких систем позволяет использовать приборы с двумя устой­ чивыми состояниями и обеспечивает все удобства поль­ зования десятичной системой счисления, упрощая пере­ вод из одной системы в другую. Наиболее часто приме­ няются двоично-кодированные системы 8421, 2421, 5211 (табл. 8).

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

Поэтому в вычислительной технике широко приме­ няется двоичная система счисления. Важным преимуще­ ством двоичной системы счисления является еще простота выполнения арифметических операций и экономичность. Экономичность системы счисления оценивается числом цифроразрядов, необходимых для изображения натураль­ ного ряда целых чисел от 0 до N. Теоретический расчет показывает, что самой экономичной является система с основанием р = е = 2,718. Однако, удобнее, когда основание системы целое число. С этой точки зрения самой выгодной системой счисления является троичная (ЭЦВМ «Сетунь»). Для изображения чисел от 1 до 100

42


 

 

 

 

 

 

 

 

 

Таблица 8

 

Изображение чисел в различных системах счисления

 

 

О с н о в а н ие систем

 

 

Смешанные

системы

 

10

2

3

8

16

8421

2421

5211

0

0

0

0

0

0000

0000

0000

1

1

1

1

1

0001

0001

0001

2

10

2

2

2

0010

0010

ООП

3

11

10

3

3

ООП

ООН

ОНО

4

100

11

4

4

0100

0100

0111

5

101

12

5

5

0101

1011

1000

6

по

20

6

6

оно

1100

1001

7

111

21

7

7

0111

1101

1011

8

1000

22

10

8

1000

1110

1110

9

1001

100

11

9

1001

1111

1111

10

1010

101

12

а

0001

0000

0001

0000

0001

0000

11

1011

102

13

b

0001

0001

0001

0001

0001

0001

12

1100

ПО

14

с

0001

0010

0001

0010

0001

ООП

13

1101

111

15

d

0001

ООП

0001 ООП

0001

ОНО

14

1110

112

16

е

0001

0100

0001

0100

0001

0111

15

1111

120

17

f

0001

0101

0001

1011

0001

1000

16

10000

121

20

10

0001

оно

0001

1100

0001

1001

17

10001

122

21

11

0001

0111

0001

1101

0001

1011

18

10010

200

22

12

0001

1000

0001

1110

0001

1110

19

10011

201

23

13

0001

1001

0001

1111

0001

1111

20

10100

202

24

14

0010

0000

0001

0000

0001

0000

ит. д.

вдесятичной системе требуется 60 элементов, в двоич­ ной — 40, а в троичной — 38.

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

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

Перевод

по

общему

правилу

различается

для целых

чисел и

для

дробных

чисел.

Целые числа

переводятся

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

43


Пример. Перевести 47/1 0 в восьмеричную и двоичную системы. 1. _47

7

О 47/1 0 = 57/8

47

 

2

 

 

 

 

1

 

23

 

 

 

 

 

 

1

11

 

 

 

 

\

\

Т

1

47/,

101111/,

 

 

 

 

 

 

 

 

\

\

о

1 Последнее частное

 

 

 

 

 

 

Направление чтения

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

 

Пример. Перевести 0,37/10 в восьмеричную и двоичную систему.

1.

0,37

 

 

 

х8

Направление чтения

 

2,96

 

 

 

 

х8

0,37/

= 0,27/8

 

7,68

 

 

 

2.

0,37

 

 

0,74 х2 0,37/10 = 0,010/2

1,48

х2

0,96

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

Пример.

Перевести

325,14/8 и 110,011/, в

десятичную систему.

1. 325,14/s =

3 - 8 2 +

2.8Х+ 5 - 8 ° + 1 . 8 _ 1 +

4 . 8 " а = 3-64 +

+ 2 . 8 + 5 +

1 +

4 - =

213-1-/.

10.

 

 

 

64

 

 

44


2. ПО, 011/2 = Ь 2 2 + 1.24- 0 . 2 ° + 0 . 2 ~ Ч - Ь 2 - 2 + 1.2"3 =

= 1 . 4 + 1 . 2 + 4 - + - i - + 4 - = 6 - Z - / i e .

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

Восьмеричное

0

1

2

3

4

5

6

7

Двоичное

ООО 001

010

011

100

101

ПО

 

111

Соответственно,

для

перевода

из

двоичной

системы

в восьмеричную число нужно разделить на триады влево и вправо от запятой и заменить триады восьмеричными цифрами. Если самая левая или самая правая триада окажутся неполными, к ним надо приписать нули.

Пример. Восьмеричное число 34,5/8

перевести в двоичную систему.

1. Восьмеричное 3, 4, 5

 

 

Двоичное 011

100, 101

 

 

 

34,5/8 = 11 100,

101/,.

Нули перед

значащими цифрами можно опустить.

2. Двоичное число 111010111, 110101/ 2

перевести в восьмеричную

систему.

 

 

 

Двоичное 111 010 111, ПО 101

 

 

Восьмеричное 7 2 7, 6 5

 

 

 

111 010 111, 110101/а =

727,65/8.

1.4. ОБЩИЕ СВЕДЕНИЯ ОБ АВТОМАТИЗАЦИИ ПРОГРАММИРОВАНИЯ

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

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

.решение задачи. Запись программ в кодах команд кон­ кретной ЭВМ называется машинным языком или языком загрузки, Чтобы упростить программирование на машин-

45


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

Для автоматизации программирования на ЭВМ не­ обходимо наличие не только символического языка, но

итранслятора — программы, при помощи которой запись

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

Термин «язык» иногда толкуется как система автомати­ ческого программирования, включающая входной язык и транслятор. Один и тот же символический язык может иметь трансляторы для разных ЭВМ. Наиболее распро­ страненный международный алгоритмический язык АЛГОЛ имеет трансляторы почти для всех моделей оте­ чественных и зарубежных ЭВМ.

Если в эпоху ручного программирования для ЭВМ программу на языке загрузки одной машины нельзя было реализовать на другой, то теперь программа, записашшя на символическом языке, может быть реализована на любой ЭВМ, для которой разработан транслятор с этого языка. Таким образом, наличие трансляторов с одного алгоритмического языка на языки загрузки различных ЭВМ позволяет заказчику не учитывать различие техни­ ческих характеристик ЭВМ и облегчает обмен програм­ мами, обмен так называемым «математическим обеспече­ нием» ЭВМ.

Первыми ЭВМ стали использовать математики. Соот­ ветственно и первые работы по автоматизации программи­ рования были ориентированы на вычислительные про­ цедуры — это универсальные, процедурно-ориентирован­ ные алгоритмические языки, самым развитым из которых является АЛГОЛ. Позже ЭВМ стали широко использо­ ваться при решении различных технических проблем. Языки автоматического программирования потребовались многим специалистам: технологам, механикам, строите­ лям, экономистам и др. Эта потребность стала предпо­ сылкой создания проблемно-ориентированных языков, словарь которых включал инженерные обозначения и опе­ рации, а не машинные и математические. В настоящее время насчитываются сотни проблемно-ориентированных

46

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

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

Для характеристики достоинств систем автоматиче­ ского программирования (САП) приводятся следующие данные [35]. Программирование и отладка одной и той же задачи на машинном языке потребовали 3 мес, причем число команд программы составило 8000. При среднем уровне автоматизации программирования было затрачено 8 дней, число команд на символическом языке — 500. При использовании развитой системы автоматического

программирования был затрачен 1 день и

составлено

30 команд. Автоматизация программирования

позволяет

оперативно решать на ЭВМ сложные задачи и обеспечить загрузку ЭВМ даже при недостаточном количестве про­ граммистов.

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

47