Четверг, 25.04.2024, 22:30                                                                    ОБРАЗОВАТЕЛЬНЫЙ    ПОРТАЛ
Приветствую Вас Гость | Регистрация | Вход

З  В  О  Н  О  К   НА   У  Р  О  К

Было бы желание - найдешь на сайте знания!

Вы вошли как Гость | Группа "Гости" | 

НАГЛЯДНЫЕ МАТЕРИАЛЫ ДЛЯ ОФОРМЛЕНИЯ СТЕНДОВ  РАБОТА С ОДАРЕННЫМИ ДЕТЬМИ
МЕНЮ САЙТА

НАЧАЛЬНАЯ ШКОЛА

РУССКИЙ ЯЗЫК

ЛИТЕРАТУРА В ШКОЛЕ

ЕГЭ ПО ЛИТЕРАТУРЕ

ВЕЛИКИЕ ПИСАТЕЛИ

ИЗУЧЕНИЕ ТВОРЧЕСТВА
   ГОГОЛЯ


50 КНИГ ИЗМЕНИВШИХ
   ЛИТЕРАТУРУ


ТРЕНИНГИ "ТВОРЧЕСКАЯ
   ЛАБОРАТОРИЯ УЧИТЕЛЯ
    ЛИТЕРАТУРЫ"


ТЕМАТИЧЕСКОЕ
   ОЦЕНИВАНИЕ ПО
   ЛИТЕРАТУРЕ В 11 КЛАССЕ


ОЛИМПИАДА ПО
   ЛИТЕРАТУРЕ. 10 КЛАСС


ЛИТЕРАТУРНЫЕ РЕБУСЫ
   ПО ТВОРЧЕСТВУ ПОЭТОВ
   СЕРЕБРЯНОГО ВЕКА


ИНОСТРАННЫЕ ЯЗЫКИ

ТЕМАТИЧЕСКИЕ КАРТОЧКИ
   ПО АНГЛИЙСКОМУ ЯЗЫКУ


КАК УЧИТЬ АНГЛИЙСКИЕ
   СЛОВА ЭФФЕКТИВНО


АНГЛИЙСКИЕ ВРЕМЕНА В
   ТЕКСТАХ И УПРАЖНЕНИЯХ


РАЗДАТОЧНЫЙ МАТЕРИАЛ
   ПО АНГЛИЙСКОМУ ЯЗЫКУ


200 АНГЛИЙСКИЙ ВЫРАЖЕНИЙ.
   ТЕХНИКА ЗАПОМИНАНИЯ


КОНТРОЛЬНЫЕ РАБОТЫ В
   ФОРМАТЕ ЕГЭ ПО
   АНГЛИЙСКОМУ ЯЗЫКУ


ТИПОВЫЕ ВАРИАНТЫ
   ЗАДАНИЙ ЕГЭ ПО
   АНГЛИЙСКОМУ ЯЗЫКУ


ГРАММАТИКА
   ИСПАНСКОГО ЯЗЫКА


ФРАНЦУЗСКИЙ ЯЗЫК

ФРАНЦУЗСКИЕ СЛОВА.
   ВИЗУАЛЬНОЕ
   ЗАПОМИНАНИЕ


ГРАММАТИКА
   ФРАНЦУЗСКОГО ЯЗЫКА


ВНУТРИШКОЛЬНЫЙ КОНТРОЛЬ
   ПО ФРАНЦУЗСКОМУ ЯЗЫКУ


ИСТОРИЯ В ШКОЛЕ

БИОЛОГИЯ В ШКОЛЕ

МАТЕМАТИКА В ШКОЛЕ

ФИЗИКА В ШКОЛЕ

ХИМИЯ В ШКОЛЕ

Категории раздела
КОНСПЕКТЫ УРОКОВ [33]
ВНЕКЛАССНЫЕ МЕРОПРИЯТИЯ [43]

Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0
Форма входа


Главная » Файлы » ИНФОРМАТИКА » КОНСПЕКТЫ УРОКОВ

Урок информатики "Двумерные массивы. Заполнение двумерного массива по заданному правилу"
20.05.2014, 18:26

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

