Работа с элементами двумерных числовых массивов

Разделы: Информатика


При изучении темы “Двумерные массивы” очень важным является усвоение и свободное оперирование учащимися такими понятиями, как элемент двумерного массива, строка, столбец, диагонали. Предлагаемое задание позволяет в интересной и простой форме осуществить отработку данных понятий. Задачи основаны на “раскрашивании” матриц в цвета флагов различных государств.

Приведём фрагменты возможных программ на языке программирования QBasic.

Основные цвета графического режима Бейсика, используемые для работы: белый – 15, красный – 4, синий – 9, зелёный – 2.

Перед работой имеет смысл вспомнить назначение основных логических операторов AND и OR.

“Шаблон” всех флагов – матрица 15x15:

CLS
DIM A(15,15)
FOR i=1 TO 15 ‘цикл по строкам
FOR j=1 TO 15 ‘цикл по столбцам

PRINT A(i,j);
NEXT j
PRINT
NEXT i

Изобразите различные флаги, используя матрицы 15x15.

Каждое из заданий отличается своим блоком условия, которое добавляется внутрь “шаблона” для флага. Особенности формулирования условия обсуждаются с учащимися для каждого задания.

1) Российский флаг

Белый

Синий

Красный

Программа требует использование условия на строки таблицы. Белый цвет – 1-5 строки, синий цвет – 6-10 строки, красный цвет – 11-15 строки.

IF i<=5 THEN COLOR 15
IF i>5 AND i<=10 THEN COLOR 9
IF i>10 THEN COLOR 4

Результат – Рисунок 1.

2) Итальянский флаг

Зелёный

Белый

Красный

Программа аналогична предыдущей, только условие накладывается на столбцы. Зелёный цвет – 1-5 столбцы, белый цвет – 6-10 столбцы, красный цвет – 11-15 столбцы.

IF j<=5 THEN COLOR 2

IF j>5 AND j<=10 THEN COLOR 15

IF j>10 THEN COLOR 4

Результат – Рисунок 2.

3) Швейцарский флаг (красная основа, по центру белый крест на 3 строки и 3 столбца).

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

     

Красный

     

Белый

       
       

COLOR 4 ‘красная основа
IF i>=7 AND i<=9 THEN COLOR 15
IF j>=7 AND j<=9 THEN COLOR 15

Здесь требуется обсуждение возможности объединения двух условий в одно с использованием оператора OR: IF (i>=7 AND i<=9) OR (j>=7 AND j<=9) THEN COLOR 15

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

IF i<4 OR i>12 OR j<4 OR j>12 THEN COLOR 4

Результат – Рисунок 3.

4) “Андреевский флаг (белая основа, по двум диагоналям 3 синие полосы).

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

COLOR 15 ‘белая основа
IF i=j OR i+j=16 THEN COLOR 9
IF i=j+1 OR i+j=17 THEN COLOR 9
IF i=j-1 OR i+j=15 THEN COLOR 9

Результат – Рисунок 4.

5) “Японский флаг (белая основа; в центре красный квадрат 5? 5).

COLOR 15 ‘белая основа

IF (i>=6 AND i<=10) AND (j>=6 AND j<=10) THEN COLOR 4

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

IF (i=6 AND j=6) OR (i=6 AND j=10) OR (i=10 AND j=6) OR (i=10 AND j=10) THEN COLOR 15

Результат – Рисунок 5.

6) “Флаг Великобритании”

Даётся учащимся на самостоятельное заполнение. Является “комбинацией” Андреевского и швейцарского флагов.

Результат – Рисунок 6.

7) Свой флаг

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