Что такое регулярный тип данных

Что такое регулярный тип данных? Что такое массив?

Обсуждение вопроса:

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

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

Массив — переменная величина регулярного типа.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

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

Массивом в Паскале называют переменную величину регулярного типа.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

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

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

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

Источник

Что такое регулярный тип данных

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Массивы.

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

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

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

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

Описание массива.

Массивы можно описать 2-мя способами: через описание типа массива и простое описание:

Описание через тип:

Простое описание:

Общий вид описания массива

— правильный идентификатор;
ARRAY, OF— служебные слова (массив, из);
— список из одного или нескольких индексных типов, разделённых запятыми;
— любой тип Паскаля.

Если в форме описания массива задан один индекс, массив называется одномерным, если два индекса — двумерным, если n индексов — n-мерным. Одномерный массив соответствует понятию линейной таблицы (вектора), двумерный — понятию прямоугольной таблицы (матрицы).

Примеры описаний массивов разной размерности:

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

Индексированные элементы массива называются индексированными переменными и могут быть использованы так же, как и простые переменные. Например, они могут находиться в выражениях в качестве операндов, использоваться в операторах FOR, WHILE, REPEAT, CASE, входить в качестве параметров в операторы READ, READLN, WRITE, WRITELN; им можно присваивать любые значения, соответствующие их типу.

Заполнение массива

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

Заполнение одномерного массива:

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Заполнение двумерного массива (использование вложенного цикла):

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

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

Операции над массивами

Для работы с массивом как единым целым используется идентификатор массива без указания индекса в квадратных скобках. Массив может участвовать только в операциях отношения «равно», «не равно» и в операторе присвоения. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т.е. иметь одинаковые типы индексов и одинаковые типы компонентов. Например, если массивы описаны так

то применение к ним допустимых операций даст следующий результат:

A = BTrue, если значение каждого элемента массива А равно соответствующему значению элемента массива В;
A <> BTrue, если хотя бы одно значение элемента массива А не равно значению соответствующего элемента массива В;
A := BВсе значения элементов массива В присваиваются соответствующим элементам массива А. Значения элементов массива В остаются неизменны.

Если массивы описаны следующим образом

то к ним не применимы перечисленные выше операции (т.е. возникнет ошибка при попытке их использования).

Источник

Урок 20. Описание массива

Урок из серии: «Язык программирования Паскаль»

В предыдущем уроке мы ввели понятие структурированных данных.

Изучение данных структурированного типа начнем с регулярного типа данных — массивов.

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

Массив — структурированный тип данных, состоящий из фиксированного числа однотипных элементов, объединённых одним именем, где каждый элемент имеет свой номер (индекс).

Когда возникает необходимость использовать массивы?

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

Мы будем вынуждены ввести 30 имен переменных, что, естественно, очень неудобно. Как быть?

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

И так, массивы будем использовать тогда, когда нужно обработать большой объем однотипной информации, которую необходимо сохранить в памяти для последующей обработки.

Определим еще несколько понятий, связанных с массивами.

Элемент массива — отдельная переменная, входящая в массив.

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

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

Чтобы лучше понять, что такое размерность массива, сравним их с таблицами.

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

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

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

Переходим к изучению массивов.

Описание массива

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

При описании массива используется зарезервированное слово array (массив), указываются диапазон изменения для индексов и тип компонентов массива.

Способ 1. Описание массива с определением типа.

Способ 2. Описание массива без определения типа.

Двумерный массив описывается так же, как и одномерный. Различие состоит в том, что вы должны указать диапазон для двух индексов массива — положение каждого элемента массива A[i, j] определяется номером строки и номером столбца.

Например, описание двумерного массива натуральных чисел размера N x М может быть задано следующей строкой:

Вернемся к нашей задаче. У нас 30 целых чисел, выделим для них 30 ячеек, объединим их общим именем А.

AИмя А — это общее имя для всех элементов. Элементы массива — это числа, их 30
125
264
327
2953
3089

Опишем одномерный массив из 30 целых чисел для этой задачи следующим образом:

