mozok.click » Інформатика » Одномерный массив данных
Інформація про новину
  • Переглядів: 1612
  • Автор: admin
  • Дата: 2-10-2017, 17:17
2-10-2017, 17:17

Одномерный массив данных

Категорія: Інформатика

Существует много прикладных задач, решение которых требует обработки большого количества однотипных данных, например когда речь идет о хранении и анализе значений температуры воздуха в течение года. Для хранения и обработки совокупности однотипных данных удобно использовать такой структурированный тип данных, как массив.

Понятие одномерного массива

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

Различают статические и динамические массивы. Мы будем рассматривать статические массивы, размеры которых являются фиксированными, то есть не изменяются в ходе выполнения программы.

Одномерный массив — это массив, доступ к элементам которого определяется с помощью одного индекса.

Для хранения значений среднесуточной температуры воздуха, полученных в течение года, вместо создания отдельных переменных t1, t2, ..., t365 можно создать один массив с именем t. Общее имя t означает, что эти данные относятся к одному массиву, а различить их можно по индексу (номеру): t[1], t[2], t[365] (см. таблицу).

Среднесуточная температура воздуха в течение года



В таблице значений среднесуточной температуры t[1] = -10, t[365] = -9.6.

Описание переменных типа одномерный массив

Описать переменную типа одномерный массив можно двумя способами:

1) описать переменную типа массив, не вводя новый тип:

var <список переменных>: аггау[диапазон индексов] of <тип элементов>;

2) в разделе type программного кода описать новый тип данных, и в разделе var описать переменную этого типа:

Количество элементов описанного таким образом массива определяется при его описании и в дальнейшем в программе не меняется.

Описать массив Numbers из 10 целых чисел:

Нумерация элементов массива не обязательно должна начинаться с единицы.

Описать массив Numbers из 10 символов, нумерация которых начинается с -5:

Обращение к элементу массива по индексу, выходящему за пределы диапазона, указанного в описании, является недопустимым.

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


Задание значений элементов массива

Рассмотрим различные способы заполнения массива. В среде Lazarus можно присвоить значение одного массива другому того же типа.

После выполнения такой операции сразу все элементы массива Numbersl получат значения соответствующих им по индексам элементов массива Numbers2.

Присвоить массиву Numbers значение массива CNumbers того же типа:

Обращение к отдельному элементу массива осуществляется по его индексу.

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

Пусть массив А: array[1..4] of Integer заполнен числами (1, 2, 3, 4), а массив В: array[1..3] of Integer — числами (5, 6, 7). После выполнения операторов присваивания

Обработка массивов выполняется поэлементно. Для последовательной обработки элементов массива необходимо организовать цикл, в теле которого выполняются действия над текущим элементом массива. Блок-схема обработки элементов массива с использованием цикла For приведена на рис. 32.2.

Заполнить массив А[1..5] случайными целыми числами из промежутка [0; 99]:


Ввод значений элементов массива с клавиатуры

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

Ввести или вывести массив как единое целое нельзя.

Ввести значения элементов массива целых чисел с клавиатуры с помощью функции InputBox (рис. 32.3):

Вывод значений элементов массива

Одним из способов вывода элементов одномерного массива является добавление значений в поле списка ListBox. Список ListBox является массивом строк типа String, доступ к которым обеспечивает свойство Items этого компонента.

Вывести в поле списка ListBoxI значения элементов массива вещественных чисел (рис. 32.4):

Вопросы для самопроверки

1. Дайте определение массива как структурированного типа данных.

2. Опишите массивы: а) А из трех вещественных чисел; б) В из десяти символов.

3. Как организовать заполнение массива случайными числами?

4. Запишите оператор присваивания, который выполняет следующее действие: а) первому элементу массива С присвоить значение суммы третьего и пятого элементов; б) шестому элементу массива С присвоить значение удвоенного произведения первого и второго элементов.

5. Как ввести значения элементов массива с клавиатуры?

6. Создайте программу для заполнения массива Numbers[1..10] числами 1, 4, 9, ..., 100 и вывода значений элементов массива в поле ListBox.

Упражнение 32

Дана последовательность из N целых чисел (N < 100). Определить количество четных чисел, которые имеют четные индексы.

1) Создайте новый проект. Измените значение свойства Caption формы, разместите на форме компоненты Edit, Button, Label, ListBox и настройте их свойства в соответствии с рисунком.

2) Для хранения элементов используем массив. Поскольку количество элементов последовательности N < 100, опишите массив:

Posl: array[1..100] of Integer;

Опишите глобальные переменные: N — количество элементов последовательности; K — искомое количество четных чисел, имеющих четные индексы; i — индекс текущего элемента массива.

3) Создайте процедуру обработки события onclick для кнопки Заполнить массив. Запишите операторы для ввода значения N и заполнения массива случайными числами:

4) Создайте процедуру обработки события onclick для кнопки Вычислить К. В цикле перебираем элементы массива Posl; если Posl[i] соответствует условию, увеличиваем значение K на 1:

Проверьте работу программы для разных значений N. Объясните результаты работы программы, приведенные на рисунке.

5) Измените программный код так, чтобы после щелчка командной кнопки Вычислить К в список ListBox1 выводились значения тех элементов массива, которые имеют нечетные индексы (Posl[1], Posl[3], Posl[5], ...).

6) Сохраните проект в папке Упражнение 32. Завершите работу за компьютером.

Компьютерное тестирование

Выполните тестовое задание 32 с автоматической проверкой на сайте interactive.ranok.com.ua.

 

Это материал из учебника Информатика 9 класс Бондаренко

 






^