[Задача] Круг со стрелкой [до 12.08.2009]

Различные конкурсы нашего портала

Какой вариант решения вы выбираете?

Опрос закончился 14 авг 2009, 08:56

Решение 1
0
Голосов нет
Решение 2
1
14%
Решение 3
0
Голосов нет
Решение 4_1
0
Голосов нет
Решение 4_2
2
29%
Решение 5
4
57%
 
Всего голосов: 7

Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

Хочу понять почему пятый вариант более производительный чем остальные?
Из-за использования константы вместо пи?
Или использование Replace Array Subset Function с уже созданным один раз массивом лучше чем Build Array каждый цикл?
Или может сыграла свою роль объединённая функция Sin и Cos?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Eugen Graf »

Всё вместе + то, что окружность создаётся один раз, а во втором цикле не высчитывается точка конца стрелки, а берётся из первого. Это так же было моей идеей, когда я делал своё решение.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

Если бы не:
У претендентов № 4 и № 5 в циклы я добавил задержки 100 мс. Просьба и в дальнейшем присылать работоспособные решения, которые сразу запустил и посмотрел, а не ломал голову, почему нет движения стрелки
У претендента № 5 решение задействовало сторонний пакет - это не допустимо. В дальнейшем давайте договоримся - решение должно выполняться в абсолютно чистой 8.0, без всяких дополнительных тулкитов и примочек
Решение претендента № 5 изменено для соответствия требованиям.
Я бы выбрал его
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Pavel Krivozubov »

Если бы не что? и что бы ты выбрал? поясни.
дело в том что эта информация ни в коем разе не должна влиять на выбор, она была написана скорее в назидание на будущее. Так что считай что её нет. Поэтому ты можешь переголосовать (это кстати как я понял допустимо в этом движке опроса).
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Eugen Graf »

Поясняю, там был прибор DegToRad из библиотеки MGI, я этот прибор открыл и скопировал содержимое в решение. Это как раз то умножение на константу в первом цикле.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

Indey, я не знаю какая часть кода была сразу, а какую написал ты. Поэтому не знаю за что именно голосую.
Ясно. Тогда я переголосую :wink:
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Pavel Krivozubov »

FireFly, я же написал - я поставил задержку 100 мс. она в пятом примере одна (как и в 4.1. и 4.2.)
Что непонятного то? :D Eg убрал в пятом решении то что он написал выше.
Так что повторяю - это все не должно влиять на твой выбор. Воспринимай прибор таким какой он есть, а та инфа была сугубо для будущих конкурсов.
ок.
извиняюсь перед всеми претендентами за этот ляп. :cry:
я просто не думал, что кто-то может так сурово трактовать эту информацию не относящуюся к теме :D
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

Indey писал(а):FireFly, я же написал - я поставил задержку 100 мс. она в пятом примере одна (как и в 4.1. и 4.2.)
Что непонятного то? :D Eg убрал в пятом решении то что он написал выше.
Так что повторяю - это все не должно влиять на твой выбор. Воспринимай прибор таким какой он есть, а та инфа была сугубо для будущих конкурсов.
Про то, какой именно сторонний тулкит убрал eg я узнал только что и сразу переголосовал. Просто вдруг там был здоровенный тулкит по рисованию часовой стрелки :D И собственного кода автора было чуть, как тогда голосовать? А теперь когда всё ясно, я составил полное мнение.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

eg писал(а):+ то, что окружность создаётся один раз, а во втором цикле не высчитывается точка конца стрелки, а берётся из первого. Это так же было моей идеей, когда я делал своё решение.
Этот подход, кстати, есть и в третьем варианте (за что он первоначально и получил мой голос), однако даже без Property Node он самый долгий...

Считаю особенным преимуществом этого конкурса то, что можно сравнить производительность довольно примитивного кода написанного слегка по-разному. Знания о том как на простых частях кода можно хотя бы немного повысить производительность (а в случае каких-нибудь грандиозных вычислений возможно очень даже серьёзно) явно будут полезны.
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Viktor

