Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика 1 часть.docx
Скачиваний:
14
Добавлен:
03.12.2018
Размер:
107.51 Кб
Скачать

21.Алгебра логики (логические операции, таблицы истинности, основные соотношения алгебры логики)

Алгебра логики работает с переменными, которые могут иметь только 2 значения: истина или ложь.

TRUE – истина (и)-1

FALSE – ложь (л) – 0

Основные операции

1) конъюнкция (логическое умножение; логическое «и»)

Обозначение: А*В; А^В- в задачах

А АND B – в программировании

Данная операция истинна только в одном случае: когда все аргументы, учавствующие в ней истинны, во всех остальных случаях она ложна.

2) дизъюнкция (логическое сложение или логическое «или»)

Обозначение: А+В; АVB – в задачах

А OR В – в программировании

Данная операция ложна только в том случае, когда оба аргумента ложны, во всех остальных случаях она истинна.

3) логическое отрицание

Обозначение: not А – в программировании

Данная операция изменят на противоположные значения аргумента

4) инпликация

Обозначение: А В

Операция всегда истинна, кроме одного случая, когда А- истинный, а В- ложный

5) эквиваленция

Обозначение: А В; А=В;

Операция истинна, если оба аргумента одинаковы ( или оба истинны или оба ложны)

6) исключающее «или»

Обозначение: XOR- в программировании

Операция ложна, когда оба аргумента ложные или истинные, в любых других случаях истинна.

Таблица истинности – это специальная таблица, которая служит для решения логических выражений и которая отображает все возможные операции и возможные значения данного логического выражения. Истина – 1, ложь – 0.

22.Последовательность создания и выполнения программы, виды трансляторов

Последовательность создания и выполнения программ:

1) исходный модуль

2) перевод исходного модуля в объектный модуль (транслирование программы). В результате получается объектный модуль. Объект (модуль) представляет из себя команды процессора без привязки этих команд к конкретным адресам.

3) получение загрузочного модуля (компоновка программы). Представляет из себя готовую к запуску программу. Это набор команд процессора, который привязан к конкретным адресам оперативной памяти.

транслятор

компоновщик

исходный модуль Объектный модуль Загрузочный модуль

объектный

модуль

Транслятор – это программа, переводящая исходный модуль в объектный.

Трансляторы подразделяются на 2 типа:

1) Компилятор – переводит в объектный модуль сразу весь исходный, с получением файла небольшого размера.

2) интерплитатор – переводит в объектный модуль исходный модуль по частям (по операторам). Это делается для наглядности программирования. Получается файл большого размера.

В языке Turbo Pascal применяется компилятор. В современных системах программирования операции трансляции и компоновки выполняются в автоматическом режиме.

23.Модель компилятора языка Turbo Pascal 7.0. Общие сведения

программ на

Синтаксический анализатор

Генератор кода

таблицы

Машинный код

исходн язык

Лексический анализатор

лексемы внутр код

компилятора

Лексический анализатор- анализирует лексику программы. Исходная программа на языке Turbo Pascal представляет из себя цепочку слов, которые отделяются друг от друга символами-разделителями. Эти слова называются лексемами.

Например: for_I:=1_to_n_do_writeln (I) – это предложение будет разбито на следующие лексемы:

For writeln ( I );

I

:=

1

To

N

Do

В данном примере в качестве символа-разделителя применяется в основном пробел. Некоторые лексемы сами являются символами-разделителями.

ПРАВИЛО: там, где может стоять 1 символ-разделитель, допускается любое количество символов-разделителей. Это правило не распространяется на разделители лексемы, они применяются по одиночке.

Синтаксический анализатор- проверяет правописание программы и переводит программу во внутренний код компилятора.

Генератор кода – переводит внутренний код компилятора в машинный код, т.е. в уже готовые программы.

Таблицы – в них содержится:

1) постоянная информация для создания любой программы, набор служебных слов, набор стандартных процедур и функций и т.д.

2) информация индивидуальная для каждой программы. Например: список идентификаторов, которые применяют пользователи.

Набор символов, лексемы, разделители.

Набор символов языка Turbo Pascal является подмножеством наборов символов ASCII:

1) прописные и строчные буквы латинского алфавита и символ подчеркивания.

2) арабские десятичные цифры

3) специальные символы #, §, $,

4) символ пробела

5) управляющие символы от 0 до 31 в кодовой таблице ASCII.

Остальные символы кодовой таблицы ASCII, включая символы кириллицы, не применяются ни для построения лексем, ни как разделители. Но их можно использовать в комментариях, а также в символьных и строковых константах.