Шаг 31.
Работа с двумерным массивом


    В предыдущем разделе мы говорили, в основном, об одномерных массивах. Здесь же мы поведем разговор о двумерных массивах.

    Прежде всего, остановимся на заполнении двумерного массива. Мы умеем заполнять одномерный массив. Нельзя ли воспользоваться этими знаниями для решения поставленной задачи?

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

    Запишем алгоритм заполнения двумерного массива в следующем виде:

    В этом алгоритме мы не можем в данный момент записать на языке программирования Pascal последнее предложение: "Заполнить i-ю строку". Проведем дальнейшую детализацию нашего алгоритма. Действие "Заполнить i-ю строку" можно представить в виде совокупности следующих операций:

    Таким образом, наш алгоритм теперь будет выглядеть так:

    Теперь можно каждое из указанных действий записать на языке программирования Pascal:


    For i:=1 To N Do
      For j:=1 To M Do
         ReadLn(B[i,j]);    ,
где N - номер последней строки (число строк), М - номер последнего столбца (число столбцов).

   


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

   

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


Предыдущий шаг Содержание Следующий шаг