- •Лабораторная работа 1
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 2
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 3
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 4
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы:
- •Лабораторная работа 5
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 6
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 7
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 8
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 10
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 13
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
- •Лабораторная работа 15
- •Общие сведения:
- •Порядок выполнения лабораторной работы:
- •Вопросы к защите лабораторной работы
-
Порядок выполнения лабораторной работы:
Задание 1. Подключение библиотеки
Создайте новый проект. Подключите новую библиотеку как указано выше.
Соберите первую схему.
Задание 2. Построение схемы
Соберите вторую схему.
Дополнительное задание
-
Постройте график зависимости тока от сопротивления.
-
Форма отчета: Сохраните проект со своей работой и покажите преподавателю.
-
Выводы: В результате выполнения лабораторной работы студенты должны научиьтся подключать дополнительные библиотеки.
-
Вопросы к защите лабораторной работы
-
В чем заключается физический аспект рассматривания библиотек в Stratum.
-
Основное назначение проектных библиотек?
-
Какие элементы содержит библиотека c:\stratum3\add.lib\chains?
-
Лабораторная работа 11
-
Тема: Конструирование пульта управления моделью объекта.
-
Цель: Построение модели, управляющей движением двухмерного объекта.
-
Общие сведения:
-
Смотри предыдущие работы.
-
Порядок выполнения лабораторной работы:
-
Задание 1. Построение схемы
Постройте схему, управляющей движением графического объекта (машинки): вперед/назад и поворот вправо/влево. Проверьте работоспособность схемы.
-
Создайте новый проект. Поместите на главную схему имидж LGSpace из системной библиотеки UNIT.LIB.
-
Создайте на схеме графический объект, который будет объектом движения (например, небольшой прямоугольник). Посмотрите его размеры (правая кнопка мышки на объекте – Cвойства – положение), определите примерный центр объекта. Установите имя объекту.
-
Создайте новый имидж (например, Auto) с текстом:
x := x + hx * f1 - hx * f2 y := y + hy * f1 - hy * f2 hy := v * sin(a) hx := v * cos(a) a := a + (f3 - f4) * av x0 := x + hc y0 := y + wc
,где x,y – текущие координаты объекта, f1,f2 – флаги направления движения, f3,f4 – флаги поворота, hx,hy – скорость по X и Y, hc,wc – координаты центра графического объекта относительно его левой верхней точки, v – скорость движения, av – скорость поворота в радианах за шаг, a – текущий угол поворота в радианах, x0,y0 – текущие координаты цента поворота.
-
Задайте в переменной v скорость движения объекта (например 0.1), в переменной av скорость поворота (например 0.001), в переменных hc и wc примерные координаты центра объекта (например 5,10).
-
Установите на схему два имиджа BUTTON из системной библиотеки СONTROLS.LIB. Создайте связи к имиджу Auto. Соедините переменные pressed каждого из них с переменными f3, f4 соответственно.
-
Установите на схему два имиджа BUTTON из системной библиотеки СONTROLS.LIB. Создайте связи к имиджу Auto. Соедините переменные pressed каждого из них с переменными f1, f2 соответственно. Установите переменные Type в 1, обеспечив тем самым работу кнопок в виде переключателя.
-
Установите на схему имидж Object2d из системной библиотеки Graph2d.LIB. Создайте связь к имиджу Auto. Соедините переменные x, y, x0, y0 соответственно, и переменную а с angle. Задайте в переменной ObjectName имя графического объекта, которым будем управлять.
-
Оформите пульт управления, сделав соответствующе надписи рядом с кнопками.
Запустите проект на выполнение. Проверьте его работоспособность.
Задание 2. Управление моделью
Добавьте управление от клавиатуры. Для этого, вставьте на схему четыре имиджа VKeyState. Соедините их переменные Pressed с такими же переменными в имиджах BUTTON. Задайте значения кодов клавиш в переменных KeyCode.
-
Стрелка Вправо
39
Стрелка Влево
37
Стрелка Вверх
38
Стрелка Вниз
40
Дополнительное задание
Постройте траекторию движения машинки.
-
Форма отчета: Сохраните проект со своей работой и покажите преподавателю.
-
Выводы: Студенты должны научиться строить модели, управляющие движением двухмерных объектов.
-
Вопросы к защите лабораторной работы
-
За что отвечает имидж LGSpace?
-
В какой библиотеке находится имиджа BUTTON?
-
Лабораторная работа 12
-
Тема: Конструирование блока контроля над действиями обучаемого.
-
Цель: Построение модели следящей за действиями обучаемого и обрабатывающей статистику.
-
Общие сведения:
-
Выполняется совместно с лабораторной работой 11.
-
Порядок выполнения лабораторной работы:
-
Задание 1. Построение схемы
Создайте в схеме, созданной на предыдущем занятии, макет кольцевой дороги и модель контролирующую действия обучаемого и обрабатывающую статистику.
-
Откройте проект, созданный на предыдущем занятии.
-
Нарисуйте макет кольцевой дороги. Сама дорога может быть произвольной формы, но должна образовывать замкнутое кольцо. Графические объекты, из которых состоит "проезжая часть" дороги, должны быть объединены в группу. Для этого необходимо нажать Ctrl-G и последовательно указать объекты, которые составят группу, для завершения нажать левую кнопку. Запомните номер получившейся группы (правая кнопка мышки на группе - Cвойства - Инфо - дескриптор). Объект, представляющий собой машинку, поместите на точку старта (её можно выбрать произвольно). Для того чтобы получить возможность определять, где он находится, укажите в его свойствах (правая кнопка мышки на группе - Свойства - положение) что это невыбираемый объект.
-
Создайте новый имидж (например, Имидж2) с текстом:
HANDLE HObject if (~f1 || ~f2) object := Float(HObject) // определяем номер объекта в текущих координатах on := (HObject == #46) // устанавливаем флаг если объект над проезжей частью s1 := s1 + not(~on) // подсчитываем сумму ошибок местоположения объекта s2 := s2 + ~f1- ~f2 // подсчитываем сумму движений по повороту объекта s3 := s3 + 1 // подсчитываем общее время b := GetAngleByXY(~x - ~xc,~yc - ~y) // находим угол объекта относительно центра дороги a := abs(~b - b) // определяем относительное изменение угла if ((a > 0) && (a < 1)) // если приращение существует angle := angle + a // вычисляем абсолютное приращение угла endif if (~angle > 2*PI) // если объект сделал круг q1 := round(~s1/s3,2)*100 // находим показатель нарушений движения q2 := round(~s2/s3,2)*100 // находим показатель планости движения q3 := s3 // находим общее время oc := 5 - trunc(0.03*~q1 + min(0.05*(100-~q2) + 0.01*~q3/100000,1)) // вычисляем суммарную оценку str := "коэффициент нарушений : "+ String(~q1) +"%"+ chr(13) // строка для вывода str :=~str + "коэффициент плавности : " + String(~q2) +"%"+ chr(13) str :=~str + "время : " + String(~q3) + chr(13) + chr(13) str :=~str + "оценка : " + String(~oc) r := MessageBox(~str,"круг пройден",1) // выводим результаты Stop(1) // останавливаем схему endif endif
Задайте в переменных xc, yc примерный центр дороги, вместо "#63" - номер графической группы, составляющей проезжую часть. Создайте связь к имиджу машинки (1) созданному в предыдущем проекте, и соедините соответственно переменные x c x0, y c y0, f1 c f1, f2 c f2.
-
Установите на схему имидж Lamp из системной библиотеки СONTROLS.LIB. Установите цвета переменных Color - зеленый, BgColor - красный. Создайте связь к имиджу Имидж2. Соедините переменные Light и on.
-
Установите на схему имидж ScanObject из системной библиотеки GRAPH2D.LIB. Создайте связь к имиджу Имидж2. Соедините соответственно переменные Hobject, x, y.
-
Добавьте имидж NumberView для отображения угла.