ХОД ЗАНЯТИЯ

1. Актуализация знаний

Массивы, положение элементов в которых описывается двумя индексами, называются двумерными. Структура такого массива может быть представлена прямоугольной матрицей. Каждый элемент матрицы однозначно определяется указанием номера строки и столбца, номер строки – i, номер столбца – j.
Рассмотрим матрицу А размером n*m:

а11 а12 а13 а14
а21 а22 а23 а24
а31 а32 а33 а34

Матрица из 3 строк и 4 столбцов, количество строк n=3, количество столбцов m=4. Каждый элемент имеет свой номер, который состоит из двух чисел – номера строки, в которой находится элемент, и номера столбца. Например, а23 – это элемент, стоящий во второй строке и в третьем столбце.
Двумерный массив на языке Турбо Паскаль можно описать по-разному. Чтобы описать двумерный массив, надо определить какого типа его элементы, и каким образом они пронумерованы (какого типа его индекс). Существует несколько способов описания двумерного массива.

Const maxN=…; {Максимальные значения количества строк}
maxM=…; {Максимальные значения количества столбцов}

1 способ

Type Mas = array [1..maxN] of <тип элементов>; {Одномерный массив}
Type TMas = array [1..maxM] of Mas; {Одномерный массив, элементами которого являются одномерные массивы}

2 способ

Type TMas = array [1..maxN] of array [1..maxM] of  <тип элементов>;
{Одномерный массив, элементами которого являются одномерные массивы}

3 способ

Type <имя типа>= array [1..maxN, 1..maxM] of <тип элементов>; {Двумерный массив}

Предпочтение отдается третьему способу описания двумерного массива.

Например:

Const N=3; M=4;
Type TMas= array [1..N, 1..M] of integer; {Двумерный массив из целых чисел}

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

1) Формирование двумерного массива при помощи ввода с клавиатуры и алгоритм построчного вывода элементов матрицы.

Const N=10;M=10;
Type Tmas= array [1..N,1..M] of integer;
Var A:Tmas; i,j:integer;
Begin
{Ввод элементов матрицы}
For i:=1 to N do
       For j:=1 to M do
              Read(A[i,j]);
{Вывод элементов матрицы}
For i:=1 to N do begin
       For j:=1 to M do
              Write(A[i,j]:4); {Печатается первая строка}
                     Writeln {Переход на новую строку}
end;
End.

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

Begin
Randomize; {Инициализация генератора случайных чисел}
{Ввод элементов матрицы}
For i:=1 to N do
       For j:=1 to M do
              A[i,j]:=random(45)-22;

2. Изучение нового материала. Заполнение массива по правилу

Рассмотрим несколько фрагментов программ заполнения двумерного массива по некоторому закону. Для этого необходимо вывести правило заполнения.

1. Заполнить массив А размером n*m следующим образом, например

n=6 и m=8:

1          2          3          4          5          6          7          8
16        15        14        13        12        11        10        9
17        18        19        20        21        22        23        24
32        31        30        29        28        27        26        25
33        34        35        36        37        38        39        40
48        47        46        45        44        43        42        41

Массив заполняется по принципу «змейки». Правило заполнения: если номер строки – нечетное число, то A[i,j]=(i-1)*m+j, иначе A[i,j]=i*m-j+1.

program M1А;
var A:array[1..100,1..100] of integer;
              n,m,i,j: integer;
begin
          readln(n,m);
  for i:=1 to n do begin
         for j:=1 to m do
   begin
         if i mod 2 = 1 then
             A[i,j]=(i-1)*m+j
         else
             A[i,j]=i*m-j+1;
         write(A[i,j]:3);
       end;
       writeln;
   end;
   readln;
end.

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

program M1В;
var A:array[1..100,1..100] of integer;
         n,m,i,j: integer;
   c: integer;
begin
         readln(n,m);
   c:=1;
   for i:=1 to n do
   begin
         for j:=1 to m do
      begin
         A[i,j]:=c;
         if (i mod 2 = 0) and (j<>m) then
               dec(c)
         else
               inc(c);
         write(A[i,j]:3);
      end;
      c:=c+m-1;
      writeln;
   end;
   readln;