Activity Professionalism Tutorials Black
expert
expert
Сообщения: 1408
Зарегистрирован: 23 мар 2008, 10:56
Награды: 4
Версия LabVIEW: 2020
Откуда: Санкт-Петербург
Благодарил (а): 17 раз
Поблагодарили: 3 раза
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Viktor »

Да, 5-й вариант рулит :super:
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

Мало голосов. Всего 6 :(
Я неоднократно видел сообщения от наших модераторов на других LabVIEW форумах, может кинете рекламку с просьбой поучавствовать в выборе лучшего решения?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение mzu2006 »

  • Решение 1 Решение работает, подписан смысл констант, грамотная синхронизация но:
    1. Параметры круга считаются 2 раза
    2. Неряшливая БД
    3. Нет комментариев, документации
    Резюме: точка отсчёта
  • Решение 2 Решение работает, подписан смысл констант, есть комментарии, БД хорошо читается, грамотная синхронизация но:
    1. Параметры круга считаются 2 раза
    2. Нет документации
    Резюме: Решение такое же как 1 но выигрывает за счёт стиля
  • Решение 3 Решение работает, читаемая БД, данные круга считаютсявсего 1 раз, понравился лаконичный вид передней панели, но:
    1. используемый способ синхронизации приводит к набегу ошибки.
    2. Нет комментариев, документации
    3. Неоправданное использование property node
    Резюме: решение приятнее чем 1.
  • Решение 4.1 Решение почти работает, иконка не является иконкой по умолчанию, красивая стрелочка, лаконичная передняя панель, грамотная оптимизация вычислений но:
    1. используемый способ синхронизации приводит к набегу ошибки.
    2. Нет вообще никаких комментариев, документации
    3. неряшливая БД, скрытые проволочки
    4. В конце оборота изображение стрелочки искажается. Возможно, где-то ошибка +-1.
    Резюме: решение приятнее чем 1, но имеет недостаток, лучшее общее впечатление
    чем от 3, понравился ход мыслей (т.е. инновационность).
  • Решение 4.2 Решение работает, иконка не является иконкой по умолчанию, красивая стрелочка, красивая и читаемая БД.
    1. используемый способ синхронизации приводит к набегу ошибки.
    2. Нет комментариев, документации
    3. Некоторая неоптимальность по сравнению с 4.1
    Резюме: мне понравился стиль БД за вычетом пары мелочей.
  • Решение 5 Решение работает, красиво сделана оптимизация (функция sin/cos - это одна команда x86 сопроцессора), на БД присутствует комментарий, но
    1. используемый способ синхронизации приводит к набегу ошибки.
    2. Нет документации, подписей к константам
    3. Проволочки от первого цикла идут наверх, что затрудняет чтение БД
    Резюме: мне понравился ход мыслей (т.е. инновационность), чемпион по скорости.
Я выбираю решение номер 5, и решение 4.1 на втором месте. Способ синхронизации в качестве критерия оценки я не учитывал, т.к. не было заявлено в условии задачи.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Pavel Krivozubov »

ок! сделаем!
Кстати я предлагаю чуть сместить время подведения итогов.
Часом раньше, часом позже.. Предлагаю огласить победителя в 16.30? Как вы к этому относитесь?
Или наоборот стоит перенести на попозже, допустим часов на 20.00. ?
Аватара пользователя
FireFly

Activity Black
expert
expert
Сообщения: 1321
Зарегистрирован: 25 апр 2009, 08:58
Награды: 2
Версия LabVIEW: 2014
Откуда: Санкт-Петербург
Поблагодарили: 1 раз

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение FireFly »

mzu2006 писал(а):используемый способ синхронизации приводит к набегу ошибки.
Что именно имеется ввиду? То что циклу For не заданно число циклов явно, и он определяет его по размеру минимального входящего массива? Что в таком подходе не так?
Иногда лучше молчать и слыть идиотом, чем заговорить и развеять все сомнения.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: [Задача] Круг со стрелкой [до 12.08.2009]

Сообщение Pavel Krivozubov »

mzu2006, а о какой документации идёт речь?
Ответить

Вернуться в «Конкурсы»