Uploaded by Шерхан Нурсултан

PPP Ekzamenatsionnye bilety 2

advertisement
Пакеты прикладных программ
Экзаменационные билеты
1. Понятие и классификация пакетов прикладных программ.
Пакет прикладных программ – комплекс взаимосвязанных программ для решения
задач определенного класса конкретной предметной области. Данный класс
включает программные продукты, обеспечивающие независимо от предметной
области и функций информационных систем математические, статистические и
другие методы решения задач.
Классификация
1 Проблемно–ориентированные ППП
Это наиболее развитая в плане реализуемых функций и многочисленная по
количеству созданных пакетов часть ППП. В нем можно классифицировать
ППП по разным признакам: типам предметных областей; информационным
системам; функциям и комплексам задач, реализуемых программным способом
и др. по типу предметных областей можно выделить: ППП
автоматизированного бухгалтерского учета; ППП финансовой деятельности;
ППП управления персоналом (кадровый учет); ППП управления
материальными запасами; банковские информационные системы и
др. Примеры: Rs–Bank – банковская система
2 Методо–ориентированные ППП
Данный класс включает программные продукты, обеспечивающие независимо
от предметной области и функций информационных систем математические,
статистические и другие методы решения задач. Наиболее распространены
методы математического программирования, решения дифференциальных
уравнений, имитационного моделирования, исследования операций. Примеры:
Мезозавр, Эвриста – статистическая обработка данных, Ms Project for Windows
– сетевые методы и модели для решения управленческих задач.
3 ППП общего назначения
Данный класс содержит широкий перечень программных продуктов:
4 Офисные
5 Автоматизированное проектирование
6 Настольные издательские системы
7 Программные средства мультимедиа
8 интеллектуальные системы
2. MATLAB. Основные принципы системы.
Matlab – это высокопроизводительный язык для технических расчетов.
Типичное использование MATLAB – это: − математические вычисления; −
создание алгоритмов; − моделирование; − анализ данных, исследования и
визуализация; − научная и инженерная графика; − разработка приложений,
включая создание графического интерфейса.
3. MATLAB. Системные
операторы.
переменные.
Специальные
символы.
Арифметические
Системные переменные:
i или j – мнимая единица (квадратный корень из числа -1);
pi – число
exp(1) – экспонента 2,7;
realmin – наименьшее число с плавающей точкой (
);
realmax – наибольшее число с плавающей точкой (
);
inf – значение машинной бесконечности;
ans – переменная, хранящая результат последней операции и обычно
вызывающая его отображение на экране монитора (см. рис. 1.1.2);
NaN – указание на нечисловой характер данных (Not-a-Number;
неопределенность).
Специальные символы:
Арифметические: плюс, минус, умножение, деление, возведение в степень
4. MATLAB. Матрицы и массивы. Способы формирования.
Ещё команда ones(3) создаёт матрицу 3х3 с нулями
Rand(3) создаёт матрицу со случайными числами 3х3
5. MATLAB. Основные функции для работы с массивами.
inv(a) – обратная матрица
чтобы выполнить поэлементное умножение, деление, возведение в степень необходимо
поставить точку перед знаком операции .* ./ .^
C=[1 2;4 5;7 8]
V=size(C) эта функция возвращает вектор-строку V элементами которой служат размеры
матрицы C.
V=3 2
B=[1 2 3;4 5 6; 7 8 9]
sum(B)- сумма столбцов матрицы B
prod(B) -перемножение столбцов B
6. MATLAB. Правила создания m-функции. Диалог с пользователем.
Открыть матлаб, нажать на кнопку «File» > «New» > «Sript» или на иконку «New script»
открывается «Editor» где можем писать код. Сохранить можно либо выполнением кода, либо
кнопкой «Save». Файл называть только на английской раскладке, нельзя начинать с цифр.
7. MATLAB. Операторы циклов. Условный оператор.
Язык программирования MatLab имеет два оператора цикла: while и for. С их помощью,
например, выполняется программирование рекуррентных алгоритмов, подсчета суммы ряда,
перебора элементов массива и многое другое.
Часто при организации цикла требуется перебирать значение счетчика в заданном диапазоне
значений и с заданным шагом изменения. Например, чтобы перебрать элементы вектора
(массива), нужно организовать счетчик от 1 до N с шагом 1, где N – число элементов вектора.
Чтобы вычислить сумму ряда, также задается счетчик от a до b с требуемым шагом
изменения step. И так далее. В связи с тем, что подобные задачи часто встречаются в
практике программирования, для их реализации был предложен свой оператор цикла for,
который позволяет проще и нагляднее реализовывать цикл со счетчиком.
Синтаксис оператора цикла for имеет следующий вид:
for <счетчик> = <начальное значение>:<шаг>:<конечное значение>
<операторы цикла>
end
перейдём к циклам, начнём с for.
В справке это записано в виде
Syntax
for index = values
program statements
:
end
В приземлённом виде это значит:
Syntax
for переменная = значению
действие
end
Не будем задерживаться на официальных формулировках, лучше к понятным и
любимым примерам
for m = 1:10
m
end
Вот так выглядит самый распространённый способ использования for. В этом
цикле мы просто выводим значение m.
Второй способ с использованием шага (step)
for s = 1.0: -0.1: 0.0
disp(s)
end
В данном случае цикл for идёт от 1 до 0 с шагом -0.1.
Ещё один вариант:
for s = [1,5,8,17]
disp(s)
end
В данном случае переменная s будет последовательно приравниваться 1, 5 ,8 ,
17 и, соответственно, выводиться.
А также с for очень удобно выводить вектора. Вот:
for e = eye(5)
disp('Current value of e:')
disp(e)
end
В данном примере идёт последовательное обращение к элементам вектора e.
Цикл while:
Формально в справке:
Syntax
while expression
program statements
:
end
Приземлённо:
Syntax
while Условие
Действие
end
И давайте сразу к примеру (как это в реальной жизни используется).
eps = 10;
while eps > 1
eps = eps - 1
end
Пока в условие (eps > 1) выполняется, цикл выполняет действие
(eps = eps-1).
Также в условии while можно использовать логические операторы И — && и
ИЛИ — ||, записывая несколько логических выражений в условие.
Если есть вопросы по статье, пишите в комментариях.
8. MATLAB.
Функции
построения
двумерных
графиков.
Форматирование
редактирование.
Функции построения: plot(x,y); step(w);bode(w); nyquist(w);
Форматирование: grid-сетка; plot(x,y, 'r*') график будет красными звёздочками
и
9. MATLAB.
Функции
построения
трехмерных
графиков.
Форматирование
и
редактирование.
10.
11. MATHCAD. Назначение пакета. Основные правила работы.
Математический редактор для инженерных расчетов. Формулы вводятся в общепринятом
виде. Алфавит системы содержит латинские символы, греческие, системные операторы,
спецзнаки, кириллица.
!Чувствителен к регистру! Десятичный разделитель .(точка) 0.5
Греческие символы-View-Toolbar-Greek или Ctrl+g
P(Ctrl+g) π
A(--//--) α
t(--//--) ϒ
длина имени переменной сколь угодно большая но не должна содержать пробелов и спец.
Символов. Присваивание переменной х:5 х:=5
12. MATHCAD. Способы задания ранжированных переменных и матриц.
Ранжированная переменная – переменная, которая принимает ряд значений при каждом ее
использовании.
Для определения ранжированной переменной общего вида используется выражение:
Имя_переменной := начальное_значение, начальное_значение + шаг .. конечное_значение.
Если шаг равен 1, тогда ранжированную переменную можно задавать следующим образом:
Имя_переменной := начальное_значение.. конечное_значение.
Любое выражение с ранжированными переменными после знака равенства (=) создает
таблицу вывода.
13. MATHCAD. Функции работы с векторами и матрицами.
В MathCAD для работы с матрицами и векторами предназначена специальная
панель инструментов Matrix. Чтобы отобразить панель Matrix необходимо
щелкнуть по кнопке
на математической панели Math. Для создания вектора
или матрицы откройте вкладку Матрицы/таблицы. можно выбрать желаемый
размер матрицы, также матрице можно присвоить имя. В MathCAD с
матрицами можно выполнять символьные операции. Меню символьных
операций содержит три функции – транспонирование (Transpose), обращение
матрицы (Invert) и вычисление определителя матрицы (Determinant).
Для того чтобы произвести какую либо операцию с использованием
меню, матрицу необходимо выделить, а затем выбрать необходимый пункт
меню щелчком мыши.
Функции вычисления различных числовых характеристик матриц:
· last(v) – вычисление номера последней компоненты вектора v;
· length(v) – вычисление количества компонент вектора v;
· rows(A) – вычисление числа строк в матрице А;
· cols(A) – вычисление числа столбцов в матрице А;
· max(A) – вычисление наибольшего элемента в матрице (векторе) А;
· min(A) – вычисление наименьшего элемента в матрице (векторе) А;
· mean(A) – вычисление среднего значения матрицы (вектора) А;
· median(A) – вычисление медианы матрицы (вектора) А;
· tr(A) – вычисление следа (суммы диагональных элементов) квадратной
матрицы А;
· ranc(A) – вычисление ранга матрицы А;
Функции сортировки:
Diag(v)- диаг. матрица
· sort(v) – сортировка элементов вектора v в порядке возрастания их
значений;
· reverse(v) – перестановка элементов вектора v в обратном порядке;
· csort(A,n) – перестановка строк матрицы А таким образом, чтобы
отсортированным оказался n-й столбец;
· rsort(A,n) – перестановка столбцов матрицы А таким образом, чтобы
отсортированной оказалась n-я строка.
lenght
(V)
возвращает длину вектора
last (V)
возвращает индекс последнего элемента
max (V)
возвращает максимальный по значению элемент
min (V)
возвращает минимальный по значению элемент
Re (V)
возвращает вектор действительных частей вектора с комплексными
элементами
Im (V)
возвращает вектор мнимых частей вектора с комплексными
элементами
14. MATHCAD. Графические возможности системы.
Для построения графиков используются шаблоны. Их перечень содержит
подменюGraph в позицииInsert главного меню. Большинство параметров
графического
процессора, необходимых для
построения
графиков, по
умолчанию задается автоматически.
Графические возможности в математическом пакете Mathсad позволяют
создавать:
контурный график - поверхностей одинакового уровня (изолинии);
график в виде точек в трехмерном пространстве;
столбиковую гистограмму;
графика векторного поля на плоскости.
Для построения графика в декартовой системе координат необходимо:
ввести выражение, описывающее некоторую функцию;
вывести шаблон X-Y Plot с помощью меню или с панели Graph;
заполнить две помеченные для ввода позиции, в первую ввести с
клавиатуры f(x), а во вторую – x




Форматирование изображения (количество линий уровня их значения, заливка)
в Mathcad производится посредством диалогового окна 3-D Plot Format
(Форматирование. Переключатели диалогового окна позволяют сформировать
дизайн графика. Например, переключатели группы Contour Options
(Контурные опции) устанавливают следующие опции графика:
Fill (Залить) – обеспечивают закраску графика согласно цветовой
палитры.
Draw Lines (Рисовать линии) – позволяет отображать на графике лини
уровня.
Auto Contour (Автоконтур) – количество линий контура выбирается
автоматически.
Numbered (Пронумерованные) – на линии уровня выносятся их
числовые значения.
15. MATHCAD. Основы программирования.
Основы программирования в MathCAD
программирование, в Mathcad осуществляется при помощи панели
инструментов Programming (Программирование
Чтобы начать создание программного модуля, следует (нажать на панели
Programming (Программирование) кнопку Add Line (Добавить линию). Затем,
если приблизительно известно, сколько строк кода будет содержать программа,
можно создать нужное количество линий повторными нажатиями кнопки Add
Line.
Маткад вычисляет последовательсность, в порядке, определенном
введенными программными операторами и возвращает результат последнего
шага.
Операторы:
- оператор локального присваивания (←);
- оператор условия (if) если, и (otherwise) иначе;
- оператор цикла for. Блок программы заставляет один или более
операторов (тело цикла) выполнять итерации пока не будет достигнуто условие
завершения цикла;
- оператор break останавливает текущий цикл и возвращает последнее
вычисленное значение;
- оператор return позволяет преждевременно выходить из контекстного
цикла программы;
- оператор continue позволяет пропускать итерации и возвращаться к
определенному оператору цикла;
- оператор on error возвращает присвоенное значение в случае ошибки во
время вычисления;
16. SCILAB. Системные переменные и константы.
При выполнении операции Scilab обязательно присваивает ее результат какой-либо
переменной, если в командной строке нет оператора присваивания, то результат будет
присвоен системной переменной с именем ans . Переменную ans можно использовать в
последующих вычислениях, но ее значение будет изменяться каждый раз после выполнения
команды без оператора присваивания. Ans — первый пример системной переменной. Имена
других системных переменных в Scilab начинаются с символа %:
%pi – число (3.141592653589793);
%e – число e=2.7182818.
%i – мнимая единица
%eps – 2.22d-16
%inf – значение машинной бесконечности
%nan – указание на нечисловой характер данных
Эти переменные используются в математических операциях в качестве констант. Их
значения не могут быть изменены пользователем.
clear – уничтожение определений всех переменных
17. SCILAB. Описания пользовательских функций с помощью оператора deff.
Для загрузки функций применяется команда deff
deff(строка1,строка2).
Отсюда видно, что deff имеет два параметра, и эти параметры являются
строками символов. По правилам Scilab первый параметр строка1 несет в себе
информацию о входных и выходных параметрах, а так же, об имени функции. В
нашем случае строка1 может быть записана следующим образом:
'c=fun(x,y)',
где c – переменная, которая представляет собой выходной параметр; fun –
имя функции; две переменных в круглых скобках, разделенные запятыми,
задают имена входных параметров. Во втором параметре строка2 следует
написать выражение для функции и присвоить вычисленное значение
выходному параметру. При этом должны использоваться имена переменных,
определенные в переменной строка1. В соответствии с этими правилами,
второй параметр запишется в виде
18. SCILAB.
Пользовательские
пользователем.
функции
в
виде
хранимых
файлов.
Диалог
с
Обычно функции определены в текстовом файле и загружаются в Scilab с
помощью команды exec(’filename’).
В общем случае первая строка функции имеет вид
function[yl,... ,yn] = my_name(xl,..., xk),
где yl, ... , уп - выходные переменные, xl, ..., xk - входные переменные.
Для использования этой функции ее нужно сначала сохранить на диске в
файле с именем, например my_f.sci, выбрать в меню окна редактора
команду Execute => Load into Scilab, а затем вызвать функцию
Функцию можно также создать с помощью оператора deff, причем как в
окне редактора в виде файла-сценария, так и непосредственно в командном
окне.
В общем случае оператор deff имеет следующий синтаксис:
deff('[yl,..., yn]=func_name(xl,..., xk)’, 'у1=; ...
уп=')
где yl, ... , yn - список выходных параметров, func_name - имя
определяемой функции, xl,..., xk - список входных параметров.
19. SCILAB.
Функции
построения
двумерных
графиков.
Форматирование
редактирование.
Для построения графиков, в которых положение точки задаётся двумя величинами, в
Scilab нужно воспользоваться функцией plot(x, y , s). Здесь первая переменная х массив абсцисс, у - массив ординат, s - необязательный параметр, отвечающий за цвет
графика, толщину и начертание линии.
/* графики траектории движения материальной точки */
// очищаем область консоли и графического окна
clc; clf;
// создаём пользовательскую функцию для координаты х
function z = X(t)
z = 3 - 2*cos(%pi*t/2);
endfunction;
// создаём пользовательскую функцию для координаты y
function z = Y(t)
z = 1 + 3*sin(%pi*t/3);
endfunction;
d = 1e-2;
// задаём шаг
и
T = 0:d:10;
// задаём диапазон времени
x = X(T);
// вызываем пользовательскую функцию X
y = Y(T);
// вызываем пользовательскую функцию Y
subplot(211);
// разделяем графическое окно на 2 строки
plot(T, x, "k--");
// строим график x(t)
plot(T, y);
// строим график у(t) в той же системе координат
xgrid;
xtitle("Траектория движения точки", "t", "x(t), y(t)");
legend("x(t)", "y(t)");
subplot(212);
xgrid;
xtitle("Траектория движения точки на фазовой плоскости", "x(t)", "y(t)");
comet(x, y);
// строим анимированную траекторию движения точки на фазовой плоскости
Вывод сетки графика с помощью команды xgrid
Заголовок графика, построенного функцией plot, можно вывести командой xtitle: xtitle(title,
xstr, ystr) где title — название графика; xstr — название оси X; ystr — название оси Y .
В случаях, когда в одной координатной плоскости изображаются графики нескольких
функций, как в нашем примере, возникает необходимость в «легенде». Ее можно вывести с
помощью команды legend: legend(leg1, leg2, ..., legn, [pos], [boxed]) где leg1 — имя первого
графика, leg2 — имя второго графика, legn — имя n-го графика;
Команда xtitle pos — месторасположение легенды: 1 — в верхнем правом углу (по
умолчанию), 2 — в верхнем левом углу, 3 — в нижнем левом углу, 4 — в нижнем правом
углу, 5 — определяется пользователем после изображения графика; boxed — логическая
переменная, которая определяет, прорисовывать (значение по умолчанию — %t) или нет
(значение %f) рамку вокруг легенды.
20. SCILAB.
Функции
редактирование.
построения
трехмерных
графиков.
Форматирование
и
С помощбю мешгрид:
Для построения поверхности в Scilab используются функции plot3d( plot3d1) и
plot3d2(plot3d3). Их отличие состоит в том, что первая пара функций plot3d( plot3d1)
строит поверхность из отдельно стоящих друг от друга грани (залитую одним цветом и
залитую различными цветами соответсвенно), а вторая пара plot3d2(plot3d3) - цельное
геометрическое тело.
Процесс построения графика функции вида Z(x,y) можно разделить на 3 этапа:
1. Создание прямоугольной сетки с помощью функции linspace();
2. Вычисление значений функции Z(x,y) в узлах сетки;
3. Вызов функции plot3d() или plot3d2().
u = linspace(-%pi, %pi, 40); // задаём сетку для параметра u с 40 значениями в указанном
диапазоне
v = linspace(-%pi, %pi, 40); // задаём сетку для параметра v с 40 значениями в указанном
диапазоне
/* массивы u и v должны иметь одиноковый размер! */
/* Формируем матрицы значения для каждой координаты */
X = cos(u)'*cos(v);
Y = cos(u)'*sin(v);
Z = sin(u)'*ones(v);
/* Строим трёхмерные графики */
subplot(121);
plot3d(X,Y,Z);
xtitle("Сфера, состоящая из граней", "x", "y", "z");
subplot(122);
plot3d2(X,Y,Z);
xtitle("Сфера, как геометрическое тело", "x", "y", "z");
Для формирования прямоугольной сетки функция meshgrid.
Обращение к ней имеет вид: [X, Y [Z]] = meshgrid(x, y [z]) здесь (x, y [z]) — массивы 2 (3)
исходных параметров X, Y (Z), указываемые через запятую; [X, Y [Z]] — матрицы в случае 2
и массивы в случае 3 входных величин.
После формирования сетки вывести в нее график можно с помощью функции surf либо mesh.
Так же, как и в случае с функциями plot3d и plot3d1, surf строит поверхность, заливая
каждую ячейку цветом, который зависит от конкретного значения функции в узле сетки, а
mesh заливает ее одним цветом.
Таким образом, mesh является полным аналогом функции surf со значением параметров
Сolor mode=индекс белого цвета в текущей палитре цветов и Сolor flag=0.
Обращение к функциям имеет вид: surf([X,Y],Z,[color,keyn=valuen]) mesh([X,Y],Z,[color,])
здесь X,Y — массивы, задающие прямоугольную сетку; Z — матрица значений функции;
color — матрица действительных чисел, устанавливающих цвет для каждого узла сети;
keyn=valuen — последовательность значений свойств графика key1=value1, key2=value2, ...,
keyn=valuen, определяющих его внешний вид (см. параграф 4.6). Конечно, в том случае, если
прямоугольная сетка была построена командой meshgrid, необходимости указывать
параметры X,Y нет. В самом простейшем случае к функции surf можно обратиться так —
surf(z).
Download