end.

2. Заполнить массив A по следующему принципу:

1          0          2          0          3          0          4
0          5          0          6          0          7          0
8          0          9          0          10        0          11
0          12        0          13        0          14        0

program M2;
var A:array[1..100,1..100] of integer;
         n,m,i,j: integer;
   c: integer;
begin
         readln(n,m);
   c:=0;
   for i:=1 to n do
   begin
         for j:=1 to m do
      begin
         if (i-1+j) mod 2 = 0 then
               A[i,j]:=0
         else
         begin
               inc(c);
            A[i,j]:=c;
         end;
         write(A[i,j]:5);
      end;
         writeln;
   end;
   readln;
end.

3. Заполнить массив A по следующему принципу:

1          12        13        24        25        36
2          11        14        23        26        35
3          10        15        22        27        34
4          9          16        21        28        33
5          8          17        20        29        32
6          7          18        19        30        31

program M3;

var A:array[1..100,1..100] of integer;
         n,m,i,j: integer;
         c: integer;
begin
         readln(n,m);
   c:=1;
   for j:=1 to m do
   begin
         for i:=1 to n do
      begin
         A[i,j]:=c;
         if (j mod 2 = 0) and (i<>n) then
                  dec(c)
         else
                  inc(c);
      end;
      c:=c+n-1;
   end;
   for i:=1 to n do
   begin
         for j:=1 to m do
               write(A[i,j]:5);
      writeln;
   end;
   readln;
end.

4. Заполнить массив A по следующему принципу:

1          2          3          4          5
2          3          4          5          1
3          4          5          1          2
4          5          1          2          3
5          1          2          3          4

program M4;

var i,j,m,c,d: integer;
         A:array[1..100,1..100] of integer;
begin
         c:=1;
   readln(m);
   for j:=1 to m do
   begin
         i:=c;
      d:=1;
      repeat
         A[i,j]:=d;
         inc(i);
         if i>m then
                  i:=1;
         inc(d);
      until i=c;
      dec(c);
      if c <= 0 then
         c:=m-c;
   end;
   for i:=1 to m do
   begin
         for j:=1 to m do
         write(A[i,j]:2);
      writeln;
   end;
end.

5. Заполнить массив A по следующему принципу:

1          0          0          0          1
0          1          0          1          0
0          0          1          0          0
0          1          0          1          0
1          0          0          0          1

program M5;

var m,i,j: integer;
         A:array[1..100,1..100] of integer;
begin
         readln(m);
   for i:=1 to m do
   begin
         for j:=1 to m do
      begin
         if (i=j) or (m-i+1=j) then
                  A[i,j]:=1
         else
                  A[i,j]:=0;
         write(A[i,j]:2);
      end;
      writeln;
   end;
end.

3. Задачи для самостоятельного решения

1)   Заполнить массив  по следующему принципу:

6          5          4          3          2          1
7          8          9          10        11        12
18        17        16        15        14        13
19        20        21        22        23        24
30        29        28        27        26        25
31        32        33        34        35        36

2)   Заполнить массив  по следующему принципу:

36        25        24        13        12        1
35        26        23        14        11        2
34        27        22        15        10        3
33        28        21        16        9          4
32        29        20        17        8          5
31        30        19        18        7          6

3)   Заполнить массив  по следующему принципу:

0          1          1          1          0
1          0          1          0          1
1          1          0          1          1
1          0          1          0          1
0          1          1          1          0

4)   Заполнить массив  по следующему принципу:

31        32        33        34        35        36
25        26        27        28        29        30
19        20        21        22        23        24
13        14        15        16        17        18
7          8          9          10        11        12
1          2          3          4          5          6

5)   Заполнить массив  по следующему принципу:

31        25        19        13        7          1
32        26        20        14        8          2
33        27        21        15        9          3
34        28        22        16        10        4
35        29        23        17        11        5
36        30        24        18        12        6

Домашние задание:

1)   Заполнить массив  по следующему принципу:

6          7          18        19        30        31
5          8          17        20        29        32
4          9          16        21        28        33
3          10        15        22        27        34
2          11        14        23        26        35
1          12        13        24        25        36

2)   Заполнить массив  по следующему принципу:

31        32        33        34        35        36
30        29        28        27        26        25
19        20        21        22        23        24
18        17        16        15        14        13
7          8          9          10        11        12
6          5          4          3          2          1

3)   Заполнить массив  по следующему принципу:

0          1          1          1          0
1          0          1          0          1
1          1          0          1          1
1          0          1          0          1
0          1          1          1          0

Категория: КОНСПЕКТЫ УРОКОВ | Добавил: Олівець | Теги: учим информатику, конспект урока информатики, внеклассное мероприятие по информат, ИТК в школе, Компьютерная программа
Просмотров: 2773 | Загрузок: 0 | Рейтинг: 5.0/1
Поиск

ИНФОРМАТИКА В ШКОЛЕ

ЭНЦИКЛОПЕДИЯ
   ПРОФЕССОРА ФОРТРАНА


ЭНЦИКЛОПЕДИЯ
   ШКОЛЬНИКА "КОМПЬЮТЕР"


ПРАКТИКУМ ПО
   МОДЕЛИРОВАНИЮ.
   7-9 КЛАССЫ


РЕШЕНИЕ ТИПОВЫХ ЗАДАЧ
   ПО ПРОГРАММИРОВАНИЮ
   НА ЯЗЫКЕ PASCAL


ПОДГОТОВКА К ЕГЭ
   ПО ИНФОРМАТИКЕ


ДИАГНОСТИЧЕСКИЕ
   РАБОТЫ ПО
   ИНФОРМАТИКЕ. 11 КЛАСС


ГЕОГРАФИЯ В ШКОЛЕ

ГЕОГРАФИЧЕСКАЯ
   ЭНЦИКЛОПЕДИЯ


ЗАНИМАТЕЛЬНАЯ
   ГЕОГРАФИЯ


ЭНЦИКЛОПЕДИЯ
   ГЕОГРАФИЯ РОССИИ


СПРАВОЧНИК ДЛЯ ШКОЛЬНИКОВ
   ПО ГЕОГРАФИИ


ЗАГАДКИ ТОПОНИМИКИ

ФИТОГЕОГРАФИЯ ДЛЯ
   ШКОЛЬНИКОВ


РУССКИЕ
   ПУТЕШЕСТВЕННИКИ


ПЕРВООТКРЫВАТЕЛИ

ГЕОГРАФИЯ ЧУДЕС

СОКРОВИЩА ЗЕМЛИ

МОРЯ И ОКЕАНЫ

ВУЛКАНЫ

СТИХИЙНЫЕ БЕДСТВИЯ

ЗАГАДКИ МАТЕРИКОВ И
   ОКЕАНОВ


ЗНАКОМЬТЕСЬ: ЕВРОПА

ЗНАКОМЬТЕСЬ: АФРИКА

ПОГОДА. ЧТО, КАК И
   ПОЧЕМУ?


ШКОЛЬНИКАМ О
   СЕВЕРНОМ СИЯНИИ


ГЕОГРАФИЯ.
   ЗЕМЛЕВЕДЕНИЕ. 6 КЛАСС


КОНТРОЛЬНЫЕ РАБОТЫ
   ПО ГЕОГРАФИИ


ТИПОВЫЕ ВАРИАНТЫ
   КОНТРОЛЬНЫХ РАБОТ
   В ФОРМАТЕ ЕГЭ


ПОДГОТОВКА К ЕГЭ
   ПО ГЕОГРАФИИ


АСТРОНОМИЯ В ШКОЛЕ

КАРТОЧКИ ПО
   АСТРОНОМИИ


ЭНЦИКЛОПЕДИЯ
   ШКОЛЬНИКА "КОСМОС И
   ВСЕЛЕННАЯ"


ЗАДАЧИ ДЛЯ ОЛИМПИАДЫ
   ПО АСТРОНОМИИ. 10-11 КЛАССЫ
   КЛАССЫ"


ПРОВЕРОЧНЫЕ РАБОТЫ
   ПО АСТРОНОМИИ


