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

Если Вы новичок в программировании и только начали изучать Паскаль, то Вы даже не имеете представления о том, что такое массивы и для чего они нужны. Когда я только начинал изучать

Паскаль, то я даже представить не мог, что же такое массив. У меня никак не укладывалось в голове, для чего он служит, хотя мне и пытались это «кое-как» объяснить. Сейчас же я постараюсь объяснить Вам, что же такое массивы и для чего они служат, на понятном языке, который поймёт даже неопытный программист.

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

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

Что же такое массивы в Pascal?

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

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

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

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

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

Напомню, элементы — это ящики (переменные), которые находятся в хранилище (массиве).

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

Нумерация в массиве строгая. В нём нельзя удалить какой-либо элемент. Можно просто обнулить его значение, но он всё равно будет существовать.

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

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

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

У массива тоже есть имя. Только записывается оно по тем же правилам, что и у переменных.

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

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

А теперь давайте перейдём непосредственно к самому программированию в Паскаль.

Массив описывается в том же разделе, что и переменные, а именно в разделе var.

Сначала записываем имя массива, а после двоеточия пишем обозначение того, что это массив, при помощи слова array, затем, желательно вплотную к слову array, в квадратных скобках указываем размерность массива (его индексы). Например так — [1..10] — То есть индексы элементов с первого, по 10. Всего будет 10 элементов в массиве. Затем, после, желательно тоже вплотную, указываем тип элементов массива при помощи частицы of и, через пробел, сам тип элемента массива.

Вот пример полной записи массива с именем mas:

mas: array[1..10]of integer;

Стоит заметить, что можно перечислять массивы одного типа через запятую:

mas, mas2, mas3: array[1..10]of integer;

Также можно сделать индексацию массива при помощи латинских букв:

mas: array['a'..'z']of integer;

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

Давайте разберём, как же всё таки обращаться к элементам массива в программе.

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

mas[1]:=0;

Мы присвоили первому элементу массива значение 0.

А теперь давайте присвоим 0 элементу массива с индексом ‘a’:

mas['a']:=0;

Теперь составим простенькую программу по заполнению массива цифрами от 0 до 9 и выводом их на экран:

var mas: array[1..10]of integer;
      i: integer;
begin
 for i:=0 to 9 do
  mas[i+1]:=i;
 for i:=1 to 10 do
  write(mas[i],' ');
end.

Давайте закрепим знания на практике.

Первое задание.

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

Второе задание.

Напишите программу, которая будет считывать n-ое кол-во элементов массива и выводить чётные элементы стоящие на нечётных местах.

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

Хотелось бы рассмотреть один момент:

Не стоит писать в комментариях, что в программе не хватает строки readln;, так как не все пользуются компилятором free или turbo Паскаль. Просто есть компилятор Pascal ABC, в котором данная строчка не имеет смысла. Советую всем начинающим скачать его с официального сайта.

Рейтинг
( Пока оценок нет )
Загрузка ...