«Алгоритмы обработки одномерных (линейных) массивов»
Изучение любой темы следует начинать с того, чтобы подвести ученика к необходимости этого, показать потребность в решении соответствующего круга проблем, привести доступные для понимания учеников 8 классов примеры, продемонстрировать методы обработки методов обработки потока данных в прикладных задачах (на практике, в окружающем нас мире).
Часто требуется обработать одинаковым образом данные, поступающие в компьютер последовательно друг за другом. Например, найти средний рост учеников класса, вводя по очереди рост каждого ученика, или найти суммарную стоимость всех товаров, купленных одним покупателем в универсальном магазине, и т. п
Структуру для представления однородной информации в программировании принято называть массивом. (Фактически термины таблица и массив в данном контексте – полные синонимы).
В 8-м классе вводится понятие таблицы как новый способ хранения информации. Новые понятия лучше всего воспринимаются учениками в тех случаях, когда они возникают не случайно, а как необходимость при решении каких-либо новых задач. Новое понятие возникает в результате решения специально-подобранной вводной задачи. Фактически ученики сами изобретают недостающие средства, а учитель должен направить формирование этих средств в нужное русло.
Вводная задача: Нахождение периметра многоугольника с известными длинами сторон (предполагается, что многоугольник заведомою существует, и контроль исходных данных не производится).
Для треугольника задача решается легко
Program Perimetr_treug1;
Var a,b,c,p:integer;
Begin
Writeln('введите значения а, Ь, с');
Readln(a,b,с);
P:=a+b+c;
Writeln(' периметр - ', p) ;
End.
После небольшой модификации алгоритм можно использовать для нахождения периметра четырех или пятиугольника. Однако попытка модифицировать алгоритм на случай десяти-, двадцати- или стоугольника наталкивает на некоторые размышления.
Во-первых, нормальному человеку, безусловно, лень переписывать такие длинные списки переменных.
Во-вторых, алгоритмы для разных многоугольников отличаются очень незначительно — только количеством сторон-слагаемых. Хотелось бы обойтись одним алгоритмом.
К сожалению, компьютер не понимает многоточий. Следовательно, нам необходимо, не перечисляя 100 переменных явно, описать их и указать, что с ними необходимо выполнять одинаковые действия.
В этих требованиях мы фактически сформулировали основные свойства табличных величин: таблица состоит из множества простых переменных (описание без перечисления), к которым можно обращаться не по уникальным именам, а по общему имени таблицы с указанием номера элемента.
После такого введения ученики понимают, зачем нужны таблицы, они готовы разбираться в таких понятиях, как элемент, индекс, обращение к элементу и т.д.
Эта задача подводит учеников к основным свойствам табличных величин: таблица состоит из множества простых переменных, к которым можно обращаться не по уникальным именам, а по общему имени таблицы с указанием номера элемента.
После такого введения ученики понимают, зачем нужны таблицы, они готовы разбираться в таких понятиях, как элемент, индекс, обращение к элементу и т.д.
Важный вопрос, на который надо отвечать при решении реальных задач, — когда следует и когда не следует объединять простые переменные в таблицы. Ключ к ответу — понимание таблицы как составной величины, хранящей однородную информацию.
Однородность означает, что все элементы таблицы равноправны: имеют одинаковый, содержательный смысл, при обработке над ними совершаются одинаковые операции. Это можно считать первым, качественным, признаком однородности.
Второй признак — независимость от количества. Если информация однородна, то точное количество элементов несущественно — алгоритмы обработки таблиц не меняются при изменении количества элементов.
Применение этих признаков на практике позволяет решить вопрос об использовании таблицы или отдельных простых переменных.
После того, как была доказана необходимость использования массивов, подводим учеников к решению задач над последовательностью данных.