Uploaded by Gornostay

Metodichka dlyaUTS2sem

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ и НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ
Коломенский институт (филиал)
федерального государственного бюджетного образовательного учреждения
высшего образования
«Московский политехнический университет»
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
ПО ДИСЦИПЛИНЕ
«ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ»
Академический бакалавриат
Профиль подготовки:
«Управление и информатика в технических системах»
Направление подготовки:
27.03.04 «Управление в технических системах»
Нормативный срок освоения программы - 4 года
Ежегодно актуализируется и утверждается в составе ООП
на заседании Ученого совета института
Коломна
В лабораторный практикум по дисциплине «Информационные
технологии» включены лабораторные работы, выполняемые студентами,
обучающимися по специальности 27. 03.04 «Управление в технических
системах».
Практикум рассчитан на освоение практических навыков применения
современных компьютерных технологий. Практикум включает 5 лабораторных
работ, рассматривающих основные аспекты построения баз данных,
использование программного комплекса MathCad, для проведения
автоматизированных инженерных вычислений, а также подготовки WEBстраниц.
В начале каждой лабораторной работы приводятся краткие сведения по
изучаемым темам.
2
ОГЛАВЛЕНИЕ
Лабораторная работа№1 ............................................................................................. 4
Лабораторная работа №2 .......................................................................................... 21
Лабораторная работа №3 .......................................................................................... 39
Лабораторная работа 4 .............................................................................................. 65
Лабораторная работа №5 .......................................................................................... 81
Литература ................................................................................................................. 95
3
Лабораторная работа№1
Создание структуры базы данных и установление связей между таблицами
Цель работы: - изучение приемов задания структуры таблиц базы данных,
заполнения их записями, установления связи между ними.
Создадим базу данных Деканат. Загрузим Access 2007,в диалоговом окне
Приступая к работе с Microsoft Office Access щелчок на пиктограмме Новая
база данных , в поле задать имя БД ,открыть свою папку и щелкнуть на кнопке
Создать.
Откроется программа MS Access в режиме Таблицы, щелчок на команде
Создание и щелчок на пиктограмме Конструктор таблиц. Создайте структуру
таблицы Студенты.
В режиме Конструктора определите поля таблицы в соответствии с таблицей
№1.
4
Поле Код студента сделайте ключевым. Для поля Телефон создайте
маску ввода, для этого в Свойства полей на вкладке Общие установите курсор
на поле Маска ввода, справа появится кнопка с тремя точками:
, нажмите на нее. В
появившемся окне создания масок создайте маску для ввода телефона,
щелкните на кнопке Список и в ДО Настройка масок ввода введите маску и
закройте окно, маска телефон появится в списке ,выделите ее и Далее, в окне
выделите переключатель Вместе со знаками маски.
В поле Медалист создайте поле со списком без ввода новых значений.
Можно сделать ,используя мастер подстановок или Используя свойство
Подстановка, в свойствах Тип источника строк выбрать из раскрывающегося
списка Список значений и в свойстве Источник строк щелкнуть на кнопке
,появится ДО Изменение элементов списка набрать в
Столбец Нет и Да и ОК.
Таблица №1
Имя поле
Тип данных
Размер поля
Код студента
Числовой
Целое
Фамилия
Текстовый
16
Имя
Текстовый
14
Отчество
Текстовый
16
Номер группы
Числовой
Целое
5
Адрес
Текстовый
35
Телефон
Текстовый
9(маска)
Медалист
Текстовый
4 Поле со
писком(Да/Нет)
по умолчанию
Нет
Создайте структуру таблицы Преподаватели. Для этого используйте
команду Создание/Таблица и перейдите в режим конструктора. В режиме
Конструктор определите поля таблицы в соответствии с таблицей №2.
Таблица №2
Имя поля
Тип данных
Размер поля
Код
Числовой
Целое
Фамилия
Текстовый
14
Имя
Текстовый
13
Отечество
Текстовый
12
Дата рождения
Дата/время
(маска)
Должность
Мастер
20 поле со
подстановок
списком
Числовой
Целое (условие на
преподавателя
Стаж
значение
>0,вывод
соответствующего
сообщения об
ошибке)
Кафедра
Текстовый
11
Телефон
Текстовый
9(маска)
Зарплата
Денежный
6
Фотография
ОLE
Поле Код преподавателя установите ключевым.
Для определения поля Дата рождения используйте Маску ввода,
установите в мастере Краткий формат даты(в датах точки будут вводится
автоматически).
Для поля Должность ,используя мастер подстановок создать список
должностей. Задайте следующий фиксированный набор:
профессор;
доцент;
старший преподаватель;
преподаватель;
ассистент.
В поле Стаж установите свойство поля условие на значение >0,в свойстве
поля Сообщение об ошибке – стаж должен быть >0.
В поле Телефон в свойствах поля выберите маску ввода для телефона.
Создайте структуру таблицы Дисциплины в соответствии с Таблицей №3.
Таблица 3№
Имя поле
Тип данных
Размер поля
Код дисциплины
Числовой
Целое
Название
Текстовый
20
Номер семестра
Числовой
Целое
Код
Числовой
Целое (мастер
дисциплины
преподавателя
Экзамен
подстановок)
Текстовый
7
4(поле со
списком
Экз./Зач.)
Поле Код дисциплины сделайте ключевым.
Поле Экзамен создайте поле со списком двух значений Экз. или Зач.
Поле Код преподавателя будет заполняться с помощью мастера подстановок
из таблицы Преподаватели. Из полей таблицы Преподаватели выбрать: Код
преподавателя, Фамилия, Имя, Отчество,снять флажок ключевое поле.
После работы мастера при заполнении поля Код преподавателя и таблицы
будут отображаться Фио преподавателя для выбора, но в таблице Дисциплины
поле Код преподавателя будет оставаться числовым целым.
Создайте структуру таблицы Оценки в соответствии с Таблицей №4.
Задайте составной ключ: Код студента, Код дисциплины, Номер
семестра, для чего в режиме Конструктор выделить три поля и щелчок на
пиктограмме ключ.
Таблица№4.
,
Имя поле
Тип данных
Размер поля
Код студента
Числовой
Целое
Код дисциплины
Числовой
Целое
Номер семестра
Числовой
Целое
Оценка
Числовой
Байт
8
Заполните все таблицы.
Преподаватели
Код Фамилия
Имя
Отчество
пре
Дата
Должност Стаж Кафе Тел Зарп
рождение ь
дра
под
Ф
ефо лата, от
н
руб.
ог
ава
ра
тел
фи
я
я
1
Сергеев
Сергей
Сергееви
12.06.195
ч
6
Доцент
29
УИ
613
2000
и ВТ -78- 0.00
65
2
Иваниши
Роман
Сергееви
н
03.04.194
Профессо 45
Мате 614
0
р
мати -76- 0.00
ки
3
Мезенцев Александр Петрович 09.08.194
8
2900
56
Профессо 45
Физи 614
р
ки
3200
-77- 0.00
89
4
Примов
Кирилл
Петрович 03.03.195
7
5
Зайцев
Владимир
Иванович 17.09.198
Ст.
25
12 00
преподав
мати -77- 0.00
атель
ки
67
УИ
613
Ассистен
7
т
0
Мате 614
1000
и ВТ -86- 0.00
55
6
7
Калюжин Петр
Петров
Семен
Семенови 31.08.198
Ассистен
ч
т
2
Иванович 03.04.195
5
Доцент
5
27
Сопр 613
омат
-89- 0.00
а
45
Хим
612
ии
-65- 0.00
80
9
1000
2000
8
Котов
Андрей
Андрееви 14.11.197
ч
Доцент
12
Исто 611
рии
7
2000
-33- 0.00
56
9
Сидоров
Петр
Семенови 15.12.196
ч
Доцент
22
Наче 612
2000
ртате -89- 0.00
8
льно
32
й
геом
етри
и
10
11
Машков
Попов
Иван
Федор
Дмитриев 15.12.197
Ст.
ич
преподав
ульт
-32- 0.00
атель
уры
86
УИ
616
8
Семенови 15.12.198
Ассистен
ч
т
8
11
2
Физк 611
1000
и ВТ -45- 0.00
97
10
12 00
Дисциплины
Код
Название
дисциплины дисциплины
Номер
Код
Экзамен
семестра преподавателя
1
Информатика
1
5
Экз.
2
Математика
1
4
Экз.
3
История
1
8
Экз.
4
Черчение
1
9
Зач.
5
Физкультура
1
10
Зач.
6
Физика
1
3
Экз.
7
Информационные 1
1
Экз.
технологии
8
Электротехника
1
11
Экз.
9
Сопромат
1
6
Экз.
10
Вычислительная
1
2
Экз.
1
7
Зач.
математика
11
Химия
11
Студенты
Ко
Фамилия
Имя
Отчеств
Номе
о
р
ефо лист
сту
групп
н
ден
ы
д
Адрес
Тел Меда
та
1
Иванов
Иван
Петрови 717
ул.Бутовая 612
ч
д.2 кв.78
нет
-3456
2
3
Яковлев
Петренко
Алекс Петрови 717
ул.Песочн
613
ей
ая д.66
-76-
кв77.
89
Данил Петрови 717
пр.Кирова
612
а
д.123 кв.56 -76-
ч
ч
нет
да
84
4
Коршунов
Мари
Геннадь
а
я
евна
717
пр.Жукова 614
нет
д.56 кв.124 -3265
5
Павлов
Петр
Сергеев
717
ич
ул.Бутовая 615
д 11
нет
-3488
6
Котов
Павел Семенов 717
ич
ул.Песочн
614
ая д.15
-11-
нет
87
7
Левин
Влади Иванови 717
ул.Паровоз 618
мир
наяд.15
ч
12
-45-
нет
Фото
12
8
Зайцева
Ирина Петровн 717
а
пр.Кирова
612
д.45 кв.75
-44-
да
22
9
Мотин
Алекс Алексее
андр
10
11
Дерюгина
Костиков
717
вич
Татья
Алексее
на
вна
717
пр.Космон
612
автов д.32
-34-
кв.68
65
ул.Металл
614
ургов д.12
-45-
кв.34
23
Никол Петрови 727
пр.Жукова 623
ай
д.34 кв 25
ч
нет
нет
нет
-1245
12
Киндинов
Алекс Сергеев
ей
727
ич
ул.Модель
612
ная д.18
-45-
нет
78
13
Камова
Ларис Ивановн 727
ул.Озерная 613
а
д.13
а
да
-1572
14
15
Климов
Клепиков
Влади Петрови 727
ул.Металл
612
слав
ургов д.17
-12-
кв.94
32
ч
Васил Алексее
ий
727
вич
ул.Бутовая 614
д.2 кв.78
да
нет
-1538
16
17
Романов
Журикова
Петр
Екате
Петрови 727
ул.Красног 615
ч
вардейская -18-
Николае 727
13
д.3 кв.12
72
ул.Средня
612
да
нет
рина
вна
я д.5
-2238
18
Глебов
Игорь Семенов 727
ич
ул.Паровоз 613
ная д.22
да
-1252
19
Васильев
Васил Василье
пр.Металл
613
ургов д.36
-52-
кв.34
82
Алекс Игореви 727
пр.Свобод
613
андр
ный д.321
-72-
кв.65
92
Галин Петровн 737
ул.Вавило
617
а
ва д.345
-45-
кв.54
66
Алексан 737
ул.Мира
618
дровна
д.58 кв.32
-92-
ий
20
21
22
Зиненко
Деева
Лопухина
Анна
727
вич
ч
а
нет
да
нет
нет
87
23
24
Рощина
Раков
Викто Петровн 737
ул.Кошкин 618
рия
а д.234
-52-
кв.99
74
ул.Седова
614
д.84 кв.45
-22-
Илья
а
Ильич
737
нет
нет
57
25
26
Рюмина
Прянични
ков
Натал Кузьмин 737
пр.Москов 617
ья
ский тракт
-55-
д.76 кв.23
66
ул.Слава
614
д.23 кв.54
-34-
ична
Артур Георгие
737
вич
23
14
нет
да
27
28
29
Крюкова
Жукова
Астанин
Марга Петровн 737
ул.Кремле
616
рита
вская д.32
-87-
кв.54
56
а
Вален Петровн 737
ул.Тургене 614
тина
ва д.65
-15-
кв.32
76
Влади Семенов 737
пр.Мира
614
мир
д.323 кв.43 -34-
а
ич
нет
нет
да
76
30
Бурков
Тимо
Семенов 737
ул.Кирова
фей
ич
д.123 кв.54 -34-
613
45
Оценки
Код
Код
Номер
Оценки
студента дисциплины семестра
1
1
1
4
1
2
1
5
1
3
1
3
2
1
1
5
2
2
1
5
2
3
1
5
3
1
1
4
3
2
1
4
3
3
1
3
4
1
1
4
4
2
1
3
4
3
1
5
5
1
1
5
15
да
5
2
1
5
5
3
1
5
6
1
1
3
6
2
1
3
6
3
1
2
7
1
1
3
7
2
1
3
7
3
1
3
8
1
1
4
8
2
1
5
8
3
1
3
9
1
1
5
9
2
1
2
9
3
1
3
10
1
1
5
10
2
1
5
10
3
1
5
11
1
1
5
11
2
1
4
11
3
1
4
11
6
1
5
12
1
1
5
12
2
1
5
12
3
1
5
12
6
1
5
13
1
1
4
13
2
1
4
13
3
1
4
13
6
1
5
16
14
1
1
4
14
2
1
4
14
3
1
4
14
6
1
4
15
1
1
4
15
2
1
4
15
3
1
4
15
6
1
4
16
1
1
5
16
2
1
3
16
3
1
4
16
6
1
5
17
1
1
4
17
2
1
3
17
3
1
3
17
6
1
3
18
1
1
3
18
2
1
3
18
3
1
3
18
6
1
3
19
1
1
4
19
2
1
4
19
3
1
5
19
6
1
4
20
1
1
5
20
2
1
5
20
3
1
5
20
6
1
5
21
6
1
5
17
21
7
1
5
21
8
1
4
21
9
1
3
21
10
1
3
22
6
1
2
22
7
1
2
22
8
1
3
22
9
1
4
22
10
1
3
23
6
1
3
23
7
1
4
23
8
1
4
23
9
1
4
23
10
1
4
24
6
1
5
24
7
1
5
24
8
1
5
24
9
1
5
24
10
1
5
25
6
1
4
25
7
1
3
25
8
1
2
25
9
1
3
25
10
1
4
26
6
1
3
26
7
1
3
26
8
1
3
26
9
1
3
26
10
1
3
18
27
6
1
3
27
7
1
4
27
8
1
4
27
9
1
4
27
10
1
4
28
6
1
5
28
7
1
5
28
8
1
5
28
9
1
5
28
10
1
5
29
6
1
5
29
7
1
5
29
8
1
4
29
9
1
5
29
10
1
5
30
6
1
5
30
7
1
5
30
8
1
5
30
9
1
5
30
10
1
5
Создайте схему данных, т. е. связи между таблицами. Для чего перейдите
на линейке на вкладку Работа с базой данных и щелчок на кнопке Схема
данных. На экране появится окно Схема данных с ДО Добавление таблицы.
Выделите таблицы и нажмите на кнопку Добавить. Добавив все таблицы в
схему закройте ДО Добавление таблицы.
Создайте связь между таблицей Дисциплины и Оценки. Для этого
подведите курсор мыши к полю Код дисциплины в таблице Дисциплины
нажмите левую клавишу мыши и перетащите курсор на поле Код дисциплины
19
в таблице Оценки и отпустите мышь. На экране появится окно Связи,
установите все три флажка и Создать.
Создайте связь между полем Код преподавателя в таблице
Преподаватели и Код преподавателя в таблице Дисциплины.
Создайте связь между полем Код студента в таблице Студенты и полем
Код студента в таблице Оценки.
Закройте окно Схемы данных.
Контрольные вопросы
1. Понятие СУБД и ее основные функции.
2. Понятие базы данных. Назовите области применения и известные вам
примеры баз данных.
3. СУБД Access и ее основные возможности.
4. Как создать новую базу данных в СУБД Access?
5. Перечислите и кратко охарактеризуйте основные объекты базы данных.
6. Дайте определение поля, записи, столбца и строки таблицы.
7. Что такое структура таблицы? В чем принципиальное отличие создания
таблиц в Access от подобного процесса в Excel?
8. Как определить поля таблицы в СУБД Access? Как задать свойства поля?
9. Способы создания таблиц в Access. Назначение конструктора таблиц.
10.В чем смысл импортирования таблиц в Access?
11.Поясните следующие термины: первичный ключ отношения, внешний
ключ отношения.
12.Перечислите
и
охарактеризуйте
типы
связей
между
таблицами.
Приведите примеры.
13.Какие требования предъявляет СУБД Access к связываемым таблицам?
14.Что понимается под обеспечением целостности данных в Access?
15.Что такое каскадное удаление связанных записей и каскадное
обновление связанных полей?
20
Лабораторная работа №2
Создание форм
Формы служат пользовательской частью интерфейса БД. Именно с ними
работает пользователь при вводе и редактировании записей базы данных.
Кроме того, пользователь может использовать форму для запроса и
отображения информации.
Они содержат элементы управления, с помощью которых осуществляется
доступ к данным в таблицах. Элементами управления являются текстовое
поле для ввода и правки данных, пиктограммы, флажки-переключатели,
подписи, списки, а также рамки объектов для отображения графики и объектов
OLE.
Формы позволяют выполнять вычисления и обеспечивают доступ данных в
связанных таблицах с помощью подчиненных форм. Источником данных для
форм – либо таблица, либо запрос.
Как и для большинства объектов БД, для создания формы существует
несколько способов:
 автоматическое создание простой формы;
 автоматическое создание разделенной формы;
 с помощью мастера;
 создание формы с дополнительными элементами;
 создание пустой формы;
 создание формы в режиме конструктора;
