Лягушата-программисты и арифметика матриц

lyagushata-i-matrici-1

Матрицы и операции с ними обычно проходят лишь в вузах. Но самые начальные вещи легко объяснить даже маленькому ребенку.

Зачем это делать? Ну, хотя бы чисто для интереса…

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

Данная статья написана в форме сказки. Вы можете опираться на нее – читая детям или пересказывая, добавляя детали и подробности, сюжетные повороты, новых героев, диалоги, эмоции, динамику, рисунки…

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

Есть и другой вариант: вы просто используете общую идею тренинга с помощью матриц – модернизируя ее на свой лад, в какой-то совершенно иной манере.

lyagushata-i-matrici-2

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

И одна опытная и умная жаба им посоветовала: “Начните с изучения матриц”.

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

Но особенное значение они приобрели с появлением компьютеров – так как их очень удобно использовать в программировании.

Так что же такое матрица?

В математике матрица – это любая прямоугольная таблица чисел. Например, вот такая.

lyagushata-i-matrici-3

Здесь у каждого числа – свое место.

Принято сначала называть номер строки (считая сверху вниз), а потом номер столбца (считая слева направо).

Обычно по бокам матрицы рисуют скобки – чтобы показать, что это не просто отдельные числа, а именно их совокупность, что вся данная таблица представляет собой единую конструкцию.

Иногда числа размещают в квадратиках или в кружочках, или еще как-то.

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

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

Например, здесь число 15 расположено во второй строке и в третьем столбце. А число 22 размещено в четвертой строке и в первом столбце.

lyagushata-i-matrici-4

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

Оказалось, что матрицы бывают очень разные…

В частности, встречаются и вот такие – низенькие и длинные. И даже всего из одной строки чисел.

lyagushata-i-matrici-5

Разумеется, матрицы, состоящие всего из одного столбца, тоже бывают. Я здесь для примера изобразил как раз такую.

Лягушата ее внимательно рассматривают. Им все ясно. Что ж тут сложного?

lyagushata-i-matrici-6

Какими операциями с матрицами должен овладеть начинающий программист?

Например, надо уметь находить в каждом столбце самое большое число и самое маленькое число.

И для каждой строки тоже, конечно, нужно уметь это делать.

lyagushata-i-matrici-7

А еще программист должен уметь подсчитать общую сумму чисел в столбце или в строке.

lyagushata-i-matrici-8

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

Да еще и сумму элементов главной диагонали бывает необходимо вычислить.

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

А вторая диагональ не так интересна обычно. Поэтому про нее реже вспоминают.

Здесь лягушонок как раз собрался подсчитать сумму элементов главной диагонали. И сделал это.

lyagushata-i-matrici-9

Конечно, любой уважающий себя программист сумеет увеличить все числа в матрице на какую-то одну величину.

Например, на число 1.

Посмотрите, как легко получилось.

lyagushata-i-matrici-10

Да и уменьшить все элементы матрицы на одно и то же число – нетрудная операция.

Каждый программист это запросто сделает!

lyagushata-i-matrici-11

Но самое интересное – складывать матрицы!

Для этого они должны быть одинакового размера. То есть в них должно быть одинаковое количество строк и одинаковое количество столбцов.

Как происходит сложение матриц?

Надо складывать соответственно расположенные элементы.

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

Посмотрите, как умный лягушонок ловко складывает матрицы. Он сделал это верно! Потому что действовал внимательно и аккуратно! Но вы все-таки его проверьте.

lyagushata-i-matrici-12

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

Если использовать небольшие целые числа, то вычитать матрицу из матрицы – одно удовольствие!

Маленький лягушонок-программист, как видите, прекрасно справился с этой задачей.

lyagushata-i-matrici-13

Следующий шаг – научиться умножать матрицу на число. Или число умножать на матрицу.

Догадываетесь, как это сделать?

Думаю, что вы догадались. Надо каждый элемент исходной матрицы умножить на это самое число.

Лягушата тоже сообразили, что надо делать именно так. И решили пример верно.

lyagushata-i-matrici-14

Можно ли разделить матрицу на число?

Да, конечно.

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

Скажем, изначально была у нас матрица только из четных чисел…

lyagushata-i-matrici-15

Но дело еще и в эстетике!

Матрица обладает пропорциями, красотой, изяществом. Она может быть очень по-разному нарисована. В ней есть место для нюансов дизайна и даже для художественного творчества…

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

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

lyagushata-i-matrici-16

А что делать, если вместо одного из элементов матрицы вдруг встречаем смайлик? Как вы думаете?

Лягушонок догадался: надо вместо смайлика подставить число – чтобы пример получился верным.

Весьма похоже на первые опыты с решением уравнений, правда?

lyagushata-i-matrici-17

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

“Для каждого смайлика буду подбирать такое число, чтобы все получалось верно”, – так он рассуждал.

А потом долго решал эту сложную задачу…

Но в конце концов лягушонок справился!

Молодец!

А вы сумеете догадаться, какое число надо подставить на место каждого из смайликов? Трудно, конечно… Но вы все-таки попробуйте.

lyagushata-i-matrici-18

Ясное дело, еще очень-очень важна тренировка!

Ведь тут уже не только обычное решение примеров по математике, к которому маленькие лягушата привыкли на уроках.

А получается еще и дополнительная особая практика: надо внимательно учитывать расположение чисел в таблице, надо учиться быть аккуратным – как и положено настоящему программисту!

Водить пальцами по матрицам – это совершенно нормально и правильно, это предохраняет от ошибок! А зачем нам ошибки в программном коде? Нам такие ошибки не нужны!

