русс | укр

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

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

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

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


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

Массивы


Дата добавления: 2015-07-23; просмотров: 654; Нарушение авторских прав


 

Массив - это упорядоченная совокупность однотипных элементов. Члены этой совокупности называются элементами массива. Каждый элемент определяется именем массива и его положением в массиве.

Упорядоченность последовательности данных заключается в том, что элементы массива располагаются в последовательных ячейках памяти.

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

Объявление одномерного массива:

VAR

Имя_массива: ARRAY[1..k] OF <Тип_данных>;

Здесь переменная k задает количество элементов в массиве, при этом значение индекса элементов лежит в интервале от 1 до k и может принимать только целые значения.

Массивы могут иметь и более одного измерения. Размерность ("мерность") массива определяет количество индексов отдельного элемента.

Объявление двумерного массива (двумерной матрицы):

Имя_массива: ARRAY [1..k1,1..k2] OF Тип_данных;

Здесь k1 задает количество строк и диапазон изменения индекса строк, k2 - количество столбцов и диапазон изменения индекса столбцов.

Объявление трехмерного массива:

Имя_массива: ARRAY[1..k1,1..k2,1..k3] OF < Тип_данных>;

Здесь k1 задает количество строк и диапазон изменения индекса строк, k2 - количество столбцов и диапазон изменения индекса столбцов, k3 - количество слоев и диапазон изменения индекса слоев.

Подобным образом описываются массивы и более высокой размерности. Ограничения на максимальное значение размерности не существует.

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

На примере двумерного массива А(5х6) рассмотрим ввод элементов массива и вывод их на экран в виде строк и столбцов.



 

Program Wwod_Wywod;

Var A : Array [1..5,1..6] of integer;

I,J : Integer;

Begin

For I:=1 to 5 do

For J:=1 to 6 do

read(A[I,J]); {- считывание в цикле всех 30 элементов массива}

For I:=1 to 5 do Begin

For J:=1 to 6 do Write (A[I,J]:4); {- вывод в одну строку значений элементов массива вложенного цикла длиной в 4 символа}

Writeln; {- переход на новую строку}

End;

End.

При работе с массивами надо помнить, что в каждый момент времени мы работаем с одним конкретным элементом массива заданного типа. Если элементов массива много, то для ввода значений часто используют функцию Random(Х), которая возвращает случайное целое число, равномерно распределенное в диапазоне от 0 до Х-1 (Х – параметр обращения). Если параметр Х опущен, то функция возвращает вещественное число в диапазоне от 0 до 1.

Program Wwod;

Var A : Array [1..8,1..10] of Integer;

I, J : Integer;

Begin

For I:=1 to 8 do

For J:=1 to 10 do A[I,J] := Random(100);

……………

End.

При решении задач массивы используются очень часто, и зачастую эти массивы необходимо отсортировать по возрастанию или по убыванию. Существует два основных алгоритмов сортировки.

Сортировка выбором

1. Установить номер наименьшего элемента массива

2. Поменять местами наименьший и первый элементы массива.

3. Оставив в покое первый элемент, выполнить первые два пункта над остатком массива. Пункт 3 повторять, пока остаток не сократится до одного элемента.

Метод пузырька (обменная сортировка)

1. Сравнивать в цикле соседние элементы, и если левый элемент оказался больше, то поменять его местами с правым.

2. Выполнить шаг 1, не обращаясь к последнему элементу.

 

Пример. Отсортировать массив в порядке убывания (сортировка осуществляется при помощи двух вложенных циклов)

For j:=1 to N-1 do

Begin

NEW:=MAS[N];

K:=N;

For i:=N downto j do

If MAS[i]>NEW then

Begin

K:=i;

NEW:=MAS[i]

End;

MAS[K]:=MAS[j];

MAS[J]:=NEW;

End;

 

Записи

 

Записи - это еще один структурированный тип данных, позволяющий хранить вместе переменные, имеющие различные типы данных. Поля записи - фиксированное количество компонентов записи. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.

Структура объявления записи такова:

<имя типа>=RECORD <список полей> END

Здесь <имя поля >-правильный идентификатор;

RECORD(запись), END(конец) - зарезервированные слова;

<список полей> - список полей; представляет собой последовательность разделов записи, между которыми ставится точка с запятой.

Каждый раздел записи состоит из одного или нескольких идентификаторов полей, отделяемых друг от друга запятыми. За идентификатором ставится двоеточие и описание типа поля (полей), например:

 

VAR Students = RECORD

Surname,

Name,

Address : STRING[20];

group : Word;

Telephone : LongInt;

END;

 

При обращении к отдельным полям указывается имя всей записи и имя отдельного поля, причем они разделяются точкой.

 

Например:

Students.Surname :=’Иванов’;

 



<== предыдущая лекция | следующая лекция ==>
Итерационные циклические процессы | Множества


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


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

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

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


 


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

 
 

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

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