Разделенная форма в 2007-новая возможность, эта форма отображает
данные содержащиеся в таблице в двух представлениях - в режиме формы и в
режиме таблицы.
Преимущества использования разделенной формы обусловлены тем, что в
такой форме пользователь может работать с двумя разными типами
представления данных. В табличной части формы можно найти быстро запись,
а изменить или просмотреть в другой части формы.
Создадим однотабличную форму для ввода данных в таблицы Преподаватели.
21
Выберем таблицу Преподаватели далее Создание/Форма, создадим простую
форму в столбец, в окне свойств, задайте ширину поля 5см.
Преобразуйте форму в режиме конструктора к виду, показанному на
Рис.1.
Выделите заголовок формы и задайте ему имя Преподаватели. Для
перемещения элементов по форме необходимо выделить элемент, например
поле Код, а он связан с надписью Код, вырежьте и вновь вставьте в форму.
Перетащите в нужное место элемент и задайте в окне свойств размеры элемента
и цвет, задайте цвет и размер формы.
22
Рис.1
Создание запросов
Запрос позволяет выбрать необходимые данные из одной или нескольких
взаимосвязанных таблиц, произвести вычисление и получить результат в виде
таблицы. Через запрос можно производить обновление данных в таблицах,
добавление, удаление записей MS Access имея удобное для пользователя
графическое средство формирование запроса по образцу – QBE (Query By
Example).Запрос QBE включает схему данных с используемыми таблицами и
бланк запроса. При конструировании запроса достаточно, работая мышью,
выделить и перетащить необходимые поля из таблиц, представляемых в
схемах данных запроса, в бланк запроса и ввести условие.
В Access может быть создано несколько видов запроса:
 Запрос на выборку: позволяет собирать данные из полей в таблицах,
рассчитывать значение полей и суммировать значения в таблицах. Запрос
на выборку похож на фильтрацию, отличие в способности запроса
получать данные из нескольких таблиц, создавать новые поля с
помощью расчетов и суммировать данные. Результатом является
таблица. Все созданные и сохраненные запросы находятся на вкладке
«Запросы» окна БД.
 Перекрестный запрос – позволяет выполнять математические подсчеты
(суммы, количества записей и средние значения) по данным одного поля
таблицы. Результаты группируются в ячейках (пересечение строк и
столбцов), соответствующих конкретным полям обсчитываемой базы
данных БД.
 Запрос на изменение – помогает выполнять операции с записями,
удовлетворяющими данными критериями: запрос на удаление удаляет из
таблицы заданные записи; запрос на обновление - изменяет
соответствующие записи таблицы ; запрос на добавление добавляет в
конец таблицы новые записи (соответствующие заданным условиям
отбора); запрос на создание таблицы создает новые таблицы ,состоящие
23
из заданных записей.
Запрос на создание таблицы основан на запросе выборки и удобен для
архивирования старых данных таблицы через удаление ее записей.
 Запрос с параметрами – позволяет ввести информацию, используемую в