ОБЩЕСТВОЗНАНИЕ

ИНТЕРЕСНОЕ
   ОБЩЕСТВОВЕДЕНИЕ


ЧЕЛОВЕКОВЕДЕНИЕ
   ДЛЯ ШКОЛЬНИКОВ


РАБОЧИЕ МАТЕРИАЛЫ ПО
   ОБЩЕСТВОЗНАНИЮ.
   8 КЛАСС


ТЕМАТИЧЕСКИЕ
   КОНТРОЛЬНЫЕ РАБОТЫ
   ПО ОБЩЕСТВОЗНАНИЮ.
   8 КЛАСС


ПОДГОТОВКА К ЕГЭ

ТИПОВЫЕ ТЕСТЫ В
   ФОРМАТЕ ЕГЭ


ОСНОВЫ РЕЛИГИОЗНЫХ КУЛЬТУР И СВЕТСКОЙ ЭТИКИ

МАТЕРИАЛЫ ДЛЯ
   УЧИТЕЛЯ


ХРИСТИАНСТВО

ЖИТИЯ СВЯТЫХ
    В КАРТИНКАХ


ПУТЕВОДИТЕЛЬ ПО МИРОВОЙ ХУДОЖЕСТВЕННОЙ КУЛЬТУРЕ

БОГИ ОЛИМПА

ЗАНИМАТЕЛЬНАЯ
   МИФОЛОГИЯ


РУССКИЕ НАРОДНЫЕ
   ПРОМЫСЛЫ


ШКОЛЬНИКАМ О МУЗЕЯХ

СКУЛЬПТУРА

ЧУДЕСА СВЕТА

ДОСТОПРИМЕЧАТЕЛЬНОСТИ
   МОСКВЫ


ДОСТОПРИМЕЧАТЕЛЬНОСТИ
   САНКТ-ПЕТЕРБУРГА



ИЗО В ШКОЛЕ

ОСНОВЫ РИСУНКА ДЛЯ
   УЧЕНИКОВ 5-8 КЛАССОВ


УРОКИ ПОШАГОВОГО
   РИСОВАНИЯ


РУССКИЕ ЖИВОПИСЦЫ


ФИЗКУЛЬТУРА В ШКОЛЕ

Я УЧИТЕЛЬ ФИЗКУЛЬТУРЫ

ИСТОРИЯ ОЛИМПИЙСКИХ
   ИГР


УРОКИ КУЛЬТУРЫ
   ЗДОРОВЬЯ


УПРАЖНЕНИЯ И ИГРЫ
   С МЯЧОМ


УРОКИ ФУТБОЛА

АТЛЕТИЧЕСКАЯ
   ГИМНАСТИКА


ЛЕЧЕБНАЯ ФИЗКУЛЬТУРА
   В СПЕЦИАЛЬНОЙ ГРУППЕ


УПРАЖНЕНИЯ НА
   РАСТЯЖКУ


АТЛЕТИЗМ БЕЗ ЖЕЛЕЗА


ТЕХНОЛОГИЯ В ШКОЛЕ

РАБОЧИЕ МАТЕРИАЛЫ ПО
   ТЕХНОЛОГИИ ДЛЯ
   ДЕВОЧЕК. 6 КЛАСС


УРОКИ КУЛИНАРИИ В
   5 КЛАССЕ


КАРТОЧКИ ДЛЯ
    ОПРОСА ПО ТЕХНОЛОГИИ. 5 КЛАСС


ПРАКТИКУМ ПО
   СЛЕСАРНЫМ РАБОТАМ


ВЫПИЛИВАНИЕ ИЗ ФАНЕРЫ


ЭРУДИТ-КОМПАНИЯ

МАТЕРИАЛЫ ДЛЯ УЧИТЕЛЕЙ

АФОРИЗМЫ

АФОРИЗМЫ ОБ
   ОБРАЗОВАНИИ


АФОРИЗМЫ ОБ УЧИТЕЛЕ
   И УЧЕНИКЕ


Яндекс.Метрика Copyright MyCorp © 2024 Рейтинг@Mail.ru