Если Вы новичок в программировании и только начали изучать Паскаль, то Вы даже не имеете представления о том, что такое массивы и для чего они нужны. Когда я только начинал изучать
Паскаль, то я даже представить не мог, что же такое массив. У меня никак не укладывалось в голове, для чего он служит, хотя мне и пытались это «кое-как» объяснить. Сейчас же я постараюсь объяснить Вам, что же такое массивы и для чего они служат, на понятном языке, который поймёт даже неопытный программист.
Во многих книжках по программированию пишут, что массив — это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Для многих «новичков» это что-то заумное, потому как они не могут осмыслить эту информацию и в голове у них получается каша. Можно сделать один вывод — книжки для продвинутых программистов, для всего остального существуют сайты наподобие нашего.
Что же такое массивы в 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, в котором данная строчка не имеет смысла. Советую всем начинающим скачать его с официального сайта.