качестве критериев отбора.
Запрос на Выборку – выбирает данные из взаимосвязанных таблиц и других
запросов. Результатом является таблица, которая существует до закрытия
запроса.
Перекрестный Запрос – предназначен для группирования данных и
представления их в компактном виде, удобен для анализа. В соответствии с
заданием начните формировать запросы.
Запрос на Создание Таблицы – основан на запросе на выборку, но результат
сохраняется в таблице
Запросы на Обновление, Добавление, Удаление – Запросы ДЕЙСТВИЯ, в
результате которых изменяются данные в таблице.
Задание 1
1. Создайте запрос на выборку.
В запросе на экран должен выводиться состав 717 группы. Для этого: на
линейке щелкните на команде Создание/Мастер запросов выберите Простой
запрос и нажмите кнопку OK; в появившемся окне в списке Таблицы/Запросы
выберите из раскрывающегося списка таблицу Студенты; перенесите все поля
из окна Доступные поля в окно Выбранные поля ; нажмите кнопку Далее; в
окне введите имя запроса Группа; нажмите кнопку Готово; на экране появится
таблица с данными запроса. По заданию необходимо, чтобы при выполнении
запроса спрашивался номер группы (для этого необходимо перейдите в режим
конструктора запросов).
Вставьте таблицу Студенты, перетащите поле Номер группы в область
Поле и в строке Условия отбора для поля введите номер группы 717;
24
Выполните запрос, выполнив команду Выполнить с восклицательным
знаком; на экране появится таблица с данными о студентах 717 группы;
сохраните запрос и закройте таблицу запроса.
В строке Условия отбора могут применятся операции сравнения и
логические операции, интервалы (Between And), шаблон (Like), встроенные
функции (например, DATE() текущая дата), выражения (DATE() – 5 десять
дней назад).
Для просмотра запроса в режиме SQL необходимо воспользоваться
пунктом меню выделить запрос и команда меню Режим/Режим SQL.
Задание 2
2. Создайте запрос с параметрами, в котором выводятся оценки студентов
заданной группы по заданной дисциплине.
Для этого: на линейке щелкните на команде Создание/Мастер запросов
выберите Простой запрос и нажмите кнопку OK; в появившемся окне в списке
Таблицы/Запросы выберите из раскрывающегося Простой запрос и нажмите
кнопку OK; в появившемся окне в списке Таблицы/Запросы выберите из
раскрывающегося списка таблицу Студенты; перенесите поля Фамилия, Имя,
Отчество, Номер группы из окна Доступные поля в окно Выбранные поля,
из таблицы Дисциплины выберите поле Название дисциплины в таблице
Оценки выберите поле Оценки, сформировано 6 полей запроса – они связаны
между собой посредством схемы данных; нажмите кнопку Далее, затем в
появившемся окне снова нажмите кнопку Далее; в окне введите имя запроса
Оценки группы; нажмите кнопку Готово; на экране появится таблица с
25
данными запроса. По заданию необходимо, чтобы при выполнении запроса
спрашивался номер группы (для этого необходимо перейдите в режим
конструктора запросов) в появившемся бланке QBE выберете вкладку
запросы и запрос Оценки группы, и перейти в режим конструктора; в строке
Условия отбора для поля Номер группы введите фразу в квадратных скобках:
[Введите номер группы]; в строке Условия отбора для поля Название
дисциплины введите фразу: [Введите название дисциплины]; выполните
запрос;
в первом появившемся диалоговом окне введите 717, затем нажмите OK,
во втором – Информатика и нажмите OK; на экране появится таблица со
списком 717-й группы и оценками по информатике; сохраните запрос –
Запрос с параметрами и закройте таблицу запроса.
3. Создайте перекрестный запрос о среднем балле в группах по
дисциплинам.
Такой запрос строится на основе одной таблицы или одного запроса. Поэтому
надо, сначала сформировать Простой запрос, в котором были бы поля номер
группы, название дисциплины и оценки. Для этого: выберите из таблицы
Студенты поле номер группы; выберите из таблицы Дисциплины поле
название дисциплины; выберите из таблицы Оценки поле оценки; нажмите
кнопку далее, затем в появившемся окне снова нажмите кнопку ДАЛЕЕ; в
появившемся окне введите имя запроса Дисциплины оценки группы;
нажмите кнопку готово; сохраните запрос и закройте таблицу запроса.
Далее создаем перекрестный запрос.
Для этого: на линейке щелкните на команде Создание/Мастер запросов
выберите Перекрестный запрос и нажмите кнопку OK; в появившемся окне в
списке Таблицы/Запросы по ячейке Запросы, выберите Дисциплины оценки
группы и нажмите кнопку Далее; для заголовков строк выберите поле
Название дисциплины и нажмите кнопку Далее; для заголовков столбцов
выберите поле Номер группы и нажмите кнопку Далее; выберите функцию
26
AVG(среднее), т.е. среднее значение (она по умолчанию уже выделена) и
нажмите кнопку Далее; введите название запроса Средние оценки и нажмите
кнопку Готово; откроется таблица перекрестного запроса; обратите внимание
на то, что Access создает еще итоговое значение средних оценок по
дисциплинам; закройте таблицу запроса.
4.
Создайте итоговый запрос Отличники с выполнением вычислений
над группами записей. Для этого: на вкладке Запросы нажмите Создать;
выберите Простой запрос; в таблице Студенты выберите поля Фамилия, Имя,
Отчество, Номер группы, а в таблице Оценки выберите поле Оценки;
нажмите кнопку Далее, затем в появившемся окне снова нажмите кнопку
Далее; в появившемся окне введите имя запроса Отличники; щелкните по
ячейке Изменить макет запроса; нажмите кнопку Готово.
Для создания этого запроса нужно воспользоваться операцией
группировки. Будем считать отличниками тех студентов, которые набрали за
четыре экзамена 15 баллов. Операция группировки позволит просуммировать
оценки студентов по всем экзаменационным дисциплинам, для выполнения
групповых операций нажмите на панели инструментов клавишу
или
выполните команду Групповые операции; в строке Групповые операции
поля Оценки щелкните по ячейке групповые операции. Откройте
раскрывающийся список и выберите функцию SUM; в строке Условия отбора
поля Оценки введите 15; выполните полученный запрос.
5. Создать запрос с использованием вычисляемых полей из таблицы
Преподаватели. В запросах, в отличие от таблиц, над полями могут
производиться вычисления. При этом могут использоваться как
арифметические выражения, так и встроенные функции ACCESS.
Вычисляемое поле, включенное в запрос позволяет получить новое поле с
результатами вычислений только в Таблице запроса и не создает полей в
таблицах БД.
27
Сформировать выражение можно при помощи Построителя выражений,
который запускается из контекстного меню, связанного со строкой Условие
отбора на бланке или при помощи соответствующей кнопки на панели
инструментов. При составлении выражений имена полей заключаются в
квадратные скобки, символьные константы – в кавычки, имена объектов БД
отделяются от полей “!”.
На линейке щелкните на команде Создание/Мастер запросов выберите
Простой запрос и нажмите кнопку OK; в появившемся окне в списке
Таблицы/Запросы выберите из раскрывающегося Простой запрос и нажмите
кнопку OK; в появившемся ДО из таблицы Преподаватели выберите поля
Фамилия, Имя, Отчество, Кафедра, Должность, Дата рождения; нажмите
кнопку Далее, затем в появившемся окне снова нажмите кнопку Далее; в
появившемся окне введите имя запроса Возраст преподавателей; нажмите
кнопку Готово;
выберите вариант Изменить макет запроса; в режиме конструктора
нужно добавить поле, которого нет в таблице Преподаватели; это
вычисляемое поле Возраст, которое вычисляется следующим образом из
текущей даты вычесть дату рождения преподавателя и полученную разность
разделить на 366, так как разница дат получится в днях. Для этого в заголовке
вычисляемого поля при помощи контекстного меню вызвать команду
Построитель выражений и набрать следующее выражение: Возраст (Date()[Преподаватели]![ Дата рождения])/366, где date() текущая дата; Нажмите
кнопку Готово.
При составлении выражений имена полей заключаются в квадратные скобки,
символьные константы - в кавычки, имена объектов БД отделяются от полей
“!”.
6.
Создайте запрос действие на изменение зарплаты преподавателей в
таблице Преподаватели. Для этого выберите в Мастере выберите Простой
запрос; в таблице Преподаватели выберите поле зарплата; нажмите кнопку
Далее, затем в появившемся окне снова нажмите кнопку Далее; в появившемся
28
окне введите имя запроса Изменение зарплаты; выделите переключатель
Изменить макет запроса; нажмите кнопку Готово; в строке Условия отбора
введите < 20000; откройте пункт меню Запрос и выберите Обновление; в строке
конструктора запроса Обновление в поле Зарплата введите [Зарплата]*1,15;
выполните запрос, подтвердив готовность на обновление данных; закройте
запрос, подтвердив его сохранение.
.
Откройте таблицу Преподаватели; просмотрите изменение зарплаты у
преподавателей, получающих меньше 20000 р.; закройте таблицу.
7. Создайте запрос на создание архива для отчисленных студентов и на
удаление студента гр. 717 Котов Павел Семенович из таблицы
Студенты.; выберите простой запрос; в таблице Студенты выберите все
поля; выберите Подробный отчет и нажмите кнопку Далее; в
появившемся окне введите имя запроса Создание архива; щелкните по
кнопке; Изменить макет запроса нажмите кнопку Готово; в строке
Условия отбора введите: в поле Фамилия – [ввод фамилии], в поле Имя –
[ввод имени], в поле Отчество – [ввод отчества], в поле Номер группы –
[ввод группы];
откройте пункт меню Конструктор и выберите команду Создание таблицы;
Задайте имя таблицы Архив, выполните запрос Создание архива; для этого в
режиме диалога введите данные о студенте помещаемом в архив, Котов Павел
Семенович ГРУППА – 717; в результате выполнения запроса на создание
архива должна появиться новая таблица Архив; посмотрите ее содержание, там
29
должна быть запись о студенте Котов Павел Семенович; создайте запрос на
удаление записи из таблицы Студенты, предварительно помещенной в Архив;
на вкладке Запросы нажмите кнопку Создать; выберите Простой запрос; в
таблице Студенты выберите все поля и нажмите кнопку Далее; выберите
подробный отчет, затем в появившемся окне снова нажмите кнопку Далее; в
появившемся окне введите имя запроса Отчисление студента; щелкните по
кнопке изменение структуры запроса; откройте пункт меню Запрос и
выберите Удаление; в строке Условия отбора введите: в поле Фамилия – [ввод
фамилии], в поле Имя –[ввод имени], в поле Отчество – [ввод отчества], в поле
Номер группы – [ввод группы]; закройте запрос; выполните запрос Отчисление
студента; для этого введите фамилия –Котов, имя Павел, отчество –
Семенович, номер группы – 717; откройте форму Студенты и убедитесь в
удалении записи о студенте Котове; закройте таблицу.
Самостоятельно создайте запрос на добавление в архив других записей
таблицы Студент и назовите его Добавление в архив и запрос на
Восстановление студента из Архива в таблицу Студент.
Для каждого из созданных запросов создайте форму (можно
рекомендовать автоформу в столбец или ленточную автоформу), удобную для
просмотра данных. При создании этих форм воспользуйтесь рекомендациями в
пп.
Результаты работы представьте преподавателю.
Разработка сложной составной формы со встроенной диаграммой
Разработайте сложную форму, в которой с фамилиями преподавателей
были бы связаны подчиненная форма Читаемые дисциплины и подчиненная
форма Оценки студентов. В форме должна присутствовать диаграмма,
графически отражающая оценки студентов. Для этого:
На линейке щелкните на команде Создание/Мастер форм.
1. Выберите мастер форм .
2. В таблице Преподаватели выберите поля фамилия, имя, отчество,
кафедра.
30
3. В таблице Дисциплины выберите поле название дисциплины.
4. В таблице Студенты выберите поля код студента, фамилия,
5. имя, отчество, номер группы.
6. В таблице Оценки выберите поле оценки.
7. Нажмите кнопку далее.
8. В появившемся окне вариант построения формы нас удовлетворяет,
поэтому нажмите кнопку далее.
9. В мастере показаны две подчиненные формы, для верхней
подчиненной формы выберите ленточный тип, для нижней – оставьте
табличный и нажмите кнопку далее.
10.Выберите желаемый стиль оформления формы и нажмите кнопку далее.
11.Введите название формы Преподаватели и оценки.
12.Нажмите кнопку готово и просмотрите полученную форму.
Если вас не удовлетворяет расположение полей на экране, измените их, для
этого: перейдите в режим конструктора; переместите поля и подчиненные
формы, а также измените их размеры так, (свойства) чтобы были видны все
данные и не было много пустого места; для этого надо (как правило,
многократно) переключаться из режима конструктора в режим формы,
смотреть полученный результат и, если он не подходит, снова корректировать в
режиме конструктора.
13.Вставьте в форму диаграмму оценки студентов. Для этого:
переключитесь в режим конструктора; выполните команду Конструктор
на панели элементов; на этой панели нажмите
(надпись); создайте
прямоугольник для надписи заголовка преподаватели над полями
данных о преподавателях. (для этого щелкните на элементе Надпись
перейдите в нужное место в форме и растяните элемент до нужного
размера ; введите надпись Преподаватели; щелкните на панели
элементов на элементе Диаграмма и на свободном месте формы
растяните прямоугольник для диаграммы (нажмите левую клавишу
мыши в левом верхнем углу и, не отпуская клавиши, растяните
31
прямоугольник до правого нижнего угла, затем отпустите клавишу);
выберите таблицу оценки и нажмите кнопку далее; выберите поля код
студента и оценки; нажмите кнопку далее; выберите вид диаграммы
Гистограмма (по умолчанию он и стоит) и нажмите кнопку далее;
дважды щелкните сумма оценки, выберите отсутствует и нажмите
кнопку ok;
нажмите кнопку далее; в ячейке поля формы выберите из раскрывающегося
списка код преподавателя, а в ячейке поля диаграммы выберите код
дисциплины и нажмите кнопку далее;
задайте название диаграммы оценки и нажмите кнопку далее.
14.Отредактируйте вид осей диаграммы. Для этого: дважды щелкните по
диаграмме; дважды щелкните по значениям вертикальной оси; выберите
вкладку шкала; уберите галочку у надписи максимальное значение, а в
ячейке справа от этого названия введите 5 и нажмите кнопку OK;
закройте окно Microsoft Graph.
Перейдите в режим таблицы и просмотрите форму для разных
преподавателей (нажимая клавишу перехода к следующей записи в нижней
части формы). Вы увидите изменение названий дисциплин, связанных с
преподавателями, а также оценок студентов по этим дисциплинам, и изменение
32
диаграмм, отображающих эти оценки. Результаты работы представьте
преподавателю.
Создание отчетов с вычисляемыми полями и итоговыми данными
Отчеты создаются на основе одной или нескольких взаимосвязанных
таблиц или запросов в режиме конструктора, или с использованием мастера с
возможной доработкой в режиме конструктора.
Режим конструктора отчетов похож на режим конструктора форм. Самые
простые отчеты создаются автоматически – автоотчеты.
В процессе конструирования отчета формируется состав и содержимое
разделов отчета, размещение в нем значений, выводимых из полей связанных
таблиц БД формируются заголовки, размещаются вычисляемые поля. Средства
конструирования отчета позволяют группировать данные по нескольким
уровням. Для каждого уровня может производиться вычисление итогов,
определяться заголовки и примечания
1. Создайте отчеты: ленточный на основании таблицы дисциплины; в
столбец на основании таблицы преподаватели. (Используя мастер
отчетов)
2. Создайте отчет по итогам сессии. В отчете оценки студентов должны
быть сгруппированы по номерам групп и дисциплинам. Для каждого
студента должна вычисляться средняя оценка в сессию, а для каждой
группы должно вычисляться среднее значение оценок по всем предметам.
Для выполнения этого задания сначала надо создать запрос, содержащий
необходимые данные. Для этого: Мастер запросов выбрать простой запрос и
нажать кнопку OK; из таблицы Студенты выбрать поля фамилия, имя,
отчество, номер группы, из таблицы Дисциплины выбрать поле название
дисциплины, из таблицы Оценки выбрать поле оценки и нажать далее; нажать
еще раз кнопку далее; ввести название запроса Сессия и нажать кнопку готово;
закрыть запрос.
Для создания Итогового отчета выполните следующее: на вкладке
отчеты нажать кнопку создать/мастер отчетов, из раскрывающегося списка
33
выбрать запрос Сессия и нажать кнопку ok; выберите все поля запроса и
нажмите далее; тип представления данных нас удовлетворяет, поэтому
нажмите далее; добавьте уровень группировки по номеру группы, выбрав в
левом окне номер группы и перенеся его в правое окно
;
нажмите далее;
а нам надо вычислять средний балл, поэтому нажмите кнопку итоги;
поставьте галочку в ячейке поля AVG (это функция вычисляет среднее) и
нажмите ok; сортировка не требуется, так как данными являются название
дисциплины и оценки, порядок которых не столь важен, поэтому нажмите ok;
выберите макет отчета; рекомендуем ступенчатый, так как он занимает
меньше места и в нем наглядно представлены данные, хотя это дело вкуса;
нажмите далее; выберите стиль отчета и нажмите далее; введите название
отчета Итоги сессии, нажмите Готово.
Доработайте выведенный отчет в режиме конструктора: введите
заголовок отчета – Итоги сессии; вставьте кнопку, которая вызовет печать
отчета; замените в отчете надпись функции AVG на надпись Среднее
значение; удалите ненужную служебную информацию - (Итоги для “ &
“‘Фамилия’ =” )”. На экране появится отчет. Его можно просмотреть, изменяя
масштаб и перелистывая страницы (в нижней части экрана). Его можно также
распечатать, выполнив команду печать. После завершения необходимых
операций закройте окно просмотра отчета.
Результаты работы представьте преподавателю.
Разработка Кнопочного Меню
Кнопочное меню представляет собой форму, на которой расположены
элементы управления – кнопки с поясняющими надписями. Нажатие кнопки
34
открывает соответствующую таблицу, запрос, форму или отчет. Меню – это
очень удобный инструмент работы с базой данных и оно практически всегда
присутствует в базах, созданных для предприятий или фирм.
Кнопочное меню можно создать вручную (в режиме конструктора) или
воспользовавшись диспетчером кнопочных форм. Меню, созданные вручную,
могут обладать большими возможностями и выглядеть более привлекательно,
чем меню, созданные диспетчером. Однако для создания красивого меню
вручную требуется достаточно много времени даже для опытного
разработчика, а создать простое меню диспетчером можно за несколько минут,
тем более, что впоследствии в режиме конструктора можно дополнить и
изменить это меню. Поэтому остановимся на варианте создания меню с
помощью диспетчера кнопочных форм.
Для создания кнопочного меню проделайте следующие действия:
1. Продумайте функции кнопок в кнопочном меню. Например, кнопка 1
будет открывать форму Преподаватели для просмотра или изменения
данных, кнопка 2 будет открывать перекрестный запрос о среднем
балле в группах по дисциплинам и так далее. Необходимо создать 4
кнопки для открытия соответствующих форм для просмотра и ввода
данных во все 4 таблицы, одну кнопку – для просмотра сложной формы,
соответствующее количество кнопок для просмотра всех запросов и одну
кнопку для просмотра отчета. При создании кнопочного меню с
помощью диспетчера кнопочных форм предусмотрены только команды
работы с формами и отчетами, а для работы с запросами надо создавать
соответствующие макросы. Поэтому перед началом работы с
диспетчером кнопочных форм создайте макросы на открытие
соответствующих запросов.
Выполните команду Работа с базами данных/Диспетчер кнопочных
форм.
Автоматически будет создана кнопочная форма Main Switchboard, которая
будет главной по умолчанию.
35
2. Для ввода новых кнопок нажмите кнопку изменить.
3. В открывшемся окне нажмите кнопку создать (имеется в виду создать
новую кнопку для выполнения определенного действия). В открывшемся
окне в поле текст введите название кнопки (например,
Преподаватели), в поле команда выберите из раскрывающегося списка
нужную команду, а в третьем поле, появляющемся для большинства
команд, выберите нужный объект и нажмите OK.
4. Для создания остальных кнопок повторите пп. 5 и 6 необходимое
количество раз.
5. После ввода всех кнопок закройте окно изменения страницы кнопочной
формы и окно диспетчера кнопочной формы.
6. На вкладке формы измените название Main Switchboard на Кнопочное
меню. Откройте форму Кнопочное меню.
7. Войдите в режим конструктор и измените название поля db1 на деканат,
воспользовавшись пунктом свойства из меню правой кнопки мыши
(предварительно выделив поле и наведя на него курсор мыши).
8. Войдите в режим просмотра формы Кнопочное меню и проверьте,
правильно ли работают все кнопки.
Внимание! Для возврата в меню из любой открытой формы, запроса или отчета
достаточно закрыть их.
Создание макросов.
В окне базы щелчок на команде Макросы. Основной компонент Макросов макрокоманды. Список Макрокоманд можно просмотреть
Создание/Макрос/Макрос, ( щелчок на кнопке со стрелкой) в столбце
Макрокоманда. Прокрутить и выбрать нужную макрокоманду. Далее
необходимо добавить условие, используя Построитель.
36
Сохранить макрос с именем Хорзарпрепод(хорошая зарплата
преподавателей). Запустить макрос на выполнение, п.м.на имени макроса и
команда Выполнить. Просмотреть в форме преподавателей, имеющих
зарплату >15000руб.
Присоединение макроса к кнопке.
Откройте форму или отчет в режиме конструктора, в область заголовка
вставьте кнопку.
Найдите свой макрос и на следующем шаге выбирается текст или рисунок на
кнопку. Далее задается имя кнопке и Готово.
Щелкнув на кнопке, запустите макрос и посмотрите результаты его работы.
Результаты работы представьте преподавателю.
Контрольные вопросы
1. С какой целью создаются формы? Назовите виды форм MS Access.
37
2. Назовите инструменты создания форм.
3. Назовите виды автоформ.
4. Перечислите основные разделы форм и их назначение.
5. Для чего используется раздел Данные в форме?
6. Как разместить в форме элемент управления?
7. Как используется при создании форм Список полей?
8. Как изменить порядок обхода элементов в форме?
9. Как построить форму по двум связанным таблицам?
10.Назовите основные элементы диаграмм.
11.Как построить диаграмму, используя режим Мастера диаграмм?
12.Что такое макросы?
13.Что такое запросы?
14.Какие запросы есть в MS Access?
15.Как создать запрос с параметрами?
16.Особенности создания перекрестного запроса.
38
Лабораторная работа №3
Цель работы:
Изучить возможности пакета MathCad, научиться вводить формулы;
научиться выполнять арифметические вычисления в математическом пакете
MathCad. Закрепить навыки задания элементарных функций в MathCad;
научиться изображать двухмерные графики элементарных функций и способы
их задания; изучить виды двухмерных графиков; освоить форматирование
двухмерных графиков.
Научиться решать уравнения с одним неизвестным с помощью функции
root; реализовать поиск корней с помощью блока Given... Find ( ); реализовать
поиск решения нелинейных уравнений ,получить навыки решения систем
линейных уравнений.
Основные элементы интерфейса системы MathCAD
Основные элементы интерфейса пользователя системы
MathCAD
приведены на рис. 1. К ним относятся: главное меню, стандартная панель
инструментов, панель инструментов "Форматирование", панель вывода
палитр математических знаков, рабочее поле документа, маркер ввода.
Панель вывода палитр математических знаков (рис. 2) позволяет включать
палитры, с помощью которых можно вводить в документы практически все
известные математические символы, операторы и объекты, управлять
вычислениями в системе, осуществлять построение графиков.
e0.125  ln( 3.5 )
Например, для ввода и вычисления значения выражения
1 в
5
MathCAD применяется палитра математических знаков "Арифметика" (рис. 3,
а).
При этом вычисляемое выражение будет введено в месте размещения
маркера ввода, как показано на рис. 3, б.
Из палитры "Арифметика" в рассматриваемом примере введены знаки
экспоненты, натурального логарифма и квадратного корня. Для выхода из
39
режима надстрочного символа после окончания ввода числа 0,125 необходимо
нажать клавишу "Пробел".
Ввод формулы заканчивается символом "=", в результате чего MathCAD
производит вычисление заданного выражения.
Входной язык MathCAD, как и любой язык программирования высокого
уровня, имеет оператор присваивания(:=). Он вводится при помощи кнопки
арифметической палитры (рис. 3, а).
Рис. 1. Основные элементы интерфейса системы MathCAD
Рис. 2. Панель вывода палитр математических знаков
Например,
a:=1.
Внимание! Следует строго различать оператор присваивания ":=" и
оператор вычисления выражения "=".
После ввода такого выражения переменная a может использоваться в
дальнейших расчетах, например
а + 5 = 6.
40
MathCAD вычисляет выражения, введенные на рабочем поле документа,
слева направо, а затем – вниз. Это обстоятельство следует учитывать при вводе
формул.
Оператор глобального присваивания "≡", который безразличен к месту
своего
расположения,
вводится
посредством
палитры
"Сравнения
и
отношения".
Чтобы вывести на экран текущее значение переменной достаточно ввести
имя переменной и знак "=", а система выдаст результат, например, a = .
Вычисление определенных интегралов, численное дифференцирование,
определение сумм, произведений и пределов выполняется при помощи палитры
"Вычисления" (рис. 3, в).
Пример
ввода
формул
дифференцирования,
интегрирования
и
суммирования приведен на рис. 4.
Вставка
функций,
не
вынесенных
на
математические
палитры,
осуществляется через меню "Insert"- "Function" или при помощи специальной
кнопки на стандартной панели инструментов. Среди них:
тригонометрические функции:
cot(z) – котангенс;
asin(z) – арксинус;
acos(z) – арккосинус;
atan(z) – арктангенс;
гиперболические функции:
41
cosh(z) – гиперболический косинус;
sinh(z) – гиперболический синус;
tanh(z) – гиперболический тангенс;
acosh(z) – гиперболический арккосинус и др.;
Рис. 4. Пример ввода формул дифференцирования, интегрирования и
суммирования
функции работы с комплексными числами:
arg(z) – вычисление аргумента комплексного числа;
Re(z), Im(z) – вычисление действительной и мнимой части комплексного
числа;
Например,
z:= 2 + 4⋅i - ввод числа z;
arg(z) = 1.107 - вывод результата arg(z).
Здесь мнимая единица i должна быть введена посредством кнопки
палитры "Арифметика" (рис.3, а).
Пользователь может в MathCAD определять свои собственные функции
(функции пользователя).
Например, пусть требуется определить функцию y  x 2  3 x  2 . Назовем
ее именем f(x) и создадим в MathCAD следующую запись при помощи палитры
"Арифметика" (рис. 3, а)
f ( x ) : x 2  3 x  2 .
После этого можно вызывать данную функцию с любым допустимым
аргументом, например
42
f ( 3 )  2 .
В
MathCAD
числовые
переменные
и
функции
могут
обладать
размерностью. Сделано это для упрощения инженерных и физических
расчетов. В MathCAD встроено большое количество единиц измерения, с
помощью которых и создаются размерные переменные.
Чтобы создать размерную переменную, определяющую, например, силу
тока в 10 А, введите выражение, присваивающее переменной I значение 10:
I:=10, и затем символ умножения <*>, а потом букву "А". Поскольку все
символы, обозначающие единицы измерения, зарезервированы и имеют
предустановленные значения (связанные с размерностью), то литера
распознана MathCAD как Ампер.
Например:
Задание 1:
 Определить значения функций:
43
А
будет
Ранжированные переменные
В самом простом случае для создания ранжированной переменной
используется выражение: Name := Nbegin.. Nend, где Name — имя
переменной, Nbegin — ее начальное значение, Nend — конечное значение, ..
— символ, указывающий на изменение переменной в заданных пределах (он
вводится знаком точки с запятой ;). Если Nbegin < Nend, то шаг изменения
переменной будет равен +1, в противном случае -1.
Для создания ранжированной переменной общего вида используется
выражение: Name := Nbegin, (Nbegin + Step). .Nend. Здесь Step — заданный
шаг изменения переменной.
Ранжированные переменные широко применяются для представления
функций в виде таблиц вывода, а также для построения их графиков. Если
после некоторого выражения с ранжированной переменной поставить знак
равенства, то после щелчка мышью на экран будет выведена таблица значений
этого выражения.
Применение ранжированных переменных
44
Задания 2:
Найти значения функции:
Построение и форматирование графиков
Для построения двухмерных графиков в декартовой системе координат
нужно выбрать шаблон двухмерного графика по команде X-Y Plot из меню
Insert/Graph.
В рабочем поле появится незаполненный шаблон в виде прямоугольника
с двумя тесными маленькими прямоугольниками по каждой оси (см. рисунок
1).
45
Рисунок 1. Рабочее поле для построения двухмерного графика
График строиться довольно просто, нужно только указать x переменную в
маркере оси x, функцию f(x) в маркере оси y. Заканчивается построение
клавишей Enter и щелчком мыши вне графика. Можно также явно указать
начальное и конечное значение по осям в маркерах начала и конца оси, иначе
они определяются автоматически. Выделив график двойным щелчком мыши,
можно произвести его настройку, в частности, определить тип, цвет и толщину
линии, а также выбрать оси.
Функцию можно задать до построения графика, а в поле ввода функции ввести
ее название:
f ( x)  2 sin ( x)
2
f ( x)
0
2
10
0
10
x
Есть еще две интересные кнопки графической палитры:
 Zoom – позволяет выделить часть графика увеличить..
 Trance – отслеживает изменение координат на графике.
Эти кнопки активны только при выделении графика.
Задания 3:
 Построить графики следующих функций:
46
Задание 4
 Изменяя x на отрезке 0 до 2 Пи с шагом
постройте график функции
Изучите при каких значениях x функция возрастает, убывает.
Чтобы представить графически несколько выражений по оси ординат
относительно одного выражения по оси абсцисс, введите первое выражение для
оси
ординат,
сопровождаемое
запятой.
Непосредственно
под
первым
выражением появится пустое поле. Введите туда второе выражение,
сопровождаемое другой запятой, чтобы получить другое пустое поле, и т.д. Все
выражения должны использовать одну и ту же переменную.
Задание 5:
Построить графики данных функций в одной системе координат:
Задание 6
47
Построение графика в полярной системе координат.
Для вставки шаблона полярного графика выберите команду меню
Вставка→График→Полярные координаты или щелкните на соответствующей
кнопке панели инструментов Графики. Форматирование полярного графика
производится аналогично форматированию декартова графика.
120
90
4
4
60
3
150
2( 1 cos( x) )
30
2
1
180
0
0
0
210
330
240
300
270
x
Задание 7:
График параметрически заданной функции.
Кроме явного задания функции, существует параметрическое задание
функции, при котором указывается зависимость обеих координат от некоторого
параметра. В MathCAD можно построить такую функцию, если ввести в оба
поля ввода функции, зависящие от одного параметра.
f ( x)  2 sin ( x)
90
120
4
150
2
sin( x)
1 2cos( t)
60
0.8
0.6
0.4
0.2
0
180
30
0
0
210
2
20
10
0
10
20
330
240
300
270
2x cos( x)
t 2sin( t)
Задание 8:
Построение трехмерного графика в виде поверхности.
Для построения графика функции z(x,y) в виде трехмерной поверхности
нужно сначала задать эту функцию , а затем вставить шаблон поверхностного
графика
(команда
меню
Вставка→График→Поверхности
48
или
соответствующая кнопка на панели инструментов Графики), введя в его поле
ввода имя заданной функции z. Например,
2

2
z( x y)  x  y sin( x  y)
Провести форматирование графика.
Решение нелинейных уравнений
Решение уравнения с одним неизвестным.
Простейший способ найти корень уравнения с одним неизвестным
обеспечит функция root (). Например, нам необходимо найти корень
трансцендентного уравнения
. Зададим начальное значение x:=1,
решение дается функцией
. Точность
вычислений определяется системной переменной TOL равной по умолчанию
10-3 и определенной в меню Math/Options.
Пример решения при точность вычислений =10-8.
При выводе результата в примере отображается только 3 значащих
цифры
после десятичной
точки. Эта
установка изменяется
Format/Number в переменной Displayed Precision.
49
в меню
Для нахождения начальных приближений поиска вещественных корней
весьма полезно построить графики кривых, входящих в систему уравнений.
Полученные точки пересечения можно использовать для дальнейшего поиска
корней.
Поиск корней при помощи блока Given... Find ( ... ).
Прежде чем приступить к численному решению, исследуют исходные
уравнения с тем, чтобы убедиться в существовании решения, количестве
корней, а также определения их грубых приближений для задания начальной
итерации (отделение корней).
Пусть задана система уравнений:
Найти решение этой системы, для чего выражают y как функцию от x и
строят график.
Чтобы для решения применить функцию Given (дано) необходимо задать
начальное приближение, как видно из графика x:=1,y:=1, далее вводится
служебное слово:
Given
50
Затем вводятся уравнения. Знак логического равенства вводим Ctrl= или
выбирается из палитры инструментов.
Решение даёт функция Find ( ).
Так могут решаться системы уравнений с несколькими неизвестными,
однако, как и в предыдущем случае, необходимо задание начальной точки от
которой будет проходить поиск решения. Решение ищется методом итераций и
при наличии нескольких корней, очевидно, будет найдено лишь приближенное
решение, если оно существует.
Количество уравнений в блоке Given … Find (…) должно совпадать с
количество неизвестных.
Задания для самостоятельной работы:
Построить графическое решение уравнений и, если решения имеются,
найти численное значение:
Для поиска корней обычного полинома p(x)степени n можно использовать
функцию polyroots(V).
51
Дан полином n=4
полинома
,задается вектор коэффициентов
, вводится функция polyroots(V)=
,выводится 4 корня
полинома.
Задание:
x3+0,85x2-0,432x+0,044=0;
x3-0,12x2-1,478x+0,192=0;
x3+0,88x2-0,3999x-0,0376=0;
x3+2,28x2-1,9347x-3,90757=0;
x3+0,78x2-0,827x-0,1467=0;
x3-3x2+0,569x+1,599=0;
x3+0,77x2-0,251x-0,017=0.
Решение систем линейных уравнений
Для
решения
систем
линейных
уравнений
можно
использовать
встроенную функцию lsolve(...) решена система линейных уравнений:
Матрицы коэффициентов:
Решение системы линейных уравнений.
Решение системы линейных уравнений с помощью матриц.
Способы задания матрицы
Для того чтобы ввести элементы матрицы с клавиатуры, выберите
команду меню Insert /Matrix или на панели инструментов Matrix щелкните на
52
кнопке Matrix or Vector. В открывшемся диалоговом окне введите количество
строк (Rows) и столбцов (Columns). При нажатии клавиши OK появится
шаблон матрицы, в который можно вводить ее элементы.
Элементы матрицы по умолчанию нумеруются с 0, если необходимо, чтобы
элементы матрицы нумеровались с 1, нужно в начале документа ввести
ORIGIN:=1.
Пусть имеется система уравнений вида
Известно, что в матричной форме справедливо
Рассмотрим пример:
Тогда решение данной системы линейных уравнений с помощью матриц
в MathCAD выглядит следующим образом:
Задания 10
Найти решение системы уравнений
53
Решение системы линейных уравнений методом Крамера
Правило Крамера: Соответствующий столбец матрицы А заменяется
столбцом свободных членов В. Далее ищется частное от деления определителя
этой матрицы на определитель матрицы А, это и будет один из корней системы.
Задания 10:
 Найдите решение систем линейных уравнений методом Крамера
Символьный процессор
Символьный процессор Mathcad позволяет решить многие задачи
математики
аналитически,
без
применения
численных
методов
и,
соответственно, без погрешностей вычислений. Mathcad позволяет проводить
широкий спектр аналитических преобразований, таких, как алгебраические и
54
матричные операции, основные действия математического анализа и расчеты
интегральных преобразований функций.
Символьные вычисления в Mathcad можно осуществлять в двух
различных вариантах:

помощью команд меню;

с помощью оператора символьного вывода →, ключевых слов
символьного процессора и обычных формул (в справочной системе
Mathcad этот способ называется символьными вычислениями в реальном
времени — live symbolic evaluation).
Для символьных вычислений при помощи команд предназначено главное
меню Symbolics (Символика), объединяющее математические операции,
которые Mathcad умеет выполнять аналитически.
Для реализации второго способа применяются все средства Mathcad,
пригодные
для
численных
вычислений
(например,
панели
Calculator,
Evaluation и т. д.), и специальная математическая панель инструментов,
которую можно вызвать на экран нажатием кнопки Symbolic Keyword Toolbar
(Панель символики) на панели Math. На панели Symbolic (Символические)
находятся кнопки, соответствующие специфическим командам символьных
преобразований. Например, таким, как разложение выражения на множители,
расчет преобразования Лапласа и другим операциям, которые в Mathcad нельзя
проводить численно и для которых, соответственно, не предусмотрены
встроенные функции.
. Панель Символические
55
Рассмотрим оба типа символьных вычислений на простом примере
разложения на сомножители выражения sin (2-х).
Первый способ (с помощью меню).
1. Введите выражение sin (2-х).
2. Выделите его целиком
3. Выберите в главном меню пункты Symbolics/Expand
(Символика/Разложить).
После этого результат разложения выражения появится чуть ниже в виде еще
одной строки.
sin ( 2  x)
2  sin ( x)  cos ( x)
Второй способ символьных преобразований (с помощью оператора →).
1. Введите выражение sin(2х).
2. Нажмите кнопку Expand (Разложить) на панели Symbolic.
3. Введите в местозаполнитель(черный квадрат) после появившегося
ключевого слова expand имя переменной х, либо нажмите клавишу Del,
чтобы просто удалить местозаполнитель.
4. Введите оператор символьного вывода →.
5. Нажмите клавишу <Enter> либо просто щелкните мышью за пределами
выражения.
Оператор символьного вывода, можно ввести в редакторе Mathcad
несколькими способами: нажатием кнопки → на любой из панелей Evaluation
(Выражения) или Symbolic (Символика) либо сочетанием клавиш Ctrl+ «.».
sin ( 2x) expand 

sin ( 2x) expand  x  2  sin ( x)  cos ( x)
Результат символьного разложения.
На
практике
не
всякое
выражение
поддается
аналитическим
преобразованиям, либо в силу того, что задача вовсе не имеет аналитического
56
решения, либо она оказывается слишком сложной для символьного процессора
Mathcad, то в качестве результата выводится само выражение.
cos ( x) expand  x  cos ( x)
Различия в символьных вычислениях при помощи меню и оператора →
(снизу) рассмотрим на примере:
x  0
acos ( sin ( x) )
1
2
   asin ( sin ( x) )
acos ( sin ( x) ) expand  x 
1
2

Задания для самостоятельной работы:
 Упростить обоими способами выражения
Упрощение выражений
Упрощение выражений — наиболее часто применяемая операция.
Символьный процессор Mathcad стремится так преобразовать выражение,
чтобы оно приобрело более простую форму. При этом используются различные
арифметические
формулы,
приведение
подобных
слагаемых,
тригонометрические тождества, пересчет обратных функций и др. Чтобы
упростить выражение с помощью меню:
1. Введите выражение.
2. Выделите выражение целиком или его часть, которую нужно упростить.
3. Выберите команду Symbolics/Simplify (Символика/Упростить)
57
Для упрощения выражения при помощи оператора символьного вывода
используйте ключевое слово simplify.
Если некоторым переменным, входящим в выражение, ранее были
присвоены некоторые значения, то они будут подставлены в него при
выполнении символьного вывода.
x  10
y  1
2
2
( x  2y )z  z ( x  5y )  z simplify  13  z  5  z
Упрощение выражений, содержащих числа, производится по-разному, в
зависимости от наличия в числах десятичной точки. Если она есть, то
выполняется непосредственное вычисление выражения.
3 simplify  3
3.01 simplify  1.7349351572897472412
Разложение на множители (Factor).
Разложение выражений на простые множители производится при помощи
команды Symbolics / Factor (Символика/Разложить на множители), либо
использованием вместе с оператором символьного вывода ключевого слова
factor. Эта операция позволяет разложить полиномы на произведение более
простых полиномов, а целые числа — на простые сомножители. Применяя
команду меню, не забывайте перед ее вызовом выделить все выражение или его
часть, которую планируете разложить на множители.
58
. Разложение выражения на множители
Задания 11:
 Разложить выражения на множители:
Разложение в ряд Тейлора
Чтобы разложить выражение в ряд Тейлора с остаточным членом в
форме Пиано, выполните следующие действия:
 выделите переменную в выражении, которое надо разложить в ряд;
 выберите команду Symbolics / Variable / Expand to Series
(Символьные вычисления / Переменная / Разложить в ряд);
 в появившемся диалоговом окне укажите порядок остаточного члена.
В полученном ответе остаточный член обозначается как 0(х6), то есть
отбрасываются члены ряда, содержащие х6 и выше. Прежде чем использовать
разложение для дальнейших вычислений, остаточный член надо удалить /
Разложение выражения в ряд Тейлора.
Ряд Тейлора для функции обычно сходится только в малой окрестности
выбранной точки. В качестве точки разложения MathCAD берет нуль. Для
разложения функции в точке, отличной от нуля, необходима замена переменной.
Например, для разложения в ряд функции 1n(х) в окрестности точки х = 1 надо
59
разложить в ряд функцию 1n(х + 1), а затем переменную х заменить на х - 1. Этот и
другие примеры разложения в ряд приведены на рис. 19.
Разложение в ряд функции ln(x) заменой переменной
Вычисление суммы или проиведение
Чтобы вычислить символьно конечную или бесконечную сумму или
произведение:
1. Введите выражение, используя панель Calculus(Вычисления) для
вставки соответствующих символов суммирования или произведения.
При необходимости введите в качестве предела ряда символ
бесконечности (клавиши Ctrl+Shift+Z).
2. В зависимости от желаемого стиля символьных вычислений выберите
команду Symbolics / Simplify (Символика / Упростить) или введите
оператор символьного вывода →.
Задания 10:
 Найти символьное и численное значение суммы ряда:
60
 Найти символьное и численное значение произведения ряда:
Разложение на элементарные дроби (Convert to Partial Fractions)
Чтобы разложить сложную дробь на более простые дроби, следует либо
выполнить
команду
Symbolics→Variable→Convert
to
Partial
Fractions
(Символика → Переменная → Разложить на элементарные дроби), либо указать
ключевое слово parfrac. Применяя первый способ (меню), не забывайте перед
выбором его команды выделить переменную, по которой будет производиться
разложение, а если используется второй способ (с оператором символьного
вывода), то имя переменной следует указать после ключевого слова parfrac. В
общем, последовательность действий при разложении на дроби та же самая, что
и обычно.
61
Разложение сложной дроби на элементарные дроби
Задания для самостоятельной работы:
 Разложить сложные дроби на элементарные:
Контрольные вопросы:
1. Что такое индексированная переменная?
2. Как вызвать меню построения графиков в MathCAD.
3. Как построить двухмерных график функции в декартовой системе
координат?
4. Как построить несколько графиков функций в одной системе координат?
5. Как записываются в MathCAD тригонометрические формулы?
62
6. Как записываются в MathCAD логарифмические формулы?
7. Как вычислить значение функции в MathCAD, если известны значения
переменных?
8. Что такое точность вычисления? Как изменить точность вычисления в
MathCad?
9. Каким образом реализуется поиск корней системы уравнений при
помощи блока Given-Find?
10.Как решить систему линейных уравнений с помощью функции lsolve?
11.Как решить систему уравнений с помощью функции solve?
12.Для чего необходима панель Symbolic?
13.Каким образом упростить выражение c помощью математического пакета
MathCad?
14.Каким образом разложить выражение на множители c помощью
математического пакета MathCad?
15.Как вычислить к какому значению стремится ряд с помощью
математического пакета MathCad?
16.Каким образом разложить выражение на элементарные дроби с помощью
математического пакета MathCad? 1. Назовите основные способы
решения систем линейных уравнений.
17.Какие операторы позволяют осуществить решение систем нелинейных
18.уравнений?
19.Для чего необходимо выполнять проверку решения уравнений?
20.В чем смысл решения уравнений численными методами ?
21.Назовите порядок построения графика в декартовых системах координат.
22.Назовите порядок построения графика в полярной системе координат.
23.Перечислите основные возможности символьной математики.
24.Каким образом можно задать упрощение выражения ?
25..Каким образом можно получить значение числа π с точностью 25 знаков
после запятой ?
26.Каким образом можно выполнить разложение по степеням переменной?
63
27.Каким образом можно найти неопределенный интеграл от выражения ?
28.Каким образом можно решить нелинейное уравнение?
29.Какими способами можно задать матрицу в MathCad?
30.Каким образов вычислить определитель матрицы в MathCad?
31.Каким образом выполняется скалярное и векторное произведения матриц
в MathCad?
32.Каким образом решить систему уравнений с помощью матриц в
MathCad?
33.Нахождение решения системы уравнений методом Крамера
34.Что такое точность вычисления? Как изменить точность вычисления в
MathCad?
35.Каким образом реализуется поиск корней системы уравнений при
помощи блока Given-Find?
36.Как решить систему линейных уравнений с помощью функции lsolve?
37.Как решить систему уравнений с помощью функции solve?
38.Для чего необходима панель Symbolic?
39.Каким образом упростить выражение c помощью математического пакета
MathCad?
40.Каким образом разложить выражение на множители c помощью
математического пакета MathCad?
41.Как вычислить к какому значению стремится ряд с помощью
математического пакета MathCad?
42.Каким образом разложить выражение на элементарные дроби с помощью
математического пакета MathCad.
64
Лабораторная работа 4
Цель работы: определение неопределенных и определенных интегралов и
производных в программе MathCad с использованием символьных операций,
решение обыкновенных дифференциальных уравнений(ОДУ),
Задание 1
 Записать на рабочем листе в соответствии с номером варианта формулы
для
определения
неопределенных
интегралов,
определенных
интегралов, производных первого порядка. От производных первого
порядка определить производные второго, третьего порядков.
 Применить последовательно к каждой функции команды меню
Symbolic/Simplify, отметив последовательно каждую из функций.
Таблица – Варианты задания
Номер
Неопределенные
Определенные
варианта
интегралы
интегралы
1
2
3
1
3x
4
5 x 7x 6
2
x
3
sin ( x) d x
dx
1
3
1
x
2
3
d 
( x  1)  ( x  2) 
dx
0
x
2
4

3
Производные
e
dx
k x
d
( sin( x)
dx
dx
cos ( x)
tan( x) )
0
x
3
1
5
cos ( 4 x)  sin ( 4 x) d x
1
dx
2
1
d x
e
dx
ln( x)
asin( x)
3
x
x
1
4







2
x
4x
3

4
dx
4
9
sin ( x)
cos ( x)
d x
2 sin ( x)
dx
e
3 x
dx
2
0
2
5
cos
x
x
1
dx
x 1
1
65
dx
4
x
10
d
d x tan( x)
5 ln( x)
6 acos ( x)
2 x
4
10
6
1
2
2
sin ( x)  cos ( x)
1
dx
dx
( x 1)  x 6
d
2
sin x
dx
tan ( x)
3
7

1
1
x
dx
sin ( x)
(1
d ( tan( x ) ) 2
e
dx
dx
x)
3
0
8
1
cos ( ln ( x) )

x
dx
x
d
dx
dx
4
ln( sin ( x)
( tan ( x) )
2
1
2)
3
x
1
9
1
1
cos ( x)
d x
2 sin ( x)
dx
ln ( x) d x
dx
2
sin ( x)
cos ( x)
3 x
0
1
10
e
asin ( x)
dx
2
10
d
d x tan( x)
dx
5 ln( x)
6 acos ( x)
2 x
4
2
1
x
0
1
11
1
dx
sin ( x)  cos ( x)
12
x 3
2
x
d
2
sin x
dx
x
e dx
0
2 
dx
2
4 a  ( 1
2
cos (  ) ) d 
cos ( x)
5
d ( tan( x ) ) 2
e
dx
0
2
1
13
tan ( x)
1
dx
sin ( x)
2
dx
2
1
10
d
d x tan( x)
5 ln( x)
6 acos ( x)
x
1
14

1
7
dx
4
8x
2
d
2
sin x
dx
sin ( x)
cos ( x)
tan ( x)
dx
2
0
15

sin ( 2  x)
5
3  sin ( x)
x
dx
4
1
1
Примеры
66
dx
2
x
d ( tan( x ) ) 2
e
dx
2 x
4





1. Найти неопределенный интеграл
1
x
2
dx

2
 10  x  10
.
x
10
Результат
1
2
x
10 :
1
asin ( x)
2. Найти определенный интеграл
1
Результат
8

1
x
2  ln( 2)  sin( x)
x
.
0
2
.
3. Найти производные первого порядка
Результат
d x
2  sin ( x)
dx
.
x
2  cos ( x) .
d
4. Найти производные высокого порядка
4
x
96  x
Результат
40  x
2
2
x
dx
2
4
3
x
d x4 x2
4
.
80
5
4
Таблица – Варианты задания
Номер
Неопределенные
Определенные
67
Производные
вариан
интегралы
интегралы
2
3
та
1
3x
4
1
5 x 7x 6
2
x

3
3
dx
0
3
2
2
3
d 
( x  1)  ( x  2) 
dx
sin ( x) d x
x
1
4
1
x
dx
e
k x
d
( sin( x)
dx
dx
tan( x) )
0
x
1
3
cos ( x)
1
5
cos ( 4 x)  sin ( 4 x) d x
d x
e
dx
dx
2
1
x
ln( x)
asin( x)
3
x
1
4







2
x
4x3  9
4
dx
sin ( x)
4
cos ( x)
d x
2 sin ( x)
dx
dx
2
3 x
0
2
5
e
cos
x
1
dx
x 1
x
10
d
d x tan( x)
dx
4
x
5 ln( x)
6 acos ( x)
2 x
4
1
10
1
6
1
dx
2
sin ( x) cos ( x)
dx
( x 1)  x 6
2
d
2
sin x
dx
tan ( x)
3

7
1
1
x
dx
sin ( x)
(1
d ( tan( x ) ) 2
e
dx
dx
x)
3
0

8
cos ( ln ( x) )
1
x
dx
x
1
dx
2
x
d
dx
4
ln( sin ( x)
( tan ( x) )
2)
3
1
1
9
cos ( x)
1
dx
ln ( x) d x
2
0
1
sin ( x)
10
cos ( x)
asin ( x)
dx
2
1
0
68
2
x
dx
d x
2 sin ( x)
dx
10
d
d x tan( x)
e
5 ln( x)
3 x
6 acos ( x)
2 x
4
1
1
dx
sin ( x)  cos ( x)
11
x 3
12
2
x
0
2 
dx
2
d
2
sin x
dx
x
e dx
2
4 a  ( 1
2
cos (  ) ) d 
0
1
cos ( x)
13
5
sin ( x)
1
dx
2
dx
2
1
x
tan ( x)
d ( tan( x ) ) 2
e
dx
10
d
d x tan( x)
5 ln( x)
6 acos ( x)
2 x
1

1
14
7
dx
4
2
8x
sin ( x)
cos ( x)
dx
2
d
2
sin x
dx
tan ( x)
0

sin ( 2  x)
15
5
3  sin ( x)
x
dx
4
1
dx
2
x
d ( tan( x ) ) 2
e
dx
1
Решение ОДУ
Дифференциальное уравнение первого порядка может по определению
содержать помимо самой искомой функции y(t) только ее первую производную
y'(t). В подавляющем большинстве случаев дифференциальное уравнение
можно записать в стандартной форме (форме Коши): у' (t)=f (y(t),t)
Вычислительный блок для решения одного ОДУ, реализующий численный
метод Рунге-Кутты, состоит из трех частей:
Given - ключевое слово;
ОДУ и начальное условие, записанное с помощью логических операторов,
причем
начальное условие должно быть в форме y(t0)=b;
odesolve(t,t1)
-
встроенная функция для решения ОДУ
переменной t на
интервале (t0,t1). Например,
69
относительно
4
Given
d
y ( t)
dt
y ( 0)
y ( t)  y ( t)
2
0.1
y  odesolve( t  10)
Для того, чтобы визуализировать полученную функцию можно построить ее
график:
1
y ( t)
0.5
0
0
5
10
t
Обыкновенное дифференциальное уравнение с неизвестной функцией
y(t),в которое входят производные этой функции вплоть до y(N) (t), называется
ОДУ N-ГО порядка. Если имеется такое уравнение, то для корректной
постановки задачи Коши требуется задать N начальных условий на саму
функцию y(t) и ее производные от первого до (N-l)-ro порядка включительно. В
MathCAD
можно
решать
ОДУ
высших
порядков
как
с
помощью
вычислительного блока Given/odesolve, так и путем сведения их к системам
уравнений первого порядка. Внутри вычислительного блока:
- ОДУ должно быть линейно относительно старшей производной, т. е.
фактически должно быть поставлено в стандартной форме;
- начальные условия должны иметь форму y(t)=b или у' (t)=b
Например,
70
Given
d
2
2
y ( x)
dx
y ( 0)
1
y'( 0)
0
 d y ( x)  x y ( x)  x2 

 dx

sin 
y  odesolve( x 5)
y ( x)
x
Решение систем дифференциальных уравнений.
Систему дифференциальных уравнений можно решить используя тот же
блок Given/odesolve . При этом количество начальных условий равно сумме
порядков всех уравнений, входящих в систему.
Например:
1. Решение дифференциальных уравнений без помощи блока решений.
MathCAD содержит следующие встроенные функции для решения
дифференциальных уравнений:
- rkfixed – метод Рунге-Кутта с фиксированным шагом интегрирования;
- Rkadapt – метод Рунге-Кутта с переменным шагом интегрирования
(величина шага адаптируется к скорости изменения функции решения);
Эти функции имеют сходные параметры (y, a, b, n, D):
- y – вектор начальных значений неизвестных функций, входящих в
систему (в случае одного уравнений и одной неизвестной функции – это
просто число);
71
- a – начало отрезка, на котором ищется решение (именно в этой точке
находятся значения вектора y);
-
b – конец отрезка интегрирования;
- n – количество частей, на которые разбивается отрезок интегрирования;
- D(x, y) – векторная функция, элементы которой содержат правые части
уравнений системы в нормальной записи (когда левые части –
производные от соответствующих функций, а в правых частях
производные отсутствуют)
Например:
y 
1
 
0
y


1


D( x y ) 
 sin  y  x y  x2  
0
  1

Y  Rkadapt ( y  0  5  50  D)
i  0  rows ( Y)
 Y 1  i
 Y 0  i
Программирование в Mathcad
Для написания программ
в среде MathCad существует специальная
панель Programmіng (Программирование) (рис.1, а), она относится к панели
Math (Математические) (рис.1, б).
Язык программирования MathCad имеет предельно малое количество
операторов (рис. 1 а). Чтобы написать программу, прежде всего для нее должен
72
быть создан блок. Выглядит он как черная вертикальная линия с маркерами, в
которые записывают те или иные выражения алгоритма.
а)
б)
Панель программирования
Чтобы построить единичный элемент программного блока, используется
кнопка
команды
Add
Line
(Добавить
линию)
панели
Programming
(Программирование). При этом в области курсора появится следующий объект:
, в который можно занести две строки программы. Для создания большего
числа строк программы необходимо последовательно нажимать несколько раз
соответствующую кнопку на панели Programming. Программный блок можно
создать и внутри уже заданного блока.
Для присвоения значений переменным и функциям в
MathCad
используется специальный оператор:  (Local Defіnіtіon - Локальное
присваивание), расположенный на панели Programmіng (Программирование).
Использовать оператор обычного присваивания := в программах нельзя.
Локальные переменные и функции имеют приоритет над глобальными в
рамках родной программы. Несколько переменных можно объявлять в одной
строке через запятую.
Практически любая программа создается с использованием специальных
управляющих операторов, таких как оператор цикла for или оператора условия
іf.
Пример описания кусочно-заданной функции:
73
f ( x) 
x if x  0
( x) otherwise
f ( x)
x
Чтобы задать нужный оператор, используются соответствующие кнопки
панели Programmіng (Программирование). Просто набрать оператор из
клавиатуры нельзя - он будет воспринят системой MathCad как неизвестная
функция. Такие операторы как: іf, for, whіle, активируют код, расположенный в
левом верхнем маркере, в том случае, если выполняется условие в правом. Для
задачи условия используются также операторы панели Boolean (Логические).
Можно задать и комплекс условий.
С помощью
оператора простого цикла for можно организовать
выполнение операции или проверку условия для ряда конкретных значений
переменной. Оператор for имеет три маркера: в двух верхних маркерах,
соединенных символом принадлежности, задается имя переменной, по которой
организуется цикл, и ряд принятых ею значений. В нижнем маркере
определяется операция или комплекс операций, которые должны быть
выполнены для каждого значения переменной.
Пример функции, вычисляющей факториал, с применением цикла for.
fakt( n ) 
f1
for i  1  n
f  fi
f
fakt( 5) 
fakt( 3.5) 
fakt( 4) 
74
С помощью второго оператора цикла whіle (Пока) можно организовать
цикл, который будет работать до тех пор,
пока некоторое условие будет
выполняться. Оператор whіle имеет два маркера, в которые вводятся
соответственно условия работы цикла и выражение для операций, которые
будут выполняться
на каждом шаге цикла whіle. Количество шагов
выполнения цикла не нужно определять явным образом.
Пример цикла while для вычисления приближенного значения квадратного
корня (методом касательных):
sqrt a   
es  1
while
es 
2
es  a  
1
2
  es 

