Массив в "Паскале". Программы на массивы в "Паскале"
С каждым годом интерес к программированию возрастает. И если в специализирующихся на написании программ институтах ставку делают на такой язык программирования, как C++, то в школах и техникумах студенты знакомятся с "Паскалем". И уже на базе этого языка начинают постижение программирования посредством использования программного обеспечения Delphi. Следует сразу отметить, что данные языки программирования предоставляют огромное пространство для проявления своей фантазии. И если с помощью языка "Паскаль" можно ознакомиться с базовыми понятиями программирования, то на Delphi уже можно написать полноценную программу. И достаточно важное место в написании программ порой занимает решение массивов в "Паскале".
Наличие большого числа самых разных переменных
В языке программирования достаточно много разнообразных переменных, для которых характерно наличие всего лишь одного значения. Они способны хранить в себе одну величину, обладающую определенным типом. В качестве исключения выступают строковые переменные. Они является совокупностью тех данных, для которых характерен символьный тип. Но и такие переменные обычно рассматриваются с позиции отдельной величины.
Ни для кого не является секретом, что с помощью компьютера можно значительно сократить время на выполнение определенной работы, связанной с большими объемами данных. Но как при использовании только тех переменных, которые обладают известными для человека типами, можно сохранять результаты работы в памяти, а также обрабатывать те данные, которые содержат в себе большое количество строк? Задачи такие встречаются довольно часто в любой сфере деятельности.
Естественно, всегда можно ввести такое число переменных, которое необходимо для выполнения поставленных целей. Также можно для них определить некоторые значения. Но и код программы от этого только увеличится. Сложно читать тот код, который имеет большое количество строк. Тем более когда необходимо найти ошибки.
Соответственно, программисты задумались над таким вопросом. Именно поэтому в тех языках, которые были разработаны до настоящего времени, имеются такие переменные, которые предоставляют возможность сохранять огромное количество данных в себе. Массив в "Паскале" многое изменил в подходе к программированию. Поэтому он и считается важной переменной в языке программирования.
Использование массивов способно значительно сократить величину программного кода
Под этим термином скрывается упорядоченная последовательность данных, для которых характерен один тип. Кроме того, все эти данные получают одно имя. Следует также отметить, что под данное определение могут подойти многие объекты реального мира: словари, мультфильмы и многое другое. Однако наиболее просто массив в "Паскале" представить в виде своеобразной таблицы. В каждой отдельной ячейке располагается одна переменная. С помощью координат можно определить то положение переменной, которое она займет в общей таблице.
Что под собой подразумевает одномерный массив?
Самой простой считается та таблица, которая является линейной. В этом массиве для того, чтобы определить местоположение параметра, достаточно указать только одно число. Более сложные массивы формируются на их основе.
Для того чтобы описать одномерные массивы в "Паскале", достаточно просто ввести следующий код: Type <Наименование типа> Array[<Диапазон чисел>] of<Тип элемента>.
В качестве чисел выступают те переменные, которые могут обладать порядковым типом. Указывая диапазон, стоит понимать, что начальное число не может быть выше конечного. Тип, которым обладают элементы массива, может быть абсолютно любым – либо стандартным, либо уже ранее описанным. Выбор будет зависеть от необходимости решения конкретной задачи.
Как происходит описание линейного массива?
Есть возможность сразу описать одномерные массивы в "Паскале". Это надо сделать в специальном разделе, который необходим именно для этой процедуры. Потребуется ввести следующий код: Var<Переменная>: Array[<Диапазон чисел>] Of <Тип выбранного элемента>.
Для того чтобы понять, как можно описать массив в "Паскале", следует ввести следующий код:
- Var
- S,VV: Array[5..50] Of Real;
- K: Array[‘C’.. ‘R’] Of Integer;
- Z: Array [-10..10] Of Word;
- E: Array [3..30] Of Real.
В этом примере переменные S ,VV и T являются массивом из тех чисел, которые являются вещественными. Под переменной К скрывается символьный тип и те элементы. Которые относятся у целочисленными. В массиве Z хранятся числа, тип у которых Word.
Среди всех действий, которые можно использовать при работе с массивом, можно выделить присваивание. Ему может подвергаться вся таблица целиком. К примеру, S:=VV. Но стоит понимать, что операции присваивания можно подвергать только тот массив в "Паскале", который обладает определенным типом.
Более нет операций, которым можно подвергать сразу весь массив. Однако можно работать с элементами по такому же принципу, как и с другими простыми числами, обладающими определенным типом. Для того чтобы обратиться к отдельному параметру, надо указать наименование массива. Посредством использования квадратных скобок надо определить тот индекс, который характерен для нужного элемента. К примеру: К[12].
Основные отличия массивов от других переменных
Базовым отличием компонентов таблицы от простых переменных можно считать то, что в скобках есть возможность поставить не только значение индекса, но и такое выражение, которое сможет привести к нужному значению. Пример косвенной адресации может быть следующим: V[K]. Переменная K при этом принимает какое-то определенное значение. Из этого следует, что можно воспользоваться циклом при заполнении, обработке и печати массива.
Такая форма организации может встречаться в случае строковых переменных, которые достаточно близки по своим свойствам массивам, тип у которых Char. Но есть и отличия. Они следующие:
- Строковые переменные всегда можно ввести с клавиатуры и напечатать на экране.
- Строковые переменные по своей длине ограничены. Можно ввести максимум 255 символов. Критическим объемом массива считается 64 кб.
Посредством применения каких методов можно вывести данные массива на экран?
Следует уделить внимание способу вывода содержимого массива на дисплей. Их существует несколько.
- Writeln (A[1], A[2], A[3]). Такой пример, хоть и примитивный, способен показать, как можно обратиться непосредственно к каждому отдельному элементу, присущему таблице. Однако некоторые преимущества, которыми обладают массивы в языке "Паскаль" перед простыми переменными, здесь не видны.
- Program A1;
Var B : Array [1..10] Of Integer;
K : Integer;
Begin
For K:=1 To 10 Do {Эта команда организует цикл с параметром }
Readln(A[K]); {Происходит ввод A[I] посредством использования клавиатуры }
For K:=10 Downto 1 Do {Происходит распечатка таблицы в обратном порядке}
Write(A[K],'VVV')
End.
Подобный код программы на массивы в "Паскале" демонстрирует, как можно с помощью клавиатуры ввести 10 чисел, распечатать их, переставив значения в обратном порядке. Если эту же программу переписать с использованием большого числа переменных вместо массива, то код будет значительно увеличен. А это в значительной степени затрудняет процесс чтения программы.
Увеличение возможностей за счет использования массивов
Также можно заполнять таблицы теми значениями, которые равны квадрату индексов элементов. Есть также возможность составить такой массив строк в "Паскале", который позволит, чтобы все числа были введены автоматически. Как вы видите, использования массива значительно увеличивают возможности программного языка "Паскаль".
Обработка линейных массивов очень часто встречается в разнообразных задачах. Поэтому нет ничего странного в том, что их изучают в институтах и школах. К тому же те возможности, которые несут в себе массивы, достаточно обширны.
Что скрывается под двумерными массивами?
Можно представить себе такую таблицу, которая состоит сразу из нескольких строк. В каждой отдельно взятой строке имеется несколько ячеек. В такой ситуации, для того чтобы точно определить положение ячеек, необходимо отметить не один индекс, как это было в случае с линейными массивами, а два – номера, которые характерны для строки и столбца. Подобным представлением характеризуются двумерные массивы в "Паскале".
Как произвести описание таблиц подобного рода?
Та структура данных, которая встречается в языке "Паскаль" для того, чтобы хранить значения такой таблицы, носит название двумерный массив. Описание подобного массива возможно сразу с помощью двух способов.
- Var B: Array[1..15] Of Array [1..30] Of Integer;
- Var B: Array [1..15, 1..30] Of Integer.
Во всех этих случаях описывается двумерный массив, который имеет 15 строк и 30 столбцов. Те описания, которые были приведены выше, абсолютно равнозначны. Чтобы начать работать с каким-то одним из элементов, необходимо выделить два индекса. К примеру, A[6][5] либо A[6,5].
Вывод на экран будет практически таким же, как и в случае с одномерным массивом. Необходимо только указывать два индекса. Во всем остальном отличий как таковых не имеется, поэтому и говорить об этом долго не требуется.
Первый способ, с помощью которого можно произвести сортировку
Иногда возникает необходимость в том, чтобы сортировать данные. Для этого в языке имеются соответствующие команды. Существуют два алгоритма, по которым может быть произведена сортировка массива в "Паскале". Смысл метода прямого выбора кроется в том, что посредством вложенности цикла абсолютно каждая переменная таблицы будет сравниваться с другими значениями. Другими словами, если есть массив из 15 чисел, то сначала 1 число пройдет процедуру сравнения с другими числами. Это будет происходить до того момента, пока, к примеру, не будет найден тот элемент, который больше первого числа. Впоследствии сравнение будет проходить именно эта цифра. Так будет повторяться до того момента, пока не будет найден самый большой элемент из всех предложенных. Этот способ достаточно прост для тех программистов, которые только начали работать в языке.
Второй метод сортировки массивов
Второй способ – пузырьковый. Сущность этой методики кроется в том, что происходит сравнение соседних элементов парами. Например, 1 и 2, 2 и 3, 3 и 4, и т. д. В том случае, если найденное значение будет полностью соответствовать условиям сортировки, то оно будет перемещено в конец всего массива, т. е. всплывет как «пузырь». Данный алгоритм наиболее сложен для запоминания. Однако зазубривать его не надо. Главное, понять всю структуру кода. И только в таком случае можно претендовать на достижение больших высот в программировании.
Заключение
Надеемся, что вы поняли, что собой представляют массивы, а также то, каким образом можно произвести сортировку, чтобы найти определенное значение или добиться какой-то определенной цели. Если вами был выбран для решения какой-то определенной задачи "Паскаль", массивы в котором занимают важное место, то к их изучению потребуется подойти основательно. На это оказывает влияние такой фактор, как присутствие в языке достаточно большого количества переменных, которые используются в определенных ситуациях для упрощения всего кода в целом. Массивы по праву считаются основными величинами, изучение которых должно происходить в обязательном порядке.