Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Действия над элементами массива




ДЕЙСТВИЯ НАД МАССИВАМИ.

Для работы с массивом как единым целым используется идентификатор массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения «равно», «не равно», и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т.е. иметь одинаковые типы индексов и одинаковые типы компонентов. Например, если массивы А и В описаны так:

var A,B:array[1..20] of real;

то применение к ним допустимых операций даст следующий результат:

 

Выражение Результат
А=В true, если значение каждого элемента массива А равно соответствующему значению элемента массива В
A<>B true, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В
A:=B все значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны.

 

После объявления массива каждый его элемент можно обработать, указав идентификатор (имя) массива и индекс элемента в квадратных скобках. Например, запись MAS[2], VECTOR[10] позволяет обратиться ко второму элементу массива MAS и десятому элементу массива VECTOR.

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

B[5]:=B[3]+1;

SUM:=SUM-C[k];

PI:=A[2*i+1];

Для ввода и вывода числовых значений массива используются циклы, т.к. язык TURBO PASCAL 7.0 не имеет средств ввода-вывода элементов массива сразу.

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

for i:=1 to 4 do A[i]:=0;

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

Например: for i:=1 to 30 do readln(A[i]);

Копированием массивов наз. присваивание значений всех элементов одного массива всем соответствующим элементам другого массива. Копирование можно выполнить одним оператором присваивания, например A:=D; или с помощью оператора цикла с параметром: for i:=1 to 4 do A[i]:=D[i];

Пример:

Составить программу вычисления скалярного произведения двух векторов U и V, состоящих из четырех элементов каждый, по формуле

.

Вычислить длину вектора V .

Решение:

PROGRAM SP; PROGRAM SP;

type n=1..4; var S,DV:real;

var S,DV:real; U,V:array[1..4] of real;

U,V:array[n] of real; i:integer;

i:n; BEGIN

BEGIN...........

for i:=1 to 4 do read(U[i]); END.

readln;

S:=0;

DV:=0;

for i:=1 to 4 do PRIGRAM SP;

BEGIN type mas=array[1..4] of real;

S:=S+U[i]*V[i]; var U,V:mas;

DV:=DV+V[i]*V[i] S,DV:real;

END; i:integer;

DV:=sqrt(DV); BEGIN

writeln(‘S=’,S,’ DV=’,DV)............

END. END.

Указание типов в разделе описаний помогает достичь логической ясности программы и является хорошим стилем программирования.




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


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


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



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




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