a
es



es


8
sqrt 37  10
Если в некоторых ситуациях при работе программы необходимо прервать
работу цикла, для этого надо использовать оператор break (Прервать). Этот
оператор почти всегда работает с оператором іf (Если) или on error (Перехват
ошибок).
Программный оператор условия іf (Если) используется практически во
всех создаваемых алгоритмах. Условный оператор іf имеет два маркера: ٠іf٠. В
правый маркер вводится условие, в левый - операция, которая выполняется в
случае, если условие выполняется (если же оно не выполняется, то программа,
пропускает данный фрагмент). В маркер оператора может быть внесено
несколько условий.
Если алгоритм имеет несколько условий, при этом выполнение одного из
них может привести к невыполнению или ошибке в других операторах условий,
то можно использовать специальный оператор contіnue (Продолжить). Его
применение аналогично применению оператору break (Прервать).
75
Оператор otherwіse (Иначе) предназначен для определения
действия,
которое должно быть выполнено, если условие оператора іf (Если) окажется
ошибочным. Одновременно может быть использовано несколько условных
операторов іf (Если). Оператор otherwіse (Иначе) в таком случае будет
задействован, если не выполнятся условия всех операторов іf (Если).
С помощью оператора return (Возвратить) можно прервать работу
программы и возвратить некоторое значение. Этот оператор используется при
ошибочной ситуации в программе.
В MathCad существует возможность использовать специальный оператор
on error (Перехват ошибок). Он дает возможность в программах избегать
ошибок и обходить их. Этот оператор по синтаксису полностью отвечает
оператору іf.
error (“[текст ошибки]”) if [условие]
Например:
MathCAD
имеет
возможность
написания
различных
программ,
содержащих несколько операторов, при этом операторы могут быть вложены
друг в друга, если в какой-то оператор вложено несколько операторов, то их
нужно объединять вертикальной линией (Add Line).
Пример программы, вычисляющей среднее арифметическое элементов
произвольной матрицы:
76
1 3 2 0
A   3 2 1 3 


