Студопедия

КАТЕГОРИИ:


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

Работа с одномерными (линейными) массивами




Вопросы для проверки знаний.

Type

Инициализация массивов

Инициализацией массива называют присвоение начальных значений всем его элементам. Обычно инициализацию выполняют вначале работы программы для того, чтобы использовать значения элементов массива в производимых расчетах.

Простейшим случаем инициализации является присвоение всем элементам массива одинакового значения (в числовых массивах чаще всего – нулевого) путем непосредственной засылки в элементы необходимой величины.

Пример 1. Обнулить элементы двумерного вещественного массива a:array[1..5, 1..5]:

var a:array[1..5,1..5] of real;

i,j:integer;

for i:=1 to 5 do

for j:=1 to 5 do a[i,j]:=0;

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

Для решения подобной задачи для типов величин, занимающих один байт памяти используют процедуру FillChar(var Vr; NBytes: Word; Chr: Byte). Она предназначена для заполнения в переменной Vr первых ее NBytes байт значением Chr.

Пример 2. Обнулить все элементы одномерного символьного массива ch:array[1..20]:

FillChar(ch, 20, 0);

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

Пример 3. Необходимо сформировать одномерный вещественный массив a[1..6], у которого элементы равны, соответственно: 1.2, 4.5, -2.4, 5.7, -8.0, 10.5:

array_6 = array[1..6] of real;

const a:array_6 = (1.2, 4.5, -2.4, 5.7, -8.0, 10.5);

1. Какое действие называют инициализацией массива?

2. Назовите два возможных метода присвоения всем элементам массива одинакового значения?

3. Как выполнить инициализацию массива при помощи типизированных констант?

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

Описания линейных массивов даны в примерах 1 и 2. Ввод и вывод одномерного массива рассмотрены в примере 5. Методы инициализации даны выше. Рассмотрим решение характерных задач по линейным массивам.

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

Пример 1. Ввести с клавиатуры значения элементов (не превышающих по модулю 1000) целочисленного линейного массива A[1..10]. Определить в нем максимальный по модулю элемент с нечетным номером. Найденный элемент и его номер выдать на экран.

Решение. Обозначим искомый номер элемента через NMax, его значение – через MaxMod. При поиске оптимального по заданному признаку элемента вначале в качестве оптимального принимают самый первый элемент, удовлетворяющий всем требованиям (в примере – элемент с номером 1), а затем перебором всех подходящих элементов уточняют его. Смена текущего оптимального элемента на новый A[i] производится в том случае, когда его модуль больше, чем у текущего (abs(A[i])>abs(MaxMod)) и номер элемента нечетный ((i mod 2)=1).

var a: array[1..10] of integer; {описание массива}

i,MaxMod,NMax: integer; {описание вспомогательных переменных i, MaxMod и NMax }




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


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


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



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




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