Напомним, что раздел типов начинается со служебного слова type, после этого идет имя нового типа и его описание. Между именем типа и его описанием ставится знак «равно» (в разделе переменных между именем переменной и её описанием ставится двоеточие).

myarray — это имя нового типа;

array — служебное слово (в переводе с английского означает «массив», «набор»);

[1..30] — в квадратных скобках указывается номер первого элемента, затем, после двух точек, номер последнего элемента массива, в этом примере первый элемент имеет номер 1, а последний — номер 30;

Of — служебное слово (в переводе с английского — «из»);

Integer — тип всех элементов массива.

Так как каждый элемент имеет свой номер, то к каждому элементу можно обращаться непосредственно. Для того чтобы получить доступ к i-му элементу этого массива, необходимо записать: A[i] — сначала имя массива, а в квадратных скобках указывается номер элемента, к которому обращаемся, — i.

Например, обращаемся к первому элементу массива А — А[1], а к пятому — А[5].

Тот же самый массив может быть задан и при определении соответствующей переменной:

Особенность языка Паскаль

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

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

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

Источник

Что такое регулярный тип данных

Урок 48. Массивы. Описание массивов на Паскале. Правила организации ввода и вывода значений массива

Массивы

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Массивом в Паскале называют переменную величину регулярного типа.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхРегулярный тип — это структурный тип данных, представляющих собой совокупность пронумерованных однотипных величин.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхОписание массивов. Переменная регулярного типа описывается в разделе описания переменных в следующей форме:

Var : array[ ] of

В данном случае квадратные скобки — это обязательные символы, которые называются индексными скобками. Чаще всего в качестве типа индекса употребляется ограниченный тип. Например, массив вещественных чисел, хранящий 12 значений среднемесячных температур в течение года, опишется так:

Var Т: array[1..12] of Real;

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

Элемент массива идентифицируется в виде переменной с индексами:

Тип индекса может быть любым скалярным порядковым типом, кроме Integer. Например, в программе могут присутствовать следующие описания:

Var cod: array[Char] of 1..100; L: array[Boolean] of Char;

В такой программе допустимы следующие обозначения элементов массивов:

cod[‘x’]; Lftrue]; cod[chr(65) ] ; L[a>0].

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

Type Index = (А, В, С, D) ;

Var class_10: array[Index] of Byte;

И если, например, элемент class 10 [А] равен 35, то это означает, что в 10А классе 35 человек. Такое индексирование улучшает наглядность программы.

Часто структурному типу присваивается имя в разделе типов, которое затем используется в разделе описания переменных.

Type Masl = array [1..100] of Integer;

Mas2 = array [-10.. 10] of Char;

Var Num: Masl; Sim: Mas2;

До сих пор речь шла об одномерных массивах, в которых типы элементов скалярные.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхМногомерный массив в Паскале трактуется как одномерный массив, тип элементов которого также является массивом (массив массивов).

В качестве примера рассмотрим таблицу с информацией о среднемесячных температурах за 10 лет, например с 2001 по 2010 год. Очевидно, для этого удобна прямоугольная (двумерная) таблица, в которой столбцы соответствуют месяцам, а строки — годам.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Для обработки такой таблицы в программе следует описать массив:

Var Тabl: array[2001..2010] of array[1.. 12] of Real;

Вот примеры обозначения некоторых элементов этого массива:

Однако чаще употребляется другая, эквивалентная форма обозначения элементов двумерного массива:

Переменная ТаЫ [2 001] обозначает всю первую строку таблицы, т. е. весь массив температур за 2001 год. Другим эквивалентным вариантом приведенному выше описанию является следующее:

Туре Month = array [1..12] of Real;

Year = array [2001..2010] of Month;

Var Tabl: Year;

Наиболее краткий вариант описания данного массива такой:

Var Tabl: array [2001.. 2010, 1..12] of Real;

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

Var A: array[1..10, 1..20, 1..30] of Integer;

Это массив, состоящий из 10 • 20 • 30 = 6000 целых чисел и занимающий в памяти 6000 • 2 = 12 000 байтов. В Паскале нет ограничения сверху на размерность массива. Однако в каждой конкретной реализации Паскаля ограничивается объем памяти, выделяемый под массивы. В Турбо Паскале это ограничение равно 64 килобайтам.