3 2 1 4
sum( q ) 
s0
k0
for i  1  rows ( q )
for j  1  cols ( q )
ssq
i j
kk 1
return
s
k
sum( A ) 
Очень интересная особенность программирования в Mathcad заключается
в том, что в программе мы можем использовать операторы типа вычисления
интеграла, суммы, производной и т.п.
Ввод и вывод данных
MathCad можно использовать для обработки данных, сохранённых в виде
файла. Это могут быть текстовые файлы, файлы изображений и звуковые
файлы. У всех функций для работы с файдами в качестве аргумента служит
полное имя файла (с указанием диска и пути), заключенное в двойные кавычки.
Если диск и путь не указаны, то работа с файлом производится из текущей
директории.
77
Функции для работы с текстовыми файлами:

READPRN("fiie") — чтение данных в матрицу из текстового файла.

WRITEPRN("file") — запись данных в текстовый файл.

APPENDPRN ("file") — дозапись данных в существующий
текстовый файл:

file — путь к файлу.
Можно задавать как полный путь к файлу, например, С:\Мои документы,
так и относительный, имея в виду, что он будет отсчитываться от папки, в
которой находится файл с документом Mathcad. Если вы задаете в качестве
аргумента просто имя файла (как в листингах 1—2), то файл будет записан или
прочитан из той папки, в которой находится сам документ Mathcad.
Примеры использования встроенных функций иллюстрируются,
листингами 1—3. Результат действия листингов 1 и 3. можно понять,
просмотрев получающиеся текстовые файлы, например, с помощью Блокнота
Windows (рис. 4 и 5 соответственно). Листинг 1. Запись матрицы в текстовый
файл
Листинг 2. Чтение данных из текстового файла в матрицу
Листинг 3. Дозапись вектора k в существующий текстовый файл
78
Рис. 4.Файл, созданный листингом 1
Рис. 5. Файл, созданный листингами 1 и 3.
Если данные выводятся в файл, пользуясь встроенной функцией
WRITEPRN, то в любом случае создается новый текстовый файл.
Если даже до записи данных файл с таким именем существовал, то его
содержимое будет уничтожено, заменившись новыми данными. Если вы
хотите сохранить прежнее содержимое текстового файла с данными,
пользуйтесь функцией APPENDPRN. Эта встроенная функция может
применяться и для создания нового файла. Т.е. если файла с заданным именем
не существовало, то он будет создан и наполнен теми данными, которые вами
определены в документе.
Защита документа.
Иногда возникает необходимость запретить возможность редактирования
документа или отдельных блоков, или даже скрыть отдельные блоки.
79
Для того, чтобы скрыть отдельные области документа от просмотра можно
в документе создать определенную область, которую потом можно скрыть и
заблокировать. Для создания такой области выберите команду меню
InsertArea.
После
горизонтальные
выбора
линии
этой
(границы
команды
области)
на
с
экране
появятся
пиктограммами
в
две
виде
треугольников на левом конце.
Для того, чтобы скрыть содержимое области, нужно дважды щелкнуть на
одном из треугольников слева или на одной из горизонтальных линий. При
этом на экране останется одна линия и один треугольник. Двойной щелчок на
этом треугольнике позволит снова раскрыть для редактирования содержимое
скрываемой области. После сокрытия содержимого области вычисления будут
проходить так же, как и раньше, как будто все блоки стоят на прежних местах.
После того, как область была скрыта ее можно заблокировать паролем, для
этого нужно выбрать команду Lock(Заблокировать) из подменю FormatArea
или из контекстного меню, вызываемого щелчком на одной из границ
скрываемой области. В открывшемся диалоговом окне в двух полях ввода
нужно ввести и подтвердить пароль, а затем щелкнуть на кнопке OK. Теперь
область заблокирована, пиктограмма на левом конце линии превратилась в
замок. Для разблокировки области служит команда Unlock(Разблокировать).
Контрольные вопросы
1. Как найти в символьном виде определенные и неопределенные
интегралы?
80
2. Можно ли применять символьные операции к интегралам по области, к
трехмерным интегралам, к контурным интегралам?
3. Можно ли в символьному виде найти производные высоких порядков?
4. Какие
геометрические
характеристики
можно
вычислить
с
использованием интегралов?
5. Какие встроенные функции позволяют найти решение обычных
дифференциальных уравнений?
6. Нужно ли обязательно задавать начальные условия для решения обычных
дифференциальных уравнений?
7. Как влияет на результат количество точек разбивки интервала
интегрирования обычных дифференциальных
Лабораторная Работа №5
«РАЗРАБОТКА WEB-СТРАНИЦ НА ЯЗЫКЕ
РАЗМЕТКИ ГИПЕРТЕКСТА HTML»
Тема: Разработка HTML веб-страниц на языке разметки гипертекста.
Цель работы: познакомиться со структурой и с технологией создания вебстраниц:
 изучить структуру HTML страницы;
 освоить основные теги для написания кода HTMLстраниц;
 освоить теги создания и форматирования таблиц.
