Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

морозова

.docx
Скачиваний:
12
Добавлен:
18.03.2016
Размер:
1.42 Mб
Скачать

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ (МАДИ)»

Кафедра

Автоматизированные системы управления

Отчет по дисциплине

«Системный анализ и ПР»

Выполнил: Студентка группы 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

Задание:

  1. Создайте два множества А, В.

Проверьте их тип (type(,)).

  1. Создайте процедуру ss(a,b), вычисляющую пересечение двух

множеств а и b, Проверьте работу созданной процедуры.

3. Создайте процедуру eqv(A,B), проверяющую совпадают ли эти множества (true), или они имеют отличающиеся элементы (false).

Задания на пользовательские процедуры, используемые при исследовании функций выбора

  1. Создайте процедуру part 0(А,В), определяющую, что одно множество является нестрогой частью другого.

  2. Создайте процедуру part(A,B), определяющую, что одно множество является (строгой) частью другого и они не совпадают.

  3. Создайте процедуру 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.

Решение:

>

>

>

>

>

>