Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Гос_экзамены - - ответы.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3 Мб
Скачать
☆

70. Трансляторы и интерпретаторы. Назначение и отличие.

Программа, написанная на языке высокого уровня, абсолютно непонятна ЭВМ как исполнителю. Ее необходимо перевести в команды процессора или выполнять с помощью специальной программы. Общее классообразующее название для таких программ – трансляторы.

Транслятор (англ. translator – переводчик) – это программа-переводчик. Она преобразует программу, написанную на одном из языков высокого уровня, в программу, состоящую из машинных команд. Трансляторы бывают двух принципиально разных видов – интерпретаторы и компиляторы (хотя ряд трансляторов сочетает оба этих подхода). В одной и той же ОС могут быть реализованы как компиляторы, так и интерпретаторы одного и того же языка программирования.

Интерпретатор (англ. interpreter – истолкователь, устный переводчик) переводит и выполняет программу строка за строкой. Это диалоговые программы, которые позволяют программисту работать с текстами его программ: редактировать, запускать на выполнение целиком или по отдельным операторам, просматривать значения переменных. Интерпретатор полностью хранит в ОЗУ текст программы, а при выполнении каждый раз переводит его буквально по букве. Поскольку задача анализа текста довольно сложна, интерпретаторы выполняют программу чрезвычайно медленно (основное время тратится не на исполнение, а на перевод). Кроме того, объем интерпретируемой программы ограничен объемом свободного ОЗУ, которым интерпретатор располагает.

Компилятор (англ. compiler – составитель, собиратель) читает всю программу целиком, делает ее перевод и создает законченный вариант программы на машинном языке, который затем и выполняется. Компиляторы переводят программу один раз и позволяют получить в конечном итоге загрузочный модуль – программу в машинных кодах, которую можно хранить на диске и запускать на выполнение в любой нужный момент (уже без наличия самого транслятора, а иногда и даже без операционной системы). Скомпилированная программа выполняется на порядок быстрее, чем обрабатываемая интерпретатором, но сам процесс компиляции очень длителен, поэтому отлаживать программу, имея только компилятор, трудно и долго. Трудно потому, что нельзя исполнять программу по шагам, смотреть значения переменных и т.п. После того, как программа откомпилирована, ни сама исходная программа, ни компилятор более не нужны. В то же время программа, обрабатываемая интерпретатором, должна заново переводиться на машинный язык при каждом очередном запуске.

71. Тригонометрический ряд фурье

Опр.1 Ряд вида

(1)

называется тригонометрическим рядом.

Его частичные суммы являются линейными комбинациями функций, входящих в систему

cos x, sin x, cos 2x, sin 2x, …, cos nx, sin nx, … . (2)

Опр.2 Множество функций (2) называется тригонометрической системой.

Лемма 1. Тригонометрическая система (2) обладает свойствами:

  1. ортогональность, т.е. интеграл по отрезку [-π, π] от произведения двух различных функций, входящих в нее, равен нулю

(3)

2) (4)

Теорема 1. Пусть (5)

и ряд, стоящий в правой части этого равенства, сходится равномерно на отрезке [-π, π]. Тогда

,

, n=1,2, … . (6)

Опр.3 Пусть функция f абсолютно интегрируема на отрезке [-π, π]. Тригонометрический ряд (1), коэффициенты которого задаются формулами (6), называется тригонометрическим рядом Фурье, а числа an и bn – коэффициентами Фурье функции f.

Теорему 1 в этих терминах можно перефразировать следующим образом:

всякий равномерно сходящийся тригонометрический ряд является рядом Фурье своей суммы.

Разложение функции в тригонометрический ряд Фурье единственно.