Поэтому лягушата стали много и по-разному тренироваться с матрицами.

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

Пробовали лягушата использовать и отдельные карточки с числами – складывая из них большие или маленькие матрицы. Кто-то делал такие карточки круглыми, а кто-то – прямоугольными…

lyagushata-i-matrici-19

Самое главное, что все лягушата быстро поняли: использование матриц и действий с ними – прекрасный способ сделать изучение математики интереснее, эффективнее и многограннее.

Методика очевидна и проста. Надо добавить лишь немного фантазии и тщательно подбирать степень сложности заданий – с учетом индивидуальных вкусов и умений маленьких лягушат.

Разумеется, начинать можно вообще с очень-очень простых матриц. Например, вот таких.

lyagushata-i-matrici-20

Но как связано все это с реальной жизнью?

Где в окружающем мире мы видим ситуации, когда нам удобно записывать числа именно в виде прямоугольных таблиц?

“Возможно, с данного обсуждения и надо начинать разговоры и сказки о матрицах… ” – задумчиво молвила умная взрослая жаба.

Лягушата поразмышляли немного, поглядели по сторонам и предложили: “Проще всего – образ склада из стоек и полок. Или ящики рядами в шкафу”.

Что находится в тех ящиках и на тех полках?

Может, там разложены яблоки? Или слитки золота? Или очень вкусные конфеты? Или детские мячики?..

Как нарисовать матрицу, соответствующую вот такому стеллажу?

Да очень просто!

Как видите, лягушонок уверенно справился с данной задачей.

lyagushata-i-matrici-21

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

Скажем, здесь лягушонок наблюдает за веселыми гусеницами с воздушными шариками. И рисует соответствующую матрицу.

Каждый элемент данной матрицы – это количество шариков у гусеницы, которая расположена на соответствующем месте.

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

lyagushata-i-matrici-22

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

Это довольно увлекательное занятие!

И сказочные задания на все операции с матрицами по таким картинкам можно придумывать, разумеется.

Вот шахматная доска. На ней ползают маленькие жучки. Их расположение мы можем описать при помощи простой матрицы, состоящей только из нулей и единиц.

Если жучок находится на данной клетке, то в соответствующем месте матрицы ставим 1.

А если жучка на клетке нет, то в соответствующем месте матрицы ставим 0.

Все элементарно.

На самом деле, конечно, жучки не сидят на шахматной доске, а шустро ползают по ней. Их расположение меняется. Поэтому меняется и матрица из чисел, описывающая их местонахождение.

Попробуйте сами разные варианты.

А что будет, если вдруг на одну клетку забежали сразу два жучка? Каким надо сделать соответствующий элемент матрицы? Как вы думаете?

А если сразу три жучка на одной клетке оказались, что тогда?

lyagushata-i-matrici-23

Другая история – когда мы с помощью матрицы описываем конструкцию из кубиков. Ее построили лягушата.

Посмотрите внимательно на картинку ниже.

Кубики стоят в три ряда: дальний (самый высокий), средний и ближний.

А внизу есть матрица, в которой три строки.

Каждая строка этой матрицы соответствует одному ряду кубиков. Верхняя строка соответствует дальнему ряду. Средняя строка – среднему. А нижняя строка – ближнему ряду.

Каждый столбец этой матрицы соответствует одному слою кубиков (если слоем считать “срез” вертикальной плоскостью, причем именно поперек нарисованной здесь длинной конструкции).

А каждое число – это количество кубиков, стоящих друг на друге в данном месте. Кое-где их просто нет, поэтому там написано число 0.

Конечно, по картинке сразу сообразить все это не так-то просто…

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

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

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

lyagushata-i-matrici-24

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

По горизонтали на экране помещается всего 16 пикселей. А по вертикали – всего 9 пикселей. Ну, такой старинный примитивный монитор…

Лягушата чрезвычайно обрадовались подарку! Они стали весело прыгать и скакать от восторга! Они почувствовали себя настоящими программистами!

А потом поразмыслили – и написали матрицу из нулей и единиц, чтобы на экране появилось число 1000.

Они обозначили черный цвет пикселя нулем. А белый цвет – единицей.

Вот такие программисты!

lyagushata-i-matrici-25

Некоторым лягушатам захотелось еще более сложные задания с матрицами разбирать и решать. Не проблема! Взрослые лягушки и жабы помогли!

Скажем, отрицательные числа тоже прекрасно работают в матрицах.

Все правила действий сохраняются. Примеры получаются чуть посложнее, чем были у нас вначале. Но суть дела не меняется.

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

lyagushata-i-matrici-26

А вот простое задание: по данной матрице написать матрицу, ей противоположную.

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

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

И даже сообразили интересную вещь: если сложить матрицу с противоположной ей матрицей, то в результате получится матрица из одних нулей!

lyagushata-i-matrici-27

Возможно, маленькие лягушата, про которых была эта сказка, вовсе и не станут профессиональными программистами, когда вырастут…

Но математику хорошо выучить – это каждому лягушонку точно пригодится!

И каждому полезно потренировать разные типы логического мышления.

Кто-то полюбит арифметические и сказочные тренировки с матрицами, а кто-то не очаруется такой формой математической игры…

lyagushata-i-matrici-28

Игрушки бывают разные.

По своей сути, матрица – это игрушка.

Если относиться к матрицам так, то они из скучных, сухих, формальных наборов чисел превращаются в забавные, простые и довольно интересные штуковины. И мы ощущаем в них реальную энергию математики!

Упорядоченная логика вполне может быть веселой – если за дело возьмутся бодрые и сообразительные лягушата-программисты!