1 / 15

Работа с массивами

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

Télécharger la présentation

Работа с массивами

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Работа с массивами

  2. Массив — это структура данных, представляющая собой набор переменных • одинакового типа, • имеющих общее имя. Массивы удобно использовать для хранения однородной по своей природе информации, например, таблиц и списков.

  3. Объявление массива Имя: array [нижний_индекс. .верхний_индекс] of тип имя— имя массива;array— зарезервированное слово, обозначающее, что объявляемое имя является именем массива;нижний_индекси верхний_индекс— целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;тип — тип элементов массива. Примерыобъявлениямассивов: temper:array[1..31] of real; коef:array[0. .2] of integer; :name:array[1..30] ofstring[25];

  4. Именованныеконстанты • Удобно использовать при объявлении массива. • Именованная константа объявляется в разделе объявления констант, • Раздел объявления констант начинается словом const. • В инструкции объявления именованной константы указывают имя константы и ее значение, которое отделяется от имени символом "равно". Примерыобъявлениямассивов: constNT = 18; // число команд SN = 25; // предельная длина названия команды varteam: array[1..NT] ofstring [SN];

  5. Для того чтобы в программе использовать элемент массива надо указать имя массива и номер элемента (индекс), заключив индекс в квадратные скобки. В качестве индекса можно использоватьконстанту или выражение целого типа, например: team [ 1] := 'Зенит'; d := koef[1]*koef[1]-4*koef[2]*koef[1]; ShowMessage(name[n+1]); temper[i] := StrToFloat(Edit1.text);

  6. Массивможноинициализировать(задать элементам начальные значения) Если массив объявлен глобально Имя: array [нижний_индекс..верхний_индекс] of тип = (список); список — разделенные запятыми значения элементов массива количество элементов списка должно соответствоватьразмерности массива. a: array[10] of integer = (0,0,0,0,0,0,0,0,0,0); Team: array[1..5] of String[10]= ('Зенит','Динамо','Спартак','Ротор','СКА');

  7. Операции с массивами • вывод массива; • ввод массива; • поиск максимального или минимального элемента массива; • поиск заданного элемента массива; • сортировка массива.

  8. implementation($R *.dfm} constNT = 5;varteam: array[1..NT] of string[10] =('Зенит','Динамо','Ротор','Спартак','СКА‘) procedureTForml.ButtonlClick(Sender: TObject); varst:string;// список команд i:integer; // индекс, номер элемента массива begin// формирование списка для отображения в форме for i:=1to NT do st:= st + IntToStr(i)+ ‘‘+ team[i] + #13; // вывод списка Label1.Caption := st; end; end. Выводмассива

  9. Вводмассива Под вводом массива понимается процесс получения от пользователя (или из файла) во время работы программы значений элементов массива. Очевидно, что последовательность чисел удобно вводить в строку таблицы, где каждое число находится в отдельной ячейке. Два варианта организации ввода массива с использованием компонентов StringGrid Memo

  10. Использование компонента Memo • В некоторых случаях для ввода массива можно использовать компонент Memo. • Компонент Memo позволяет вводить текст, состоящий из достаточно большого количества строк, поэтому его удобно использовать для ввода символьного массива.

  11. Свойства Memo Для ввода массива значение каждого элемента массива следует вводить в отдельной строке и после ввода каждого элемента массива нажимать клавишу <Enter>. Получить доступ к находящейся в поле Memo строке текста можно при помощи свойства Lines, указав в квадратных скобках номер нужной строки

  12. Использование компонента Memo для ввода символьного массива Основной цикл процедуры ввода символьного массива из компонента Memo может выглядеть так: Fori:=1toSIZEdo a [ i ]:= Memo1.Lines[i]; где: SIZE — именованная константа, определяющая размер массива; а — массив; Memol — имя Memo-компонента; Lines — свойство компонента Memo, представляющее собой массив, каждый элемент которого содержит одну строку находящегося в поле Memo текста.

  13. procedure TForm1.ButtonlClick(Sender: TObject); constSIZE=5; // размер массива Vara:array[1..SIZE]of string[30]; //массив n: integer; // количество строк, введенных в поле Memo i:integer; // индекс элемента массива st:string; beginn:=Memo1.Lines.Count; ifn = 0 then beginShowMessage('Исходные данные не введены!'); Exit; // выход из процедуры обработки события end;// в поле Memo есть текст if n > SIZE then beginShowMessage('Количество строк превышает размер массива.'); n:=SIZE; // будем вводить только первые SIZE строк end; for i:=1 to ndoa[i]:=Form1.Memo1.Lines[i-1]; // строки Memo пронумерованы с нуля // вывод массива в окно сообщения if n > 0 then beginst:='Введенный массив:'+#13; for i: =1 to n dost:=st+IntToStr(i)+' '+ a[i]+#13; ShowMessage(st); end;end; end. Процедура TForm1.Button1Click, сначала проверяет, есть ли в поле Memo1 текст. Если текст есть (в этом случае значение свойства Lines.Countбольше нуля), то процедура сравнивает количество введенных строк и размер массива. Если это количество превышает размер массива, то программа изменяет значение п, тем самым подготавливает ввод только первых SIZE строк.

  14. Использование компонента StringGrid(вкладка Additional) • Компонент StringGrid представляет собой таблицу, ячейки которой содержат строки символов.

  15. Свойства StringGrid

More Related