
- •Введение
- •Лабораторная работа 1. Определение характеристик ПК
- •Лабораторная работа 2. Системы счисления
- •2.1. Генерация чисел для конвертирования
- •2.3. Двоичная запись
- •2.4. Логические операции над двоичными числами
- •2.5. Восьмеричная запись
- •2.6. Шестнадцатеричная запись
- •2.7. Троичная запись
- •Лабораторная работа 3. Исследование работы операционной системы Microsoft Windows
- •3.1. Проводник Windows, как средство управления файлами
- •3.1.1. Режимы отображения файлов и панелей
- •3.1.2. Просмотр параметров безопасности файлов и папок
- •3.1.3. Ассоциация типов файлов
- •3.1.4. Настройки корзины
- •3.2. Управление задачами
- •3.3. Системный журнал
- •3.4. Переменные окружения
- •3.5. Реестр
- •3.6. Служебные инструменты
- •3.6.1. Штатные инструменты
- •3.6.2. Полезные инструменты различных производителей
- •3.7. Получение снимков окна
- •Лабораторная работа 4. Команды консоли, сценарии
- •4.1. Консоль. Команды и их параметры
- •4.1.1. Загрузка и использование консоли, переключение режимов отображения
- •4.1.2. Получение справки о командах. Параметры команд
- •4.1.3. Системные устройства
- •4.1.4. Команды управления файлами и папками. Абсолютный и относительный путь
- •4.1.5. Маска имени
- •4.1.6. Ассоциация типов файлов командой консоли
- •4.1.7. Операторы использования потоков (создания конвейеров) ввода-вывода и объединения команд*
- •4.1.8. Файловые потоки NTFS*
- •4.2. Сценарии (командные или пакетные файлы)
- •4.3. Сценарии VBS
- •Лабораторная работа 5. Файловые менеджеры, архиваторы, антивирусы
- •5.1. Файловые менеджеры
- •5.1.1. Знакомство с файловыми менеджерами
- •5.1.2. Маски имён документов, группы типов файлов, запуск команд, ассоциации
- •5.1.3. Поиск файлов и папок
- •5.1.4. Управление файловыми операциями с помощью «горячих» клавиш
- •5.1.5. Построение структуры папок и файлов
- •5.1.6. Использование функций просмотра
- •5.1.7. Связи объектов NTFS
- •5.1.8. Подключаемые модули
- •5.2. Архиваторы
- •5.2.1. Знакомство с интерфейсом архиватора
- •5.2.2. Создание архива консольными командами архиватора
- •5.2.3. Создание архива встроенным системным архиватором ZIP
- •5.2.4. Создание архива с помощью оконных архиваторов
- •5.2.5. Сравнение степени сжатия для различных типов файлов и режимов сжатия
- •5.2.6. Создание самораспаковывающегося архива
- •5.2.7. Распаковка архивов архиваторами и файловым менеджером
- •5.2.8. Создание пакета установки на основе самораспаковывающегося архива
- •5.3. Антивирусы
- •Лабораторная работа 6. Сеть
- •6.1. Свойства сетевого соединения
- •6.1.1. Определение характеристик сетевых интерфейсов с помощью оконных инструментов
- •6.1.2. Определение характеристик сетевых интерфейсов с помощью консольных инструментов
- •6.2. Сетевые инструменты
- •6.3. Операции над IPv4-адресом
- •6.3.1. Определение адреса подсети и номера компьютера
- •6.3.2. Использование IP-адреса в различных формах
- •6.4. Сервисы сети интернет
- •6.4.1. Локальные ресурсы
- •6.4.2. Поисковые машины
- •6.4.3. Каталоги
- •6.4.4. Энциклопедии и справочники
- •6.4.5. Подключение к FTP-серверу
- •Лабораторная работа 7. Виртуальные машины
- •7.1. Подготовка к работе
- •7.2. Запуск Linux в качестве гостевой системы
- •7.3. Запуск Microsoft Windows XP в качестве гостевой системы
- •7.4. Подключение внешних ресурсов
- •7.5. Создание снимков виртуальной машины
- •7.6. Исследование сетевых настроек виртуальной машины Windows XP
- •7.7. Консольные команды управления ВМ
- •Лабораторная работа 8. Текстовый редактор. Основные операции с текстом
- •8.1. Папки пользователя для хранения документов
- •8.2. Шрифты
- •8.3. Microsoft Word
- •8.3.1. Интерфейс
- •8.3.2. Сочетания клавиш
- •8.3.3. Новый формат документов
- •8.3.4. Режимы просмотра документа
- •8.3.5. Настройка интерфейса и параметров документа
- •8.3.6. Создание титульной страницы
- •8.3.7. Создание титульной страницы из шаблона
- •8.3.8. Создание и настройка стилей документа
- •8.3.9. Вставка специальных символов
- •8.3.10. Создание списков
- •8.3.11. Работа с таблицами, составление расписания занятий
- •8.3.12. Создание документов с рисунками
- •8.4. LibreOffice Writer
- •8.4.1. Интерфейс
- •8.4.2. Настройка параметров документа
- •8.4.3. Сочетания клавиш
- •8.4.4. Формат документов
- •8.4.5. Создание титульной страницы
- •8.4.6. Создание титульной страницы из шаблона
- •8.4.7. Создание и настройка стилей документа
- •8.4.8. Вставка специальных символов
- •8.4.9. Создание списков
- •8.4.10. Работа с таблицами, составление расписания занятий
- •8.4.11. Создание документов с рисунками
- •Лабораторная работа 9. Текстовый редактор. Вставка формул. Элементы автоматизации
- •9.1. Подготовка к набору технического документа
- •9.2. Набор технического документа
- •9.3. Вставка математических формул
- •9.3.1. Редактор формул MathType для Microsoft Word
- •9.3.2. Встроенный редактор формул Microsoft Word
- •9.3.3. Редактор формул LibreOffice Math
- •9.4. Вставка химических формул
- •9.5. Средства автоматизации и вёрстки MS Word
- •9.5.1. Вставка надписей
- •9.5.2. Нумерация страниц
- •9.5.3. Использование сноски
- •9.5.4. Вставка ссылок на литературные источники
- •9.5.5. Нумерация объектов
- •9.5.6. Построение оглавления
- •9.5.7. Выбор языка для автоматической коррекции текста
- •9.5.8. Ошибки правописания
- •9.5.9. Автозамена
- •9.5.10. Создание календаря
- •9.5.11. Создание рекламного буклета
- •9.5.12. Вставка большой иллюстрации или схемы
- •9.5.13. Разделы
- •9.5.14. Вставка программы VBA, запись и исполнение макросов
- •9.5.15. Программа VBA выравнивание объектов в строке по вертикали
- •9.6. Средства автоматизации и вёрстки LiO Writer
- •9.6.1. Вставка врезки
- •9.6.2. Разрывы текста, разделы
- •9.6.3. Поля, нумерация объектов
- •9.6.4. Нумерация страниц
- •9.6.5. Cноски и примечания
- •9.6.6. Вставка ссылок на литературные источники
- •9.6.7. Построение оглавления
- •9.6.8. Выбор языка для автоматической коррекции текста
- •9.6.9. Ошибки правописания
- •9.6.10. Автозамена и автотекст
- •9.6.11. Создание рекламного буклета
- •9.6.12. Вставка большой иллюстрации или схемы
- •9.6.13. Запись и исполнение макросов
- •9.6.14. Проверка межплатформенной совместимости
- •9.7. Печать брошюры
- •Лабораторная работа 10. Электронные таблицы
- •10.1. Microsoft Excel
- •10.1.1. Интерфейс программы, адресация ячеек
- •10.1.2. Запись данных и формул, адресация, форматирование
- •10.1.3. Примечания
- •10.1.4. Сложные формулы, функции, диапазоны ячеек
- •10.1.5. Фильтрация данных
- •10.1.6. Графическое представление данных
- •10.1.7. Подбор параметра
- •10.2. LibreOffice Calc
- •10.2.1. Интерфейс программы, адресация ячеек
- •10.2.2. Запись данных и формул, адресация, форматирование
- •10.2.3. Примечания
- •10.2.4. Сложные формулы, функции, диапазоны ячеек
- •10.2.5. Фильтрация данных
- •10.2.6. Графическое представление данных
- •10.2.7. Подбор параметра
- •Лабораторная работа 11. Основные операции в пакете инженерных вычислений
- •11.1. PTC Mathcad
- •11.1.1. Интерфейс Mathcad
- •11.1.2. Операции с блоками, имена переменных, формат вывода
- •11.1.3. Единицы измерения
- •11.1.4. Дискретные переменные, массивы
- •11.1.5. Файлы данных
- •11.1.6. Функции
- •11.1.7. Графики
- •11.2. SMath Studio
- •11.2.1. Интерфейс SMath Studio
- •11.2.2. Редактирование
- •11.2.3. Идентификаторы, формат вывода
- •11.2.4. Оптимизация вычислений
- •11.2.5. Функции
- •11.2.6. Единицы измерения
- •11.2.7. Дискретные переменные, массивы
- •11.2.8. Файлы данных
- •11.2.9. Графики
- •Лабораторная работа 12. Инженерные вычисления
- •12.1. PTC Mathcad
- •12.1.1. Поиск корней
- •12.1.2. Решение систем уравнений
- •Системы линейных алгебраических уравнений
- •Использование блока Given/Find для решения систем уравнений
- •12.1.3. Символьные вычисления
- •Оптимизация вычислений
- •Аналитические преобразования
- •Символьные преобразования с ключевым словом
- •Тандемы операторов
- •Поиск экстремума
- •12.1.4. Условный оператор
- •12.1.5. Программирование
- •12.1.6. Компоненты
- •Вставка рисунка
- •Вставка таблицы
- •Использование элементов управления
- •12.1.7. Решение технических задач
- •Решение обратной задачи с использованием функции root()
- •12.2. SMath Studio
- •12.2.1. Поиск корней
- •12.2.2. Решение систем уравнений, функция roots( )
- •12.2.3. Символьные вычисления
- •12.2.4. Строковые операции
- •12.2.5. Программирование
- •12.2.6. Поиск экстремума
- •12.2.7. Вставка рисунка
- •12.2.8. Решение технических задач
- •Решение обратной задачи с использованием функции solve()
- •Лабораторная работа 13. Схемы и презентации
- •13.1. Построение схем в Microsoft Visio
- •13.1.2. Операции с фигурами
- •13.1.3. Соединительные линии
- •13.1.4. Вставка текста
- •13.1.5. Вставка графических элементов
- •13.1.6. Вставка диаграмм
- •13.1.7. Слои
- •13.1.8. Построение блок-схемы алгоритма программы
- •13.1.9. Составление плана помещения
- •13.1.10. Построение технологической схемы
- •13.1.11. Построение электротехнической схемы
- •13.1.12. Создание собственных фигур
- •13.2. Создание схем в LibreOffice Draw
- •13.3. Создание презентаций
- •13.3.1. Microsoft PowerPoint
- •13.3.2. LibreOffice Impress
- •Лабораторная работа 14. Графика. Машинная обработка текстов и изображений
- •14.1. Растровая графика. Обработка фотографий. GIMP
- •14.2. Векторная графика. Inkscape
- •14.2.1. Создание визитной карточки
- •14.2.2. Создание схем
- •14.2.3. Абстракции
- •14.2.4. Создание этикетки
- •14.2.5. Создание календаря
- •14.3. Программы синтеза изображений. Фоторобот
- •14.4. Сканирование
- •14.4.1. Сканирование фотографий
- •14.4.2. Сканирование и векторизация чертежей
- •14.4.3. Сканирование и распознавание текста
- •14.5. Автоматический перевод текста
- •Лабораторная работа 15. 3D графика и мультимедиа
- •15.1. Характеристики медиафайлов
- •15.1.1. Основные характеристики
- •15.1.2. Определение характеристик с помощью MediaInfo
- •15.2. Преобразование файлов в другой формат
- •15.2.1. Кодирование аудио
- •15.2.2. Кодирование видео
- •Литература