По аналогии с математикой одномерные числовые массивы часто называют векторами, а двумерные — матрицами.

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

Const Imax = 10; Jmax = 20;

Var Mas: array[1..Imax, l..Jmax] of Integer;

Теперь для изменения размеров массива Mas и всех операторов программы, связанных с этими размерами, достаточно отредактировать только одну строку в программе — раздел констант.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхДействия над массивом как единым целым. Такие действия допустимы лишь в двух случаях:

• присваивание значений одного массива другому;
• применение к массивам операций отношения «равно», «не равно».

В обоих случаях массивы должны иметь одинаковые типы (тип индексов и тип элементов).

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхПример 1

Var Р, Q: array [1.. 5, 1..10] of Real;

При выполнении операции присваивания

все элементы массива Р станут равными соответствующим элементам массива Q.

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхПример 2

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

Type mas = array [1..12] of Real;

Var Таbl: array [2001.. 2010] of mas;

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

Таbl [2009] : =Таbl [2001]

А если нужно поменять местами значения этих строк, то это делается через третью переменную того же типа:

Р:=Таbl [2009] ; Таbl [2009] : =Таbl [2001 ] ; Таbl [2001] :=Р; где Р описана так:

Var Р: mas;

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхВвод и вывод массивов производятся покомпонентно. Вот примеры ввода с клавиатуры значений одномерного и двумерного массивов:

For I: =1 То 12 Do

For I:=l To Imax Do

For J:=l To Jmax Do

Здесь каждое следующее значение будет вводиться с новой строки. Для построчного ввода используется оператор Read.

Аналогично в цикле по индексной переменной организуется вывод значений массива на экран. Например:

For I: =1 То 12 Do Write (Т [ I ] : 8 : 4 ) ;

Напомним, что модификатор формата 8:4 означает вывод числа в формате с фиксированной точкой в 8 позициях, из которых в 4 последних позициях размещается дробная часть.

Следующий фрагмент программы организует построчный вывод матрицы на экран:

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

После вывода очередной строки матрицы оператор Writeln без параметров переведет курсор в начало новой строки. Следует заметить, что в последнем примере матрица на экране будет получена в естественной форме прямоугольной таблицы, если Jmax не превышает 12 (подумайте почему).

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Вопросы и задания

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

2. Какие типы допустимы для индексов массива?

3. Как в Паскале трактуется многомерный массив?

4. Какие действия можно выполнять над массивом как единым целым?

5. Дан вектор , i = 1, …, 50. Составьте программу ввода значений и вычисления длины этого вектора по следующей формуле:

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных

Источник

Массивы

Что такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхЧто такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данныхЧто такое регулярный тип данных. Смотреть фото Что такое регулярный тип данных. Смотреть картинку Что такое регулярный тип данных. Картинка про Что такое регулярный тип данных. Фото Что такое регулярный тип данных
Сайт:Электронные курсы ТПУ
Курс:Информационные технологии 1
Книга:Массивы
Напечатано::Гость
Дата:Понедельник, 13 Декабрь 2021, 10:35

Оглавление

Массивы

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

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

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

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

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

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

type =array[ ] of ;

Далее, в перечне переменных указывается имя массива и через двоеточие указывается имя нового типа данных:

Массив может быть описан и без представления типа в разделе описания типов данных:

var :array[ ] of ;

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

Чаще всего в качестве типа индекса используется интервальный целый тип.

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

Линейный (одномерный) массив – массив, у которого в описании задан только один индекс; если два индекса, то это двумерный массив и т. д. Одномерные массивы часто называют векторами, т. е. они представляют собой конечную последовательность пронумерованных элементов. Пример описания одномерного массива:

type vec=array[1..5] of real;

var x:vec;

var x: array[1..5] of real;

Оба из вариантов описывают одномерный массив x, состоящий из 5 вещественных элементов.

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

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

Алгоритм решения задач с использованием массивов:

1.1. Заполнение массива

