77986

Массивы, одномерные массивы

Лекция

Информатика, кибернетика и программирование

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

Русский

2015-02-05

46 KB

1 чел.

Массивы, одномерные массивы

Массив (индексная переменная) – это набор последовательно индексированных элементов одного и того же типа. Каждый элемент массива имеет уникальный номер (индекс), с помощью которого к элементу массива можно обращаться как к переменной.

Имя массива (идентификатор) составляют тем же правилам, что и для переменных. Индексы определяют местонахождения элемента в массиве. Количество индексов определяет размерность массива.

Массив с одним индексом называется одномерным. Математическим эквивалентом одномерного массива является вектор.

Индексами могут быть только переменные, константы или выражения целого, имвольного, логического типов. Тип индекса определяет границы значений индекса.

Массив может занимать в памяти не более 2 Гбайт.

Описание одномерных массивов

Массивы в программах можно описывать двумя способами:

  1.  Type имя_типа=array[тип_индекса] of тип_элементов_массива;

Var имя_массива:имя_типа;

  1.  Var имя_массива:array[тип_индекса] of тип_элементов;

Здесь тип_индекса – это костанты или сменные иерераховного типа, которые определяют диапазон смены индексов. Примеры опись массивов:

Type Mas1=array[1..11] of real;

Mas2=array[1..5] of integer;

Mas3=array[‘a’..’e’] of real;

Mas4=array[boolean] of char;

Var A:Mas1; B:Mas2; C;Mas3; D:mas4;

В примерах приведено описание таких массивов:

А – вектор величины А1, A2, … , A11, который состоит из действительных элементов A[1], A[2], … , A[11];

B – последовательность из 5 чисел B1, B2, … , B5  которая состоит из целых элементов B[1], B[2], … , B[5];

C – вектор из 5 элементов действительного типа C[‘a’], C[‘b’], C[‘c’], C[‘d’], C[‘e’];

D – символьный массив из двух элементов D[True], D[False];

Для описания массивов удобного использовать типизированные константы-массивы, которые разрешают вместе с тем объявить массив и здать его значение в разделе описания константы:

 Const имя_массива:array [тип_индекса] of тип_элементов_массива =     

                                                                                               (значения_элементов_массива)

Например, оператор

 Const T:array [1..5] of real = (0.5, 3.4, -2.7, 6.5, 4.8);

 описывает и задает значения пятерым вектора Т.

Значения элементам массивов с общим описанием можно присваивать, используя только один оператором присвоения, не используя циклы. Например, если массивы S и Z имеют описание

Var S,Z:array[1..14] of real;

то после введения или вычисления значений массива S можно присвоить точно такие же значения массиву Z одним оператором

Z:=S;

Вывод элементов одномерного массива

Выводить значение массивов можно в файл или на форму, используя разнообразные компоненты Delphi.  При этом выводить значение элементов массивов можно лишь поэлементно, для чего следует организовать циклы смены по значениям индекса. Рассмотрим как организовать вывода одномерных массивов на форму с помощью компонентов Edit, Label, Memo, ListBox и функции ShowMessage.

В приведенных примерах будем использовать переменные, имеющие следующее описание:

 Var A:array[1..11] f real;

       i, ier:integer;

       sa, st:string;

Вывод в Edit

В компонент Edit можно выводить одномерные массивы, отделяя элементы проблемами или другим символом. Количество элементов массива, которые можно увидеть, будет ограничено длиной компонента Edit на форме окна.

Пример фрагменту программы вывода массива А:

st:=’ ’;                         // очищения строки st

for i:=1 to 11 do          // начало цикла по индексам массива

 begin

      str(A[i]:4:1, sa);   //преобразования числа в строчную величину

      st:=st+sa+’ ‘;      //накопления строки значений массива

 end;

edit1.text”=st;         //присвоения значений массива компоненту Edit1 