Введите функцию y(x), присвойте ей систему из двух уравнений
« r2 x2 » и «h – a ∙ x», постройте 2D график для y(x). Увеличьте полотно графика до трети листа, масштабируйте график почти до размера
полотна. Ниже решите систему уравнений: задайте функции «f1(x; y) := x2 + y2 – r2» и «f2(x; y):=a ∙ x + y – h», переменной z1 присвойте
функцию roots( ) с тремя аргументами, в каждый аргумент поместите вектор из двух строк, в первый вектор поместите функции системы «f1(x; y); f2(x; y)», во второй переменные, для которых производится поиск корней «x; y», в третий начальные приближения (по графику) одной из точек «–1; 4». Правее численно выведите значение z1.
Как видно из графика, система имеет два решения. Выбор решения в примере определяется начальным приближением. Выделите мышью последние два блока, передвиньте их ниже при нажатой клавише Ctrl, будет создана копия блоков. Замените в копии z1 на z2, замените значения начальных приближений на «3; –3». Проверьте по графику верность поиска корней.
Сохраните документ как «SM11 пересечение окружности.smz».
12.2.3. Символьные вычисления
SMath Studio по умолчанию использует символьную оптимизацию. Это значит, что при построении формулы выбирается её форма, требующая минимальных затрат ресурсов на вычисление. Для достижения максимальной точности числа (до численного вывода) хранятся в виде (неправильной) дроби. Символьные преобразования позволяют получать новые функции как ряд операций над заданными. Используя оператор символьного вывода (Ctrl+точка) или, что равносильно, включение символьной оптимизации для оператора вывода, можно выводить результат в виде выражения, а не числа.
В новом документе введите «x2», затем оператор символьного вывода
(Ctrl+точка), нажмите Enter.
Вставьте шаблон определённого производной командой «diff(» c использованием списка динамической помощи ввода (форма с двумя аргументами) или кнопкой Дифференцирование группы Функции боковой панели, в шаблон впишите функцию «x2» и переменную дифференцирования «x», выполните символьный вывод. Если вы просто ввели «diff(» и имя функции (неполная запись с одним аргументом), то запись примет вид «f(x)'», для полной записи поместите курсор перед кавычкой и
319

нажмите точку с запятой для добавления второго аргумента. Если установить курсор после переменной дифференцирования в знаменателе оператора дифференцирования и нажать ещё раз точку с запятой, то будут добавлены маркеры ввода степени производной. Создайте копию последнего выражения и измените на производную второй степени.
Ниже вставьте матрицу 2×2, заполните именами ячеек a1;1, a1;2, a2;1, a2;2, обратите матрицу (возведите её в степень –1), выведите результат в символьном виде:
Символьные преобразования позволяют упростить выражения, введите выражение, представленное ниже и символьно выведите результат. В выражении используется факториал (!).
Как вы видите, выражение хранится в символьном виде, группируя коэффициенты.
Сохраните документ как «SM12 символьные вычисления.smz».
12.2.4. Строковые операции
Кроме чисел и формул переменные могут хранить строки – последовательность символов. Обычно из набора строк формируются сообщения пользователю. Строка не может содержать знак равенства и двойную кавычку. SMath Studio имеет набор функций для манипуляций над строками:
320
concat(аргументы) – возвращает строку, образованную последовательным сцеплением аргументов-строк.
description(имя) – возвращает строку описания указанной переменной или функции. Если идентификатор не определён, возвращает ноль, если не определено описание – пустую строку. Описание может быть скрыто.
findstr(str1;str2) – возвращает вектор индексов положения подстроки str2 в строке str1 или –1 если подстрока не найдена.
IsString(аргумент) – возвращает 1, если аргумент строка, иначе 0. num2str(выражение) – преобразует математическое выражение в строку. str2num(строка) – возвращает математическое выражение, сформиро-
ванное преобразованием из данной строки.
strlen(строка) – возвращает количество символов указанной строки. strrep(стр1; стр2; стр3) – возвращает строку, в которой в строке стр1
все вхождения строки стр2 заменены на стр3. Регистр символов строк имеет значение.
substr(строка; число) – возвращает подстроку из строки, которая начинается с номера символа, заданного числом.
substr(строка; число1; число2) – возвращает подстроку из строки, которая начинается с номера символа, заданного числом1 и имеющую длину число2.
12.2.5. Программирование
Небольшие программы с использованием цикла вы уже рассматривали, ознакомьтесь более подробно с операторами программирования.
Программа есть частный случай выражения. Подобно выражению, программа возвращает значение, если за ней следует знак равенства. Точно так же, как переменную или функцию можно определить через выражение, их можно определить и с помощью программы. Т.е. результат вычисления можно вывести непосредственно за программой, а можно присвоить функции или переменной. Главным различием между программой и выражением является способ задания вычислений. При использовании выражения алгоритм получения ответа должен быть описан одним оператором. В программе может быть использовано столько операторов, сколько нужно. Некоторые программы работают
321
долго, SMath Studio выделяет зелёной рамкой вычисляемый блок, при этом в статусной строке отображается общее время вычислений документа. Пользователь может прервать вычисления кнопкой Esc или кнопкой панели инструментов Прервать вычисления (например, для включения численной оптимизации или исправления выражений). Блок, на котором были прерваны вычисления, будет помечен красной рамкой и выведена подсказка «Прервано пользователем».
Важным понятием в программировании является логический тип данных. В SMath Studio в качестве значения истина используется единица, в качестве ложь – ноль. Проверьте эти утверждения, в новом документе введите: «1>2=», «1<2=».
Рассмотрите команды программирования, которые участвуют в создании программ в SMath Studio.
line – команда добавления вертикальной линии в программу. Вставляемая вертикальная линия объединяет отдельные операторы в операторный блок с одним входом и одним выходом, который выполняется как единый оператор. Точка с запятой увеличивает линию, добавляя маркеры вода. Изменять размер можно мышью за нижний правый маркер при выделении всех маркеров ввода линии. Удалять пустой маркер ввода в линии можно клавишами Del и Backspace.
while – оператор цикла с предусловием. Выводит служебное слово while с двумя маркерами ввода. В маркер справа while вводится логическое выражение (переменную), управляющее циклом, а в маркер внизу – тело цикла, операторы которого будут выполняться, пока логическое выражение возвращает истина (единицу), любое значение, отличное от единицы прервёт цикл. Так как условие проверяется до выполнения операторов тела цикла (предусловие), операторы тела, в случае ложности условия, могут быть не выполнены ни разу. Если в теле цикла несколько операторов, то они помещаются во вложенную линию. В примере ниже перед циклом задаётся начальное значение счётчика цикла i, в цикле происходит увеличение счётчика на единицу до тех пор, пока он меньше n. Как указывалось в прошлой работе, для ускорения сложных итерационных вычислений используйте функцию eval( ).
322

if – условный оператор, позволяет создавать ветвление. Оператор вставляется шаблоном, также содержащим служебное слово else. После оператора if вводится условие (выражение или переменная). Если условие истинно, то выполняются операторы, находящиеся между строками if и else, а операторы после else игнорируются, иначе выполняются операторы блока else. Других значений в условии кроме истина (1) или ложь (0) не допускается. Очень часто в условии используют операторы сравнения (группа Булева боковой панели). Для инвертирования логического значения используется оператор не (¬), а для объединения нескольких условий используются логические операторы и (˄), или (˅), исключающее или ( ). Если в условном операторе используется только ветка, выполняемая при истинном значении условия (при ложном значении условный оператор ничего не исполняет), то в маркер else можно ввести единицу или ноль. Оператор if можно использовать в качестве функции, присвоив идентификатору. Функция возвращает последнее значение линии соответственно истинного или ложного блока операторов.
for – вводит в программы цикл с параметром. Когда заранее неизвестно количество итераций цикла, удобнее использовать оператор while, когда известно – оператор for. Оператор может быть в двух формах – с тремя и четырьмя аргументами. Оператор for с тремя аргументами вы уже использовали ранее. В строке условия цикла указывается счётчик и задаётся вектор значений с помощью дискретной переменной или другим способом, тело цикла повторяется для
323

каждого значения счётчика, получаемого из вектора. Вторая форма оператора for в заголовке содержит три параметра, а четвёртым является тело цикла. Первый параметр задаёт счётчик цикла и инициализирует его (присваивает) начальным значением, второй параметр содержит условие, при истинности которого цикл повторяется. Третий параметр может содержать несколько операторов, обязательно выполняется в конце итерации цикла, обычно содержит выражение, изменяющее значение счётчика на величину шага. Тело цикла может содержать несколько операторов, причём его операторы также могу изменять значение счётчика цикла. В следующем примере представлены несколько способов нахождения суммы.
break – прерывает цикл, действие передаётся следующему оператору за пределами цикла. Часто используется совместно с условным оператором, определяющим условие для выхода из цикла.
continue – прерывает выполнение текущей итерации цикла и переходит в начало цикла.
trace – оператор вывода промежуточных (отладочных) значений. Используется внутри программы, имеет синтаксис консольного оператора вывода языка программирования C#. Обычно достаточно перечислить имена переменных в списке аргументов. Вывод производится в окно отладки, открываемого командой Вид/Окно вывода. Откройте окно вывода, введите следующий пример:
324

Закройте окно вывода.
error – останавливает выполнение и выводит ошибку, текст которой указан в строке аргумента. Введите «Q := error("Непредвиденная ошибка!")»
Рассмотрите математическую модель простой химической реакции первого порядка A B , (вещество A превращается в вещество B) протекающей в изотермическом режиме (температура постоянна). Условием окончания реакции принимается исчерпание сырья (концентрация меньше 0,05 моль). Константа скорости реакции kA (по веществу A) зависит от природы вещества, но не от его концентрации, единицы измерения константы скорости зависят от порядка реакции. Для реакции первого порядка она записывается как 1/с. Отрицательное значение константы показывает, что вещество разлагается. Начальная концентрация вещества А 1 моль. Концентрация в каждую следующую секунду реакции определяется как разница текущей концентрации и приращения, зависящего от k.
325

Фактически с помощью условного оператора и оператора break организован цикл с постусловием, когда в условие цикла помещается условие для счётчика с заведомо большим количеством итераций (цикл завершается по счётчику в случае ошибки в теле цикла), а завершается оператором break при достижении одного или нескольких условий, проверяемых условным оператором. Иногда с помощью оператора цикла «while 1» организуется «вечный цикл», выход из которого возможен вызовом break в теле цикла.
В качестве следующего примера рассмотрите программу перевода арабского числа в римское.
326