Рассмотрим типичные варианты заполнения массива х, описанного выше.

Заполнение всех элементов массива числом 1 :

for i:=1 to 5 do x[i]:=1;

Заполнение всех элементов массива случайными числами из диапазона 0–9 :

for i:=1 to 5 do x[i]:=random(9);

Заполнение всех элементов массива при помощи ввода с клавиатуры:

for i:=1 to 5 do

begin

readln(x[i]);

1.2. Вывод массива на экран

Вывод массива на экран в одну строку без пояснений:

for i:=1 to 5 do writeln(x[i]:6:1);

Вывод массива на экран в столбец с пояснениями. Этот вариант гораздо нагляднее. Старайтесь использовать его:

for i:=1 to 5 do writeln(‘x[’,i,‘]=’,x[i]:6:1);

1.3. Работа с массивами

Пример 6.1. Определить самую высокую температуру и самый теплый день в мае.

program massiv;

uses crt;

var t:array[1..31] of integer;

i,max,n:integer;

begin

Clrscr;

for i:=1 to 31 do

begin

t[i]:=random(20);

write(t[i],‘ ’);

writeln;

max:=t[1]; n:=1;

for i:=2 to 31 do

begin

if t[i]>max then

begin max:=t[i]; n:=i; end;

writeln(‘t-макс.= ’,max,‘ в ’,n, ‘день’);

2. Двумерные массивы

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

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

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

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

type matr=array [1..5,1..6] of integer;

var a:matr;

Доступ к каждому отдельному элементу осуществляется обращением к имени массива с указанием индексов (первый индекс – номер строки, второй индекс – номер столбца). Все действия над элементами двумерного массива идентичны действиям над элементами линейного массива. Только для инициализации двумерного массива используется конструкция, когда один цикл for вложен в другой. Например:

for i:=1 to 5 do

for j:=1 to 6 do

a[i,j]:=0;

При организации вложенных (сложных) циклов необходимо учитывать:

2.1. Заполнение матрицы

Рассмотрим типичные варианты заполнения матрицы a, описанной выше.

Заполнение всех элементов матрицы случайными числами из диапазона 1 – 9 :

for i:=1 to 5 do

for j:=1 to 6 do

a[i,j]:=random(9);

Заполнение всех элементов матрицы при помощи ввода с клавиатуры:

for i:=1 to 5 do

for j:=1 to 6 do

begin

readln(a[i,j]);

2.2. Вывод матрицы на экран

Вывести на экран матрицу 5 ´ 6 можно следующим образом:

for i:=1 to 5 do

begin

for j:=1 to 6 do

2.3. Работа с матрицами

Работа с матрицами осуществляется также поэлементно.

Пример 6.2. Сформировать таблицу Пифагора (таблица умножения) и вывести ее на экран.

program pifagor;

uses crt;

var p:array [1..9,1..9] of integer;

i,j:integer;

begin

Clrscr;

for i:=1 to 9 do

for j:=1 to 9 do

p[i,j]:=i*j;

for i:=1 to 9 do

begin

for j:=1 to 9 do

write(p[i,j]:4);

writeln;

program massiv;

uses crt;

var b:array[1..10,1..10] of integer;

i,j,s:integer;

begin

Clrscr;

for i:=1 to 10 do

begin

for j:= 1 to 10 do

begin

b[i,j]:=random(20)-10;

write(b[i,j]:4);

writeln;

for i:=1 to 10 do

s:=s*b[i,11-i];

writeln(‘Произведение = ’,s);

Пример 6.4. Ввести с клавиатуры матрицу В(5, 5) и поменять местами первый и последний столбец.

program mest;

var b:array[1..5,1..5] of integer;

i,j,s:integer;

begin

for i:=1 to 5 do

for j:=1 to 5 do

begin

readln(b[i,j]);

for i:=1 to 5 do

begin

for j:=1 to 5 do

write(b[i,j]:4);

writeln;

for i:=1 to 5 do

begin

s:=b[i,1]; b[i,1]:=b[i,5]; b[i,5]:=s;

writeln;

writeln(‘Изменённая матрица’);

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *