Непейвода Н.Н. Программирование. Раздел 2

Непейвода Н.Н. Программирование. Страница 216

Прямая и, в особенности, обратная польская запись есть конкретносин­таксическое представление дерева вычислений выражения. Тем самым она максимально приближена к абстрактносинтаксической структуре (если иг­норировать коммутативность и ассоциативность обычных алгебраических операций). Поэтому она применялась в некоторых языках, претендовавших на прямое соответствие текстов программ их представлению в объектном коде. В частности, язык АЛМО использовал обратную польскую запись для представления выражений.

В языке АР1_, где конкретносинтаксическое представление программы увязано со структурой набираемого на пишущей машинке текста, принято

другое, столь же последовательное, как и в польской записи, решение, также прямо увязывающее последовательность операндов с вычислением выраже­ния. Операции не имеют никаких приоритетов, они выполняются одна за другой в том порядке, в котором они напечатаны, и единственное средство изменить порядок вычислений — скобки. Например, выражение A*B+C*Dпонималось как математическая формула (А * В + С) * D.

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

Операцию деления стоит рассмотреть внимательнее. Интерпретация де­ления для действительных и целых чисел в подавляющем большинстве язы­ков программирования принципиально различается. Для действительных чисел вычисляется приближение к частному двух чисел. Для целых чисел обычно производится деление нацело, причем для положительных чисел все ясно: берется целая часть частного, а вот с какой стороны будет приближе­ние для отрицательных чисел... — тут может быть самое безумное решение. Коегде (например, в языках Pascalи Алгол 68) явно разделяется целочис­ленное деление и деление с действительным результатом. Обычно для дей­ствительного деления остается символ операции /, а для целочисленного вводится новая операция, например div. Поэтому результаты вычислений операторов

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама