русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Массивы данных


Дата добавления: 2014-11-27; просмотров: 680; Нарушение авторских прав


Массивыупорядоченная структура однотипных данных, хранящихся в памяти последовательно. Массив обязательно имеет размеры. Описывается в разделе TYPE или VAR следующим образом:

Type <имя_типа> = array [диапазон_индексов] of <базовый_тип>;

или

Var <имя_переменной> : array [ диапазон_индексов] of <базовый_тип>;

Отметим, что в разделе Type разделителем служит символ “=”, а в разделе переменных var – двоеточие “ : ” .

Пpимер: TYPE

array10 = array [1..10] of integer;

array11 = array [11..22] of real;

VAR

V:array[-3..2] of char; {массив из 6 элементов}.

В качестве индексов можно использовать любые перечислимые типы как встроенные, так и вводимые программистом. Индексы могут задаваться также диапазоном. Если диапазон соответствует всему типу, можно просто указывать имя этого типа.

Например:

TYPE DIAP = 1..100;

VECTOR = array [DIAP] of real;

При записи сложных массивов индексы разных диапазонов могут при­надлежать разным типам. Например:

VAR V: array [0..10 , 'A'..'C' ] of real;

В качестве значений диапазона могут использоваться идентификато­ры, если их значения определены выше. Например:

CONST

K=10; L=5;

VAR

A: ARRAY [1..K] OF INTEGER;

B,С: ARRAY[1..K,1..L] OF REAL;

Массивы хранятся в памяти как сплошные последовательности компо­нентов, причем быстрее изменяется дальний правый индекс.

Обращение к элементу массива в программе производится указанием имени массива и индексов, заключенных в квадратные скобки:

<имя> [ <индексы> ].

Пример:

A[1] := 1; B[8,5] := В[8,1] + B[8,2]; V[1,'B'] := 3.5; .

В данном типе определена единственная операция присваивания. Мож­но присваивать целиком весь массив лишь массиву того же типа и размерности, например: B := С.

Операции сравнения в массивах производятся только поэлементно.



Обнуление одновременно всех элементов массива выполняется в цикле

FOR I :=1 TO K DO A[I] := 0.

Разрешается объявлять массивы, где базовыми элементами служат также массивы, например:

TYPE

VECTOR = array[1..5] of real;

MATRIX = array[1..10] of VECTOR;

что эквивалентно следующему способу описания:

MATRIX = array[1..10] of array[1..5] of real;

или

MATRIX=array[1..10, 1..5] of real;

 

Типизированные константы-массивы

В качестве типизированных констант можно использовать массивы. В константах-массивах список констант разделяется запятыми и зак­лючается в круглые скобки:

CONST vector : array[0 ..4] of byte = ( 0, 1, 2, 3, 4 );

массив символов может быть описан следующей записью:

CONST vec : array[-1..2] of char = ( 'a' , 'b' , 'c' , 'd' );

При объявлении многомерных констант-массивов список констант, соответствующих каждому измерению, заключается в дополнительные круглые скобки и отделяется от соседних списков запятыми. Самый внутренний список констант связывается с изменением самого правого индекса масси­ва. Например:

CONST

matr: array[1..2, 1..4] of byte = ((0,1,2,3),(4,5,6,7));

cub: array[0..1, 1..2,1..3] of byte = (((0,1,2),(3,4,5)),

((6,7,8),(9,10,11)));

Пример и задания для одномерных массивов

Пример. Найти значение и номер наименьшего элемента в одномерном массиве. При задании элементов исходного массива типизированной константой СА решения задачи имеет вид (рис. 12, а) и используется следующая программа:

Program lr6_1;

const

a: array[1..10] of integer = (5,2,7,1,8,3,4,5,6,6);

var

i, min, n: integer;

Begin

min:=a[1];

n:=1;

for i:=2 to 10 do

if a[i]<min then begin

min:=a[i];

n:=i

end;

writeln('минимальный элемент равен ',min, ' n=',n);

End.

 
 


Если элементы массива вводятся с клавиатуры, то СА имеет вид (рис. 12, б) и текст программы изменится:

program lr6_2;

var a: array[1..10] of integer;

i, min, n: integer;

Begin

read(a[1]);

min:=a[1]; n:=1;

for i:=2 to 10 do begin

read(a[i]);

if a[i]<min then begin

min:=a[i]; n:=i;

end;

end;

writeln('минимальный элемент равен ', min, ' n=',n);

End.



<== предыдущая лекция | следующая лекция ==>
Задания для самостоятельного выполнения | Задание 1


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 2.138 сек.