- •Методические указания по проведению учебной практики
- •Раздел 1. Способы представления алгоритмов………………………………………………...4
- •Раздел 2. Архитектура предприятия…………………………………………………………..21
- •Раздел 3. Система управления архитектурой предприятия…………………………………40
- •Раздел 4. Системы управления контентом……………………………………………………53
- •Введение
- •Раздел 1. Способы представления алгоритмов
- •Линейные программы структура программы
- •Понятие массива данных
- •Одномерные массивы
- •Многомерные массивы
- •ДвумерныЕ массивЫ
- •Действия над элементами массивов
- •1.5. Контроль ошибок при работе с массивами
- •Решение задач - примеров
- •Раздел 2. Архитектура предприятия
- •2.1. Понятие и общее представление об архитектуре предприятия
- •2.2. Цели создания архитектуры предприятия
- •2.3. Методические принципы создания архитектуры
- •2.4. Корпоративная архитектура предприятия
- •Корпоративная архитектура
- •2.5. Детализация в формировании архитектуры
- •Подходы при построении архитектуры
- •Компоненты архитектуры предприятия
- •Комплексная архитектура предприятия Модельные и организационные подходы
- •Матрица согласованных моделей в архитектурах
- •Примеры заполнения ячеек схемы
- •Требования к «3д-модели»
- •Раздел 3. Система управления архитектурой предприятия
- •3.1. Приемы процессно-ориентированной архитектуры предприятия
- •3.2. Изменения архитектуры
- •Изменения и улучшения организационной структуры
- •Изменения и улучшения систем управления
- •3.3. Идентификация и описание бизнес-процессов
- •Менеджмент бизнес-процессов
- •Управление операционными улучшениями бизнес-процессов
- •3.4. Моделирование организации деятельности предприятия
- •Раздел 4. Системы управления контентом
- •4.1. Объектная модель
- •4.2. Сетевая модель
- •4.3. Модульная модель
- •4.5. Коммерческие системы
- •Задание для самостоятельной работы
- •Контрольные вопросы
- •9. Схема «3д-предприятие».
- •Учебно-методическое обеспечение
Многомерные массивы
Элементами массивов могут быть также массивы. В этом случае мы имеем двухмерный массив ( матрицу ).
Двухмерные массивы задаются в программе следующим образом:
а) через объявление типа в формате
TYPE
< имя типа > = ARRAY [тип индекса 1] OF ARRAY [тип индекса 2] OF < тип элементов >;
или
< имя типа > = ARRAY [ тип индекса 1, тип индекса 2 ] OF <тип элементов>;
Обе формы описания равносильны, но вторая употребляется чаще.
VAR
< идентификатор >: < имя типа >;
б) через объявление переменных в формате
VAR
< идентификатор >: ARRAY [тип индекса 1, тип индекса 2] OF < тип элементов >;
Необходимо отметить, что индексы не обязательно должны иметь один и тот же тип. В общем случае индексы по каждому измерению могут быть разных типов как, например, в следующем фрагменте раздела описаний.
Примеры объявления двухмерных массивов:
CONST
N = 5;
M = 10;
TYPE
A = ARRAY [ 1.. N, 1.. M ] OF WORD;
B = ARRAY [ 1.. 10, 1.. 20 ] OF REAL;
VAR
C: ARRAY [ 1.. N, BOOLEAN ] OF -20.. 20;
D1, D2: A;
F1, F2: B;
Типизированная константа-матрица объявляется в программе следующим образом:
CONST
M: ARRAY [1.. 3, 1.. 2] OF INTEGER = ((1, 2), (3, 4), (5, 6));
Массивы могут быть не только одномерными или двухмерными, но и 3-х, 4-х и n-мерными. В этом случае они описываются в программе следующим образом:
VAR
M: ARRAY [ 1.. 10, -10.. 9, CHAR ] OF BYTE;
N: ARRAY [ 1.. 5, 1.. 10, 1.. 15, 1.. 20 ] OF SHORTINT;
В памяти компьютера элементы размещаются друг за другом так, что при переходе от младших адресов к старшим наиболее быстро изменяется самый правый индекс массива. Например, для матрицы 2х2: A[1,1], A[1,2], A[2,1], A[2,2].
ДвумерныЕ массивЫ
Приведена схема алгоритма формирования элементов массива с помощью датчика случайных чисел, вывод элементов массива на экран, вычисление суммы всех элементов двумерного массива. Программа дана в примере:
program pr21;
const n1=10; {максимальнoе количество стpок массива}
m1=10; { максимальное количество столбцов массива}
type mas = array[1..n1,1..m1] of integer;
var a: mas;
i, { текущий номеp строки }
j, { текущий номеp столбца }
n,s,m : integer;
begin
writeln('Введите число стpок и столбцов массива:');
read(n,m);
randomize;
for i:=1 to n do
for j:=1 to m do
a[i,j]:=random(10);
writeln('Полученный массив');
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:5);
writeln;
end;
s:=0;
for i:=1 to n do
for j:=1 to m do
s:=s+a[i,j];
writeln('s=',s);
end.
Дана прямоугольная матрица. Отсортировать столбцы матрицы в порядке неубывания максимальных элементов столбцов. Пример решения:
const n1=10; {максимальнoе количество стpок массива}
m1=10; {максимальнoе количество столбцов массива}
type
mas = array[1..n1,1..m1] of integer;{квадpатная матpица}
var
a:mas;
b:array[1..m1] of integer;{массив из максимальных элементов столбцов}
i, { текущий номеp стpоки }
j, { текущий номеp столбца }
n,m,d:integer;
fl:boolean;
begin
writeln ('Введите число стpок и столбцов массива:');
read(n,m);
for i:=1 to n do
for j:=1 to m do
begin
writeln('Введите элемент массива');
read(a[i,j]);
end;
writeln ('Исходный массив');
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:5);
writeln;
end;
{Фоpмиpование одномеpного массива из максимальных
элементов столбцов}
for j:=1 to m do {Пеpебиpаем все столбцы}
begin
b[j]:=a[1,j];{Пpинимаем пеpвый элемент в столбце за максимальный }
for i:=2 to n do{Пеpебиpаем все элементы в столбце}
if a[i,j]>b[j] then b[j]:=a[i,j];
end;
{Сортировка одномерного и двумерного массива}
repeat
fl:=true;{Поднять флаг}
for j:=1 to m-1 do {Перебрать элементы одномерного массива}
if b[j]>b[j+1] then { Проверить нужна ли перестановка }
begin
fl:=false;{опустить флаг}
{Переставить элементы одномерного массива и}
d:=b[j];
b[j]:=b[j+1];
b[j+1]:=d;
{столбцы двумерного массива}
for i:=1 to n do
begin
d:=a[i,j];
a[i,j]:=a[i,j+1];
a[i,j+1]:=d;
end;
end;
until fl;{Завершить сортировку,если флаг не опускался}
writeln('Отсортированный массив');
for i:=1 to n do
begin
for j:=1 to m do
write (a[i,j]:5);
writeln;
end;
end.