Описание алгоритма нахождения НОД деланием.
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. Поток
Поток может быть:
вещественным (поток вещества);
полевым (поток поля);
информационным (поток информации).
К вещественным потокам относятся все виды транспортных систем, потоки сыпучих, жидких и газообразных веществ, в частности использующих, трубопроводы, например, пневматическая почта и т. д.
К полевым потокам можно отнести потоки электричества, например, проходящие по проводам, световые потоки, например, по оптоволоконным кабелям, магнитные потоки, различные излучения и т. д.
Информационные потоки могут распространяться различными путями: через печатные материалы, Интернет, радио и телевидение и т. д. Носителями информации является вещество и / или поле (энергия).
Кроме того, потоки могут быть внутренние и внешние.
Потоки осуществляют взаимодействия и выполняют работу.
Внутренние потоки осуществляют воздействия одного элемента системы на другой или их взаимодействие по организованным связям между ними.
Внешние потоки осуществляют взаимодействие системы с надсистемой, окружающей средой и обратное влияние надсистемы и окружающей среды на систему.
Отсутствие учета таких влияний может не только отрицательно сказаться на работоспособности системы, но и вредно влиять на внешнюю среду.
Пример 3.20. Кондиционер
Кондиционер, с помощью вентилятора, создает поток воздуха (холодного или горячего). Это внешний поток вещества.
Поток фреона это внутренний поток вещества.
Электричество, подводимое извне, к блоку питания кондиционера это внешний поток энергии. Потоки энергии от блока питания это внутренние поток энергии, подводимые к компрессору, вентилятору и блоку управления.
Сигналы, поступающие от датчиков и подающие на компрессор и двигатель вентилятора и другие блоки это внутренние потоки информации. Инфракрасный сигнал от пульта управления это внешний поток информации.
Пример 3.21. Компьютер
В компьютер поступает поток внешней информации. Компьютер обрабатывает эту информацию. Это внутренний информационный поток. Компьютер выдает результаты обработанной информации на внешние устройства, например, на монитор это внешний информационный поток.
Оценку потоков можно проводить по:
1. Полезности.
2. Степени их выполнения.
Опишем оценку потока:
1. По полезности:
полезный;
бесполезный;
вредный.
2. По степени выполнения полезности потока:
достаточный;
избыточный;
недостаточный.
Полезный поток поток, обеспечивающий работоспособность системы.
Бесполезный поток поток, не создающий работоспособность системы. Иногда такие потоки называют лишними.
Вредный поток поток, создающий нежелательный эффект.
Достаточный поток поток, создающий необходимое (достаточное) действие.
Избыточный поток поток, создающий избыточное действие.
Недостаточный поток поток, создающий недостаточное действие.
Пример 3.22. Холодильник
Бесполезный поток для потребителя поток тепла от испарителя (задней части холодильника).
Вредный поток холодильника поток (акустический) шума компрессора.
Достаточный поток холодильника нормальный поток холодного воздуха внутри холодильника.
Избыточный поток холодильника это избыточный поток холодного воздуха (переохлаждение) ниже требуемой температуры.
Недостаточный поток холодильника недостаточный поток холодного воздуха, не позволяющий создать требуемую температуру.
Пример 3.23. Компьютер
Бесполезный поток поток энергии, когда на компьютере не работают, а он включен. Поток электроэнергии в компьютере должен быть только тогда, когда вводится, обрабатывается и выводится информация. В остальное время компьютер впустую расходует энергию. Кроме того, поток энергии должен подаваться только к тем частям, которые в данный момент работают.
Вредный поток компьютера поток электромагнитного излучения от компьютера и Wi-Fi, поток шума от вентилятора.
Достаточный поток поток электроэнергии и информации, необходимый для нормальной работы компьютера.
Недостаточный поток недостаточный поток электроэнергии и информации, необходимый для нормальной работы компьютера, например, разряженная батарея, когда происходит долгая обработка информации, например, при скачивании информации из Интернета.
Пример 3.24. Автомобиль
Бесполезный поток поток бензина, когда автомобиль стоит, а двигатель работает, например, на светофоре.
Вредный поток поток углекислого (выхлопного) газа, выбрасываемого в атмосферу, загрязняя окружающую среду.
Достаточный поток поток бензина, обеспечивающий нормальную работу автомобиля.
Избыточный поток поток бензина, избыточно поступающий в двигатель, приводящий к его перерасходу.
Недостаточный поток поток бензина, не обеспечивающий нормальную работу автомобиля.
Любая система и функция имеют определенную иерархию.
3.1.6. Иерархия
Опишем иерархию системы:
собственно, система;
ее подсистемы;
надсистема;
внешняя среда.
Подсистема составные части системы.
Надсистема это объект, куда входит система в качестве подсистемы.
Иерархия может иметь более высокие ранги, например, наднадсистема и более низкие ранги, например, подподсистема.
Наднадсистема это объект, куда входит надсистема, а подподсистема это элементы, из которых состоит подсистема. Количество рангов может быть достаточно большое.
Пример 3.25. Компьютер
Система персональный компьютер.
Подсистемы: системный блок и устройства ввода вывода (например, клавиатура, мышь, монитор, принтер, сканер, камера и т. п.).