Bывод Label

 В компонент Label можно выводить массивы, отделяя элементы пробелами (‘ ’) или символами пережода к красной строке (#13). Вывод одномерного массива в строку организуют по тем же правилам, что и в компонент Edit, лишь в программе вместо Edit1.Text надо писать Label1.Caption (например, Label1.Caption:=st;). Для вывода одномерного массива в столбике вместо Edit1.Text надо писать символа пробел (‘ ’) надо писать символ #13 (например, st:=st+sa+#13;).

Вывод в окно сообщений

Вывод в окно диалога с помощью функции ShowMessage организовывают так же, как и в предыдущих примерах, лишь вместо оператора присвоения надо записать оператор вызова процедуры. Например, вместо оператора

Edit1.Text:=st;

надо записать

                                                    ShowMessage(st);

Вывод в Memo

C помощью компонента Memo можно выводить массивы с любым количеством элементов, поскольку можно использовать полосы  прокручивания (предоставить свойству ScrollBars значения ssBoth ли ssVertical).

Пример фрагмента программывывода массива А (в столбике):

Memo1.Clear;                          // очищения компонента 

 for i:=1 to 11 do                 //начало цикла за индексами массива

   begin

        str(A[i]:4:1, sa);        //превращения числа в строчную величину

        Memo1.Lines.Add(sa);         //вывод одного значения массива

    end;

Вывод в ListBox

Вывод массивов с помпщью компонента ListBox организуют так же, как и с компонентом Memo, лишь вместо Memo надо писать оператор вызова процедуры ListBox. Например, вместо оператора

Memo2.Lines.Add(sa);

надо записать

ListBox1.Items.Add(sa);

Ввод элементов массивов

Для ввода значений массивов можно используя такие компоненты Delphi, как Memo, ListBox, Edit. Как и при выводе массивов, при введении следует организовывать циклы изменения значения индекса.   

Ввод из окна Memo

С помощью компонента Memo можно вводить массивы, как в процессе выполнения программы, так и при конструировании формы проекта программы через окно свойства Lines (для перехода к новой строке при введении значений надо нажать клавишу <Enter>).

 Пример фрагмента программы введения значений элементов одномерного массива А (в каждой строке по одному числу):

for i:=1 to 11 do                 //начало цикла за индексами массива

begin

sa:=memo1.lines[i-1];  //чтения срочного значения элемента массива

val(sa, a[i],ier);   //преобразования строчной величины элемента массива в числовую

end;  

Bвод с ListBox 

С помощью компонента ListBox можно вводить массивы так же, как и с помощью компонента Memo, лишь вместо свойства Lines использовать свойство Items.

Ввод с Edit

Введения элементов одномерного массива с помощью компонента Edit (в одну строку через пробел) требует создания специальной программы введения строчной величины и преобразования ее в массив величин другого типа. Такая подпрограмма будет рассмотрена при изучении работы со строчными величинами.

   


 

А также другие работы, которые могут Вас заинтересовать

41218. ПОНИМАНИЕ КОМПОНЕНТОВ РЕЧЕВОГО ВЫСКАЗЫВАНИЯ. СЛОВО И ПРЕДЛОЖЕНИЕ 109 KB
  Теперь мы остановимся на психологическом анализе понимания высказывания т. Анализ процесса понимания речевого сообщения составляет одну из наиболее трудных и как это ни странно одну из наименее разработанных глав научной психологии. ПРОБЛЕМА Психологи неодинаково подходили к анализу процесса понимания смысла речевого сообщения или процесса декодирования воспринимаемого речевого высказывания. Одни авторы предполагали что для понимания смысла речевого сообщения достаточно иметь прочный и широкий словарь т.
41219. ПОНИМАНИЕ СМЫСЛА СЛОЖНОГО СООБЩЕНИЯ 92.5 KB
  Приступая к обсуждению этого вопроса мы тем самым переходим от анализа понимания системы внешних значений речевого высказывания к пониманию его внутреннего смысла от проблем понимания слова фразы и даже внешнего значения текста к пониманию подтекста смысла и в конечном счете к пониманию мотива который стоит за текстом. В проблемах понимания литературного произведения понимание подтекста смысла и в конечном итоге мотива пожалуй является основным. Глубина прочтения текста или обнаружение его подтекста его внутреннего смысла может...
41220. ЯЗЫК И ДИСКУРСИВНОЕ МЫШЛЕНИЕ. ОПЕРАЦИЯ ВЫВОДА 91 KB
  Это свойство языка создает возможность сложнейших форм дискурсивного индуктивного и дедуктивного мышления которые являются основными формами продуктивной интеллектуальной деятельности человека. Сложившийся в течение многих тысяч лет общественной истории аппарат логического сочетания нескольких высказываний образует основную систему средств лежащих в основе логического мышления человека. Моделью логического мышления осуществляющегося с помощью речи может являться силлогизм. Таким образом силлогизм как аппарат логического мышления...
41221. МОЗГОВАЯ ОРГАНИЗАЦИЯ РЕЧЕВОЙ ДЕЯТЕЛЬНОСТИ. ПАТОЛОГИЯ РЕЧЕВОГО ВЫСКАЗЫВАНИЯ 144.5 KB
  Выше мы подробно осветили основные вопросы психологии речевой деятельности. Мы остановились на структуре слова и фразы на происхождении этих основных составных единиц языка на порождении целого речевого высказывания на анализе того пути от мысли к развернутому речевому сообщению который проделывает человек формулируя свое речевое высказывание. Мы остановились на этапах декодирования или понимания речевого сообщения начинающегося с восприятия обращенной к человеку речи проходящего стадии...
41222. МОЗГОВАЯ ОРГАНИЗАЦИЯ ПРОЦЕССОВ ДЕКОДИРОВАНИЯ (ПОНИМАНИЯ) РЕЧЕВОГО СООБЩЕНИЯ 95 KB
  Этот этап порождения речевого высказывания обеспечивается передними отделами мозга; их поражение как мы видели ведет к своеобразному нару шению речевой деятельности в виде распада синтагматической организации связного речевого сообщения. Вторым этапом речевого высказывания является этап включения высказывания в коды языка. В этих случаях нарушается парадигматическая организация речевого высказывания при сохранности ее синтагматической структуры.
41223. История возникновения и перспективы применения штрихового кодирования 1.42 MB
  История возникновения и перспективы применения штрихового кода Вид и размер штрихового кода EN13.5 Определение размера штрихового кода.2 Плотность штрихового кода.
41224. Сравнительная психология (зоопсихология) 307 KB
  Предмет изучения зоопсихологии это психическая деятельность животных это комплекс проявлений поведения и психики единый процесс психического отражения как продукт внешней активности животного. Изучение животных стоящих на разных ступенях развития от амёбы до приматов. Ощущения животных рассматриваются как первостепенные явления психики нижняя грань интеллект высшая грань. Импритинг видовая память процессы запечатления Лоренц этологизм поведения животных; 4.
41225. КОНЦЕПЦИИ ЛОГИСТИКИ 125 KB
  Практическими примерами использования информационной концепции логистики являются широко распространенные информационнопрограммные модули MRP I MRP II DRP OPT QR CR и т. К числу ее важнейших функций относятся в частности контроль за состоянием запасов включая расчет точки заказа формирование связей производства снабжения и сбыта с использованием обеспечивающего комплекса системы MRP. Работа системы DRP осуществляется поэтапно: 1 агрегированное планирование с использованием прогнозов и данных о фактически поступивших заказах; 2...
41226. Классификационные признаки микроконтроллеров 878 KB
  Модификация памяти и чтение из нее необходимых данных осуществляется только лишь с помощью специальных команд чтения записи; в система команд должна содержать минимальное число наиболее часто используемых простейших команд одинаковой длины: г состав системы команд должен быть оптимизирован с учетом требований компиляторов языков высокого уровня. Центральное процессорное устройство Процессор формирует адрес очередной команды выбирает команду из памяти и организует ее выполнение. Благодаря специальным командам их можно...