Лабораторная
работа
выполняется
в
операционной
системе
Windows ХР/200х с использованием блокнота «NotePad» и обозревателя Internet
Explorer.
81
1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
World Wide Web (WWW)- документ может содержать стилизованный и
форматированный текст, графику и гиперсвязи с различными ресурсами
Internet.
Чтобы реализовать все эти возможности, был разработан специальный язык,
названный HyperText Markup Language (HTML), то есть, Язык Разметки
Гипертекста.
Документ, написанный на HTML, представляет собой текстовый файл,
содержащий собственно текст, несущий информацию читателю, и флаги
разметки (markup tags).
Теги
представляют
собой
определенные
стандартом
HTML
последовательности символов, являющиеся инструкциями для программы
просмотра.
Согласно этим инструкциям программа располагает текст на экране,
включает в него рисунки, хранящиеся в отдельных графических файлах, и
формирует гиперсвязи с другими документами или ресурсами Internet.
Файл на языке HTML приобретает облик WWW - документа только тогда,
когда он интерпретируется программой просмотра.
1.1 Структура HTML-страницы
В HTML-странице можно выделить заголовок (Head) и тело (Body)
документа. В заголовке в основном содержаться служебные сведения о самой
странице, многие из которых не влияют на отображение Web-страницы. В
противоположность заголовку все данные, помещенные в тело страницы,
выводятся на экран.
Заголовок и тело страницы определяются специальными тегами, которые
всегда размещаются в определенном порядке.
Структура HTML-кода страницы
<HTML>
82
<HEAD>
Раздел заголовка страницы, здесь помещаются теги служебной информации.
</HEAD>
<BODY>
Все, что расположено здесь, отображается на Web-странице.
</BODY>
</HTML>
Корректно
составленный
HTML-код
начинается
с
тега
<html>.
Открывающий тег <head> и закрывающий тег </head> формируют раздел
заголовка. В состав заголовка помещается описание документа. Основная часть
html-файла - тело документа - формируется с помощью пары тегов <body> и
</body>. Между этими тегами располагаются те данные, которые должны
отображаться в окне броузера. Заканчивается html-код закрывающимся тегом
</html>.
1.2 Элементы, основные HTML теги
В языке HTML определены элементы, теги и атрибуты. Элемент состоит из
открывающегося и закрывающегося тегов, между которыми расположены
данные, например,
<p align="justify">Это простой абзац</p>
Здесь элемент - это абзац на странице.
Тег определяется именем, которое указывается между открывающейся и
закрывающейся угловыми скобками (символами "<" и ">"); имя тега
определяет, как должна отображаться информация, содержащаяся в составе
элемента. Например, тег <p> в первом примере определяет абзац.
Атрибуты уточняют действие тега. Например, align="justify" назначает
данному абзацу выравнивание "по ширине".
При использовании тегов необходимо соблюдать следующие правила:

