№10 Мощность лампы накаливания
ЛАБОРАТОРНАЯ РАБОТА № 10
Тема: «Исследование зависимости мощности, потребляемой лампой накаливания, от напряжения на её зажимах»
Цель: провести исследования зависимости между напряжением и мощностью на лампе накаливания, а так же выяснить, как зависит температура накала лампы от потребляемой мощности.
Оборудование: электрическая лампа, источник постоянного напряжения, реостат ползунковый, амперметр, вольтметр, ключ, соединительные провода.
Теоретическая часть
Мощность тока – величина, характеризующая, с какой скоростью совершается работа тока. Так как работа тока может быть определена по формуле
А= ∙U ∙ t ,
то мощность тока P
( 1 ) P =U ∙ I [ P ] = Вт
Из формулы видно, что мощность тока зависит от напряжения.
Если в цепь подключено несколько потребителей, то мощность во всей внешней цепи при любом соединении равна сумме мощностей на отдельных участках цепи. При работе электрических приборов ток оказывает тепловое действие, которое влияет на их сопротивление, а значит и на потребляемую мощность.
Исследуем данные зависимости экспериментально.
Порядок проведения работы:
Составить цепь по схеме, изображенной на рисунке
При помощи реостата установить наименьшее значение напряжения и замкнуть цепь. Записать показания вольтметра и амперметра.
Постепенно выводя реостат, записывать значение напряжения и силы тока, сняв еще 2 показания.
Для каждого значения напряжения мощность, потребляемую лампой, подсчитать по формуле: P=U∙ I.
Для каждого опыта подсчитать:
а) сопротивление нити лампы в рабочем состоянии RT= ;
б) изменение температуры нити лампы по формуле ,
где — температурный коэффициент сопротивления вольфрама;
R0– сопротивление нити лампы при 0С (узнайте у преподавателя),
в) температуру накала лампы вычислить по формуле Т=Т0+Т.
№ опыта | Напряжение на зажимах лампы U, В | Сила тока в лампе I, А | Мощность, потребляемая лампой P, Вт | Сопротивление нити накала | Температура накала Т, К |
1 | |||||
2 | |||||
3 |
7.
ОТЧЕТ ПО РАБОТЕ:
ВЫВОД: |
Контрольные вопросы
1. Сформулируйте физический смысл мощности.
2. Какие формулы для нахождения мощности электрической цепи вам известны? Какие из приведённых формул удобно использовать при последовательном и параллельном соединениях потребителей электрического тока? Почему?
3. Используя формулу , предложите дополнительную единицу измерения работы. Где вы встречали данную единицу измерения? Свяжите эту единицу с системной единицей работы.
4. а) Как называют прибор, используемый для измерения мощности тока?
б) Как называют прибор для измерения работы тока? Где вы с этим прибором встречались?
ОТВЕТЫ НА КОНТРОЛЬНЫЕ ВОПРОСЫ:
1.Сформулируйте физический смысл мощности. |
2. Какие формулы для нахождения мощности электрической цепи вам известны? Какие из приведённых формул удобно использовать при последовательном и параллельном соединениях потребителей электрического тока? Почему? |
3.Используя формулу , предложите дополнительную единицу измерения работы. Где вы встречали данную единицу измерения? Свяжите эту единицу с системной единицей работы. |
4. а) Как называют прибор, используемый для измерения мощности тока? б) Как называют прибор для измерения работы тока? Где вы с этим прибором встречались? |
РАСЧЁТ МОЩНОСТИ ОХЛАЖДЕНИЯ. ПРИМЕРЫ. — enteksys.ru
При подборе чиллера основной задачей является определение требуемой мощности охлаждения. От этого параметра будут зависеть и мощность чиллера и размер и выбор схемы всей системы охлаждения в целом.
В данной статье мы рассмотрим несколько простых вариантов расчёта чиллера для охлаждения, которые в основном могут понадобиться для расчёта мощности охлаждения различных технологических процессов на производстве.
Мощность охлаждения или нагрева, или, другими словами, тепловая мощность и мощность охлаждения определяется как быстрота выделения тепла и равна отношению количества теплоты ко времени, в течение которого она выделялась:
Где: — количества теплоты (Дж), t – время в течение которого теплота выделялась (с).
Как известно, количество теплоты в общем виде зависит от массы, теплоёмкости тела, разницы начальной и конечной температур и определяется формулой:
Где: m-масса (кг), c — удельная теплоёмкость (Дж*кг* ⁰С), ΔT – разница между начальной и конечной температурой.
В том случае если начальная температура больше конечной количество теплоты будет отрицательным, тело охлаждается. Если положительным — нагревается.
Подставляя значение количества теплоты в формулу тепловой мощности получаем:
Из формулы видим, что мощность охлаждения или нагрева зависит от массы, теплоёмкости изменения температуры и времени.
Представив формулу в виде:
Видим, что отношение массы ко времени — это массовый расход. Соответственно представляя массу как произведение объёма на плотность легко получить формулу мощности охлаждения для некоторого объёма вещества или объёмного расхода вещества. А именно:
Оперируя этими двумя формулами, мы можем вычислить мощность нагрева и охлаждения любого тела без перехода фазового состояния.
Допустим нам необходимо охладить полиэтиленовый гранулят массой 5 тонн после формования за 1 час. Температура после формования, например 220 ⁰С. Температура до которой необходимо охладить – 60 ⁰С. Зная теплоёмкость полиэтилена равную 2,2 (кДж*кг*⁰С), используем формулу нахождения мощности через массу:
Мощность необходимая для охлаждения 5-ти тонн полиэтилена равна 490 кВт.
Далее рассмотрим пример вычисления мощности охлаждения некоторого объёма жидкости. Возьмём для примера 2000 л молока после приёмки и охладим его до необходимой температуры 2-4 ⁰С за 2 часа.
Теплоёмкость парного молока 3,93 (кДж*кг*⁰С)
Плотность – 1018 (кг/м3)
Подставляя всё в формулу вычисления мощности через объём и плотность получаем:
Мощность необходимая для охлаждения 2000 л парного молока равна 41,12 кВт.
В следующем примере рассмотрим охлаждение технологического процесса, охлаждаемого проточной водой, с целью перевести охлаждение на циркуляционное.
Для вычислений нам понадобятся расход воды и температура на входе в охлаждаемое оборудование и на выходе из него.
Предположим, что расход охлаждающей воды составил 4 м3/час, температура на входе 15 ⁰С, а на выходе 45 ⁰С.
Используем соответствующую формулу:
В целом, используя приведённые три примера возможно рассчитать мощность охлаждения для большинства технологических процессов на производстве.
Формула степени комплексного числа — GeeksforGeeks
Комплексные числа — это числа с формулой a + ib, где a и b — действительные числа, а I (йота) — мнимая составляющая и представляет (-1) и часто представляются в виде прямоугольника или стандартная форма. Например, 10 + 5i — это комплексное число, в котором 10 представляет действительную часть, а 5i — мнимую часть. В зависимости от значений a и b они могут быть полностью реальными или чисто фиктивными. Когда a = 0 в a + ib, ib — вполне мнимое число, а когда b = 0, мы получаем a, строго действительное число.
Формула степени комплексного числа
Чтобы разложить комплексное число в соответствии с указанным показателем степени, его необходимо сначала преобразовать в полярную форму, компонентами которой являются модуль и аргумент. После этого применяется теорема Де Муавра, которая гласит:
Формула Муавра утверждает, что для всех действительных значений числа, скажем, x, (nx), где n — любое целое число.
Вывод формулы
Теорему Де Муавра можно вывести/доказать с помощью математической индукции следующим образом: nx) ⇢ (1)
При n = 1 получаем:
(cos x + i sin x) 1 = cos(1x) + i sin(1x) = cos(x) + i sin(x) ), что является правдой.
Предположим, что формула верна для любого целого числа, скажем, n = k. Тогда
(cos x + i sin x) k = cos(kx) + i sin(kx) ⇢ (2)
Теперь нам нужно доказать, что формула верна для n = k + 1.
(cos x + i sin x) k+1 = (cos x + i sin x)k (cos x + i sin x)
= (cos (kx) + i sin (kx)) (cos x + i sin x) [Используя (i) ]
= cos (kx) cos x − sin(kx) sinx + i (sin(kx) cosx + cos(kx) sinx)
= cos {(k + 1)x} + i sin {(k + 1)x}
⇒ (cos x + i sin x)k+1 = cos {(k + 1)x} + i sin {(k + 1)x}
Следовательно, результат доказан.
Примеры вопросовВопрос 1: Расширить (1 + i) 5 .
Решение:
Здесь r = = , θ = π/4
Полярная форма (1 + i) =
) п = cos(nθ) + i sin(nθ).
Таким образом, (1 + i) 5 =
=
= −4 − 4i
Вопрос 2: Раскройте (2 + 2i) 6 .
Решение:
Здесь r = , θ = π/4
Полярная форма (2 + 2i) =
Согласно теореме Муавра: (cosθ + sin θ) n = cos (nθ) + i sin(nθ).
Таким образом, (2 + 2i) 6 =
=
= 512 (-i)
= −512i
9 0005 Вопрос 3: Развернуть (1 + i) 18 .
Решение:
Здесь r = , θ = π/4
Полярная форма (1+i) =
Согласно теореме Муавра: (cosθ + sinθ) n = cos(nθ) + isin(nθ).
Таким образом, (1 + i) 18 =
=
= 512i
Вопрос 4: Разложить (-√3 + 3i) 9 0016 31 .
Решение:
Здесь r = , θ = 2π/3
Полярная форма (-√3 + 3i) =
Согласно теореме Муавра: (co sθ + sinθ) n = cos(nθ) + i sin(nθ).
Таким образом, (-√3 + 3i) 31 =
Вопрос 5: Разверните (1 – i) 10 .
Решение:
r = , θ = π/4
Полярная форма (1 – i) =
Согласно теореме Муавра: (cosθ + sinθ ) n = cos(nθ ) + i sin(nθ).
Таким образом, (1 – i) 10 =
=
= 32 [0 + i(-1)]
= 32 (-i)
= -32i
Вопрос 6: Упростить (1 + √3i) 6 .
Решение:
Модуль (1 + √3i) 6 =
Аргумент = tan -1 (√3/1) = загар -1 (√3) = π/ 3
⇒ Полярная форма =
Теперь (1 + √3i) 6 =
Согласно теореме Де Муавра (cos x + isinx) n = cos(nx) + isin(nx ).
⇒
=
= 64 (cos 2π + i sin 2π) 9{√3} =
Согласно теореме Де Муавра: (cosθ + isinθ) n = cos(nθ) + isin(nθ).
⇒
=
Обзор Microsoft Power Fx — Power Platform
- Статья
Power Fx — это язык с низким кодом, который будет использоваться в Microsoft Power Platform. Это универсальный, строго типизированный, декларативный и функциональный язык программирования.
Power Fx представлен понятным для человека текстом. Это язык с низким кодом, с которым производители могут работать непосредственно в строке формул, подобной Excel, или в текстовом окне Visual Studio Code. «Низкий» в low-code объясняется лаконичным и простым характером языка, упрощающим общие задачи программирования как для создателей, так и для разработчиков. Это обеспечивает полный спектр разработки от без кода для тех, кто никогда раньше не программировал, до «профессионального кода» для опытного профессионала, без обучения или переписывания обрывов между ними, что позволяет различным командам сотрудничать и экономить время и деньги.
Примечание
- Microsoft Power Fx — это новое название языка формул для приложений на основе холста в Power Apps. Этот обзор и связанные с ним статьи находятся в стадии разработки, поскольку мы извлекаем язык из приложений на основе холста, интегрируем его с другими продуктами Microsoft Power Platform и делаем его доступным с открытым исходным кодом. Чтобы узнать больше о языке и испытать его сегодня, начните с Начало работы с формулами в приложениях на основе холста в документации Power Apps и подпишитесь на бесплатную пробную версию Power Apps.
- В этой статье мы ссылаемся на производителей , когда описываем функцию, которая может использоваться на любом конце спектра навыков программирования. Мы называем пользователя разработчиком , если функция является более сложной и, вероятно, выходит за рамки обычного пользователя Excel.
Power Fx связывает объекты вместе с декларативными формулами, подобными электронным таблицам. Например, представьте свойство Visible элемента управления пользовательского интерфейса как ячейку на листе Excel со связанной формулой, которая вычисляет его значение на основе свойств других элементов управления. Логика формулы автоматически пересчитывает значение, аналогично тому, как это делает электронная таблица, что влияет на видимость элемента управления.
Кроме того, Power Fx при необходимости предлагает императивную логику. На листах обычно нет кнопок, которые могут отправлять изменения в базу данных, но в приложениях они часто есть. Один и тот же язык выражений используется как для декларативной, так и для императивной логики.
Power Fx будет доступен как программное обеспечение с открытым исходным кодом. В настоящее время он интегрирован в приложения на основе холста, и мы извлекаем его из Power Apps для использования в других продуктах Microsoft Power Platform и в качестве открытого исходного кода. Дополнительная информация: Microsoft Power Fx на GitHub
Эта статья представляет собой обзор языка и принципов его разработки. Чтобы узнать больше о Power Fx, см. следующие статьи:
- Типы данных
- Операторы и идентификаторы
- Таблицы
- Переменные
- Императивная логика
- Глобальная поддержка
- Грамматика выражений
- Грамматика формулы YAML
Думайте о электронной таблице
Что, если бы вы могли создать приложение так же просто, как рабочий лист в Excel?
Что, если бы вы могли воспользоваться своими знаниями в области электронных таблиц?
Эти вопросы вдохновили на создание Power Apps и Power Fx. Сотни миллионов людей ежедневно создают рабочие листы в Excel; давайте обеспечим им простое создание приложений с использованием знакомых им концепций Excel. Отделив Power Fx от Power Apps, мы собираемся ответить на эти вопросы об автоматизации построения, виртуальном агенте или других областях.
Все языки программирования, включая Power Fx, имеют выражения : способ представления вычислений над числами, строками или другими типами данных. Например, масса * ускорение
на большинстве языков выражает произведение массы на
и ускорения на
. Результат выражения можно поместить в переменную, использовать в качестве аргумента процедуры или вложить в большее выражение.
Power Fx делает еще один шаг вперед. Выражение само по себе ничего не говорит о том, что оно вычисляет. Создатель должен поместить его в переменную или передать функции. В Power Fx вместо того, чтобы просто написать выражение, не имеющее конкретного значения, вы пишете формула , которая связывает выражение с идентификатором. Вы пишете сила = масса * ускорение
как формулу для вычисления силы
. Когда масса
или ускорение
изменяются, сила
автоматически обновляется до нового значения. Выражение описывало вычисление, формула давала этому вычислению имя и использовала его как рецепт. Вот почему мы называем Power Fx языком формул .
Например, эта формула из Stack Overflow ищет строку в обратном порядке. В Excel это выглядит следующим образом.
Скриншот строки формул в Excel с формулой: =ВПРАВО(A1,ДЛИН(A1)- НАЙТИ(«|», ПОДСТАВИТЬ(A1,» «,»|», ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1,» «,»»))))) Ячейка A1 содержит текст «Привет, мир! Приятно познакомиться!» Ячейка A2 содержит текст «вы!»
Power Fx работает по той же формуле, но ссылки на ячейки заменены ссылками на свойства управления:
Снимок экрана строки формул Power Fx в Power Apps. Формула =ВПРАВО(Ввод.Текст,Длина(Ввод.Текст)- НАЙТИ(«|», ПОДСТАВИТЬ(Ввод.Текст,» «,»|», Лен(Ввод.Текст)-Лен(Подстановка(Ввод.Текст,» «,»»)))) В поле ввода под формулой появится текст «Привет, мир! Приятно познакомиться!» появляется, буква за буквой. В то же время в поле Метка появляются буквы последнего слова. Когда в поле ввода появится полный текст, слово «вы!» появится в поле Метка.
При изменении значения элемента управления Input
элемент управления Label
автоматически пересчитывает формулу и показывает новое значение. Здесь нет обработчиков событий OnChange
, которые были бы распространены в других языках.
Другой пример, в котором используется формула для Заливки
цвета экрана. При изменении ползунков, управляющих красным, зеленым и синим цветом, цвет фона автоматически изменяется по мере его пересчета.
Нет событий OnChange
для ползунковых элементов управления, как в других языках. Невозможно явно установить значение свойства Fill
. Если цвет не работает должным образом, вам нужно взглянуть на эту формулу, чтобы понять, почему она не работает. Вам не нужно искать в приложении фрагмент кода, который устанавливает свойство в неожиданное время; нет элемента времени. Правильные значения формулы всегда сохраняются.
Поскольку ползунки установлены на темный цвет, для компенсации метки красного, зеленого и синего меняются на белые. Это делается с помощью простой формулы для свойства Цвет
для каждого элемента управления надписями.
Что хорошо в этом, так это то, что он изолирован от того, что происходит с цветом Fill
: это два совершенно разных вычисления. Вместо больших монолитных процедур логика Power Fx обычно состоит из множества независимых формул меньшего размера. Это упрощает их понимание и позволяет вносить улучшения, не нарушая существующей логики.
Power Fx является декларативным языком, как и Excel. Создатель определяет, какое поведение они хотят, но система должна определить и оптимизировать, как и когда это осуществить. Чтобы сделать это практичным, большая часть работы выполняется с помощью чистых функций без побочных эффектов, что делает Power Fx также функциональным языком (опять же, как и Excel).
Всегда активны
Отличительной чертой рабочих листов является то, что они всегда активны, а изменения отражаются мгновенно. На рабочем листе нет режима компиляции или запуска. Когда формула изменяется или вводится значение, рабочий лист немедленно пересчитывается, чтобы отразить изменения. Любые обнаруженные ошибки немедленно отображаются и не мешают остальной части рабочего листа.
То же самое реализовано в Power Fx. Инкрементный компилятор используется для постоянной синхронизации программы с данными, с которыми она работает. Изменения автоматически распространяются через график программы, влияя на результаты зависимых вычислений, которые могут управлять свойствами элементов управления, такими как цвет или положение. Инкрементный компилятор также предоставляет широкие возможности редактирования формул с помощью IntelliSense, предложений, автозаполнения и проверки типов.
На анимации ниже номер заказа отображается в элементе управления меткой, зависящем от ползунка, несмотря на то, что на метках под ним есть две ошибки. Приложение очень живое и интерактивное. Первая попытка исправить формулу вводом .InvalidName
приводит к немедленной красной строке и отображению ошибки, как и должно быть, но приложение продолжает работать.
При вводе .Employee
это приводит к тому, что панель данных
добавляет таблицу «Сотрудники», извлекаются метаданные для этой таблицы и немедленно предлагаются варианты столбцов. Мы просто перешли связь из одной таблицы в другую, и система внесла необходимые коррективы в ссылки приложения. То же самое происходит при добавлении .Клиент
.
После каждого изменения ползунок сохраняет свое последнее значение, и все переменные сохраняют свое значение. На протяжении всего времени номер заказа продолжал отображаться на верхней этикетке, как и должно быть. Приложение все время работало, обрабатывая реальные данные. Мы можем сохранить его, уйти, а другие могут открыть и использовать его так же, как Excel. Нет шага сборки, нет компиляции, есть только шаг публикации, чтобы определить, какая версия приложения готова для пользователей.
Младший код
Power Fx описывает бизнес-логику в кратких, но мощных формулах. Большую часть логики можно свести к одной строке с большим количеством выразительности и контроля для более сложных нужд. Цель состоит в том, чтобы свести к минимуму количество концепций, которые должен понимать производитель, — в идеале не больше, чем уже знает пользователь Excel.
Например, чтобы найти имя сотрудника для заказа, вы пишете Power Fx, как показано на следующей анимации. Помимо концепций Excel, единственная добавленная концепция, используемая здесь, — это точка 9.0005 «.» нотация для детализации структуры данных, в данном случае .Employee.'First Name'
. Анимация показывает сопоставление между частями формулы Power Fx и концепциями, которые необходимо явно закодировать в эквивалентном JavaScript.
Давайте более подробно рассмотрим все, что Power Fx делает для нас, и ту свободу, которую он имеет для оптимизации, поскольку формула была декларативной: . Создателю не нужно указывать это, и ему не нужно синхронизировать операции после завершения вызова. Создателю вообще не нужно знать об этой концепции, ему не нужно знать, что такое обещание или лямбда-функция.
Локальные и удаленные : Power Fx использует один и тот же синтаксис и функции для данных, которые находятся локально в памяти и удаленно в базе данных или службе. Пользователю не нужно думать об этом различии. Power Fx автоматически делегирует серверу все, что может, для более эффективной обработки фильтров и сортировок.
Реляционные данные : Orders и Customers — это две разные таблицы со связью «многие к одному». Запрос OData требует «$expand» со знанием внешнего ключа, аналогично присоединению в SQL. В формуле нет ничего из этого; на самом деле, ключи базы данных — это еще одна концепция, о которой разработчику знать не нужно. Создатель может использовать простую точечную нотацию для доступа ко всему графу отношений из записи.
Проекция : при написании запроса многие разработчики пишут select * from table
, что возвращает все столбцы данных. Power Fx анализирует все столбцы, которые используются во всем приложении, даже в зависимостях формул. Проекция автоматически оптимизируется, и, опять же, производителю не нужно знать, что означает «проекция».
Получить только то, что необходимо : В этом примере функция LookUp
подразумевает, что должна быть извлечена только одна запись, и это все, что возвращается. Если запрашиваются дополнительные записи с помощью Функция фильтра
, которой могут соответствовать тысячи записей, за раз возвращает только одну страницу данных, порядка 100 записей на страницу. Пользователь должен провести пальцем по галерее или таблице данных, чтобы увидеть больше данных, и они будут автоматически введены для него. Производитель может рассуждать о больших наборах данных, не задумываясь об ограничении запросов данных управляемыми фрагментами.
Запускается только при необходимости : Мы определили формулу для Text
свойство элемента управления label. При изменении выбранной переменной LookUp
автоматически пересчитывается, и метка обновляется. Создателю не нужно было писать обработчик OnChange для Selection и не нужно было помнить, что эта метка зависит от него. Это декларативное программирование, как обсуждалось ранее: производитель указывает, что он хочет иметь в этикетке, а не как или когда это должно быть получено. Если эта метка не видна, потому что она находится на невидимом экране, или ее Свойство Visible
имеет значение false, мы можем отложить этот расчет до тех пор, пока метка не станет видимой, и эффективно устранить ее, если это случается редко.
Перевод синтаксиса Excel : Excel используется многими пользователями, большинство из которых знают, что амперсанд ( и ) используется для объединения строк. В JavaScript используется знак плюс ( + ), а в других языках используется точка (. ).
Отображаемые имена и локализация : Имя
используется в формуле Power Fx, а nwind_firstname
используется в эквиваленте JavaScript. В Microsoft Dataverse и SharePoint есть отображаемое имя для столбцов и таблиц в дополнение к уникальному логическому имени. Отображаемые имена часто гораздо более удобны для пользователя, как в этом случае, но у них есть еще одно важное качество, заключающееся в том, что их можно локализовать. Если у вас многоязычная команда, каждый член команды может видеть имена таблиц и полей на своем родном языке. Во всех случаях использования Power Fx обеспечивает автоматическую отправку в базу данных правильного логического имени.
Без кода
Вам не нужно читать и писать Power Fx, чтобы начать выражать логику. Существует множество настроек и логики, которые можно выразить с помощью простых переключателей и конструкторов пользовательского интерфейса. Эти инструменты без кода были созданы для чтения и записи Power Fx, чтобы гарантировать, что у кого-то будет достаточно места для дальнейшего развития, признавая при этом, что инструменты без кода никогда не предложат всю выразительность полного языка. Даже при использовании со сборщиками без кода панель формул находится в центре Power Apps, чтобы информировать создателей о том, что делается от их имени, чтобы они могли начать изучать Power Fx.
Давайте рассмотрим несколько примеров. В Power Apps панель свойств содержит переключатели и ручки без кода для свойств элементов управления. На практике большинство значений свойств являются статическими. Вы можете использовать построитель цвета, чтобы изменить цвет фона галереи
. Обратите внимание, что строка формул отражает это изменение, обновляя формулу до другого вызова RGBA
. В любой момент вы можете перейти к строке формул и сделать еще один шаг — в этом примере, используя ColorFade
для настройки цвета. Свойство цвета по-прежнему отображается на панели свойств, но при наведении курсора появляется значок fx , и вы перенаправляетесь в строку формул. Это полностью работает двумя способами: удаление вызова ColorFade
возвращает цвет к тому, что панель свойств может понять, и вы можете использовать его снова, чтобы установить цвет.
Вот более сложный пример. В галерее представлен список сотрудников Dataverse. Dataverse обеспечивает просмотр данных таблицы. Мы можем выбрать одно из этих представлений, и формула изменится, чтобы использовать Фильтр
функции с этим именем представления. Два раскрывающихся меню можно использовать для выбора нужной таблицы и просмотра, не касаясь строки формул. Но допустим, вы хотите пойти дальше и добавить сортировку. Мы можем сделать это в строке формул, и панель свойств снова покажет значок fx и направит изменения в строку формул. И снова, если мы упростим формулу до того, что панель свойств сможет читать и записывать, ее снова можно будет использовать.
Это были простые примеры. Мы считаем, что Power Fx — отличный язык для описания взаимодействий без кода. Он лаконичен, мощен и прост в анализе, а также обеспечивает запас прочности, который так часто необходим, с «отсутствием обрывов» вплоть до low-code.
Код Pro
Создатели low-code иногда создают вещи, которые требуют помощи эксперта или передаются профессиональным разработчикам для поддержки и улучшения. Профессионалы также понимают, что разработка с низким кодом может быть проще, быстрее и дешевле, чем создание профессионального инструмента. Не во всех ситуациях требуются все возможности Visual Studio.
Профессионалы хотят использовать профессиональные инструменты для максимальной производительности. Формулы Power Fx могут храниться в исходных файлах YAML, которые легко редактировать с помощью Visual Studio Code, Visual Studio или любого другого текстового редактора и позволяют помещать Power Fx в систему контроля версий с помощью GitHub, Azure DevOps или любого другого исходного кода. система контроля.
Power Fx поддерживает компоненты на основе формул для совместного использования и повторного использования. Мы объявили о поддержке параметров для свойств компонентов, что позволяет создавать чисто пользовательские функции с дальнейшими улучшениями.
Кроме того, Power Fx отлично подходит для объединения компонентов и услуг, созданных профессионалами. Готовые коннекторы обеспечивают доступ к сотням источников данных и веб-служб, настраиваемые коннекторы позволяют Power Fx взаимодействовать с любой веб-службой REST, а компоненты кода позволяют Power Fx взаимодействовать с полностью настраиваемым JavaScript на экране и странице.
Простой
Power Fx предназначен для целевой аудитории разработчиков, члены которой не прошли обучение в качестве разработчиков. Везде, где это возможно, мы используем знания, которые эта аудитория уже знает или может быстро усвоить. Количество концепций, необходимых для успеха, сведено к минимуму.
Быть простым полезно и для разработчиков. Для аудитории разработчиков мы стремимся быть языком с низким кодом, который сокращает время, необходимое для создания решения.
Консистенция Excel
Язык Microsoft Power Fx во многом заимствован из языка формул Excel. Мы стремимся использовать в своих интересах знания и опыт Excel от многих производителей, которые также используют Excel. Типы, операторы и семантика функций максимально приближены к Excel.
Если у Excel нет ответа, мы затем обращаемся к SQL. SQL является вторым наиболее часто используемым декларативным языком после Excel и может предоставить рекомендации по операциям с данными и строгой типизации, которых нет в Excel.
Декларативный
Производитель описывает что они хотят, чтобы их логика делала, а не совсем как или когда это делать. Это позволяет компилятору выполнять оптимизацию, выполняя операции параллельно, откладывая работу до тех пор, пока она не понадобится, а также предварительно извлекая и повторно используя кэшированные данные.
Например, на листе Excel автор определяет отношения между ячейками, но Excel решает, когда и в каком порядке оцениваются формулы. Точно так же формулы в приложении можно рассматривать как «перерасчет» по мере необходимости на основе действий пользователя, изменений в базе данных или событий таймера.
Функциональный
Мы предпочитаем чистые функции, не имеющие побочных эффектов. Это приводит к более легкой для понимания логике и дает компилятору больше свободы для оптимизации.
В отличие от Excel, приложения по своей природе изменяют состояние — например, в приложениях есть кнопки, которые сохраняют изменения в записи в базе данных. Поэтому некоторые функции имеют побочные эффекты, хотя мы ограничиваем их настолько, насколько это практически возможно.
Состав
Там, где это возможно, добавленная функциональность хорошо сочетается с существующей функциональностью. Мощные функции можно разбить на более мелкие части, которые легче использовать независимо друг от друга.
Например, элемент управления Gallery не имеет отдельных свойств Sort
и Filter
. Вместо этого функции Sort
и Filter
объединены в одно свойство Items
. Пользовательский интерфейс для выражения поведения Sort
и Filter
накладывается поверх свойства Items
с помощью двустороннего редактора для этого свойства.
Строго типизированный
Типы всех значений известны во время компиляции. Это позволяет на раннем этапе обнаруживать ошибки и предлагать подробные предложения во время разработки.
Поддерживаются полиморфные типы, но прежде чем их можно будет использовать, их тип должен быть прикреплен к статическому типу, и этот тип должен быть известен во время компиляции. Функции IsType и AsType предназначены для типов тестирования и литья.
Вывод типа
Типы выводятся из их использования без объявления. Например, установка переменной в число приводит к тому, что тип переменной устанавливается как число.
Использование конфликтующего типа приводит к ошибке времени компиляции.
Десятичные разделители с учетом региональных настроек
В некоторых регионах мира в качестве десятичного разделителя используется точка ( . ), а в других — запятая ( , ). Это то, что делает Excel. Это обычно не делается в других языках программирования, которые обычно используют каноническую точку ( . ) в качестве десятичного разделителя для всех пользователей по всему миру. Чтобы быть максимально доступным для производителей всех уровней, важно, чтобы 3,14
было десятичным числом для человека во Франции, который использовал этот синтаксис всю свою жизнь.
Выбор десятичного разделителя оказывает каскадное влияние на разделитель списка, используемый для аргументов вызова функции, и оператор цепочки.
Десятичный разделитель авторского языка | Десятичный разделитель Power Fx | Разделитель списка Power Fx | Цепной оператор Power Fx |
---|---|---|---|
. (точка) | . (точка) | , (запятая) | ; (точка с запятой) |
, (запятая) | , (запятая) | ; (точка с запятой) | ;; (двойная точка с запятой) |
Дополнительная информация: Глобальная поддержка
Не объектно-ориентированный
Excel не является объектно-ориентированным, как и Power Fx. Например, в некоторых языках длина строки выражается как свойство строки, например "Hello World".length
в JavaScript. Excel и Power Fx вместо этого выражают это с точки зрения функции, как Len("Hello World")
.
Компоненты со свойствами и методами являются объектно-ориентированными, и Power Fx легко с ними работает. Но там, где это возможно, мы предпочитаем функциональный подход.
Расширяемый
Создатели могут создавать свои компоненты и функции с помощью самого Power Fx. Разработчики могут создавать свои компоненты и функции, написав JavaScript.
Подходит для разработчиков
Хотя производители являются нашей основной целью, мы стараемся быть дружелюбными к разработчикам везде, где это возможно. Если это не противоречит принципам проектирования, описанным ранее, мы делаем вещи так, чтобы разработчик это оценил. Например, в Excel нет возможности добавлять комментарии, поэтому мы используем строчные и встроенные комментарии в стиле C.
Развитие языков
Развитие языков программирования необходимо и сложно. Все справедливо обеспокоены тем, что изменение, каким бы благонамеренным оно ни было, может нарушить существующий код и потребовать от пользователей изучения нового шаблона. Power Fx серьезно относится к обратной совместимости, но мы также твердо верим, что не всегда сможем сделать это правильно с первого раза, и мы вместе узнаем, что лучше, как сообщество. Мы должны развиваться, и Power Fx с самого начала разработала поддержку эволюции языка.
Штамп версии языка прилагается к каждому сохраняемому документу Power Fx. Если мы хотим внести несовместимое изменение, мы напишем то, что мы называем «преобразователь обратной совместимости», который автоматически переписывает формулу при следующем редактировании. Если изменение является чем-то значительным, о чем нам нужно сообщить пользователю, мы также отобразим сообщение со ссылкой на документы. Используя это средство, мы по-прежнему можем загружать приложения, созданные с помощью предварительных версий Power Apps много лет назад, несмотря на все изменения, произошедшие с тех пор.
Например, мы представили функцию ShowError
для отображения сообщения об ошибке на красном фоне.
Пользователям это понравилось, но они также попросили нас показать способ показа баннера успеха (зеленый фон) или информационного баннера (синий фон). Итак, мы придумали более общую функцию Notify
, которая принимает второй аргумент для типа уведомления. Мы могли бы просто добавить Notify
и оставить ShowError
как есть, но вместо этого мы заменили ShowError
с Уведомить
. Мы удалили функцию, которая ранее была в продакшене, и заменили ее чем-то другим. Поскольку было бы два способа сделать одно и то же, это вызвало бы путаницу, особенно у новых пользователей, и, самое главное, добавило бы сложности. Никто не жаловался, все оценили изменение, а затем перешли к следующей функции уведомлений.
Так выглядит то же приложение при загрузке в последнюю версию Power Apps. От пользователя не требовалось никаких действий, чтобы это преобразование произошло, оно произошло автоматически при открытии приложения.
Благодаря этому средству Power Fx может развиваться быстрее и агрессивнее, чем большинство языков программирования.
Нет неопределенного значения
В некоторых языках, таких как JavaScript, используется концепция неопределенного значения для неинициализированных переменных или отсутствующих свойств.