Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
61
Добавлен:
17.05.2015
Размер:
251.39 Кб
Скачать

Массивы

1

Массивы

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

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

2

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

Oбъявление массива в разделе var

имя: array [начальный_индекс .. конечный_индекс] of тип

где:

имя — имя массива;

array — зарезервированное слово языка Delphi, обозначающее, что объявляемая переменная является массивом;

начальный_индекс и конечный_индекс – константы типа integer или char, определяющие границы массива; тип — тип элементов массива.

Примеры объявления массивов:

koef

: array[0..100] of integer;

name

: array[1..30] of string;

temper

: array[‘a’.. ‘z’] of real;

3

Использование одномерных массивов в программах

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

koef[1],

name[15],

temper[‘f’]

Для последовательной обработки всех элементов массива чаще всего используется цикл с параметром:

for i:=… to … do

4

Пример 1: фрагмент программы заполнения массива значениями функции sin(x) на отрезке [-3, 3] с шагом 0,06

x:=-3;

for i := 0 to 100 do begin koef[i]:=sin(x); x:=x+0.6;

end;

Пример 2: фрагмент программы суммирования элементов массива

sum :=0;

for i := 0 to 100 do

sum := sum + koef[i];

Пример 3: фрагмент программы суммирования положительных элементов массива

sum :=0;

for i := 0 to 100 do if koef[i] > 0 then

sum := sum + koef[i];

5

Компоненты Delphi для работы с одномерными массивами

Класс TListBox (вкладка Standard)

 

Компоненты этого класса

 

 

представляют собой

 

многострочные окна, подобно

 

Memo, но без возможности

 

редактирования

 

Они предназначены для работы с

 

одномерным массивом строк

 

Нумерация строк начинается с нуля

 

Одна или несколько строк могут

 

быть выделены с помощью

 

мыши

 

 

6

Основные свойства компонентов класса TListBox

Свойство

Тип

Пояснение

Пример

7

Основные методы класса TListBox

Метод

Пояснение

Пример

8

Пример 1: заполнение списка значениями функции

 

1

 

на отрезке [2,

 

 

 

 

 

 

3] с шагом 0,01

x2 1

 

var

. . . i : integer;

x : real;

. . .

x:=2;

for i := 0 to 100 do begin

ListBox1.Items.Add(FloatToStr(1/sqrt(x*x-1)); x:=x+0.01;

end;

Возможен и такой вариант: x:=2;

while x<=3 do begin

ListBox1.Items.Add(FloatToStr(1/sqrt(x*x-1)); x:=x+0.01;

end;

Пример 2: копирование выделенных строк из одного списка в другой

for i

:= 0 to ListBox1.Count-1 do

begin

 

if ListBox1.Selected[i] then begin

ListBox2.Items.Add(ListBox1.Items[i]);

end;

end;

А если нужно не скопировать, а перенести, то так: i := 0;

while i<= ListBox1.Count-1 do begin

if ListBox1.Selected[i] then begin

ListBox2.Items.Add(ListBox1.Items[i]);

ListBox1.Items.Delete(i);

end

else i := i + 1;

end;