все стандартные теги начинаются с символа "<" и заканчиваются
символом ">" (например, <html>.
83

между символами, составляющими имя тега, пробелы недопустимы.
Также нежелательно включать пробелы между угловыми скобками и
именем тега.

каждому открывающему тегу должен соответствовать закрывающий.
Закрывающий тег отличается от открывающего тем, что перед именем
тега стоит косая черта (</html>).

при создании html-кода используйте в именах тегов только символы
нижнего регистра. Этого требует спецификация XHTML 1.0.

для разделения атрибутов, а также джля того, чтобы отделить первый
атрибут от имени тега, используются пробелы. Наличие пробелов в
составе значения атрибута может привести к ошибке.

придерживайтесь требуемой структуры HTML-документа. Задавайте
основные теги в правильном порядке и строгой иерархии.
Атрибуты уточняют действие тегов. Во многих тегах атрибуты не
предполагаются, но есть и такие теги, в которых обязательно должны
указываться атрибуты.
Пара тегов <p> и </p> определяет абзац в составе страницы. Открывающий
тег <p> может состоять только из имени, но при необходимости в него можно
включить некоторые атрибуты. Так, например, в составе тега <p> может
присутствовать атрибут align, задающий тип выравнивания абзаца.
Атрибуты указываются лишь в открывающем теге. Не пытайтесь включить
атрибут в состав закрывающего тега. Так, например, открывающий тег <p
align="justify"> составлен корректно. Ему соответствует закрывающий тег
</p>. В составе тега может присутствовать несколько атрибутов.
Для большинства атрибутов задаются значения. Именно они в конечном
итоге определяют особенности выполнения тегов. В приведенном выше
примере атрибут align имеет значение jusify. Значение атрибута указывается в
кавычках.
В HTML существует довольно много тегов. Большинство из них
используются для того, чтобы определить значение какого-либо отдельного
84
куска текста. В таблице 1 приводятся примеры некоторых таких тегов. Конечно
же, существует и множество других HTML-тегов, но в таблице 1 представлены
наиболее часто используемые.
85
Таблица 1.
Тег
Значение
Комментарий
Жирный шрифт Может работать не во
<b></b>
всех браузерах
Курсив
<i></i>
Может работать не во
всех браузерах
<h1></h1>
<h6></h6>
Заголовок
Самые
крупные
1-го уровня
заголовки
Заголовок
Самые мелкие заголовки
6-го уровня
<ul>
Ненумерованый Должен
<li></li>
список
<ul>
содержать
элементы
списка
(<1i></li>).
Может
содержать любое число
элементов
<ol>
Нумерованый
Должен
<li></li>
список
элементы
списка
(<1i></li>).
Может
<ol>
содержать
содержать любое число
элементов
<а
- Гиперссылка
href
Ссылка
на
другую
"another
страницу Текст между
Page.html>
тегами <a> и </a> на
переход
странице
на
будет
виден
другую
как гиперссылка. Когда
страницу
пользователь
щелкает
</a>
мышкой
ссылке,
браузер
86
по
переходит
на
указанную страницу
Рисунок
<img src=
Размещает на страницt
“file:
рисунок.
//oka.gif”>
Поддерживаются
графические
форматы
GIF. JPG и PNG
<font color = Изменить
Поддерживается не во
“red”
всех браузерах. Можно
эта шрифт
надпись
изменять цвет, размер и
красного
вид (гарнитуру) шрифта,
цвета
однако выбранный вид
</font>
не
всегда
можно
передать на клиентскую
машину
<br>
Перенос
Перенос строки в тексте.
Не имеет закрывающего
тега.
<hr>
Горизонтальная Помешает
линия
на
границу
горизонтальную линию.
Не имеет закрывающего
тега.
При помощи тегов h1-h6 создаются заголовки разного размера. Тег <b>
делает текст жирным, а <i> превращает его в курсив. Благодаря тега <hr> на
странице появилась горизонтальная линия.
В HTML используется два вида списков. При помощи тега <оl></оl>
создают нумерованные списки. Каждый элемент, обозначенный парой <li> …
</li>, в таком списке автоматически получай номер. Теги <ul></ul>
используются для издании ненумерованных списков. В них перед каждым
элементом <li> … </li>ставится маркер.
87
При помощи гиперссылки пользователи переходят с одной веб-страницы на
другую. Дли размещения гиперссылки применяется пара тегов <a></a>. Тег <a>
почти всегда включает атрибут href после rjnjhjuj идет адрес. Когда пользователь щелкнет по ссылке, в его браузере откроется страница с этим адресом.
Текст (или НТМL-код). размещенный между тегами <a> и </a>, отображается
браузером как гиперссылка. Он будет оформлен соответствующим образом
(обычно ссылки выделены синим цветом и подчеркнуты).
Еще одни тег, применение которого показано в задании 3  это тег <img>. С
помощью этого тега на веб-странице размещают изображения. Большинство
браузеров поддерживают изображения я форматах . gif и .jpg, а многие
«понимают» также и формат .png.
2. ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
Задание 1. Создание на HTML странички приветствия.
HTML - это прежде всего текст. Разработчик страницы добавляет к
текстовому документу специальную разметку, которая определяет значение
различных
элементов.
Когда
пользователь
запрашивает
веб-страницу,
текстовый документ поступает с сервера в браузер, и тот интерпретирует теги,
определяя, как страница должна быть. показана на экране. На листинге 1
показана очень простая веб - страница. Посмотрев на код этой страницы, легко
убедиться, что понять его очень просто.
Листинг 1.
<html>
<hеad>
<title>Привет, мир</title>
<meta content="text/html; charset=Windows-1251">
</head>
<body>
<center>
<h1>Привет, Мир!</hl>
88
</сenter>
</body>
</html>
Наберите код этой страницы при помощи программы «NotePad». Проверьте
отображение веб-страницы.
Задание 2. Применение основных тегов.
На рисунке показано применение нескольких тегов представленных в
таблице 1.
Исходный код страницы basic.htm, иллюстрирующий основные тэги,
приведен в листинге 2. При помощи тегов h1-h6 создаются заголовки разного
размера. Тег <b> делает текст жирным, а <i> превращает его в курсив.
Благодаря тега <hr> на странице появилась горизонтальная линия.
Наберите код этой страницы при помощи блокнота «NotePad». Проверьте
отображение веб-страницы.
Рисунок 1. Страница с примерами наиболее часто
используемых HTML-тэгов
Листинг 2.
89
<html>
<head>
<title>Основные HTML теги</title>
<meta content="text/html; charset=Windows-1251">
</head>
<body>
<h1>Основные HTML теги </h1>
<h1>Это заголовок h1 </h1>
<h2>Это заголовок h2 </h2>
<h3>Это заголовок h3 </h3>
<h4>Это заголовок h4 </h4>
<h5>Это заголовок h5 </h5>
<h6>Это заголовок h6 </h6>
<center>
Это центрированный текст
</center>
<b>Это полужирный текст</b>
<br>
<i>Это курсив</i>
<hr>
</body>
</html>
Задание 3. Применение остальных тегов.
Теги, представленные на листинге 3 используются для помещения на
странице списков, ссылок и изображений. Пример включает в себя ссылку на
одну из домашних страниц (http://oka-22.narod.ru/).
90
Рисунок 2. Страница с примерами остальных часто
используемых HTML-тэгов.
В примере также показано размещение изображения на веб-страниц при
помощи тега <img> (Рисунок 2).
Листинг 3.
<html>
<head>
<title>Остальные HTML теги</title>
<meta content="text/html; charset=Windows-1251">
</head>
<body>
<h1>Остальные HTML теги</h1>
<h3>Нумерованный список</h3>
<ol>
<li>alpha</li>
91
<li>beta</li>
<li>gamma</li>
</ol>
<h3>Маркированный список</h3>
<ul>
<li>alpha</li>
<li>beta</li>
<li>gamma</li>
</ul>
<h3>Гиперссылка </h3>
<a href = http://oka-22.narod.ru/> Ноmе раgе</a>
<h3>Рисунок<h3>
<img src="OKA.gif"
height = 50
width = 100>
</body>
</html>
Наберите код этой страницы при помощи программы «NotePad». Проверьте
отображение веб-страницы.
Задание 4. Создание таблиц.
Код для создания простой таблицы (изображение на рисунке 3) представлен
на листинге 4.
Таблицы создаются при помощи тегов <table></table>. Между этими тегами
можно создавать строки таблицы, использую элементы <tr> </tr>. Каждая
строка может включать в себя элементы, определяющие заголовок таблицы
(<th> </th>) или ячейку с данными <td> </td>.
Веб - броузер не отображает лишние пробелы и отступы, но при написании
HTML-кода все-таки лучше их использовать, поскольку форматированный код
легче читать Обратите внимание на то, как в коде сдвинуты элементы внутри
92
каждой строки таблицы. Благодаря этому намного проще заметить, что все
данные заключенные в <tr> </tr> являются частью одной группы.
У тera <table> можно установит атрибут <border> с помощью которого
задается толщина рамки вокруг таблицы.
Рисунок 3. Страница с примером HTML-тэгов для создания таблицы.
Листинг 4.
<html>
<head>
<title>Расписание</title>
<meta content="text/html; charset=Windows-1251">
</head>
<body>
<table border="1">
<tr>
<th></th>
<th>Понедельник</th>
<th>Вторник</th>
<th>Среда</th>
<th>Четверг</th>
<th>Пятница</th>
</tr>
<tr>
<th>Утро</th>
93
<td>Математика</td>
<td>Физика</td>
<td>Математика</td>
<td>Физика</td>
<td>Музыка</td>
</tr>
<tr>
<th>День</th>
<td>Русский</td>
<td>Английский</td>
<td>История</td>
<td>Английский</td>
<td>История</td>
</tr>
</table>
</body>
</html>
Наберите HTML-код этой страницы при помощи программы «NotePad».
Проверьте отображение веб - страницы.
Контрольные вопросы
1. В каком разделе html-страницы находится тег <title>?
2. В html-коде абзаца Вы между двумя словами поставили пять пробелов.
Сколько пробелов Вы увидите в браузере?
3. Какой из тегов определяет абзац?
4. Какой из тегов только переводит курсор на новую строку?
5. Какая из приведенных конструкций является синтаксически верной?
a)
<p align=center>
b)
<marquee direction="right">
c)
<marquee direction="2">
94
Литература
1.
2.
3.
4.
5.
Практикум по Microsoft Office 2007 (Word, Excel, Access),
PhotoShop: Учебно-методическое пособие / Л.В. Кравченко. - М.:
Форум: НИЦ ИНФРА-М, 2013. - 168 с.
Кабанов, В. А. Практикум Access [Электронный ресурс] / В. А.
Кабанов. - М.: Инфра-М; Znanium.com, 2015. - 55 с.
Основы работы в Microsoft Office 2013: Учебное пособие / А.В.
Кузин, Е.В. Чумакова. - М.: Форум: НИЦ ИНФРА-М, 2015. - 160 с.
Макаров Е. Инженерные расчеты в Mathcad 15 ,Учебный курс ,СПб.:
Питер, 2011. - 400 c.
www.intuit.ru.
Программа обсуждена на заседании выпускающей кафедры и одобрена
Ученым советом Коломенского института.
Автор-составитель: ст. преподаватель Хожайнова Г.И
95
Download