2017-02-14

14. Одномерные массивы целых чисел

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

Видеоурок

 

Вопросы:

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

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

·       Инициализация массива.

·       Вывод массива.

 В прошлом году на уроках информатики мы работали с отдельными переменными двух численных типов. Вспомним их. Один вещественный тип real, который имеет следующий диапазон значений и занимает 8 байт оперативной памяти. А также один целочисленный тип integer, переменные которого могут принимать значения в диапазоне от -2147483648 до 2147483647 и занимают 4 байта оперативной памяти. Диапазоны значений и размерность оперативной памяти приведены для среды программирования Pascal ABC.

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

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

Прежде чем выполнять какие-то действия с массивом, необходимо объявить его в разделе описания переменных var. Вначале записывается имя массива, например a, затем, после двоеточия, следует служебное слово array, что в переводе с английского языка и означает «массив». Далее в квадратных скобках нам необходимо записать диапазон индексов для его элементов, например от первого до сотого. После чего нам необходимо указать тип элементов массива, для этого записывается служебное слово of, после чего следует тип элементов, целые числа, то есть integer.

Объявление массива целых чисел в разделе описания переменных

Если значения элементов массива известны заранее, и они не будут изменяться в процессе выполнения программы, то можно объявить его в разделе описания констант const. Это делается так же, как и в разделе описания переменных, но после указания типа следует знак «=», после которого в круглых скобках, через запятую, по порядку перечисляются значения элементов массива.

Важно помнить, что при объявлении массива выделяется некоторое количество оперативной памяти для его хранения. Например рассчитаем размер оперативной памяти, которая потребуется для хранения массива из 100 элементов типа integer. Так как переменная этого типа в Pascal ABC занимает 4 байта оперативной памяти, то для хранения 100 таких переменных требуется 400 байт. Столько оперативной памяти и потребуется для хранения заданного массива.

Рассмотрим некоторые операции с массивами. Чтобы можно было практически применять массивы, необходимо знать, как задать или ввести определённые значения их элементов.

Присваивание или ввод значения переменной или элемента массива называется инициализацией.

Для ввода массива нам необходимо знать, какое количество элементов требуется ввести. Объявим для этого отдельную целочисленную переменную, назовём её n. Также нам необходима переменная, со значением индекса элемента, с которым мы работаем в данный момент, назовём её i, так как её размер не будет превышать n, она тоже будет типа integer. Допустим, нам необходимо ввести последовательность из пяти целых чисел, для этого присвоим n значение 5.

Массивы вводятся поэлементно, в определённом порядке, например от первого к последнему. Здесь нам поможет цикл «для» или for. Запишем цикл для i от 1 до n. Далее между служебными словами begin и end запишем тело цикла. Можно просто считать значения элементов массива по одному, для этого в теле цикла достаточно одной команды считывания

i-того элемента массива read (a[i]).

Программа, принимающая на ввод массив из 5 элементов  

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

Изменённый цикл ввода массива

Запустим программу на выполнение. Как видим, программа принимает на ввод массив из пяти элементов.

Пример работы программы

Также массив можно инициализировать при помощи команды присваивания, тогда тело цикла будет содержать только одну команду: a[i]:= i. Иногда удобно присвоить элементам массива набор случайных значений. Для этого записывается команда randomize, а элементам присваивается значение random, после которого, в круглых скобках и через запятую, указываются максимальное допустимое значение, увеличенное на единицу, например сто, в этом случае программа будет заполнять массив случайными числами от нуля до девяноста девяти. Обратим внимание, что использование команды randomize в среде Pascal ABC не обязательно. Если же в других средах пропустить эту команду, то при каждом новом запуске программы массив будет заполняться одинаково.

Часто требуется вывести значения элементов массива на экран. Вывод, так же, как и ввод, осуществляется поэлементно. При этом можно, также как и для ввода, использовать цикл for. Если массив заполнен от 1 до n-ного элемента, то записывается цикл for i:=1 to n do, а в теле данного цикла будет команда вывода i-того элемента массива. Сделаем вывод через пробел.

Цикл вывода массива

Итак, мы научились инициализировать элементы массива и выводить их значения на экран. Напишем программу, которая будет принимать на ввод с клавиатуры массив из n целочисленных элементов, а потом будет заполнять его случайными числами от 1 до 50 и выводить на экран. Значение n вводится с клавиатуры и не превышает 70.

Для данной программы нам понадобится переменная n, которая будет хранить размерность массива, а также переменная i, которая будет хранить значения индексов элементов, а также сам массив a, и так как его размерность не выше 70, то укажем диапазон индексов элементов от 1 до 70.

Теперь запишем тело программы. Выведем на экран запрос на ввод числа n, считаем его с переходом на следующую строку. Затем необходимо ввести значения элементов массива. Это делается поэлементно, с помощью цикла for i:=1 to n do. Тело цикла будет содержать вывод поясняющего сообщения с запросом на ввод i-того элемента массива, а также команду его считывания с переходом на следующую строку.

Теперь так же поэлементно заполним данный массив случайными числами от единицы до пятидесяти. Для этого запишем цикл «for i:=1 to n do, который будет содержать команду присваивания i-тому элементу массива суммы 1 и случайного числа от 0 до 49.

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

Исходный код программы

Запустим программу на выполнение. Пусть массив будет из 4 чисел. А значениями его элементов будут соответственно: 10, 20, 30, 40. В ответ наша программа вывела на экран массив из четырёх случайных чисел, находящихся в диапазоне от единицы до пятидесяти. Программа работает верно.

Результат работы программы

Сегодня мы рассмотрели одномерные массивы целых чисел.

Важно запомнить:

·       Массив – это набор компонентов (или элементов массива), которые расположены в оперативной памяти непосредственно друг за другом.

·       Доступ к отдельному элементу массива можно получить по его порядковому номеру (или индексу).

·       Присваивание или ввод значения переменной или элемента массива называется инициализацией.

Мы научились:

·     объявлять массивы,

·     инициализировать элементы массивов,

·     выводить их значения на экран.

 


article

Авторизация
Логин:
Пароль:

Добро пожаловать,
гость сайта!

Статистика по сайту:

Сегодня сайт уже посетили 152 чел.

Количество всех статей на сайте: 464.

Количество online-тестов: 210.