КАТЕГОРИИ: Архитектура-(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; Просмотров: 287; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |