Cтраница 3
Ьх с О - обращалось внимание на важность обработки текстовой или символьной информации. Роль такой информации постоянно возрастает по мере расширения круга решаемых задач, обогащения средств их описания. Так, если мы хотим избавить человека от необходимости пользоваться в программах числовыми адресами, то необходимо оснастить машину программой, способной переводить команды из символических в восьмеричные обозначения ( см. § 2 гл. Гораздо более сложной является задача перевода с АЛГОЛа на машинный язык. Такие задачи постоянно возникают в практике программирования. От программирования вычислений по формулам происходит постепенный переход к автоматическому получению самих формул. Как заметил один известный программист, не за горами время, когда машина, получив задание обратить матрицу, будет в ответ печатать разъяснение, почему в данной задаче можно обойтись без обращения матриц. Пусть это только шутка, но программисты уже давно задумываются над тем, как научить машину анализировать смысловое содержание поставленной перед ней задачи, с тем чтобы она самостоятельно находила способ решения задачи. Ясно, что при этом языки, подобные АЛГОЛу, становятся мало пригодными для формулировки задания машине. Шагом вперед являются языки, целиком ориентированные на обработку символьной информации, или дополненные средствами описания процессов такой обработки. В перспективе стоит задача научить машину понимать естественные языки. [31]
Вещественный тип данных моделирует вещественные числа, но только приближенно. Так, например, число 0.12 в десятичной системе счисления является бесконечной дробью в двоичной системе, следовательно, для хранения этого числа с абсолютной точностью потребовался бы компьютер с бесконечно большой разрядностью. Дробь приходится обрезать, отбрасывая лишние двоичные разряды. Это и является источником погрешности. Таким образом, множество вещественных чисел, допускающих машинное представление, - это множество дробных двоичных чисел с конечной разрядностью. Такое множество содержит конечное число элементов ( значений), а значения любых двух элементов из этого множества отличаются на малую, но конечную величину. В математике такое множество называется конечным и дискретным. Учет особенностей модели вещественных значений важен при программировании вычислений, ведь любой численный алгоритм, корректность которого доказана теоретически ( для множества обычных вещественных значений с произвольной разрядностью), после его отображения на дискретное множество значений может потерять некоторые из своих свойств. Это часто приводит к появлению погрешности счета, а иногда и к неправильной работе самого алгоритма. [32]