Файл: Никитенко В.Д. Подготовка программ для станков с числовым программным управлением.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/1О |
= 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