Одномерные массивы языка Pascal: описание, инициализация, сканирование всех элементов

Здравствуйте! Вас приветствует Александр Георгиевич – профессиональный репетитор по информатике, математике и программированию, а также автор данного образовательного веб-ресурса. Если у вас есть недопонимания в том, как устроены одномерные массивы в языке программирования Паскаль, как правильно производить инициализацию элементов массива, как реализовать сканирование всех элементов одномерных массивов, то срочно записывайтесь ко мне на индивидуальные уроки по информатике и ИКТ. Одномерные массивы – тема чрезвычайно объемная, глубокая и интересная. На уроке мы решим все интересующие вас задачи, связанные с обработкой одномерных массивов Паскаль.

Инициализация одномерных массивов Паскаль

Давайте сходу вспомним определение одномерного массива.

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

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

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

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

{раздел объявления переменных}
var
{описываем одномерный массив, состоящий из 10 элементов типа данных Integer}
    v : array[1..10] of integer;
{переменная-счетчик, которая будет выступать в качестве индекса при заполнении элементов массива}    
    i : integer;
{начало главного блока программы}    
begin
{выводим диалог пользователю о предстоящем вводе элементов одномерного массива}
    writeln('Введите 10 целочисленных элементов массива, нажимая после каждого ввода Enter: ');
{запускаем цикл и 10 раз просим ввести пользователя целое число}    
    for i := 1 to 10 do
        readln(v[i]);            {считываем введенное число в соответствующий элемент массива}
{конец программы на языке Паскаль}        
end.

2 способ. Инициализация одномерных массивов Паскаль при помощи генератора случайных чисел. Данный способ очень популярен, когда требуется много раз подряд протестировать правильность написания какой-либо программы, содержащей обработку одномерных массивов. Например, мы описали одномерный массив Pascal, состоящий из 8 элементов целочисленного типа данных (допустим, Word). Затем запускаем арифметический цикл for-to-do, который сканирует все элементы массива от первого до последнего и случайным образом присваивает число в диапазоне от 1 до 99. Рассмотрим фрагмент программы на языке Pascal:

{раздел объявления переменных}
var
{описываем одномерный массив, состоящий из 8 элементов типа данных Word}
    v : array[1..8] of word;
{переменная-счетчик, которая будет выступать в качестве индекса при заполнении элементов массива}    
    i : integer;
{начало главного блока программы}    
begin
{запускаем цикл и 8 раз сам Паскаль генерирует случайное число и присваивает его в нужный элемент исходного массива}
    for i := 1 to 8 do
        v[i] := random(99) + 1;        {генерируем случайное число в диапазоне от 1 до 99}
{конец программы на языке Паскаль}        
end.

Что такое сканирование одномерных массивов Pascal?

Под сканированием следует понимать последовательный просмотр всех элементов одномерного массива Pascal. Как правило, сканирование производится от элемента с индексом 1, но не всегда. Многое зависит от алгоритма, использующегося в решении.

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

Условие задачи. Дан одномерный массив, состоящий из 12 элементов типа данных shortInt. Значения элементов заполняются случайным образом и находятся в диапазоне от -50 до +50. Найти сумму значений элементов заданного одномерного массива.

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

  1. Когда производится инициализация элементов исходного массива и вывод текущего значения на экран пользователя.

  2. Когда производится подсчет суммы значений всех элементов исходного массива.

{раздел объявления переменных}
var
{описываем одномерный массив, состоящий из 12 элементов типа данных shortInt}
    v : array[1..12] of shortInt;
{переменная-счетчик, которая будет постоянно использоваться как индекс элемента исходного массива}    
    i : shortInt;
{переменная, которая отвечает за сумму всех элементов исходного массива}    
    s : integer;
{начало главного блока программы}    
begin
{запускаем цикл, в котором 12 раз генерируется случайное число и сразу печатается на экран}
    for i := 1 to 12 do
    begin
        v[i] := -50 + random(101);        {генерируем случайное число от -50 до +50}
        write(v[i]:4);                    {печатаем текущее значение элемента массива на экран}
    end;
{прежде чем переходить к расчету суммы переменную необходимо обнулить}        
    s := 0;
{чтобы найти сумму всех элементов, необходимо просканировать все элементы массива}    
    for i := 1 to 12 do
        s := s + v[i];                    {увеличиваем сумму на текущее значение элемента массива}
{делаем переход на новую строку, чтобы было читабельно}
    writeln;    
{выводим на экран пользователя найденную сумму элементов}        
    writeln('Сумма значений всех элементов массива: ', s);
{конец программы на языке Паскаль}    
end.

Примечание: в более-менее профессиональной программе, описанных два сканирования можно объединить в один, то есть вести заполнение и подсчет суммы параллельно.

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

Остались вопросы?

Цель данной статьи – показать вам основные приемы инициализации одномерных массивов Pascal, а также познакомить с операцией сканирования. Я прекрасно понимаю, что тема довольно сложная, вариативная и требует более глубоко погружения, именно поэтому я предлагаю вам записаться на мои индивидуальные уроки по информатике, математике и программированию. Если у вас скоро контрольная на обработку массивов, а может требуется выполнить добрый десяток лабораторных по программированию, в которых требуется обработка одномерных массивов Pascal, тогда смело мне звоните на мобильный телефон и записывайтесь на первое занятие.

 
 
 
 
Авторизация на сайте
 
 
 
Обнаружили
ошибку на сайте?
Занятия по информатике