Pull to refresh
164
1.1

Человек

Send message

Тоже этим грешу. Один - это надстройка над SQL для решения задач промышленной автоматизации, другой - встраиваемый для математических вычислений, прямо сейчас переживающий очередную реинкарнацию.

Но хотелось бы добавить, что множество новых языков вызывает ощущение "язык ради языка", то есть не ради решения конкретных задач, а для удовлетворения ЧСВ автора, особенно когда он позиционируется как мульти-парадигма-идальный на все случаи жизни. При этом в его концепции либо ничего принципиального нового, либо совершенно упоротый синтаксис. Каких только убийц с++ не появлялось, а тот всё жив и жив. Язык D тому наглядный пример.

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

А в современном мире делают современные калькуляторы с настоящими кнопками?

Следующий этап будет посложнее (разбор мат.выражений с учётом приоритетов), но тоже посильный для самостоятельного выполнения. Раньше я его делал рекурсивно (что просто и интуитивно понятно), но на это раз решил построить постфиксное дерево алгоритмом сортировочной станции. Преимущество его в том, что вычисляется выражение просто перебором узлов в цикле (в режиме интерпретации, компилировать ещё не пробовал). Ну и самое главное - смог наконец реализовать неявное умножение, а аргументы функций писать без скобочек:

y = a sin x pi + b cos x pi
z = (a+b)(c+d)

Эта часть тоже примерно 300 строк кода заняла, если не считать инфраструктуру для функций.

Просто покажите готовую формулу, результат которой совпадёт с результатом автора, и все вопросы отпадут. Программы, знаете ли, не работают на мысленных экспериментах - математика это не философия.

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

Ну, delta и Day - это два аргумента, а не один. Ниже я привёл своё аналитическое решение, с численным от автора он совпадает. Если у вас есть другое, более простое решение - будет очень интересно посмотреть.

Аналитическое решение:

Может, вручную можно ещё подсократить.

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

Для тех, кто вожделеет увидеть заветную цифру "69.9" на весах - нет.

Советского образца - потому что в СССР ЗОЖ навязывался принудительно и гантели с гирями были везде, но без того разнообразия, которое есть в СпортМастере. И в спортМастере я таких тоже не видел, покупал в комиссионках и отжимал у знакомых.

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

Конечно по душе. Это ещё один немаловажный момент - нельзя получить саморазвитие через насилие над собой. Другой вопрос, что мыслить в направлении оправданий ничегонеделания намного проще и сложно удержаться от выводов типа "спортзала рядом нет, велодорожек нет, вешать турник хозяин не разрешает, без сладкого я злой и работать не могу", тысячи их.

Ну да, лёгкими. И педали тоже должны легко крутиться, иначе колени кончаешь. Спустя некоторое время тренировок и 50 км без еды и воды легко проезжается. В этом и смысл велосипеда - лёгкая нагрузка, легче, чем бег.

Гантели и гири - это совершенно разные спортивные снаряды с принципиально разными упражнениями. В принципе, одна гантеля может выступать а качестве гири (я начинал именно так, с 1.5 кг) но не наборная, а литая советского образца.

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

Тяжёлая атлетика - это способ набрать вес, а не сбросить его. Ну или перейти из категории "толстый" в категорию "накаченный чувак" с тем же весом. И качалка тут не обязательна, достаточно парой гирь разного веса обзавестись. Я так с 58 до 72 набрал за пару лет.

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

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

Вот так я вижу лексический анализатор здорового человека бывшего курильщика. Шарп си-подобный, не должно возникнуть проблем с пониманием, и комментарии тоже есть. Токен "новая строка" оставил для отладки. Также оставил строку с escape-символами и число с плавающей точкой и суффиксом (типа 1.2е-3km) - просто чтобы попытаться сделать это же регэкспами и сравнить сложность. В типе Lexem помимо токена также присутствует категория (для упрощения дальнейшего разбора) и координаты (чтобы сообщения об ошибках адресно выводить).

Более общее и универсальное надо делать самому. Как вариант - это наоборот, в плюсах делать нумерацию с единицы (то есть после инициализации декрементировать ссылку на массив). При портировании программ с Фортрана так и делают в основном.

Можно попробовать - но не уверен, что результат поместится в поля комментария. И на шарпе будет, не питон.

Information

Rating
1,204-th
Location
Россия
Works in
Registered
Activity