Студопедия

КАТЕГОРИИ:


Архитектура-(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 <Имя типа>=Array [<Диапазон индексов>] Of <Тип элементов>;

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

Описать массив можно и сразу (без предварительного описания типа) в разделе описания переменных:

Var <имя массива>: Array [<Диапазон индексов>] Of <Тип элементов>;

Примеры описания массивов:

Var

A, B: Array [1..20] Of Integer;

N: Array [1..40] Of Real;

Теперь переменные A, B представляют собой массивы из 20 целочисленных чисел; массив N – из 40 вещественных элементов.

Единственным действием, которое возможно произвести с массивом целиком – присваивание. Для данного примера описания впоследствии допустима следующая запись:

B:=A;

Однако присваивать можно только массивы одинаковых типов.

Никаких других операций с массивами целиком произвести невозможно, но с элементами массивов можно работать точно так же, как с простыми переменными соответствующего типа. Обращение к отдельному элементу массива производится при помощи указания имени всего массива и в квадратных скобках – индекса конкретного элемента. Например: N[10] – элемент массива N с индексом 10.

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

Ввод массива:

а) С клавиатуры

For I:=1 To 20 Do

Read (a[i]);

б) Автоматическое формирование массива

For I:=1 To 20 Do

a[i]:= random (50)-25;

Здесь был использован генератор случайных чисел random. Рассмотрим его подробнее.

Для формирования значения целого типа используется random с параметром, например random (50), который будет формировать случайным образом число из диапазона от 0 до числа, указанного в скобках минус единица, т. е. до 49. Для формирования не только положительных, но и отрицательных значений из полученного результата достаточно вычесть какое-либо число. Например, random (50) - 25 – будет формировать целое число в диапазоне от -25 до 24.

Для формирования значения вещественного типа используется random без параметра. В этом случае формируется число в диапазоне от 0 до 1. Для увеличения значения числа можно домножить полученное на 10, 100 и т. д. Для получения отрицательных значений используется тот же прием, что и для целых чисел. Пример, random*100-50;.

Вывод массива:

а) В строку

For I:=1 to 20 Do

Write(A[I]:5)

Формат вывода (:5) необходим в данном случае для того, чтобы элементы массива не соединились в одно число и между ними были пробелы;

б) В столбец

For I:=1 to 20 Do

Writeln(A[I])

Указание формата вывода здесь не обязательно. При его указании столбец будет сдвигаться вправо по экрану.

Пример: сформировать массив случайным образом из 20 элементов в диапазоне от -10 до 10 и вывести его в строку.

Program M1;

Var

A: Array [1..20] Of Integer;

I: Integer;

Begin

Randomize;

For I:=1 To 20 Do

a[i]:= random (11)-10;

writeln(¢Массив А¢);

For I:=1 to 20 Do

Write(A[I]:5)

End.




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


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


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



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




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