Skip to content

PixelStudiosCompany/LabX

Repository files navigation

LabX

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

LabX

Программирование в среде LabX

Решение физических задач и описание физических процессов в среде LabX, реализуется на языке JavaScript.

Основные функции языка JavaScript:

1. Печать в консоль:

  1. print();

2. Создание переменных:

  1. var a = "text";
  2. var b = 10;
На имя переменной в JavaScript наложены всего два ограничения. Имя может состоять из: букв, цифр, символов $ и _ Первый символ не должен быть цифрой. Так как JavaScript является слабо типизированным языком программирования, при создании переменных не нужно указывать их тип. Достаточно просто присвоить значение.

3. Условные операторы:

  1. if (year < 2018) {
  2. print( "Это слишком рано.." );
  3. } else if (year > 2018) {
  4. print( "Это поздновато.." );
  5. } else {
  6. print( "Да, точно в этом году!" );
  7. }

4. Циклы

Цикл while:
  1. while (условие) {
  2. // код, тело цикла
  3. }
Цикл for:
  1. for (начало; условие; шаг) {
  2. // ... тело цикла ...
  3. }
  4.  
  1. var i;
  2.  
  3. for (i = 0; i < 3; i++) {
  4. print( i );
  5. }

Код проектов LabX исполняется в цикле. (соответственно если вызвать метод print(); в основном теле программы, текст будет печататься в консоль непрерывно)

Для того чтобы задать константы для проекта или напечатать текст один раз в начале выполнения проекта, в LabX предусмотрен специальный тип комментариев:

  1. /#
  2. print("Начало выполнения программы");
  3. #/

Служебные константы и объекты системы LabX

1. Служебный объект Running:

Отвечает за цикл симуляции физики. Функции и методы:
  1. Running.set(false);
Завершает симуляцию физики.
  1. Running.get();
Возвращает состояние цикла симуляции.

2. Служебная переменная TIME

В данной переменной хранится текущее время (в секундах) с начала работы программы.

Создание физических объектов

В языке программирования LabX предусмотрена возможность создания специальных шарообразных объектов, со следующими атрибутами:

  • масса
  • координаты
  • проекции скорости и ускорения на оси координат
  • цвет

Соответственно:

  • m - масса объекта
  • x - координата x объекта
  • y - координата y объекта
  • vx - проекция скорости объекта на ось x
  • vy - проекция скорости объекта на ось y
  • ax - проекция ускорения на ось x
  • ay - проекция ускорения на ось y
Таблица воможных цветов объекта:
Название Расшифровка Цвет
“black” Черный
“blue” Синий
“cyank” Циан (сине-зелёный)
“black” Черный
“darkgray” Тёмно-серый
“gray” Серый
“lightgray” Светло-серый
“green” Зелёный
“magenta” Маджента (малиновый)
“orange” Оранжевый
“pink” Розовый
“red” Красный
“yellow” Жёлтый

Пример создания объекта красного цвета, c массой 5 кг, находящийся в координатах (200,300), с проекциями скорости на оси координат (10, 10) и проекциями ускорения (2, 2).

  1. var ob1 : object(5,200,300,10,10,2,2,”red”);

Обращение к атрибутам созданных физических объектов:

  1. ob1.x=100;

Процедуры создания физических сил

Физические силы – это силы, действующие на созданные учеником объекты. Они приводят объект в движение, придают ему скорость. После нажатия кнопки “Запуск“ все объекты, на которые действуют силы, приводятся в движение. На один объект одновременно может действовать несколько сил.

Структура создания силы выглядит следующим образом:

  1. var <название силы> : force(fx,fy);

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

  1. var <название силы> : force(fx,fy);

Пример создания физической силы:

  1. var f : force(20,40);

Обращение к атрибутам созданных физических сил:

  1. f.fx=10;

Методические указания

Здесь будут представлены основные способы применения LabX на уроках в школах. Также здесь будут приведены примеры программ и упражнений, которые можно использовать на уроках. На уроках физики LabX предлагается использовать во время изучения Механики и Динамики. Объекты и силы позволяют демонстрировать характер движения тел. Рекомендуется применять LabX в решении задач на нахождение равнодействующей нескольким силам. А также для оценки пройденного телом расстояния.

Решение задач

  1. На горизонтальной крышке стола лежит учебник массой m = 1 кг. В некоторый момент на него начинает действовать сила F, модуль которой равен 2 Н. В результате учебник начинает двигаться поступательно. Определите ускорение учебника, если коэффициент трения μ, между ним и поверхностью стола равен 0,3?
  1. /#
  2. print("Ускорение тела:");
  3. print(a.ax);
  4. #/
  5. var a : object(1,100,100,0,0,0,0,"orange");
  6. var f : force(4,0);
  7. var f2 : force(-2.94,0);
  8. setforce(a,f);
  9. setforce(a,f2);

LabX

Ответ: ускорение a = 1.06 m/c2

  1. Человек массой 70 кг стоит на напольных пружинных весах в лифте. Лифт начинает двигаться с ускорением 0,5 м/с2, направленным вниз. В этот момент весы покажут массу. (Источник: МИОО: Тренировочная работа по физике 16.05.2014 вариант ФИ90702.)
  1. 70 кг
  2. больше 70 кг
  3. меньше 70 кг
  4. 0

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

Правильный ответ указан под номером 3.

Решение задачи на LabX:

  1. /#
  2. print("Масса человека:");
  3. print(a.ay*a.m/10);
  4. #/
  5. var a : object(700,100,100,0,0,0,0,"red");
  6. var f : force(0,665);
  7. var f2 : force(0,-35);
  8. setforce(a,f);
  9. setforce(a,f2);

LabX