Размер шрифта
-
+

Основы ТРИЗ. Теория решения изобретательских задач. Издание 2-е, исправленное и дополненное - стр. 27

Описание алгоритма нахождения НОД деланием.

1. Большее число делим на меньше число.

2. Если длится без остатка, то меньшее число и есть НОД (следует выйти из цикла).

3. Если есть остаток, то большее число заменяем на остаток от деления.

4. Переходим к пункту 1.

Пример:

Найти НОД для 30 и 18.

30/18 = 1 (остаток 12);

18/12 = 1 (остаток 6);

12/6 = 2 (остаток 0). Конец: НОД – это делитель. НОД (30, 18) = 6.


Пример 3.19. Компилятор

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

Процесс компиляции состоит из следующих этапов:

1. Лексический анализ. На этом этапе последовательность символов исходного файла преобразуется в последовательность лексем. Цель лексического анализа – подготовить входную последовательность к грамматическому анализу.

2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в дерево разбора.

3. Семантический анализ. Дерево разбора обрабатывается с целью установления его семантики (смысла) – например, привязка идентификаторов к их декларациям, типам, проверка совместимости, определение типов выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным деревом разбора, новым деревом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.

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

5. Генерация кода. Из промежуточного представления порождается код на целевом языке. В конкретных реализациях компиляторов эти этапы могут быть разделены или наоборот совмещены в том или ином виде.

Каждый из этих этапов имеет свою программу, работающую по определенному алгоритму – процессу.

Понятия процесс и функция тесно связаны с понятием поток. Он осуществляет процесс и выполняет функцию.


3.1.5. Поток


Поток может быть:

– вещественным (поток вещества);

– полевым (поток поля);

– информационным (поток информации).


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

К полевым потокам можно отнести потоки электричества, например, проходящие по проводам, световые потоки, например, по оптоволоконным кабелям, магнитные потоки, различные излучения и т. д.

Информационные потоки

Страница 27