OberonCore
https://forum.oberoncore.ru/

Поиск элемента матрицы
https://forum.oberoncore.ru/viewtopic.php?f=82&t=2356
Страница 3 из 3

Автор:  AVC [ Среда, 17 Февраль, 2010 16:02 ]
Заголовок сообщения:  Re: Поиск элемента матрицы

Илья Ермаков писал(а):
Вообще, термин "встроенная функция" сбивает.
Это просто оператор языка, с функциональной формой записи.

Посмотрим "ширше". :)
Например, в Си стандартная функция fabs(x) не является оператором языка (т.е. не встроена на уровне языка).

Автор:  AVC [ Среда, 24 Февраль, 2010 12:20 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

Info21 писал(а):
Там однократный while. Стандартный пример из Дейкстры.
i := 0; j := 0;
WHILE j < N DO
INC( i );
IF i = N THEN i := 0; INC( j ) END
END;

Не будет ли здесь проблем с оптимизацией цикла (выделением индуктивной переменной)?

Автор:  Info21 [ Среда, 24 Февраль, 2010 12:34 ]
Заголовок сообщения:  Re: Базовые паттерны циклов

AVC писал(а):
Не будет ли здесь проблем с оптимизацией цикла (выделением индуктивной переменной)?
Оптимизация -- отдельный предмет, практически не совместимый с хорошей структурой.

Почему обязательно должна быть какая-то переменная.

Автор:  Valery Solovey [ Среда, 03 Март, 2010 17:10 ]
Заголовок сообщения:  Re: Поиск элемента матрицы

В таком случае, возвращаемся опять к

WHILE (i < N*M) & ~(arr[i MOD N, i DIV N] = x) DO INC (i) END

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

Страница 3 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/