Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Объявление массива




Массивы

Примеры задач с циклами

1) Вычисление суммы элементов ряда.

 

program summr;

var

i:integer;

elem, summ:real;

begin

sum:=0;

for i:=1 to 5 do

begin

elem:=1/i;

sum:=sum+elem;

writeln(i:2,’’,elem:4:2);

end;

writeln(‘Сумма элементов ряда: ‘summ:4:2’);

end.

2) Вычисление числа ПИ с заданной точностью.

 

program pi;

var

n:integer;

p, t, elem:real;

begin

p:=0;

n:=1;

elem:=1;

write(‘Задайте точность вычисления ПИ ’);

readln(t);

writeln(‘Вычисление ПИ с точностью’,t:9:6);

while elem >= t do

begin

elem:=1/(2*n-1);

if (n mod 2) = 0

then p:=p-elem

else p:=p+elem;

n:=n+1;

end;

p:=p*4;

writeln(‘Значение ПИ с точностью’,t:9:6,’равно’,p:9:5);

writeln(‘Просуммировано’,n,’ членов ряда’);

end.

3) Вычисление суммы положительных чисел, введенных с клавиатуры.

 

program summrep;

var

summ, numb:integer;

begin

writeln(‘Вычисление суммы положительных целых чисел’);

summ:=0;

repeat

write(‘->’);

readln(numb);

if numb>0 then sum:=sum+numb;

until numb <= 0;

writeln(‘Сумма введенных чисел: ’summ);

end.

 

 

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

 

 

Массив, как и любая переменная программы, перед использованием должен быть объявлен в разделе объявления переменных. В общем виде инструкция объявления массива выглядит следующим образом:

Имя: array [нижний_индекс..верхний_индекс] of тип

где:

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

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

· нижний_индекс и верхний_индекс — целые константы, определяющие диапазон изменения индекса элементов массива и, неявно, количество элементов (размер) массива;

· тип — тип элементов массива.

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

temper: array [1..31] of real;

коef: array [0..2] of integer;

name: array [1..30] of string [25];

 

В общем виде инструкция объявления двумерного массива выглядит так:

Имя: array [ НижняяГраница1..ВерхняяГраница1,

НижняяГраница2..ВерхняяГраница2] of Тип

где:

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

· array — слово языка Delphi, указывающее, что объявляемый элемент данных является массивом;

· НижняяГраница1, ВерхняяГраница1, НижпяяГраница2, ВерхняяГраница2 — целые константы, определяющие диапазон изменения индексов и, следовательно, число элементов массива;

· Тип — тип элементов массива.

Количество элементов двумерного массива можно вычислить по формуле:

(ВГ1-НГ1+1) х (ВГ2-НГ2+1):

где:

ВГ1 и ВГ2 — верхняя граница первого и второго индексов;

НГ1 и НГ2 — нижняя граница первого и второго индексов.

 

При объявлении массива удобно использовать именованные константы. Именованная константа объявляется в разделе объявления констант, который обычно располагают перед разделом объявления переменных. Начинается раздел объявления констант словом const. В инструкции объявления именованной константы указывают имя константы и ее значение, которое отделяется от имени символом "равно". Например, чтобы объявить именованную константу YB, значение которой равно 10, в раздел const надо записать инструкцию: YB=10. После объявления именованной константы ее можно использовать в программе как обычную числовую или символьную константу. Ниже в качестве примера приведено объявление массива названий команд-участниц чемпионата по футболу, в котором используются именованные константы.

 

const

NT = 18; // число команд

SN = 25; // предельная длина названия команды

var

team: array[1..NT] of string[SN];

 

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

 

team [ 1]:= 'Зенит';

d:= koef[l]*koef[l]-4*koef[2]*koef[1];

ShowMessage(name[n+1]);

temper[i]:= StrToFloat(Edit1.text);

 

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

 

Имя: array [нижний_индекс..верхний_индекс] of тип = (список);

 

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

 

a: array [10] of integer = (0,0,0,0,0,0,0,0,0,0);

Team: array [1..5] of String [10]=('Зенит','Динамо','Спартак','Ротор','СКА');

 

Обратите внимание, что количество элементов списка инициализации должно соответствовать размерности массива. Если это будет не так, то компилятор выведет сообщения об ошибке: Number of elements differs from declaration (количество элементов не соответствует указанному в объявлении).

При попытке инициализировать локальный массив компилятор выводит сообщение об ошибке: Cannot initialize local variables (локальная переменная не может быть инициализирована). Локальный массив можно инициализировать только во время работы программы, например, так:

 

for i:= 1 to 10 do

a[i]:= 0;

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 274; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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