Интерпретированный и скомпилированный код 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Интерпретированный и скомпилированный код



При интерпретации языка компьютер в ходе выполнения программы анализирует каждую инструкцию отдельно, после чего осуществляет ее преобразование в машинный код и выполняет его. Если в ходе выполнения программы повторяется какой-либо фрагмент исходного кода, интерпретатор будет снова анализировать и преобразовывать этот фрагмент перед его исполнением. В отличие от интерпретаторов компиляторы сначала осуществляют преобразование всего файла исходного текста в машинный код, после чего осуществляется его выполнение. Если какой-либо фрагмент компилируемой программы повторяется, то компиляция повторно не выполняется, как это происходило в интерпретаторе. Следовательно, откомпилированные программы выполняются значительно быстрее, чем интерпретируемые программы, хотя для начинающих проще обучаться на интерпретирующих трансляторах.

Большинство современных языков компилируются. А сценарии и HTML-подобные языки по-прежнему являются интерпретируемыми, поскольку их исходный код обычно не слишком большой, чтобы прибегать к компиляции, а реальное выполнение интерпретируемого кода при небольших размерах происходит довольно быстро.

Ранние версии BASIC

За несколько лет BASIC получил распространение в нескольких формах. Исходный язык BASIC имел довольно скромную структуру и строгий набор правил написания программ. Строгие правила снимают некоторую неоднозначность, имеющуюся в других языках программирования, и ускоряют изучение языка начинающими. В листинге 4.2 представлен пример программы, написанной на исходной версии BASIC. Каждая строка начинается с номера. Обычно нумерация начинается с 10 и идет с интервалом 10, что позволяет в случае необходимости между существующими строками добавить до девяти строк.

Листинг 4.2. Пример исходного языка BASIC

10 REM Игра по угадыванию букв на языке BASIC
20 REM Генерирует случайное число от 65 до 90
30 REM (ASCII 65 это буква A, а ASCII 90 -- Z)
40 NUM =(INT(RND * 26))+ 65
50 CA$ = CHR$(NUM)
60 CLS
70 PRINT "***Letter Guessing Game ***"
80 PRINT
90 PRINT "I am thinking of a letter..."
100 INPUT "What is your guess ";UG$
110 TR = TR + 1
120 IF (UG$ > CA$)THEN GOTO 150
130 IF (UG$ < CA$)THEN GOTO 180
140 GOTO 210
150 PRINT "Your guess was too high"
160 PRINT "Try again..."
170 GOTO 200
180 PRINT "Your guess was too low"
190 PRINT "Try again..."
200 GOTO 100
210 REM если буква угадана 220 PRINT "***Congratulations!You got it right!"
230 PRINT "It took you only ";TR;"tries to guess."
240 END

Результат выполнения этой программы представлен ниже. Попытайтесь, просмотрев программу, разобраться, как производится вывод результатов, и ответить на вопросы: где располагаются комментарии? (Комментарий — это выражение, поясняющее исходный текст программы. При выполнении программы комментарии игнорируются. Комментарии требуются лишь для того, чтобы любой, кто посмотрит на программу, смог определить, для чего она предназначена.) Где реализован повтор программы? Какая команда языка BASIC осуществляет вывод? Если вы не сможете ответить на эти вопросы, не огорчайтесь, подробности программирования будут рассмотрены в следующей главе.

***Letter Guessing Game ***
I am thinking of a letter...
What is your guess?A A
Your guess was too low
Try again...
What is your guess?Z Z
Your guess was too high
Try again...
What is your guess?M M
Your guess was too low
Try again...
What is your guess?V V
Your guess was too high
Try again...
What is your guess?S S
***Congratulations!You got it right!It took you only 5 tries to guess.

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

· BASICA (BASIC для успевающих).

· GWBASIC (Gee Whiz BASIC).

· Power BASIC.

· Turbo BASIC.

· QuickBASIC (компилирующая версия).

· QBasic (входит в состав MS-DOS начиная с версии DOS 5.0).

· Visual Basic (для программирования в среде Windows).

Корпорация Microsoft была одной из первых, кто поддержал Qbasic (интерактивная версия) в DOS 5.0 и последующих версиях. В настоящее время Microsoft распространяет Visual Basic — средство визуального программирования, с помощью которого можно создавать Windows-приложения. Самым большим плюсом, реализованным корпорацией Microsoft в QuickBASIC, является то, что была представлена компилирующая версия BASIC. С появлением QuickBASIC язык BASIC покинул ряды любительских и стал полноправным структурированным компилируемым языком программирования, конкурирующим с такими языками, как Pascal и C.

В листинге 4.3 представлена QuickBASIC-версия рассмотренной ранее игры в угадывание буквы. Обратите внимание на отсутствие номеров строк и на то, что программа представлена в несвязанной форме, облегчающей восприятие, чего не было в оригинальном языке. По внешнему виду программы на QuickBASIC похожи на программы, написанные на C или Pascal.

Листинг 4.3. QuickBASIC-версия игры по угадыванию буквы

· Обновленный BASIC позволяет проще вставлять

· комментарии - без использования REM

· Игра – угадывание буквы

· Генерировать случайное число от 65 до 90

num = (INT(RND *26))+65
' ((ASCII 65 это буква A, а ASCII 90 -- Z)
compAns$ = CHR$(num)' Преобразовать число в букву
tries = 0
CLS ' Очистить экран
PRINT "***Letter guessing game ***"
PRINT
PRINT "I am thinking of a letter..."
DO
INPUT "What is your guess ";userGuess$ tries = tries + 1
IF (userGuess$ > compAns$)THEN
PRINT "Your guess was too high"
PRINT "Try again..."
ELSE
IF (userGuess$ < compAns$)THEN
PRINT "Your guess was too low"
PRINT "Try again..."
END IF
END IF
' Если пользователь угадал, выйти из цикла
LOOP WHILE (userGuess$ <> compAns$)
' Пользователь угадал, объявить это
PRINT "***Congratulations!You got it right!"
PRINT "It took you only ";tries;"tries to guess."
END

С QuickBASIC корпорация Microsoft завоевала успех. И наконец, для компилятора BASIC был реализован интегрированный полноэкранный редактор. Большинство предыдущих версий BASIC имели собственный редактор строк или редактор с ограниченными возможностями. Многие признают, что полноэкранный редактор корпорации Microsoft сыграл такую же значимую роль, как и улучшения в самом языке.

Корпорация Microsoft смогла утвердить лидерство на арене языка BASIC, когда выпустила Qbasic — интерпретирующую версию BASIC, которая стала входить в состав каждой версии MS-DOS. Qbasic был языком, которым пользовалось большинство начинающих программистов 1980–1990-х годов. К счастью, в Visual Basic корпорация Microsoft поддержала большинство преимуществ, что дало легкость обучения по сравнению с другими языками, и обеспечила достаточную производительность, позволяющую создавать полноценные Windows-приложения.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 122; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.90.141 (0.005 с.)