Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Массивы — структурированный тип данных В предыдущих уроках мы с вами рассматривали задачи, в которых использовалось небольшое количество данных. Для каждого мы создавали отдельную ячейку памяти с уникальным именем. Однако зачастую приходится работать с большим количеством однотипных данных. Им такие требуются отдельные ячейки памяти — это понятно и естественно (два литра воды не поместятся в один стакан). А вот указывать для каждой ячейки отдельное имя — неудобно. Как быть?
Один из методов решения такой: выделим для этих данных область последовательных ячеек памяти и назовем всю область общим именем. А для того, чтобы к каждой ячейке можно было обратиться, пронумеруем ячейки по порядку. Таким образом, для обращения к определенной ячейке нужно указать название всей конструкции и номер ячейки в ней.
Хранение однотипных данных в виде таблицы Массив — это совокупность однотипных данных, хранящихся в последовательных ячейках памяти и имеющих общее имя. Ячейки называются элементами массива. Все элементы пронумерованы по порядку, и этот номер называется индексом элемента массива. Все элементы массива имеют один и тот же тип. Сам массив при этом имеет имя — одно для всех элементов. Для обращения к конкретному элементу массива необходимо указать имя массива и (в квадратных скобках) индекс элемента. Простейший вид массива — одномерный массив (рис. 8.1). Рис. 8.1. Условное изображение одномерного массива в виде строки А — имя массива, числа в клетках таблицы — элементы массива. В этой записи:
Основные действия по работе с массивами Нам предстоит научиться выполнять ряд наиболее распространенных действий с массивами:
Описание массива на языке Паскаль <Имя массивам array [<тип индекса>] of<Tnn компонентов>; Здесь <тип компонентов> — это тип данных, который имеет каждый элемент массива, а <тип индекса> — границы изменения индекса. Например: Здесь тип индекса — интервальный, изменяется в интервале от 1 до 10, тип данных (элементов массива) — целый.
Заполнение массива случайными числами и вывод массива на экран Рассмотрим задачу, в которой требуется с помощью датчика случайных чисел создать одномерный массив и вывести его на экран. Блок-схема алгоритма показана на рис. 8.2. Рис. 8.2. Блок-схема алгоритма заполнения одномерного массива случайными числами и вывода массива на экран Пример 8.1.
В данном примере мы заполнили массив случайными числами от 0 до 99. Это обеспечила нам функция random(100). Пусть, например, нам требуются случайные числа в диапазоне -100...+100. Считаем, сколько различных чисел в этом диапазоне: 100 положительных, 100 отрицательных и ноль. Итого 201.
ЗАМЕЧАНИЕ К сожалению, в таком виде формула работать не будет — при запуске программа «вылетит» с сообщением об ошибке. Это от «излишнего ума», который проявляет здесь среда Паскаль. Дело в том, что Паскаль считает тип этого выражения по функции random. А она имеет
Задание 8.1. Задание 8.2.
ЗАПОМНИТЕ! Массив — это множество ячеек памяти. Поэтому любое действие с массивом заключаемся в том, чтобы перебрать все эти ячейки или, по крайней мере, какую-то их часть. Это значит, что любое действие с массивами должно содержать в себе цикл, в котором перебираются элементы массива. Если вы пишете программу с массивом и не написали цикла (for, while или repeat) — значит, вы ошиблись.
|
||
Библиотека программиста. 2009. |
|