
морозова
.docxФедеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ)»
Кафедра
Автоматизированные системы управления
Отчет по дисциплине
«Системный анализ и ПР»
Выполнил: Студентка группы 3ЗбАСс2
Евтух Ю.Г.
Проверил профессор:
Морозова Татьяна Юрьевна
Москва 2015
Лабораторная работа № 1
Загрузка пакетов
with() - загружает определения из библиотечных пакетов.
> with('linalg');
> with(logic);
1.2. Загрузите файл lin_alg.mws
> a:=matrix(2,3,[l,2,3,4,5]);
a := matrix([
[1,2,3],
[4, 5, a[2,3]
])
> m:=matrix(2,2,[5,2,3,4]);
m:= 5 2
3 4
> det(m); 14
>inverse(m):
>evalm(m^2):
>evalm(m^3):
Работа с множествами и списками
1. Создайте {} два множества: s1 и s2 (set, nops).
2. Выполните операции объединения (union), пересечения и вычитания этих множеств как в инфиксной, так и в префиксной форме.
(> sl:={4,2,5,2,3,7,2,7,2}; s2:={4,2,l};) .
> nops(sl);
> s8:=s2 minus si;
>sl;s8; k:='k' : member(l,sl,'k'); k;
3.Создайте [] два списка I1 и I2 . Проверьте выполнимость операций объединения (union), пересечения и вычитания этих списков.
4. Проверьте типы переменных s1 и I1
(whattype).
Решение:
>
Лабораторная работа № 2
Задание:
-
Создайте два множества А, В.
Проверьте их тип (type(,)).
-
Создайте процедуру ss(a,b), вычисляющую пересечение двух
множеств а и b, Проверьте работу созданной процедуры.
3. Создайте процедуру eqv(A,B), проверяющую совпадают ли эти множества (true), или они имеют отличающиеся элементы (false).
Задания на пользовательские процедуры, используемые при исследовании функций выбора
-
Создайте процедуру part 0(А,В), определяющую, что одно множество является нестрогой частью другого.
-
Создайте процедуру part(A,B), определяющую, что одно множество является (строгой) частью другого и они не совпадают.
-
Создайте процедуру cpr(X,Y), проверяющую, что списки X, Y соответствуют основному свойству функций выбора. (См. слайд № 5).
Предусмотрите вывод номера предъявления из X, в котором обнаруживается первое нарушение этого свойства.
Задания на примеры из лекции
1. Составьте 2 списка, описывающих двухэлементную функцию выбора № N на слайде № 11 лекции.
2. Составьте 2 списка, описывающих трехэлементную функцию одиночного выбора № N+8 на слайде № 15 лекции.
3. Составьте 2 списка, описывающих
трехэлементную функцию выбора ЧБК на слайде № 4 лекции.
4. Составьте множество s, список предъявлений X
и процедуру, составляющую список Y, отображающий результаты выбора на слайде № 3 лекции.
Решение:
>
Error, invalid input: `union` received [11, 12, 13, 14, 15, 16, 17, 18], which is not valid for its 1st argument
Error, invalid input: `intersect` received [11, 12, 13, 14, 15, 16, 17, 18], which is not valid for its 1st argument
Error, invalid input: `minus` received [11, 12, 13, 14, 15, 16, 17, 18], which is not valid for its 1st argument, s1
Error, invalid input: with expects its 1st argument, pname, to be of type {`module`, package}, but received logic
Лабораторная работа № 3
Задание:
1.Составьте 2 списка, описывающих двухэлементную функцию выбора № N на слайде № 11 лекции.
2. Составьте 2 списка, описывающих трехэлементную функцию одиночного выбора № N+8 на слайде № 15 лекции.
3. Составьте 2 списка, описывающих трехэлементную функцию выбора ЧБК на слайде № 4 лекции.
4. Составьте множество s, список предъявлений X и процедуру, составляющую список Y, отображающий результаты выбора на слайде № 3 лекции.
Решение:
>
>
Лабораторная работа № 4
Задание:
1. Прочитайте определения свойства наследования на слайде № 5 лекции.
Эквивалентная формулировка:
(X, X1
Х),
С(Х1)
С(Х) ˄ X1
2. Создайте процедуру nasl(A,B), проверяющую (с помощью двух циклов) свойство наследования для функции выбора, заданной двумя списками А (предъявления) и В (результаты выбора).
3. Используйте эту процедуру для проверки свойства наследования функции выбора из трех вариантов, описанной в п. 3.
Решение:
>
Лабораторная работа № 5
Задание:
1. Прочитайте определения свойства наследования на слайде № 3 лекции.
Эквивалентная формулировка:
(X, X1
Х),
С(Х1)
С(Х) ˄ X1
2. Создайте процедуру nasl(A,B), проверяющую (с помощью двух циклов) свойство наследования для функции выбора, заданной двумя списками А (предъявления) и В (результаты выбора). (Для исключения проверок непересекающихся предъявлений используйте процедуру psec(i,j))
3. Используйте процедуру nasl(A,B) для проверки свойства наследования функции выбора из трех вариантов, описанной в п. 2.
Решение:
>
>
>
>
>
>