Мегаобучалка Главная | О нас | Обратная связь


Задание 1. Построение схемы. Создайте в схеме, созданной на предыдущем занятии, макет кольцевой дороги и модель



2016-01-26 393 Обсуждений (0)
Задание 1. Построение схемы. Создайте в схеме, созданной на предыдущем занятии, макет кольцевой дороги и модель 0.00 из 5.00 0 оценок




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

1. Откройте проект, созданный на предыдущем занятии.

2. Нарисуйте макет кольцевой дороги. Сама дорога может быть произвольной формы, но должна образовывать замкнутое кольцо. Графические объекты, из которых состоит "проезжая часть" дороги, должны быть объединены в группу. Для этого необходимо нажать Ctrl-G и последовательно указать объекты, которые составят группу, для завершения нажать левую кнопку. Запомните номер получившейся группы (правая кнопка мышки на группе - Cвойства - Инфо - дескриптор). Объект, представляющий собой машинку, поместите на точку старта (её можно выбрать произвольно). Для того чтобы получить возможность определять, где он находится, укажите в его свойствах (правая кнопка мышки на группе - Свойства - положение) что это невыбираемый объект.

3. Создайте новый имидж (например, Имидж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.

4. Установите на схему имидж Lamp из системной библиотеки СONTROLS.LIB.
Установите цвета переменных Color - зеленый, BgColor - красный. Создайте связь к имиджу Имидж2. Соедините переменные Light и on.

5. Установите на схему имидж ScanObject из системной библиотеки GRAPH2D.LIB.
Создайте связь к имиджу Имидж2. Соедините соответственно переменные Hobject, x, y.

6. Добавьте имидж NumberView для отображения угла.

Форма отчета:Сохраните проект со своей работой и покажите преподавателю.

Выводы:Студенты должны научиться строить модели различной природы.

Вопросы к защите лабораторной работы

1.К какой библиотеки относится имидж ScanObject?

2. К какой библиотеке относится имидж Lamp?

 

  1. Лабораторная работа 13

Тема:Методы расчета полей. Механизм сообщений.

Цель: Краткое знакомство с работой сообщений в среде Stratum.

Общие сведения:

Сообщение посылается всем объектам с указанным именем или всем объектам указанного класса. Объект, отправляющий сообщение, называется источником сообщения, объекты, его получающие - приемниками сообщения.

При этом происходит копирование указанных переменных объекта источника сообщения в объект приемник, затем обработка модели объекта и копирование переменных обратно в объект источник. Если объектов приемников сообщений несколько, данная процедура повторяется.

Отправка сообщения объекту или группе объектов осуществляется функцией:
SendMessage(STRING ObjectName,STRING ClassName, [STRING VarName1, FLOAT VarName2...])

ObjectName Задает имя объекта (объектов), получающего сообщение. Пустая строка, если данный параметр не специфицирован.
ClassName* Задает имя класса объекта (объектов), получающего сообщение. Пустая строка, если данный параметр не специфицирован.
VarName1 Имя связываемой переменной в объекте-отправителе сообщения.
VarName2 Имя связываемой переменной в объекте-получателе сообщения.

* Если заданно только имя класса, то посылается сообщение всем имиджам данного класса.

Порядок выполнения лабораторной работы:



2016-01-26 393 Обсуждений (0)
Задание 1. Построение схемы. Создайте в схеме, созданной на предыдущем занятии, макет кольцевой дороги и модель 0.00 из 5.00 0 оценок









Обсуждение в статье: Задание 1. Построение схемы. Создайте в схеме, созданной на предыдущем занятии, макет кольцевой дороги и модель

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (393)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)