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

Достаточнаяфункция телефона – когда телефон работает нормально.

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

Недостаточнаяфункция телефона – когда сигнал плохо слышен.


Пример 3.15. Автомобиль

Функция автомобиля – перемещать людей.

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

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

Достаточнаяфункция – нормальная работа автомобиля.

Избыточнаяфункция. Автомобиль рассчитан на скорость движения, значительно превышающую допустимую скорость.

Недостаточнаяфункция – это, когда автомобиль не можем выбраться из заноса снега, грязи или преодолеть очень крутой подъем.

В определение функции входило понятие процесс.


3.1.4. Процесс


Процесс (от лат. «processus» – продвижение):

1) последовательная смена состояний стадий развития;

2) совокупность последовательных действий для достижения какого-либо результата (например, производственные потребности – последовательная смена трудовых операций).

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


Пример 3.16. Приготовление кофе

Операция 1 – измельчение зерен кофе.

Операция 2 – молотый кофе засыпается в турку.

Операция 3 – турку заливается водой.

Операция 4 – турку ставят на огонь или помещают в разогретый песок.

Операция 5 – ждут, пока поднимется пенка.

Операция 6 – турку снимают с огня.

Операция 7 – ожидание пока пенка опустится.

Операции 5—7 повторяются несколько раз.


Пример 3.17. Компьютерная программа

Любая компьютерная программа работает по определенному алгоритму – порядку действий. Таким образом, компьютерная программа осуществляет процесс.


Пример 3.18. Алгоритм Евклида

В качестве процесса представим Алгоритм Евклида – метод вычисления наибольшего общего деления (НОД). Это один из древнейших алгоритмов, который используется до сих пор. НОД – это число, которое делит без остатка два числа и делится само без остатка на любой другой делитель данных двух чисел. Проще говоря, это самое большое число, на которое можно без остатка разделить два числа, для которых ищется НОД.

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

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