Одномерные массивы
Переменные массивов можно задавать двумя способами:
а) через объявление типа в формате
TYPE
< имя типа > = ARRAY [тип индекса] OF < тип элементов >;
VAR
< идентификатор >: < имя типа >;
б) через объявление переменных в формате
VAR
< идентификатор >: ARRAY [тип индекса] OF < тип элементов >;
Элементы массива могут быть любого, в том числе и структурированного, типа. Следует отметить, что вещественный тип не относится к упорядоченным типам данных. В качестве типа индекса может использоваться любой порядковый тип, кроме типа Longint. Обычно в качестве индексного типа используется целочисленный тип-диапазон, в котором задаются границы изменения индексов.
Примеры объявления массивов:
CONST
N = 25; {размерность массива}
TYPE
X = ARRAY [1.. 100] OF INTEGER;
Y = ARRAY [1.. N] OF REAL;
Z = RECORD
R, I: REAL
END;
VAR
M: X; {целочисленный массив}
V1, V2: Y; {вещественные массивы }
L1, L2: ARRAY [1.. 20 ] OF Z; {массивы записей }
K: ARRAY [ BYTE ] OF CHAR; { массив символов }
R: ARRAY [ 1.. 5 ] OF STRING [25]; { массив строк }
T: ARRAY [-10.. 9] OF BYTE; { массив целых чисел }
S: ARRAY [ BOOLEAN ] OF REAL; { вещественный массив }
F: ARRAY [ GREEN, RED, BLUE ] OF INTEGER; { целый массив с перечислимым типом-индексом}
G: ARRAY [ 1.. N ] OF (MO, TU, WE, TH, FR, SA, SU );
{ массив перечислимого типа }
Типизированная константа-массив объявляется в программе следующим образом:
CONST
A: ARRAY [1.. 5] OF INTEGER = ( 1, 2, 3, 4, 5 );
B: ARRAY [1.. 4] OF REAL = ( 1.1, 2.2, 3.3, 4.4 );
Приведена схема алгоритма формирования элементов массива с помощью датчика случайных чисел, вывод элементов массива на экран, вычисление суммы всех элементов. Программа приведена в примере:
const n1=100; {максимальный размер массива}
type mas = array[1..n1] of integer;
var a:mas;
i, {индекс элемента массива}
n,s:integer;
begin
writeln ('Введите число элементов массива:');
read (n);
{ Формирование массива с помощью датчика случайных чисел}
randomize;{Инициализация датчика случайных чисел }
for i:=1 to n do
a [i]:=random(10);
writeln ('Полученный массив');
for i:=1 to n do
write (a[i]:5);
writeln;
s:=0; { Нахождение суммы }
for i:=1 to n do
s:=s+a[i];
writeln ('s=',s);
end.
Графическая схема алгоритма определения максимального элемента массива и суммы положительных элементов, а также замены максимального элемента массива суммой положительных элементов массива.
const n1=100; {максимальный pазмеp массива}
type
mas = array[1..n1] of integer;
var
a:mas;
i, {индекс элемента массива}
n,s,
imax:integer;{индекс максимального элемента}
begin
writeln('Введите число элементов массива:');
read(n);
{Ввод массива}
for i:=1 to n do
begin
read(a[i])
end;
s:=0;
imax:=1;{пpедполагаем, что пеpвый элемент максимальный}
for i:=1 to n do
begin
{если элемент положительный, то прибавляем его к сумме}
if a[i]>0 then s:=s+a[i];
{если текущий элемент массива больше максимального, то запоминаем его индекс}
if a[imax]<a[i] then imax:=i;
end;
writeln('максимальный элемент массива =',a[imax]);
a[imax]:=s;{ замена максимального элемента суммой }
writeln('s=',s);
writeln('Обpаботанный массив:');
for i:=1 to n do
writeln (a[i]);
end.
Ввод и вывод элементов массивов происходит поэлементно. Значения элементам массива можно присвоить с помощью оператора присваивания или путем считывания из файла, но на практике они чаще всего вводятся с клавиатуры или с помощью генератора случайных чисел. Последний способ целесообразно использовать тогда, когда количество элементов массива достаточно велико.
Примеры ввода одномерных массивов:
а) ввод с клавиатуры
FOR I: = 1 TO N DO READ ( M [I] );
б) ввод с помощью генератора случайных чисел
RANDOMIZE; {инициализация генератора случайных чисел}
FOR I: = 1 TO N DO M [I]: = - 25 + RANDOM (D);
Стандартная функция Random формирует случайное целое число из диапазона от 0 до D-1. При этом i-му элементу массива будет присвоена сумма выбранного случайного числа и -25. Таким образом, массив будет заполняться целыми случайными числами от -25 до -25 + (D-1). Например, если выбрать D равным 51, то массив будет заполняться случайными числами от -25 до +25.
Вывод одномерных массивов происходит аналогичным образом, например:
FOR I: = 1 TO N DO WRITELN ( M [I] );
Ввод двумерных массивов (матриц) производится с помощью вложенного оператора FOR:
FOR I: = 1 TO N DO
FOR J: = 1 TO K DO
READ ( M [I, J] );
Вывод значений элементов двухмерных массивов производится аналогичным образом с использованием операторов вывода WRITE или WRITELN:
FOR I: = 1 TO N DO
FOR J: = 1 TO K DO
WRITELN ( M [I, J] )
Таким же образом, поэлементно, происходит ввод и вывод многомерных массивов.
- Методические указания по проведению учебной практики
- Раздел 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д-предприятие».
- Учебно-методическое обеспечение