Вычислительная техника в инженерных расчетах. Черный А.А. - 20 стр.

UptoLike

Составители: 

20
Преимущество интерпретаторной реализации состоит в том, что
она допускает "непосредственный режим". Непосредственный режим
позволяет вам задавать компьютеру задачу вроде PRINT 3.14159*3/2.1
и возвращает вам ответ, как только вы нажмете клавишу ENTER (это
позволяет использовать компьютер стоимостью 3000 долларов в каче-
стве калькулятора стоимостью 10 долларов). Кроме того, интерпрета-
торы имеют специальные атрибуты, которые упрощают отладку
. Мож-
но, например, прервать обработку интерпретаторной программы, ото-
бразить содержимое определенных переменных, бегло просмотреть
программу, а затем продолжить исполнение.
Больше всего программистам нравится в интерпретаторах воз-
можность получения быстрого ответа. Здесь нет необходимости в ком-
пилировании, так как интерпретатор всегда готов для вмешательства в
вашу программу. Введите RUN и результат вашего
самого последнего
изменения оказывается на экране.
Однако интерпретаторные языки имеют недостатки. Необходимо,
например, иметь копию интерпретатора в памяти все время, тогда как
многие возможности интерпретатора, а следовательно и его возможно-
сти могут не быть необходимыми для исполнения конкретной про-
граммы.
Интерпретаторы тихоходны. Ими затрачивается много времени
на разгадывание того, что делать
, вместо того чтобы заниматься дейст-
вительно делом.
При исполнении программных операторов, интерпретатор дол-
жен сначала сканировать каждый оператор с целью прочтения его со-
держимого, а затем выполнить запрошенную операцию. Операторы в
циклах сканируются излишне много.
Рассмотрим программу: на интерпретаторном Бэйсике 10 FOR
N=1 TO 1000 20 PRINT N,SQR(N) 30
NEXT N при первом переходе по этой программе Бейсик-
Интерпретатор должен
разгадать что означает строка 20:
1. преобразовать числовую переменную N в строку;
2. послать строку на экран;
3. переместить в следующую зону печати;
4. вычислить квадратный корень из N;
5. преобразовать результат в строку;
6. послать строку на экран.
При втором проходе цикла все это разгадывание повторяется
снова, так как абсолютно забыты все результаты изучения этой строки
какую-то миллисекунду тому назад. И так во всех следующих 998 про-
ходах. Очевидно, что если отделить фазу сканирования/понимания от
фазы исполнения, то можно иметь более быструю программу. Для это-
го существуют компиляторы.
      Преимущество интерпретаторной реализации состоит в том, что
она допускает "непосредственный режим". Непосредственный режим
позволяет вам задавать компьютеру задачу вроде PRINT 3.14159*3/2.1
и возвращает вам ответ, как только вы нажмете клавишу ENTER (это
позволяет использовать компьютер стоимостью 3000 долларов в каче-
стве калькулятора стоимостью 10 долларов). Кроме того, интерпрета-
торы имеют специальные атрибуты, которые упрощают отладку. Мож-
но, например, прервать обработку интерпретаторной программы, ото-
бразить содержимое определенных переменных, бегло просмотреть
программу, а затем продолжить исполнение.
      Больше всего программистам нравится в интерпретаторах воз-
можность получения быстрого ответа. Здесь нет необходимости в ком-
пилировании, так как интерпретатор всегда готов для вмешательства в
вашу программу. Введите RUN и результат вашего самого последнего
изменения оказывается на экране.
      Однако интерпретаторные языки имеют недостатки. Необходимо,
например, иметь копию интерпретатора в памяти все время, тогда как
многие возможности интерпретатора, а следовательно и его возможно-
сти могут не быть необходимыми для исполнения конкретной про-
граммы.
      Интерпретаторы тихоходны. Ими затрачивается много времени
на разгадывание того, что делать, вместо того чтобы заниматься дейст-
вительно делом.
      При исполнении программных операторов, интерпретатор дол-
жен сначала сканировать каждый оператор с целью прочтения его со-
держимого, а затем выполнить запрошенную операцию. Операторы в
циклах сканируются излишне много.
      Рассмотрим программу: на интерпретаторном Бэйсике 10 FOR
N=1 TO 1000 20 PRINT N,SQR(N) 30
      NEXT N при первом переходе по этой программе Бейсик-
Интерпретатор должен разгадать что означает строка 20:
       1. преобразовать числовую переменную N в строку;
       2. послать строку на экран;
       3. переместить в следующую зону печати;
       4. вычислить квадратный корень из N;
       5. преобразовать результат в строку;
       6. послать строку на экран.
      При втором проходе цикла все это разгадывание повторяется
снова, так как абсолютно забыты все результаты изучения этой строки
какую-то миллисекунду тому назад. И так во всех следующих 998 про-
ходах. Очевидно, что если отделить фазу сканирования/понимания от
фазы исполнения, то можно иметь более быструю программу. Для это-
го существуют компиляторы.


                                    20